stitchkit 0.92.0 → 0.94.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +191 -0
- package/README.md +5 -2
- package/dist/agent-runtime/children-control.d.ts +6 -0
- package/dist/agent-runtime/children-control.d.ts.map +1 -0
- package/dist/agent-runtime/children-spawn.d.ts +6 -0
- package/dist/agent-runtime/children-spawn.d.ts.map +1 -0
- package/dist/agent-runtime/children-state.d.ts +46 -0
- package/dist/agent-runtime/children-state.d.ts.map +1 -0
- package/dist/agent-runtime/children-usage.d.ts +8 -0
- package/dist/agent-runtime/children-usage.d.ts.map +1 -0
- package/dist/agent-runtime/children.d.ts +11 -14
- package/dist/agent-runtime/children.d.ts.map +1 -1
- package/dist/agent-runtime/coding-tool-contract.d.ts +2 -1
- package/dist/agent-runtime/coding-tool-contract.d.ts.map +1 -1
- package/dist/agent-runtime/deferred-tool-types.d.ts +2 -2
- package/dist/agent-runtime/deferred-tool-types.d.ts.map +1 -1
- package/dist/agent-runtime/events.d.ts +1 -1
- package/dist/agent-runtime/events.d.ts.map +1 -1
- package/dist/agent-runtime/managed-tools.d.ts +1 -1
- package/dist/agent-runtime/managed-tools.d.ts.map +1 -1
- package/dist/agent-runtime/observability.d.ts +1 -1
- package/dist/agent-runtime/observability.d.ts.map +1 -1
- package/dist/{agent-runtime-openrouter.d.ts → agent-runtime/openrouter.d.ts} +3 -3
- package/dist/agent-runtime/openrouter.d.ts.map +1 -0
- package/dist/agent-runtime/projections.d.ts +1 -1
- package/dist/agent-runtime/projections.d.ts.map +1 -1
- package/dist/agent-runtime/run-acquisition.d.ts +17 -0
- package/dist/agent-runtime/run-acquisition.d.ts.map +1 -0
- package/dist/agent-runtime/run-execution-state.d.ts +133 -0
- package/dist/agent-runtime/run-execution-state.d.ts.map +1 -0
- package/dist/agent-runtime/run-execution.d.ts +17 -33
- package/dist/agent-runtime/run-execution.d.ts.map +1 -1
- package/dist/agent-runtime/run-failure.d.ts +18 -0
- package/dist/agent-runtime/run-failure.d.ts.map +1 -0
- package/dist/agent-runtime/run-model-attempts.d.ts +6 -0
- package/dist/agent-runtime/run-model-attempts.d.ts.map +1 -0
- package/dist/agent-runtime/run-prompt-history.d.ts +58 -0
- package/dist/agent-runtime/run-prompt-history.d.ts.map +1 -0
- package/dist/agent-runtime/run-provider-ledger.d.ts +26 -0
- package/dist/agent-runtime/run-provider-ledger.d.ts.map +1 -0
- package/dist/agent-runtime/run-stream-parts.d.ts +17 -0
- package/dist/agent-runtime/run-stream-parts.d.ts.map +1 -0
- package/dist/agent-runtime/run-terminal.d.ts +11 -0
- package/dist/agent-runtime/run-terminal.d.ts.map +1 -0
- package/dist/agent-runtime/run-turn-preparation.d.ts +22 -0
- package/dist/agent-runtime/run-turn-preparation.d.ts.map +1 -0
- package/dist/agent-runtime/runtime-admission-gate.d.ts +29 -0
- package/dist/agent-runtime/runtime-admission-gate.d.ts.map +1 -0
- package/dist/agent-runtime/runtime-control.d.ts +9 -0
- package/dist/agent-runtime/runtime-control.d.ts.map +1 -0
- package/dist/agent-runtime/runtime-recovery.d.ts +10 -0
- package/dist/agent-runtime/runtime-recovery.d.ts.map +1 -0
- package/dist/agent-runtime/runtime-state.d.ts +36 -0
- package/dist/agent-runtime/runtime-state.d.ts.map +1 -0
- package/dist/agent-runtime/runtime-submit.d.ts +5 -0
- package/dist/agent-runtime/runtime-submit.d.ts.map +1 -0
- package/dist/agent-runtime/runtime.d.ts +9 -4
- package/dist/agent-runtime/runtime.d.ts.map +1 -1
- package/dist/{agent-runtime-sqlite-bun.d.ts → agent-runtime/sqlite-bun.d.ts} +5 -4
- package/dist/agent-runtime/sqlite-bun.d.ts.map +1 -0
- package/dist/agent-runtime/sqlite-events.d.ts +5 -0
- package/dist/agent-runtime/sqlite-events.d.ts.map +1 -0
- package/dist/agent-runtime/sqlite-history.d.ts +7 -0
- package/dist/agent-runtime/sqlite-history.d.ts.map +1 -0
- package/dist/agent-runtime/sqlite-ledger.d.ts +7 -0
- package/dist/agent-runtime/sqlite-ledger.d.ts.map +1 -0
- package/dist/{agent-runtime-sqlite-node.d.ts → agent-runtime/sqlite-node.d.ts} +5 -4
- package/dist/agent-runtime/sqlite-node.d.ts.map +1 -0
- package/dist/agent-runtime/sqlite-reads.d.ts +14 -0
- package/dist/agent-runtime/sqlite-reads.d.ts.map +1 -0
- package/dist/agent-runtime/sqlite-rows.d.ts +178 -0
- package/dist/agent-runtime/sqlite-rows.d.ts.map +1 -0
- package/dist/agent-runtime/sqlite-schema.d.ts +7 -0
- package/dist/agent-runtime/sqlite-schema.d.ts.map +1 -0
- package/dist/agent-runtime/sqlite-transactions.d.ts +25 -0
- package/dist/agent-runtime/sqlite-transactions.d.ts.map +1 -0
- package/dist/agent-runtime/sqlite.d.ts +10 -6
- package/dist/agent-runtime/sqlite.d.ts.map +1 -1
- package/dist/agent-runtime/store-archive.d.ts +16 -0
- package/dist/agent-runtime/store-archive.d.ts.map +1 -0
- package/dist/{testing/agent-store-conformance.d.ts → agent-runtime/store-conformance.d.ts} +2 -2
- package/dist/agent-runtime/store-conformance.d.ts.map +1 -0
- package/dist/agent-runtime/store-create.d.ts +11 -0
- package/dist/agent-runtime/store-create.d.ts.map +1 -0
- package/dist/agent-runtime/{store-driver.d.ts → store-driver-contract.d.ts} +7 -7
- package/dist/agent-runtime/store-driver-contract.d.ts.map +1 -0
- package/dist/agent-runtime/store-events.d.ts +7 -89
- package/dist/agent-runtime/store-events.d.ts.map +1 -1
- package/dist/agent-runtime/store-memory.d.ts +4 -0
- package/dist/agent-runtime/store-memory.d.ts.map +1 -0
- package/dist/agent-runtime/store-mutate.d.ts +13 -0
- package/dist/agent-runtime/store-mutate.d.ts.map +1 -0
- package/dist/agent-runtime/store-purge.d.ts +1 -1
- package/dist/agent-runtime/store-purge.d.ts.map +1 -1
- package/dist/agent-runtime/store-reads.d.ts +29 -0
- package/dist/agent-runtime/store-reads.d.ts.map +1 -0
- package/dist/agent-runtime/store-reduce-history.d.ts +10 -0
- package/dist/agent-runtime/store-reduce-history.d.ts.map +1 -0
- package/dist/agent-runtime/store-reduce-run.d.ts +14 -0
- package/dist/agent-runtime/store-reduce-run.d.ts.map +1 -0
- package/dist/agent-runtime/store-reduce-shared.d.ts +76 -0
- package/dist/agent-runtime/store-reduce-shared.d.ts.map +1 -0
- package/dist/agent-runtime/store-reduce-terminal.d.ts +6 -0
- package/dist/agent-runtime/store-reduce-terminal.d.ts.map +1 -0
- package/dist/agent-runtime/store-reducer.d.ts +24 -0
- package/dist/agent-runtime/store-reducer.d.ts.map +1 -0
- package/dist/agent-runtime/store-snapshot.d.ts +19 -0
- package/dist/agent-runtime/store-snapshot.d.ts.map +1 -0
- package/dist/agent-runtime/store.d.ts +1 -1
- package/dist/agent-runtime/store.d.ts.map +1 -1
- package/dist/application/admission.d.ts +1 -1
- package/dist/application/admission.d.ts.map +1 -1
- package/dist/application/events.d.ts +1 -1
- package/dist/application/events.d.ts.map +1 -1
- package/dist/{server → application}/file-state-store.d.ts +1 -1
- package/dist/application/file-state-store.d.ts.map +1 -0
- package/dist/application/health.d.ts +1 -1
- package/dist/application/health.d.ts.map +1 -1
- package/dist/application/kernel-admission.d.ts +8 -0
- package/dist/application/kernel-admission.d.ts.map +1 -0
- package/dist/application/kernel-contract.d.ts +142 -0
- package/dist/application/kernel-contract.d.ts.map +1 -0
- package/dist/application/kernel-resource-context.d.ts +24 -0
- package/dist/application/kernel-resource-context.d.ts.map +1 -0
- package/dist/application/kernel-restart.d.ts +5 -0
- package/dist/application/kernel-restart.d.ts.map +1 -0
- package/dist/application/kernel-rollback.d.ts +4 -0
- package/dist/application/kernel-rollback.d.ts.map +1 -0
- package/dist/application/kernel-shutdown.d.ts +6 -0
- package/dist/application/kernel-shutdown.d.ts.map +1 -0
- package/dist/application/kernel-start.d.ts +20 -0
- package/dist/application/kernel-start.d.ts.map +1 -0
- package/dist/application/kernel-state.d.ts +116 -0
- package/dist/application/kernel-state.d.ts.map +1 -0
- package/dist/application/kernel.d.ts +9 -140
- package/dist/application/kernel.d.ts.map +1 -1
- package/dist/application/latest-sink.d.ts +1 -1
- package/dist/application/latest-sink.d.ts.map +1 -1
- package/dist/application/opentelemetry.d.ts +1 -1
- package/dist/application/opentelemetry.d.ts.map +1 -1
- package/dist/application/watch-hub.d.ts +2 -2
- package/dist/application/watch-hub.d.ts.map +1 -1
- package/dist/browser/client-multipart.d.ts +1 -1
- package/dist/browser/client-multipart.d.ts.map +1 -1
- package/dist/browser/client-url.d.ts +1 -1
- package/dist/browser/client-url.d.ts.map +1 -1
- package/dist/browser/client.d.ts +1 -1
- package/dist/browser/client.d.ts.map +1 -1
- package/dist/browser/contract-stream.d.ts +1 -1
- package/dist/browser/contract-stream.d.ts.map +1 -1
- package/dist/browser/http.d.ts +1 -1
- package/dist/browser/http.d.ts.map +1 -1
- package/dist/browser/resumable.d.ts +1 -28
- package/dist/browser/resumable.d.ts.map +1 -1
- package/dist/browser/retained.d.ts.map +1 -0
- package/dist/browser/socket-io.d.ts +23 -1
- package/dist/browser/socket-io.d.ts.map +1 -1
- package/dist/browser/stream.d.ts +14 -2
- package/dist/browser/stream.d.ts.map +1 -1
- package/dist/contract/define.d.ts +72 -65
- package/dist/contract/define.d.ts.map +1 -1
- package/dist/{internal/errors.d.ts → contract/normalize.d.ts} +3 -39
- package/dist/contract/normalize.d.ts.map +1 -0
- package/dist/contract/tool-view.d.ts +135 -0
- package/dist/contract/tool-view.d.ts.map +1 -0
- package/dist/declaration/declaration.d.ts.map +1 -0
- package/dist/{agent-runtime/durability-contract.d.ts → durability/contract.d.ts} +2 -2
- package/dist/durability/contract.d.ts.map +1 -0
- package/dist/{agent-runtime/durability.d.ts → durability/engine.d.ts} +4 -4
- package/dist/durability/engine.d.ts.map +1 -0
- package/dist/durability/events.d.ts +101 -0
- package/dist/durability/events.d.ts.map +1 -0
- package/dist/{agent-runtime/durability-json.d.ts → durability/json.d.ts} +1 -1
- package/dist/durability/json.d.ts.map +1 -0
- package/dist/{agent-runtime/durability-ledger.d.ts → durability/ledger.d.ts} +2 -2
- package/dist/durability/ledger.d.ts.map +1 -0
- package/dist/{agent-runtime/durability-scheduler.d.ts → durability/scheduler.d.ts} +2 -2
- package/dist/durability/scheduler.d.ts.map +1 -0
- package/dist/entrypoints/agent-runtime/browser.d.ts +5 -0
- package/dist/entrypoints/agent-runtime/browser.d.ts.map +1 -0
- package/dist/{agent-runtime-browser.js → entrypoints/agent-runtime/browser.js} +3 -3
- package/dist/{agent-runtime-coding-tools.d.ts → entrypoints/agent-runtime/coding-tools.d.ts} +2 -2
- package/dist/entrypoints/agent-runtime/coding-tools.d.ts.map +1 -0
- package/dist/entrypoints/agent-runtime/coding-tools.js +22 -0
- package/dist/{agent-runtime-harness.d.ts → entrypoints/agent-runtime/harness.d.ts} +2 -2
- package/dist/entrypoints/agent-runtime/harness.d.ts.map +1 -0
- package/dist/{agent-runtime-harness.js → entrypoints/agent-runtime/harness.js} +24 -25
- package/dist/entrypoints/agent-runtime/openrouter.d.ts +2 -0
- package/dist/entrypoints/agent-runtime/openrouter.d.ts.map +1 -0
- package/dist/{agent-runtime-openrouter.js → entrypoints/agent-runtime/openrouter.js} +3 -3
- package/dist/{agent-runtime-sandbox.d.ts → entrypoints/agent-runtime/sandbox.d.ts} +5 -5
- package/dist/entrypoints/agent-runtime/sandbox.d.ts.map +1 -0
- package/dist/{agent-runtime-sandbox.js → entrypoints/agent-runtime/sandbox.js} +11 -12
- package/dist/entrypoints/agent-runtime/sqlite/bun.d.ts +2 -0
- package/dist/entrypoints/agent-runtime/sqlite/bun.d.ts.map +1 -0
- package/dist/{agent-runtime-sqlite-bun.js → entrypoints/agent-runtime/sqlite/bun.js} +8 -6
- package/dist/entrypoints/agent-runtime/sqlite/node.d.ts +2 -0
- package/dist/entrypoints/agent-runtime/sqlite/node.d.ts.map +1 -0
- package/dist/{agent-runtime-sqlite-node.js → entrypoints/agent-runtime/sqlite/node.js} +8 -6
- package/dist/entrypoints/agent-runtime/testing.d.ts +4 -0
- package/dist/entrypoints/agent-runtime/testing.d.ts.map +1 -0
- package/dist/entrypoints/agent-runtime/testing.js +1084 -0
- package/dist/{agent-runtime.d.ts → entrypoints/agent-runtime.d.ts} +41 -37
- package/dist/entrypoints/agent-runtime.d.ts.map +1 -0
- package/dist/{agent-runtime.js → entrypoints/agent-runtime.js} +408 -366
- package/dist/{application-diagnostic-journal.d.ts → entrypoints/application/diagnostic-journal.d.ts} +2 -2
- package/dist/entrypoints/application/diagnostic-journal.d.ts.map +1 -0
- package/dist/{application-diagnostic-journal.js → entrypoints/application/diagnostic-journal.js} +3 -3
- package/dist/{application-grammy.d.ts → entrypoints/application/grammy.d.ts} +2 -2
- package/dist/entrypoints/application/grammy.d.ts.map +1 -0
- package/dist/{application-grammy.js → entrypoints/application/grammy.js} +2 -2
- package/dist/{application-opentelemetry.d.ts → entrypoints/application/opentelemetry.d.ts} +2 -2
- package/dist/entrypoints/application/opentelemetry.d.ts.map +1 -0
- package/dist/{application-opentelemetry.js → entrypoints/application/opentelemetry.js} +4 -4
- package/dist/{application-schemas.d.ts → entrypoints/application/schemas.d.ts} +2 -2
- package/dist/entrypoints/application/schemas.d.ts.map +1 -0
- package/dist/{application-schemas.js → entrypoints/application/schemas.js} +2 -2
- package/dist/{application.d.ts → entrypoints/application.d.ts} +22 -21
- package/dist/entrypoints/application.d.ts.map +1 -0
- package/dist/{application.js → entrypoints/application.js} +24 -22
- package/dist/entrypoints/bin/upgrade-cli.d.ts.map +1 -0
- package/dist/{upgrade-cli.js → entrypoints/bin/upgrade-cli.js} +3 -3
- package/dist/{cli.d.ts → entrypoints/cli.d.ts} +15 -15
- package/dist/entrypoints/cli.d.ts.map +1 -0
- package/dist/{cli.js → entrypoints/cli.js} +37 -32
- package/dist/entrypoints/contract.d.ts +9 -0
- package/dist/entrypoints/contract.d.ts.map +1 -0
- package/dist/{contract/index.js → entrypoints/contract.js} +14 -6
- package/dist/entrypoints/declaration.d.ts +2 -0
- package/dist/entrypoints/declaration.d.ts.map +1 -0
- package/dist/{declaration.js → entrypoints/declaration.js} +1 -1
- package/dist/{files.d.ts → entrypoints/files.d.ts} +2 -2
- package/dist/entrypoints/files.d.ts.map +1 -0
- package/dist/{files.js → entrypoints/files.js} +3 -3
- package/dist/{geo.d.ts → entrypoints/geo.d.ts} +1 -1
- package/dist/entrypoints/geo.d.ts.map +1 -0
- package/dist/{geo.js → entrypoints/geo.js} +4 -4
- package/dist/entrypoints/google.d.ts +2 -0
- package/dist/entrypoints/google.d.ts.map +1 -0
- package/dist/{google.js → entrypoints/google.js} +1 -1
- package/dist/{index.d.ts → entrypoints/index.d.ts} +14 -13
- package/dist/entrypoints/index.d.ts.map +1 -0
- package/dist/{index.js → entrypoints/index.js} +99 -33
- package/dist/{live.d.ts → entrypoints/live.d.ts} +4 -4
- package/dist/entrypoints/live.d.ts.map +1 -0
- package/dist/{live.js → entrypoints/live.js} +6 -4
- package/dist/{node.d.ts → entrypoints/node.d.ts} +11 -11
- package/dist/entrypoints/node.d.ts.map +1 -0
- package/dist/{node.js → entrypoints/node.js} +20 -16
- package/dist/entrypoints/oauth.d.ts +2 -0
- package/dist/entrypoints/oauth.d.ts.map +1 -0
- package/dist/{oauth.js → entrypoints/oauth.js} +3 -3
- package/dist/{observability/index.d.ts → entrypoints/observability.d.ts} +11 -11
- package/dist/entrypoints/observability.d.ts.map +1 -0
- package/dist/{observability/index.js → entrypoints/observability.js} +9 -11
- package/dist/entrypoints/primitives.d.ts +3 -0
- package/dist/entrypoints/primitives.d.ts.map +1 -0
- package/dist/{primitives.js → entrypoints/primitives.js} +1 -6
- package/dist/{react.d.ts → entrypoints/react.d.ts} +4 -4
- package/dist/entrypoints/react.d.ts.map +1 -0
- package/dist/{react.js → entrypoints/react.js} +3 -3
- package/dist/{release.d.ts → entrypoints/release.d.ts} +4 -4
- package/dist/entrypoints/release.d.ts.map +1 -0
- package/dist/{release.js → entrypoints/release.js} +1 -1
- package/dist/{remote.d.ts → entrypoints/remote.d.ts} +1 -1
- package/dist/entrypoints/remote.d.ts.map +1 -0
- package/dist/entrypoints/remote.js +66 -0
- package/dist/{server/index.d.ts → entrypoints/server.d.ts} +35 -34
- package/dist/entrypoints/server.d.ts.map +1 -0
- package/dist/{server/index.js → entrypoints/server.js} +294 -244
- package/dist/{telegram.d.ts → entrypoints/telegram.d.ts} +2 -2
- package/dist/entrypoints/telegram.d.ts.map +1 -0
- package/dist/{telegram.js → entrypoints/telegram.js} +1 -1
- package/dist/entrypoints/testing.d.ts +9 -0
- package/dist/entrypoints/testing.d.ts.map +1 -0
- package/dist/{testing.js → entrypoints/testing.js} +107 -926
- package/dist/{tools/connections/index.d.ts → entrypoints/tools/connections.d.ts} +6 -7
- package/dist/entrypoints/tools/connections.d.ts.map +1 -0
- package/dist/{tools/connections/index.js → entrypoints/tools/connections.js} +7 -4
- package/dist/{tools-contract.d.ts → entrypoints/tools/contract.d.ts} +5 -5
- package/dist/entrypoints/tools/contract.d.ts.map +1 -0
- package/dist/{tools-contract.js → entrypoints/tools/contract.js} +4 -4
- package/dist/{tool-invoker.d.ts → entrypoints/tools/invoker.d.ts} +2 -2
- package/dist/entrypoints/tools/invoker.d.ts.map +1 -0
- package/dist/entrypoints/tools/invoker.js +20 -0
- package/dist/entrypoints/tools.d.ts +51 -0
- package/dist/entrypoints/tools.d.ts.map +1 -0
- package/dist/{tools.js → entrypoints/tools.js} +1787 -1751
- package/dist/{tracking-server.d.ts → entrypoints/tracking/server.d.ts} +8 -8
- package/dist/entrypoints/tracking/server.d.ts.map +1 -0
- package/dist/{tracking.d.ts → entrypoints/tracking.d.ts} +15 -15
- package/dist/entrypoints/tracking.d.ts.map +1 -0
- package/dist/{tracking.js → entrypoints/tracking.js} +5 -8
- package/dist/google/google.d.ts.map +1 -0
- package/dist/{index-a916km3r.js → index-0b1ess5e.js} +6 -13
- package/dist/{index-zwkgfq1s.js → index-1nd48tm9.js} +113 -118
- package/dist/{index-7zbps32p.js → index-1zbbzgfh.js} +2 -2
- package/dist/{index-mzvgxp0n.js → index-2cr1cqhn.js} +16 -4
- package/dist/{index-f9mb610r.js → index-35mh5bhj.js} +2 -2
- package/dist/index-48ffdxgk.js +6 -0
- package/dist/index-58k4fp34.js +1023 -0
- package/dist/{index-p13mwz16.js → index-83bdg97s.js} +1 -1
- package/dist/index-97ac4gph.js +3618 -0
- package/dist/{index-kw9t5ayn.js → index-cq4qfycf.js} +5 -5
- package/dist/{index-7gnkny4z.js → index-d9pk3td4.js} +1 -1
- package/dist/{index-e42wzzz5.js → index-dcpdvjsc.js} +7 -7
- package/dist/{index-h9etkkyk.js → index-dydjcp8z.js} +102 -25
- package/dist/{index-sr93cwf9.js → index-e2z3ahw9.js} +2 -2
- package/dist/{index-yewwh1w4.js → index-e87kakm4.js} +96 -11
- package/dist/{index-cby4ar3v.js → index-eqqvgdb3.js} +1 -1
- package/dist/index-fdp6hdxn.js +942 -0
- package/dist/{index-0a349c33.js → index-gyr48nzg.js} +125 -198
- package/dist/{index-wnfk50r0.js → index-h6eeys1v.js} +1 -1
- package/dist/{index-77fekveh.js → index-hffjpmq9.js} +1 -15
- package/dist/{index-yn8remb1.js → index-j05z5gn4.js} +50 -14
- package/dist/index-k5hsfc3j.js +31 -0
- package/dist/{index-fq77yfzc.js → index-kj2wbeta.js} +1 -1
- package/dist/index-kvj7f4hq.js +39 -0
- package/dist/{index-4fpa9dy2.js → index-m9zn6cpq.js} +2 -2
- package/dist/{index-2na0qrfn.js → index-mdzh02yc.js} +7 -7
- package/dist/{index-ywd0y6m1.js → index-mkm15s49.js} +1 -1
- package/dist/index-mp5sn43f.js +1084 -0
- package/dist/{index-7n145nbe.js → index-n6hxg8as.js} +530 -387
- package/dist/index-ngfhvfpd.js +30 -0
- package/dist/{index-e0znv5gn.js → index-p5r7qpdd.js} +2 -93
- package/dist/{index-n0f51dfn.js → index-p81267c2.js} +608 -549
- package/dist/{index-wc4x00bn.js → index-qwhynv6x.js} +1 -1
- package/dist/index-r7nmqpsg.js +154 -0
- package/dist/{index-bx75zwt7.js → index-rewkc2hj.js} +5 -4
- package/dist/{index-9f8ztey6.js → index-sees8yf8.js} +2 -2
- package/dist/{index-vjpvjqpn.js → index-v38qyerb.js} +16 -2
- package/dist/{index-2c2bjw3s.js → index-vcvkq30w.js} +3 -3
- package/dist/index-wqgjfstn.js +18 -0
- package/dist/{index-f477k430.js → index-x4799c19.js} +1 -1
- package/dist/{index-cxqhvq21.js → index-xnj9bgxe.js} +142 -129
- package/dist/index-xsqjkha9.js +281 -0
- package/dist/{index-6kyksz9y.js → index-yw4fzmdz.js} +1 -1
- package/dist/{index-3xwxfj4z.js → index-zeemqhqx.js} +1 -1
- package/dist/{index-tmwcrptx.js → index-zfrhfn82.js} +1 -1
- package/dist/index-znfs20ss.js +98 -0
- package/dist/internal/backoff.d.ts +29 -0
- package/dist/internal/backoff.d.ts.map +1 -0
- package/dist/internal/canonical-json.d.ts +21 -11
- package/dist/internal/canonical-json.d.ts.map +1 -1
- package/dist/internal/channel.d.ts.map +1 -0
- package/dist/internal/logger.d.ts.map +1 -0
- package/dist/internal/request.d.ts.map +1 -0
- package/dist/internal/secure-fetch.d.ts +12 -0
- package/dist/internal/secure-fetch.d.ts.map +1 -1
- package/dist/internal/stable-digest.d.ts +0 -43
- package/dist/internal/stable-digest.d.ts.map +1 -1
- package/dist/internal/typed.d.ts +0 -8
- package/dist/internal/typed.d.ts.map +1 -1
- package/dist/internal/zod-issues.d.ts +38 -0
- package/dist/internal/zod-issues.d.ts.map +1 -0
- package/dist/{tools/json-schema-dialect.d.ts → json-schema/dialect.d.ts} +1 -1
- package/dist/json-schema/dialect.d.ts.map +1 -0
- package/dist/json-schema/json-schema.d.ts.map +1 -0
- package/dist/live/watch-delta.d.ts.map +1 -1
- package/dist/{oauth.d.ts → oauth/authorization-code.d.ts} +1 -1
- package/dist/oauth/authorization-code.d.ts.map +1 -0
- package/dist/observability/audit.d.ts +2 -2
- package/dist/observability/audit.d.ts.map +1 -1
- package/dist/observability/bounded-logger.d.ts +1 -1
- package/dist/observability/bounded-logger.d.ts.map +1 -1
- package/dist/{internal/observability-sink.d.ts → observability/bounded-sink.d.ts} +2 -2
- package/dist/observability/bounded-sink.d.ts.map +1 -0
- package/dist/observability/context.d.ts +1 -1
- package/dist/observability/context.d.ts.map +1 -1
- package/dist/observability/event.d.ts +1 -1
- package/dist/observability/event.d.ts.map +1 -1
- package/dist/observability/work.d.ts +1 -1
- package/dist/observability/work.d.ts.map +1 -1
- package/dist/primitives/audit.d.ts +1 -1
- package/dist/primitives/audit.d.ts.map +1 -1
- package/dist/primitives/export-operation.d.ts +4 -2
- package/dist/primitives/export-operation.d.ts.map +1 -1
- package/dist/realtime/socket.d.ts +1 -1
- package/dist/realtime/socket.d.ts.map +1 -1
- package/dist/server/context-contribution.d.ts +1 -1
- package/dist/server/context-contribution.d.ts.map +1 -1
- package/dist/server/context.d.ts +2 -2
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/contract-method.d.ts +15 -0
- package/dist/server/contract-method.d.ts.map +1 -0
- package/dist/server/contract-stream.d.ts +1 -1
- package/dist/server/contract-stream.d.ts.map +1 -1
- package/dist/server/create.d.ts +8 -0
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/endpoint-dispatch.d.ts +10 -0
- package/dist/server/endpoint-dispatch.d.ts.map +1 -0
- package/dist/server/endpoint-response.d.ts +18 -0
- package/dist/server/endpoint-response.d.ts.map +1 -0
- package/dist/server/error-dispatch.d.ts +17 -1
- package/dist/server/error-dispatch.d.ts.map +1 -1
- package/dist/server/error-hook.d.ts +2 -2
- package/dist/server/error-hook.d.ts.map +1 -1
- package/dist/server/handler-state.d.ts +44 -0
- package/dist/server/handler-state.d.ts.map +1 -0
- package/dist/server/implement.d.ts +1 -1
- package/dist/server/implement.d.ts.map +1 -1
- package/dist/server/middleware/auth.d.ts +1 -1
- package/dist/server/middleware/auth.d.ts.map +1 -1
- package/dist/server/middleware/cors.d.ts +17 -0
- package/dist/server/middleware/cors.d.ts.map +1 -1
- package/dist/server/middleware/trust-fence.d.ts +1 -1
- package/dist/server/middleware/trust-fence.d.ts.map +1 -1
- package/dist/server/multipart.d.ts +1 -1
- package/dist/server/multipart.d.ts.map +1 -1
- package/dist/{tools/oauth-metadata.d.ts → server/oauth/metadata.d.ts} +2 -2
- package/dist/server/oauth/metadata.d.ts.map +1 -0
- package/dist/{tools/oauth-provider.d.ts → server/oauth/provider.d.ts} +2 -2
- package/dist/server/oauth/provider.d.ts.map +1 -0
- package/dist/server/realtime.d.ts +1 -1
- package/dist/server/realtime.d.ts.map +1 -1
- package/dist/server/request-completion.d.ts +16 -0
- package/dist/server/request-completion.d.ts.map +1 -0
- package/dist/server/response-metadata.d.ts +1 -1
- package/dist/server/response-metadata.d.ts.map +1 -1
- package/dist/server/route-table.d.ts +9 -0
- package/dist/server/route-table.d.ts.map +1 -0
- package/dist/server/stream.d.ts +0 -13
- package/dist/server/stream.d.ts.map +1 -1
- package/dist/server/types.d.ts +7 -4
- package/dist/server/types.d.ts.map +1 -1
- package/dist/testing/handler-clients.d.ts +31 -0
- package/dist/testing/handler-clients.d.ts.map +1 -0
- package/dist/testing/managed-resource-conformance-scenarios.d.ts.map +1 -1
- package/dist/testing/surface-conformance.d.ts +2 -1
- package/dist/testing/surface-conformance.d.ts.map +1 -1
- package/dist/testing/surface-manifest.d.ts +64 -5
- package/dist/testing/surface-manifest.d.ts.map +1 -1
- package/dist/tools/{cli-args.d.ts → cli/args.d.ts} +1 -1
- package/dist/tools/cli/args.d.ts.map +1 -0
- package/dist/tools/{cli-checkpoint.d.ts → cli/checkpoint.d.ts} +1 -1
- package/dist/tools/cli/checkpoint.d.ts.map +1 -0
- package/dist/tools/{cli-command.d.ts → cli/command.d.ts} +22 -4
- package/dist/tools/cli/command.d.ts.map +1 -0
- package/dist/tools/{cli.d.ts → cli/config.d.ts} +5 -12
- package/dist/tools/cli/config.d.ts.map +1 -0
- package/dist/tools/cli/create-cli.d.ts +36 -0
- package/dist/tools/cli/create-cli.d.ts.map +1 -0
- package/dist/tools/cli/download.d.ts +8 -0
- package/dist/tools/cli/download.d.ts.map +1 -0
- package/dist/tools/{cli-format.d.ts → cli/format.d.ts} +2 -2
- package/dist/tools/cli/format.d.ts.map +1 -0
- package/dist/tools/cli/help.d.ts +24 -0
- package/dist/tools/cli/help.d.ts.map +1 -0
- package/dist/tools/{cli-installer.d.ts → cli/installer.d.ts} +2 -2
- package/dist/tools/cli/installer.d.ts.map +1 -0
- package/dist/tools/{cli-invoke.d.ts → cli/invoke.d.ts} +35 -10
- package/dist/tools/cli/invoke.d.ts.map +1 -0
- package/dist/tools/cli/io.d.ts +10 -0
- package/dist/tools/cli/io.d.ts.map +1 -0
- package/dist/tools/cli/managed-surface.d.ts +30 -0
- package/dist/tools/cli/managed-surface.d.ts.map +1 -0
- package/dist/tools/{cli-manifest.d.ts → cli/manifest.d.ts} +1 -1
- package/dist/tools/cli/manifest.d.ts.map +1 -0
- package/dist/tools/{cli-policy.d.ts → cli/policy.d.ts} +2 -2
- package/dist/tools/cli/policy.d.ts.map +1 -0
- package/dist/tools/cli/prepare.d.ts +14 -0
- package/dist/tools/cli/prepare.d.ts.map +1 -0
- package/dist/tools/{cli-profile.d.ts → cli/profile.d.ts} +2 -2
- package/dist/tools/cli/profile.d.ts.map +1 -0
- package/dist/tools/cli/run-managed.d.ts +5 -0
- package/dist/tools/cli/run-managed.d.ts.map +1 -0
- package/dist/tools/cli/run-native.d.ts +9 -0
- package/dist/tools/cli/run-native.d.ts.map +1 -0
- package/dist/tools/cli/session.d.ts +40 -0
- package/dist/tools/cli/session.d.ts.map +1 -0
- package/dist/tools/{cli-signature.d.ts → cli/signature.d.ts} +2 -2
- package/dist/tools/cli/signature.d.ts.map +1 -0
- package/dist/tools/{cli-stream.d.ts → cli/stream.d.ts} +4 -4
- package/dist/tools/cli/stream.d.ts.map +1 -0
- package/dist/tools/{cli-update.d.ts → cli/update.d.ts} +3 -3
- package/dist/tools/cli/update.d.ts.map +1 -0
- package/dist/tools/{cli-view.d.ts → cli/view.d.ts} +2 -2
- package/dist/tools/cli/view.d.ts.map +1 -0
- package/dist/tools/{cli-wait.d.ts → cli/wait.d.ts} +2 -2
- package/dist/tools/cli/wait.d.ts.map +1 -0
- package/dist/tools/connections/runtime.d.ts +1 -1
- package/dist/tools/connections/runtime.d.ts.map +1 -1
- package/dist/tools/connections/types.d.ts +3 -3
- package/dist/tools/connections/types.d.ts.map +1 -1
- package/dist/tools/durability-context.d.ts +1 -1
- package/dist/tools/durability-context.d.ts.map +1 -1
- package/dist/tools/execute.d.ts +30 -3
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/internal/surface-projector.d.ts +8 -6
- package/dist/tools/internal/surface-projector.d.ts.map +1 -1
- package/dist/tools/internal/tool-view.d.ts +41 -0
- package/dist/tools/internal/tool-view.d.ts.map +1 -0
- package/dist/tools/invoker.d.ts +11 -3
- package/dist/tools/invoker.d.ts.map +1 -1
- package/dist/tools/list-names.d.ts +3 -3
- package/dist/tools/list-names.d.ts.map +1 -1
- package/dist/tools/manifest.d.ts +2 -2
- package/dist/tools/manifest.d.ts.map +1 -1
- package/dist/tools/{mcp-app.d.ts → mcp/app.d.ts} +1 -1
- package/dist/tools/mcp/app.d.ts.map +1 -0
- package/dist/tools/{mcp-catalog.d.ts → mcp/catalog.d.ts} +2 -2
- package/dist/tools/mcp/catalog.d.ts.map +1 -0
- package/dist/tools/{mcp-handler.d.ts → mcp/handler.d.ts} +5 -5
- package/dist/tools/mcp/handler.d.ts.map +1 -0
- package/dist/tools/{mcp.d.ts → mcp/mount.d.ts} +9 -9
- package/dist/tools/mcp/mount.d.ts.map +1 -0
- package/dist/tools/{mcp-prepare.d.ts → mcp/prepare.d.ts} +9 -9
- package/dist/tools/mcp/prepare.d.ts.map +1 -0
- package/dist/tools/{mcp-progress.d.ts → mcp/progress.d.ts} +2 -2
- package/dist/tools/mcp/progress.d.ts.map +1 -0
- package/dist/tools/mcp/register.d.ts +35 -0
- package/dist/tools/mcp/register.d.ts.map +1 -0
- package/dist/tools/{mcp-round-policy.d.ts → mcp/round-policy.d.ts} +2 -2
- package/dist/tools/mcp/round-policy.d.ts.map +1 -0
- package/dist/tools/{mcp-round.d.ts → mcp/round.d.ts} +4 -4
- package/dist/tools/mcp/round.d.ts.map +1 -0
- package/dist/tools/mcp/runtime-tools.d.ts +24 -0
- package/dist/tools/mcp/runtime-tools.d.ts.map +1 -0
- package/dist/tools/{mcp-stdio-signals.d.ts → mcp/stdio-signals.d.ts} +3 -3
- package/dist/tools/mcp/stdio-signals.d.ts.map +1 -0
- package/dist/tools/{mcp-stdio.d.ts → mcp/stdio.d.ts} +4 -4
- package/dist/tools/mcp/stdio.d.ts.map +1 -0
- package/dist/tools/{mcp-trace.d.ts → mcp/trace.d.ts} +1 -1
- package/dist/tools/mcp/trace.d.ts.map +1 -0
- package/dist/tools/mount.d.ts +12 -7
- package/dist/tools/mount.d.ts.map +1 -1
- package/dist/tools/native-definition.d.ts +3 -3
- package/dist/tools/native-definition.d.ts.map +1 -1
- package/dist/tools/operations/async-operation-binding-types.d.ts +127 -0
- package/dist/tools/operations/async-operation-binding-types.d.ts.map +1 -0
- package/dist/tools/operations/async-operation-binding.d.ts +28 -0
- package/dist/tools/operations/async-operation-binding.d.ts.map +1 -0
- package/dist/tools/operations/async-operation-canonical-types.d.ts +110 -0
- package/dist/tools/operations/async-operation-canonical-types.d.ts.map +1 -0
- package/dist/tools/operations/async-operation-canonical.d.ts +7 -0
- package/dist/tools/operations/async-operation-canonical.d.ts.map +1 -0
- package/dist/tools/operations/async-operation-contract.d.ts.map +1 -0
- package/dist/tools/operations/async-operation-id.d.ts +23 -0
- package/dist/tools/operations/async-operation-id.d.ts.map +1 -0
- package/dist/tools/operations/async-operation-runtime-tools.d.ts +40 -0
- package/dist/tools/operations/async-operation-runtime-tools.d.ts.map +1 -0
- package/dist/tools/operations/async-operation-runtime-types.d.ts +68 -0
- package/dist/tools/operations/async-operation-runtime-types.d.ts.map +1 -0
- package/dist/tools/operations/async-operation-runtime.d.ts +5 -0
- package/dist/tools/operations/async-operation-runtime.d.ts.map +1 -0
- package/dist/tools/{define-wait-tool.d.ts → operations/define-wait-tool.d.ts} +2 -2
- package/dist/tools/operations/define-wait-tool.d.ts.map +1 -0
- package/dist/tools/operations/mount-wait.d.ts.map +1 -0
- package/dist/tools/operations/wait-core.d.ts.map +1 -0
- package/dist/tools/remote.d.ts +1 -1
- package/dist/tools/remote.d.ts.map +1 -1
- package/dist/tools/runtime-tool.d.ts +11 -4
- package/dist/tools/runtime-tool.d.ts.map +1 -1
- package/dist/tools/schema/coerce.d.ts.map +1 -0
- package/dist/tools/schema/flatten-join.d.ts.map +1 -0
- package/dist/tools/schema/flatten.d.ts.map +1 -0
- package/dist/tools/schema/portable-formats.d.ts.map +1 -0
- package/dist/tools/{presentation.d.ts → schema/presentation.d.ts} +2 -0
- package/dist/tools/schema/presentation.d.ts.map +1 -0
- package/dist/tools/schema/schema.d.ts.map +1 -0
- package/dist/tools/schema/untyped-properties.d.ts.map +1 -0
- package/dist/tools/surface.d.ts +2 -3
- package/dist/tools/surface.d.ts.map +1 -1
- package/dist/tools/toolkit.d.ts +4 -4
- package/dist/tools/toolkit.d.ts.map +1 -1
- package/dist/tools/{define-download-tool.d.ts → transfer/define-download-tool.d.ts} +4 -4
- package/dist/tools/transfer/define-download-tool.d.ts.map +1 -0
- package/dist/tools/{define-upload-tool.d.ts → transfer/define-upload-tool.d.ts} +3 -3
- package/dist/tools/transfer/define-upload-tool.d.ts.map +1 -0
- package/dist/tools/{define-view-file-tool.d.ts → transfer/define-view-file-tool.d.ts} +2 -2
- package/dist/tools/transfer/define-view-file-tool.d.ts.map +1 -0
- package/dist/tools/{download-core.d.ts → transfer/download-core.d.ts} +2 -2
- package/dist/tools/transfer/download-core.d.ts.map +1 -0
- package/dist/tools/{managed-file-error.d.ts → transfer/managed-file-error.d.ts} +1 -1
- package/dist/tools/transfer/managed-file-error.d.ts.map +1 -0
- package/dist/tools/{mount-download.d.ts → transfer/mount-download.d.ts} +1 -1
- package/dist/tools/transfer/mount-download.d.ts.map +1 -0
- package/dist/tools/{mount-upload.d.ts → transfer/mount-upload.d.ts} +1 -1
- package/dist/tools/transfer/mount-upload.d.ts.map +1 -0
- package/dist/tools/transfer/native-result.d.ts.map +1 -0
- package/dist/tools/{upload-core.d.ts → transfer/upload-core.d.ts} +1 -1
- package/dist/tools/transfer/upload-core.d.ts.map +1 -0
- package/dist/tools/transfer/view-file-contract.d.ts.map +1 -0
- package/dist/tools/{view-file.d.ts → transfer/view-file.d.ts} +1 -1
- package/dist/tools/transfer/view-file.d.ts.map +1 -0
- package/dist/tools/transports.d.ts +1 -1
- package/dist/tools/transports.d.ts.map +1 -1
- package/dist/tracking/contract.d.ts +1 -1
- package/dist/tracking/contract.d.ts.map +1 -1
- package/llms/agent-runtime-browser.txt +33 -0
- package/llms/agent-runtime-coding-tools.txt +58 -0
- package/llms/agent-runtime-harness.txt +45 -0
- package/llms/agent-runtime-openrouter.txt +22 -0
- package/llms/agent-runtime-sandbox.txt +159 -0
- package/llms/agent-runtime-sqlite-bun.txt +29 -0
- package/llms/agent-runtime-sqlite-node.txt +26 -0
- package/llms/agent-runtime-testing.txt +30 -0
- package/llms/agent-runtime.2.txt +550 -0
- package/llms/agent-runtime.3.txt +311 -0
- package/llms/agent-runtime.txt +893 -0
- package/llms/application-diagnostic-journal.txt +30 -0
- package/llms/application-grammy.txt +27 -0
- package/llms/application-opentelemetry.txt +27 -0
- package/llms/application-schemas.txt +42 -0
- package/llms/application.2.txt +223 -0
- package/llms/application.txt +1144 -0
- package/llms/cli.txt +977 -0
- package/llms/contract.txt +606 -0
- package/llms/declaration.txt +286 -0
- package/llms/files.txt +30 -0
- package/llms/geo.txt +114 -0
- package/llms/google.txt +27 -0
- package/llms/live.txt +471 -0
- package/llms/node.txt +43 -0
- package/llms/oauth.txt +136 -0
- package/llms/observability.txt +893 -0
- package/llms/primitives.txt +158 -0
- package/llms/react.txt +184 -0
- package/llms/release.txt +176 -0
- package/llms/remote.txt +25 -0
- package/llms/server.2.txt +361 -0
- package/llms/server.3.txt +1031 -0
- package/llms/server.4.txt +905 -0
- package/llms/server.5.txt +250 -0
- package/llms/server.txt +996 -0
- package/llms/stitchkit.2.txt +836 -0
- package/llms/stitchkit.3.txt +147 -0
- package/llms/stitchkit.txt +260 -0
- package/llms/telegram.txt +30 -0
- package/llms/testing.txt +676 -0
- package/llms/tools-connections.txt +45 -0
- package/llms/tools-contract.txt +9 -0
- package/llms/tools-invoker.txt +9 -0
- package/llms/tools.2.txt +838 -0
- package/llms/tools.txt +1004 -0
- package/llms/tracking-server.txt +32 -0
- package/llms/tracking.txt +263 -0
- package/llms/upgrading-0.37.0-0.50.0.txt +947 -0
- package/llms/upgrading-0.53.0-0.67.0.txt +1174 -0
- package/llms/upgrading-0.68.0-0.94.0.txt +1159 -0
- package/llms/upgrading.txt +215 -0
- package/llms-full.txt +305 -75
- package/llms.txt +54 -5
- package/package.json +84 -83
- package/dist/agent-runtime/durability-contract.d.ts.map +0 -1
- package/dist/agent-runtime/durability-json.d.ts.map +0 -1
- package/dist/agent-runtime/durability-ledger.d.ts.map +0 -1
- package/dist/agent-runtime/durability-scheduler.d.ts.map +0 -1
- package/dist/agent-runtime/durability.d.ts.map +0 -1
- package/dist/agent-runtime/store-driver.d.ts.map +0 -1
- package/dist/agent-runtime-browser.d.ts +0 -5
- package/dist/agent-runtime-browser.d.ts.map +0 -1
- package/dist/agent-runtime-coding-tools.d.ts.map +0 -1
- package/dist/agent-runtime-coding-tools.js +0 -23
- package/dist/agent-runtime-harness.d.ts.map +0 -1
- package/dist/agent-runtime-openrouter.d.ts.map +0 -1
- package/dist/agent-runtime-sandbox.d.ts.map +0 -1
- package/dist/agent-runtime-sqlite-bun.d.ts.map +0 -1
- package/dist/agent-runtime-sqlite-node.d.ts.map +0 -1
- package/dist/agent-runtime-testing.d.ts +0 -3
- package/dist/agent-runtime-testing.d.ts.map +0 -1
- package/dist/agent-runtime-testing.js +0 -156
- package/dist/agent-runtime.d.ts.map +0 -1
- package/dist/application/channel.d.ts.map +0 -1
- package/dist/application-diagnostic-journal.d.ts.map +0 -1
- package/dist/application-grammy.d.ts.map +0 -1
- package/dist/application-opentelemetry.d.ts.map +0 -1
- package/dist/application-schemas.d.ts.map +0 -1
- package/dist/application.d.ts.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/contract/index.d.ts +0 -8
- package/dist/contract/index.d.ts.map +0 -1
- package/dist/declaration.d.ts.map +0 -1
- package/dist/files.d.ts.map +0 -1
- package/dist/geo.d.ts.map +0 -1
- package/dist/google.d.ts.map +0 -1
- package/dist/index-0j3vcp5m.js +0 -28
- package/dist/index-a11g2kry.js +0 -866
- package/dist/index-cnyk6te3.js +0 -77
- package/dist/index-fadnxwna.js +0 -1046
- package/dist/index-hrbajay7.js +0 -1196
- package/dist/index-s8cnx02s.js +0 -90
- package/dist/index-v5573g1k.js +0 -142
- package/dist/index-vk3kq9sb.js +0 -3344
- package/dist/index.d.ts.map +0 -1
- package/dist/internal/errors.d.ts.map +0 -1
- package/dist/internal/observability-sink.d.ts.map +0 -1
- package/dist/live.d.ts.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/node.d.ts.map +0 -1
- package/dist/oauth.d.ts.map +0 -1
- package/dist/observability/index.d.ts.map +0 -1
- package/dist/primitives.d.ts +0 -3
- package/dist/primitives.d.ts.map +0 -1
- package/dist/react.d.ts.map +0 -1
- package/dist/release.d.ts.map +0 -1
- package/dist/remote.d.ts.map +0 -1
- package/dist/remote.js +0 -88
- package/dist/retained.d.ts.map +0 -1
- package/dist/server/file-state-store.d.ts.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/request.d.ts.map +0 -1
- package/dist/telegram.d.ts.map +0 -1
- package/dist/testing/agent-store-conformance.d.ts.map +0 -1
- package/dist/testing.d.ts +0 -39
- package/dist/testing.d.ts.map +0 -1
- package/dist/tool-invoker.d.ts.map +0 -1
- package/dist/tool-invoker.js +0 -21
- package/dist/tools/async-operation-contract.d.ts.map +0 -1
- package/dist/tools/async-operation.d.ts +0 -332
- package/dist/tools/async-operation.d.ts.map +0 -1
- package/dist/tools/cli-args.d.ts.map +0 -1
- package/dist/tools/cli-checkpoint.d.ts.map +0 -1
- package/dist/tools/cli-command.d.ts.map +0 -1
- package/dist/tools/cli-format.d.ts.map +0 -1
- package/dist/tools/cli-installer.d.ts.map +0 -1
- package/dist/tools/cli-invoke.d.ts.map +0 -1
- package/dist/tools/cli-manifest.d.ts.map +0 -1
- package/dist/tools/cli-policy.d.ts.map +0 -1
- package/dist/tools/cli-profile.d.ts.map +0 -1
- package/dist/tools/cli-signature.d.ts.map +0 -1
- package/dist/tools/cli-stream.d.ts.map +0 -1
- package/dist/tools/cli-update.d.ts.map +0 -1
- package/dist/tools/cli-view.d.ts.map +0 -1
- package/dist/tools/cli-wait.d.ts.map +0 -1
- package/dist/tools/cli.d.ts.map +0 -1
- package/dist/tools/coerce.d.ts.map +0 -1
- package/dist/tools/connections/index.d.ts.map +0 -1
- package/dist/tools/define-download-tool.d.ts.map +0 -1
- package/dist/tools/define-upload-tool.d.ts.map +0 -1
- package/dist/tools/define-view-file-tool.d.ts.map +0 -1
- package/dist/tools/define-wait-tool.d.ts.map +0 -1
- package/dist/tools/download-core.d.ts.map +0 -1
- package/dist/tools/flatten-join.d.ts.map +0 -1
- package/dist/tools/flatten.d.ts.map +0 -1
- package/dist/tools/json-schema-dialect.d.ts.map +0 -1
- package/dist/tools/json-schema.d.ts.map +0 -1
- package/dist/tools/managed-file-error.d.ts.map +0 -1
- package/dist/tools/mcp-app.d.ts.map +0 -1
- package/dist/tools/mcp-catalog.d.ts.map +0 -1
- package/dist/tools/mcp-handler.d.ts.map +0 -1
- package/dist/tools/mcp-prepare.d.ts.map +0 -1
- package/dist/tools/mcp-progress.d.ts.map +0 -1
- package/dist/tools/mcp-round-policy.d.ts.map +0 -1
- package/dist/tools/mcp-round.d.ts.map +0 -1
- package/dist/tools/mcp-stdio-signals.d.ts.map +0 -1
- package/dist/tools/mcp-stdio.d.ts.map +0 -1
- package/dist/tools/mcp-trace.d.ts.map +0 -1
- package/dist/tools/mcp.d.ts.map +0 -1
- package/dist/tools/mount-download.d.ts.map +0 -1
- package/dist/tools/mount-upload.d.ts.map +0 -1
- package/dist/tools/mount-wait.d.ts.map +0 -1
- package/dist/tools/native-mcp.d.ts +0 -20
- package/dist/tools/native-mcp.d.ts.map +0 -1
- package/dist/tools/native-result.d.ts.map +0 -1
- package/dist/tools/oauth-metadata.d.ts.map +0 -1
- package/dist/tools/oauth-provider.d.ts.map +0 -1
- package/dist/tools/portable-formats.d.ts.map +0 -1
- package/dist/tools/presentation.d.ts.map +0 -1
- package/dist/tools/schema.d.ts.map +0 -1
- package/dist/tools/untyped-properties.d.ts.map +0 -1
- package/dist/tools/upload-core.d.ts.map +0 -1
- package/dist/tools/view-file-contract.d.ts.map +0 -1
- package/dist/tools/view-file.d.ts.map +0 -1
- package/dist/tools/wait-core.d.ts.map +0 -1
- package/dist/tools-contract.d.ts.map +0 -1
- package/dist/tools.d.ts +0 -50
- package/dist/tools.d.ts.map +0 -1
- package/dist/tracking-server.d.ts.map +0 -1
- package/dist/tracking.d.ts.map +0 -1
- package/dist/upgrade-cli.d.ts.map +0 -1
- package/dist/{retained.d.ts → browser/retained.d.ts} +0 -0
- package/dist/{declaration.d.ts → declaration/declaration.d.ts} +0 -0
- package/dist/{upgrade-cli.d.ts → entrypoints/bin/upgrade-cli.d.ts} +0 -0
- package/dist/{tracking-server.js → entrypoints/tracking/server.js} +0 -0
- package/dist/{google.d.ts → google/google.d.ts} +0 -0
- package/dist/{index-pq95qkbf.js → index-5jm36zv1.js} +0 -0
- package/dist/{index-actkayzn.js → index-70yj2ebz.js} +3 -3
- /package/dist/{application → internal}/channel.d.ts +0 -0
- /package/dist/{logger.d.ts → internal/logger.d.ts} +0 -0
- /package/dist/{server → internal}/request.d.ts +0 -0
- /package/dist/{tools → json-schema}/json-schema.d.ts +0 -0
- /package/dist/tools/{async-operation-contract.d.ts → operations/async-operation-contract.d.ts} +0 -0
- /package/dist/tools/{mount-wait.d.ts → operations/mount-wait.d.ts} +0 -0
- /package/dist/tools/{wait-core.d.ts → operations/wait-core.d.ts} +0 -0
- /package/dist/tools/{coerce.d.ts → schema/coerce.d.ts} +0 -0
- /package/dist/tools/{flatten-join.d.ts → schema/flatten-join.d.ts} +0 -0
- /package/dist/tools/{flatten.d.ts → schema/flatten.d.ts} +0 -0
- /package/dist/tools/{portable-formats.d.ts → schema/portable-formats.d.ts} +0 -0
- /package/dist/tools/{schema.d.ts → schema/schema.d.ts} +0 -0
- /package/dist/tools/{untyped-properties.d.ts → schema/untyped-properties.d.ts} +0 -0
- /package/dist/tools/{native-result.d.ts → transfer/native-result.d.ts} +0 -0
- /package/dist/tools/{view-file-contract.d.ts → transfer/view-file-contract.d.ts} +0 -0
package/llms-full.txt
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# stitchkit — full documentation
|
|
2
2
|
|
|
3
|
-
> The complete guide + API reference, inlined for
|
|
4
|
-
>
|
|
3
|
+
> The complete guide + API reference, inlined for tools that index one file. Far
|
|
4
|
+
> larger than an agent context — an agent loads the slices listed in `llms.txt`.
|
|
5
|
+
> Generated from the `docs/` tree (the source of truth) by `bun run gen:llms`.
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
==============================================================================
|
|
@@ -66,13 +67,13 @@ own, recorded as an ADR.
|
|
|
66
67
|
| `stitchkit/geo` | server (Bun or Node) | evolving | managed GeoIP reader generations, last-known-good reload and the optional MaxMind adapter |
|
|
67
68
|
| `stitchkit/oauth` | browser **and** server | evolving | provider-neutral Authorization Code + PKCE request and one-shot callback transaction mechanics |
|
|
68
69
|
| `stitchkit/google` | server (Bun or Node) | evolving | optional Google code exchange and verified OIDC identity adapter |
|
|
69
|
-
| `stitchkit/observability` | server | stable<br>_redefined in 2 of the
|
|
70
|
-
| `stitchkit/testing` | tests on Bun or Node | stable | in-process generated clients over a real Fetch handler, plus the
|
|
70
|
+
| `stitchkit/observability` | server | stable<br>_redefined in 2 of the 39 minors since 0.56.2, most recently 0.92.0_ | request/tool event projections — `createObservability`, trace context, sanitisation |
|
|
71
|
+
| `stitchkit/testing` | tests on Bun or Node | stable | in-process generated clients over a real Fetch handler, plus the managed-resource conformance kit |
|
|
71
72
|
| `stitchkit/declaration` | browser + build and deployment tooling (Bun or Node) | evolving | `ProjectDeclarationSchema` — the one machine-readable statement a repository makes about itself |
|
|
72
73
|
| `stitchkit/react` | browser + server rendering | stable | `createCursorQuery`, `createCacheBridge`, QueryClient and `ApiError` retry policy |
|
|
73
|
-
| `stitchkit/agent-runtime` | server | evolving<br>_redefined in
|
|
74
|
+
| `stitchkit/agent-runtime` | server | evolving<br>_redefined in 21 of the 39 minors since 0.56.2, most recently 0.94.0_ | optional durable conversation/run loop, history, models, prompts, fencing and events |
|
|
74
75
|
| `stitchkit/agent-runtime/sandbox` | server | evolving | optional Linux Bubblewrap sessions, durable workspaces and a host HTTP credential gateway; see [sandbox guide](sandbox.md) |
|
|
75
|
-
| `stitchkit/agent-runtime/testing` | tests on Bun or Node | evolving | credential-free replay, scripted provider faults
|
|
76
|
+
| `stitchkit/agent-runtime/testing` | tests on Bun or Node | evolving | credential-free replay, scripted provider faults, deterministic race controls and the agent-store conformance kit |
|
|
76
77
|
| `stitchkit/agent-runtime/harness` | server | evolving | resource-aware process-local facade over the canonical Agent runtime; supervision stays outside |
|
|
77
78
|
| `stitchkit/agent-runtime/coding-tools` | server (Bun or Node) | evolving | bounded host-authorized direct file and shell tools; a root boundary, not an OS sandbox |
|
|
78
79
|
| `stitchkit/agent-runtime/openrouter` | server | evolving | isolated OpenRouter language-model adapter |
|
|
@@ -80,7 +81,7 @@ own, recorded as an ADR.
|
|
|
80
81
|
| `stitchkit/agent-runtime/sqlite/bun` | server (Bun) | evolving | durable built-in SQLite store for the agent runtime |
|
|
81
82
|
| `stitchkit/agent-runtime/sqlite/node` | server (Node ≥ 22.5) | evolving | durable built-in SQLite store for the agent runtime |
|
|
82
83
|
| `stitchkit-tui` | terminal (Bun) | evolving | optional official OpenTUI host over a caller-composed headless runtime |
|
|
83
|
-
| `stitchkit/application` | browser + server | evolving<br>_redefined in 7 of the
|
|
84
|
+
| `stitchkit/application` | browser + server | evolving<br>_redefined in 7 of the 39 minors since 0.56.2, most recently 0.83.0_ | managed resource graph, readiness, admission, schedules, subtree restart and bounded shutdown |
|
|
84
85
|
| `stitchkit/application/grammy` | server | evolving | isolated grammY polling and webhook lifecycle adapters |
|
|
85
86
|
| `stitchkit/application/opentelemetry` | server | evolving | maps application snapshots onto an injected OpenTelemetry `Meter` |
|
|
86
87
|
| `stitchkit/application/schemas` | browser + server | evolving | the application's snapshot, health and shutdown schemas alone, without the kernel |
|
|
@@ -639,7 +640,7 @@ const contract = defineContract(meta, endpoints)
|
|
|
639
640
|
client method name and the handler name.
|
|
640
641
|
|
|
641
642
|
`defineContract` throws at definition time if two endpoints declare the same
|
|
642
|
-
`
|
|
643
|
+
`tool.name` on the same transport — a tool-name clash is a bug, caught early.
|
|
643
644
|
|
|
644
645
|
## An endpoint
|
|
645
646
|
|
|
@@ -680,7 +681,7 @@ export const users = defineContract({ prefix: 'users' }, {
|
|
|
680
681
|
| `output` | no | Zod schema for the **response body**; its presence declares a JSON result (`null` is data, `undefined` is not) |
|
|
681
682
|
| `scope` | no | access scope for this endpoint — see [Auth & errors](./auth-and-errors.md) |
|
|
682
683
|
| `expose` | no | which transports carry this endpoint — see [below](#transports) |
|
|
683
|
-
| `
|
|
684
|
+
| `tool` | no | what the tool surfaces (MCP / agent / CLI) read that HTTP does not — see [below](#tool-options-tool) |
|
|
684
685
|
| `multipart` | no | typed file fields, cardinality, delivery and upload policy — see [below](#file-uploads) |
|
|
685
686
|
| `maxJsonBodyBytes` | no | per-route JSON body ceiling; overrides the server default |
|
|
686
687
|
| `timeout` | no | per-endpoint client timeout in ms, for slow endpoints |
|
|
@@ -810,14 +811,34 @@ a tool result cannot carry — it would serialize to `{}`),
|
|
|
810
811
|
headers have no meaning on a tool call) and `rawBody` (HTTP-only by
|
|
811
812
|
construction).
|
|
812
813
|
|
|
813
|
-
## `
|
|
814
|
+
## Tool options (`tool`)
|
|
815
|
+
|
|
816
|
+
Everything a tool surface reads that HTTP does not lives in one group, so an
|
|
817
|
+
endpoint that can never be a tool (a raw response, a stream, `responseMeta`,
|
|
818
|
+
`rawBody`, `HEAD`) refuses all of it with one key:
|
|
819
|
+
|
|
820
|
+
| `tool.` | Purpose |
|
|
821
|
+
|---------|---------|
|
|
822
|
+
| `name` | explicit tool name (default: a verb-aware derivation, below) |
|
|
823
|
+
| `view` | a different answer on MCP / agent / CLI — input defaults and a projected, separately validated output; declared only with `withToolView` — see [MCP & agents](./mcp-and-agents.md#a-different-answer-for-tools--withtoolview) |
|
|
824
|
+
| `ui` | MCP Apps widget for the tool's results — see [MCP & agents](./mcp-and-agents.md) |
|
|
825
|
+
| `annotations` | MCP behavioural hints (`readOnlyHint`, `destructiveHint`, `title`, …) |
|
|
826
|
+
| `mcp` | elicitation rounds asked before the handler runs (`inputRequired`) |
|
|
827
|
+
|
|
828
|
+
`expose` stays outside the group: it chooses transports, HTTP included.
|
|
829
|
+
Setting `tool` on an endpoint with no tool transport — `expose: ['HTTP']`, or an
|
|
830
|
+
omitted `expose` under a factory with `toolExposure: 'explicit'` — throws at
|
|
831
|
+
definition time. The pre-0.94 top-level keys (`toolName`, `toolView`, `ui`,
|
|
832
|
+
`annotations`, `mcp`) are refused by name, with where each one went.
|
|
833
|
+
|
|
834
|
+
### `tool.name`
|
|
814
835
|
|
|
815
836
|
When an endpoint is exposed as a tool, its name defaults to a verb-aware
|
|
816
837
|
derivation from the method key + prefix (`users` + `create` ⇒ `create_user`,
|
|
817
|
-
`users` + `list` ⇒ `list_users`). Set `
|
|
838
|
+
`users` + `list` ⇒ `list_users`). Set `tool.name` for an explicit, stable name:
|
|
818
839
|
|
|
819
840
|
```ts
|
|
820
|
-
{ method: 'POST', path: '/', desc: 'Create a user',
|
|
841
|
+
{ method: 'POST', path: '/', desc: 'Create a user', tool: { name: 'create_user' }, /* … */ }
|
|
821
842
|
```
|
|
822
843
|
|
|
823
844
|
**Every tool name — derived or explicit — must match `[a-zA-Z0-9_-]` and be at
|
|
@@ -829,13 +850,13 @@ included: `bot-status` + `get` ⇒ `get_bot_status`, `admin/analytics` + `get`
|
|
|
829
850
|
`get_admin_analytics`. The *method* half keeps its hyphen and normalises only
|
|
830
851
|
what no provider accepts (`[^a-zA-Z0-9_-]`), because a hyphenated method key has
|
|
831
852
|
always shipped a legal name that a client config may already pin: `notes` +
|
|
832
|
-
`get-user` ⇒ `get-user_notes`. An explicit `
|
|
853
|
+
`get-user` ⇒ `get-user_notes`. An explicit `tool.name` is taken verbatim.
|
|
833
854
|
|
|
834
855
|
A prefix with *no* usable character at all (`'///'`, `'_'`, a fully non-ASCII
|
|
835
|
-
prefix) and any explicit `
|
|
836
|
-
mount**. An unusable prefix is rescued by setting an explicit `
|
|
856
|
+
prefix) and any explicit `tool.name` outside the accepted class **throw at
|
|
857
|
+
mount**. An unusable prefix is rescued by setting an explicit `tool.name` — the
|
|
837
858
|
prefix then never enters the name. An over-long name is fixed by a shorter
|
|
838
|
-
explicit `
|
|
859
|
+
explicit `tool.name` (or a shorter prefix / method key). Nothing downstream checks this: the provider rejects the whole
|
|
839
860
|
request, so one bad name takes every tool of that mount down with it.
|
|
840
861
|
→ [ADR 0035](../decisions/0035-tool-name-derivation-and-validation.md).
|
|
841
862
|
|
|
@@ -1864,8 +1885,8 @@ validate exactly as elsewhere, and the endpoint goes through `beforeHandle` —
|
|
|
1864
1885
|
the **auth gate applies without a guard in the handler**. Only the response is
|
|
1865
1886
|
handed over, so there is no `output` schema, `afterHandle` is skipped (it
|
|
1866
1887
|
transforms data; there is none) and the endpoint is HTTP-only: never an MCP
|
|
1867
|
-
tool, an agent tool or a CLI command. Declaring `output`, `
|
|
1868
|
-
`
|
|
1888
|
+
tool, an agent tool or a CLI command. Declaring `output`, `tool` or a non-HTTP
|
|
1889
|
+
`expose` alongside `rawResponse` is a type error, and throws
|
|
1869
1890
|
at definition time for a contract assembled at runtime.
|
|
1870
1891
|
|
|
1871
1892
|
On the typed client the method resolves to the untouched `Response` — the
|
|
@@ -3262,13 +3283,13 @@ Pin the full list with `listToolNames` in a snapshot test.
|
|
|
3262
3283
|
`desc` is the tool description the model reads — write it for the model, not
|
|
3263
3284
|
just for a human. The tool name defaults
|
|
3264
3285
|
to a verb-aware name from the method + prefix (`list` → `list_widgets`, `get` →
|
|
3265
|
-
`get_widget`); set `
|
|
3286
|
+
`get_widget`); set `tool.name` for an explicit one. Derivation normalises **per half**
|
|
3266
3287
|
(→ ADR 0035): the service half turns everything outside `[a-zA-Z0-9_]` into `_`,
|
|
3267
3288
|
hyphen included (`bot-status` ⇒ `get_bot_status`), while the method half keeps
|
|
3268
3289
|
its hyphen (`get-user` ⇒ `get-user_notes`) because such a name has always been
|
|
3269
3290
|
legal and may already be pinned in a client config. A name is *accepted* if it
|
|
3270
3291
|
matches `[a-zA-Z0-9_-]`. A name that
|
|
3271
|
-
still cannot be delivered (illegal explicit `
|
|
3292
|
+
still cannot be delivered (illegal explicit `tool.name`, over 64 characters, or a
|
|
3272
3293
|
prefix with no usable character) throws at mount rather than at the first model
|
|
3273
3294
|
call —
|
|
3274
3295
|
→ [ADR 0035](../decisions/0035-tool-name-derivation-and-validation.md). See
|
|
@@ -3353,6 +3374,12 @@ model-safe envelope. Unexpected throws remain scrubbed. An unknown name throws
|
|
|
3353
3374
|
against which hooks could run. Duplicate and provider-invalid names fail when
|
|
3354
3375
|
the invoker is created.
|
|
3355
3376
|
|
|
3377
|
+
The invoker's caller is code, so it gets an endpoint's full answer even where a
|
|
3378
|
+
[tool view](#a-different-answer-for-tools--withtoolview) is declared. When the
|
|
3379
|
+
invoker backs a transport a model reads, pass `toolSurface: true`: calls then
|
|
3380
|
+
get the view's defaults and projected answer, which is what `collectTools` and
|
|
3381
|
+
`buildToolManifest` advertise.
|
|
3382
|
+
|
|
3356
3383
|
## MCP — `createMcpHandler`
|
|
3357
3384
|
|
|
3358
3385
|
`createMcpHandler` builds a complete stateless Streamable-HTTP MCP endpoint on
|
|
@@ -3694,19 +3721,21 @@ deleteProject: {
|
|
|
3694
3721
|
expose: ['MCP'],
|
|
3695
3722
|
input: DeleteProjectSchema,
|
|
3696
3723
|
output: DeleteProjectResultSchema,
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3724
|
+
tool: {
|
|
3725
|
+
mcp: {
|
|
3726
|
+
inputRequired: [
|
|
3727
|
+
{
|
|
3728
|
+
key: 'confirmation',
|
|
3729
|
+
schema: DeleteConfirmationSchema,
|
|
3730
|
+
message: 'Confirm permanent deletion',
|
|
3731
|
+
},
|
|
3732
|
+
{
|
|
3733
|
+
key: 'reason',
|
|
3734
|
+
schema: z.object({ value: z.string().min(3) }),
|
|
3735
|
+
message: 'Record the reason',
|
|
3736
|
+
},
|
|
3737
|
+
],
|
|
3738
|
+
},
|
|
3710
3739
|
},
|
|
3711
3740
|
}
|
|
3712
3741
|
```
|
|
@@ -3741,12 +3770,14 @@ input image — and there a declared list can only be empty. `inputRequired` als
|
|
|
3741
3770
|
accepts a function of the parsed call:
|
|
3742
3771
|
|
|
3743
3772
|
```ts
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3773
|
+
tool: {
|
|
3774
|
+
mcp: {
|
|
3775
|
+
inputRequired: async ({ input }) => {
|
|
3776
|
+
const model = await catalog.get(input.model)
|
|
3777
|
+
return model.needsRatio
|
|
3778
|
+
? [{ key: 'ratio', schema: RatioSchema, message: 'Which aspect ratio?' }]
|
|
3779
|
+
: []
|
|
3780
|
+
},
|
|
3750
3781
|
},
|
|
3751
3782
|
}
|
|
3752
3783
|
```
|
|
@@ -4145,6 +4176,69 @@ A tool without an output contract advertises no `outputSchema` and returns no
|
|
|
4145
4176
|
invented structured value. Its successful MCP result has an empty `content`
|
|
4146
4177
|
list.
|
|
4147
4178
|
|
|
4179
|
+
## A different answer for tools — `withToolView`
|
|
4180
|
+
|
|
4181
|
+
An admin page wants the full record; a model wants a card. Every byte of a
|
|
4182
|
+
tool result enters the model's context and stays in its history, and personal
|
|
4183
|
+
fields a task does not need are better never shown to it. Two endpoints on one
|
|
4184
|
+
path (one `expose: ['HTTP']`, one for the tools) duplicate the description, the
|
|
4185
|
+
schemas and the handler; branching on `ctx.source` teaches every handler about
|
|
4186
|
+
transports and still advertises the full output schema.
|
|
4187
|
+
|
|
4188
|
+
A **tool view** declares the difference on the endpoint instead:
|
|
4189
|
+
|
|
4190
|
+
```ts
|
|
4191
|
+
import { defineContract, withToolView } from 'stitchkit';
|
|
4192
|
+
|
|
4193
|
+
export const users = defineContract({ prefix: 'users' }, {
|
|
4194
|
+
list: withToolView(
|
|
4195
|
+
{
|
|
4196
|
+
method: 'GET', path: '/', desc: 'List users', tool: { name: 'user_list' },
|
|
4197
|
+
input: UserListQuery, // include: z.array(...).default(['profile', 'stats'])
|
|
4198
|
+
output: UserListResponse, // HTTP, OpenAPI and the typed client — unchanged
|
|
4199
|
+
},
|
|
4200
|
+
{
|
|
4201
|
+
defaults: { include: [] }, // what a tool call gets when it passes nothing
|
|
4202
|
+
output: UserCardList, // the tool answer and its schema
|
|
4203
|
+
project: (full, { input }) => ({ items: full.items.map(toCard) }), // optional: without it, `output` slices
|
|
4204
|
+
},
|
|
4205
|
+
),
|
|
4206
|
+
});
|
|
4207
|
+
```
|
|
4208
|
+
|
|
4209
|
+
- **One handler, one parser.** `defaults` joins the tool call's arguments
|
|
4210
|
+
*before* the endpoint's own `input` parses them, so the handler receives an
|
|
4211
|
+
ordinary `input` — `include: []` from a tool, the HTTP default from HTTP — and
|
|
4212
|
+
loads only what was asked for. An explicit argument wins over the default.
|
|
4213
|
+
- **The answer is derived, then checked.** The handler's result is validated
|
|
4214
|
+
against the full `output` first, as always; then `project` (a pure,
|
|
4215
|
+
synchronous function of the full result and the parsed input) or a slice by
|
|
4216
|
+
the view's `output`, then validation against the view's schema. A projection
|
|
4217
|
+
that throws, returns a Promise or breaks its schema is `INTERNAL_SERVER_ERROR`
|
|
4218
|
+
— a server fault, like any output mismatch.
|
|
4219
|
+
- **Where it applies.** The MCP, agent and CLI mounts answer with the view;
|
|
4220
|
+
`outputSchema`, `structuredContent`, the advertised input `default`, the
|
|
4221
|
+
catalog stamp and the surface snapshot follow it. HTTP, OpenAPI, the typed
|
|
4222
|
+
client and the in-process [`createToolInvoker`](#in-process-calls--createtoolinvoker)
|
|
4223
|
+
keep the full answer — code, not a model, is calling there.
|
|
4224
|
+
- **Three forms, one helper.** With `output` and `project` the answer has its
|
|
4225
|
+
own schema. With `project` alone it reshapes values inside the full schema.
|
|
4226
|
+
With `output` alone it is a slice, and the full result must fit that schema —
|
|
4227
|
+
`withToolView` refuses the endpoint at compile time when it does not.
|
|
4228
|
+
- **Exposure.** A view needs a tool transport. With `createContractFactory({
|
|
4229
|
+
toolExposure: 'explicit' })` an endpoint without `expose` is HTTP-only, so an
|
|
4230
|
+
endpoint with a view names its tool transports in `expose`.
|
|
4231
|
+
- **What it refuses.** `defineContract` rejects a view on an endpoint with no
|
|
4232
|
+
tool transport or no full `output`, on a raw, `rawBody`, multipart,
|
|
4233
|
+
`responseMeta` or streaming endpoint, a view that declares neither `output`
|
|
4234
|
+
nor `project`, and a default for a key the input does not have, for a path
|
|
4235
|
+
param, or with a value the input would reject.
|
|
4236
|
+
|
|
4237
|
+
A projection adds nothing the full result does not carry: a field the tool
|
|
4238
|
+
answer needs belongs in the full answer, loaded by the handler. Keys a
|
|
4239
|
+
projection returns beyond its schema are reported by `onOutputStrip`; a slice
|
|
4240
|
+
removes keys on purpose and is not reported. → [ADR 0196](../decisions/0196-a-tool-answer-is-a-declared-view.md)
|
|
4241
|
+
|
|
4148
4242
|
## AI agents — `mountAgent`
|
|
4149
4243
|
|
|
4150
4244
|
`mountAgent` remains the low-level path when the application owns its own model
|
|
@@ -4468,7 +4562,7 @@ const runtimeTools = exportOperation.runtimeTools
|
|
|
4468
4562
|
#### Durable application-owned execution
|
|
4469
4563
|
|
|
4470
4564
|
The executable reference
|
|
4471
|
-
[`durable-async-operation-harness.ts`](../../packages/core/examples/durable-async-operation-harness.ts)
|
|
4565
|
+
[`durable-async-operation-harness.ts`](../../packages/core/examples/tools/durable-async-operation-harness.ts)
|
|
4472
4566
|
shows the complete boundary behind that surface. It composes
|
|
4473
4567
|
`defineAsyncOperationContract`, `defineAsyncOperation`, `createApplication`,
|
|
4474
4568
|
`createBoundedAdmission`, managed shutdown and `createAgentToolFenceLifecycle`
|
|
@@ -4943,7 +5037,7 @@ Each run may resolve a different provider adapter without changing the harness.
|
|
|
4943
5037
|
provenance and sorted direct tool names; it intentionally contains no resource text, prompts,
|
|
4944
5038
|
arguments or credentials. Observer failure never changes the canonical run outcome.
|
|
4945
5039
|
|
|
4946
|
-
[`packages/core/examples/headless-agent-runner.ts`](../../packages/core/examples/headless-agent-runner.ts)
|
|
5040
|
+
[`packages/core/examples/agent-runtime/headless-agent-runner.ts`](../../packages/core/examples/agent-runtime/headless-agent-runner.ts)
|
|
4947
5041
|
is a reference structured control loop for `submit`, `interrupt`, `snapshot` and bounded `close`.
|
|
4948
5042
|
It starts no process and chooses no framing, authentication or transport. Importing either example
|
|
4949
5043
|
has no side effect; an external supervisor owns process placement and restart.
|
|
@@ -5765,11 +5859,11 @@ state. Exactly-once external delivery remains an application-owned outbox.
|
|
|
5765
5859
|
### External channel ingress and delivery
|
|
5766
5860
|
|
|
5767
5861
|
The executable
|
|
5768
|
-
[`external-channel-harness.ts`](../../packages/core/examples/external-channel-harness.ts)
|
|
5862
|
+
[`external-channel-harness.ts`](../../packages/core/examples/agent-runtime/external-channel-harness.ts)
|
|
5769
5863
|
is the reference composition for webhooks, polling transports and local-device
|
|
5770
5864
|
adapters. Its generic boundary injects a runtime, durable store and delivery
|
|
5771
5865
|
adapter; the optional
|
|
5772
|
-
[`external-channel-grammy.ts`](../../packages/core/examples/external-channel-grammy.ts)
|
|
5866
|
+
[`external-channel-grammy.ts`](../../packages/core/examples/agent-runtime/external-channel-grammy.ts)
|
|
5773
5867
|
attaches the same ingress function to grammY polling or webhook lifecycle
|
|
5774
5868
|
without putting provider types in the agent runtime.
|
|
5775
5869
|
|
|
@@ -6100,8 +6194,9 @@ outbox.
|
|
|
6100
6194
|
|
|
6101
6195
|
## Deterministic race and adapter proof
|
|
6102
6196
|
|
|
6103
|
-
`stitchkit/testing` exports `createAgentRaceBarrier`, `createAgentRaceDriver
|
|
6104
|
-
`createAgentRaceTrace
|
|
6197
|
+
`stitchkit/agent-runtime/testing` exports `createAgentRaceBarrier`, `createAgentRaceDriver`,
|
|
6198
|
+
`createAgentRaceTrace` and `runAgentStoreConformance` — agent testing tools live beside the agent
|
|
6199
|
+
runtime, and `stitchkit/testing` imports none of it. Barriers have bounded teardown, traces assert exact partial order, and the
|
|
6105
6200
|
helpers are exercised from packed Bun and Node consumers. `runAgentStoreConformance` runs duplicate,
|
|
6106
6201
|
coalescing, collision, stale checkpoint, replay safety, terminal race, absorption, bounded reads,
|
|
6107
6202
|
causal queued-history order, durable interrupt priority, compaction and recovery invariants against
|
|
@@ -7514,9 +7609,9 @@ Unlike MCP and agent — where an endpoint with no `expose` is a tool by default
|
|
|
7514
7609
|
the CLI never silently turns your existing API tools into shell commands.
|
|
7515
7610
|
|
|
7516
7611
|
```ts
|
|
7517
|
-
{ method: 'POST', path: '/', desc: 'Generate media',
|
|
7612
|
+
{ method: 'POST', path: '/', desc: 'Generate media', tool: { name: 'generate' },
|
|
7518
7613
|
expose: ['CLI', 'MCP', 'AGENT'], input: GenerateInput, output: Generation } // CLI + MCP + agent
|
|
7519
|
-
{ method: 'GET', path: '/models', desc: 'List models',
|
|
7614
|
+
{ method: 'GET', path: '/models', desc: 'List models', tool: { name: 'list_models' },
|
|
7520
7615
|
expose: ['CLI'] } // CLI only
|
|
7521
7616
|
{ method: 'GET', path: '/search', desc: 'Search' } // HTTP + MCP + AGENT — NOT CLI
|
|
7522
7617
|
```
|
|
@@ -7524,7 +7619,7 @@ the CLI never silently turns your existing API tools into shell commands.
|
|
|
7524
7619
|
A fresh contract shows **zero** CLI commands until methods opt in — that is the
|
|
7525
7620
|
design, not a bug. A pathless runtime definition follows the same rule: it must
|
|
7526
7621
|
explicitly include `'CLI'` in `transports`; the undefined default remains
|
|
7527
|
-
`['MCP', 'AGENT']`. The command name is the tool name — `
|
|
7622
|
+
`['MCP', 'AGENT']`. The command name is the tool name — `tool.name` if set, else
|
|
7528
7623
|
a verb-aware name from the method + prefix (`list` → `list_widgets`, `get` →
|
|
7529
7624
|
`get_widget`), not a literal `prefix_key`.
|
|
7530
7625
|
|
|
@@ -8070,6 +8165,30 @@ Carry the build stamp inside the binary (`CliBuildStampSchema`,
|
|
|
8070
8165
|
`formatCliBuildStamp`) so the tool can say what it is rather than leaving the
|
|
8071
8166
|
reader to infer it from behaviour.
|
|
8072
8167
|
|
|
8168
|
+
#### A manifest inside your own network
|
|
8169
|
+
|
|
8170
|
+
The check goes through the same SSRF boundary every outbound fetch does, so a
|
|
8171
|
+
manifest served from `10.x`, `localhost` or a `.internal` name is refused and
|
|
8172
|
+
the answer is `unknown`. For a self-hosted deployment that is a wrong answer
|
|
8173
|
+
dressed as a careful one, and the refusal says so — it names the field that
|
|
8174
|
+
lifts it rather than reading like a timeout:
|
|
8175
|
+
|
|
8176
|
+
```text
|
|
8177
|
+
refusing to fetch an internal host — the manifest endpoint is not public.
|
|
8178
|
+
Set `allowPrivateHosts` if it is your own deployment; the download keeps its
|
|
8179
|
+
own setting, because an asset URL comes from the document.
|
|
8180
|
+
```
|
|
8181
|
+
|
|
8182
|
+
```ts
|
|
8183
|
+
const check = await checkCliUpdate({ manifestUrl, currentVersion, allowPrivateHosts: true })
|
|
8184
|
+
```
|
|
8185
|
+
|
|
8186
|
+
Set it from whether **your** endpoint is private, not as a blanket switch, and
|
|
8187
|
+
leave `applyCliUpdate` at its default. The two are not the same decision: the
|
|
8188
|
+
manifest URL is configuration you wrote, while an asset URL arrives inside a
|
|
8189
|
+
document the endpoint served, and a document is exactly what an SSRF boundary
|
|
8190
|
+
exists to distrust.
|
|
8191
|
+
|
|
8073
8192
|
### Proving who built it — signing the manifest
|
|
8074
8193
|
|
|
8075
8194
|
The asset digest proves the bytes that arrived are the bytes the manifest named.
|
|
@@ -8190,6 +8309,39 @@ already holding, plus a process start measured at 0.15 s — thirty seconds for
|
|
|
8190
8309
|
two-hundred-line manifest before any work begins. The ban on nesting one stream
|
|
8191
8310
|
inside another was a consequence of that child process, not a rule anyone wanted.
|
|
8192
8311
|
|
|
8312
|
+
### Native commands in the stream
|
|
8313
|
+
|
|
8314
|
+
A native command is in the invoker's surface when — and only when — it declares
|
|
8315
|
+
`output`:
|
|
8316
|
+
|
|
8317
|
+
```ts
|
|
8318
|
+
const describe = defineCliCommand({
|
|
8319
|
+
name: 'describe', description: 'Describe the catalogue',
|
|
8320
|
+
input: z.object({ model: z.string() }),
|
|
8321
|
+
output: z.object({ model: z.string(), ratios: z.array(z.string()) }),
|
|
8322
|
+
handler: ({ input }) => ({ model: input.model, ratios: ['1:1', '16:9'] }),
|
|
8323
|
+
})
|
|
8324
|
+
|
|
8325
|
+
await createCliInvoker({ name: 'myapp', services, commands: [describe] })
|
|
8326
|
+
// invoke('describe', { model: 'flux' }) → { ok: true, exitCode: 0, data: { … } }
|
|
8327
|
+
```
|
|
8328
|
+
|
|
8329
|
+
A command that declares `output?: never` prints itself and returns nothing, so
|
|
8330
|
+
there is no result to hand back; it answers `NOT_FOUND` and stays on the command
|
|
8331
|
+
line, where stdout exists. Your stream command is one of these, which is why a
|
|
8332
|
+
stream still cannot invoke itself.
|
|
8333
|
+
|
|
8334
|
+
On this path `present` is not called — it is stdout formatting, and there is no
|
|
8335
|
+
stdout — while `exitCode` is applied through the same function the command line
|
|
8336
|
+
uses, so a script branching on the code sees one answer from both. Anything the
|
|
8337
|
+
handler writes comes back as `written` rather than interleaving with your own
|
|
8338
|
+
output:
|
|
8339
|
+
|
|
8340
|
+
```ts
|
|
8341
|
+
const outcome = await invoker.invoke('describe', { model: 'flux' })
|
|
8342
|
+
outcome.written // { stderr: 'warming the cache\n' } — absent when nothing was written
|
|
8343
|
+
```
|
|
8344
|
+
|
|
8193
8345
|
### Mounting the loop
|
|
8194
8346
|
|
|
8195
8347
|
```ts
|
|
@@ -8502,7 +8654,7 @@ the framework how to load them so your bundler can put them inside — see
|
|
|
8502
8654
|
[shipping one self-contained artifact](./testing-and-deployment.md#shipping-one-self-contained-artifact).
|
|
8503
8655
|
|
|
8504
8656
|
The canonical room-broadcast example below is executed by the test suite. Its
|
|
8505
|
-
body is kept byte-identical to `packages/core/examples/realtime-room.ts`.
|
|
8657
|
+
body is kept byte-identical to `packages/core/examples/realtime/realtime-room.ts`.
|
|
8506
8658
|
|
|
8507
8659
|
```ts canonical-realtime-room
|
|
8508
8660
|
export function publishExampleNote(realtime: ExampleRealtimePublisher): void {
|
|
@@ -12421,6 +12573,92 @@ analytics policy belong to the application.
|
|
|
12421
12573
|
|
|
12422
12574
|
# Upgrading stitchkit
|
|
12423
12575
|
|
|
12576
|
+
## Released migration: 0.94.0
|
|
12577
|
+
|
|
12578
|
+
One breaking minor that consolidates: tool options move into one group, and
|
|
12579
|
+
names that were exported from two entrypoints keep only their owner. Every step
|
|
12580
|
+
is an edit a type checker or `defineContract` points at; the few behaviour
|
|
12581
|
+
changes that need no edit are under Changed and Fixed in the changelog.
|
|
12582
|
+
|
|
12583
|
+
1. **Move endpoint tool options into `tool`.** **Who must act:** every project
|
|
12584
|
+
with an endpoint that sets `toolName`, `ui`, `annotations` or `mcp`. Run the
|
|
12585
|
+
codemod from a checkout of this repository, then typecheck:
|
|
12586
|
+
|
|
12587
|
+
```bash
|
|
12588
|
+
bun packages/core/scripts/codemod-tool-group.ts --check path/to/your/src # list
|
|
12589
|
+
bun packages/core/scripts/codemod-tool-group.ts path/to/your/src # rewrite
|
|
12590
|
+
```
|
|
12591
|
+
|
|
12592
|
+
```ts
|
|
12593
|
+
// before
|
|
12594
|
+
{ method: 'GET', path: '/', desc: 'List', toolName: 'user_list', mcp: { inputRequired } }
|
|
12595
|
+
// after
|
|
12596
|
+
{ method: 'GET', path: '/', desc: 'List', tool: { name: 'user_list', mcp: { inputRequired } } }
|
|
12597
|
+
```
|
|
12598
|
+
|
|
12599
|
+
The codemod leaves two kinds of endpoint for a person and prints where: one
|
|
12600
|
+
built with a spread (`{ ...base, toolName }`), and one exposed on HTTP only,
|
|
12601
|
+
whose tool options never reached a tool — delete them there. Anything left
|
|
12602
|
+
over fails at startup, by name — a key moved into the group under its old
|
|
12603
|
+
name (`tool: { toolName }`) included:
|
|
12604
|
+
|
|
12605
|
+
```text
|
|
12606
|
+
Contract "users": endpoint "list" sets `toolName` — tool options live in `tool` since 0.94.0: use tool.name
|
|
12607
|
+
```
|
|
12608
|
+
|
|
12609
|
+
`expose` does not move. `MethodDef` — what hooks and runtime tools see — keeps
|
|
12610
|
+
`toolName`, `ui`, `annotations` and `mcp` at the top level, so hook code does
|
|
12611
|
+
not change. A tool view is declared only with `withToolView`, which now puts
|
|
12612
|
+
it in `tool.view`.
|
|
12613
|
+
|
|
12614
|
+
2. **Change imports of moved names.** **Who must act:** projects importing any
|
|
12615
|
+
of these; the compiler lists every site.
|
|
12616
|
+
|
|
12617
|
+
| Name | From | To |
|
|
12618
|
+
|---|---|---|
|
|
12619
|
+
| `RuntimeToolTransport`, `ToolSurfaceTransport`, `ToolInvokerTransport` | `stitchkit/tools`, `stitchkit/tools/invoker`, `stitchkit/tools/connections` | `ToolTransport` from `stitchkit/contract` |
|
|
12620
|
+
| `createCli`, `defineCliCommand`, `CliConfig`, `CliSurfaceSource`, `CliPresentationPolicyConfig`, `CliWaitConfig`, `ExitCodeMap`, `CliCommand*` | `stitchkit/tools` | `stitchkit/cli` |
|
|
12621
|
+
| `parseSSE`, `ParseSSEOptions` | `stitchkit/server` | `stitchkit` |
|
|
12622
|
+
| `runAgentStoreConformance`, `AgentStoreConformance*`, `createAgentRace*`, `AgentRace*` | `stitchkit/testing` | `stitchkit/agent-runtime/testing` |
|
|
12623
|
+
| `createLocalStepDurability`, `LocalStepDurability`, `LocalStepDurabilityOptions`, `StepDurabilityLedger` | `stitchkit/agent-runtime` | `stitchkit/tools` |
|
|
12624
|
+
|
|
12625
|
+
3. **Regenerate a surface snapshot only if it reports drift.** **Who must act:**
|
|
12626
|
+
a project whose committed snapshot has an object with integer-like keys
|
|
12627
|
+
(`"9"`, `"10"`) — they are now sorted like every other key. Every other
|
|
12628
|
+
snapshot, CLI manifest signature and agent-store archive is byte-identical.
|
|
12629
|
+
|
|
12630
|
+
## Released migration: 0.93.0
|
|
12631
|
+
|
|
12632
|
+
1. **Regenerate every committed surface snapshot, once.** `manifestVersion` is
|
|
12633
|
+
`3` and each operation row gained `mcp` — the rounds it declares before it
|
|
12634
|
+
runs. Most rows get `null`, so the first diff is large and mechanical.
|
|
12635
|
+
**Who must act:** anyone with a committed snapshot. A snapshot on the older
|
|
12636
|
+
version is refused by name rather than failing a schema literal:
|
|
12637
|
+
|
|
12638
|
+
```text
|
|
12639
|
+
Surface snapshot is manifestVersion 2; this build writes 3. Regenerate it
|
|
12640
|
+
and review the diff — the format changed, so the first regeneration is
|
|
12641
|
+
expected to be large.
|
|
12642
|
+
```
|
|
12643
|
+
|
|
12644
|
+
```ts
|
|
12645
|
+
// before — a declared round left no trace, so declaring or removing one
|
|
12646
|
+
// passed review invisibly
|
|
12647
|
+
manifest.operations[0]
|
|
12648
|
+
// after
|
|
12649
|
+
manifest.operations[0].mcp
|
|
12650
|
+
// null | { inputRequired: [{ key, message, schema }] }
|
|
12651
|
+
// | { inputRequired: 'resolved-per-call' }
|
|
12652
|
+
```
|
|
12653
|
+
|
|
12654
|
+
A project that kept its own test for "declared `inputRequired` implies a
|
|
12655
|
+
configured state key" can drop it: the snapshot holds that link now.
|
|
12656
|
+
|
|
12657
|
+
2. **Nothing else to do.** Native commands that declare `output` became
|
|
12658
|
+
invokable in process; a name that answered `NOT_FOUND` from
|
|
12659
|
+
`createCliInvoker` in 0.92.0 may now resolve. If an application relied on
|
|
12660
|
+
native commands being unreachable there, stop passing them to the invoker.
|
|
12661
|
+
|
|
12424
12662
|
## Released migration: 0.92.0
|
|
12425
12663
|
|
|
12426
12664
|
1. **`RequestEvent.method`, `path` and `statusCode` are optional.** Work that did
|
|
@@ -16150,10 +16388,20 @@ from the root `stitchkit`.
|
|
|
16150
16388
|
| `ScopedContractDef` | _type_ | a factory-defined contract whose `meta.scope` is the required concrete literal |
|
|
16151
16389
|
| `ScopedDefineContract` | _type_ | the `defineContract` `createContractFactory` returns — endpoint `scope` overrides join the union |
|
|
16152
16390
|
| `ALL_TRANSPORTS` | constant | `['HTTP', 'MCP', 'AGENT', 'CLI']` |
|
|
16391
|
+
| `TOOL_TRANSPORTS` / `ToolTransport` | constant / _type_ | `['MCP', 'AGENT', 'CLI']` — the transports a model or tool client reads; the one name for a tool surface everywhere (runtime-tool `transports`, invoker, collector, connections) |
|
|
16153
16392
|
| `ContractDef` | _type_ | a defined contract |
|
|
16154
16393
|
| `PathParams` | _type_ | infer named `:segments` and a terminal `*wildcard` from a path literal as string params |
|
|
16155
16394
|
| `ContractMeta` | _type_ | a contract's `prefix` + optional `scope` and `meta` (a default every endpoint shallow-merges over) |
|
|
16156
16395
|
| `EndpointDef` | _type_ | a single endpoint definition; `output` declares JSON response presence (`null` is data, `undefined` is invalid); `safelistedBody: true` admits the JSON body as `text/plain` from an allow-listed `Origin` — [guide](../guide/server.md#safelisted-request-bodies-beacons) |
|
|
16396
|
+
| `withToolView` | function | declare an endpoint's answer on the tool surface (MCP, AGENT, CLI): input `defaults`, a view `output` and an optional `project`, typed against the endpoint's own schemas; HTTP keeps the full answer — [guide](../guide/mcp-and-agents.md#a-different-answer-for-tools--withtoolview) |
|
|
16397
|
+
| `EndpointToolOptions` | _type_ | an endpoint's `tool` group — `name`, `view`, `ui`, `annotations`, `mcp`: what the tool surfaces read that HTTP does not |
|
|
16398
|
+
| `EndpointToolView` | _type_ | the stored shape of a tool view (`MethodDef.toolView`) |
|
|
16399
|
+
| `DeclaredToolView` | _type_ | a tool view as `withToolView` produces it — the only form `tool.view` accepts |
|
|
16400
|
+
| `WithToolView` | _type_ | the endpoint `withToolView` returns: its own tool options plus the declared view in `tool.view` — name it when a helper returns such an endpoint |
|
|
16401
|
+
| `ProjectedToolView` / `ReshapedToolView` / `SlicedToolView` | _type_ | the three forms `withToolView` accepts: own schema + `project`, `project` inside the full schema, a slice by `output` |
|
|
16402
|
+
| `ToolViewCall` | _type_ | what `project` is told besides the full result: the parsed `input` and the `source` |
|
|
16403
|
+
| `ToolViewSliceMismatch` | _type_ | the compile-time refusal of a slice whose schema does not accept the full output |
|
|
16404
|
+
| `ToolViewNeedsToolTransport` | _type_ | the compile-time refusal of a view on an `expose: ['HTTP']` endpoint |
|
|
16157
16405
|
| `EndpointStreamDescriptor` | _type_ | HTTP-only schema-derived stream declaration: item schema, envelope/item framing, stream-end/terminal completion, NDJSON/SSE encoding and frame/lifetime/heartbeat/idle bounds — [guide](../guide/server.md#contract-first-streams) |
|
|
16158
16406
|
| `HeadEndpointDef` | _type_ | explicit HTTP-only, bodyless `HEAD` endpoint definition |
|
|
16159
16407
|
| `EndpointResponseMeta` | _type_ | static success metadata declared by an HTTP-only typed-data endpoint |
|
|
@@ -16464,7 +16712,6 @@ Also re-exports the error helpers from `stitchkit/contract`.
|
|
|
16464
16712
|
| `ndjsonRoute` | function | `streamingRoute` framed as NDJSON |
|
|
16465
16713
|
| `sseRoute` | function | `streamingRoute` framed as SSE |
|
|
16466
16714
|
| `DEFAULT_STREAM_HEARTBEAT_MS` | const | 5000 — deliberately well under Bun's ten-second idle threshold |
|
|
16467
|
-
| `parseSSE` | function | parse an SSE `Response` (also on the root entrypoint) |
|
|
16468
16715
|
| `MultipartLifecycle` | _type_ | request-scoped rollback ownership for accepted streamed handles |
|
|
16469
16716
|
| `MultipartResult` | _type_ | what `parseMultipart` returns |
|
|
16470
16717
|
| `parseMultipart` | function | parse a typed buffered/streaming multipart descriptor — [guide](../guide/server.md#multipart) |
|
|
@@ -16500,7 +16747,6 @@ Also re-exports the error helpers from `stitchkit/contract`.
|
|
|
16500
16747
|
| `EventBus` | _type_ | the `createEventBus` handle |
|
|
16501
16748
|
| `RateLimitConfig` | _type_ | config for `createRateLimiter` |
|
|
16502
16749
|
| `ClientIpOptions` | _type_ | trusted-proxy config for `extractIp` / `resolveSocketIp` |
|
|
16503
|
-
| `ParseSSEOptions` | _type_ | options for `parseSSE` |
|
|
16504
16750
|
| `StreamingRouteOptions` | _type_ | options for `streamingRoute` / `ndjsonRoute` / `sseRoute` |
|
|
16505
16751
|
| `StreamingSourceContext` | _type_ | what a streaming source is given, including the cancellation `signal` |
|
|
16506
16752
|
| `StreamingFormat` | _type_ | `'ndjson' \| 'sse'` |
|
|
@@ -16878,8 +17124,7 @@ Server-only optional application runtime. See the
|
|
|
16878
17124
|
| `composeAgentPrompt` | function | ordered prompt contributions and provenance-aware signed context budget; irreducible reservation deficits are `oversized`, not compactable history |
|
|
16879
17125
|
| `SeedConversationInputSchema` / `SeedConversationInput` | schema / _type_ | atomic once-seeding input; partial imported identity sets are refused |
|
|
16880
17126
|
| `AgentSeedReceiptSchema` / `AgentSeedReceipt` | schema / _type_ | durable seed receipt retained beyond compaction and implemented by custom store drivers |
|
|
16881
|
-
| `
|
|
16882
|
-
| `StepDurabilityLedger` / `LocalStepDurability` / `LocalStepDurabilityOptions` / `StepRunOptions` | _type_ | the narrow ledger the port needs, the step/read surface, and its construction and per-step options |
|
|
17127
|
+
| `StepRunOptions` | _type_ | per-step options of the durability engine (`stitchkit/tools`) as the runtime drives it |
|
|
16883
17128
|
| `DURABILITY_STEP_EVENT_KIND` | const | the ledger event kind a recorded step is written under |
|
|
16884
17129
|
| `StepResultDecodeError` / `StepResultNotSerializableError` / `StepAbortedError` / `ParkRecordDecodeError` / `ParkAbortedError` | class | fail-closed decode of a recorded step or park, a body whose result cannot be serialized, an aborted step, and a park collapsed around an aborted waiter |
|
|
16885
17130
|
| `structuredCompaction` | function | summarize a provider-valid snapshot range and replace it through CAS |
|
|
@@ -16928,7 +17173,7 @@ Server-only optional application runtime. See the
|
|
|
16928
17173
|
| `AgentScheduleSchema` / `AgentSchedule` / `AgentScheduleService` / `createAgentScheduleService` / `createAgentScheduleTools` | schema / _types_ / functions | durable `at`/`after`/timezone-explicit `every`, stable dispatch identity and Agent tools |
|
|
16929
17174
|
| `AgentChildBudgetSchema` / `AgentChildBudget` / `AgentChildStateSchema` / `AgentChildState` / `AgentChildRecordSchema` / `AgentChildRecord` | schema / _type_ | durable child graph, bounded seed and measured budget state |
|
|
16930
17175
|
| `AgentChildBlockingKindSchema` / `AgentChildBlockingKind` / `AgentChildBlockingSourceSchema` / `AgentChildBlockingSource` / `AgentChildBlockingEventSchema` / `AgentChildBlockingEvent` / `AgentChildBlockingDecision` | schemas / _types_ | parent-owned request identities; responses discriminate approval decisions from JSON input values |
|
|
16931
|
-
| `AgentChildHandle` / `AgentChildManager` / `createSqliteAgentChildManager` / `createAgentChildTools` / `agentChildBudgetStopPolicy` | _type_ / functions | host execution port, child lifecycle, cascade (given to `createAgentRuntime` as `children`), messaging, Agent tools, and the child runtime's own budget stop policy — `recordStepUsage` at every step boundary, `policy_stop` as `child-budget` when spent |
|
|
17176
|
+
| `AgentChildHandle` / `AgentChildManager` / `SqliteAgentChildManagerConfig` / `createSqliteAgentChildManager` / `createAgentChildTools` / `agentChildBudgetStopPolicy` | _type_ / functions | host execution port, child lifecycle, cascade (given to `createAgentRuntime` as `children`), messaging, Agent tools, and the child runtime's own budget stop policy — `recordStepUsage` at every step boundary, `policy_stop` as `child-budget` when spent |
|
|
16932
17177
|
| `AgentToolDefinition` | _type_ | peer-neutral shape returned by the bound agent-only state, search, schedule and child tool factories |
|
|
16933
17178
|
| `AgentProviderStreamCutError` | class | explicit retryable provider stream truncation evidence |
|
|
16934
17179
|
|
|
@@ -17093,6 +17338,9 @@ Credential-free provider and concurrency fixtures for Bun and Node tests.
|
|
|
17093
17338
|
| `createAgentRaceBarrier` / `AgentRaceBarrier` | function / _type_ | named bounded deterministic concurrency barrier |
|
|
17094
17339
|
| `createAgentRaceTrace` / `AgentRaceTrace` / `AgentRaceTraceEntry` | function / _type_ | record and assert exact event order without wall-clock guesses |
|
|
17095
17340
|
| `createAgentRaceDriver` / `AgentRaceDriver` | function / _type_ | collect named barriers and release their teardown together |
|
|
17341
|
+
| `runAgentStoreConformance` | function | reusable black-box duplicate/coalescing/stale/recovery contract for durable agent-store adapters |
|
|
17342
|
+
| `AgentStoreConformanceConfig` | _type_ | `{ createStore(context), cleanup?(context) }` — the factory the contract runs against, plus a teardown that runs once whether the scenario passed or failed |
|
|
17343
|
+
| `AgentStoreConformanceContext` | _type_ | `{ conversationIds }` — every conversation the scenario will mutate, handed over **before** the first mutation so an adapter can provision application-owned parent rows; a zero-argument factory stays valid |
|
|
17096
17344
|
|
|
17097
17345
|
## `stitchkit/agent-runtime/harness`
|
|
17098
17346
|
|
|
@@ -17382,8 +17630,6 @@ payload.
|
|
|
17382
17630
|
| `defineRuntimeTool` | function | define one validated pathless operation for explicit MCP, Agent and/or CLI surfaces — [guide](../guide/mcp-and-agents.md#pathless-runtime-tools-and-multimodal-results) |
|
|
17383
17631
|
| `createRuntimeToolFactory` | function | bind shared identity and Zod-validated per-call context for runtime tools — [guide](../guide/mcp-and-agents.md#pathless-runtime-tools-and-multimodal-results) |
|
|
17384
17632
|
| `createToolInvoker` | function | compile an exposure-aware in-process dispatcher over the canonical tool runner; use peer-free `stitchkit/tools/invoker`, or the full `stitchkit/tools` adapter barrel — [guide](../guide/mcp-and-agents.md#in-process-calls--createtoolinvoker) |
|
|
17385
|
-
| `createCli` | function | a command-line program from contracts — [guide](../guide/cli.md) (also on `stitchkit/cli`) |
|
|
17386
|
-
| `defineCliCommand` | function | define one typed CLI-only command with optional post-validation `present` and successful `exitCode` policy — [guide](../guide/cli.md#native-binary-commands) (also on `stitchkit/cli`) |
|
|
17387
17633
|
| `createToolkit` | function | context-typed tool mounts — [guide](../guide/cli.md#typed-context) |
|
|
17388
17634
|
| `mountViewFile` | function | a native multimodal "view file" MCP tool |
|
|
17389
17635
|
| `resolveMedia` | function | resolve a media reference for a tool result |
|
|
@@ -17439,21 +17685,10 @@ payload.
|
|
|
17439
17685
|
| `CimdCacheEvent` | _type_ | observable CIMD cache hit, miss, revalidation and eviction event |
|
|
17440
17686
|
| `createSecureClientMetadataFetcher` | function | production HTTPS, DNS/IP-pinned CIMD fetcher |
|
|
17441
17687
|
| `RuntimeAgentModelOutput` | _type_ | AI SDK model-facing text/JSON/content output returned by `present.agent` |
|
|
17442
|
-
| `RuntimeToolTransport` | _type_ | runtime exposure: `'MCP' \| 'AGENT' \| 'CLI'`; omission still means MCP+Agent only |
|
|
17443
17688
|
| `AgentMountConfig` | _type_ | config for `mountAgent` |
|
|
17444
17689
|
| `AgentToolRegistry` / `AgentToolRegistryBuilder` / `AgentToolRegistryInput` | _type_ | the composed runtime surface and its builder: declared defaults, `replace`/`disable` by name, and the exact `{ tools, names }` a mount receives |
|
|
17445
17690
|
| `defineToolRegistry` | function | compose runtime tools over one declared default set; an unknown `replace`/`disable` name is refused instead of silently leaving the default in place |
|
|
17446
17691
|
| `AgentContext` | _type_ | the context merged into agent tool handlers |
|
|
17447
|
-
| `CliConfig` | _type_ | config for `createCli`, including program-level `defaultCommand` selection, application-wide `globalOptions` and command-scoped `optionAliases` / `positionals` policy |
|
|
17448
|
-
| `CliPresentationPolicyConfig` | _type_ | reusable default-command, short-alias and explicit-positional policy inherited by `CliConfig` |
|
|
17449
|
-
| `CliSurfaceSource` | _type_ | static managed surface or identity-dependent surface factory for `createCli` |
|
|
17450
|
-
| `CliCommandDefinition` | _type_ | Zod-first CLI-only command union |
|
|
17451
|
-
| `CliCommandDefinitionBase` | _type_ | native command name, description and input schema |
|
|
17452
|
-
| `CliCommandDefinitionWithOutput` | _type_ | native command with declared output schema, validated handler result and typed optional `present` / `exitCode` callbacks |
|
|
17453
|
-
| `CliCommandDefinitionWithoutOutput` | _type_ | void native command with no output schema |
|
|
17454
|
-
| `CliCommandContext` | _type_ | parsed native command input, framework run options, the application's `globals` and injected writers |
|
|
17455
|
-
| `CliWaitConfig` | _type_ | `--wait` polling config |
|
|
17456
|
-
| `ExitCodeMap` | _type_ | `ToolResult.code` → process exit code |
|
|
17457
17692
|
| `Toolkit` | _type_ | the context-pinned tool surface from `createToolkit` |
|
|
17458
17693
|
| `ToolExtend` | _type_ | extra-args extension for `mountMcp` / `mountAgent` |
|
|
17459
17694
|
| `ToolLifecycle` | _type_ | `beforeHandle` / `afterHandle` gate for tool calls — [guide](../guide/mcp-and-agents.md#guarding-tools--lifecycle) |
|
|
@@ -17470,7 +17705,6 @@ payload.
|
|
|
17470
17705
|
| `ToolInvoker` | _type_ | immutable compiled dispatcher (`names`, envelope `invoke`, throwing `invokeOrThrow`) |
|
|
17471
17706
|
| `ToolInvokerConfig` | _type_ | compile-time exposure, extension and presentation options |
|
|
17472
17707
|
| `ToolInvocationOptions` | _type_ | per-call source, context, lifecycle, hooks and output-strip reporter |
|
|
17473
|
-
| `ToolInvokerTransport` | _type_ | invoker exposure policy: `MCP \| AGENT \| CLI` |
|
|
17474
17708
|
| `ToolCallContext` | _type_ | the context every tool hook receives — `{ source, mcp? }` plus whatever the mount's `context` added |
|
|
17475
17709
|
| `ViewFileOptions` | _type_ | shared URL/managed-file-boundary policy for `defineViewFileTool`, `mountViewFile` and `resolveMedia` |
|
|
17476
17710
|
| `ViewFileOutput` | _type_ | neutral managed batch result with multimodal `content` and per-item `errors` |
|
|
@@ -17637,7 +17871,6 @@ Advanced building blocks — the shared machinery the mounts are built on.
|
|
|
17637
17871
|
| `TransportSummary` | _type_ | `{ contractServices, runtimeTools, totals, sources }` from `summarizeTransports` |
|
|
17638
17872
|
| `TransportCounts` | _type_ | per-transport counts (`{ HTTP, MCP, AGENT, CLI }`) |
|
|
17639
17873
|
| `ToolSurfaceDefinition` | _type_ | shared object-shaped `{ services?, runtimeTools? }` introspection surface |
|
|
17640
|
-
| `ToolSurfaceTransport` | _type_ | tool collector transport: `'MCP' \| 'AGENT' \| 'CLI'` |
|
|
17641
17874
|
| `ToolManifestConfig` | _type_ | mixed surface plus required model-facing `transport` and presentation options |
|
|
17642
17875
|
| `coerceJsonArgs` | function | coerce JSON-stringified array/object tool arguments |
|
|
17643
17876
|
| `flattenToolJsonSchema` | function | project structurally identifiable discriminated unions into conservative object joins; divergent fields retain every provable base kind in a deterministic `type` array, and the projection never executes validation |
|
|
@@ -17670,7 +17903,6 @@ and approval path.
|
|
|
17670
17903
|
| `ConnectionMountOptions` | _type_ | shared `{ lifecycle?, budget?, onSkippedTool? }` mount policy |
|
|
17671
17904
|
| `ConnectionToolSkipReporter` | _type_ | `(skipped) => void` — called per discovered tool the mount could not build; defaults to a stderr line, and the rest of the surface still mounts |
|
|
17672
17905
|
| `SkippedConnectionTool` | _type_ | `{ connection, tool, reason }` — which tool was not mounted, and why |
|
|
17673
|
-
| `RuntimeToolTransport` | _type_ | `'MCP' \| 'AGENT' \| 'CLI'` — the surfaces a connection's `transports` may name |
|
|
17674
17906
|
| `McpClientConnection` | _type_ | a defined MCP client connection |
|
|
17675
17907
|
| `McpClientConnectionConfig` | _type_ | name, transport, tool filter, token provider, instance key, allowed hosts and `transports` — naming `['CLI']` makes the whole server's discovered tools commands, with no per-definition rewriting |
|
|
17676
17908
|
| `McpConnectionTransport` | _type_ | `{ url, headers? }` for one MCP endpoint |
|
|
@@ -17689,9 +17921,6 @@ handler pipeline without opening a TCP port.
|
|
|
17689
17921
|
|--------|------|---------|
|
|
17690
17922
|
| `createHandlerTestClient` | function | one contract client backed by an in-process `FetchHandler` |
|
|
17691
17923
|
| `createHandlerTestClients` | function | exact contract-registry batch form |
|
|
17692
|
-
| `runAgentStoreConformance` | function | reusable black-box duplicate/coalescing/stale/recovery contract for durable agent-store adapters |
|
|
17693
|
-
| `AgentStoreConformanceConfig` | _type_ | `{ createStore(context), cleanup?(context) }` — the factory the contract runs against, plus a teardown that runs once whether the scenario passed or failed |
|
|
17694
|
-
| `AgentStoreConformanceContext` | _type_ | `{ conversationIds }` — every conversation the scenario will mutate, handed over **before** the first mutation so an adapter can provision application-owned parent rows; a zero-argument factory stays valid |
|
|
17695
17924
|
| `runManagedResourceConformance` | function | run the canonical deterministic lifecycle matrix against a fresh consumer-owned `ManagedResource` fixture; resolves `void` or throws `ManagedResourceConformanceError` with a stable scenario ID and normalized trace |
|
|
17696
17925
|
| `ManagedResourceConformanceScenarioIdSchema` / `ManagedResourceConformanceScenarioId` | schema / _type_ | stable clean, rollback, readiness/completion, activation, shutdown-race and forced-cleanup scenario vocabulary |
|
|
17697
17926
|
| `ManagedResourceConformanceScenarioSchema` / `ManagedResourceConformanceScenario` | schema / _type_ | discriminated scenario record including whether the controlled resource is required |
|
|
@@ -17702,8 +17931,6 @@ handler pipeline without opening a TCP port.
|
|
|
17702
17931
|
| `ManagedResourceConformanceFactoryInput` / `ManagedResourceConformanceControls` | _type_ | current discriminated scenario and caller-controlled startup, readiness, completion, activation, close and force promises |
|
|
17703
17932
|
| `ManagedResourceConformanceFixture` | _type_ | tested resource plus required bounded disposal callback |
|
|
17704
17933
|
| `ManagedResourceConformanceError` | class | `MANAGED_RESOURCE_CONFORMANCE_FAILED` diagnostic carrying scenario, expected phase subsequence and observed trace |
|
|
17705
|
-
| `createAgentRaceBarrier` / `createAgentRaceDriver` / `createAgentRaceTrace` | function | bounded named barriers and exact partial-order traces for deterministic runtime race probes |
|
|
17706
|
-
| `AgentRaceBarrier` / `AgentRaceDriver` / `AgentRaceTrace` / `AgentRaceTraceEntry` | _type_ | public packed-consumer types for the deterministic race harness |
|
|
17707
17934
|
| `HandlerTestClientDefaults` | _type_ | ordinary bare-client defaults with handler-owned `baseUrl` and `fetch` removed |
|
|
17708
17935
|
| `HandlerTestClientConfig` | _type_ | handler, contract, path prefix, scoped config and client request defaults |
|
|
17709
17936
|
| `HandlerTestClientsConfig` | _type_ | batch helper configuration |
|
|
@@ -17732,6 +17959,9 @@ handler pipeline without opening a TCP port.
|
|
|
17732
17959
|
| `TransportObservation` | _type_ | validated normalized driver result |
|
|
17733
17960
|
| `SurfaceManifest` / `SurfaceManifestConfig` | _type_ | deterministic surface snapshot and its inputs |
|
|
17734
17961
|
| `SurfaceManifestOperation` / `SurfaceManifestOperationSchema` | _type_ / schema | one contract or runtime operation row |
|
|
17962
|
+
| `SurfaceManifestOperationMcp` / `SurfaceManifestOperationMcpSchema` | _type_ / schema | the rounds an operation declares before it runs: a fixed list, `'resolved-per-call'`, or `null` for no MCP policy |
|
|
17963
|
+
| `SurfaceManifestOperationToolView` / `SurfaceManifestOperationToolViewSchema` | _type_ / schema | an operation's declared tool view — digests of its defaults and output, and whether it projects; present only where a view is declared |
|
|
17964
|
+
| `SURFACE_MANIFEST_VERSION` | const | the format version this build writes; a committed snapshot on an older one is refused by name |
|
|
17735
17965
|
| `SurfaceManifestTool` / `SurfaceManifestToolSchema` | _type_ / schema | one mounted tool row with advertised input digest |
|
|
17736
17966
|
| `SurfaceManifestToolSurface` / `SurfaceManifestToolSurfaceSchema` | _type_ / schema | one static transport projection, optionally keyed for a finite MCP surface |
|
|
17737
17967
|
| `SurfaceManifestRealtimeEvent` / `SurfaceManifestRealtimeEventSchema` | _type_ / schema | one named directional realtime event with input/output args and ack digests |
|