@sixb/core 0.1.1 → 0.1.3
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/README.md +31 -20
- package/dist/actions/commit-edits.d.ts +0 -2
- package/dist/actions/commit-edits.d.ts.map +1 -1
- package/dist/actions/execution.d.ts +21 -0
- package/dist/actions/execution.d.ts.map +1 -0
- package/dist/actions/index.d.ts +1 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +38 -24
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/registry.d.ts +16 -7
- package/dist/actions/registry.d.ts.map +1 -1
- package/dist/actions/request.d.ts +3 -2
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-dispatch.d.ts +21 -0
- package/dist/actions/run-dispatch.d.ts.map +1 -0
- package/dist/actions/types/context.d.ts +2 -2
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/validation.d.ts +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +7 -7
- package/dist/actions/worker.js.map +1 -1
- package/dist/agents/adapters.d.ts +21 -1
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +31 -0
- package/dist/agents/authority.d.ts.map +1 -0
- package/dist/agents/context.js +2 -2
- package/dist/agents/dispatch.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +2 -2
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +48 -0
- package/dist/agents/execution.d.ts.map +1 -0
- package/dist/agents/index.d.ts +12 -9
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +77 -18
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/prompt.d.ts +8 -2
- package/dist/agents/prompt.d.ts.map +1 -1
- package/dist/agents/request.d.ts +6 -2
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/streams.d.ts +29 -3
- package/dist/agents/streams.d.ts.map +1 -1
- package/dist/agents/streams.js +22 -3
- package/dist/agents/streams.js.map +1 -1
- package/dist/agents/thread-context-projection.d.ts +19 -0
- package/dist/agents/thread-context-projection.d.ts.map +1 -0
- package/dist/agents/tool-definition.d.ts.map +1 -1
- package/dist/agents/tool-result.d.ts +6 -0
- package/dist/agents/tool-result.d.ts.map +1 -0
- package/dist/agents/types.d.ts +39 -3
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +3 -3
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/auth/attribution.d.ts +17 -0
- package/dist/auth/attribution.d.ts.map +1 -0
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +11 -5
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +4 -4
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/authorization/decision.d.ts +24 -11
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +2 -1
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +8 -4
- package/dist/authorization/index.js.map +1 -1
- package/dist/blob-storage/browser.js +2 -2
- package/dist/blob-storage/execution.d.ts +16 -0
- package/dist/blob-storage/execution.d.ts.map +1 -0
- package/dist/blob-storage/index.js +3 -3
- package/dist/bootstrap/discovery.d.ts +90 -24
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.d.ts +2 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +63 -60
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/broker/in-memory.d.ts.map +1 -1
- package/dist/broker/index.js +2 -2
- package/dist/broker/types.d.ts +5 -0
- package/dist/broker/types.d.ts.map +1 -1
- package/dist/chunk-0172wgm9.js +333 -0
- package/dist/chunk-0172wgm9.js.map +11 -0
- package/dist/chunk-177ed2mp.js +3118 -0
- package/dist/chunk-177ed2mp.js.map +46 -0
- package/dist/chunk-1ywq4hzk.js +607 -0
- package/dist/chunk-1ywq4hzk.js.map +14 -0
- package/dist/chunk-261ag4t4.js +252 -0
- package/dist/chunk-261ag4t4.js.map +12 -0
- package/dist/{chunk-y2ygpd0m.js → chunk-3j7573mj.js} +2 -2
- package/dist/{chunk-y2ygpd0m.js.map → chunk-3j7573mj.js.map} +2 -2
- package/dist/{chunk-p7vj8xgb.js → chunk-3rsf30p4.js} +81 -58
- package/dist/chunk-3rsf30p4.js.map +35 -0
- package/dist/chunk-4aw0jwk0.js +118 -0
- package/dist/chunk-4aw0jwk0.js.map +10 -0
- package/dist/{chunk-md9jbrm9.js → chunk-4gz41why.js} +1 -1
- package/dist/chunk-4p9rh7jj.js +164 -0
- package/dist/chunk-4p9rh7jj.js.map +12 -0
- package/dist/chunk-4z3n1dzt.js +1206 -0
- package/dist/chunk-4z3n1dzt.js.map +23 -0
- package/dist/chunk-5gd7tpv6.js +28 -0
- package/dist/chunk-5gd7tpv6.js.map +11 -0
- package/dist/{chunk-867jxh7c.js → chunk-5sz8ta9r.js} +6 -295
- package/dist/chunk-5sz8ta9r.js.map +16 -0
- package/dist/chunk-62c7t4jc.js +27 -0
- package/dist/chunk-62c7t4jc.js.map +11 -0
- package/dist/chunk-63te770v.js.map +1 -1
- package/dist/{chunk-xz5g49bp.js → chunk-6gjqgd3d.js} +3 -1
- package/dist/chunk-6gjqgd3d.js.map +11 -0
- package/dist/{chunk-6rzdtvn5.js → chunk-8b55ygje.js} +1 -1
- package/dist/chunk-8m5ejdpn.js +33 -0
- package/dist/chunk-8m5ejdpn.js.map +10 -0
- package/dist/chunk-96swp2wd.js +47 -0
- package/dist/chunk-96swp2wd.js.map +10 -0
- package/dist/chunk-979ww6b3.js +298 -0
- package/dist/chunk-979ww6b3.js.map +12 -0
- package/dist/{chunk-ya6brh8a.js → chunk-9t8f5xfx.js} +10 -5
- package/dist/chunk-9t8f5xfx.js.map +11 -0
- package/dist/{chunk-r82k4z7z.js → chunk-a31h57d5.js} +2 -2
- package/dist/{chunk-t72dvahb.js → chunk-bhxaq2nn.js} +61 -44
- package/dist/chunk-bhxaq2nn.js.map +12 -0
- package/dist/chunk-bv41fmjn.js +3294 -0
- package/dist/chunk-bv41fmjn.js.map +35 -0
- package/dist/chunk-c6cfqydk.js +128 -0
- package/dist/chunk-c6cfqydk.js.map +13 -0
- package/dist/chunk-c8bw2b6c.js +317 -0
- package/dist/chunk-c8bw2b6c.js.map +11 -0
- package/dist/{chunk-qzyemcj7.js → chunk-ckxfnx7f.js} +2 -2
- package/dist/chunk-cy0n5dms.js +27 -0
- package/dist/chunk-cy0n5dms.js.map +11 -0
- package/dist/{chunk-xt6qx9sh.js → chunk-d2adj15j.js} +91 -9
- package/dist/chunk-d2adj15j.js.map +37 -0
- package/dist/{chunk-avppcgt6.js → chunk-d6y2wsfg.js} +241 -144
- package/dist/chunk-d6y2wsfg.js.map +15 -0
- package/dist/chunk-dsrkgtnh.js +50 -0
- package/dist/chunk-dsrkgtnh.js.map +10 -0
- package/dist/{chunk-50kv63vj.js → chunk-dysw7nsm.js} +118 -26
- package/dist/chunk-dysw7nsm.js.map +14 -0
- package/dist/{chunk-rjqm6ksg.js → chunk-ettb0cy4.js} +725 -266
- package/dist/chunk-ettb0cy4.js.map +45 -0
- package/dist/chunk-ezake7g1.js +32 -0
- package/dist/chunk-ezake7g1.js.map +11 -0
- package/dist/{chunk-b1bqvhpe.js → chunk-f1cyvnrk.js} +14 -34
- package/dist/chunk-f1cyvnrk.js.map +13 -0
- package/dist/{chunk-yn947ck3.js → chunk-f2rt4vkh.js} +48 -29
- package/dist/chunk-f2rt4vkh.js.map +14 -0
- package/dist/{chunk-hb9xcx9c.js → chunk-fmx1sz2h.js} +117 -56
- package/dist/chunk-fmx1sz2h.js.map +15 -0
- package/dist/{chunk-f6kyyeef.js → chunk-ghteq96b.js} +8 -8
- package/dist/{chunk-f6kyyeef.js.map → chunk-ghteq96b.js.map} +4 -4
- package/dist/chunk-h9kxd41f.js +271 -0
- package/dist/chunk-h9kxd41f.js.map +11 -0
- package/dist/chunk-htq0qh7z.js +59 -0
- package/dist/chunk-htq0qh7z.js.map +11 -0
- package/dist/chunk-km4rkj4t.js +402 -0
- package/dist/chunk-km4rkj4t.js.map +14 -0
- package/dist/chunk-kqxgf6kv.js +898 -0
- package/dist/chunk-kqxgf6kv.js.map +15 -0
- package/dist/chunk-n5x5y80a.js +137 -0
- package/dist/chunk-n5x5y80a.js.map +10 -0
- package/dist/chunk-nf4r78r4.js +44 -0
- package/dist/chunk-nf4r78r4.js.map +10 -0
- package/dist/chunk-pxtrxm3p.js +55 -0
- package/dist/chunk-pxtrxm3p.js.map +11 -0
- package/dist/chunk-qer6am8w.js +133 -0
- package/dist/chunk-qer6am8w.js.map +11 -0
- package/dist/{chunk-sb0shdvv.js → chunk-rdeagz6b.js} +3 -3
- package/dist/{chunk-sb0shdvv.js.map → chunk-rdeagz6b.js.map} +3 -3
- package/dist/chunk-rhrbz7d4.js +36 -0
- package/dist/chunk-rhrbz7d4.js.map +10 -0
- package/dist/{chunk-53s4asfm.js → chunk-rnshztfq.js} +2 -2
- package/dist/chunk-t0jjkep3.js +35 -0
- package/dist/chunk-t0jjkep3.js.map +10 -0
- package/dist/{chunk-be9vm29v.js → chunk-t8t39h7v.js} +1 -1
- package/dist/{chunk-be9vm29v.js.map → chunk-t8t39h7v.js.map} +3 -3
- package/dist/chunk-t9xghkva.js +28 -0
- package/dist/chunk-t9xghkva.js.map +10 -0
- package/dist/{chunk-nbywkytr.js → chunk-ttba8x6z.js} +13 -33
- package/dist/chunk-ttba8x6z.js.map +15 -0
- package/dist/{chunk-8kv2sez0.js → chunk-vybf6pkp.js} +1 -1
- package/dist/chunk-wb4051cx.js +404 -0
- package/dist/chunk-wb4051cx.js.map +12 -0
- package/dist/{chunk-4tvj3ate.js → chunk-wtmzkcht.js} +4 -3
- package/dist/chunk-wtmzkcht.js.map +11 -0
- package/dist/{chunk-xqbtf4wn.js → chunk-xc7hq65b.js} +5 -3
- package/dist/{chunk-xqbtf4wn.js.map → chunk-xc7hq65b.js.map} +3 -3
- package/dist/{chunk-v5c085yp.js → chunk-xhy826cz.js} +3 -2
- package/dist/chunk-xhy826cz.js.map +10 -0
- package/dist/chunk-xkthy56g.js +33 -0
- package/dist/chunk-xkthy56g.js.map +11 -0
- package/dist/{chunk-raq0x6bd.js → chunk-xmggaxg4.js} +2199 -380
- package/dist/chunk-xmggaxg4.js.map +54 -0
- package/dist/{chunk-6zrpewy4.js → chunk-z3zp0bj1.js} +1 -1
- package/dist/chunk-z8j83gzd.js +90 -0
- package/dist/chunk-z8j83gzd.js.map +10 -0
- package/dist/chunk-zcnhxkvd.js +7 -0
- package/dist/chunk-zcnhxkvd.js.map +10 -0
- package/dist/chunk-zpw39qhj.js +194 -0
- package/dist/chunk-zpw39qhj.js.map +10 -0
- package/dist/chunk-zqqz8052.js +3 -0
- package/dist/{storage/projection-runs/lifecycle.js.map → chunk-zqqz8052.js.map} +1 -1
- package/dist/{chunk-hz8m927w.js → chunk-zqysyfjt.js} +1 -1
- package/dist/connectors/builders.d.ts +2 -1
- package/dist/connectors/builders.d.ts.map +1 -1
- package/dist/connectors/connections/authorizations.d.ts +64 -0
- package/dist/connectors/connections/authorizations.d.ts.map +1 -0
- package/dist/connectors/connections/capability.d.ts +7 -0
- package/dist/connectors/connections/capability.d.ts.map +1 -0
- package/dist/connectors/connections/command-context.d.ts +23 -0
- package/dist/connectors/connections/command-context.d.ts.map +1 -0
- package/dist/connectors/connections/contracts.d.ts +127 -0
- package/dist/connectors/connections/contracts.d.ts.map +1 -0
- package/dist/connectors/connections/credential-codec.d.ts +15 -0
- package/dist/connectors/connections/credential-codec.d.ts.map +1 -0
- package/dist/connectors/connections/credential-mutations.d.ts +63 -0
- package/dist/connectors/connections/credential-mutations.d.ts.map +1 -0
- package/dist/connectors/connections/execution.d.ts +20 -0
- package/dist/connectors/connections/execution.d.ts.map +1 -0
- package/dist/connectors/connections/internal.d.ts +5 -0
- package/dist/connectors/connections/internal.d.ts.map +1 -0
- package/dist/connectors/connections/internal.js +16 -0
- package/dist/connectors/connections/internal.js.map +9 -0
- package/dist/connectors/connections/provider-operation.d.ts +7 -0
- package/dist/connectors/connections/provider-operation.d.ts.map +1 -0
- package/dist/connectors/connections/request.d.ts +84 -0
- package/dist/connectors/connections/request.d.ts.map +1 -0
- package/dist/connectors/connections/runs.d.ts +51 -0
- package/dist/connectors/connections/runs.d.ts.map +1 -0
- package/dist/connectors/connections/service.d.ts +52 -0
- package/dist/connectors/connections/service.d.ts.map +1 -0
- package/dist/connectors/connections/storage-boundary.d.ts +3 -0
- package/dist/connectors/connections/storage-boundary.d.ts.map +1 -0
- package/dist/connectors/connections/tokens.d.ts +32 -0
- package/dist/connectors/connections/tokens.d.ts.map +1 -0
- package/dist/connectors/connections/validation.d.ts +27 -0
- package/dist/connectors/connections/validation.d.ts.map +1 -0
- package/dist/connectors/connections/views.d.ts +7 -0
- package/dist/connectors/connections/views.d.ts.map +1 -0
- package/dist/connectors/credentials.d.ts +25 -0
- package/dist/connectors/credentials.d.ts.map +1 -0
- package/dist/connectors/errors.d.ts +35 -3
- package/dist/connectors/errors.d.ts.map +1 -1
- package/dist/connectors/execution.d.ts +19 -0
- package/dist/connectors/execution.d.ts.map +1 -0
- package/dist/connectors/index.d.ts +5 -3
- package/dist/connectors/index.d.ts.map +1 -1
- package/dist/connectors/service.d.ts +23 -0
- package/dist/connectors/service.d.ts.map +1 -0
- package/dist/connectors/types.d.ts +94 -2
- package/dist/connectors/types.d.ts.map +1 -1
- package/dist/datasets/execution.d.ts +8 -0
- package/dist/datasets/execution.d.ts.map +1 -0
- package/dist/error-reporting/capability.d.ts +4 -49
- package/dist/error-reporting/capability.d.ts.map +1 -1
- package/dist/error-reporting/internal.d.ts +2 -2
- package/dist/error-reporting/internal.d.ts.map +1 -1
- package/dist/error-reporting/internal.js +10 -4
- package/dist/error-reporting/internal.js.map +1 -1
- package/dist/error-reporting/reporter.d.ts +4 -1
- package/dist/error-reporting/reporter.d.ts.map +1 -1
- package/dist/error-reporting/reports.d.ts +64 -0
- package/dist/error-reporting/reports.d.ts.map +1 -0
- package/dist/error-reporting/types.d.ts +88 -34
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +141 -0
- package/dist/errors/catalog.d.ts.map +1 -0
- package/dist/errors/internal.d.ts +68 -0
- package/dist/errors/internal.d.ts.map +1 -0
- package/dist/errors/internal.js +29 -0
- package/dist/errors/internal.js.map +9 -0
- package/dist/errors/types.d.ts +20 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/events/definitions.d.ts +0 -1
- package/dist/events/definitions.d.ts.map +1 -1
- package/dist/events/execution.d.ts +13 -0
- package/dist/events/execution.d.ts.map +1 -0
- package/dist/events/index.d.ts +3 -2
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +10 -8
- package/dist/events/index.js.map +1 -1
- package/dist/events/outbox-dispatcher.d.ts +4 -2
- package/dist/events/outbox-dispatcher.d.ts.map +1 -1
- package/dist/events/{runtime.d.ts → service.d.ts} +13 -14
- package/dist/events/service.d.ts.map +1 -0
- package/dist/events/types/pipelines.d.ts +4 -1
- package/dist/events/types/pipelines.d.ts.map +1 -1
- package/dist/events/types/syncs.d.ts +3 -0
- package/dist/events/types/syncs.d.ts.map +1 -1
- package/dist/events/types/workflows.d.ts +4 -2
- package/dist/events/types/workflows.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +42 -0
- package/dist/execution/agent.d.ts.map +1 -0
- package/dist/execution/agent.js +73 -0
- package/dist/execution/agent.js.map +9 -0
- package/dist/execution/authorization.d.ts +60 -0
- package/dist/execution/authorization.d.ts.map +1 -0
- package/dist/execution/dispatch.d.ts +8 -0
- package/dist/execution/dispatch.d.ts.map +1 -0
- package/dist/execution/durable.d.ts +37 -0
- package/dist/execution/durable.d.ts.map +1 -0
- package/dist/execution/index.d.ts +2 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/primitive.d.ts +21 -0
- package/dist/execution/primitive.d.ts.map +1 -0
- package/dist/execution/primitive.js +91 -0
- package/dist/execution/primitive.js.map +10 -0
- package/dist/execution/request.d.ts +38 -0
- package/dist/execution/request.d.ts.map +1 -0
- package/dist/execution/request.js +100 -0
- package/dist/execution/request.js.map +10 -0
- package/dist/execution/scopes.d.ts +30 -0
- package/dist/execution/scopes.d.ts.map +1 -0
- package/dist/execution/types.d.ts +111 -0
- package/dist/execution/types.d.ts.map +1 -0
- package/dist/index.d.ts +31 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +133 -105
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts +0 -1
- package/dist/json.d.ts.map +1 -1
- package/dist/lake-storage/index.js +5 -5
- package/dist/logging/execution.d.ts +9 -0
- package/dist/logging/execution.d.ts.map +1 -0
- package/dist/logging/index.d.ts +1 -1
- package/dist/logging/index.d.ts.map +1 -1
- package/dist/logging/index.js +8 -8
- package/dist/logging/index.js.map +1 -1
- package/dist/logging/{runtime.d.ts → service.d.ts} +7 -7
- package/dist/logging/{runtime.d.ts.map → service.d.ts.map} +1 -1
- package/dist/logging/types.js +2 -2
- package/dist/materialization/events.d.ts +1 -0
- package/dist/materialization/events.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +1 -1
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +2 -2
- package/dist/materialization/model.d.ts +30 -17
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materializer/edits/apply.d.ts +6 -1
- package/dist/materializer/edits/apply.d.ts.map +1 -1
- package/dist/materializer/edits/commit.d.ts +2 -1
- package/dist/materializer/edits/commit.d.ts.map +1 -1
- package/dist/materializer/edits/load-state.d.ts +1 -1
- package/dist/materializer/edits/load-state.d.ts.map +1 -1
- package/dist/materializer/edits/operations.d.ts +1 -13
- package/dist/materializer/edits/operations.d.ts.map +1 -1
- package/dist/materializer/edits/plan.d.ts +2 -1
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/edits/working-state.d.ts +38 -8
- package/dist/materializer/edits/working-state.d.ts.map +1 -1
- package/dist/materializer/effective/build-events.d.ts +1 -0
- package/dist/materializer/effective/build-events.d.ts.map +1 -1
- package/dist/materializer/effective/diff.d.ts +7 -0
- package/dist/materializer/effective/diff.d.ts.map +1 -1
- package/dist/materializer/effective/load-state.d.ts +0 -2
- package/dist/materializer/effective/load-state.d.ts.map +1 -1
- package/dist/materializer/effective/resolve.d.ts +19 -2
- package/dist/materializer/effective/resolve.d.ts.map +1 -1
- package/dist/materializer/execution/commit-lifecycle.d.ts +2 -2
- package/dist/materializer/execution/commit-lifecycle.d.ts.map +1 -1
- package/dist/materializer/execution/plan-stream.d.ts.map +1 -1
- package/dist/materializer/execution/scope.d.ts +26 -0
- package/dist/materializer/execution/scope.d.ts.map +1 -0
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/execution/work-records.d.ts +6 -5
- package/dist/materializer/execution/work-records.d.ts.map +1 -1
- package/dist/materializer/index.d.ts +2 -2
- package/dist/materializer/index.d.ts.map +1 -1
- package/dist/materializer/index.js +33 -18
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/materializer.d.ts +37 -5
- package/dist/materializer/materializer.d.ts.map +1 -1
- package/dist/materializer/projections/finish-run.d.ts +2 -1
- package/dist/materializer/projections/finish-run.d.ts.map +1 -1
- package/dist/materializer/projections/replace.d.ts +2 -1
- package/dist/materializer/projections/replace.d.ts.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts +1 -0
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/shared/batching.d.ts.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/materializer/telemetry/append.d.ts +2 -1
- package/dist/materializer/telemetry/append.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts +7 -1
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/objects/action/request.d.ts +3 -3
- package/dist/objects/action/request.d.ts.map +1 -1
- package/dist/objects/context/index.d.ts +1 -1
- package/dist/objects/context/index.d.ts.map +1 -1
- package/dist/objects/context/types.d.ts +5 -0
- package/dist/objects/context/types.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +100 -0
- package/dist/objects/execution.d.ts.map +1 -0
- package/dist/objects/index.js +40 -24
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/materializer-adapter.d.ts +1 -1
- package/dist/objects/materializer-adapter.d.ts.map +1 -1
- package/dist/objects/query/executor.d.ts +3 -8
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +2 -2
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +9 -13
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/planner.d.ts +0 -3
- package/dist/objects/query/planner.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts +2 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -0
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/runtime-query-executor.d.ts +2 -0
- package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
- package/dist/objects/service/action-service.d.ts +3 -2
- package/dist/objects/service/action-service.d.ts.map +1 -1
- package/dist/objects/service/list-service.d.ts +1 -1
- package/dist/objects/telemetry/history.d.ts +2 -0
- package/dist/objects/telemetry/history.d.ts.map +1 -1
- package/dist/objects/telemetry/write-batch.d.ts.map +1 -1
- package/dist/ontology/index.d.ts +1 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +5 -5
- package/dist/ontology/internal.js +4 -4
- package/dist/ontology/registry.d.ts +15 -2
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/pipelines/execution.d.ts +19 -0
- package/dist/pipelines/execution.d.ts.map +1 -0
- package/dist/pipelines/index.d.ts +1 -0
- package/dist/pipelines/index.d.ts.map +1 -1
- package/dist/pipelines/index.js +68 -0
- package/dist/pipelines/index.js.map +9 -0
- package/dist/pipelines/request.d.ts +6 -9
- package/dist/pipelines/request.d.ts.map +1 -1
- package/dist/pipelines/run-dispatch.d.ts +47 -0
- package/dist/pipelines/run-dispatch.d.ts.map +1 -0
- package/dist/projections/builders.d.ts +19 -8
- package/dist/projections/builders.d.ts.map +1 -1
- package/dist/projections/capability.d.ts +7 -0
- package/dist/projections/capability.d.ts.map +1 -0
- package/dist/projections/execution.d.ts +19 -0
- package/dist/projections/execution.d.ts.map +1 -0
- package/dist/projections/index.d.ts +5 -2
- package/dist/projections/index.d.ts.map +1 -1
- package/dist/projections/internal.d.ts +8 -11
- package/dist/projections/internal.d.ts.map +1 -1
- package/dist/projections/internal.js +48 -6
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/ownership.d.ts +2 -2
- package/dist/projections/ownership.d.ts.map +1 -1
- package/dist/projections/registry.d.ts +21 -11
- package/dist/projections/registry.d.ts.map +1 -1
- package/dist/projections/revision.d.ts +2 -2
- package/dist/projections/revision.d.ts.map +1 -1
- package/dist/projections/run-dispatch.d.ts +37 -0
- package/dist/projections/run-dispatch.d.ts.map +1 -0
- package/dist/projections/run-id.d.ts +3 -0
- package/dist/projections/run-id.d.ts.map +1 -0
- package/dist/projections/timestamp.d.ts +3 -0
- package/dist/projections/timestamp.d.ts.map +1 -0
- package/dist/projections/types.d.ts +12 -0
- package/dist/projections/types.d.ts.map +1 -1
- package/dist/projections/validation.d.ts +2 -2
- package/dist/projections/validation.d.ts.map +1 -1
- package/dist/queues/in-memory.d.ts +11 -10
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.d.ts +1 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +59 -42
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/rules/execution.d.ts +14 -0
- package/dist/rules/execution.d.ts.map +1 -0
- package/dist/rules/index.d.ts +1 -1
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/validation.d.ts +1 -2
- package/dist/rules/validation.d.ts.map +1 -1
- package/dist/runtime/ai-cost.d.ts +8 -0
- package/dist/runtime/ai-cost.d.ts.map +1 -0
- package/dist/runtime/ai-usage.d.ts +8 -0
- package/dist/runtime/ai-usage.d.ts.map +1 -0
- package/dist/runtime/create.d.ts +7 -5
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +35 -0
- package/dist/runtime/definitions.d.ts.map +1 -0
- package/dist/runtime/host.d.ts +123 -0
- package/dist/runtime/host.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +6 -5
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +4 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +6 -2
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/ontology-mutations.d.ts +4 -2
- package/dist/runtime/ontology-mutations.d.ts.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts +42 -0
- package/dist/runtime/resolve-definitions.d.ts.map +1 -0
- package/dist/runtime/sixb.d.ts +43 -219
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +16 -216
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/scheduler/index.d.ts +1 -1
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +3 -6
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/runtime.d.ts +7 -2
- package/dist/scheduler/runtime.d.ts.map +1 -1
- package/dist/schedules/execution.d.ts +6 -0
- package/dist/schedules/execution.d.ts.map +1 -0
- package/dist/schedules/index.js +9 -7
- package/dist/schedules/index.js.map +1 -1
- package/dist/schedules/types.d.ts +1 -3
- package/dist/schedules/types.d.ts.map +1 -1
- package/dist/security/every.d.ts +4 -1
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +4 -1
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +3 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/registry.d.ts +42 -0
- package/dist/security/registry.d.ts.map +1 -0
- package/dist/security/types.d.ts +7 -12
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +2 -0
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/storage/action-runs/failure.d.ts +7 -0
- package/dist/storage/action-runs/failure.d.ts.map +1 -0
- package/dist/storage/action-runs/failure.js +14 -0
- package/dist/storage/action-runs/failure.js.map +9 -0
- package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
- package/dist/storage/action-runs/in-memory.d.ts +3 -1
- package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/action-runs/index.d.ts +2 -1
- package/dist/storage/action-runs/index.d.ts.map +1 -1
- package/dist/storage/action-runs/provider.d.ts +10 -0
- package/dist/storage/action-runs/provider.d.ts.map +1 -0
- package/dist/storage/action-runs/provider.js +13 -0
- package/dist/storage/action-runs/provider.js.map +9 -0
- package/dist/storage/action-runs/types.d.ts +37 -18
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/agents/errors.d.ts +1 -1
- package/dist/storage/agents/errors.d.ts.map +1 -1
- package/dist/storage/agents/in-memory.d.ts +22 -5
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +2 -2
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +41 -0
- package/dist/storage/agents/provider.d.ts.map +1 -0
- package/dist/storage/agents/provider.js +28 -0
- package/dist/storage/agents/provider.js.map +9 -0
- package/dist/storage/agents/types.d.ts +83 -26
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +61 -0
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -0
- package/dist/storage/ai-cost/codec.d.ts +14 -0
- package/dist/storage/ai-cost/codec.d.ts.map +1 -0
- package/dist/storage/ai-cost/errors.d.ts +7 -0
- package/dist/storage/ai-cost/errors.d.ts.map +1 -0
- package/dist/storage/ai-cost/in-memory.d.ts +32 -0
- package/dist/storage/ai-cost/in-memory.d.ts.map +1 -0
- package/dist/storage/ai-cost/index.d.ts +6 -0
- package/dist/storage/ai-cost/index.d.ts.map +1 -0
- package/dist/storage/ai-cost/provider.d.ts +7 -0
- package/dist/storage/ai-cost/provider.d.ts.map +1 -0
- package/dist/storage/ai-cost/provider.js +132 -0
- package/dist/storage/ai-cost/provider.js.map +10 -0
- package/dist/storage/ai-cost/types.d.ts +154 -0
- package/dist/storage/ai-cost/types.d.ts.map +1 -0
- package/dist/storage/ai-cost/validation.d.ts +7 -0
- package/dist/storage/ai-cost/validation.d.ts.map +1 -0
- package/dist/storage/ai-usage/errors.d.ts +8 -0
- package/dist/storage/ai-usage/errors.d.ts.map +1 -0
- package/dist/storage/ai-usage/in-memory.d.ts +28 -0
- package/dist/storage/ai-usage/in-memory.d.ts.map +1 -0
- package/dist/storage/ai-usage/index.d.ts +8 -0
- package/dist/storage/ai-usage/index.d.ts.map +1 -0
- package/dist/storage/ai-usage/record.d.ts +6 -0
- package/dist/storage/ai-usage/record.d.ts.map +1 -0
- package/dist/storage/ai-usage/types.d.ts +89 -0
- package/dist/storage/ai-usage/types.d.ts.map +1 -0
- package/dist/storage/ai-usage/usage.d.ts +11 -0
- package/dist/storage/ai-usage/usage.d.ts.map +1 -0
- package/dist/storage/auth/types.d.ts +1 -0
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/errors.d.ts +12 -0
- package/dist/storage/connector-connections/errors.d.ts.map +1 -0
- package/dist/storage/connector-connections/in-memory.d.ts +81 -0
- package/dist/storage/connector-connections/in-memory.d.ts.map +1 -0
- package/dist/storage/connector-connections/index.d.ts +7 -0
- package/dist/storage/connector-connections/index.d.ts.map +1 -0
- package/dist/storage/connector-connections/provider/authorizations.d.ts +20 -0
- package/dist/storage/connector-connections/provider/authorizations.d.ts.map +1 -0
- package/dist/storage/connector-connections/provider/connections.d.ts +17 -0
- package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -0
- package/dist/storage/connector-connections/provider/runs.d.ts +14 -0
- package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -0
- package/dist/storage/connector-connections/provider/shared.d.ts +74 -0
- package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -0
- package/dist/storage/connector-connections/provider.d.ts +49 -0
- package/dist/storage/connector-connections/provider.d.ts.map +1 -0
- package/dist/storage/connector-connections/provider.js +1025 -0
- package/dist/storage/connector-connections/provider.js.map +14 -0
- package/dist/storage/connector-connections/types.d.ts +402 -0
- package/dist/storage/connector-connections/types.d.ts.map +1 -0
- package/dist/storage/executions/errors.d.ts +8 -0
- package/dist/storage/executions/errors.d.ts.map +1 -0
- package/dist/storage/executions/in-memory.d.ts +21 -0
- package/dist/storage/executions/in-memory.d.ts.map +1 -0
- package/dist/storage/executions/index.d.ts +5 -0
- package/dist/storage/executions/index.d.ts.map +1 -0
- package/dist/storage/executions/provider.d.ts +29 -0
- package/dist/storage/executions/provider.d.ts.map +1 -0
- package/dist/storage/executions/provider.js +208 -0
- package/dist/storage/executions/provider.js.map +10 -0
- package/dist/storage/executions/run-link.d.ts +24 -0
- package/dist/storage/executions/run-link.d.ts.map +1 -0
- package/dist/storage/executions/types.d.ts +62 -0
- package/dist/storage/executions/types.d.ts.map +1 -0
- package/dist/storage/executions/validation.d.ts +13 -0
- package/dist/storage/executions/validation.d.ts.map +1 -0
- package/dist/storage/in-memory/index.d.ts +25 -5
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +30 -17
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +99 -29
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/ontology/commits.d.ts +1 -0
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +1 -0
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations-state.d.ts +3 -2
- package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations-work.d.ts +2 -2
- package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +3 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -2
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/index.d.ts +3 -2
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/materializations.d.ts +53 -5
- package/dist/storage/ontology/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/outbox.d.ts +8 -2
- package/dist/storage/ontology/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +5 -22
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +6 -7
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/pipeline-runs/idempotency.d.ts +3 -0
- package/dist/storage/pipeline-runs/idempotency.d.ts.map +1 -0
- package/dist/storage/pipeline-runs/in-memory.d.ts +5 -1
- package/dist/storage/pipeline-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/pipeline-runs/index.d.ts +3 -1
- package/dist/storage/pipeline-runs/index.d.ts.map +1 -1
- package/dist/storage/pipeline-runs/provider.d.ts +10 -0
- package/dist/storage/pipeline-runs/provider.d.ts.map +1 -0
- package/dist/storage/pipeline-runs/provider.js +11 -0
- package/dist/storage/pipeline-runs/provider.js.map +9 -0
- package/dist/storage/pipeline-runs/types.d.ts +30 -14
- package/dist/storage/pipeline-runs/types.d.ts.map +1 -1
- package/dist/storage/projection-runs/in-memory.d.ts +8 -3
- package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/projection-runs/index.d.ts +2 -2
- package/dist/storage/projection-runs/index.d.ts.map +1 -1
- package/dist/storage/projection-runs/lifecycle.d.ts +14 -8
- package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -1
- package/dist/storage/projection-runs/provider.d.ts +13 -0
- package/dist/storage/projection-runs/provider.d.ts.map +1 -0
- package/dist/storage/projection-runs/{lifecycle.js → provider.js} +15 -4
- package/dist/storage/projection-runs/provider.js.map +9 -0
- package/dist/storage/projection-runs/types.d.ts +28 -11
- package/dist/storage/projection-runs/types.d.ts.map +1 -1
- package/dist/storage/run-listing.d.ts +8 -9
- package/dist/storage/run-listing.d.ts.map +1 -1
- package/dist/storage/sync-runs/idempotency.d.ts +3 -0
- package/dist/storage/sync-runs/idempotency.d.ts.map +1 -0
- package/dist/storage/sync-runs/in-memory.d.ts +5 -1
- package/dist/storage/sync-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/sync-runs/index.d.ts +3 -1
- package/dist/storage/sync-runs/index.d.ts.map +1 -1
- package/dist/storage/sync-runs/provider.d.ts +10 -0
- package/dist/storage/sync-runs/provider.d.ts.map +1 -0
- package/dist/storage/sync-runs/provider.js +11 -0
- package/dist/storage/sync-runs/provider.js.map +9 -0
- package/dist/storage/sync-runs/types.d.ts +28 -11
- package/dist/storage/sync-runs/types.d.ts.map +1 -1
- package/dist/storage/types.d.ts +22 -15
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/webhook-runs/errors.d.ts +3 -0
- package/dist/storage/webhook-runs/errors.d.ts.map +1 -1
- package/dist/storage/webhook-runs/in-memory.d.ts +13 -1
- package/dist/storage/webhook-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/webhook-runs/index.d.ts +3 -2
- package/dist/storage/webhook-runs/index.d.ts.map +1 -1
- package/dist/storage/webhook-runs/provider.d.ts +10 -0
- package/dist/storage/webhook-runs/provider.d.ts.map +1 -0
- package/dist/storage/webhook-runs/provider.js +11 -0
- package/dist/storage/webhook-runs/provider.js.map +9 -0
- package/dist/storage/webhook-runs/types.d.ts +37 -11
- package/dist/storage/webhook-runs/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/in-memory.d.ts +6 -2
- package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/workflow-runs/index.d.ts +2 -1
- package/dist/storage/workflow-runs/index.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.d.ts +19 -0
- package/dist/storage/workflow-runs/provider.d.ts.map +1 -0
- package/dist/storage/workflow-runs/provider.js +20 -0
- package/dist/storage/workflow-runs/provider.js.map +9 -0
- package/dist/storage/workflow-runs/types.d.ts +28 -30
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/execution.d.ts +18 -0
- package/dist/syncs/execution.d.ts.map +1 -0
- package/dist/syncs/index.d.ts +3 -1
- package/dist/syncs/index.d.ts.map +1 -1
- package/dist/syncs/index.js +67 -0
- package/dist/syncs/index.js.map +9 -0
- package/dist/syncs/request.d.ts +6 -16
- package/dist/syncs/request.d.ts.map +1 -1
- package/dist/syncs/run-dispatch.d.ts +47 -0
- package/dist/syncs/run-dispatch.d.ts.map +1 -0
- package/dist/syncs/sources.d.ts +8 -0
- package/dist/syncs/sources.d.ts.map +1 -0
- package/dist/syncs/types.d.ts +16 -9
- package/dist/syncs/types.d.ts.map +1 -1
- package/dist/testing/action-execution.d.ts +12 -0
- package/dist/testing/action-execution.d.ts.map +1 -0
- package/dist/testing/agent-execution.d.ts +14 -0
- package/dist/testing/agent-execution.d.ts.map +1 -0
- package/dist/testing/agent-storage-contract.d.ts +12 -4
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts +12 -0
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -0
- package/dist/testing/ai-usage-storage-contract.d.ts +13 -0
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -0
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/broker-contract.d.ts.map +1 -1
- package/dist/testing/connector-connection-storage-contract.d.ts +16 -0
- package/dist/testing/connector-connection-storage-contract.d.ts.map +1 -0
- package/dist/testing/execution-storage-contract.d.ts +15 -0
- package/dist/testing/execution-storage-contract.d.ts.map +1 -0
- package/dist/testing/execution.d.ts +23 -0
- package/dist/testing/execution.d.ts.map +1 -0
- package/dist/testing/index.d.ts +13 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4754 -1592
- package/dist/testing/index.js.map +26 -13
- package/dist/testing/materializer-fixture.d.ts +2 -2
- package/dist/testing/materializer-fixture.d.ts.map +1 -1
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/ontology-contract-fixture.d.ts +1 -0
- package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/pipeline-execution.d.ts +16 -0
- package/dist/testing/pipeline-execution.d.ts.map +1 -0
- package/dist/testing/projection-execution.d.ts +20 -0
- package/dist/testing/projection-execution.d.ts.map +1 -0
- package/dist/testing/projection-run-storage-contract.d.ts +9 -4
- package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/testing/sync-execution.d.ts +16 -0
- package/dist/testing/sync-execution.d.ts.map +1 -0
- package/dist/testing/webhook-execution.d.ts +12 -0
- package/dist/testing/webhook-execution.d.ts.map +1 -0
- package/dist/testing/webhook-run-storage-contract.d.ts +11 -0
- package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -0
- package/dist/testing/workflow-execution.d.ts +23 -0
- package/dist/testing/workflow-execution.d.ts.map +1 -0
- package/dist/webhooks/index.d.ts +2 -1
- package/dist/webhooks/index.d.ts.map +1 -1
- package/dist/webhooks/internal.d.ts +2 -0
- package/dist/webhooks/internal.d.ts.map +1 -0
- package/dist/webhooks/internal.js +152 -0
- package/dist/webhooks/internal.js.map +10 -0
- package/dist/webhooks/registry.d.ts +18 -4
- package/dist/webhooks/registry.d.ts.map +1 -1
- package/dist/webhooks/run-admission.d.ts +25 -0
- package/dist/webhooks/run-admission.d.ts.map +1 -0
- package/dist/webhooks/types.d.ts +8 -5
- package/dist/webhooks/types.d.ts.map +1 -1
- package/dist/workers/index.js +29 -20
- package/dist/workers/index.js.map +4 -4
- package/dist/workers/queue-delivery.d.ts +7 -7
- package/dist/workers/queue-delivery.d.ts.map +1 -1
- package/dist/workers/queue-worker.d.ts +32 -11
- package/dist/workers/queue-worker.d.ts.map +1 -1
- package/dist/workflows/execution.d.ts +52 -0
- package/dist/workflows/execution.d.ts.map +1 -0
- package/dist/workflows/failure.d.ts +28 -0
- package/dist/workflows/failure.d.ts.map +1 -0
- package/dist/workflows/index.d.ts +4 -2
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +67 -36
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts +2 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/run-dispatch.d.ts +59 -0
- package/dist/workflows/run-dispatch.d.ts.map +1 -0
- package/dist/workflows/types.d.ts +38 -8
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +113 -5
- package/src/actions/commit-edits.ts +0 -3
- package/src/actions/execution.ts +83 -0
- package/src/actions/index.ts +1 -1
- package/src/actions/registry.ts +22 -10
- package/src/actions/request.ts +55 -177
- package/src/actions/run-dispatch.ts +276 -0
- package/src/actions/types/context.ts +2 -4
- package/src/actions/validation.ts +2 -2
- package/src/agents/adapters.ts +71 -26
- package/src/agents/authority.ts +189 -0
- package/src/agents/dispatch.ts +1 -6
- package/src/agents/errors.ts +4 -2
- package/src/agents/execution.ts +266 -0
- package/src/agents/index.ts +33 -4
- package/src/agents/prompt.ts +47 -7
- package/src/agents/request.ts +158 -13
- package/src/agents/streams.ts +150 -3
- package/src/agents/thread-context-projection.ts +93 -0
- package/src/agents/tool-definition.ts +17 -2
- package/src/agents/tool-result.ts +61 -0
- package/src/agents/types.ts +49 -5
- package/src/agents/validation.ts +3 -3
- package/src/auth/attribution.ts +48 -0
- package/src/auth/index.ts +1 -0
- package/src/auth/runtime.ts +5 -5
- package/src/authorization/decision.ts +75 -14
- package/src/authorization/grant-kinds.ts +9 -0
- package/src/authorization/index.ts +2 -0
- package/src/blob-storage/execution.ts +78 -0
- package/src/bootstrap/discovery.ts +88 -268
- package/src/bootstrap/index.ts +2 -13
- package/src/broker/in-memory.ts +8 -1
- package/src/broker/types.ts +5 -0
- package/src/connectors/builders.ts +37 -2
- package/src/connectors/connections/authorizations.ts +646 -0
- package/src/connectors/connections/capability.ts +59 -0
- package/src/connectors/connections/command-context.ts +98 -0
- package/src/connectors/connections/contracts.ts +208 -0
- package/src/connectors/connections/credential-codec.ts +48 -0
- package/src/connectors/connections/credential-mutations.ts +574 -0
- package/src/connectors/connections/execution.ts +138 -0
- package/src/connectors/connections/internal.ts +17 -0
- package/src/connectors/connections/provider-operation.ts +41 -0
- package/src/connectors/connections/request.ts +447 -0
- package/src/connectors/connections/runs.ts +702 -0
- package/src/connectors/connections/service.ts +644 -0
- package/src/connectors/connections/storage-boundary.ts +13 -0
- package/src/connectors/connections/tokens.ts +292 -0
- package/src/connectors/connections/validation.ts +316 -0
- package/src/connectors/connections/views.ts +37 -0
- package/src/connectors/credentials.ts +149 -0
- package/src/connectors/errors.ts +111 -3
- package/src/connectors/execution.ts +157 -0
- package/src/connectors/index.ts +26 -2
- package/src/connectors/service.ts +142 -0
- package/src/connectors/types.ts +156 -7
- package/src/datasets/execution.ts +24 -0
- package/src/error-reporting/capability.ts +33 -106
- package/src/error-reporting/internal.ts +3 -1
- package/src/error-reporting/reporter.ts +19 -3
- package/src/error-reporting/reports.ts +172 -0
- package/src/error-reporting/types.ts +97 -43
- package/src/errors/catalog.ts +149 -0
- package/src/errors/internal.ts +322 -0
- package/src/errors/types.ts +21 -0
- package/src/events/definitions.ts +0 -4
- package/src/events/execution.ts +45 -0
- package/src/events/index.ts +15 -14
- package/src/events/outbox-dispatcher.ts +53 -18
- package/src/events/{runtime.ts → service.ts} +19 -23
- package/src/events/types/pipelines.ts +4 -1
- package/src/events/types/syncs.ts +3 -0
- package/src/events/types/workflows.ts +4 -2
- package/src/execution/agent.ts +130 -0
- package/src/execution/authorization.ts +409 -0
- package/src/execution/dispatch.ts +7 -0
- package/src/execution/durable.ts +193 -0
- package/src/execution/index.ts +12 -0
- package/src/execution/primitive.ts +50 -0
- package/src/execution/request.ts +109 -0
- package/src/execution/scopes.ts +198 -0
- package/src/execution/types.ts +113 -0
- package/src/http/api-routes.ts +3 -3
- package/src/index.ts +122 -9
- package/src/json.ts +0 -4
- package/src/logging/execution.ts +28 -0
- package/src/logging/index.ts +4 -4
- package/src/logging/{runtime.ts → service.ts} +7 -7
- package/src/materialization/events.ts +1 -0
- package/src/materialization/index.ts +2 -0
- package/src/materialization/model.ts +34 -18
- package/src/materializer/README.md +9 -13
- package/src/materializer/edits/apply.ts +55 -2
- package/src/materializer/edits/commit.ts +85 -28
- package/src/materializer/edits/load-state.ts +79 -16
- package/src/materializer/edits/operations.ts +80 -37
- package/src/materializer/edits/plan.ts +95 -22
- package/src/materializer/edits/working-state.ts +93 -55
- package/src/materializer/effective/build-events.ts +2 -0
- package/src/materializer/effective/diff.ts +22 -0
- package/src/materializer/effective/load-state.ts +0 -31
- package/src/materializer/effective/resolve.ts +140 -9
- package/src/materializer/execution/commit-lifecycle.ts +9 -1
- package/src/materializer/execution/plan-stream.ts +33 -9
- package/src/materializer/execution/scope.ts +95 -0
- package/src/materializer/execution/work-executor.ts +6 -2
- package/src/materializer/execution/work-records.ts +42 -7
- package/src/materializer/index.ts +9 -1
- package/src/materializer/materializer.ts +67 -5
- package/src/materializer/projections/entry-validator.ts +23 -1
- package/src/materializer/projections/finish-run.ts +29 -11
- package/src/materializer/projections/replace.ts +55 -22
- package/src/materializer/projections/replacement-plan.ts +39 -7
- package/src/materializer/shared/batching.ts +4 -1
- package/src/materializer/shared/normalize.ts +16 -19
- package/src/materializer/telemetry/append.ts +57 -26
- package/src/materializer/telemetry/plan.ts +15 -6
- package/src/objects/action/request.ts +5 -5
- package/src/objects/context/index.ts +1 -0
- package/src/objects/context/types.ts +6 -0
- package/src/objects/execution.ts +346 -0
- package/src/objects/materializer-adapter.ts +1 -23
- package/src/objects/query/executor.ts +15 -29
- package/src/objects/query/index.ts +1 -2
- package/src/objects/query/planner.ts +0 -6
- package/src/objects/sdk/object-handle.ts +2 -2
- package/src/objects/sdk/object-set.ts +17 -7
- package/src/objects/sdk/runtime-query-executor.ts +9 -2
- package/src/objects/sdk/telemetry-channel.ts +5 -1
- package/src/objects/service/action-service.ts +5 -2
- package/src/objects/service/list-service.ts +1 -1
- package/src/objects/telemetry/history.ts +8 -3
- package/src/objects/telemetry/write-batch.ts +0 -2
- package/src/ontology/index.ts +6 -1
- package/src/ontology/registry.ts +16 -2
- package/src/pipelines/execution.ts +105 -0
- package/src/pipelines/index.ts +7 -0
- package/src/pipelines/request.ts +32 -26
- package/src/pipelines/run-dispatch.ts +308 -0
- package/src/projections/builders.ts +100 -44
- package/src/projections/capability.ts +37 -0
- package/src/projections/execution.ts +85 -0
- package/src/projections/index.ts +8 -1
- package/src/projections/internal.ts +21 -61
- package/src/projections/ownership.ts +2 -2
- package/src/projections/registry.ts +33 -11
- package/src/projections/revision.ts +11 -5
- package/src/projections/run-dispatch.ts +497 -0
- package/src/projections/run-id.ts +20 -0
- package/src/projections/timestamp.ts +66 -0
- package/src/projections/types.ts +19 -0
- package/src/projections/validation.ts +27 -3
- package/src/queues/in-memory.ts +37 -11
- package/src/queues/index.ts +10 -2
- package/src/queues/types.ts +78 -45
- package/src/rules/execution.ts +49 -0
- package/src/rules/index.ts +0 -1
- package/src/rules/validation.ts +2 -6
- package/src/runtime/ai-cost.ts +15 -0
- package/src/runtime/ai-usage.ts +17 -0
- package/src/runtime/create.ts +28 -68
- package/src/runtime/definitions.ts +44 -0
- package/src/runtime/host.ts +377 -0
- package/src/runtime/index.ts +5 -13
- package/src/runtime/internal.ts +12 -0
- package/src/runtime/ontology-mutations.ts +5 -3
- package/src/runtime/resolve-definitions.ts +238 -0
- package/src/runtime/sixb.ts +95 -822
- package/src/runtime/types.ts +17 -290
- package/src/scheduler/index.ts +1 -1
- package/src/scheduler/runtime.ts +37 -6
- package/src/schedules/execution.ts +14 -0
- package/src/schedules/types.ts +0 -8
- package/src/security/every.ts +4 -0
- package/src/security/grants.ts +13 -1
- package/src/security/index.ts +3 -1
- package/src/security/registry.ts +107 -0
- package/src/security/types.ts +8 -12
- package/src/security/validation.ts +7 -0
- package/src/storage/action-runs/failure.ts +64 -0
- package/src/storage/action-runs/idempotency.ts +3 -1
- package/src/storage/action-runs/in-memory.ts +39 -9
- package/src/storage/action-runs/index.ts +3 -0
- package/src/storage/action-runs/provider.ts +25 -0
- package/src/storage/action-runs/types.ts +61 -27
- package/src/storage/agents/errors.ts +1 -0
- package/src/storage/agents/in-memory.ts +219 -14
- package/src/storage/agents/index.ts +7 -1
- package/src/storage/agents/provider.ts +252 -0
- package/src/storage/agents/types.ts +96 -22
- package/src/storage/ai-cost/analytics.ts +602 -0
- package/src/storage/ai-cost/codec.ts +136 -0
- package/src/storage/ai-cost/errors.ts +12 -0
- package/src/storage/ai-cost/in-memory.ts +164 -0
- package/src/storage/ai-cost/index.ts +35 -0
- package/src/storage/ai-cost/provider.ts +20 -0
- package/src/storage/ai-cost/types.ts +193 -0
- package/src/storage/ai-cost/validation.ts +337 -0
- package/src/storage/ai-usage/errors.ts +13 -0
- package/src/storage/ai-usage/in-memory.ts +162 -0
- package/src/storage/ai-usage/index.ts +21 -0
- package/src/storage/ai-usage/record.ts +74 -0
- package/src/storage/ai-usage/types.ts +102 -0
- package/src/storage/ai-usage/usage.ts +104 -0
- package/src/storage/auth/types.ts +1 -0
- package/src/storage/connector-connections/errors.ts +24 -0
- package/src/storage/connector-connections/in-memory.ts +1377 -0
- package/src/storage/connector-connections/index.ts +66 -0
- package/src/storage/connector-connections/provider/authorizations.ts +446 -0
- package/src/storage/connector-connections/provider/connections.ts +291 -0
- package/src/storage/connector-connections/provider/runs.ts +369 -0
- package/src/storage/connector-connections/provider/shared.ts +342 -0
- package/src/storage/connector-connections/provider.ts +219 -0
- package/src/storage/connector-connections/types.ts +546 -0
- package/src/storage/executions/errors.ts +21 -0
- package/src/storage/executions/in-memory.ts +75 -0
- package/src/storage/executions/index.ts +16 -0
- package/src/storage/executions/provider.ts +292 -0
- package/src/storage/executions/run-link.ts +70 -0
- package/src/storage/executions/types.ts +49 -0
- package/src/storage/executions/validation.ts +370 -0
- package/src/storage/in-memory/index.ts +100 -16
- package/src/storage/index.ts +191 -15
- package/src/storage/ontology/commits.ts +1 -0
- package/src/storage/ontology/in-memory/index.ts +2 -0
- package/src/storage/ontology/in-memory/materializations-finalization.ts +2 -1
- package/src/storage/ontology/in-memory/materializations-state.ts +10 -0
- package/src/storage/ontology/in-memory/materializations-work.ts +2 -1
- package/src/storage/ontology/in-memory/materializations.ts +132 -9
- package/src/storage/ontology/in-memory/outbox.ts +1 -1
- package/src/storage/ontology/in-memory/shared-state.ts +12 -1
- package/src/storage/ontology/index.ts +6 -0
- package/src/storage/ontology/materializations.ts +53 -4
- package/src/storage/ontology/outbox.ts +13 -2
- package/src/storage/ontology/provider-header-validation.ts +1 -0
- package/src/storage/ontology/provider-work.ts +33 -14
- package/src/storage/ontology/provider.ts +72 -52
- package/src/storage/operation-scope.ts +2 -0
- package/src/storage/pipeline-runs/idempotency.ts +14 -0
- package/src/storage/pipeline-runs/in-memory.ts +88 -8
- package/src/storage/pipeline-runs/index.ts +5 -1
- package/src/storage/pipeline-runs/provider.ts +25 -0
- package/src/storage/pipeline-runs/types.ts +37 -14
- package/src/storage/projection-runs/in-memory.ts +93 -24
- package/src/storage/projection-runs/index.ts +4 -0
- package/src/storage/projection-runs/lifecycle.ts +165 -36
- package/src/storage/projection-runs/provider.ts +34 -0
- package/src/storage/projection-runs/types.ts +34 -11
- package/src/storage/run-listing.ts +22 -13
- package/src/storage/sync-runs/idempotency.ts +18 -0
- package/src/storage/sync-runs/in-memory.ts +90 -7
- package/src/storage/sync-runs/index.ts +4 -1
- package/src/storage/sync-runs/provider.ts +25 -0
- package/src/storage/sync-runs/types.ts +35 -11
- package/src/storage/types.ts +46 -17
- package/src/storage/webhook-runs/errors.ts +14 -0
- package/src/storage/webhook-runs/in-memory.ts +84 -9
- package/src/storage/webhook-runs/index.ts +5 -1
- package/src/storage/webhook-runs/provider.ts +30 -0
- package/src/storage/webhook-runs/types.ts +52 -11
- package/src/storage/workflow-runs/in-memory.ts +89 -55
- package/src/storage/workflow-runs/index.ts +2 -0
- package/src/storage/workflow-runs/provider.ts +70 -0
- package/src/storage/workflow-runs/types.ts +36 -25
- package/src/syncs/builders.ts +2 -2
- package/src/syncs/execution.ts +78 -0
- package/src/syncs/index.ts +13 -0
- package/src/syncs/request.ts +32 -43
- package/src/syncs/run-dispatch.ts +312 -0
- package/src/syncs/sources.ts +20 -0
- package/src/syncs/types.ts +32 -8
- package/src/testing/action-execution.ts +61 -0
- package/src/testing/agent-execution.ts +81 -0
- package/src/testing/agent-storage-contract.ts +498 -64
- package/src/testing/ai-cost-storage-contract.ts +320 -0
- package/src/testing/ai-usage-storage-contract.ts +528 -0
- package/src/testing/auth-storage-contract.ts +17 -1
- package/src/testing/broker-contract.ts +16 -1
- package/src/testing/connector-connection-storage-contract.ts +1052 -0
- package/src/testing/execution-storage-contract.ts +435 -0
- package/src/testing/execution.ts +48 -0
- package/src/testing/index.ts +57 -0
- package/src/testing/materializer-fixture.ts +11 -3
- package/src/testing/materializer-storage-contract.ts +333 -13
- package/src/testing/ontology-contract-fixture.ts +35 -2
- package/src/testing/ontology-storage-contract.ts +75 -14
- package/src/testing/pipeline-execution.ts +64 -0
- package/src/testing/projection-execution.ts +98 -0
- package/src/testing/projection-run-storage-contract.ts +215 -29
- package/src/testing/queues-contract.ts +40 -51
- package/src/testing/sync-execution.ts +61 -0
- package/src/testing/webhook-execution.ts +47 -0
- package/src/testing/webhook-run-storage-contract.ts +240 -0
- package/src/testing/workflow-execution.ts +77 -0
- package/src/webhooks/index.ts +2 -1
- package/src/webhooks/internal.ts +5 -0
- package/src/webhooks/registry.ts +60 -36
- package/src/webhooks/run-admission.ts +172 -0
- package/src/webhooks/types.ts +8 -5
- package/src/workers/queue-delivery.ts +25 -22
- package/src/workers/queue-worker.ts +76 -33
- package/src/workflows/execution.ts +313 -0
- package/src/workflows/failure.ts +63 -0
- package/src/workflows/index.ts +10 -1
- package/src/workflows/request.ts +39 -118
- package/src/workflows/run-dispatch.ts +359 -0
- package/src/workflows/types.ts +39 -8
- package/dist/actions/runtime.d.ts +0 -11
- package/dist/actions/runtime.d.ts.map +0 -1
- package/dist/agents/runtime.d.ts +0 -41
- package/dist/agents/runtime.d.ts.map +0 -1
- package/dist/chunk-4hwxq5e6.js +0 -49
- package/dist/chunk-4hwxq5e6.js.map +0 -10
- package/dist/chunk-4tvj3ate.js.map +0 -11
- package/dist/chunk-50kv63vj.js.map +0 -12
- package/dist/chunk-86459jn0.js +0 -1091
- package/dist/chunk-86459jn0.js.map +0 -22
- package/dist/chunk-867jxh7c.js.map +0 -19
- package/dist/chunk-9k3hgv8h.js +0 -352
- package/dist/chunk-9k3hgv8h.js.map +0 -13
- package/dist/chunk-avppcgt6.js.map +0 -14
- package/dist/chunk-b1bqvhpe.js.map +0 -13
- package/dist/chunk-b5dp7gaf.js +0 -1092
- package/dist/chunk-b5dp7gaf.js.map +0 -26
- package/dist/chunk-bh8bwma3.js +0 -37
- package/dist/chunk-bh8bwma3.js.map +0 -10
- package/dist/chunk-btcsywk4.js +0 -985
- package/dist/chunk-btcsywk4.js.map +0 -15
- package/dist/chunk-exrfbt2d.js +0 -354
- package/dist/chunk-exrfbt2d.js.map +0 -17
- package/dist/chunk-hb9xcx9c.js.map +0 -14
- package/dist/chunk-k25jm1x5.js +0 -102
- package/dist/chunk-k25jm1x5.js.map +0 -10
- package/dist/chunk-k6j72mtt.js +0 -9
- package/dist/chunk-k6j72mtt.js.map +0 -10
- package/dist/chunk-m9w0artv.js +0 -554
- package/dist/chunk-m9w0artv.js.map +0 -13
- package/dist/chunk-nbywkytr.js.map +0 -16
- package/dist/chunk-p7vj8xgb.js.map +0 -34
- package/dist/chunk-raq0x6bd.js.map +0 -48
- package/dist/chunk-rgzed50y.js +0 -1445
- package/dist/chunk-rgzed50y.js.map +0 -22
- package/dist/chunk-rjqm6ksg.js.map +0 -44
- package/dist/chunk-t72dvahb.js.map +0 -12
- package/dist/chunk-v5c085yp.js.map +0 -10
- package/dist/chunk-xt6qx9sh.js.map +0 -36
- package/dist/chunk-xz5g49bp.js.map +0 -11
- package/dist/chunk-ya6brh8a.js.map +0 -11
- package/dist/chunk-yn947ck3.js.map +0 -14
- package/dist/connectors/runtime.d.ts +0 -13
- package/dist/connectors/runtime.d.ts.map +0 -1
- package/dist/events/runtime.d.ts.map +0 -1
- package/dist/objects/contexts.d.ts +0 -45
- package/dist/objects/contexts.d.ts.map +0 -1
- package/dist/objects/helpers.d.ts +0 -7
- package/dist/objects/helpers.d.ts.map +0 -1
- package/dist/runtime/scoped.d.ts +0 -158
- package/dist/runtime/scoped.d.ts.map +0 -1
- package/dist/security/runtime.d.ts +0 -16
- package/dist/security/runtime.d.ts.map +0 -1
- package/dist/storage/webhook-deliveries/in-memory.d.ts +0 -18
- package/dist/storage/webhook-deliveries/in-memory.d.ts.map +0 -1
- package/dist/storage/webhook-deliveries/index.d.ts +0 -3
- package/dist/storage/webhook-deliveries/index.d.ts.map +0 -1
- package/dist/storage/webhook-deliveries/types.d.ts +0 -43
- package/dist/storage/webhook-deliveries/types.d.ts.map +0 -1
- package/dist/workflows/runtime.d.ts +0 -33
- package/dist/workflows/runtime.d.ts.map +0 -1
- package/src/actions/runtime.ts +0 -31
- package/src/agents/runtime.ts +0 -124
- package/src/connectors/runtime.ts +0 -100
- package/src/objects/contexts.ts +0 -64
- package/src/objects/helpers.ts +0 -18
- package/src/runtime/scoped.ts +0 -436
- package/src/security/runtime.ts +0 -101
- package/src/storage/webhook-deliveries/in-memory.ts +0 -108
- package/src/storage/webhook-deliveries/index.ts +0 -9
- package/src/storage/webhook-deliveries/types.ts +0 -41
- package/src/workflows/runtime.ts +0 -68
- /package/dist/{chunk-md9jbrm9.js.map → chunk-4gz41why.js.map} +0 -0
- /package/dist/{chunk-6rzdtvn5.js.map → chunk-8b55ygje.js.map} +0 -0
- /package/dist/{chunk-r82k4z7z.js.map → chunk-a31h57d5.js.map} +0 -0
- /package/dist/{chunk-qzyemcj7.js.map → chunk-ckxfnx7f.js.map} +0 -0
- /package/dist/{chunk-53s4asfm.js.map → chunk-rnshztfq.js.map} +0 -0
- /package/dist/{chunk-8kv2sez0.js.map → chunk-vybf6pkp.js.map} +0 -0
- /package/dist/{chunk-6zrpewy4.js.map → chunk-z3zp0bj1.js.map} +0 -0
- /package/dist/{chunk-hz8m927w.js.map → chunk-zqysyfjt.js.map} +0 -0
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
import { describe, expect, test } from "bun:test"
|
|
2
2
|
import { AGENT_MESSAGE_CONTENT_VERSION } from "../agents/message"
|
|
3
3
|
import type { Principal } from "../auth"
|
|
4
|
+
import type { SixbFailure } from "../errors/types"
|
|
4
5
|
import {
|
|
5
6
|
type AgentRunExecution,
|
|
7
|
+
type AgentRunFailureCode,
|
|
6
8
|
type AgentStorage,
|
|
7
9
|
AgentStorageError,
|
|
8
10
|
type AgentStorageErrorCode,
|
|
11
|
+
type CreateAgentContextCheckpointInput,
|
|
9
12
|
type CreateAgentRunInput,
|
|
10
13
|
type CreateAgentThreadInput,
|
|
11
14
|
type StartAgentRunInput,
|
|
12
15
|
} from "../storage/agents"
|
|
16
|
+
import type { AuthStorage } from "../storage/auth"
|
|
17
|
+
import type { ExecutionStorage } from "../storage/executions"
|
|
18
|
+
import type { Storage } from "../storage/types"
|
|
19
|
+
import { createTestAgentExecution } from "./agent-execution"
|
|
20
|
+
|
|
21
|
+
export interface AgentStorageContractStorage extends Pick<Storage, "transaction"> {
|
|
22
|
+
readonly agents: AgentStorage
|
|
23
|
+
readonly auth: AuthStorage
|
|
24
|
+
readonly executions: ExecutionStorage
|
|
25
|
+
}
|
|
13
26
|
|
|
14
|
-
export interface AgentStorageContractSuiteOptions<
|
|
15
|
-
|
|
27
|
+
export interface AgentStorageContractSuiteOptions<
|
|
28
|
+
TStorage extends AgentStorageContractStorage = AgentStorageContractStorage,
|
|
29
|
+
> {
|
|
30
|
+
/** Factory that produces a fresh storage bundle for each test case. */
|
|
16
31
|
readonly createStorage: () => TStorage | Promise<TStorage>
|
|
17
32
|
/** Optional cleanup invoked after every test case. */
|
|
18
33
|
readonly teardown?: (storage: TStorage) => void | Promise<void>
|
|
@@ -26,6 +41,14 @@ const serviceAccount: Extract<Principal, { readonly type: "serviceAccount" }> =
|
|
|
26
41
|
id: "svc_agent_sales",
|
|
27
42
|
}
|
|
28
43
|
|
|
44
|
+
function failure(
|
|
45
|
+
message: string,
|
|
46
|
+
at: string,
|
|
47
|
+
code: AgentRunFailureCode = "internal.unexpected"
|
|
48
|
+
): SixbFailure<AgentRunFailureCode> {
|
|
49
|
+
return { code, message, retryable: false, at }
|
|
50
|
+
}
|
|
51
|
+
|
|
29
52
|
function at(value: string): Date {
|
|
30
53
|
return new Date(value)
|
|
31
54
|
}
|
|
@@ -63,51 +86,139 @@ type TestRunInput = CreateAgentRunInput &
|
|
|
63
86
|
}
|
|
64
87
|
|
|
65
88
|
function runInput(overrides: Partial<TestRunInput> = {}): TestRunInput {
|
|
66
|
-
|
|
89
|
+
const input = {
|
|
67
90
|
id: "run_1",
|
|
68
91
|
projectId,
|
|
69
92
|
threadId: "thr_1",
|
|
70
93
|
agentId: "sales",
|
|
71
94
|
triggerMessageId: "msg_user_1",
|
|
72
|
-
|
|
95
|
+
executionId: "test_agent_execution:run_1",
|
|
96
|
+
requesterGroupIds: ["support", "engineering", "support"],
|
|
73
97
|
execution: execution("exec_1"),
|
|
74
98
|
createdAt: at("2026-06-23T10:00:10.000Z"),
|
|
75
99
|
...overrides,
|
|
76
100
|
}
|
|
101
|
+
return {
|
|
102
|
+
...input,
|
|
103
|
+
executionId: overrides.executionId ?? `test_agent_execution:${input.id}`,
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function checkpointInput(
|
|
108
|
+
overrides: Partial<CreateAgentContextCheckpointInput> = {}
|
|
109
|
+
): CreateAgentContextCheckpointInput {
|
|
110
|
+
return {
|
|
111
|
+
id: "checkpoint_1",
|
|
112
|
+
projectId,
|
|
113
|
+
threadId: "thr_1",
|
|
114
|
+
createdByRunId: "run_2",
|
|
115
|
+
expectedPreviousCheckpointId: null,
|
|
116
|
+
expectedHeadSeq: 3,
|
|
117
|
+
executionToken: "exec_2",
|
|
118
|
+
reason: "threshold",
|
|
119
|
+
summary: "The user asked for one and the agent answered two.",
|
|
120
|
+
summaryFormatVersion: 1,
|
|
121
|
+
summarizedThroughSeq: 2,
|
|
122
|
+
observedHeadSeq: 3,
|
|
123
|
+
estimatedInputTokensBefore: 1_000,
|
|
124
|
+
estimatedInputTokensAfter: 300,
|
|
125
|
+
summaryModelId: "test-model",
|
|
126
|
+
createdAt: at("2026-06-23T10:03:00.000Z"),
|
|
127
|
+
...overrides,
|
|
128
|
+
}
|
|
77
129
|
}
|
|
78
130
|
|
|
79
131
|
async function createAndStartRun(
|
|
80
132
|
storage: AgentStorage,
|
|
133
|
+
fixture: AgentStorageContractStorage,
|
|
81
134
|
input: TestRunInput
|
|
82
135
|
): Promise<Awaited<ReturnType<AgentStorage["runs"]["start"]>>> {
|
|
83
|
-
await storage
|
|
136
|
+
await createRun(storage, fixture, input)
|
|
84
137
|
return storage.runs.start({
|
|
85
138
|
id: input.id,
|
|
86
139
|
projectId: input.projectId,
|
|
87
|
-
executionPrincipal: input.executionPrincipal,
|
|
88
140
|
modelId: input.modelId,
|
|
89
141
|
execution: input.execution,
|
|
90
142
|
startedAt: input.startedAt,
|
|
91
143
|
})
|
|
92
144
|
}
|
|
93
145
|
|
|
146
|
+
async function createRun(
|
|
147
|
+
storage: AgentStorage,
|
|
148
|
+
fixture: AgentStorageContractStorage,
|
|
149
|
+
input: CreateAgentRunInput
|
|
150
|
+
) {
|
|
151
|
+
await createTestAgentExecution(fixture, {
|
|
152
|
+
projectId: input.projectId,
|
|
153
|
+
agentId: input.agentId,
|
|
154
|
+
runId: input.id,
|
|
155
|
+
executionId: input.executionId,
|
|
156
|
+
})
|
|
157
|
+
return storage.runs.create(input)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
async function prepareCheckpointCandidate(
|
|
161
|
+
storage: AgentStorage,
|
|
162
|
+
fixture: AgentStorageContractStorage
|
|
163
|
+
): Promise<void> {
|
|
164
|
+
await storage.threads.create(threadInput())
|
|
165
|
+
await storage.messages.append({
|
|
166
|
+
id: "m1",
|
|
167
|
+
projectId,
|
|
168
|
+
threadId: "thr_1",
|
|
169
|
+
runId: null,
|
|
170
|
+
role: "user",
|
|
171
|
+
parts: [{ type: "text", text: "one" }],
|
|
172
|
+
})
|
|
173
|
+
await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
174
|
+
await storage.messages.append({
|
|
175
|
+
id: "m2",
|
|
176
|
+
projectId,
|
|
177
|
+
threadId: "thr_1",
|
|
178
|
+
runId: "run_1",
|
|
179
|
+
role: "assistant",
|
|
180
|
+
parts: [{ type: "text", text: "two" }],
|
|
181
|
+
})
|
|
182
|
+
await storage.runs.finish({
|
|
183
|
+
id: "run_1",
|
|
184
|
+
projectId,
|
|
185
|
+
executionToken: "exec_1",
|
|
186
|
+
status: "succeeded",
|
|
187
|
+
})
|
|
188
|
+
await storage.messages.append({
|
|
189
|
+
id: "m3",
|
|
190
|
+
projectId,
|
|
191
|
+
threadId: "thr_1",
|
|
192
|
+
runId: null,
|
|
193
|
+
role: "user",
|
|
194
|
+
parts: [{ type: "text", text: "three" }],
|
|
195
|
+
})
|
|
196
|
+
await createAndStartRun(
|
|
197
|
+
storage,
|
|
198
|
+
fixture,
|
|
199
|
+
runInput({ id: "run_2", triggerMessageId: "m3", execution: execution("exec_2") })
|
|
200
|
+
)
|
|
201
|
+
}
|
|
202
|
+
|
|
94
203
|
/**
|
|
95
204
|
* Runs the shared `AgentStorage` contract against any storage implementation.
|
|
96
205
|
*
|
|
97
206
|
* This is the storage-independent specification for Sixb agent persistence: thread lifecycle and
|
|
98
207
|
* project isolation, single-flight run reservation, execution reclaim, run finalization with
|
|
99
|
-
* execution metadata,
|
|
208
|
+
* execution metadata, message append with thread-stats bookkeeping, and fenced context checkpoints.
|
|
100
209
|
*/
|
|
101
|
-
export function runAgentStorageContractSuite<TStorage extends
|
|
210
|
+
export function runAgentStorageContractSuite<TStorage extends AgentStorageContractStorage>(
|
|
102
211
|
label: string,
|
|
103
212
|
options: AgentStorageContractSuiteOptions<TStorage>
|
|
104
213
|
): void {
|
|
105
|
-
const withStorage = async (
|
|
106
|
-
|
|
214
|
+
const withStorage = async (
|
|
215
|
+
body: (storage: AgentStorage, fixture: TStorage) => Promise<void>
|
|
216
|
+
): Promise<void> => {
|
|
217
|
+
const fixture = await options.createStorage()
|
|
107
218
|
try {
|
|
108
|
-
await body(
|
|
219
|
+
await body(fixture.agents, fixture)
|
|
109
220
|
} finally {
|
|
110
|
-
await options.teardown?.(
|
|
221
|
+
await options.teardown?.(fixture)
|
|
111
222
|
}
|
|
112
223
|
}
|
|
113
224
|
|
|
@@ -210,10 +321,10 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
210
321
|
// ── durable queued runs ────────────────────────────────────────────────────────────────────
|
|
211
322
|
|
|
212
323
|
test("creates a queued run before execution and claims the thread", async () => {
|
|
213
|
-
await withStorage(async (storage) => {
|
|
324
|
+
await withStorage(async (storage, fixture) => {
|
|
214
325
|
await storage.threads.create(threadInput())
|
|
215
326
|
|
|
216
|
-
const queued = await storage
|
|
327
|
+
const queued = await createRun(storage, fixture, runInput({ id: "run_1" }))
|
|
217
328
|
expect(queued).toMatchObject({ status: "queued", attempt: 0, threadId: "thr_1" })
|
|
218
329
|
expect(queued.execution).toBeUndefined()
|
|
219
330
|
expect(queued.startedAt).toBeUndefined()
|
|
@@ -230,34 +341,60 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
230
341
|
const started = await storage.runs.start({
|
|
231
342
|
projectId,
|
|
232
343
|
id: "run_1",
|
|
233
|
-
executionPrincipal: serviceAccount,
|
|
234
344
|
modelId: "test-model",
|
|
235
345
|
execution: execution("exec_1"),
|
|
236
346
|
startedAt: at("2026-06-23T10:01:00.000Z"),
|
|
237
347
|
})
|
|
238
348
|
expect(started).toMatchObject({ status: "running", attempt: 1, modelId: "test-model" })
|
|
239
349
|
expect(started.execution).toEqual(execution("exec_1"))
|
|
240
|
-
expect(started.
|
|
350
|
+
expect(started.executionId).toBe("test_agent_execution:run_1")
|
|
241
351
|
expect(started.startedAt?.toISOString()).toBe("2026-06-23T10:01:00.000Z")
|
|
242
352
|
})
|
|
243
353
|
})
|
|
244
354
|
|
|
355
|
+
test("rejects a run whose durable execution does not match its Agent authority", async () => {
|
|
356
|
+
await withStorage(async (storage, fixture) => {
|
|
357
|
+
await storage.threads.create(threadInput())
|
|
358
|
+
const executionId = await createTestAgentExecution(fixture, {
|
|
359
|
+
projectId,
|
|
360
|
+
agentId: "support",
|
|
361
|
+
runId: "run_1",
|
|
362
|
+
})
|
|
363
|
+
|
|
364
|
+
await expectAgentError(
|
|
365
|
+
storage.runs.create(runInput({ id: "run_1", executionId })),
|
|
366
|
+
"invalid_input"
|
|
367
|
+
)
|
|
368
|
+
await expect(storage.threads.getById({ projectId, id: "thr_1" })).resolves.toMatchObject({
|
|
369
|
+
activeRunId: null,
|
|
370
|
+
})
|
|
371
|
+
})
|
|
372
|
+
})
|
|
373
|
+
|
|
245
374
|
test("finishes a queued run and releases the thread", async () => {
|
|
246
|
-
await withStorage(async (storage) => {
|
|
375
|
+
await withStorage(async (storage, fixture) => {
|
|
247
376
|
await storage.threads.create(threadInput())
|
|
248
|
-
await storage
|
|
377
|
+
await createRun(storage, fixture, runInput({ id: "run_1" }))
|
|
249
378
|
|
|
250
379
|
const cancelled = await storage.runs.finishQueued({
|
|
251
380
|
projectId,
|
|
252
381
|
id: "run_1",
|
|
253
382
|
status: "cancelled",
|
|
254
|
-
error:
|
|
383
|
+
error: failure(
|
|
384
|
+
"Cancelled before execution",
|
|
385
|
+
"2026-06-23T10:01:00.000Z",
|
|
386
|
+
"runtime.cancelled"
|
|
387
|
+
),
|
|
255
388
|
completedAt: at("2026-06-23T10:01:00.000Z"),
|
|
256
389
|
})
|
|
257
390
|
expect(cancelled).toMatchObject({
|
|
258
391
|
status: "cancelled",
|
|
259
392
|
attempt: 0,
|
|
260
|
-
error:
|
|
393
|
+
error: failure(
|
|
394
|
+
"Cancelled before execution",
|
|
395
|
+
"2026-06-23T10:01:00.000Z",
|
|
396
|
+
"runtime.cancelled"
|
|
397
|
+
),
|
|
261
398
|
})
|
|
262
399
|
await expect(storage.threads.getById({ projectId, id: "thr_1" })).resolves.toMatchObject({
|
|
263
400
|
activeRunId: null,
|
|
@@ -271,52 +408,70 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
271
408
|
"invalid_state"
|
|
272
409
|
)
|
|
273
410
|
|
|
274
|
-
await storage
|
|
411
|
+
await createRun(storage, fixture, runInput({ id: "run_2" }))
|
|
275
412
|
await expect(
|
|
276
413
|
storage.runs.finishQueued({
|
|
277
414
|
projectId,
|
|
278
415
|
id: "run_2",
|
|
279
416
|
status: "failed",
|
|
280
|
-
error: "Agent is unavailable",
|
|
417
|
+
error: failure("Agent is unavailable", "2026-06-23T10:02:00.000Z"),
|
|
418
|
+
completedAt: at("2026-06-23T10:02:00.000Z"),
|
|
281
419
|
})
|
|
282
|
-
).resolves.toMatchObject({
|
|
420
|
+
).resolves.toMatchObject({
|
|
421
|
+
status: "failed",
|
|
422
|
+
attempt: 0,
|
|
423
|
+
error: failure("Agent is unavailable", "2026-06-23T10:02:00.000Z"),
|
|
424
|
+
})
|
|
283
425
|
})
|
|
284
426
|
})
|
|
285
427
|
|
|
286
428
|
// ── single-flight execution ─────────────────────────────────────────────────────────────────
|
|
287
429
|
|
|
288
430
|
test("allows a single active run per thread", async () => {
|
|
289
|
-
await withStorage(async (storage) => {
|
|
431
|
+
await withStorage(async (storage, fixture) => {
|
|
290
432
|
await storage.threads.create(threadInput())
|
|
291
433
|
|
|
292
|
-
const run = await createAndStartRun(storage, runInput({ id: "run_1" }))
|
|
434
|
+
const run = await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
293
435
|
expect(run).toMatchObject({ status: "running", attempt: 1, threadId: "thr_1" })
|
|
294
|
-
expect(run.
|
|
436
|
+
expect(run.executionId).toBe("test_agent_execution:run_1")
|
|
437
|
+
expect(run.requesterGroupIds).toEqual(["engineering", "support"])
|
|
295
438
|
expect(run.execution?.token).toBe("exec_1")
|
|
296
439
|
await expect(storage.threads.getById({ projectId, id: "thr_1" })).resolves.toMatchObject({
|
|
297
440
|
activeRunId: "run_1",
|
|
298
441
|
})
|
|
299
442
|
|
|
300
443
|
await expectAgentError(
|
|
301
|
-
createAndStartRun(
|
|
444
|
+
createAndStartRun(
|
|
445
|
+
storage,
|
|
446
|
+
fixture,
|
|
447
|
+
runInput({ id: "run_2", execution: execution("exec_2") })
|
|
448
|
+
),
|
|
302
449
|
"active_run_exists"
|
|
303
450
|
)
|
|
304
451
|
|
|
305
452
|
// Reservation against an unknown thread / duplicate run id.
|
|
306
453
|
await expectAgentError(
|
|
307
|
-
createAndStartRun(storage, runInput({ id: "run_x", threadId: "ghost" })),
|
|
454
|
+
createAndStartRun(storage, fixture, runInput({ id: "run_x", threadId: "ghost" })),
|
|
308
455
|
"thread_not_found"
|
|
309
456
|
)
|
|
310
457
|
})
|
|
311
458
|
})
|
|
312
459
|
|
|
313
460
|
test("never lets two concurrent queued runs both claim one thread", async () => {
|
|
314
|
-
await withStorage(async (storage) => {
|
|
461
|
+
await withStorage(async (storage, fixture) => {
|
|
315
462
|
await storage.threads.create(threadInput())
|
|
316
463
|
|
|
317
464
|
const results = await Promise.allSettled([
|
|
318
|
-
createAndStartRun(
|
|
319
|
-
|
|
465
|
+
createAndStartRun(
|
|
466
|
+
storage,
|
|
467
|
+
fixture,
|
|
468
|
+
runInput({ id: "run_a", execution: execution("exec_a") })
|
|
469
|
+
),
|
|
470
|
+
createAndStartRun(
|
|
471
|
+
storage,
|
|
472
|
+
fixture,
|
|
473
|
+
runInput({ id: "run_b", execution: execution("exec_b") })
|
|
474
|
+
),
|
|
320
475
|
])
|
|
321
476
|
const fulfilled = results.filter((result) => result.status === "fulfilled")
|
|
322
477
|
const rejected = results.filter(
|
|
@@ -332,9 +487,9 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
332
487
|
// ── execution reclaim ───────────────────────────────────────────────────────────────────────
|
|
333
488
|
|
|
334
489
|
test("reclaim rotates the execution token and bumps the attempt", async () => {
|
|
335
|
-
await withStorage(async (storage) => {
|
|
490
|
+
await withStorage(async (storage, fixture) => {
|
|
336
491
|
await storage.threads.create(threadInput())
|
|
337
|
-
await createAndStartRun(storage, runInput({ id: "run_1" }))
|
|
492
|
+
await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
338
493
|
|
|
339
494
|
const reclaimed = await storage.runs.reclaim({
|
|
340
495
|
projectId,
|
|
@@ -357,10 +512,11 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
357
512
|
})
|
|
358
513
|
|
|
359
514
|
test("projects confirmed queue ownership monotonically and fences stale executions", async () => {
|
|
360
|
-
await withStorage(async (storage) => {
|
|
515
|
+
await withStorage(async (storage, fixture) => {
|
|
361
516
|
await storage.threads.create(threadInput())
|
|
362
517
|
await createAndStartRun(
|
|
363
518
|
storage,
|
|
519
|
+
fixture,
|
|
364
520
|
runInput({
|
|
365
521
|
id: "run_1",
|
|
366
522
|
execution: execution("exec_1", at("2026-06-23T10:02:00.000Z")),
|
|
@@ -403,9 +559,9 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
403
559
|
})
|
|
404
560
|
|
|
405
561
|
test("does not alias stored run records to callers", async () => {
|
|
406
|
-
await withStorage(async (storage) => {
|
|
562
|
+
await withStorage(async (storage, fixture) => {
|
|
407
563
|
await storage.threads.create(threadInput())
|
|
408
|
-
const run = await createAndStartRun(storage, runInput({ id: "run_1" }))
|
|
564
|
+
const run = await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
409
565
|
|
|
410
566
|
const mutableExecution = run.execution as
|
|
411
567
|
| { token: string; queueLeaseExpiresAt: Date }
|
|
@@ -414,20 +570,23 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
414
570
|
mutableExecution.token = "mutated"
|
|
415
571
|
mutableExecution.queueLeaseExpiresAt.setTime(0)
|
|
416
572
|
}
|
|
573
|
+
;(run.requesterGroupIds as string[]).push("mutated")
|
|
417
574
|
const reread = await storage.runs.getById({ projectId, id: "run_1" })
|
|
418
575
|
expect(reread?.execution?.token).toBe("exec_1")
|
|
576
|
+
expect(reread?.requesterGroupIds).toEqual(["engineering", "support"])
|
|
419
577
|
})
|
|
420
578
|
})
|
|
421
579
|
|
|
422
580
|
// ── finalization ────────────────────────────────────────────────────────────────────────────
|
|
423
581
|
|
|
424
582
|
test("releasing a run only clears its own thread's active pointer", async () => {
|
|
425
|
-
await withStorage(async (storage) => {
|
|
583
|
+
await withStorage(async (storage, fixture) => {
|
|
426
584
|
await storage.threads.create(threadInput({ id: "thr_1" }))
|
|
427
585
|
await storage.threads.create(threadInput({ id: "thr_2" }))
|
|
428
|
-
await createAndStartRun(storage, runInput({ id: "run_1", threadId: "thr_1" }))
|
|
586
|
+
await createAndStartRun(storage, fixture, runInput({ id: "run_1", threadId: "thr_1" }))
|
|
429
587
|
await createAndStartRun(
|
|
430
588
|
storage,
|
|
589
|
+
fixture,
|
|
431
590
|
runInput({
|
|
432
591
|
id: "run_2",
|
|
433
592
|
threadId: "thr_2",
|
|
@@ -453,9 +612,9 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
453
612
|
})
|
|
454
613
|
|
|
455
614
|
test("finishes a run, records execution metadata, and releases the thread", async () => {
|
|
456
|
-
await withStorage(async (storage) => {
|
|
615
|
+
await withStorage(async (storage, fixture) => {
|
|
457
616
|
await storage.threads.create(threadInput())
|
|
458
|
-
await createAndStartRun(storage, runInput({ id: "run_1" }))
|
|
617
|
+
await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
459
618
|
|
|
460
619
|
const finished = await storage.runs.finish({
|
|
461
620
|
projectId,
|
|
@@ -464,7 +623,6 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
464
623
|
status: "succeeded",
|
|
465
624
|
modelId: "claude-haiku-4-5",
|
|
466
625
|
finishReason: "stop",
|
|
467
|
-
usage: { inputTokens: 120, outputTokens: 80, totalTokens: 200 },
|
|
468
626
|
diagnostics: [
|
|
469
627
|
{
|
|
470
628
|
code: "output_file_too_large",
|
|
@@ -481,7 +639,6 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
481
639
|
modelId: "claude-haiku-4-5",
|
|
482
640
|
finishReason: "stop",
|
|
483
641
|
})
|
|
484
|
-
expect(finished.usage).toEqual({ inputTokens: 120, outputTokens: 80, totalTokens: 200 })
|
|
485
642
|
expect(finished.diagnostics).toEqual([
|
|
486
643
|
{
|
|
487
644
|
code: "output_file_too_large",
|
|
@@ -502,15 +659,19 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
502
659
|
activeRunId: null,
|
|
503
660
|
})
|
|
504
661
|
await expect(
|
|
505
|
-
createAndStartRun(
|
|
662
|
+
createAndStartRun(
|
|
663
|
+
storage,
|
|
664
|
+
fixture,
|
|
665
|
+
runInput({ id: "run_2", execution: execution("exec_2") })
|
|
666
|
+
)
|
|
506
667
|
).resolves.toMatchObject({ status: "running" })
|
|
507
668
|
})
|
|
508
669
|
})
|
|
509
670
|
|
|
510
671
|
test("records failure detail and rejects a non-running run or stale execution", async () => {
|
|
511
|
-
await withStorage(async (storage) => {
|
|
672
|
+
await withStorage(async (storage, fixture) => {
|
|
512
673
|
await storage.threads.create(threadInput())
|
|
513
|
-
await createAndStartRun(storage, runInput({ id: "run_1" }))
|
|
674
|
+
await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
514
675
|
|
|
515
676
|
await expectAgentError(
|
|
516
677
|
storage.runs.finish({
|
|
@@ -518,7 +679,7 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
518
679
|
id: "run_1",
|
|
519
680
|
executionToken: "wrong",
|
|
520
681
|
status: "failed",
|
|
521
|
-
error: "boom",
|
|
682
|
+
error: failure("boom", "2026-06-23T10:08:00.000Z"),
|
|
522
683
|
}),
|
|
523
684
|
"execution_lost"
|
|
524
685
|
)
|
|
@@ -528,11 +689,11 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
528
689
|
id: "run_1",
|
|
529
690
|
executionToken: "exec_1",
|
|
530
691
|
status: "failed",
|
|
531
|
-
error: "ProviderError: boom",
|
|
692
|
+
error: failure("ProviderError: boom", "2026-06-23T10:08:00.000Z"),
|
|
532
693
|
completedAt: at("2026-06-23T10:08:00.000Z"),
|
|
533
694
|
})
|
|
534
695
|
expect(failed.status).toBe("failed")
|
|
535
|
-
expect(failed.error).
|
|
696
|
+
expect(failed.error).toEqual(failure("ProviderError: boom", "2026-06-23T10:08:00.000Z"))
|
|
536
697
|
|
|
537
698
|
// Already terminal → cannot finish again.
|
|
538
699
|
await expectAgentError(
|
|
@@ -548,12 +709,13 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
548
709
|
})
|
|
549
710
|
|
|
550
711
|
test("lists runs with thread, status, and ordering filters", async () => {
|
|
551
|
-
await withStorage(async (storage) => {
|
|
712
|
+
await withStorage(async (storage, fixture) => {
|
|
552
713
|
await storage.threads.create(threadInput({ id: "thr_1" }))
|
|
553
714
|
await storage.threads.create(threadInput({ id: "thr_2" }))
|
|
554
715
|
|
|
555
716
|
await createAndStartRun(
|
|
556
717
|
storage,
|
|
718
|
+
fixture,
|
|
557
719
|
runInput({
|
|
558
720
|
id: "run_1",
|
|
559
721
|
threadId: "thr_1",
|
|
@@ -568,6 +730,7 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
568
730
|
})
|
|
569
731
|
await createAndStartRun(
|
|
570
732
|
storage,
|
|
733
|
+
fixture,
|
|
571
734
|
runInput({
|
|
572
735
|
id: "run_2",
|
|
573
736
|
threadId: "thr_1",
|
|
@@ -577,6 +740,7 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
577
740
|
)
|
|
578
741
|
await createAndStartRun(
|
|
579
742
|
storage,
|
|
743
|
+
fixture,
|
|
580
744
|
runInput({
|
|
581
745
|
id: "run_3",
|
|
582
746
|
threadId: "thr_2",
|
|
@@ -597,26 +761,32 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
597
761
|
})
|
|
598
762
|
|
|
599
763
|
test("filters queued runs by their effective created timestamp", async () => {
|
|
600
|
-
await withStorage(async (storage) => {
|
|
764
|
+
await withStorage(async (storage, fixture) => {
|
|
601
765
|
await storage.threads.create(threadInput({ id: "thr_before" }))
|
|
602
766
|
await storage.threads.create(threadInput({ id: "thr_inside" }))
|
|
603
767
|
await storage.threads.create(threadInput({ id: "thr_after" }))
|
|
604
768
|
|
|
605
|
-
await
|
|
769
|
+
await createRun(
|
|
770
|
+
storage,
|
|
771
|
+
fixture,
|
|
606
772
|
runInput({
|
|
607
773
|
id: "run_before",
|
|
608
774
|
threadId: "thr_before",
|
|
609
775
|
createdAt: at("2026-06-23T10:00:00.000Z"),
|
|
610
776
|
})
|
|
611
777
|
)
|
|
612
|
-
await
|
|
778
|
+
await createRun(
|
|
779
|
+
storage,
|
|
780
|
+
fixture,
|
|
613
781
|
runInput({
|
|
614
782
|
id: "run_inside",
|
|
615
783
|
threadId: "thr_inside",
|
|
616
784
|
createdAt: at("2026-06-23T11:00:00.000Z"),
|
|
617
785
|
})
|
|
618
786
|
)
|
|
619
|
-
await
|
|
787
|
+
await createRun(
|
|
788
|
+
storage,
|
|
789
|
+
fixture,
|
|
620
790
|
runInput({
|
|
621
791
|
id: "run_after",
|
|
622
792
|
threadId: "thr_after",
|
|
@@ -640,7 +810,7 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
640
810
|
// ── messages ──────────────────────────────────────────────────────────────────────────────
|
|
641
811
|
|
|
642
812
|
test("appends messages, assigns seq, and bumps thread stats", async () => {
|
|
643
|
-
await withStorage(async (storage) => {
|
|
813
|
+
await withStorage(async (storage, fixture) => {
|
|
644
814
|
await storage.threads.create(threadInput())
|
|
645
815
|
|
|
646
816
|
const userMessage = await storage.messages.append({
|
|
@@ -661,14 +831,8 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
661
831
|
})
|
|
662
832
|
expect(userMessage.authorPrincipal).toEqual(owner)
|
|
663
833
|
|
|
664
|
-
const run = await createAndStartRun(
|
|
665
|
-
|
|
666
|
-
runInput({
|
|
667
|
-
id: "run_1",
|
|
668
|
-
executionPrincipal: serviceAccount,
|
|
669
|
-
})
|
|
670
|
-
)
|
|
671
|
-
expect(run.executionPrincipal).toEqual(serviceAccount)
|
|
834
|
+
const run = await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
835
|
+
expect(run.executionId).toBe("test_agent_execution:run_1")
|
|
672
836
|
const assistantMessage = await storage.messages.append({
|
|
673
837
|
id: "msg_asst_1",
|
|
674
838
|
projectId,
|
|
@@ -715,8 +879,64 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
715
879
|
})
|
|
716
880
|
})
|
|
717
881
|
|
|
882
|
+
test("deletes messages produced by a run and repairs thread stats", async () => {
|
|
883
|
+
await withStorage(async (storage, fixture) => {
|
|
884
|
+
await storage.threads.create(threadInput())
|
|
885
|
+
await storage.messages.append({
|
|
886
|
+
id: "msg_user_1",
|
|
887
|
+
projectId,
|
|
888
|
+
threadId: "thr_1",
|
|
889
|
+
runId: null,
|
|
890
|
+
role: "user",
|
|
891
|
+
parts: [{ type: "text", text: "Try this" }],
|
|
892
|
+
createdAt: at("2026-06-23T10:00:30.000Z"),
|
|
893
|
+
})
|
|
894
|
+
await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
895
|
+
await storage.messages.append({
|
|
896
|
+
id: "msg_asst_1",
|
|
897
|
+
projectId,
|
|
898
|
+
threadId: "thr_1",
|
|
899
|
+
runId: "run_1",
|
|
900
|
+
role: "assistant",
|
|
901
|
+
parts: [
|
|
902
|
+
{ type: "text", text: "Partial answer" },
|
|
903
|
+
{
|
|
904
|
+
type: "tool-call",
|
|
905
|
+
toolCallId: "call_1",
|
|
906
|
+
toolName: "search",
|
|
907
|
+
input: { query: "sixb" },
|
|
908
|
+
state: "output-available",
|
|
909
|
+
output: { matches: 1 },
|
|
910
|
+
},
|
|
911
|
+
],
|
|
912
|
+
createdAt: at("2026-06-23T10:01:00.000Z"),
|
|
913
|
+
})
|
|
914
|
+
|
|
915
|
+
await expect(
|
|
916
|
+
storage.messages.deleteByRunId({ projectId, threadId: "thr_1", runId: "run_1" })
|
|
917
|
+
).resolves.toBe(1)
|
|
918
|
+
await expect(storage.messages.getById({ projectId, id: "msg_asst_1" })).resolves.toBeNull()
|
|
919
|
+
|
|
920
|
+
const messages = await storage.messages.list({ projectId, threadId: "thr_1" })
|
|
921
|
+
expect(messages.messages.map((message) => message.id)).toEqual(["msg_user_1"])
|
|
922
|
+
expect(messages.total).toBe(1)
|
|
923
|
+
await expect(storage.threads.getById({ projectId, id: "thr_1" })).resolves.toMatchObject({
|
|
924
|
+
messageCount: 1,
|
|
925
|
+
lastMessageAt: at("2026-06-23T10:00:30.000Z"),
|
|
926
|
+
})
|
|
927
|
+
|
|
928
|
+
await expect(
|
|
929
|
+
storage.messages.deleteByRunId({ projectId, threadId: "thr_1", runId: "run_1" })
|
|
930
|
+
).resolves.toBe(0)
|
|
931
|
+
await expect(storage.threads.getById({ projectId, id: "thr_1" })).resolves.toMatchObject({
|
|
932
|
+
messageCount: 1,
|
|
933
|
+
lastMessageAt: at("2026-06-23T10:00:30.000Z"),
|
|
934
|
+
})
|
|
935
|
+
})
|
|
936
|
+
})
|
|
937
|
+
|
|
718
938
|
test("lists messages with role filter, ordering, and pagination", async () => {
|
|
719
|
-
await withStorage(async (storage) => {
|
|
939
|
+
await withStorage(async (storage, fixture) => {
|
|
720
940
|
await storage.threads.create(threadInput())
|
|
721
941
|
await storage.messages.append({
|
|
722
942
|
id: "m1",
|
|
@@ -727,7 +947,7 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
727
947
|
parts: [{ type: "text", text: "one" }],
|
|
728
948
|
createdAt: at("2026-06-23T10:00:00.000Z"),
|
|
729
949
|
})
|
|
730
|
-
await createAndStartRun(storage, runInput({ id: "run_1" }))
|
|
950
|
+
await createAndStartRun(storage, fixture, runInput({ id: "run_1" }))
|
|
731
951
|
await storage.messages.append({
|
|
732
952
|
id: "m2",
|
|
733
953
|
projectId,
|
|
@@ -762,6 +982,15 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
762
982
|
})
|
|
763
983
|
expect(users.messages.map((message) => message.id)).toEqual(["m1", "m3"])
|
|
764
984
|
|
|
985
|
+
const retainedTail = await storage.messages.list({
|
|
986
|
+
projectId,
|
|
987
|
+
threadId: "thr_1",
|
|
988
|
+
afterSeq: 1,
|
|
989
|
+
order: "asc",
|
|
990
|
+
})
|
|
991
|
+
expect(retainedTail.messages.map((message) => message.id)).toEqual(["m2", "m3"])
|
|
992
|
+
expect(retainedTail.total).toBe(2)
|
|
993
|
+
|
|
765
994
|
const firstPage = await storage.messages.list({
|
|
766
995
|
projectId,
|
|
767
996
|
threadId: "thr_1",
|
|
@@ -820,5 +1049,210 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorage>(
|
|
|
820
1049
|
)
|
|
821
1050
|
})
|
|
822
1051
|
})
|
|
1052
|
+
|
|
1053
|
+
// ── context checkpoints ─────────────────────────────────────────────────────────────────
|
|
1054
|
+
|
|
1055
|
+
test("creates an idempotent checkpoint without mutating the transcript", async () => {
|
|
1056
|
+
await withStorage(async (storage, fixture) => {
|
|
1057
|
+
await prepareCheckpointCandidate(storage, fixture)
|
|
1058
|
+
await storage.threads.create(threadInput({ id: "thr_2" }))
|
|
1059
|
+
|
|
1060
|
+
const threadBefore = await storage.threads.getById({ projectId, id: "thr_1" })
|
|
1061
|
+
const [created, replayed] = await Promise.all([
|
|
1062
|
+
storage.checkpoints.create(checkpointInput()),
|
|
1063
|
+
storage.checkpoints.create(checkpointInput()),
|
|
1064
|
+
])
|
|
1065
|
+
|
|
1066
|
+
expect(replayed).toEqual(created)
|
|
1067
|
+
expect(created).toMatchObject({
|
|
1068
|
+
id: "checkpoint_1",
|
|
1069
|
+
createdByRunId: "run_2",
|
|
1070
|
+
summarizedThroughSeq: 2,
|
|
1071
|
+
observedHeadSeq: 3,
|
|
1072
|
+
})
|
|
1073
|
+
expect(await storage.checkpoints.getLatest({ projectId, threadId: "thr_1" })).toEqual(
|
|
1074
|
+
created
|
|
1075
|
+
)
|
|
1076
|
+
expect(
|
|
1077
|
+
await storage.checkpoints.getLatest({ projectId: otherProjectId, threadId: "thr_1" })
|
|
1078
|
+
).toBeNull()
|
|
1079
|
+
expect(await storage.checkpoints.getLatest({ projectId, threadId: "thr_2" })).toBeNull()
|
|
1080
|
+
|
|
1081
|
+
const retained = await storage.messages.list({
|
|
1082
|
+
projectId,
|
|
1083
|
+
threadId: "thr_1",
|
|
1084
|
+
afterSeq: created.summarizedThroughSeq,
|
|
1085
|
+
order: "asc",
|
|
1086
|
+
})
|
|
1087
|
+
expect(retained.messages.map((message) => message.id)).toEqual(["m3"])
|
|
1088
|
+
|
|
1089
|
+
const complete = await storage.messages.list({
|
|
1090
|
+
projectId,
|
|
1091
|
+
threadId: "thr_1",
|
|
1092
|
+
order: "asc",
|
|
1093
|
+
})
|
|
1094
|
+
expect(complete.messages.map((message) => message.id)).toEqual(["m1", "m2", "m3"])
|
|
1095
|
+
expect(await storage.threads.getById({ projectId, id: "thr_1" })).toEqual(threadBefore)
|
|
1096
|
+
})
|
|
1097
|
+
})
|
|
1098
|
+
|
|
1099
|
+
test("rejects checkpoints from an inactive run or a different thread", async () => {
|
|
1100
|
+
await withStorage(async (storage, fixture) => {
|
|
1101
|
+
await prepareCheckpointCandidate(storage, fixture)
|
|
1102
|
+
await storage.threads.create(threadInput({ id: "thr_2" }))
|
|
1103
|
+
|
|
1104
|
+
await expectAgentError(
|
|
1105
|
+
storage.checkpoints.create(checkpointInput({ threadId: "thr_2" })),
|
|
1106
|
+
"invalid_input"
|
|
1107
|
+
)
|
|
1108
|
+
|
|
1109
|
+
await storage.runs.finish({
|
|
1110
|
+
id: "run_2",
|
|
1111
|
+
projectId,
|
|
1112
|
+
executionToken: "exec_2",
|
|
1113
|
+
status: "failed",
|
|
1114
|
+
})
|
|
1115
|
+
await expectAgentError(storage.checkpoints.create(checkpointInput()), "invalid_state")
|
|
1116
|
+
expect(await storage.checkpoints.getLatest({ projectId, threadId: "thr_1" })).toBeNull()
|
|
1117
|
+
})
|
|
1118
|
+
})
|
|
1119
|
+
|
|
1120
|
+
test("rolls back a checkpoint with its containing storage transaction", async () => {
|
|
1121
|
+
await withStorage(async (storage, fixture) => {
|
|
1122
|
+
await prepareCheckpointCandidate(storage, fixture)
|
|
1123
|
+
const rollback = new Error("rollback checkpoint")
|
|
1124
|
+
|
|
1125
|
+
await expect(
|
|
1126
|
+
fixture.transaction(async (tx) => {
|
|
1127
|
+
if (!tx.agents) throw new Error("Expected agent storage in transaction.")
|
|
1128
|
+
const created = await tx.agents.checkpoints.create(checkpointInput())
|
|
1129
|
+
expect(await tx.agents.checkpoints.getLatest({ projectId, threadId: "thr_1" })).toEqual(
|
|
1130
|
+
created
|
|
1131
|
+
)
|
|
1132
|
+
throw rollback
|
|
1133
|
+
})
|
|
1134
|
+
).rejects.toBe(rollback)
|
|
1135
|
+
|
|
1136
|
+
expect(await storage.checkpoints.getLatest({ projectId, threadId: "thr_1" })).toBeNull()
|
|
1137
|
+
})
|
|
1138
|
+
})
|
|
1139
|
+
|
|
1140
|
+
test("fences checkpoint creation by execution, message head, and prior checkpoint", async () => {
|
|
1141
|
+
await withStorage(async (storage, fixture) => {
|
|
1142
|
+
await prepareCheckpointCandidate(storage, fixture)
|
|
1143
|
+
|
|
1144
|
+
await expectAgentError(
|
|
1145
|
+
storage.checkpoints.create(checkpointInput({ executionToken: "stale" })),
|
|
1146
|
+
"execution_lost"
|
|
1147
|
+
)
|
|
1148
|
+
await expectAgentError(
|
|
1149
|
+
storage.checkpoints.create(
|
|
1150
|
+
checkpointInput({ expectedHeadSeq: 2, observedHeadSeq: 2, summarizedThroughSeq: 1 })
|
|
1151
|
+
),
|
|
1152
|
+
"invalid_state"
|
|
1153
|
+
)
|
|
1154
|
+
await expectAgentError(
|
|
1155
|
+
storage.checkpoints.create(
|
|
1156
|
+
checkpointInput({ expectedPreviousCheckpointId: "checkpoint_missing" })
|
|
1157
|
+
),
|
|
1158
|
+
"invalid_state"
|
|
1159
|
+
)
|
|
1160
|
+
await expectAgentError(
|
|
1161
|
+
storage.checkpoints.create(checkpointInput({ summarizedThroughSeq: 1 })),
|
|
1162
|
+
"invalid_input"
|
|
1163
|
+
)
|
|
1164
|
+
|
|
1165
|
+
await storage.runs.reclaim({
|
|
1166
|
+
id: "run_2",
|
|
1167
|
+
projectId,
|
|
1168
|
+
execution: execution("exec_2_reclaimed"),
|
|
1169
|
+
})
|
|
1170
|
+
await expectAgentError(storage.checkpoints.create(checkpointInput()), "execution_lost")
|
|
1171
|
+
|
|
1172
|
+
const reclaimedInput = checkpointInput({ executionToken: "exec_2_reclaimed" })
|
|
1173
|
+
await storage.checkpoints.create(reclaimedInput)
|
|
1174
|
+
await expectAgentError(
|
|
1175
|
+
storage.checkpoints.create({ ...reclaimedInput, summary: "different" }),
|
|
1176
|
+
"invalid_state"
|
|
1177
|
+
)
|
|
1178
|
+
await expectAgentError(storage.checkpoints.create(checkpointInput()), "execution_lost")
|
|
1179
|
+
await storage.messages.append({
|
|
1180
|
+
id: "m4",
|
|
1181
|
+
projectId,
|
|
1182
|
+
threadId: "thr_1",
|
|
1183
|
+
runId: "run_2",
|
|
1184
|
+
role: "assistant",
|
|
1185
|
+
parts: [{ type: "text", text: "four" }],
|
|
1186
|
+
})
|
|
1187
|
+
await expectAgentError(storage.checkpoints.create(reclaimedInput), "invalid_state")
|
|
1188
|
+
})
|
|
1189
|
+
})
|
|
1190
|
+
|
|
1191
|
+
test("chains checkpoints only when the retained boundary advances", async () => {
|
|
1192
|
+
await withStorage(async (storage, fixture) => {
|
|
1193
|
+
await prepareCheckpointCandidate(storage, fixture)
|
|
1194
|
+
await storage.checkpoints.create(checkpointInput())
|
|
1195
|
+
await storage.messages.append({
|
|
1196
|
+
id: "m4",
|
|
1197
|
+
projectId,
|
|
1198
|
+
threadId: "thr_1",
|
|
1199
|
+
runId: "run_2",
|
|
1200
|
+
role: "assistant",
|
|
1201
|
+
parts: [{ type: "text", text: "four" }],
|
|
1202
|
+
})
|
|
1203
|
+
await storage.runs.finish({
|
|
1204
|
+
id: "run_2",
|
|
1205
|
+
projectId,
|
|
1206
|
+
executionToken: "exec_2",
|
|
1207
|
+
status: "succeeded",
|
|
1208
|
+
})
|
|
1209
|
+
await storage.messages.append({
|
|
1210
|
+
id: "m5",
|
|
1211
|
+
projectId,
|
|
1212
|
+
threadId: "thr_1",
|
|
1213
|
+
runId: null,
|
|
1214
|
+
role: "user",
|
|
1215
|
+
parts: [{ type: "text", text: "five" }],
|
|
1216
|
+
})
|
|
1217
|
+
await createAndStartRun(
|
|
1218
|
+
storage,
|
|
1219
|
+
fixture,
|
|
1220
|
+
runInput({ id: "run_3", triggerMessageId: "m5", execution: execution("exec_3") })
|
|
1221
|
+
)
|
|
1222
|
+
|
|
1223
|
+
await expectAgentError(
|
|
1224
|
+
storage.checkpoints.create(
|
|
1225
|
+
checkpointInput({
|
|
1226
|
+
id: "checkpoint_2",
|
|
1227
|
+
createdByRunId: "run_3",
|
|
1228
|
+
expectedPreviousCheckpointId: "checkpoint_1",
|
|
1229
|
+
expectedHeadSeq: 5,
|
|
1230
|
+
executionToken: "exec_3",
|
|
1231
|
+
summarizedThroughSeq: 2,
|
|
1232
|
+
observedHeadSeq: 5,
|
|
1233
|
+
})
|
|
1234
|
+
),
|
|
1235
|
+
"invalid_input"
|
|
1236
|
+
)
|
|
1237
|
+
|
|
1238
|
+
const second = await storage.checkpoints.create(
|
|
1239
|
+
checkpointInput({
|
|
1240
|
+
id: "checkpoint_2",
|
|
1241
|
+
createdByRunId: "run_3",
|
|
1242
|
+
expectedPreviousCheckpointId: "checkpoint_1",
|
|
1243
|
+
expectedHeadSeq: 5,
|
|
1244
|
+
executionToken: "exec_3",
|
|
1245
|
+
summary: "The prior summary was extended through the fourth message.",
|
|
1246
|
+
summarizedThroughSeq: 4,
|
|
1247
|
+
observedHeadSeq: 5,
|
|
1248
|
+
createdAt: at("2026-06-23T10:05:00.000Z"),
|
|
1249
|
+
})
|
|
1250
|
+
)
|
|
1251
|
+
expect(second.previousCheckpointId).toBe("checkpoint_1")
|
|
1252
|
+
expect(await storage.checkpoints.getLatest({ projectId, threadId: "thr_1" })).toEqual(
|
|
1253
|
+
second
|
|
1254
|
+
)
|
|
1255
|
+
})
|
|
1256
|
+
})
|
|
823
1257
|
})
|
|
824
1258
|
}
|