Expand description
The engine: what turns a capability call into an execution anybody can watch.
It owns no behaviour of its own. Everything it runs is a capability of the registry,
reached through crate::capability::Context::execute — the same executor MCP, the
HTTP routes, the command line and the benchmarks call — so a browser, an agent and a
terminal reach one implementation and there is no second copy of anything to drift.
submit ── validate ── create ── queue ──► worker thread
│
Context.progress ────┤ ctx.execute(id, input)
│ │
│ └─► the capability's own handler
▼
ExecutionStore ──► subscribers ──► WebSocketIt is deliberately small: an in-memory store, a bounded number of worker threads, and a cooperative cancellation flag. There is no durable queue, no retry and no scheduler, because nothing here is a background job system — it is a way to watch a call that takes longer than a request should be held open for.
Structs§
- Execution
Engine - The execution engine of one process.
Enums§
- Submit
Error - Why an execution was not accepted. Refused before anything is created, so a client that is told no knows nothing started.
Functions§
- runnable
- Is this capability one an execution may run at all? The same question
submitasks, answered without submitting, for a projection that lists what a client may start.