@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
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
createPrimitiveExecutionRecord
|
|
4
|
+
} from "./chunk-4aw0jwk0.js";
|
|
5
|
+
import {
|
|
6
|
+
sha256Canonical
|
|
7
|
+
} from "./chunk-fmx1sz2h.js";
|
|
8
|
+
import {
|
|
9
|
+
PROJECTION_RUN_FAILURE_CODES,
|
|
10
|
+
ProjectionRunError,
|
|
11
|
+
assertProjectionRunDurableExecution,
|
|
12
|
+
assertProjectionRunIdentityMatches
|
|
13
|
+
} from "./chunk-dysw7nsm.js";
|
|
14
|
+
import {
|
|
15
|
+
findPrimitiveRunExecution
|
|
16
|
+
} from "./chunk-t9xghkva.js";
|
|
17
|
+
import {
|
|
18
|
+
reportRunFailure
|
|
19
|
+
} from "./chunk-dsrkgtnh.js";
|
|
20
|
+
import {
|
|
21
|
+
ProjectionValidationError
|
|
22
|
+
} from "./chunk-4z3n1dzt.js";
|
|
23
|
+
import {
|
|
24
|
+
createSixbError,
|
|
25
|
+
toSixbFailure
|
|
26
|
+
} from "./chunk-0172wgm9.js";
|
|
27
|
+
// src/projections/capability.ts
|
|
28
|
+
var projectionRegistryKey = Symbol("sixb.projectionRegistry");
|
|
29
|
+
function registerProjectionRegistry(owner, registry) {
|
|
30
|
+
const registered = owner[projectionRegistryKey];
|
|
31
|
+
if (registered && registered !== registry) {
|
|
32
|
+
throw new Error("[Sixb] Projection registry is already registered for this owner.");
|
|
33
|
+
}
|
|
34
|
+
Object.defineProperty(owner, projectionRegistryKey, {
|
|
35
|
+
configurable: false,
|
|
36
|
+
enumerable: false,
|
|
37
|
+
value: registry,
|
|
38
|
+
writable: false
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function getProjectionRegistry(owner) {
|
|
42
|
+
const registry = owner[projectionRegistryKey];
|
|
43
|
+
if (registry)
|
|
44
|
+
return registry;
|
|
45
|
+
throw new Error("[Sixb] Projection registry is not registered for this runtime.");
|
|
46
|
+
}
|
|
47
|
+
function getProjectionDispatchDescriptors(owner) {
|
|
48
|
+
return getProjectionRegistry(owner).getDispatchDescriptors();
|
|
49
|
+
}
|
|
50
|
+
function shareProjectionRegistry(source, target) {
|
|
51
|
+
registerProjectionRegistry(target, getProjectionRegistry(source));
|
|
52
|
+
}
|
|
53
|
+
// src/projections/run-dispatch.ts
|
|
54
|
+
import { randomUUID } from "crypto";
|
|
55
|
+
|
|
56
|
+
// src/projections/run-id.ts
|
|
57
|
+
function createProjectionRunId(projectId, identity) {
|
|
58
|
+
return sha256Canonical({
|
|
59
|
+
projectId,
|
|
60
|
+
projectionId: identity.projectionId,
|
|
61
|
+
projectionKind: identity.projectionKind,
|
|
62
|
+
protocol: identity.protocol,
|
|
63
|
+
datasetId: identity.datasetVersion.datasetId,
|
|
64
|
+
versionId: identity.datasetVersion.versionId,
|
|
65
|
+
createdAt: identity.datasetVersion.createdAt,
|
|
66
|
+
ontologyRevision: identity.ontologyRevision,
|
|
67
|
+
projectionRevision: identity.projectionRevision,
|
|
68
|
+
ownershipHash: identity.ownershipHash
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// src/projections/run-dispatch.ts
|
|
73
|
+
var PROJECTION_TELEMETRY_BATCH_SIZE = 500;
|
|
74
|
+
|
|
75
|
+
class ProjectionRunDispatcher {
|
|
76
|
+
dependencies;
|
|
77
|
+
constructor(dependencies) {
|
|
78
|
+
this.dependencies = dependencies;
|
|
79
|
+
}
|
|
80
|
+
async dispatch(input) {
|
|
81
|
+
assertDispatchInput(input);
|
|
82
|
+
const registry = getProjectionRegistry(this.dependencies);
|
|
83
|
+
const descriptor = registry.resolveDispatch(input.projectionId);
|
|
84
|
+
if (descriptor.datasetId !== input.datasetVersion.datasetId) {
|
|
85
|
+
throw new ProjectionValidationError(`[Sixb] Projection '${input.projectionId}' consumes dataset '${descriptor.datasetId}', not '${input.datasetVersion.datasetId}'.`);
|
|
86
|
+
}
|
|
87
|
+
const projection = this.dependencies.definitions.projections.getById(input.projectionId);
|
|
88
|
+
if (!projection) {
|
|
89
|
+
throw new ProjectionValidationError(`[Sixb] Unknown projection '${input.projectionId}'.`);
|
|
90
|
+
}
|
|
91
|
+
const version = await this.dependencies.lakeStorage.getVersion(input.datasetVersion.datasetId, input.datasetVersion.versionId);
|
|
92
|
+
if (!version || version.createdAt.toISOString() !== input.datasetVersion.createdAt) {
|
|
93
|
+
throw new ProjectionValidationError(`[Sixb] Dataset '${input.datasetVersion.datasetId}' version '${input.datasetVersion.versionId}' does not match its immutable metadata.`);
|
|
94
|
+
}
|
|
95
|
+
if (version.mode === "schema") {
|
|
96
|
+
throw new ProjectionValidationError(`[Sixb] Projection '${input.projectionId}' cannot materialize a schema-only dataset version.`);
|
|
97
|
+
}
|
|
98
|
+
const { datasetId: _datasetId, ...semanticIdentity } = descriptor;
|
|
99
|
+
const identity = {
|
|
100
|
+
...semanticIdentity,
|
|
101
|
+
datasetVersion: structuredClone(input.datasetVersion)
|
|
102
|
+
};
|
|
103
|
+
const runId = createProjectionRunId(this.dependencies.id, identity);
|
|
104
|
+
const projectionRuns = requireProjectionRunStorage(this.dependencies.storage);
|
|
105
|
+
const existing = await projectionRuns.getById({ projectId: this.dependencies.id, id: runId });
|
|
106
|
+
const persisted = existing ? await reuseProjectionRun(this.dependencies, existing, identity) : await persistProjectionRun({
|
|
107
|
+
dependencies: this.dependencies,
|
|
108
|
+
runId,
|
|
109
|
+
identity,
|
|
110
|
+
projection,
|
|
111
|
+
producerExecution: await resolveProducerExecution(this.dependencies.storage, this.dependencies.id, version.producer)
|
|
112
|
+
});
|
|
113
|
+
if (!persisted.publish)
|
|
114
|
+
return existingResult(persisted.run);
|
|
115
|
+
return publishProjectionRun(this.dependencies, input.metadata, persisted);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async function persistProjectionRun(input) {
|
|
119
|
+
const execution = createPrimitiveExecutionRecord({
|
|
120
|
+
id: `exec_${randomUUID()}`,
|
|
121
|
+
primitive: { kind: "projection", id: input.identity.projectionId, runId: input.runId },
|
|
122
|
+
origin: {
|
|
123
|
+
type: "automatic",
|
|
124
|
+
projectId: input.dependencies.id,
|
|
125
|
+
source: {
|
|
126
|
+
type: "datasetVersion",
|
|
127
|
+
datasetId: input.identity.datasetVersion.datasetId,
|
|
128
|
+
versionId: input.identity.datasetVersion.versionId
|
|
129
|
+
},
|
|
130
|
+
correlationId: input.producerExecution?.correlationId ?? input.runId,
|
|
131
|
+
...input.producerExecution?.requestedBy === undefined ? {} : { requestedBy: input.producerExecution.requestedBy }
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
const queuedAt = new Date;
|
|
135
|
+
try {
|
|
136
|
+
return await input.dependencies.storage.transaction(async (tx) => {
|
|
137
|
+
const projectionRuns = requireProjectionRunStorage(tx);
|
|
138
|
+
const raced = await projectionRuns.getById({
|
|
139
|
+
projectId: input.dependencies.id,
|
|
140
|
+
id: input.runId
|
|
141
|
+
});
|
|
142
|
+
if (raced) {
|
|
143
|
+
await assertExistingRun(tx, raced, input.identity);
|
|
144
|
+
return { publish: false, run: raced };
|
|
145
|
+
}
|
|
146
|
+
await tx.executions.create(execution);
|
|
147
|
+
const run = await queueProjectionRun(projectionRuns, {
|
|
148
|
+
id: input.runId,
|
|
149
|
+
projectId: input.dependencies.id,
|
|
150
|
+
executionId: execution.id,
|
|
151
|
+
identity: input.identity,
|
|
152
|
+
projection: input.projection,
|
|
153
|
+
queuedAt
|
|
154
|
+
});
|
|
155
|
+
return { publish: true, run, queuedAt, created: true };
|
|
156
|
+
}, { isolation: "serializable" });
|
|
157
|
+
} catch (error) {
|
|
158
|
+
if (!(error instanceof ProjectionRunError))
|
|
159
|
+
throw error;
|
|
160
|
+
const raced = await requireProjectionRunStorage(input.dependencies.storage).getById({
|
|
161
|
+
projectId: input.dependencies.id,
|
|
162
|
+
id: input.runId
|
|
163
|
+
});
|
|
164
|
+
if (!raced)
|
|
165
|
+
throw error;
|
|
166
|
+
await assertExistingRun(input.dependencies.storage, raced, input.identity);
|
|
167
|
+
return { publish: false, run: raced };
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
async function reuseProjectionRun(dependencies, existing, identity) {
|
|
171
|
+
await assertExistingRun(dependencies.storage, existing, identity);
|
|
172
|
+
if (existing.status !== "failed" || existing.error?.code !== "queue.enqueue_failed" || !existing.error.retryable) {
|
|
173
|
+
return { publish: false, run: existing };
|
|
174
|
+
}
|
|
175
|
+
const queuedAt = new Date;
|
|
176
|
+
const projectionRuns = requireProjectionRunStorage(dependencies.storage);
|
|
177
|
+
try {
|
|
178
|
+
const run = await requeueProjectionRun(projectionRuns, existing, queuedAt);
|
|
179
|
+
return { publish: true, run, queuedAt, created: false };
|
|
180
|
+
} catch (error) {
|
|
181
|
+
if (!(error instanceof ProjectionRunError))
|
|
182
|
+
throw error;
|
|
183
|
+
const raced = await projectionRuns.getById({ projectId: existing.projectId, id: existing.id });
|
|
184
|
+
if (!raced || raced.status === "failed" && raced.error?.code === "queue.enqueue_failed" && raced.error.retryable) {
|
|
185
|
+
throw error;
|
|
186
|
+
}
|
|
187
|
+
await assertExistingRun(dependencies.storage, raced, identity);
|
|
188
|
+
return { publish: false, run: raced };
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async function publishProjectionRun(dependencies, metadata, persisted) {
|
|
192
|
+
try {
|
|
193
|
+
const [job] = await dependencies.queues.projections.enqueue({
|
|
194
|
+
projectId: dependencies.id,
|
|
195
|
+
jobs: [
|
|
196
|
+
{
|
|
197
|
+
id: persisted.run.id,
|
|
198
|
+
type: "projection.run.requested",
|
|
199
|
+
payload: { runId: persisted.run.id },
|
|
200
|
+
...metadata === undefined ? {} : { metadata }
|
|
201
|
+
}
|
|
202
|
+
]
|
|
203
|
+
});
|
|
204
|
+
return {
|
|
205
|
+
projectionId: persisted.run.identity.projectionId,
|
|
206
|
+
runId: persisted.run.id,
|
|
207
|
+
queuedAt: persisted.queuedAt.toISOString(),
|
|
208
|
+
...job?.id ? { jobId: job.id } : {},
|
|
209
|
+
created: persisted.created
|
|
210
|
+
};
|
|
211
|
+
} catch (error) {
|
|
212
|
+
const failedAt = new Date;
|
|
213
|
+
const failure = toEnqueueFailure(error, persisted.run, failedAt);
|
|
214
|
+
const failed = await requireProjectionRunStorage(dependencies.storage).failEnqueue({
|
|
215
|
+
projectId: dependencies.id,
|
|
216
|
+
id: persisted.run.id,
|
|
217
|
+
finishedAt: failedAt,
|
|
218
|
+
error: failure
|
|
219
|
+
});
|
|
220
|
+
reportRunFailure(dependencies, error, {
|
|
221
|
+
projectId: dependencies.id,
|
|
222
|
+
runKind: "projection",
|
|
223
|
+
run: {
|
|
224
|
+
runId: failed.id,
|
|
225
|
+
projectionId: failed.identity.projectionId,
|
|
226
|
+
projectionKind: failed.identity.projectionKind
|
|
227
|
+
},
|
|
228
|
+
failure
|
|
229
|
+
});
|
|
230
|
+
throw error;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
async function assertExistingRun(storage, run, identity) {
|
|
234
|
+
assertProjectionRunIdentityMatches(run, identity);
|
|
235
|
+
await assertProjectionRunDurableExecution({
|
|
236
|
+
executions: storage.executions,
|
|
237
|
+
projectId: run.projectId,
|
|
238
|
+
executionId: run.executionId,
|
|
239
|
+
runId: run.id,
|
|
240
|
+
projectionId: run.identity.projectionId,
|
|
241
|
+
datasetId: run.identity.datasetVersion.datasetId,
|
|
242
|
+
datasetVersionId: run.identity.datasetVersion.versionId
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
async function resolveProducerExecution(storage, projectId, producer) {
|
|
246
|
+
if (!producer?.runId)
|
|
247
|
+
return null;
|
|
248
|
+
if (producer.kind === "sync") {
|
|
249
|
+
const run2 = await storage.syncRuns?.getById({ projectId, id: producer.runId });
|
|
250
|
+
if (!run2)
|
|
251
|
+
return null;
|
|
252
|
+
assertProducerId(producer, run2.syncId);
|
|
253
|
+
return requireProducerExecution({
|
|
254
|
+
executions: storage.executions,
|
|
255
|
+
projectId,
|
|
256
|
+
executionId: run2.executionId,
|
|
257
|
+
primitive: { kind: "sync", id: run2.syncId, runId: run2.id }
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
const run = await storage.pipelineRuns?.getById({ projectId, id: producer.runId });
|
|
261
|
+
if (!run)
|
|
262
|
+
return null;
|
|
263
|
+
assertProducerId(producer, run.pipelineId);
|
|
264
|
+
return requireProducerExecution({
|
|
265
|
+
executions: storage.executions,
|
|
266
|
+
projectId,
|
|
267
|
+
executionId: run.executionId,
|
|
268
|
+
primitive: { kind: "pipeline", id: run.pipelineId, runId: run.id }
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
async function requireProducerExecution(input) {
|
|
272
|
+
const execution = await findPrimitiveRunExecution({
|
|
273
|
+
executions: input.executions,
|
|
274
|
+
projectId: input.projectId,
|
|
275
|
+
executionId: input.executionId,
|
|
276
|
+
primitive: input.primitive,
|
|
277
|
+
sourceTypes: ["execution", "schedule", "event"]
|
|
278
|
+
});
|
|
279
|
+
if (execution)
|
|
280
|
+
return execution;
|
|
281
|
+
throw new ProjectionValidationError(`[Sixb] Dataset producer run '${input.primitive.runId}' references an invalid execution.`);
|
|
282
|
+
}
|
|
283
|
+
function assertProducerId(producer, runOwnerId) {
|
|
284
|
+
if (producer.id === undefined || producer.id === runOwnerId)
|
|
285
|
+
return;
|
|
286
|
+
throw new ProjectionValidationError(`[Sixb] Dataset producer '${producer.kind}:${producer.id}' does not match run '${producer.runId}'.`);
|
|
287
|
+
}
|
|
288
|
+
function requireProjectionRunStorage(storage) {
|
|
289
|
+
if (storage.projectionRuns)
|
|
290
|
+
return storage.projectionRuns;
|
|
291
|
+
throw new ProjectionValidationError("[Sixb] Projection run storage is not configured.");
|
|
292
|
+
}
|
|
293
|
+
function queueProjectionRun(storage, input) {
|
|
294
|
+
const common = {
|
|
295
|
+
id: input.id,
|
|
296
|
+
projectId: input.projectId,
|
|
297
|
+
executionId: input.executionId,
|
|
298
|
+
queuedAt: input.queuedAt
|
|
299
|
+
};
|
|
300
|
+
switch (input.projection._tag) {
|
|
301
|
+
case "ObjectProjectionDefinition":
|
|
302
|
+
if (input.identity.projectionKind !== "object") {
|
|
303
|
+
throw invalidProjectionDefinition(input.id);
|
|
304
|
+
}
|
|
305
|
+
return storage.queue({
|
|
306
|
+
...common,
|
|
307
|
+
identity: input.identity,
|
|
308
|
+
target: { objectTypeId: input.projection.objectTypeId }
|
|
309
|
+
});
|
|
310
|
+
case "LinkProjectionDefinition":
|
|
311
|
+
if (input.identity.projectionKind !== "link") {
|
|
312
|
+
throw invalidProjectionDefinition(input.id);
|
|
313
|
+
}
|
|
314
|
+
return storage.queue({
|
|
315
|
+
...common,
|
|
316
|
+
identity: input.identity,
|
|
317
|
+
target: {
|
|
318
|
+
sourceObjectTypeId: input.projection.sourceObjectTypeId,
|
|
319
|
+
targetObjectTypeId: input.projection.targetObjectTypeId
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
case "TelemetryProjectionDefinition":
|
|
323
|
+
if (input.identity.projectionKind !== "telemetry") {
|
|
324
|
+
throw invalidProjectionDefinition(input.id);
|
|
325
|
+
}
|
|
326
|
+
return storage.queue({
|
|
327
|
+
...common,
|
|
328
|
+
identity: input.identity,
|
|
329
|
+
target: { objectTypeId: input.projection.objectTypeId },
|
|
330
|
+
fixedBatchSize: PROJECTION_TELEMETRY_BATCH_SIZE
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
function requeueProjectionRun(storage, run, queuedAt) {
|
|
335
|
+
const common = {
|
|
336
|
+
id: run.id,
|
|
337
|
+
projectId: run.projectId,
|
|
338
|
+
executionId: run.executionId,
|
|
339
|
+
queuedAt
|
|
340
|
+
};
|
|
341
|
+
switch (run.identity.projectionKind) {
|
|
342
|
+
case "object": {
|
|
343
|
+
if (!("objectTypeId" in run.target))
|
|
344
|
+
throw invalidProjectionDefinition(run.id);
|
|
345
|
+
return storage.queue({ ...common, identity: run.identity, target: run.target });
|
|
346
|
+
}
|
|
347
|
+
case "link": {
|
|
348
|
+
if (!("sourceObjectTypeId" in run.target))
|
|
349
|
+
throw invalidProjectionDefinition(run.id);
|
|
350
|
+
return storage.queue({ ...common, identity: run.identity, target: run.target });
|
|
351
|
+
}
|
|
352
|
+
case "telemetry": {
|
|
353
|
+
if (!("objectTypeId" in run.target) || !run.telemetryCheckpoint) {
|
|
354
|
+
throw invalidProjectionDefinition(run.id);
|
|
355
|
+
}
|
|
356
|
+
return storage.queue({
|
|
357
|
+
...common,
|
|
358
|
+
identity: run.identity,
|
|
359
|
+
target: run.target,
|
|
360
|
+
fixedBatchSize: run.telemetryCheckpoint.fixedBatchSize
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
function invalidProjectionDefinition(runId) {
|
|
366
|
+
return new ProjectionValidationError(`[Sixb] Projection run '${runId}' has inconsistent definition metadata.`);
|
|
367
|
+
}
|
|
368
|
+
function existingResult(run) {
|
|
369
|
+
return {
|
|
370
|
+
projectionId: run.identity.projectionId,
|
|
371
|
+
runId: run.id,
|
|
372
|
+
queuedAt: run.queuedAt.toISOString(),
|
|
373
|
+
created: false
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
function assertDispatchInput(input) {
|
|
377
|
+
for (const [field, value] of [
|
|
378
|
+
["projectionId", input.projectionId],
|
|
379
|
+
["datasetId", input.datasetVersion.datasetId],
|
|
380
|
+
["versionId", input.datasetVersion.versionId]
|
|
381
|
+
]) {
|
|
382
|
+
if (!value.trim())
|
|
383
|
+
throw new ProjectionValidationError(`[Sixb] Projection ${field} is required.`);
|
|
384
|
+
}
|
|
385
|
+
const timestamp = Date.parse(input.datasetVersion.createdAt);
|
|
386
|
+
if (!Number.isFinite(timestamp) || new Date(timestamp).toISOString() !== input.datasetVersion.createdAt) {
|
|
387
|
+
throw new ProjectionValidationError("[Sixb] Projection dataset version timestamp is invalid.");
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
function toEnqueueFailure(error, run, at) {
|
|
391
|
+
const enqueueError = createSixbError("queue.enqueue_failed", `[Sixb] Could not enqueue Projection run '${run.id}'.`, {
|
|
392
|
+
cause: error,
|
|
393
|
+
details: {
|
|
394
|
+
projectionId: run.identity.projectionId,
|
|
395
|
+
projectionKind: run.identity.projectionKind,
|
|
396
|
+
runId: run.id,
|
|
397
|
+
phase: "enqueue"
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
return toSixbFailure(enqueueError, { allowedCodes: PROJECTION_RUN_FAILURE_CODES, at });
|
|
401
|
+
}
|
|
402
|
+
export { registerProjectionRegistry, getProjectionRegistry, getProjectionDispatchDescriptors, shareProjectionRegistry, createProjectionRunId, PROJECTION_TELEMETRY_BATCH_SIZE, ProjectionRunDispatcher };
|
|
403
|
+
|
|
404
|
+
//# debugId=562D2A2DDB41546364756E2164756E21
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/projections/capability.ts", "../src/projections/run-dispatch.ts", "../src/projections/run-id.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { ProjectionRegistry } from \"./registry\"\nimport type { ProjectionDispatchDescriptor } from \"./types\"\n\nconst projectionRegistryKey: unique symbol = Symbol(\"sixb.projectionRegistry\")\n\ninterface ProjectionRegistryOwner {\n readonly [projectionRegistryKey]?: ProjectionRegistry\n}\n\nexport function registerProjectionRegistry(owner: object, registry: ProjectionRegistry): void {\n const registered = (owner as ProjectionRegistryOwner)[projectionRegistryKey]\n if (registered && registered !== registry) {\n throw new Error(\"[Sixb] Projection registry is already registered for this owner.\")\n }\n Object.defineProperty(owner, projectionRegistryKey, {\n configurable: false,\n enumerable: false,\n value: registry,\n writable: false,\n })\n}\n\nexport function getProjectionRegistry(owner: object): ProjectionRegistry {\n const registry = (owner as ProjectionRegistryOwner)[projectionRegistryKey]\n if (registry) return registry\n throw new Error(\"[Sixb] Projection registry is not registered for this runtime.\")\n}\n\nexport function getProjectionDispatchDescriptors(\n owner: object\n): readonly ProjectionDispatchDescriptor[] {\n return getProjectionRegistry(owner).getDispatchDescriptors()\n}\n\nexport function shareProjectionRegistry(source: object, target: object): void {\n registerProjectionRegistry(target, getProjectionRegistry(source))\n}\n",
|
|
6
|
+
"import { randomUUID } from \"node:crypto\"\nimport { reportRunFailure } from \"../error-reporting/capability\"\nimport { createSixbError, toSixbFailure } from \"../errors/internal\"\nimport type { SixbFailure } from \"../errors/types\"\nimport type { RunDispatcher } from \"../execution/dispatch\"\nimport { createPrimitiveExecutionRecord } from \"../execution/durable\"\nimport type { LakeStorage } from \"../lake-storage\"\nimport type { Queues } from \"../queues\"\nimport type { SixbDefinitions } from \"../runtime/definitions\"\nimport type { ExecutionRecord, ProjectionRunRecord, Storage } from \"../storage\"\nimport { ProjectionRunError } from \"../storage\"\nimport { findPrimitiveRunExecution } from \"../storage/executions/run-link\"\nimport {\n assertProjectionRunDurableExecution,\n assertProjectionRunIdentityMatches,\n} from \"../storage/projection-runs/provider\"\nimport { getProjectionRegistry } from \"./capability\"\nimport { ProjectionValidationError } from \"./errors\"\nimport { createProjectionRunId } from \"./run-id\"\nimport {\n PROJECTION_RUN_FAILURE_CODES,\n type ProjectionDefinition,\n type ProjectionRunFailureCode,\n} from \"./types\"\n\nexport const PROJECTION_TELEMETRY_BATCH_SIZE = 500\n\nexport interface ProjectionRunDispatchInput {\n readonly projectionId: string\n readonly datasetVersion: {\n readonly datasetId: string\n readonly versionId: string\n readonly createdAt: string\n }\n readonly metadata?: Readonly<Record<string, string>>\n}\n\nexport interface ProjectionRunDispatchResult {\n readonly projectionId: string\n readonly runId: string\n readonly queuedAt: string\n readonly jobId?: string\n readonly created: boolean\n}\n\nexport type ProjectionRunDispatchPort = RunDispatcher<\n ProjectionRunDispatchInput,\n ProjectionRunDispatchResult\n>\n\nexport interface ProjectionRunDispatcherDependencies {\n readonly id: string\n readonly definitions: Pick<SixbDefinitions, \"projections\">\n readonly lakeStorage: Pick<LakeStorage, \"getVersion\">\n readonly storage: Storage\n readonly queues: Pick<Queues, \"projections\">\n}\n\ntype PersistedProjectionRun =\n | { readonly publish: false; readonly run: ProjectionRunRecord }\n | {\n readonly publish: true\n readonly run: ProjectionRunRecord\n readonly queuedAt: Date\n readonly created: boolean\n }\n\n/** Core-owned durable dispatch boundary for immutable dataset-version materialization. */\nexport class ProjectionRunDispatcher implements ProjectionRunDispatchPort {\n constructor(private readonly dependencies: ProjectionRunDispatcherDependencies) {}\n\n async dispatch(input: ProjectionRunDispatchInput): Promise<ProjectionRunDispatchResult> {\n assertDispatchInput(input)\n const registry = getProjectionRegistry(this.dependencies)\n const descriptor = registry.resolveDispatch(input.projectionId)\n if (descriptor.datasetId !== input.datasetVersion.datasetId) {\n throw new ProjectionValidationError(\n `[Sixb] Projection '${input.projectionId}' consumes dataset '${descriptor.datasetId}', not '${input.datasetVersion.datasetId}'.`\n )\n }\n const projection = this.dependencies.definitions.projections.getById(input.projectionId)\n if (!projection) {\n throw new ProjectionValidationError(`[Sixb] Unknown projection '${input.projectionId}'.`)\n }\n const version = await this.dependencies.lakeStorage.getVersion(\n input.datasetVersion.datasetId,\n input.datasetVersion.versionId\n )\n if (!version || version.createdAt.toISOString() !== input.datasetVersion.createdAt) {\n throw new ProjectionValidationError(\n `[Sixb] Dataset '${input.datasetVersion.datasetId}' version '${input.datasetVersion.versionId}' does not match its immutable metadata.`\n )\n }\n if (version.mode === \"schema\") {\n throw new ProjectionValidationError(\n `[Sixb] Projection '${input.projectionId}' cannot materialize a schema-only dataset version.`\n )\n }\n\n const { datasetId: _datasetId, ...semanticIdentity } = descriptor\n const identity = {\n ...semanticIdentity,\n datasetVersion: structuredClone(input.datasetVersion),\n }\n const runId = createProjectionRunId(this.dependencies.id, identity)\n const projectionRuns = requireProjectionRunStorage(this.dependencies.storage)\n const existing = await projectionRuns.getById({ projectId: this.dependencies.id, id: runId })\n const persisted = existing\n ? await reuseProjectionRun(this.dependencies, existing, identity)\n : await persistProjectionRun({\n dependencies: this.dependencies,\n runId,\n identity,\n projection,\n producerExecution: await resolveProducerExecution(\n this.dependencies.storage,\n this.dependencies.id,\n version.producer\n ),\n })\n\n if (!persisted.publish) return existingResult(persisted.run)\n return publishProjectionRun(this.dependencies, input.metadata, persisted)\n }\n}\n\nasync function persistProjectionRun(input: {\n readonly dependencies: ProjectionRunDispatcherDependencies\n readonly runId: string\n readonly identity: ProjectionRunRecord[\"identity\"]\n readonly projection: ProjectionDefinition\n readonly producerExecution: ExecutionRecord | null\n}): Promise<PersistedProjectionRun> {\n const execution = createPrimitiveExecutionRecord({\n id: `exec_${randomUUID()}`,\n primitive: { kind: \"projection\", id: input.identity.projectionId, runId: input.runId },\n origin: {\n type: \"automatic\",\n projectId: input.dependencies.id,\n source: {\n type: \"datasetVersion\",\n datasetId: input.identity.datasetVersion.datasetId,\n versionId: input.identity.datasetVersion.versionId,\n },\n correlationId: input.producerExecution?.correlationId ?? input.runId,\n ...(input.producerExecution?.requestedBy === undefined\n ? {}\n : { requestedBy: input.producerExecution.requestedBy }),\n },\n })\n const queuedAt = new Date()\n\n try {\n return await input.dependencies.storage.transaction(\n async (tx): Promise<PersistedProjectionRun> => {\n const projectionRuns = requireProjectionRunStorage(tx)\n const raced = await projectionRuns.getById({\n projectId: input.dependencies.id,\n id: input.runId,\n })\n if (raced) {\n await assertExistingRun(tx, raced, input.identity)\n return { publish: false, run: raced }\n }\n await tx.executions.create(execution)\n const run = await queueProjectionRun(projectionRuns, {\n id: input.runId,\n projectId: input.dependencies.id,\n executionId: execution.id,\n identity: input.identity,\n projection: input.projection,\n queuedAt,\n })\n return { publish: true, run, queuedAt, created: true }\n },\n { isolation: \"serializable\" }\n )\n } catch (error) {\n if (!(error instanceof ProjectionRunError)) throw error\n const raced = await requireProjectionRunStorage(input.dependencies.storage).getById({\n projectId: input.dependencies.id,\n id: input.runId,\n })\n if (!raced) throw error\n await assertExistingRun(input.dependencies.storage, raced, input.identity)\n return { publish: false, run: raced }\n }\n}\n\nasync function reuseProjectionRun(\n dependencies: ProjectionRunDispatcherDependencies,\n existing: ProjectionRunRecord,\n identity: ProjectionRunRecord[\"identity\"]\n): Promise<PersistedProjectionRun> {\n await assertExistingRun(dependencies.storage, existing, identity)\n if (\n existing.status !== \"failed\" ||\n existing.error?.code !== \"queue.enqueue_failed\" ||\n !existing.error.retryable\n ) {\n return { publish: false, run: existing }\n }\n const queuedAt = new Date()\n const projectionRuns = requireProjectionRunStorage(dependencies.storage)\n try {\n const run = await requeueProjectionRun(projectionRuns, existing, queuedAt)\n return { publish: true, run, queuedAt, created: false }\n } catch (error) {\n if (!(error instanceof ProjectionRunError)) throw error\n const raced = await projectionRuns.getById({ projectId: existing.projectId, id: existing.id })\n if (\n !raced ||\n (raced.status === \"failed\" &&\n raced.error?.code === \"queue.enqueue_failed\" &&\n raced.error.retryable)\n ) {\n throw error\n }\n await assertExistingRun(dependencies.storage, raced, identity)\n return { publish: false, run: raced }\n }\n}\n\nasync function publishProjectionRun(\n dependencies: ProjectionRunDispatcherDependencies,\n metadata: Readonly<Record<string, string>> | undefined,\n persisted: Extract<PersistedProjectionRun, { readonly publish: true }>\n): Promise<ProjectionRunDispatchResult> {\n try {\n const [job] = await dependencies.queues.projections.enqueue({\n projectId: dependencies.id,\n jobs: [\n {\n id: persisted.run.id,\n type: \"projection.run.requested\",\n payload: { runId: persisted.run.id },\n ...(metadata === undefined ? {} : { metadata }),\n },\n ],\n })\n return {\n projectionId: persisted.run.identity.projectionId,\n runId: persisted.run.id,\n queuedAt: persisted.queuedAt.toISOString(),\n ...(job?.id ? { jobId: job.id } : {}),\n created: persisted.created,\n }\n } catch (error) {\n const failedAt = new Date()\n const failure = toEnqueueFailure(error, persisted.run, failedAt)\n const failed = await requireProjectionRunStorage(dependencies.storage).failEnqueue({\n projectId: dependencies.id,\n id: persisted.run.id,\n finishedAt: failedAt,\n error: failure,\n })\n reportRunFailure(dependencies, error, {\n projectId: dependencies.id,\n runKind: \"projection\",\n run: {\n runId: failed.id,\n projectionId: failed.identity.projectionId,\n projectionKind: failed.identity.projectionKind,\n },\n failure,\n })\n throw error\n }\n}\n\nasync function assertExistingRun(\n storage: Storage,\n run: ProjectionRunRecord,\n identity: ProjectionRunRecord[\"identity\"]\n): Promise<void> {\n assertProjectionRunIdentityMatches(run, identity)\n await assertProjectionRunDurableExecution({\n executions: storage.executions,\n projectId: run.projectId,\n executionId: run.executionId,\n runId: run.id,\n projectionId: run.identity.projectionId,\n datasetId: run.identity.datasetVersion.datasetId,\n datasetVersionId: run.identity.datasetVersion.versionId,\n })\n}\n\nasync function resolveProducerExecution(\n storage: Storage,\n projectId: string,\n producer:\n | {\n readonly kind: \"sync\" | \"pipeline\"\n readonly id?: string\n readonly runId?: string\n }\n | undefined\n): Promise<ExecutionRecord | null> {\n if (!producer?.runId) return null\n if (producer.kind === \"sync\") {\n const run = await storage.syncRuns?.getById({ projectId, id: producer.runId })\n if (!run) return null\n assertProducerId(producer, run.syncId)\n return requireProducerExecution({\n executions: storage.executions,\n projectId,\n executionId: run.executionId,\n primitive: { kind: \"sync\", id: run.syncId, runId: run.id },\n })\n }\n\n const run = await storage.pipelineRuns?.getById({ projectId, id: producer.runId })\n if (!run) return null\n assertProducerId(producer, run.pipelineId)\n return requireProducerExecution({\n executions: storage.executions,\n projectId,\n executionId: run.executionId,\n primitive: { kind: \"pipeline\", id: run.pipelineId, runId: run.id },\n })\n}\n\nasync function requireProducerExecution(input: {\n readonly executions: Storage[\"executions\"]\n readonly projectId: string\n readonly executionId: string\n readonly primitive:\n | { readonly kind: \"sync\"; readonly id: string; readonly runId: string }\n | { readonly kind: \"pipeline\"; readonly id: string; readonly runId: string }\n}): Promise<ExecutionRecord> {\n const execution = await findPrimitiveRunExecution({\n executions: input.executions,\n projectId: input.projectId,\n executionId: input.executionId,\n primitive: input.primitive,\n sourceTypes: [\"execution\", \"schedule\", \"event\"],\n })\n if (execution) return execution\n throw new ProjectionValidationError(\n `[Sixb] Dataset producer run '${input.primitive.runId}' references an invalid execution.`\n )\n}\n\nfunction assertProducerId(\n producer: { readonly kind: \"sync\" | \"pipeline\"; readonly id?: string; readonly runId?: string },\n runOwnerId: string\n): void {\n if (producer.id === undefined || producer.id === runOwnerId) return\n throw new ProjectionValidationError(\n `[Sixb] Dataset producer '${producer.kind}:${producer.id}' does not match run '${producer.runId}'.`\n )\n}\n\nfunction requireProjectionRunStorage(storage: Storage): NonNullable<Storage[\"projectionRuns\"]> {\n if (storage.projectionRuns) return storage.projectionRuns\n throw new ProjectionValidationError(\"[Sixb] Projection run storage is not configured.\")\n}\n\nfunction queueProjectionRun(\n storage: NonNullable<Storage[\"projectionRuns\"]>,\n input: {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly identity: ProjectionRunRecord[\"identity\"]\n readonly projection: ProjectionDefinition\n readonly queuedAt: Date\n }\n): Promise<ProjectionRunRecord> {\n const common = {\n id: input.id,\n projectId: input.projectId,\n executionId: input.executionId,\n queuedAt: input.queuedAt,\n }\n switch (input.projection._tag) {\n case \"ObjectProjectionDefinition\":\n if (input.identity.projectionKind !== \"object\") {\n throw invalidProjectionDefinition(input.id)\n }\n return storage.queue({\n ...common,\n identity: input.identity,\n target: { objectTypeId: input.projection.objectTypeId },\n })\n case \"LinkProjectionDefinition\":\n if (input.identity.projectionKind !== \"link\") {\n throw invalidProjectionDefinition(input.id)\n }\n return storage.queue({\n ...common,\n identity: input.identity,\n target: {\n sourceObjectTypeId: input.projection.sourceObjectTypeId,\n targetObjectTypeId: input.projection.targetObjectTypeId,\n },\n })\n case \"TelemetryProjectionDefinition\":\n if (input.identity.projectionKind !== \"telemetry\") {\n throw invalidProjectionDefinition(input.id)\n }\n return storage.queue({\n ...common,\n identity: input.identity,\n target: { objectTypeId: input.projection.objectTypeId },\n fixedBatchSize: PROJECTION_TELEMETRY_BATCH_SIZE,\n })\n }\n}\n\nfunction requeueProjectionRun(\n storage: NonNullable<Storage[\"projectionRuns\"]>,\n run: ProjectionRunRecord,\n queuedAt: Date\n): Promise<ProjectionRunRecord> {\n const common = {\n id: run.id,\n projectId: run.projectId,\n executionId: run.executionId,\n queuedAt,\n }\n switch (run.identity.projectionKind) {\n case \"object\": {\n if (!(\"objectTypeId\" in run.target)) throw invalidProjectionDefinition(run.id)\n return storage.queue({ ...common, identity: run.identity, target: run.target })\n }\n case \"link\": {\n if (!(\"sourceObjectTypeId\" in run.target)) throw invalidProjectionDefinition(run.id)\n return storage.queue({ ...common, identity: run.identity, target: run.target })\n }\n case \"telemetry\": {\n if (!(\"objectTypeId\" in run.target) || !run.telemetryCheckpoint) {\n throw invalidProjectionDefinition(run.id)\n }\n return storage.queue({\n ...common,\n identity: run.identity,\n target: run.target,\n fixedBatchSize: run.telemetryCheckpoint.fixedBatchSize,\n })\n }\n }\n}\n\nfunction invalidProjectionDefinition(runId: string): ProjectionValidationError {\n return new ProjectionValidationError(\n `[Sixb] Projection run '${runId}' has inconsistent definition metadata.`\n )\n}\n\nfunction existingResult(run: ProjectionRunRecord): ProjectionRunDispatchResult {\n return {\n projectionId: run.identity.projectionId,\n runId: run.id,\n queuedAt: run.queuedAt.toISOString(),\n created: false,\n }\n}\n\nfunction assertDispatchInput(input: ProjectionRunDispatchInput): void {\n for (const [field, value] of [\n [\"projectionId\", input.projectionId],\n [\"datasetId\", input.datasetVersion.datasetId],\n [\"versionId\", input.datasetVersion.versionId],\n ] as const) {\n if (!value.trim())\n throw new ProjectionValidationError(`[Sixb] Projection ${field} is required.`)\n }\n const timestamp = Date.parse(input.datasetVersion.createdAt)\n if (\n !Number.isFinite(timestamp) ||\n new Date(timestamp).toISOString() !== input.datasetVersion.createdAt\n ) {\n throw new ProjectionValidationError(\"[Sixb] Projection dataset version timestamp is invalid.\")\n }\n}\n\nfunction toEnqueueFailure(\n error: unknown,\n run: ProjectionRunRecord,\n at: Date\n): SixbFailure<ProjectionRunFailureCode> {\n const enqueueError = createSixbError(\n \"queue.enqueue_failed\",\n `[Sixb] Could not enqueue Projection run '${run.id}'.`,\n {\n cause: error,\n details: {\n projectionId: run.identity.projectionId,\n projectionKind: run.identity.projectionKind,\n runId: run.id,\n phase: \"enqueue\",\n },\n }\n )\n return toSixbFailure(enqueueError, { allowedCodes: PROJECTION_RUN_FAILURE_CODES, at })\n}\n",
|
|
7
|
+
"import { sha256Canonical } from \"../materialization/identity\"\nimport type { ProjectionMaterializationIdentity } from \"../materialization/model\"\n\nexport function createProjectionRunId(\n projectId: string,\n identity: ProjectionMaterializationIdentity\n): string {\n return sha256Canonical({\n projectId,\n projectionId: identity.projectionId,\n projectionKind: identity.projectionKind,\n protocol: identity.protocol,\n datasetId: identity.datasetVersion.datasetId,\n versionId: identity.datasetVersion.versionId,\n createdAt: identity.datasetVersion.createdAt,\n ontologyRevision: identity.ontologyRevision,\n projectionRevision: identity.projectionRevision,\n ownershipHash: identity.ownershipHash,\n })\n}\n"
|
|
8
|
+
],
|
|
9
|
+
"mappings": "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",
|
|
10
|
+
"debugId": "562D2A2DDB41546364756E2164756E21",
|
|
11
|
+
"names": []
|
|
12
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
getInvalidJsonValueReason
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-t8t39h7v.js";
|
|
5
5
|
|
|
6
6
|
// src/broker/errors.ts
|
|
7
7
|
class BrokerError extends Error {
|
|
@@ -114,6 +114,8 @@ class InMemoryBroker {
|
|
|
114
114
|
assertStreamId(params.streamId);
|
|
115
115
|
assertCursor(params.afterCursor);
|
|
116
116
|
const storedStream = this.getEnsuredStream(params.projectId, params.streamId);
|
|
117
|
+
this.applyRetention(storedStream);
|
|
118
|
+
this.assertCursorInRetainedRange(storedStream, params.afterCursor);
|
|
117
119
|
const subscription = {
|
|
118
120
|
projectId: params.projectId,
|
|
119
121
|
streamId: params.streamId,
|
|
@@ -124,7 +126,6 @@ class InMemoryBroker {
|
|
|
124
126
|
this.subscriptions.add(subscription);
|
|
125
127
|
const startMode = params.afterCursor !== undefined ? undefined : params.from ?? "latest";
|
|
126
128
|
if (params.afterCursor !== undefined || startMode === "earliest") {
|
|
127
|
-
this.applyRetention(storedStream);
|
|
128
129
|
const initial = this.readForward(storedStream.records, {
|
|
129
130
|
afterCursor: params.afterCursor,
|
|
130
131
|
names: params.names,
|
|
@@ -360,4 +361,4 @@ function assertCursor(cursor) {
|
|
|
360
361
|
}
|
|
361
362
|
export { BrokerError, BrokerCursorExpiredError, InMemoryBroker };
|
|
362
363
|
|
|
363
|
-
//# debugId=
|
|
364
|
+
//# debugId=A0B0E9E6D3113F2A64756E2164756E21
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/broker/errors.ts", "../src/broker/in-memory.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"export class BrokerError extends Error {\n readonly name: string = \"BrokerError\"\n\n constructor(message: string, options?: ErrorOptions) {\n super(`[Broker] ${message}`, options)\n }\n}\n\n/**\n * Raised when retention has removed the cursor a consumer wants to resume\n * from. Transports use this provider-independent type to request a reset.\n */\nexport class BrokerCursorExpiredError extends BrokerError {\n override readonly name = \"BrokerCursorExpiredError\"\n}\n",
|
|
6
|
+
"import { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport { BrokerCursorExpiredError, BrokerError } from \"./errors\"\nimport type {\n Broker,\n BrokerPage,\n BrokerRecord,\n BrokerRecordInput,\n BrokerStreamDefinition,\n} from \"./types\"\n\n// Payloads are validated by assertBrokerPayload above the call site, so we can\n// skip the redundant validity walk that cloneJsonValue performs.\nfunction cloneValidatedPayload(value: JsonValue): JsonValue {\n return JSON.parse(JSON.stringify(value)) as JsonValue\n}\n\n// Records stored internally carry a numeric publishedAtMs alongside the public\n// ISO publishedAt string so retention sweeps can avoid Date.parse on every\n// record on every append/read.\ninterface StoredRecord extends BrokerRecord {\n readonly publishedAtMs: number\n readonly byteSize: number\n}\n\ninterface StoredStream {\n definition: BrokerStreamDefinition\n nextSequence: bigint\n records: StoredRecord[]\n retainedBytes: number\n}\n\ninterface Subscription {\n readonly projectId: string\n readonly streamId: string\n readonly names?: readonly string[]\n readonly keys?: readonly string[]\n readonly handler: (records: readonly BrokerRecord[]) => void\n}\n\nexport class InMemoryBroker implements Broker {\n readonly scope = \"process\" as const\n private readonly streams = new Map<string, StoredStream>()\n private readonly subscriptions = new Set<Subscription>()\n\n async ensureStream(params: { projectId: string; stream: BrokerStreamDefinition }): Promise<void> {\n assertProjectId(params.projectId)\n assertStream(params.stream)\n this.getOrCreateStream(params.projectId, params.stream)\n }\n\n async append(params: {\n projectId: string\n streamId: string\n records: readonly BrokerRecordInput[]\n }): Promise<readonly BrokerRecord[]> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n\n if (params.records.length === 0) {\n return []\n }\n\n for (const record of params.records) {\n assertBrokerPayload(record.payload)\n }\n\n const storedStream = this.getEnsuredStream(params.projectId, params.streamId)\n const stored: StoredRecord[] = []\n\n for (const record of params.records) {\n const cursor = storedStream.nextSequence.toString()\n storedStream.nextSequence += 1n\n const publishedAtMs = Date.now()\n const storedRecord = {\n streamId: params.streamId,\n cursor,\n name: record.name,\n key: record.key,\n payload: cloneValidatedPayload(record.payload as JsonValue),\n publishedAt: new Date(publishedAtMs).toISOString(),\n publishedAtMs,\n }\n stored.push({\n ...storedRecord,\n byteSize: utf8Bytes(JSON.stringify(storedRecord)),\n })\n }\n\n storedStream.records.push(...stored)\n storedStream.retainedBytes += stored.reduce((total, record) => total + record.byteSize, 0)\n this.applyRetention(storedStream)\n const records = stored.map(toBrokerRecord)\n this.notify(params.projectId, params.streamId, stored)\n return records\n }\n\n async read(params: {\n projectId: string\n streamId: string\n afterCursor?: string\n limit?: number\n names?: readonly string[]\n keys?: readonly string[]\n }): Promise<BrokerPage> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n assertCursor(params.afterCursor)\n\n if (params.limit !== undefined && params.limit <= 0) {\n return { records: [], cursor: params.afterCursor, hasMore: false }\n }\n\n const storedStream = this.streams.get(streamKey(params.projectId, params.streamId))\n if (!storedStream) {\n return { records: [], cursor: params.afterCursor, hasMore: false }\n }\n\n this.applyRetention(storedStream)\n this.assertCursorInRetainedRange(storedStream, params.afterCursor)\n return this.readForward(storedStream.records, {\n afterCursor: params.afterCursor,\n limit: params.limit,\n names: params.names,\n keys: params.keys,\n })\n }\n\n async tail(params: {\n projectId: string\n streamId: string\n beforeCursor?: string\n limit?: number\n names?: readonly string[]\n keys?: readonly string[]\n }): Promise<BrokerPage> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n assertCursor(params.beforeCursor)\n\n if (params.limit !== undefined && params.limit <= 0) {\n return { records: [], cursor: params.beforeCursor, hasMore: false }\n }\n\n const storedStream = this.streams.get(streamKey(params.projectId, params.streamId))\n if (!storedStream) {\n return { records: [], cursor: params.beforeCursor, hasMore: false }\n }\n\n this.applyRetention(storedStream)\n this.assertTailCursorInRetainedRange(storedStream, params.beforeCursor)\n return this.readBackward(storedStream.records, params)\n }\n\n async latestCursor(params: { projectId: string; streamId: string }): Promise<string | undefined> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n\n const storedStream = this.streams.get(streamKey(params.projectId, params.streamId))\n if (!storedStream) {\n return undefined\n }\n\n this.applyRetention(storedStream)\n return storedStream.records.at(-1)?.cursor\n }\n\n async subscribe(\n params: {\n projectId: string\n streamId: string\n from?: \"latest\" | \"earliest\"\n afterCursor?: string\n names?: readonly string[]\n keys?: readonly string[]\n },\n handler: (records: readonly BrokerRecord[]) => void\n ): Promise<() => void> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n assertCursor(params.afterCursor)\n const storedStream = this.getEnsuredStream(params.projectId, params.streamId)\n\n // Retention may have trimmed past the caller's cursor. Reject that here rather than let\n // `readForward` skip silently to the oldest retained record: a resuming subscriber would be\n // fast-forwarded over the gap and would believe it had seen everything. `read` and `tail`\n // already reject it, and so does the Redis provider, so this keeps the three consistent.\n // Checked before the subscription is registered so a throw cannot leave one behind.\n this.applyRetention(storedStream)\n this.assertCursorInRetainedRange(storedStream, params.afterCursor)\n\n const subscription: Subscription = {\n projectId: params.projectId,\n streamId: params.streamId,\n names: params.names,\n keys: params.keys,\n handler,\n }\n this.subscriptions.add(subscription)\n\n const startMode = params.afterCursor !== undefined ? undefined : (params.from ?? \"latest\")\n if (params.afterCursor !== undefined || startMode === \"earliest\") {\n const initial = this.readForward(storedStream.records, {\n afterCursor: params.afterCursor,\n names: params.names,\n keys: params.keys,\n }).records\n this.deliver(subscription, initial)\n }\n\n return () => {\n this.subscriptions.delete(subscription)\n }\n }\n\n private getOrCreateStream(projectId: string, stream: BrokerStreamDefinition): StoredStream {\n const key = streamKey(projectId, stream.id)\n let storedStream = this.streams.get(key)\n if (!storedStream) {\n storedStream = {\n definition: stream,\n nextSequence: 1n,\n records: [],\n retainedBytes: 0,\n }\n this.streams.set(key, storedStream)\n }\n this.applyRetention(storedStream)\n return storedStream\n }\n\n private getEnsuredStream(projectId: string, streamId: string): StoredStream {\n const storedStream = this.streams.get(streamKey(projectId, streamId))\n if (!storedStream) {\n throw new BrokerError(\n `stream '${streamId}' has not been ensured for project '${projectId}'. Call ensureStream() before append or subscribe.`\n )\n }\n return storedStream\n }\n\n private applyRetention(storedStream: StoredStream): void {\n const { retention } = storedStream.definition\n if (!retention) {\n return\n }\n\n let removeCount = 0\n const records = storedStream.records\n\n if (retention.maxAgeMs !== undefined) {\n if (retention.maxAgeMs <= 0) {\n removeCount = records.length\n } else {\n const oldestAllowed = Date.now() - retention.maxAgeMs\n // Records are appended in chronological order, so we only need to find\n // the first record that is still in range and slice off the prefix —\n // avoids walking the entire retained set on every sweep.\n let firstInRange = 0\n while (\n firstInRange < records.length &&\n records[firstInRange].publishedAtMs < oldestAllowed\n ) {\n firstInRange += 1\n }\n removeCount = Math.max(removeCount, firstInRange)\n }\n }\n\n if (retention.maxRecords !== undefined) {\n if (retention.maxRecords <= 0) {\n removeCount = records.length\n } else if (records.length - removeCount > retention.maxRecords) {\n removeCount = records.length - retention.maxRecords\n }\n }\n\n if (retention.maxBytes !== undefined) {\n if (retention.maxBytes <= 0) {\n removeCount = records.length\n } else {\n let bytes = storedStream.retainedBytes\n for (let index = 0; index < removeCount; index += 1) {\n bytes -= records[index]!.byteSize\n }\n while (removeCount < records.length && bytes > retention.maxBytes) {\n bytes -= records[removeCount]!.byteSize\n removeCount += 1\n }\n }\n }\n\n if (removeCount > 0) {\n for (let index = 0; index < removeCount; index += 1) {\n storedStream.retainedBytes -= records[index]!.byteSize\n }\n storedStream.records = records.slice(removeCount)\n }\n }\n\n private assertCursorInRetainedRange(\n storedStream: StoredStream,\n afterCursor: string | undefined\n ): void {\n if (afterCursor === undefined) {\n return\n }\n\n const requestedNextSequence = BigInt(afterCursor) + 1n\n const firstRecord = storedStream.records[0]\n const firstAvailableSequence =\n firstRecord === undefined ? storedStream.nextSequence : BigInt(firstRecord.cursor)\n\n if (requestedNextSequence < firstAvailableSequence) {\n throw new BrokerCursorExpiredError(\n `afterCursor '${afterCursor}' is outside the retained range for stream '${storedStream.definition.id}'. ` +\n `The next requested cursor sequence is '${requestedNextSequence}', but the earliest ` +\n `available cursor sequence is '${firstAvailableSequence}'.`\n )\n }\n }\n\n private assertTailCursorInRetainedRange(\n storedStream: StoredStream,\n beforeCursor: string | undefined\n ): void {\n if (beforeCursor === undefined || storedStream.records.length === 0) {\n return\n }\n const firstAvailableSequence = BigInt(storedStream.records[0]!.cursor)\n if (BigInt(beforeCursor) < firstAvailableSequence) {\n throw new BrokerCursorExpiredError(\n `beforeCursor '${beforeCursor}' is outside the retained range for stream '${storedStream.definition.id}'. ` +\n `The earliest available cursor sequence is '${firstAvailableSequence}'.`\n )\n }\n }\n\n private notify(projectId: string, streamId: string, records: readonly StoredRecord[]): void {\n for (const subscription of this.subscriptions) {\n if (subscription.projectId !== projectId || subscription.streamId !== streamId) {\n continue\n }\n this.deliver(\n subscription,\n this.readForward(records, {\n names: subscription.names,\n keys: subscription.keys,\n }).records\n )\n }\n }\n\n private deliver(subscription: Subscription, records: readonly BrokerRecord[]): void {\n if (records.length === 0) {\n return\n }\n\n try {\n subscription.handler(records)\n } catch {\n // Broker subscriptions are live fan-out; handler failures should not break publishers.\n }\n }\n\n private readForward(\n records: readonly StoredRecord[],\n filters: {\n afterCursor?: string\n limit?: number\n names?: readonly string[]\n keys?: readonly string[]\n }\n ): BrokerPage {\n const names = filters.names && filters.names.length > 0 ? new Set(filters.names) : undefined\n const keys = filters.keys && filters.keys.length > 0 ? new Set(filters.keys) : undefined\n const afterCursor = filters.afterCursor ? BigInt(filters.afterCursor) : undefined\n const result: BrokerRecord[] = []\n let cursor = filters.afterCursor\n let stoppedAt = records.length\n\n for (let index = 0; index < records.length; index += 1) {\n const record = records[index]!\n if (afterCursor !== undefined && BigInt(record.cursor) <= afterCursor) {\n continue\n }\n cursor = record.cursor\n if (!matchesFilters(record, names, keys)) {\n continue\n }\n result.push(toBrokerRecord(record))\n if (filters.limit !== undefined && result.length >= filters.limit) {\n stoppedAt = index + 1\n break\n }\n }\n\n return {\n records: result,\n cursor,\n hasMore: records.slice(stoppedAt).some((record) => matchesFilters(record, names, keys)),\n }\n }\n\n private readBackward(\n records: readonly StoredRecord[],\n filters: {\n beforeCursor?: string\n limit?: number\n names?: readonly string[]\n keys?: readonly string[]\n }\n ): BrokerPage {\n const names = filters.names && filters.names.length > 0 ? new Set(filters.names) : undefined\n const keys = filters.keys && filters.keys.length > 0 ? new Set(filters.keys) : undefined\n const beforeCursor = filters.beforeCursor ? BigInt(filters.beforeCursor) : undefined\n const reversed: BrokerRecord[] = []\n let cursor = filters.beforeCursor\n let stoppedAt = -1\n\n for (let index = records.length - 1; index >= 0; index -= 1) {\n const record = records[index]!\n if (beforeCursor !== undefined && BigInt(record.cursor) >= beforeCursor) {\n continue\n }\n cursor = record.cursor\n if (!matchesFilters(record, names, keys)) {\n continue\n }\n reversed.push(toBrokerRecord(record))\n if (filters.limit !== undefined && reversed.length >= filters.limit) {\n stoppedAt = index - 1\n break\n }\n }\n\n return {\n records: reversed.reverse(),\n cursor,\n hasMore:\n stoppedAt >= 0 &&\n records.slice(0, stoppedAt + 1).some((record) => matchesFilters(record, names, keys)),\n }\n }\n}\n\nfunction matchesFilters(\n record: BrokerRecord,\n names: ReadonlySet<string> | undefined,\n keys: ReadonlySet<string> | undefined\n): boolean {\n return (\n (!names || (!!record.name && names.has(record.name))) &&\n (!keys || (!!record.key && keys.has(record.key)))\n )\n}\n\nfunction streamKey(projectId: string, streamId: string): string {\n return `${projectId}\\0${streamId}`\n}\n\nfunction toBrokerRecord(record: StoredRecord): BrokerRecord {\n return {\n streamId: record.streamId,\n cursor: record.cursor,\n name: record.name,\n key: record.key,\n payload: record.payload,\n publishedAt: record.publishedAt,\n }\n}\n\nfunction utf8Bytes(value: string): number {\n return new TextEncoder().encode(value).byteLength\n}\n\nfunction assertProjectId(projectId: string): void {\n if (projectId.trim().length === 0) {\n throw new BrokerError(\"projectId must be a non-empty string\")\n }\n}\n\nfunction assertStream(stream: BrokerStreamDefinition): void {\n if (stream.id.trim().length === 0) {\n throw new BrokerError(\"stream.id must be a non-empty string\")\n }\n}\n\nfunction assertStreamId(streamId: string): void {\n if (streamId.trim().length === 0) {\n throw new BrokerError(\"streamId must be a non-empty string\")\n }\n}\n\nfunction assertBrokerPayload(payload: unknown): void {\n const reason = getInvalidJsonValueReason(payload, \"record.payload\")\n if (reason) {\n throw new BrokerError(`record.payload must be a JSON value; ${reason}`)\n }\n}\n\nfunction assertCursor(cursor: string | undefined): void {\n if (cursor === undefined) {\n return\n }\n\n try {\n if (BigInt(cursor) < 0n) {\n throw new BrokerError(\"cursor must be non-negative\")\n }\n } catch (error) {\n if (error instanceof BrokerError) {\n throw error\n }\n throw new BrokerError(\"cursor must be a numeric in-memory broker cursor\", {\n cause: error,\n })\n }\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "A0B0E9E6D3113F2A64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -142,7 +142,8 @@ function createAgentOperationScope(target, scope) {
|
|
|
142
142
|
return createOperationScopedFacade(target, scope, {
|
|
143
143
|
threads: createOperationScopedFacade(target.threads, scope),
|
|
144
144
|
runs: createOperationScopedFacade(target.runs, scope),
|
|
145
|
-
messages: createOperationScopedFacade(target.messages, scope)
|
|
145
|
+
messages: createOperationScopedFacade(target.messages, scope),
|
|
146
|
+
checkpoints: createOperationScopedFacade(target.checkpoints, scope)
|
|
146
147
|
});
|
|
147
148
|
}
|
|
148
149
|
function createOntologyOperationScope(target, scope) {
|
|
@@ -155,7 +156,8 @@ function createOntologyOperationScope(target, scope) {
|
|
|
155
156
|
}
|
|
156
157
|
function createWorkflowRunOperationScope(target, scope) {
|
|
157
158
|
return createOperationScopedFacade(target, scope, {
|
|
158
|
-
nodes: createOperationScopedFacade(target.nodes, scope)
|
|
159
|
+
nodes: createOperationScopedFacade(target.nodes, scope),
|
|
160
|
+
agentNodes: createOperationScopedFacade(target.agentNodes, scope)
|
|
159
161
|
});
|
|
160
162
|
}
|
|
161
163
|
function isAsyncFunction(value) {
|
|
@@ -167,4 +169,4 @@ function isAsyncGeneratorFunction(value) {
|
|
|
167
169
|
|
|
168
170
|
export { createStorageOperationScope, createOperationScopedFacade, decorateOperationScopedMethodForTesting, createAuthOperationScope, createAgentOperationScope, createOntologyOperationScope, createWorkflowRunOperationScope };
|
|
169
171
|
|
|
170
|
-
//# debugId=
|
|
172
|
+
//# debugId=199E470686426F9664756E2164756E21
|