AbortSignal a handler can observe for cooperative cancellation.
Materialize schema autofills into empty input nodes before a handler runs.
Bind the application implementation invoked by a local run.
Move lifetime/routing ownership to a session, retaining active tracking.
Bind remote dispatch and reattach all already stream-bound port nodes.
Queue this action for remote dispatch; use waitForDispatch for acceptance.
Snapshot the call id, name, port mappings, and headers for dispatch.
Remote acknowledgement status, or null before it arrives.
Completion status; OK is provisional until isDone() becomes true.
Create a child action from a schema or registered name.
With propagateIo, the child shares the parent's node map, stream, and
session, while retaining its own id, derived port ids, and AbortSignal.
The registry is shared in either mode, and framework headers are forwarded
when forwardHeaders is true. A shared session supplies nested concurrency
limits and session-wide abort; cancelling only the parent is not recursive.
Adopt validated caller-supplied port node ids before local execution.
Replace the call id and remap default port ids before starting.
Replace the callable contract and remap ports before starting.
Await the remote dispatch acknowledgement, not handler completion.
OptionaltimeoutMs: numberStaticcreateValidate a schema/options bundle and create a configurable action.
StaticmakeDerive the stable action-id#port-name id for one action port node.
One schema-described unit of local work or remote agent work.
An action binds an ActionSchema to input/output AsyncNodes and, for a local run, an application handler. It is a one-shot state machine: configure the id, schema, collaborators, headers, and port mappings; then choose run for local execution or call for remote dispatch. Configuration that changes identity or port shape is frozen after start.
Remote calls have two milestones. waitForDispatch reports whether the peer accepted the action, while wait follows its eventual status after handler and output-writer cleanup. Local handlers can create children with makeNested; a shared session applies nested limits and includes tracked children in session-wide abort, but each child has an independent cancellation signal.