AdapterCompileResult
AdapterMapping
Related: AdapterMappingProps
AdapterMappingProps
Related: BindingSourceSchemas, TemplateJqSuggestion
ApiClient
BindingJqField
Related: BindingJqFieldProps
BindingJqFieldProps
Related: TemplateJqSuggestion
BindingSourceSchemas
output and input fields (the state’s fields ride each
BindingStateOption). Absent roots offer no picked field — the author uses
a literal or a jq expression instead.
Properties
Related: SchemaFieldPath
BindingStateOption
Related: SchemaFieldPath
BindingTemplateJqOption
BindingTemplateOption
Related: BindingTemplateJqOption
BindingTemplatedJqField
Related: BindingTemplatedJqFieldProps
BindingTemplatedJqFieldProps
Related: TemplateJqSuggestion, TemplatedTextCatalog
FeatureDisabled
role="status" EmptyState (never the loud alert ErrorState): the
feature is not broken, it is simply off, and the copy shows the server’s own
remediation message.
Props
Related: FeatureDisabledProps
FeatureDisabledProps
FieldRoot
{ output, input } a picked field reads.
FieldSource
output or input.
Properties
Related: FieldRoot
InheritedSubject
InjectionList
Related: InjectionListProps
InjectionListProps
Related: ResolvedTemplateJq, TemplateJqSuggestion, TemplatedTextCatalog
JqSource
{ output, input }.
Properties
LiteralSource
"a", 42, true, {…}).
Properties
MappingRow
Related: MappingSource
MappingSource
ResolvedTemplateJq
Related: BindingTemplateJqOption
SchemaEditor
Related: SchemaEditorProps
SchemaEditorChange
SchemaEditor reports up on every edit.
Properties
SchemaEditorProps
Related: SchemaEditorChange
SchemaFieldPath
SchemaLintResult
StateAttachRow
Related: StateAttachRowProps
StateAttachRowProps
Related: BindingSourceSchemas, BindingStateOption, BindingTemplateOption, InheritedSubject, TemplatedTextCatalog
StateBindingEditor
Related: StateBindingEditorProps
StateBindingEditorProps
Related: BindingSourceSchemas, BindingStateOption, BindingTemplateOption, TemplatedTextCatalog
StateBindingSection
Related: StateBindingSectionProps
StateBindingSectionProps
Related: BindingSourceSchemas, BindingStateOption, BindingTemplateOption, StateBindingEditorProps, TemplatedTextCatalog
StoragePresenceQueryLike
GET /api/storage) fields this helper reads.
Properties
SubjectScopeFields
Related: SubjectScopeFieldsProps
SubjectScopeFieldsProps
Related: TemplateJqSuggestion, TemplatedTextCatalog
TemplateJqSuggestion
TemplateNamesQueryLike
GET /api/templates) fields this helper reads.
Properties
TemplatedText
TemplatedTextCatalog
TemplatedText field’s id picker offers, with the
fetch’s loading/error state — resolved by the door screen and passed to the
editor, which holds no data edge of its own. Absent leaves every templated-text
field with the inline source only.
Properties
Related: TemplatedTextTemplateOption
UpdateList
Related: UpdateListProps
UpdateListProps
Related: BindingSourceSchemas, ResolvedTemplateJq, TemplateJqSuggestion, TemplatedTextCatalog
appendTjq
tjq_<name>({…}) template call to the current expression (space-separated when non-empty).
Parameters
comboElementNames
config).
Parameters
compileAdapter
{ output, input }. An empty form compiles to the
empty object {}; a blank target, a duplicate target, or an invalid source is a
loud error.
Parameters
Related: AdapterCompileResult, MappingRow
defaultRowsForInput
output field.
Parameters
Related: MappingRow
downloadBlob
Blob (an export- or content-route response) to the user as a file
download via a transient object URL. The object URL is revoked on the next tick —
revoking it synchronously can cancel the download before the browser commits it.
Parameters
effectiveHidden
overlayHidden is the overlay’s
hidden (true/false), or null/undefined when the overlay defers or has
no row; declaredHidden is the plugin’s own hidden. Overlay opinion wins;
absence defers to the declaration.
Parameters
encodeTemplateSegment
- becomes _. Under the slug
invariant (no consecutive or trailing hyphens) the result carries no __ and no
trailing _, which is what makes the first __ in a call name the template boundary.
Parameters
errorMessage
error, a
rejected mutation, a zod/ApiError) into a human-readable string for the loud
ErrorState / Field surfaces. This only turns a caught value into
displayable text — it never swallows the failure; the caller decides where to
show it, and the message is always shown, never blank.
Parameters
extensionElementName
config).
Parameters
extensionsQueryKey
GET /api/extensions). The extensions feature keys its
read-only catalog on it; a tool’s extension-combo save (in the tools feature)
creates or tears down branch tools, so it invalidates this key too — a
cross-feature reference that must resolve to one authoritative constant.
featureDisabledMessage
message (which names the
missing configuration), else its machine code. The client NEVER composes this —
a refusal carrying neither is a contract breach and raises.
Parameters
fieldPathToJq
.output.user.name / .input["odd key"].
Parameters
Related: FieldRoot
fieldPathsFromSchema
properties into selectable field paths (top-level and
every nested object level), each labelled with its dotted path — the picker source
for the adapter’s output/input roots. A non-object or property-less schema
yields no fields (the field control then falls back to a free path input).
Parameters
Related: SchemaFieldPath
findByRef
Related: ResolvedTemplateJq
generateTemplateCall
tjq_<enc(template)>__<name>({…}) for a qualified ref, tjq_<name>({…}) for a bare
one (see the module note on the __ boundary invariant).
Parameters
Related: MappingRow
hiddenToolNames
listToolTags) merged with the tool_meta overlay (listToolMeta).
A picker excludes exactly these names from its options; the server stays the
authority (a slipped-through name is rejected loudly there), so a name in the set
that is not among a picker’s options is simply inert.
The union of both sources is walked so an overlay row that force-hides a tool
carrying no native tag entry is still caught, and an overlay false on a
plugin-hidden tool correctly keeps it OUT of the set (unhidden).
Parameters
isFeatureDisabled
error is a disabled-feature refusal from the skeleton: an HTTP 501, or
a code ending -not-configured. The code is authoritative; the 501 status is
the fallback signal — either alone is enough.
Parameters
jqKey
lintSchemaText
- Empty text is VALID (an unset, optional schema) with a
nullschema. - Malformed JSON is INVALID; the parser message is surfaced verbatim.
- A top-level value that is not a JSON object (an array or a scalar) is INVALID.
- When
requireTitle, a top-level string"title"is REQUIRED (theresponse_formatcontract the backend enforces); its absence is INVALID.
$defs/anyOf round-trips exactly.
Parameters
Related: SchemaLintResult
mergeToolBadges
parseAdapter
null if it is not the generated shape.
Parameters
Related: MappingRow
parseFieldPath
null if it is not one.
Parameters
Related: FieldSource
parseTemplateCall
{ callName, adapter } from a tjq_<callName>(<adapter>) call, or null
otherwise. callName is the RAW jq identifier — NEVER split here (a jq name may carry
its own __ past the template boundary); resolve it to a catalog ref with
resolveCallName.
Parameters
resolveCallName
enc(template)__name, or a bare name) back to the catalog
ref, driven by the catalog — never by string splitting, since a jq name may carry its
own __ past the template boundary and enc maps -→_. Under the template-slug
invariant (no consecutive/trailing hyphens ⇒ enc(template) has no __ and no
trailing _) the FIRST __ is the one true boundary, so the longest encoded-template
prefix whose remainder is a jq the template declares is the unique qualified match;
failing that, a bare name a single template declares. null when nothing claims it.
Parameters
Related: BindingTemplateOption
resolveTemplateJq
purpose is omitted), each carrying the reference a binding stores.
Parameters
Related: BindingTemplateOption, ResolvedTemplateJq
rowValueJq
Related: AdapterCompileResult, MappingSource
stateTemplatesKey
GET /api/state-templates). Read by the states
feature AND every state-binding door screen (the templates a binding attaches),
keyed here so the two never fetch the same catalog under diverging tuples.
statesCatalogFromList
listStates(); per-state attachments are resolved lazily elsewhere.
Parameters
Related: BindingStateOption
statesListKey
GET /api/states). The states feature owns it, and every door
screen that hosts the state-binding editor (a preset, a route, a hook, a schedule)
reads the same catalog to populate the binding’s state picker — so both key the one
authoritative tuple and a single fetch serves both.
subMcpKey
GET /api/sub-mcp). The settings feature reads
this map (its scope mapper lists the mounts) while the manifest feature owns the
create/delete controls that mutate it; both must key and invalidate the exact
same tuple, so it lives here rather than as a literal duplicated across the two
features (which cannot import each other).
templatedTextCatalog
Related: StoragePresenceQueryLike, TemplateNamesQueryLike, TemplatedTextCatalog
templatesCatalogFromList
listStateTemplates().
Parameters
Related: BindingTemplateOption
tokensPayloadKey
toolBadgesByName
listToolTags) merged with the tool_meta
overlay (listToolMeta) — the SAME union the tools list shows. Only tools with at
least one badge appear; a name with none is simply absent (the picker shows no
chips). Both sources’ names are walked, so an overlay row that badges a tool
carrying no native tag entry is still surfaced.
Parameters
toolsListKey
GET /api/tools).
