View vocabulary and JSON Schema validation.
View vocabulary and JSON Schema validation.
(answer-error fields answer)nil when answer is valid for fields, otherwise a reason.
nil when `answer` is valid for `fields`, otherwise a reason.
Every key a field answered from :options may carry.
Every key a field answered from `:options` may carry.
Answer field types carrying choices.
Answer field types carrying choices.
(decor-error decor)nil when decor is a valid normalized decoration, otherwise a reason.
nil when `decor` is a valid normalized decoration, otherwise a reason.
Every key a decoration may carry: its own type and the words it paints. A node nobody can answer has nothing else to say.
Every key a decoration may carry: its own type and the words it paints. A node nobody can answer has nothing else to say.
Wire decoration name to internal decoration type.
Wire decoration name to internal decoration type.
(decoration? {:keys [type]})True when this normalized node is a decor-types decoration — ink on the
form rather than a question. Every surface asks this before it looks for a
value, and the answer contract never sees such a node at all.
True when this normalized node is a [[decor-types]] decoration — ink on the form rather than a question. Every surface asks this before it looks for a value, and the answer contract never sees such a node at all.
Keys the ENGINE stamps on a normalized node, never written in a spec.
:is-secret follows from the type, so a caller offering it is refused.
Keys the ENGINE stamps on a normalized node, never written in a spec. `:is-secret` follows from the type, so a caller offering it is refused.
(field-error field)nil when field is a valid normalized answer field, otherwise a reason.
nil when `field` is a valid normalized answer field, otherwise a reason.
Every key a field spec may be WRITTEN with: the union of the per-type sets, less what the engine derives. The parser accepts exactly this vocabulary in its snake_case spelling, so there is no second table of keys to keep in step.
Every key a field spec may be WRITTEN with: the union of the per-type sets, less what the engine derives. The parser accepts exactly this vocabulary in its snake_case spelling, so there is no second table of keys to keep in step.
Wire answer-field name to internal field type.
Wire answer-field name to internal field type.
Wire layout direction to internal direction.
Wire layout direction to internal direction.
(group-error group)nil when group is a valid normalized layout group, otherwise a reason.
nil when `group` is a valid normalized layout group, otherwise a reason.
Every key a layout group may carry. A node that holds no answer has no key that describes one.
Every key a layout group may carry. A node that holds no answer has no key that describes one.
The keyed collection each live node type holds: which key carries it, and how many items it may hold before a patch is REFUSED. One table, so the materializer, the refusal message and the contract document all read it.
The keyed collection each live node type holds: which key carries it, and how many items it may hold before a patch is REFUSED. One table, so the materializer, the refusal message and the contract document all read it.
The keys only a group has. A field carrying one meant to group and forgot to say so, which is worth its own message rather than an unknown-key refusal.
The keys only a group has. A field carrying one meant to group and forgot to say so, which is worth its own message rather than an unknown-key refusal.
Wire link target name to internal target type.
Wire link target name to internal target type.
Wire table alignment to internal alignment.
Wire table alignment to internal alignment.
(live-artifact-error artifact)nil when artifact is a valid settled live artifact, otherwise a reason.
nil when `artifact` is a valid settled live artifact, otherwise a reason.
Byte size under which a settled view ALSO travels inline, on top of the file it
already points at (256 KiB — the same floor
attachment-storage/default-offload-floor-bytes uses to decide that a small
payload never earns an external round-trip; stated here because the View
contract may not drag the imaging stack in to read it).
A view this small survives a session sync to another machine; a build log does not, and must not — holding one in memory as base64 is the cost this whole phase exists to remove.
Byte size under which a settled view ALSO travels inline, on top of the file it already points at (256 KiB — the same floor `attachment-storage/default-offload-floor-bytes` uses to decide that a small payload never earns an external round-trip; stated here because the View contract may not drag the imaging stack in to read it). A view this small survives a session sync to another machine; a build log does not, and must not — holding one in memory as base64 is the cost this whole phase exists to remove.
Every key a settled view carries as an ARTIFACT: what it WAS (:view-id,
:session-id, :title), how it ENDED (:ended-at, :reason), what a surface
opens instantly (:view, the final materialized state) and where the bytes are
(:storage-uri, :size, :line-count, and :base64 only under
live-artifact-inline-bytes).
Every key a settled view carries as an ARTIFACT: what it WAS (`:view-id`, `:session-id`, `:title`), how it ENDED (`:ended-at`, `:reason`), what a surface opens instantly (`:view`, the final materialized state) and where the bytes are (`:storage-uri`, `:size`, `:line-count`, and `:base64` only under [[live-artifact-inline-bytes]]).
Media type for the append-only live-view record.
Media type for the append-only live-view record.
Every key one declared table column may carry.
Every key one declared table column may carry.
Every key a live layout GROUP may carry — the request's own group-type
node, reused verbatim rather than reinvented, so a row arranges the same way
whether a human is answering it or watching it.
No :name: a group of a VIEW holds no answer, so there is nothing to key.
Every key a live layout GROUP may carry — the request's own [[group-type]] node, reused verbatim rather than reinvented, so a `row` arranges the same way whether a human is answering it or watching it. No `:name`: a group of a VIEW holds no answer, so there is nothing to key.
(live-node-error node)nil when node is a valid normalized live node, otherwise a reason.
nil when `node` is a valid normalized live node, otherwise a reason.
Wire semantic live-node name to internal node type.
Wire semantic live-node name to internal node type.
Allowed keys for each patch operation.
Allowed keys for each patch operation.
Every key any patch operation may carry — the union the parser derives its snake_case spellings from.
Every key any patch operation may carry — the union the parser derives its snake_case spellings from.
Wire live patch operation to internal operation.
Wire live patch operation to internal operation.
Wire table order to internal order.
Wire table order to internal order.
(live-patch-error patch)nil when patch has a valid live patch shape, otherwise a reason.
nil when `patch` has a valid live patch shape, otherwise a reason.
Keys returned in a finished live-view picture.
Keys returned in a finished live-view picture.
Wire settlement reason to internal reason.
Wire settlement reason to internal reason.
(live-result-error result)nil when result is a valid live result, otherwise a reason.
nil when `result` is a valid live result, otherwise a reason.
Keys in the result returned to the model.
Keys in the result returned to the model.
Every key one table row may carry.
Every key one table row may carry.
Maximum serialized archive-only selection pictures in one live record trailer.
Maximum serialized archive-only selection pictures in one live record trailer.
Wire sort direction to internal direction.
Wire sort direction to internal direction.
Every key a {:by …} table order may carry.
Every key a `{:by …}` table order may carry.
(live-view-error view)nil when view is a valid normalized live view, otherwise a reason.
nil when `view` is a valid normalized live view, otherwise a reason.
Every key a live view may carry, engine stamps included.
Every key a live view may carry, engine stamps included.
Keys the ENGINE stamps on a live view, never written in a spec: its own identity, its arrival time, and the patch counter every surface orders by.
Keys the ENGINE stamps on a live view, never written in a spec: its own identity, its arrival time, and the patch counter every surface orders by.
Live log paint-window and patch bounds.
Live log paint-window and patch bounds.
The most characters a human's stop note carries. Stopping a view is ALWAYS allowed, so a longer comment is cut to this rather than turned away: a refusal would leave the human watching work they already told to stop.
The most characters a human's stop note carries. Stopping a view is ALWAYS allowed, so a longer comment is cut to this rather than turned away: a refusal would leave the human watching work they already told to stop.
Every key one :options entry may carry.
Every key one `:options` entry may carry.
Default and maximum one-time-code lengths.
Default and maximum one-time-code lengths.
Every key a field answered on a track may carry.
Every key a field answered on a track may carry.
(request-error request)nil when request is a valid normalized request, otherwise a reason.
nil when `request` is a valid normalized request, otherwise a reason.
Keys the ENGINE stamps on a pending REQUEST, so every channel sees them on the
projected view although no spec may write one: the registry's arrival time.
Same category as derived-keys one level up — request-keys deliberately
refuses them on the way in, so a reader rebuilding a view that crossed a
process boundary lifts them across instead of re-parsing them.
Keys the ENGINE stamps on a pending REQUEST, so every channel sees them on the projected view although no spec may write one: the registry's arrival time. Same category as [[derived-keys]] one level up — `request-keys` deliberately refuses them on the way in, so a reader rebuilding a view that crossed a process boundary lifts them across instead of re-parsing them.
Prefix of an opaque secret answer handle.
Prefix of an opaque secret answer handle.
(secret-handle? value)True when value is an opaque handle minted for a secret-types field.
True when `value` is an opaque handle minted for a `secret-types` field.
Answer field types replaced by vault handles.
Answer field types replaced by vault handles.
Live table collection and patch bounds.
Live table collection and patch bounds.
Every key a typed field may carry.
Every key a typed field may carry.
Answer field types carrying text.
Answer field types carrying text.
Every key an answerable field may carry, whatever its type.
Every key an answerable field may carry, whatever its type.
Every key one operator action may carry, selected by :action. Keeping these
maps closed prevents a misspelled value or selection address from disappearing.
Every key one operator action may carry, selected by `:action`. Keeping these maps closed prevents a misspelled value or selection address from disappearing.
Wire operator action to internal action.
Wire operator action to internal action.
Wire View name to lifecycle kind.
Wire View name to lifecycle kind.
Portable keyword-keyed View vocabulary from the JSON contract.
Portable keyword-keyed View vocabulary from the JSON contract.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |