Skip to content

Schemas

Capability

FieldTypeReqDescription
namestringyesCapability name.
summarystringyesWhat it enables for downstream apps.
surfacesstring[]yesEndpoints / frames that expose it.

ChunkFlow

FieldTypeReqDescription
namestringyesFlow name, e.g. 'upload' or 'read'.
summarystringyesWhat the flow does.
sequencestring[]yesOrdered wire steps for the flow.

ConfigField

One config field reflected from an Interface.Config class.

FieldTypeReqDescription
namestringyesConfig field name.
typestringyesPython type annotation as string.
defaultanyyesDefault value, or null if required.
requiredbooleanyesTrue when the field has no default.

ConfigFilter

One operator clause over a config json path (range/equality/membership).

FieldTypeReqDescription
pathstringyesDotted path into the config layer, e.g. 'a.b'.
opConfigOpno
valueanyno

ConfigLayer

Enum: default, version, update, resolved

ConfigMatch

FieldTypeReqDescription
layerConfigLayerno
filtersConfigFilter[]no

ConfigOp

Enum: eq, ne, lt, lte, gt, gte, in, contains

CreateInterfaceRequest

Create (materialize) an Interface, optionally with a client-supplied id.

FieldTypeReqDescription
targetstringyesModule path to instantiate.
versionarraynoPassed to Interface.make().
uuidanynoClient-supplied id (e.g. content hash). Idempotent: creating again with the same id returns the existing instance unchanged.
labelanynoOptional mutable label to set on creation.
metaobjectno

DataStatusResponse

Whether a run's stored data is readable now (local / remote / evicted).

FieldTypeReqDescription
uuidstringyes
availablebooleanyesTrue when the working directory is mounted.
mountedbooleanyes
storage_urianyno
local_urianyno
bytes_missingbooleanno

DispatchInterface

One interface to add to an Execution.

Carries the ordered with-context it runs under.

FieldTypeReqDescription
targetstringyesInterface module path.
versionarrayno
contextInterfaceRef[]noOrdered with-contexts the interface is created under; any interface (Scope is one kind). Entered in order, exited in reverse (LIFO), exactly like the CLI's element chain. Order is significant.

DispatchRequest

Create/reuse an Execution and dispatch interfaces into it.

Mirrors with Project(request): Execution.add([with ctx: ...]).dispatch() Here, Project is the request's ambient project (?project=); the Execution is the container; each interface carries its own ordered context chain.

FieldTypeReqDescription
executionanynoThe Execution container interface; omit for a default Execution().
execution_refanynoReuse/resume a specific Execution instance (its uuid) instead of creating one.
interfacesDispatchInterface[]noInterfaces to add to the Execution, each with its with-context stack.

ExecutionInfo

An Execution run-record, the only kind that carries lifecycle status.

FieldTypeReqDescription
uuidstringyesUnique execution identifier.
moduleanynoProject-relative module path.
configobjectyesResolved execution configuration.
versionarraynoCompact version list.
clistringnoReproduction command (module + version).
seedintegeryesRandom seed for this execution.
nicknamestringyesHuman-readable execution nickname.
resourcesanynoRequested compute resources.
parent_uuidstringyesUuid of the parent Interface for this run.
is_startedbooleanyesTrue when started_at has been written.
is_activebooleanyesTrue when heartbeat is recent and not finished.
is_finishedbooleanyesTrue when finished_at has been written.
is_incompletebooleanyesTrue when started but not live.
is_livebooleannoTrue when the heartbeat is recent.
is_resumedbooleannoTrue when the run was resumed at least once.
started_atanynoISO-8601 start timestamp.
resumed_atanynoISO-8601 last resume timestamp.
finished_atanynoISO-8601 finish timestamp.
heartbeat_atanynoISO-8601 last heartbeat timestamp.
created_atstringyesISO-8601 creation timestamp.
created_byanynoUser attributed as creator when first materialized.
labelanynoOptional mutable, human-facing label.

FindRequest

FieldTypeReqDescription
moduleanyno
kindanyno
created_byanyno
labelanyno
parent_idanyno
identity_keyanyno
predicate_keyanyno
predicateanyno
configanyno
sortSortSpec[]no
include_hiddenbooleanno
include_bytes_missingbooleanno
record_id_suffixanyno
limitintegerno
offsetintegerno

FrameField

FieldTypeReqDescription
namestringyesField name on the JSON frame.
typestringyesJSON type, e.g. string, object, bool.
requiredbooleannoWhether the field is required.
descriptionstringyesWhat the field means.

GraphEdge

A typed, directed edge referencing nodes by uuid.

FieldTypeReqDescription
sourcestringyes
targetstringyes
relstringyesderivation | context | uses | runs | manifest | …

GraphNode

One node in a provenance graph.

attributes is the per-kind open facet (== Interface.on_provenance_attributes()): an Execution carries seed/timing, a Manifest its entries, a recipe interface its config layers + context.

FieldTypeReqDescription
uuidstringyes
kindstringyes
moduleanyno
versionarrayno
labelanyno
attributesobjectno

HTTPValidationError

FieldTypeReqDescription
detailValidationError[]no

HealthResponse

Server health summary.

FieldTypeReqDescription
statusstringyesHealth status literal.
versionstringyesInstalled machinable version.
projectanynoDefault (launch) project directory, if any.
projectsstring[]noProject directories the server currently holds state for.
executions_activeintegeryesActive Execution records in the default project.
uptime_secondsnumberyesSeconds since the API server started.

InterfaceCallRequest

One-shot synchronous Interface method call over REST.

FieldTypeReqDescription
targetstringyesModule path or existing interface uuid.
versionarraynoPassed to Interface.make() when target is a module path.
metaobjectnoOptional metadata stored with a newly created interface.
methodstringyesPublic method name to invoke.
argsarraynoPositional arguments.
kwargsobjectnoKeyword arguments.

InterfaceHook

FieldTypeReqDescription
namestringyesMethod/attribute the project interface defines.
signaturestringyesPython signature.
descriptionstringyesWhen machinable invokes it and contract.

InterfaceInfo

A materialized Interface entry (pure data node, no lifecycle status).

FieldTypeReqDescription
uuidstringyesUnique interface identifier.
moduleanynoProject-relative module path.
kindstringyesInterface kind, e.g. Interface or Project.
configobjectyesResolved configuration for this interface.
predicateobjectyesPredicate dict used for index lookup.
versionarraynoCompact version list (~versions + override dicts).
clistringnoReproduction command: module + compact version as a CLI string.
cachedbooleanyesTrue when computation for this interface has finished.
created_atstringyesISO-8601 creation timestamp recorded at materialization.
created_byanynoUser attributed as creator when first materialized.
labelanynoOptional mutable, human-facing label (config stays immutable).
metaobjectnoClient metadata supplied on WS connect.
execution_countintegeryesNumber of Execution children in the index.
latest_execution_uuidanynoUuid of the most recent Execution child, if any.

InterfaceRef

A uniform reference to any interface.

target (module path) + compact version.

FieldTypeReqDescription
targetstringyesModule path (or uuid).
versionarraynoCompact version (~versions + override dicts).

LifecycleRequest

Content-addressed lifecycle lookup for a compact version (no run/materialize).

FieldTypeReqDescription
targetstringyesModule path to look up by content.
versionarraynoCompact version (~versions + overrides).
contextInterfaceRef[]noOrdered with-contexts the config is created under (Scope or any interface). Entered before lookup so a scoped config resolves to its scoped identity and must match what it was dispatched under.

LifecycleResponse

The compute lifecycle state for a config, derived purely from the index.

FieldTypeReqDescription
targetstringyesModule path that was looked up.
moduleanynoResolved module path.
uuidanynoMaterialized interface id, or null when never created (draft).
statusLifecycleStatusyesdraft | running | cached | failed.
cachedbooleannoTrue when a finished result is available to read.
execution_uuidanynoLatest Execution run id, if any.

LifecycleStatus

Where a content-addressed config sits in its compute lifecycle.

Enum: draft, running, cached, failed

ModuleSchema

Config schema for one discoverable Interface module.

FieldTypeReqDescription
modulestringyesProject-relative dotted module path.
kindstringyesInterface kind for the discovered class.
docanynoClass docstring, if present.
config_fieldsConfigField[]yesReflected Config fields for form rendering.
versionsstring[]yesNamed version methods exposed by the class.
version_methodsVersionMethod[]noVersion methods with signature + docstring (the ~version vocab).
widgetanynoWidget frontend descriptor when the class ships one.

ProjectIndex

Index of discoverable Interface modules.

FieldTypeReqDescription
projectstringyesAbsolute project directory path.
modulesProjectModule[]yesDiscoverable Interface subclasses.

ProjectModule

Discoverable Interface module in the connected project.

FieldTypeReqDescription
modulestringyesProject-relative dotted module path.
kindstringyesInterface kind for the discovered class.
docanynoClass docstring, if present.
widgetbooleannoTrue when the class ships a widget frontend.

ProtocolDoc

The non-OpenAPI half of the contract: WebSocket protocol + hooks.

FieldTypeReqDescription
protocol_versionstringyesWire protocol version.
transportobjectyesTransport notes (control plane vs data plane).
headersFrameField[]yesCross-cutting request headers (project/user/interpreter).
ws_endpointsobjectyesWebSocket routes and what they connect to.
ws_framesWSFrame[]yesEvery WebSocket frame type.
chunk_flowsChunkFlow[]yesBinary upload and read sequences.
interface_hooksInterfaceHook[]yesHooks a project Interface implements for the data plane.
capabilitiesCapability[]yesHigh-level capability map for downstream consumers.

ProvenanceGraph

Normalized node-link DAG: how a result came to be.

Nodes appear once; shared nodes (a Manifest used by many runs) are referenced by many edges, never duplicated. Every edge's source/target is guaranteed present in nodes.

FieldTypeReqDescription
rootstringyes
nodesGraphNode[]no
linksGraphEdge[]no
truncatedbooleannoTrue when a node cap bounded the walk.

RelatedItem

FieldTypeReqDescription
uuidstringyes
moduleanyno
kindstringyes
versionarrayno
labelanyno

RelatedResponse

FieldTypeReqDescription
uuidstringyes
relatedRelatedItem[]yes

RemotesResponse

Shareable interfaces the project resolves by URL (slurm, globus, …).

FieldTypeReqDescription
remotesobjectnomodule path → source URL (or [source, *dependencies]).

ResolveRequest

Dry-run a compact version: expand it to resolved config without running.

FieldTypeReqDescription
targetstringyesModule path to instantiate.
versionarraynoCompact version (~versions + overrides).

ResolveResponse

FieldTypeReqDescription
moduleanynoModule path.
versionarraynoThe compact version as given.
configobjectyesResolved configuration.
predicateobjectnoComputed predicate.
clistringyesReproduction command (module + version).

SearchItem

A lightweight search hit over the interface index.

FieldTypeReqDescription
idstringyesInterface uuid.
moduleanynoModule path.
kindstringyesInterface kind.
configobjectnoResolved configuration.
created_at_nsintegeryesCreation timestamp (ns).
created_byanynoCreator.
labelanynoMutable label.

SearchResponse

FieldTypeReqDescription
itemsSearchItem[]yes
totalintegeryesTotal matches ignoring limit/offset.

SetLabelRequest

Set/replace an interface's mutable label (FCFS / last-write-wins).

FieldTypeReqDescription
labelanyyesNew label value, or null to clear.

SortSpec

A single ORDER BY term, over an index column or a config json path.

FieldTypeReqDescription
bystringnoIndex column, or a config json path when config_layer is set.
config_layeranynoWhen set, by is a json path into this config layer.
directionstringno"asc" or "desc".

SourceFile

One source file under the project tree.

FieldTypeReqDescription
pathstringyesProject-relative file path (forward slashes).
modulestringyesDotted module path the file imports as.
sizeintegeryesFile size in bytes.
mtime_nsintegeryesLast-modified time (ns since epoch).

SourceFileContent

FieldTypeReqDescription
pathstringyesProject-relative file path.
modulestringyesDotted module path the file imports as.
contentstringyesFull file content.
etagstringyesMD5 of the content (also returned as ETag header).
sizeintegeryesContent size in bytes.

SourceListResponse

FieldTypeReqDescription
base_dirstringyesAbsolute base directory the API is confined to.
filesSourceFile[]yes

SourceMoveRequest

Atomic rename/move within the base directory (e.g. rename an interface).

FieldTypeReqDescription
fromstringyesExisting source path.
tostringyesDestination source path (must not exist).

SourceWriteRequest

FieldTypeReqDescription
contentstringyesFull new file content (overwrite or create).

SourceWriteResponse

FieldTypeReqDescription
pathstringyesProject-relative file path.
modulestringyesDotted module path the file imports as.
etagstringyesMD5 of the written content.
createdbooleanyesTrue when the file did not previously exist.

ValidationError

FieldTypeReqDescription
locarrayyes
msgstringyes
typestringyes
inputanyno
ctxobjectno

VersionMethod

A version_<name> method, invoked compactly as ~name(args).

FieldTypeReqDescription
namestringyesVersion name; use as ~name in a version list.
signaturestringyesCall signature, e.g. '(path)' or '(*, mode, backbone)'.
docanynoDocstring, if present.

WSFrame

FieldTypeReqDescription
typestringyesValue of the frame's type field.
directionstringyes"client→server", "server→client", or "either".
summarystringyesOne-line purpose of the frame.
fieldsFrameField[]noFrame-specific fields beyond type/id.

WidgetInfo

Frontend descriptor for an interface that ships a widget.

FieldTypeReqDescription
metaobjectnoOpaque widget_meta; machinable never parses it.
esm_urlstringyesURL serving the widget ES module.
css_urlanynoURL serving the widget CSS, or null.

MIT Licensed