ApiClient
SchemaEditor
Related: SchemaEditorProps
SchemaEditorChange
SchemaEditor reports up on every edit.
Properties
SchemaEditorProps
Related: SchemaEditorChange
SchemaLintResult
comboElementNames
config).
Parameters
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
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.
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
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).
toolsListKey
GET /api/tools).
