@sixb/core 0.1.1 → 0.1.2
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 +35 -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 +10 -0
- 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 +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +45 -0
- package/dist/agents/execution.d.ts.map +1 -0
- package/dist/agents/index.d.ts +6 -6
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +64 -16
- package/dist/agents/index.js.map +1 -1
- 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/types.d.ts +2 -2
- 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 +9 -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 +60 -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-0k4avqr2.js +317 -0
- package/dist/chunk-0k4avqr2.js.map +11 -0
- package/dist/chunk-0mbx247x.js +2922 -0
- package/dist/chunk-0mbx247x.js.map +43 -0
- package/dist/chunk-34bqh420.js +1168 -0
- package/dist/chunk-34bqh420.js.map +23 -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-md9jbrm9.js → chunk-4gz41why.js} +1 -1
- package/dist/chunk-4x43bkbp.js +55 -0
- package/dist/chunk-4x43bkbp.js.map +11 -0
- package/dist/{chunk-xqbtf4wn.js → chunk-57r1cpxx.js} +3 -2
- package/dist/{chunk-xqbtf4wn.js.map → chunk-57r1cpxx.js.map} +3 -3
- package/dist/chunk-57zpb99z.js +194 -0
- package/dist/chunk-57zpb99z.js.map +10 -0
- package/dist/{chunk-nbywkytr.js → chunk-5egfka8j.js} +13 -33
- package/dist/chunk-5egfka8j.js.map +15 -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-663csy96.js +34 -0
- package/dist/chunk-663csy96.js.map +10 -0
- package/dist/{chunk-xz5g49bp.js → chunk-6gjqgd3d.js} +3 -1
- package/dist/chunk-6gjqgd3d.js.map +11 -0
- package/dist/chunk-7pc8b818.js +128 -0
- package/dist/chunk-7pc8b818.js.map +13 -0
- package/dist/{chunk-sb0shdvv.js → chunk-85j5ybfj.js} +1 -1
- package/dist/{chunk-sb0shdvv.js.map → chunk-85j5ybfj.js.map} +2 -2
- 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-8ryen3p3.js +118 -0
- package/dist/chunk-8ryen3p3.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-bct7hmfc.js +402 -0
- package/dist/chunk-bct7hmfc.js.map +14 -0
- package/dist/chunk-bh6k3nc6.js +164 -0
- package/dist/chunk-bh6k3nc6.js.map +12 -0
- package/dist/{chunk-t72dvahb.js → chunk-bhxaq2nn.js} +61 -44
- package/dist/chunk-bhxaq2nn.js.map +12 -0
- package/dist/{chunk-avppcgt6.js → chunk-c6qd89g5.js} +241 -144
- package/dist/chunk-c6qd89g5.js.map +15 -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-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-ezake7g1.js +32 -0
- package/dist/chunk-ezake7g1.js.map +11 -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-g9t3kdtx.js +90 -0
- package/dist/chunk-g9t3kdtx.js.map +10 -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-xt6qx9sh.js → chunk-jaj13078.js} +121 -9
- package/dist/chunk-jaj13078.js.map +38 -0
- package/dist/{chunk-p7vj8xgb.js → chunk-k9pts48t.js} +81 -58
- package/dist/chunk-k9pts48t.js.map +35 -0
- package/dist/chunk-n8herkry.js +3294 -0
- package/dist/chunk-n8herkry.js.map +35 -0
- package/dist/chunk-nf4r78r4.js +44 -0
- package/dist/chunk-nf4r78r4.js.map +10 -0
- package/dist/{chunk-b1bqvhpe.js → chunk-nnyp53zt.js} +14 -34
- package/dist/chunk-nnyp53zt.js.map +13 -0
- package/dist/chunk-nten49ta.js +404 -0
- package/dist/chunk-nten49ta.js.map +12 -0
- package/dist/chunk-qvybnnpe.js +137 -0
- package/dist/chunk-qvybnnpe.js.map +10 -0
- package/dist/{chunk-53s4asfm.js → chunk-rnshztfq.js} +2 -2
- package/dist/chunk-sa4340y1.js +607 -0
- package/dist/chunk-sa4340y1.js.map +14 -0
- package/dist/{chunk-rjqm6ksg.js → chunk-st4xgxey.js} +583 -251
- package/dist/chunk-st4xgxey.js.map +45 -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-vp1vc6ee.js +35 -0
- package/dist/chunk-vp1vc6ee.js.map +11 -0
- package/dist/{chunk-8kv2sez0.js → chunk-vybf6pkp.js} +1 -1
- package/dist/{chunk-4tvj3ate.js → chunk-wtmzkcht.js} +4 -3
- package/dist/chunk-wtmzkcht.js.map +11 -0
- 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-ys1nse2v.js} +2175 -381
- package/dist/chunk-ys1nse2v.js.map +56 -0
- package/dist/{chunk-6zrpewy4.js → chunk-z3zp0bj1.js} +1 -1
- package/dist/chunk-zcnhxkvd.js +7 -0
- package/dist/chunk-zcnhxkvd.js.map +10 -0
- package/dist/chunk-zg9yryhz.js +252 -0
- package/dist/chunk-zg9yryhz.js.map +12 -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 +70 -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 +88 -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 +97 -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 +30 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +130 -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 +26 -17
- package/dist/materialization/model.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 +36 -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 +17 -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 +30 -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 +37 -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 +66 -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 +0 -2
- 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 +3 -1
- package/dist/projections/index.d.ts.map +1 -1
- package/dist/projections/internal.d.ts +4 -10
- package/dist/projections/internal.d.ts.map +1 -1
- package/dist/projections/internal.js +42 -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/types.d.ts +3 -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 +52 -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-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 +4 -1
- 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 +10 -0
- package/dist/storage/agents/provider.d.ts.map +1 -0
- package/dist/storage/agents/provider.js +17 -0
- package/dist/storage/agents/provider.js.map +9 -0
- package/dist/storage/agents/types.d.ts +13 -22
- package/dist/storage/agents/types.d.ts.map +1 -1
- 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 +20 -5
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +28 -17
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +92 -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 +50 -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 +20 -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 +19 -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 +65 -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 +10 -3
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- 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 +12 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4088 -1556
- package/dist/testing/index.js.map +25 -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 +150 -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 +18 -19
- 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 +30 -11
- package/dist/workers/queue-worker.d.ts.map +1 -1
- package/dist/workflows/execution.d.ts +49 -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 +64 -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 +107 -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 +7 -3
- package/src/agents/authority.ts +189 -0
- package/src/agents/dispatch.ts +1 -6
- package/src/agents/errors.ts +2 -0
- package/src/agents/execution.ts +254 -0
- package/src/agents/index.ts +15 -3
- package/src/agents/prompt.ts +15 -3
- package/src/agents/request.ts +153 -13
- package/src/agents/streams.ts +150 -3
- package/src/agents/types.ts +2 -4
- 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 +109 -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 +30 -18
- package/src/materializer/README.md +9 -13
- package/src/materializer/edits/commit.ts +85 -28
- package/src/materializer/edits/load-state.ts +79 -16
- package/src/materializer/edits/operations.ts +72 -36
- package/src/materializer/edits/plan.ts +95 -22
- package/src/materializer/edits/working-state.ts +86 -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 +62 -0
- 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 +39 -6
- package/src/materializer/index.ts +9 -1
- package/src/materializer/materializer.ts +67 -5
- package/src/materializer/projections/finish-run.ts +29 -11
- package/src/materializer/projections/replace.ts +55 -22
- package/src/materializer/projections/replacement-plan.ts +37 -7
- package/src/materializer/shared/batching.ts +4 -1
- package/src/materializer/shared/normalize.ts +0 -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 +0 -9
- package/src/projections/capability.ts +37 -0
- package/src/projections/execution.ts +85 -0
- package/src/projections/index.ts +2 -1
- package/src/projections/internal.ts +17 -60
- package/src/projections/ownership.ts +2 -2
- package/src/projections/registry.ts +26 -11
- package/src/projections/revision.ts +7 -5
- package/src/projections/run-dispatch.ts +497 -0
- package/src/projections/run-id.ts +20 -0
- package/src/projections/types.ts +12 -0
- package/src/projections/validation.ts +3 -3
- package/src/queues/in-memory.ts +37 -11
- package/src/queues/index.ts +9 -2
- package/src/queues/types.ts +70 -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-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 +49 -11
- package/src/storage/agents/index.ts +2 -1
- package/src/storage/agents/provider.ts +27 -0
- package/src/storage/agents/types.ts +19 -19
- 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 +50 -16
- package/src/storage/index.ts +154 -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 +131 -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 +50 -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 +1 -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 +44 -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 +158 -63
- 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 +52 -0
- package/src/testing/materializer-fixture.ts +11 -3
- package/src/testing/materializer-storage-contract.ts +213 -11
- 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 +62 -32
- package/src/workflows/execution.ts +292 -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,55 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
agentServiceAccountId
|
|
4
|
+
} from "./chunk-qvybnnpe.js";
|
|
5
|
+
import {
|
|
6
|
+
findAgentRunExecution,
|
|
7
|
+
findPrimitiveRunExecution
|
|
8
|
+
} from "./chunk-t9xghkva.js";
|
|
9
|
+
|
|
10
|
+
// src/storage/workflow-runs/errors.ts
|
|
11
|
+
class WorkflowRunError extends Error {
|
|
12
|
+
name = "WorkflowRunError";
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// src/storage/workflow-runs/provider.ts
|
|
16
|
+
async function assertWorkflowRunExecution(input) {
|
|
17
|
+
const execution = await findPrimitiveRunExecution({
|
|
18
|
+
executions: input.executions,
|
|
19
|
+
projectId: input.projectId,
|
|
20
|
+
executionId: input.executionId,
|
|
21
|
+
primitive: { kind: "workflow", id: input.workflowId, runId: input.runId },
|
|
22
|
+
sourceTypes: ["execution", "schedule", "event"]
|
|
23
|
+
});
|
|
24
|
+
if (!execution) {
|
|
25
|
+
invalidExecution(input.executionId, input.runId);
|
|
26
|
+
}
|
|
27
|
+
if (execution.source.type === "schedule" || execution.source.type === "event") {
|
|
28
|
+
if (execution.requestedBy !== undefined) {
|
|
29
|
+
invalidExecution(input.executionId, input.runId);
|
|
30
|
+
}
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (execution.source.type !== "execution") {
|
|
34
|
+
invalidExecution(input.executionId, input.runId);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async function assertWorkflowAgentNodeRunExecution(input) {
|
|
38
|
+
const execution = await findAgentRunExecution({
|
|
39
|
+
executions: input.executions,
|
|
40
|
+
projectId: input.projectId,
|
|
41
|
+
executionId: input.executionId,
|
|
42
|
+
runId: input.nodeRunId,
|
|
43
|
+
serviceAccountId: agentServiceAccountId(input.agentId)
|
|
44
|
+
});
|
|
45
|
+
if (!execution || execution.source.type !== "execution" || execution.source.executionId !== input.workflowExecutionId) {
|
|
46
|
+
throw new WorkflowRunError(`[Sixb] Execution '${input.executionId}' does not authorize Workflow Agent-node run '${input.nodeRunId}'.`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function invalidExecution(executionId, runId) {
|
|
50
|
+
throw new WorkflowRunError(`[Sixb] Execution '${executionId}' does not authorize workflow run '${runId}'.`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { WorkflowRunError, assertWorkflowRunExecution, assertWorkflowAgentNodeRunExecution };
|
|
54
|
+
|
|
55
|
+
//# debugId=2817C9DE019D4AC264756E2164756E21
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/storage/workflow-runs/errors.ts", "../src/storage/workflow-runs/provider.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Base error for workflow-run storage operations.\n */\nexport class WorkflowRunError extends Error {\n readonly name = \"WorkflowRunError\"\n}\n",
|
|
6
|
+
"import { agentServiceAccountId } from \"../../agents/authority\"\nimport type { ExecutionStorage } from \"../executions\"\nimport { findAgentRunExecution, findPrimitiveRunExecution } from \"../executions/run-link\"\nimport { WorkflowRunError } from \"./errors\"\n\n/** Validate the semantic link between a durable workflow run and its immutable execution. */\nexport async function assertWorkflowRunExecution(input: {\n readonly executions: ExecutionStorage\n readonly projectId: string\n readonly executionId: string\n readonly runId: string\n readonly workflowId: string\n}): Promise<void> {\n const execution = await findPrimitiveRunExecution({\n executions: input.executions,\n projectId: input.projectId,\n executionId: input.executionId,\n primitive: { kind: \"workflow\", id: input.workflowId, runId: input.runId },\n sourceTypes: [\"execution\", \"schedule\", \"event\"],\n })\n if (!execution) {\n invalidExecution(input.executionId, input.runId)\n }\n\n if (execution.source.type === \"schedule\" || execution.source.type === \"event\") {\n if (execution.requestedBy !== undefined) {\n invalidExecution(input.executionId, input.runId)\n }\n return\n }\n\n // ExecutionStorage already validates the immutable parent reference, correlation id, and\n // requested-by propagation. This boundary only owns the workflow-specific source restriction.\n if (execution.source.type !== \"execution\") {\n invalidExecution(input.executionId, input.runId)\n }\n}\n\n/** Validate the semantic link between a Workflow Agent-node run and its child execution. */\nexport async function assertWorkflowAgentNodeRunExecution(input: {\n readonly executions: ExecutionStorage\n readonly projectId: string\n readonly executionId: string\n readonly nodeRunId: string\n readonly agentId: string\n readonly workflowExecutionId: string\n}): Promise<void> {\n const execution = await findAgentRunExecution({\n executions: input.executions,\n projectId: input.projectId,\n executionId: input.executionId,\n runId: input.nodeRunId,\n serviceAccountId: agentServiceAccountId(input.agentId),\n })\n if (\n !execution ||\n execution.source.type !== \"execution\" ||\n execution.source.executionId !== input.workflowExecutionId\n ) {\n throw new WorkflowRunError(\n `[Sixb] Execution '${input.executionId}' does not authorize Workflow Agent-node run '${input.nodeRunId}'.`\n )\n }\n}\n\nfunction invalidExecution(executionId: string, runId: string): never {\n throw new WorkflowRunError(\n `[Sixb] Execution '${executionId}' does not authorize workflow run '${runId}'.`\n )\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": ";;;;;;;;;;AAGO,MAAM,yBAAyB,MAAM;AAAA,EACjC,OAAO;AAClB;;;ACCA,eAAsB,0BAA0B,CAAC,OAM/B;AAAA,EAChB,MAAM,YAAY,MAAM,0BAA0B;AAAA,IAChD,YAAY,MAAM;AAAA,IAClB,WAAW,MAAM;AAAA,IACjB,aAAa,MAAM;AAAA,IACnB,WAAW,EAAE,MAAM,YAAY,IAAI,MAAM,YAAY,OAAO,MAAM,MAAM;AAAA,IACxE,aAAa,CAAC,aAAa,YAAY,OAAO;AAAA,EAChD,CAAC;AAAA,EACD,IAAI,CAAC,WAAW;AAAA,IACd,iBAAiB,MAAM,aAAa,MAAM,KAAK;AAAA,EACjD;AAAA,EAEA,IAAI,UAAU,OAAO,SAAS,cAAc,UAAU,OAAO,SAAS,SAAS;AAAA,IAC7E,IAAI,UAAU,gBAAgB,WAAW;AAAA,MACvC,iBAAiB,MAAM,aAAa,MAAM,KAAK;AAAA,IACjD;AAAA,IACA;AAAA,EACF;AAAA,EAIA,IAAI,UAAU,OAAO,SAAS,aAAa;AAAA,IACzC,iBAAiB,MAAM,aAAa,MAAM,KAAK;AAAA,EACjD;AAAA;AAIF,eAAsB,mCAAmC,CAAC,OAOxC;AAAA,EAChB,MAAM,YAAY,MAAM,sBAAsB;AAAA,IAC5C,YAAY,MAAM;AAAA,IAClB,WAAW,MAAM;AAAA,IACjB,aAAa,MAAM;AAAA,IACnB,OAAO,MAAM;AAAA,IACb,kBAAkB,sBAAsB,MAAM,OAAO;AAAA,EACvD,CAAC;AAAA,EACD,IACE,CAAC,aACD,UAAU,OAAO,SAAS,eAC1B,UAAU,OAAO,gBAAgB,MAAM,qBACvC;AAAA,IACA,MAAM,IAAI,iBACR,qBAAqB,MAAM,4DAA4D,MAAM,aAC/F;AAAA,EACF;AAAA;AAGF,SAAS,gBAAgB,CAAC,aAAqB,OAAsB;AAAA,EACnE,MAAM,IAAI,iBACR,qBAAqB,iDAAiD,SACxE;AAAA;",
|
|
9
|
+
"debugId": "2817C9DE019D4AC264756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -155,7 +155,8 @@ function createOntologyOperationScope(target, scope) {
|
|
|
155
155
|
}
|
|
156
156
|
function createWorkflowRunOperationScope(target, scope) {
|
|
157
157
|
return createOperationScopedFacade(target, scope, {
|
|
158
|
-
nodes: createOperationScopedFacade(target.nodes, scope)
|
|
158
|
+
nodes: createOperationScopedFacade(target.nodes, scope),
|
|
159
|
+
agentNodes: createOperationScopedFacade(target.agentNodes, scope)
|
|
159
160
|
});
|
|
160
161
|
}
|
|
161
162
|
function isAsyncFunction(value) {
|
|
@@ -167,4 +168,4 @@ function isAsyncGeneratorFunction(value) {
|
|
|
167
168
|
|
|
168
169
|
export { createStorageOperationScope, createOperationScopedFacade, decorateOperationScopedMethodForTesting, createAuthOperationScope, createAgentOperationScope, createOntologyOperationScope, createWorkflowRunOperationScope };
|
|
169
170
|
|
|
170
|
-
//# debugId=
|
|
171
|
+
//# debugId=57DEB820B7182A4E64756E2164756E21
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/storage/operation-scope.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { AsyncLocalStorage } from \"node:async_hooks\"\nimport type { AgentStorage } from \"./agents\"\nimport type { AuthStorage } from \"./auth\"\nimport type { OntologyStorage } from \"./ontology\"\nimport type { WorkflowRunStorage } from \"./workflow-runs\"\n\nexport type StorageOperationRunner = <TResult>(\n run: () => Promise<TResult> | TResult\n) => Promise<TResult>\n\n/** Provider-owned execution boundary for root storage operations. */\nexport interface StorageOperationScope {\n assertAvailable(): void\n run<TResult>(operation: () => Promise<TResult> | TResult): Promise<TResult>\n}\n\nexport function createStorageOperationScope(\n run: StorageOperationRunner,\n assertAvailable: () => void = () => undefined\n): StorageOperationScope {\n const executions = new AsyncLocalStorage<{ active: boolean }>()\n return {\n assertAvailable,\n async run(operation) {\n const inherited = executions.getStore()\n if (inherited?.active) {\n assertAvailable()\n return operation()\n }\n\n const execution = { active: true }\n try {\n return await executions.run(execution, () => run(operation))\n } finally {\n execution.active = false\n }\n },\n }\n}\n\nconst operationScopeTargets = new WeakMap<object, object>()\n\n/**\n * Give every async operation exposed by a store one provider-owned execution scope.\n *\n * Storage contracts use `async` methods for I/O and reserve synchronous methods for local\n * capabilities such as `queryCapabilities()`. Discovering the former from their implementation\n * removes the second, manually synchronized method registry that previously coupled every storage\n * primitive to the SQLite/InMemory lock.\n */\nexport function createOperationScopedFacade<T extends object>(\n target: T,\n scope: StorageOperationScope,\n propertyOverrides: Partial<T> = {}\n): T {\n const methodKinds = discoverMethodKinds(target)\n const overrideKeys = new Set(Reflect.ownKeys(propertyOverrides))\n const methodCache = new Map<\n PropertyKey,\n { implementation: (...args: unknown[]) => unknown; exposed: (...args: unknown[]) => unknown }\n >()\n\n const facade = new Proxy(target, {\n get(current, property) {\n if (overrideKeys.has(property)) {\n return Reflect.get(propertyOverrides, property, propertyOverrides)\n }\n\n const value = Reflect.get(current, property, current)\n const kind = methodKinds.get(property)\n if (!kind || typeof value !== \"function\") return value\n const implementation = value as (...args: unknown[]) => unknown\n\n const cached = methodCache.get(property)\n if (cached?.implementation === implementation) return cached.exposed\n\n const exposed = scopeMethod(implementation, kind, current, scope)\n methodCache.set(property, { implementation, exposed })\n return exposed\n },\n set(current, property, value) {\n if (overrideKeys.has(property)) return false\n return Reflect.set(current, property, value, current)\n },\n defineProperty(current, property, attributes) {\n if (overrideKeys.has(property)) return false\n return Reflect.defineProperty(current, property, attributes)\n },\n deleteProperty(current, property) {\n if (overrideKeys.has(property)) return false\n return Reflect.deleteProperty(current, property)\n },\n })\n operationScopeTargets.set(facade, target)\n return facade\n}\n\ntype StorageMethod = (...args: never[]) => unknown\ntype StorageMethodKey<T> = {\n [TKey in keyof T]-?: T[TKey] extends StorageMethod ? TKey : never\n}[keyof T]\n\n/** Replace a provider method behind its scoped facade without exposing the raw provider. */\nexport function decorateOperationScopedMethodForTesting<\n T extends object,\n TKey extends StorageMethodKey<T>,\n>(\n facade: T,\n property: TKey,\n decorate: (implementation: Extract<T[TKey], StorageMethod>) => Extract<T[TKey], StorageMethod>\n): () => void {\n const target = operationScopeTargets.get(facade)\n if (!target) throw new Error(\"[Sixb] Expected an operation-scoped storage facade.\")\n\n const previousDescriptor = Reflect.getOwnPropertyDescriptor(target, property)\n const implementation = Reflect.get(target, property, target)\n if (typeof implementation !== \"function\") {\n throw new Error(`[Sixb] Storage property '${String(property)}' is not a method.`)\n }\n\n const boundImplementation = ((...args: never[]) =>\n Reflect.apply(implementation, target, args)) as Extract<T[TKey], StorageMethod>\n const decorated = decorate(boundImplementation)\n Reflect.defineProperty(target, property, {\n configurable: true,\n enumerable: previousDescriptor?.enumerable ?? false,\n writable: true,\n value: decorated,\n })\n\n return () => {\n if (previousDescriptor) {\n Reflect.defineProperty(target, property, previousDescriptor)\n } else {\n Reflect.deleteProperty(target, property)\n }\n }\n}\n\ntype StorageMethodKind = \"async\" | \"async-generator\" | \"sync\"\n\nfunction discoverMethodKinds(target: object): ReadonlyMap<PropertyKey, StorageMethodKind> {\n const methodKeys = new Set<PropertyKey>()\n for (\n let current: object | null = target;\n current && current !== Object.prototype;\n current = Object.getPrototypeOf(current)\n ) {\n for (const property of Reflect.ownKeys(current)) {\n if (property !== \"constructor\") methodKeys.add(property)\n }\n }\n\n const methodKinds = new Map<PropertyKey, StorageMethodKind>()\n for (const property of methodKeys) {\n const implementation = Reflect.get(target, property, target)\n if (typeof implementation !== \"function\") continue\n methodKinds.set(property, methodKind(implementation))\n }\n return methodKinds\n}\n\nfunction methodKind(implementation: (...args: unknown[]) => unknown): StorageMethodKind {\n if (isAsyncFunction(implementation)) return \"async\"\n if (isAsyncGeneratorFunction(implementation)) return \"async-generator\"\n return \"sync\"\n}\n\nfunction scopeMethod(\n implementation: (...args: unknown[]) => unknown,\n kind: StorageMethodKind,\n target: object,\n scope: StorageOperationScope\n): (...args: unknown[]) => unknown {\n if (kind === \"async\") {\n return (...args: unknown[]) => scope.run(() => Reflect.apply(implementation, target, args))\n }\n\n if (kind === \"async-generator\") {\n return (...args: unknown[]) => {\n scope.assertAvailable()\n return Reflect.apply(implementation, target, args)\n }\n }\n\n return implementation.bind(target)\n}\n\nexport function createAuthOperationScope<T extends AuthStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<AuthStorage>(target, scope, {\n users: createOperationScopedFacade(target.users, scope),\n identities: createOperationScopedFacade(target.identities, scope),\n serviceAccounts: createOperationScopedFacade(target.serviceAccounts, scope),\n serviceAccountGroupMemberships: createOperationScopedFacade(\n target.serviceAccountGroupMemberships,\n scope\n ),\n sessions: createOperationScopedFacade(target.sessions, scope),\n accessTokens: createOperationScopedFacade(target.accessTokens, scope),\n invitations: createOperationScopedFacade(target.invitations, scope),\n groupMemberships: createOperationScopedFacade(target.groupMemberships, scope),\n magicLinks: createOperationScopedFacade(target.magicLinks, scope),\n oidcAuthorizationAttempts: createOperationScopedFacade(target.oidcAuthorizationAttempts, scope),\n }) as T\n}\n\nexport function createAgentOperationScope<T extends AgentStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<AgentStorage>(target, scope, {\n threads: createOperationScopedFacade(target.threads, scope),\n runs: createOperationScopedFacade(target.runs, scope),\n messages: createOperationScopedFacade(target.messages, scope),\n }) as T\n}\n\nexport function createOntologyOperationScope<T extends OntologyStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<OntologyStorage>(target, scope, {\n commits: createOperationScopedFacade(target.commits, scope),\n sources: createOperationScopedFacade(target.sources, scope),\n materializations: createOperationScopedFacade(target.materializations, scope),\n outbox: createOperationScopedFacade(target.outbox, scope),\n }) as T\n}\n\nexport function createWorkflowRunOperationScope<T extends WorkflowRunStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<WorkflowRunStorage>(target, scope, {\n nodes: createOperationScopedFacade(target.nodes, scope),\n }) as T\n}\n\nfunction isAsyncFunction(value: unknown): value is (...args: unknown[]) => Promise<unknown> {\n return typeof value === \"function\" && value.constructor.name === \"AsyncFunction\"\n}\n\nfunction isAsyncGeneratorFunction(value: unknown): boolean {\n return typeof value === \"function\" && value.constructor.name === \"AsyncGeneratorFunction\"\n}\n"
|
|
5
|
+
"import { AsyncLocalStorage } from \"node:async_hooks\"\nimport type { AgentStorage } from \"./agents\"\nimport type { AuthStorage } from \"./auth\"\nimport type { OntologyStorage } from \"./ontology\"\nimport type { WorkflowRunStorage } from \"./workflow-runs\"\n\nexport type StorageOperationRunner = <TResult>(\n run: () => Promise<TResult> | TResult\n) => Promise<TResult>\n\n/** Provider-owned execution boundary for root storage operations. */\nexport interface StorageOperationScope {\n assertAvailable(): void\n run<TResult>(operation: () => Promise<TResult> | TResult): Promise<TResult>\n}\n\nexport function createStorageOperationScope(\n run: StorageOperationRunner,\n assertAvailable: () => void = () => undefined\n): StorageOperationScope {\n const executions = new AsyncLocalStorage<{ active: boolean }>()\n return {\n assertAvailable,\n async run(operation) {\n const inherited = executions.getStore()\n if (inherited?.active) {\n assertAvailable()\n return operation()\n }\n\n const execution = { active: true }\n try {\n return await executions.run(execution, () => run(operation))\n } finally {\n execution.active = false\n }\n },\n }\n}\n\nconst operationScopeTargets = new WeakMap<object, object>()\n\n/**\n * Give every async operation exposed by a store one provider-owned execution scope.\n *\n * Storage contracts use `async` methods for I/O and reserve synchronous methods for local\n * capabilities such as `queryCapabilities()`. Discovering the former from their implementation\n * removes the second, manually synchronized method registry that previously coupled every storage\n * primitive to the SQLite/InMemory lock.\n */\nexport function createOperationScopedFacade<T extends object>(\n target: T,\n scope: StorageOperationScope,\n propertyOverrides: Partial<T> = {}\n): T {\n const methodKinds = discoverMethodKinds(target)\n const overrideKeys = new Set(Reflect.ownKeys(propertyOverrides))\n const methodCache = new Map<\n PropertyKey,\n { implementation: (...args: unknown[]) => unknown; exposed: (...args: unknown[]) => unknown }\n >()\n\n const facade = new Proxy(target, {\n get(current, property) {\n if (overrideKeys.has(property)) {\n return Reflect.get(propertyOverrides, property, propertyOverrides)\n }\n\n const value = Reflect.get(current, property, current)\n const kind = methodKinds.get(property)\n if (!kind || typeof value !== \"function\") return value\n const implementation = value as (...args: unknown[]) => unknown\n\n const cached = methodCache.get(property)\n if (cached?.implementation === implementation) return cached.exposed\n\n const exposed = scopeMethod(implementation, kind, current, scope)\n methodCache.set(property, { implementation, exposed })\n return exposed\n },\n set(current, property, value) {\n if (overrideKeys.has(property)) return false\n return Reflect.set(current, property, value, current)\n },\n defineProperty(current, property, attributes) {\n if (overrideKeys.has(property)) return false\n return Reflect.defineProperty(current, property, attributes)\n },\n deleteProperty(current, property) {\n if (overrideKeys.has(property)) return false\n return Reflect.deleteProperty(current, property)\n },\n })\n operationScopeTargets.set(facade, target)\n return facade\n}\n\ntype StorageMethod = (...args: never[]) => unknown\ntype StorageMethodKey<T> = {\n [TKey in keyof T]-?: T[TKey] extends StorageMethod ? TKey : never\n}[keyof T]\n\n/** Replace a provider method behind its scoped facade without exposing the raw provider. */\nexport function decorateOperationScopedMethodForTesting<\n T extends object,\n TKey extends StorageMethodKey<T>,\n>(\n facade: T,\n property: TKey,\n decorate: (implementation: Extract<T[TKey], StorageMethod>) => Extract<T[TKey], StorageMethod>\n): () => void {\n const target = operationScopeTargets.get(facade)\n if (!target) throw new Error(\"[Sixb] Expected an operation-scoped storage facade.\")\n\n const previousDescriptor = Reflect.getOwnPropertyDescriptor(target, property)\n const implementation = Reflect.get(target, property, target)\n if (typeof implementation !== \"function\") {\n throw new Error(`[Sixb] Storage property '${String(property)}' is not a method.`)\n }\n\n const boundImplementation = ((...args: never[]) =>\n Reflect.apply(implementation, target, args)) as Extract<T[TKey], StorageMethod>\n const decorated = decorate(boundImplementation)\n Reflect.defineProperty(target, property, {\n configurable: true,\n enumerable: previousDescriptor?.enumerable ?? false,\n writable: true,\n value: decorated,\n })\n\n return () => {\n if (previousDescriptor) {\n Reflect.defineProperty(target, property, previousDescriptor)\n } else {\n Reflect.deleteProperty(target, property)\n }\n }\n}\n\ntype StorageMethodKind = \"async\" | \"async-generator\" | \"sync\"\n\nfunction discoverMethodKinds(target: object): ReadonlyMap<PropertyKey, StorageMethodKind> {\n const methodKeys = new Set<PropertyKey>()\n for (\n let current: object | null = target;\n current && current !== Object.prototype;\n current = Object.getPrototypeOf(current)\n ) {\n for (const property of Reflect.ownKeys(current)) {\n if (property !== \"constructor\") methodKeys.add(property)\n }\n }\n\n const methodKinds = new Map<PropertyKey, StorageMethodKind>()\n for (const property of methodKeys) {\n const implementation = Reflect.get(target, property, target)\n if (typeof implementation !== \"function\") continue\n methodKinds.set(property, methodKind(implementation))\n }\n return methodKinds\n}\n\nfunction methodKind(implementation: (...args: unknown[]) => unknown): StorageMethodKind {\n if (isAsyncFunction(implementation)) return \"async\"\n if (isAsyncGeneratorFunction(implementation)) return \"async-generator\"\n return \"sync\"\n}\n\nfunction scopeMethod(\n implementation: (...args: unknown[]) => unknown,\n kind: StorageMethodKind,\n target: object,\n scope: StorageOperationScope\n): (...args: unknown[]) => unknown {\n if (kind === \"async\") {\n return (...args: unknown[]) => scope.run(() => Reflect.apply(implementation, target, args))\n }\n\n if (kind === \"async-generator\") {\n return (...args: unknown[]) => {\n scope.assertAvailable()\n return Reflect.apply(implementation, target, args)\n }\n }\n\n return implementation.bind(target)\n}\n\nexport function createAuthOperationScope<T extends AuthStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<AuthStorage>(target, scope, {\n users: createOperationScopedFacade(target.users, scope),\n identities: createOperationScopedFacade(target.identities, scope),\n serviceAccounts: createOperationScopedFacade(target.serviceAccounts, scope),\n serviceAccountGroupMemberships: createOperationScopedFacade(\n target.serviceAccountGroupMemberships,\n scope\n ),\n sessions: createOperationScopedFacade(target.sessions, scope),\n accessTokens: createOperationScopedFacade(target.accessTokens, scope),\n invitations: createOperationScopedFacade(target.invitations, scope),\n groupMemberships: createOperationScopedFacade(target.groupMemberships, scope),\n magicLinks: createOperationScopedFacade(target.magicLinks, scope),\n oidcAuthorizationAttempts: createOperationScopedFacade(target.oidcAuthorizationAttempts, scope),\n }) as T\n}\n\nexport function createAgentOperationScope<T extends AgentStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<AgentStorage>(target, scope, {\n threads: createOperationScopedFacade(target.threads, scope),\n runs: createOperationScopedFacade(target.runs, scope),\n messages: createOperationScopedFacade(target.messages, scope),\n }) as T\n}\n\nexport function createOntologyOperationScope<T extends OntologyStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<OntologyStorage>(target, scope, {\n commits: createOperationScopedFacade(target.commits, scope),\n sources: createOperationScopedFacade(target.sources, scope),\n materializations: createOperationScopedFacade(target.materializations, scope),\n outbox: createOperationScopedFacade(target.outbox, scope),\n }) as T\n}\n\nexport function createWorkflowRunOperationScope<T extends WorkflowRunStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<WorkflowRunStorage>(target, scope, {\n nodes: createOperationScopedFacade(target.nodes, scope),\n agentNodes: createOperationScopedFacade(target.agentNodes, scope),\n }) as T\n}\n\nfunction isAsyncFunction(value: unknown): value is (...args: unknown[]) => Promise<unknown> {\n return typeof value === \"function\" && value.constructor.name === \"AsyncFunction\"\n}\n\nfunction isAsyncGeneratorFunction(value: unknown): boolean {\n return typeof value === \"function\" && value.constructor.name === \"AsyncGeneratorFunction\"\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "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
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "57DEB820B7182A4E64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
AGENT_RUN_FAILURE_CODES
|
|
4
|
+
} from "./chunk-663csy96.js";
|
|
5
|
+
import {
|
|
6
|
+
parseSixbFailure
|
|
7
|
+
} from "./chunk-0172wgm9.js";
|
|
8
|
+
import {
|
|
9
|
+
isJsonValue,
|
|
10
|
+
isPlainRecord
|
|
11
|
+
} from "./chunk-t8t39h7v.js";
|
|
12
|
+
|
|
13
|
+
// src/agents/streams.ts
|
|
14
|
+
var AGENT_RUN_STREAM_SCHEMA_VERSION = 1;
|
|
15
|
+
var DEFAULT_AGENT_RUN_STREAM_RETENTION = {
|
|
16
|
+
maxAgeMs: 2 * 60 * 60 * 1000,
|
|
17
|
+
maxRecords: 5000
|
|
18
|
+
};
|
|
19
|
+
var AGENT_ACTIVITY_STREAM_SCHEMA_VERSION = 1;
|
|
20
|
+
var AGENT_ACTIVITY_STREAM_ID = "agents.activity";
|
|
21
|
+
var DEFAULT_AGENT_ACTIVITY_STREAM_RETENTION = {
|
|
22
|
+
maxAgeMs: 24 * 60 * 60 * 1000,
|
|
23
|
+
maxRecords: 1e4
|
|
24
|
+
};
|
|
25
|
+
function agentActivityStreamDefinition() {
|
|
26
|
+
return {
|
|
27
|
+
id: AGENT_ACTIVITY_STREAM_ID,
|
|
28
|
+
retention: DEFAULT_AGENT_ACTIVITY_STREAM_RETENTION
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function agentRunActivityEvent(run, occurredAt = new Date) {
|
|
32
|
+
return {
|
|
33
|
+
schemaVersion: AGENT_ACTIVITY_STREAM_SCHEMA_VERSION,
|
|
34
|
+
type: "agent.run.activity",
|
|
35
|
+
projectId: run.projectId,
|
|
36
|
+
runId: run.id,
|
|
37
|
+
threadId: run.threadId,
|
|
38
|
+
agentId: run.agentId,
|
|
39
|
+
status: run.status,
|
|
40
|
+
attempt: run.attempt,
|
|
41
|
+
occurredAt: occurredAt.toISOString()
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function isAgentRunActivityEvent(value) {
|
|
45
|
+
return isPlainRecord(value) && value.schemaVersion === AGENT_ACTIVITY_STREAM_SCHEMA_VERSION && value.type === "agent.run.activity" && typeof value.projectId === "string" && typeof value.runId === "string" && typeof value.threadId === "string" && typeof value.agentId === "string" && isAgentRunStatus(value.status) && typeof value.attempt === "number" && Number.isFinite(value.attempt) && typeof value.occurredAt === "string";
|
|
46
|
+
}
|
|
47
|
+
async function publishAgentRunActivity(broker, run) {
|
|
48
|
+
const event = agentRunActivityEvent(run);
|
|
49
|
+
await broker.ensureStream({
|
|
50
|
+
projectId: run.projectId,
|
|
51
|
+
stream: agentActivityStreamDefinition()
|
|
52
|
+
});
|
|
53
|
+
await broker.append({
|
|
54
|
+
projectId: run.projectId,
|
|
55
|
+
streamId: AGENT_ACTIVITY_STREAM_ID,
|
|
56
|
+
records: [
|
|
57
|
+
{
|
|
58
|
+
name: event.type,
|
|
59
|
+
key: event.threadId,
|
|
60
|
+
payload: event,
|
|
61
|
+
idempotencyKey: `${event.runId}:${event.attempt}:${event.status}`
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function agentRunStreamId(runId) {
|
|
67
|
+
return `agents.runs.${runId}`;
|
|
68
|
+
}
|
|
69
|
+
function agentRunStreamDefinition(runId) {
|
|
70
|
+
return {
|
|
71
|
+
id: agentRunStreamId(runId),
|
|
72
|
+
retention: DEFAULT_AGENT_RUN_STREAM_RETENTION
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function agentRunControlStreamId(runId) {
|
|
76
|
+
return `agents.runs.${runId}.control`;
|
|
77
|
+
}
|
|
78
|
+
var AGENT_RUN_CANCEL_RECORD = "agent.run.cancel";
|
|
79
|
+
var AGENT_RUN_CONTROL_RETENTION = { maxAgeMs: 30 * 60 * 1000, maxRecords: 16 };
|
|
80
|
+
function agentRunControlStreamDefinition(runId) {
|
|
81
|
+
return { id: agentRunControlStreamId(runId), retention: AGENT_RUN_CONTROL_RETENTION };
|
|
82
|
+
}
|
|
83
|
+
async function publishAgentRunCancel(broker, params) {
|
|
84
|
+
await broker.ensureStream({
|
|
85
|
+
projectId: params.projectId,
|
|
86
|
+
stream: agentRunControlStreamDefinition(params.runId)
|
|
87
|
+
});
|
|
88
|
+
await broker.append({
|
|
89
|
+
projectId: params.projectId,
|
|
90
|
+
streamId: agentRunControlStreamId(params.runId),
|
|
91
|
+
records: [
|
|
92
|
+
{ name: AGENT_RUN_CANCEL_RECORD, key: params.runId, payload: { runId: params.runId } }
|
|
93
|
+
]
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
async function subscribeAgentRunCancel(broker, params, onCancel) {
|
|
97
|
+
await broker.ensureStream({
|
|
98
|
+
projectId: params.projectId,
|
|
99
|
+
stream: agentRunControlStreamDefinition(params.runId)
|
|
100
|
+
});
|
|
101
|
+
return broker.subscribe({
|
|
102
|
+
projectId: params.projectId,
|
|
103
|
+
streamId: agentRunControlStreamId(params.runId),
|
|
104
|
+
from: "earliest",
|
|
105
|
+
names: [AGENT_RUN_CANCEL_RECORD]
|
|
106
|
+
}, () => onCancel());
|
|
107
|
+
}
|
|
108
|
+
function agentRunFinishedEvent(run, occurredAt = new Date) {
|
|
109
|
+
if (run.status === "queued" || run.status === "running") {
|
|
110
|
+
throw new Error(`[Sixb] Agent run '${run.id}' is not terminal (status '${run.status}'), so it has no finished event.`);
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
schemaVersion: AGENT_RUN_STREAM_SCHEMA_VERSION,
|
|
114
|
+
type: "agent.run.finished",
|
|
115
|
+
projectId: run.projectId,
|
|
116
|
+
runId: run.id,
|
|
117
|
+
threadId: run.threadId,
|
|
118
|
+
agentId: run.agentId,
|
|
119
|
+
attempt: run.attempt,
|
|
120
|
+
status: run.status,
|
|
121
|
+
...run.finishReason === undefined ? {} : { finishReason: run.finishReason },
|
|
122
|
+
...run.error === undefined ? {} : { error: run.error },
|
|
123
|
+
occurredAt: occurredAt.toISOString()
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function isAgentRunStreamEvent(value) {
|
|
127
|
+
if (!isPlainRecord(value) || value.schemaVersion !== AGENT_RUN_STREAM_SCHEMA_VERSION || typeof value.projectId !== "string" || typeof value.runId !== "string" || typeof value.threadId !== "string" || typeof value.agentId !== "string" || typeof value.attempt !== "number" || !Number.isFinite(value.attempt) || typeof value.occurredAt !== "string" || typeof value.type !== "string") {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
switch (value.type) {
|
|
131
|
+
case "agent.run.started":
|
|
132
|
+
return value.modelId === undefined || typeof value.modelId === "string";
|
|
133
|
+
case "agent.ui.chunk":
|
|
134
|
+
return Number.isInteger(value.chunkIndex) && Object.hasOwn(value, "chunk") && isJsonValue(value.chunk);
|
|
135
|
+
case "agent.message.finalized":
|
|
136
|
+
return typeof value.messageId === "string";
|
|
137
|
+
case "agent.run.finished":
|
|
138
|
+
return isTerminalAgentRunStatus(value.status) && (value.finishReason === undefined || typeof value.finishReason === "string") && (value.error === undefined || isAgentRunFailure(value.error));
|
|
139
|
+
default:
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function isTerminalAgentRunStatus(value) {
|
|
144
|
+
return value === "succeeded" || value === "failed" || value === "cancelled";
|
|
145
|
+
}
|
|
146
|
+
function isAgentRunStatus(value) {
|
|
147
|
+
return value === "queued" || value === "running" || isTerminalAgentRunStatus(value);
|
|
148
|
+
}
|
|
149
|
+
function isAgentRunFailure(value) {
|
|
150
|
+
if (!isPlainRecord(value))
|
|
151
|
+
return false;
|
|
152
|
+
try {
|
|
153
|
+
parseSixbFailure(value, AGENT_RUN_FAILURE_CODES);
|
|
154
|
+
return true;
|
|
155
|
+
} catch {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function agentRunStreamIdempotencyKey(event) {
|
|
160
|
+
switch (event.type) {
|
|
161
|
+
case "agent.run.started":
|
|
162
|
+
return `${event.runId}:${event.attempt}:started`;
|
|
163
|
+
case "agent.ui.chunk":
|
|
164
|
+
return `${event.runId}:${event.attempt}:chunk:${event.chunkIndex}`;
|
|
165
|
+
case "agent.message.finalized":
|
|
166
|
+
return `${event.runId}:${event.attempt}:message:${event.messageId}:finalized`;
|
|
167
|
+
case "agent.run.finished":
|
|
168
|
+
return `${event.runId}:${event.attempt}:finished:${event.status}`;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
async function publishAgentRunFinished(broker, run) {
|
|
172
|
+
const event = agentRunFinishedEvent(run);
|
|
173
|
+
await broker.ensureStream({
|
|
174
|
+
projectId: run.projectId,
|
|
175
|
+
stream: agentRunStreamDefinition(run.id)
|
|
176
|
+
});
|
|
177
|
+
await broker.append({
|
|
178
|
+
projectId: run.projectId,
|
|
179
|
+
streamId: agentRunStreamId(run.id),
|
|
180
|
+
records: [
|
|
181
|
+
{
|
|
182
|
+
name: event.type,
|
|
183
|
+
key: event.runId,
|
|
184
|
+
payload: JSON.parse(JSON.stringify(event)),
|
|
185
|
+
idempotencyKey: agentRunStreamIdempotencyKey(event)
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
});
|
|
189
|
+
await publishAgentRunActivity(broker, run);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export { AGENT_RUN_STREAM_SCHEMA_VERSION, DEFAULT_AGENT_RUN_STREAM_RETENTION, AGENT_ACTIVITY_STREAM_SCHEMA_VERSION, AGENT_ACTIVITY_STREAM_ID, DEFAULT_AGENT_ACTIVITY_STREAM_RETENTION, agentActivityStreamDefinition, agentRunActivityEvent, isAgentRunActivityEvent, publishAgentRunActivity, agentRunStreamId, agentRunStreamDefinition, agentRunControlStreamId, AGENT_RUN_CANCEL_RECORD, agentRunControlStreamDefinition, publishAgentRunCancel, subscribeAgentRunCancel, agentRunFinishedEvent, isAgentRunStreamEvent, agentRunStreamIdempotencyKey, publishAgentRunFinished };
|
|
193
|
+
|
|
194
|
+
//# debugId=4F8D3EDFA7A2B1D064756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/agents/streams.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { Broker, BrokerStreamDefinition } from \"../broker\"\nimport { parseSixbFailure } from \"../errors/internal\"\nimport type { SixbFailure } from \"../errors/types\"\nimport { isJsonValue, isPlainRecord, type JsonValue } from \"../json\"\nimport {\n AGENT_RUN_FAILURE_CODES,\n type AgentRunFailureCode,\n type AgentRunRecord,\n} from \"../storage/agents/types\"\n\nexport const AGENT_RUN_STREAM_SCHEMA_VERSION = 1 as const\nexport const DEFAULT_AGENT_RUN_STREAM_RETENTION = {\n maxAgeMs: 2 * 60 * 60 * 1000, // 2 hours\n maxRecords: 5_000,\n} as const\n\nexport const AGENT_ACTIVITY_STREAM_SCHEMA_VERSION = 1 as const\nexport const AGENT_ACTIVITY_STREAM_ID = \"agents.activity\" as const\nexport const DEFAULT_AGENT_ACTIVITY_STREAM_RETENTION = {\n maxAgeMs: 24 * 60 * 60 * 1000, // 24 hours\n maxRecords: 10_000,\n} as const\n\nexport interface AgentRunActivityEvent {\n readonly schemaVersion: typeof AGENT_ACTIVITY_STREAM_SCHEMA_VERSION\n readonly type: \"agent.run.activity\"\n readonly projectId: string\n readonly runId: string\n readonly threadId: string\n readonly agentId: string\n readonly status: AgentRunRecord[\"status\"]\n readonly attempt: number\n readonly occurredAt: string\n}\n\nexport function agentActivityStreamDefinition(): BrokerStreamDefinition {\n return {\n id: AGENT_ACTIVITY_STREAM_ID,\n retention: DEFAULT_AGENT_ACTIVITY_STREAM_RETENTION,\n }\n}\n\nexport function agentRunActivityEvent(\n run: AgentRunRecord,\n occurredAt: Date = new Date()\n): AgentRunActivityEvent {\n return {\n schemaVersion: AGENT_ACTIVITY_STREAM_SCHEMA_VERSION,\n type: \"agent.run.activity\",\n projectId: run.projectId,\n runId: run.id,\n threadId: run.threadId,\n agentId: run.agentId,\n status: run.status,\n attempt: run.attempt,\n occurredAt: occurredAt.toISOString(),\n }\n}\n\nexport function isAgentRunActivityEvent(value: unknown): value is AgentRunActivityEvent {\n return (\n isPlainRecord(value) &&\n value.schemaVersion === AGENT_ACTIVITY_STREAM_SCHEMA_VERSION &&\n value.type === \"agent.run.activity\" &&\n typeof value.projectId === \"string\" &&\n typeof value.runId === \"string\" &&\n typeof value.threadId === \"string\" &&\n typeof value.agentId === \"string\" &&\n isAgentRunStatus(value.status) &&\n typeof value.attempt === \"number\" &&\n Number.isFinite(value.attempt) &&\n typeof value.occurredAt === \"string\"\n )\n}\n\nexport async function publishAgentRunActivity(broker: Broker, run: AgentRunRecord): Promise<void> {\n const event = agentRunActivityEvent(run)\n await broker.ensureStream({\n projectId: run.projectId,\n stream: agentActivityStreamDefinition(),\n })\n await broker.append({\n projectId: run.projectId,\n streamId: AGENT_ACTIVITY_STREAM_ID,\n records: [\n {\n name: event.type,\n key: event.threadId,\n // The event is composed only of validated JSON primitives.\n payload: event as unknown as JsonValue,\n idempotencyKey: `${event.runId}:${event.attempt}:${event.status}`,\n },\n ],\n })\n}\n\nexport type AgentRunStreamId = `agents.runs.${string}`\n\nexport function agentRunStreamId(runId: string): AgentRunStreamId {\n return `agents.runs.${runId}`\n}\n\nexport function agentRunStreamDefinition(runId: string): BrokerStreamDefinition {\n return {\n id: agentRunStreamId(runId),\n retention: DEFAULT_AGENT_RUN_STREAM_RETENTION,\n }\n}\n\ninterface AgentRunStreamEventBase {\n readonly schemaVersion: typeof AGENT_RUN_STREAM_SCHEMA_VERSION\n readonly projectId: string\n readonly runId: string\n readonly threadId: string\n readonly agentId: string\n readonly attempt: number\n readonly occurredAt: string\n}\n\n// ── Control stream (worker-inbound) ─────────────────────────────────────────────────────────────\n//\n// A per-run channel the API layer publishes to and the worker subscribes to — the reverse direction\n// of the event stream above. It carries only a cancel signal, and is addressed by `runId` (not a run\n// record), so a cancel works even before the worker has reserved the run. Kept separate from the\n// event stream so control records never reach the browser client.\n\nexport type AgentRunControlStreamId = `agents.runs.${string}.control`\n\nexport function agentRunControlStreamId(runId: string): AgentRunControlStreamId {\n return `agents.runs.${runId}.control`\n}\n\n/** The only control record: a request to stop the run. */\nexport const AGENT_RUN_CANCEL_RECORD = \"agent.run.cancel\"\n\n// A cancel only needs to outlive the queue wait plus one turn, so retention is short and tiny.\nconst AGENT_RUN_CONTROL_RETENTION = { maxAgeMs: 30 * 60 * 1000, maxRecords: 16 } as const\n\nexport function agentRunControlStreamDefinition(runId: string): BrokerStreamDefinition {\n return { id: agentRunControlStreamId(runId), retention: AGENT_RUN_CONTROL_RETENTION }\n}\n\n/**\n * Signal a run to stop. Publishing is addressed by `runId`, so it works whether the run is queued,\n * reserved, or being drained — the worker picks the record up when it subscribes.\n */\nexport async function publishAgentRunCancel(\n broker: Broker,\n params: { readonly projectId: string; readonly runId: string }\n): Promise<void> {\n await broker.ensureStream({\n projectId: params.projectId,\n stream: agentRunControlStreamDefinition(params.runId),\n })\n await broker.append({\n projectId: params.projectId,\n streamId: agentRunControlStreamId(params.runId),\n records: [\n { name: AGENT_RUN_CANCEL_RECORD, key: params.runId, payload: { runId: params.runId } },\n ],\n })\n}\n\n/**\n * Watch a run's control stream and invoke `onCancel` when a cancel arrives. Reads from `earliest` so\n * a cancel published before the worker subscribed (a run stopped while still queued) is still seen.\n * Returns the unsubscribe handle.\n */\nexport async function subscribeAgentRunCancel(\n broker: Broker,\n params: { readonly projectId: string; readonly runId: string },\n onCancel: () => void\n): Promise<() => void> {\n await broker.ensureStream({\n projectId: params.projectId,\n stream: agentRunControlStreamDefinition(params.runId),\n })\n return broker.subscribe(\n {\n projectId: params.projectId,\n streamId: agentRunControlStreamId(params.runId),\n from: \"earliest\",\n names: [AGENT_RUN_CANCEL_RECORD],\n },\n () => onCancel()\n )\n}\n\n/** Exact portable failure exposed by a terminal Agent run stream event. */\nexport type AgentRunFailure = SixbFailure<AgentRunFailureCode>\n\nexport type AgentRunStreamEvent =\n | (AgentRunStreamEventBase & {\n readonly type: \"agent.run.started\"\n readonly modelId?: string\n })\n | (AgentRunStreamEventBase & {\n readonly type: \"agent.ui.chunk\"\n readonly chunkIndex: number\n readonly chunk: JsonValue\n })\n | (AgentRunStreamEventBase & {\n readonly type: \"agent.message.finalized\"\n readonly messageId: string\n })\n | (AgentRunStreamEventBase & {\n readonly type: \"agent.run.finished\"\n readonly status: \"succeeded\" | \"failed\" | \"cancelled\"\n readonly finishReason?: string\n readonly error?: AgentRunFailure\n })\n\nexport type AgentRunFinishedEvent = Extract<AgentRunStreamEvent, { type: \"agent.run.finished\" }>\n\n// ── Record construction ──────────────────────────────────────────────────────────────────────────\n//\n// The wire format of run stream records — event shape, record name/key, and the idempotency-key\n// vocabulary — is owned here so every producer (the worker's stream sink, the server's queued\n// cancellation) shares one definition and cannot drift.\n\n/** Build the terminal stream event for a finished run. Throws if the run is not terminal. */\nexport function agentRunFinishedEvent(\n run: AgentRunRecord,\n occurredAt: Date = new Date()\n): AgentRunFinishedEvent {\n if (run.status === \"queued\" || run.status === \"running\") {\n throw new Error(\n `[Sixb] Agent run '${run.id}' is not terminal (status '${run.status}'), so it has no finished event.`\n )\n }\n return {\n schemaVersion: AGENT_RUN_STREAM_SCHEMA_VERSION,\n type: \"agent.run.finished\",\n projectId: run.projectId,\n runId: run.id,\n threadId: run.threadId,\n agentId: run.agentId,\n attempt: run.attempt,\n status: run.status,\n ...(run.finishReason === undefined ? {} : { finishReason: run.finishReason }),\n ...(run.error === undefined ? {} : { error: run.error }),\n occurredAt: occurredAt.toISOString(),\n }\n}\n\n/** Validate an Agent stream payload using the same contract its producers use. */\nexport function isAgentRunStreamEvent(value: unknown): value is AgentRunStreamEvent {\n if (\n !isPlainRecord(value) ||\n value.schemaVersion !== AGENT_RUN_STREAM_SCHEMA_VERSION ||\n typeof value.projectId !== \"string\" ||\n typeof value.runId !== \"string\" ||\n typeof value.threadId !== \"string\" ||\n typeof value.agentId !== \"string\" ||\n typeof value.attempt !== \"number\" ||\n !Number.isFinite(value.attempt) ||\n typeof value.occurredAt !== \"string\" ||\n typeof value.type !== \"string\"\n ) {\n return false\n }\n\n switch (value.type) {\n case \"agent.run.started\":\n return value.modelId === undefined || typeof value.modelId === \"string\"\n case \"agent.ui.chunk\":\n return (\n Number.isInteger(value.chunkIndex) &&\n Object.hasOwn(value, \"chunk\") &&\n isJsonValue(value.chunk)\n )\n case \"agent.message.finalized\":\n return typeof value.messageId === \"string\"\n case \"agent.run.finished\":\n return (\n isTerminalAgentRunStatus(value.status) &&\n (value.finishReason === undefined || typeof value.finishReason === \"string\") &&\n (value.error === undefined || isAgentRunFailure(value.error))\n )\n default:\n return false\n }\n}\n\nfunction isTerminalAgentRunStatus(value: unknown): value is \"succeeded\" | \"failed\" | \"cancelled\" {\n return value === \"succeeded\" || value === \"failed\" || value === \"cancelled\"\n}\n\nfunction isAgentRunStatus(value: unknown): value is AgentRunRecord[\"status\"] {\n return value === \"queued\" || value === \"running\" || isTerminalAgentRunStatus(value)\n}\n\nfunction isAgentRunFailure(value: unknown): value is AgentRunFailure {\n if (!isPlainRecord(value)) return false\n try {\n parseSixbFailure(value, AGENT_RUN_FAILURE_CODES)\n return true\n } catch {\n return false\n }\n}\n\n/** Single owner of the idempotency-key vocabulary for agent run stream records. */\nexport function agentRunStreamIdempotencyKey(event: AgentRunStreamEvent): string {\n switch (event.type) {\n case \"agent.run.started\":\n return `${event.runId}:${event.attempt}:started`\n case \"agent.ui.chunk\":\n return `${event.runId}:${event.attempt}:chunk:${event.chunkIndex}`\n case \"agent.message.finalized\":\n return `${event.runId}:${event.attempt}:message:${event.messageId}:finalized`\n case \"agent.run.finished\":\n return `${event.runId}:${event.attempt}:finished:${event.status}`\n }\n}\n\n/**\n * Ensure the run's stream and append its terminal record — mirrors {@link publishAgentRunCancel}.\n * Used where a terminal transition happens outside the worker (e.g. cancelling a queued run).\n */\nexport async function publishAgentRunFinished(broker: Broker, run: AgentRunRecord): Promise<void> {\n const event = agentRunFinishedEvent(run)\n await broker.ensureStream({\n projectId: run.projectId,\n stream: agentRunStreamDefinition(run.id),\n })\n await broker.append({\n projectId: run.projectId,\n streamId: agentRunStreamId(run.id),\n records: [\n {\n name: event.type,\n key: event.runId,\n // The event is built from JSON primitives only, so the round-trip is a safe narrowing.\n payload: JSON.parse(JSON.stringify(event)) as JsonValue,\n idempotencyKey: agentRunStreamIdempotencyKey(event),\n },\n ],\n })\n await publishAgentRunActivity(broker, run)\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;AAUO,IAAM,kCAAkC;AACxC,IAAM,qCAAqC;AAAA,EAChD,UAAU,IAAI,KAAK,KAAK;AAAA,EACxB,YAAY;AACd;AAEO,IAAM,uCAAuC;AAC7C,IAAM,2BAA2B;AACjC,IAAM,0CAA0C;AAAA,EACrD,UAAU,KAAK,KAAK,KAAK;AAAA,EACzB,YAAY;AACd;AAcO,SAAS,6BAA6B,GAA2B;AAAA,EACtE,OAAO;AAAA,IACL,IAAI;AAAA,IACJ,WAAW;AAAA,EACb;AAAA;AAGK,SAAS,qBAAqB,CACnC,KACA,aAAmB,IAAI,MACA;AAAA,EACvB,OAAO;AAAA,IACL,eAAe;AAAA,IACf,MAAM;AAAA,IACN,WAAW,IAAI;AAAA,IACf,OAAO,IAAI;AAAA,IACX,UAAU,IAAI;AAAA,IACd,SAAS,IAAI;AAAA,IACb,QAAQ,IAAI;AAAA,IACZ,SAAS,IAAI;AAAA,IACb,YAAY,WAAW,YAAY;AAAA,EACrC;AAAA;AAGK,SAAS,uBAAuB,CAAC,OAAgD;AAAA,EACtF,OACE,cAAc,KAAK,KACnB,MAAM,kBAAkB,wCACxB,MAAM,SAAS,wBACf,OAAO,MAAM,cAAc,YAC3B,OAAO,MAAM,UAAU,YACvB,OAAO,MAAM,aAAa,YAC1B,OAAO,MAAM,YAAY,YACzB,iBAAiB,MAAM,MAAM,KAC7B,OAAO,MAAM,YAAY,YACzB,OAAO,SAAS,MAAM,OAAO,KAC7B,OAAO,MAAM,eAAe;AAAA;AAIhC,eAAsB,uBAAuB,CAAC,QAAgB,KAAoC;AAAA,EAChG,MAAM,QAAQ,sBAAsB,GAAG;AAAA,EACvC,MAAM,OAAO,aAAa;AAAA,IACxB,WAAW,IAAI;AAAA,IACf,QAAQ,8BAA8B;AAAA,EACxC,CAAC;AAAA,EACD,MAAM,OAAO,OAAO;AAAA,IAClB,WAAW,IAAI;AAAA,IACf,UAAU;AAAA,IACV,SAAS;AAAA,MACP;AAAA,QACE,MAAM,MAAM;AAAA,QACZ,KAAK,MAAM;AAAA,QAEX,SAAS;AAAA,QACT,gBAAgB,GAAG,MAAM,SAAS,MAAM,WAAW,MAAM;AAAA,MAC3D;AAAA,IACF;AAAA,EACF,CAAC;AAAA;AAKI,SAAS,gBAAgB,CAAC,OAAiC;AAAA,EAChE,OAAO,eAAe;AAAA;AAGjB,SAAS,wBAAwB,CAAC,OAAuC;AAAA,EAC9E,OAAO;AAAA,IACL,IAAI,iBAAiB,KAAK;AAAA,IAC1B,WAAW;AAAA,EACb;AAAA;AAsBK,SAAS,uBAAuB,CAAC,OAAwC;AAAA,EAC9E,OAAO,eAAe;AAAA;AAIjB,IAAM,0BAA0B;AAGvC,IAAM,8BAA8B,EAAE,UAAU,KAAK,KAAK,MAAM,YAAY,GAAG;AAExE,SAAS,+BAA+B,CAAC,OAAuC;AAAA,EACrF,OAAO,EAAE,IAAI,wBAAwB,KAAK,GAAG,WAAW,4BAA4B;AAAA;AAOtF,eAAsB,qBAAqB,CACzC,QACA,QACe;AAAA,EACf,MAAM,OAAO,aAAa;AAAA,IACxB,WAAW,OAAO;AAAA,IAClB,QAAQ,gCAAgC,OAAO,KAAK;AAAA,EACtD,CAAC;AAAA,EACD,MAAM,OAAO,OAAO;AAAA,IAClB,WAAW,OAAO;AAAA,IAClB,UAAU,wBAAwB,OAAO,KAAK;AAAA,IAC9C,SAAS;AAAA,MACP,EAAE,MAAM,yBAAyB,KAAK,OAAO,OAAO,SAAS,EAAE,OAAO,OAAO,MAAM,EAAE;AAAA,IACvF;AAAA,EACF,CAAC;AAAA;AAQH,eAAsB,uBAAuB,CAC3C,QACA,QACA,UACqB;AAAA,EACrB,MAAM,OAAO,aAAa;AAAA,IACxB,WAAW,OAAO;AAAA,IAClB,QAAQ,gCAAgC,OAAO,KAAK;AAAA,EACtD,CAAC;AAAA,EACD,OAAO,OAAO,UACZ;AAAA,IACE,WAAW,OAAO;AAAA,IAClB,UAAU,wBAAwB,OAAO,KAAK;AAAA,IAC9C,MAAM;AAAA,IACN,OAAO,CAAC,uBAAuB;AAAA,EACjC,GACA,MAAM,SAAS,CACjB;AAAA;AAoCK,SAAS,qBAAqB,CACnC,KACA,aAAmB,IAAI,MACA;AAAA,EACvB,IAAI,IAAI,WAAW,YAAY,IAAI,WAAW,WAAW;AAAA,IACvD,MAAM,IAAI,MACR,qBAAqB,IAAI,gCAAgC,IAAI,wCAC/D;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,eAAe;AAAA,IACf,MAAM;AAAA,IACN,WAAW,IAAI;AAAA,IACf,OAAO,IAAI;AAAA,IACX,UAAU,IAAI;AAAA,IACd,SAAS,IAAI;AAAA,IACb,SAAS,IAAI;AAAA,IACb,QAAQ,IAAI;AAAA,OACR,IAAI,iBAAiB,YAAY,CAAC,IAAI,EAAE,cAAc,IAAI,aAAa;AAAA,OACvE,IAAI,UAAU,YAAY,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM;AAAA,IACtD,YAAY,WAAW,YAAY;AAAA,EACrC;AAAA;AAIK,SAAS,qBAAqB,CAAC,OAA8C;AAAA,EAClF,IACE,CAAC,cAAc,KAAK,KACpB,MAAM,kBAAkB,mCACxB,OAAO,MAAM,cAAc,YAC3B,OAAO,MAAM,UAAU,YACvB,OAAO,MAAM,aAAa,YAC1B,OAAO,MAAM,YAAY,YACzB,OAAO,MAAM,YAAY,YACzB,CAAC,OAAO,SAAS,MAAM,OAAO,KAC9B,OAAO,MAAM,eAAe,YAC5B,OAAO,MAAM,SAAS,UACtB;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,QAAQ,MAAM;AAAA,SACP;AAAA,MACH,OAAO,MAAM,YAAY,aAAa,OAAO,MAAM,YAAY;AAAA,SAC5D;AAAA,MACH,OACE,OAAO,UAAU,MAAM,UAAU,KACjC,OAAO,OAAO,OAAO,OAAO,KAC5B,YAAY,MAAM,KAAK;AAAA,SAEtB;AAAA,MACH,OAAO,OAAO,MAAM,cAAc;AAAA,SAC/B;AAAA,MACH,OACE,yBAAyB,MAAM,MAAM,MACpC,MAAM,iBAAiB,aAAa,OAAO,MAAM,iBAAiB,cAClE,MAAM,UAAU,aAAa,kBAAkB,MAAM,KAAK;AAAA;AAAA,MAG7D,OAAO;AAAA;AAAA;AAIb,SAAS,wBAAwB,CAAC,OAA+D;AAAA,EAC/F,OAAO,UAAU,eAAe,UAAU,YAAY,UAAU;AAAA;AAGlE,SAAS,gBAAgB,CAAC,OAAmD;AAAA,EAC3E,OAAO,UAAU,YAAY,UAAU,aAAa,yBAAyB,KAAK;AAAA;AAGpF,SAAS,iBAAiB,CAAC,OAA0C;AAAA,EACnE,IAAI,CAAC,cAAc,KAAK;AAAA,IAAG,OAAO;AAAA,EAClC,IAAI;AAAA,IACF,iBAAiB,OAAO,uBAAuB;AAAA,IAC/C,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAKJ,SAAS,4BAA4B,CAAC,OAAoC;AAAA,EAC/E,QAAQ,MAAM;AAAA,SACP;AAAA,MACH,OAAO,GAAG,MAAM,SAAS,MAAM;AAAA,SAC5B;AAAA,MACH,OAAO,GAAG,MAAM,SAAS,MAAM,iBAAiB,MAAM;AAAA,SACnD;AAAA,MACH,OAAO,GAAG,MAAM,SAAS,MAAM,mBAAmB,MAAM;AAAA,SACrD;AAAA,MACH,OAAO,GAAG,MAAM,SAAS,MAAM,oBAAoB,MAAM;AAAA;AAAA;AAQ/D,eAAsB,uBAAuB,CAAC,QAAgB,KAAoC;AAAA,EAChG,MAAM,QAAQ,sBAAsB,GAAG;AAAA,EACvC,MAAM,OAAO,aAAa;AAAA,IACxB,WAAW,IAAI;AAAA,IACf,QAAQ,yBAAyB,IAAI,EAAE;AAAA,EACzC,CAAC;AAAA,EACD,MAAM,OAAO,OAAO;AAAA,IAClB,WAAW,IAAI;AAAA,IACf,UAAU,iBAAiB,IAAI,EAAE;AAAA,IACjC,SAAS;AAAA,MACP;AAAA,QACE,MAAM,MAAM;AAAA,QACZ,KAAK,MAAM;AAAA,QAEX,SAAS,KAAK,MAAM,KAAK,UAAU,KAAK,CAAC;AAAA,QACzC,gBAAgB,6BAA6B,KAAK;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,MAAM,wBAAwB,QAAQ,GAAG;AAAA;",
|
|
8
|
+
"debugId": "4F8D3EDFA7A2B1D064756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -6,19 +6,16 @@ import {
|
|
|
6
6
|
assertNonEmpty,
|
|
7
7
|
effectsWithoutEditsMessage,
|
|
8
8
|
isObjectActionDefinition,
|
|
9
|
-
missingActionMutationMessage
|
|
10
|
-
|
|
11
|
-
requestActionAndWait,
|
|
12
|
-
waitForActionRun
|
|
13
|
-
} from "./chunk-avppcgt6.js";
|
|
9
|
+
missingActionMutationMessage
|
|
10
|
+
} from "./chunk-c6qd89g5.js";
|
|
14
11
|
import {
|
|
15
12
|
createLinkScopeFingerprint
|
|
16
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-st4xgxey.js";
|
|
17
14
|
import {
|
|
18
15
|
linkRefKey,
|
|
19
16
|
linkScopeKey,
|
|
20
17
|
objectRefKey
|
|
21
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-vybf6pkp.js";
|
|
22
19
|
import {
|
|
23
20
|
lowerEditBatch
|
|
24
21
|
} from "./chunk-1evzqhks.js";
|
|
@@ -199,8 +196,7 @@ async function commitActionEdits(input) {
|
|
|
199
196
|
operations: lowerEditBatch(input.batch),
|
|
200
197
|
expectedObjects: dependencies.objects,
|
|
201
198
|
expectedLinks: dependencies.links,
|
|
202
|
-
expectedLinkScopes: dependencies.linkScopes
|
|
203
|
-
...input.actor !== undefined ? { actor: input.actor } : {}
|
|
199
|
+
expectedLinkScopes: dependencies.linkScopes
|
|
204
200
|
});
|
|
205
201
|
return toActionEditCommitResult(commit);
|
|
206
202
|
}
|
|
@@ -350,13 +346,13 @@ function toLinkSnapshot(row) {
|
|
|
350
346
|
}
|
|
351
347
|
// src/actions/registry.ts
|
|
352
348
|
class ActionRegistry {
|
|
353
|
-
ontology;
|
|
354
349
|
byId = new Map;
|
|
355
350
|
globalActions = [];
|
|
356
351
|
byTargetId = new Map;
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
352
|
+
ontology;
|
|
353
|
+
constructor(options) {
|
|
354
|
+
this.ontology = options.ontology;
|
|
355
|
+
for (const action of options.actions) {
|
|
360
356
|
const previous = this.byId.get(action.id);
|
|
361
357
|
if (previous) {
|
|
362
358
|
const chainDuplicate = this.getInheritanceDuplicate(action, previous);
|
|
@@ -398,10 +394,10 @@ class ActionRegistry {
|
|
|
398
394
|
getById(id) {
|
|
399
395
|
return this.byId.get(id) ?? null;
|
|
400
396
|
}
|
|
401
|
-
|
|
397
|
+
listGlobal() {
|
|
402
398
|
return [...this.globalActions];
|
|
403
399
|
}
|
|
404
|
-
|
|
400
|
+
listForType(type) {
|
|
405
401
|
this.ontology.resolveObjectType(type.id);
|
|
406
402
|
const seen = new Set;
|
|
407
403
|
const result = [];
|
|
@@ -443,22 +439,6 @@ class ActionRegistry {
|
|
|
443
439
|
return null;
|
|
444
440
|
}
|
|
445
441
|
}
|
|
446
|
-
// src/actions/runtime.ts
|
|
447
|
-
class ActionsRuntime {
|
|
448
|
-
runtime;
|
|
449
|
-
constructor(runtime) {
|
|
450
|
-
this.runtime = runtime;
|
|
451
|
-
}
|
|
452
|
-
request(input) {
|
|
453
|
-
return requestAction(this.runtime, input);
|
|
454
|
-
}
|
|
455
|
-
waitFor(input) {
|
|
456
|
-
return waitForActionRun(this.runtime, input);
|
|
457
|
-
}
|
|
458
|
-
requestAndWait(input) {
|
|
459
|
-
return requestActionAndWait(this.runtime, input);
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
442
|
// src/actions/validators.ts
|
|
463
443
|
async function runActionValidators(input) {
|
|
464
444
|
const validators = input.action.phases.validate;
|
|
@@ -496,6 +476,6 @@ async function runActionValidators(input) {
|
|
|
496
476
|
function isValidatorErrorResult(value) {
|
|
497
477
|
return typeof value === "object" && value !== null && "error" in value && typeof value.error === "string";
|
|
498
478
|
}
|
|
499
|
-
export { defineAction, param, optional, commitActionEdits, findActionEditCommit, ActionReadRecorder, createActionReadFacade, ActionRegistry,
|
|
479
|
+
export { defineAction, param, optional, commitActionEdits, findActionEditCommit, ActionReadRecorder, createActionReadFacade, ActionRegistry, runActionValidators };
|
|
500
480
|
|
|
501
|
-
//# debugId=
|
|
481
|
+
//# debugId=F2505FFF52F07A6564756E2164756E21
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/actions/builders/define-action.ts", "../src/actions/builders/params.ts", "../src/actions/commit-edits.ts", "../src/actions/read-facade.ts", "../src/actions/registry.ts", "../src/actions/validators.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { ObjectTypeWithPropertyTokens } from \"../../ontology/tokens\"\nimport { ActionDefinitionError, effectsWithoutEditsMessage } from \"../errors\"\nimport type {\n ActionBuilder,\n ActionEditsHandler,\n ActionEffectsHandler,\n ActionParamsConfig,\n ActionValidator,\n ActionWritebackHandler,\n GlobalActionDefinition,\n GlobalActionEditsHandler,\n GlobalActionEffectsHandler,\n GlobalActionPhaseBuilder,\n GlobalActionValidator,\n GlobalActionWritebackHandler,\n ObjectActionDefinition,\n ObjectActionPhaseBuilder,\n} from \"../types\"\nimport { assertNonEmpty } from \"../validation\"\n\ntype ActionOptions = {\n description?: string\n}\n\nexport function defineAction<const TId extends string>(\n id: TId,\n options?: ActionOptions\n): ActionBuilder<TId> {\n assertNonEmpty(id, \"id\")\n\n return asPublicActionType<ActionBuilder<TId>>(createActionBuilder(id, options))\n}\n\nfunction createActionBuilder(id: string, options?: ActionOptions) {\n const builder = {\n params(params: ActionParamsConfig) {\n return createGlobalActionPhaseBuilder(id, params, options)\n },\n on(objectType: ObjectTypeWithPropertyTokens) {\n assertNonEmpty(objectType.id, \"target id\")\n return createObjectActionParamsBuilder(id, objectType, options)\n },\n }\n\n return builder\n}\n\nfunction createGlobalActionPhaseBuilder(\n id: string,\n params: ActionParamsConfig,\n options?: ActionOptions\n): GlobalActionPhaseBuilder<string, ActionParamsConfig> {\n const validators: GlobalActionValidator<Record<string, unknown>>[] = []\n\n const builder = {\n validate(validator: GlobalActionValidator<Record<string, unknown>>) {\n validators.push(validator)\n return builder\n },\n writeback(handler: GlobalActionWritebackHandler<Record<string, unknown>, unknown>) {\n return createGlobalDefinition({\n id,\n params,\n description: options?.description,\n validators,\n writeback: handler,\n })\n },\n edits(handler: GlobalActionEditsHandler<Record<string, unknown>, undefined>) {\n return createGlobalDefinition({\n id,\n params,\n description: options?.description,\n validators,\n edits: handler,\n })\n },\n }\n\n return asPublicActionType<GlobalActionPhaseBuilder<string, ActionParamsConfig>>(builder)\n}\n\nfunction createObjectActionParamsBuilder(\n id: string,\n objectType: ObjectTypeWithPropertyTokens,\n options?: ActionOptions\n) {\n return {\n params(params: ActionParamsConfig) {\n return createObjectActionPhaseBuilder(id, objectType, params, options)\n },\n }\n}\n\nfunction createObjectActionPhaseBuilder(\n id: string,\n objectType: ObjectTypeWithPropertyTokens,\n params: ActionParamsConfig,\n options?: ActionOptions\n): ObjectActionPhaseBuilder<string, ObjectTypeWithPropertyTokens, ActionParamsConfig> {\n const validators: ActionValidator<ObjectTypeWithPropertyTokens, Record<string, unknown>>[] = []\n\n const builder = {\n validate(validator: ActionValidator<ObjectTypeWithPropertyTokens, Record<string, unknown>>) {\n validators.push(validator)\n return builder\n },\n writeback(\n handler: ActionWritebackHandler<\n ObjectTypeWithPropertyTokens,\n Record<string, unknown>,\n unknown\n >\n ) {\n return createObjectDefinition({\n id,\n objectType,\n params,\n description: options?.description,\n validators,\n writeback: handler,\n })\n },\n edits(\n handler: ActionEditsHandler<ObjectTypeWithPropertyTokens, Record<string, unknown>, undefined>\n ) {\n return createObjectDefinition({\n id,\n objectType,\n params,\n description: options?.description,\n validators,\n edits: handler,\n })\n },\n }\n\n return asPublicActionType<\n ObjectActionPhaseBuilder<string, ObjectTypeWithPropertyTokens, ActionParamsConfig>\n >(builder)\n}\n\nfunction createGlobalDefinition(input: {\n readonly id: string\n readonly params: ActionParamsConfig\n readonly description?: string\n readonly validators: readonly unknown[]\n readonly writeback?: unknown\n readonly edits?: unknown\n readonly effects?: unknown\n}): GlobalActionDefinition {\n const definition = {\n kind: \"action\",\n id: input.id,\n binding: { kind: \"global\" },\n params: input.params,\n phases: {\n validate: [...input.validators],\n ...(input.writeback ? { writeback: input.writeback } : {}),\n ...(input.edits ? { edits: input.edits } : {}),\n ...(input.effects ? { effects: input.effects } : {}),\n },\n ...(input.description !== undefined ? { description: input.description } : {}),\n }\n\n return asPublicActionType<GlobalActionDefinition>(\n Object.assign(definition, {\n edits(handler: GlobalActionEditsHandler<Record<string, unknown>, unknown>) {\n return createGlobalDefinition({\n ...input,\n edits: handler,\n })\n },\n effects(handler: GlobalActionEffectsHandler<Record<string, unknown>, unknown>) {\n if (!input.edits) {\n throw new ActionDefinitionError(effectsWithoutEditsMessage(input.id))\n }\n return createGlobalDefinition({\n ...input,\n effects: handler,\n })\n },\n })\n )\n}\n\nfunction createObjectDefinition(input: {\n readonly id: string\n readonly objectType: ObjectTypeWithPropertyTokens\n readonly params: ActionParamsConfig\n readonly description?: string\n readonly validators: readonly unknown[]\n readonly writeback?: unknown\n readonly edits?: unknown\n readonly effects?: unknown\n}): ObjectActionDefinition {\n const definition = {\n kind: \"action\",\n id: input.id,\n binding: { kind: \"object\", objectType: input.objectType },\n params: input.params,\n phases: {\n validate: [...input.validators],\n ...(input.writeback ? { writeback: input.writeback } : {}),\n ...(input.edits ? { edits: input.edits } : {}),\n ...(input.effects ? { effects: input.effects } : {}),\n },\n ...(input.description !== undefined ? { description: input.description } : {}),\n }\n\n return asPublicActionType<ObjectActionDefinition>(\n Object.assign(definition, {\n edits(\n handler: ActionEditsHandler<ObjectTypeWithPropertyTokens, Record<string, unknown>, unknown>\n ) {\n return createObjectDefinition({\n ...input,\n edits: handler,\n })\n },\n effects(\n handler: ActionEffectsHandler<\n ObjectTypeWithPropertyTokens,\n Record<string, unknown>,\n unknown\n >\n ) {\n if (!input.edits) {\n throw new ActionDefinitionError(effectsWithoutEditsMessage(input.id))\n }\n return createObjectDefinition({\n ...input,\n effects: handler,\n })\n },\n })\n )\n}\n\n// Runtime builders are plain objects; public builder types carry phase-order inference.\nfunction asPublicActionType<TPublic>(value: unknown): TPublic {\n return value as TPublic\n}\n",
|
|
6
|
+
"import type { SchemaOrRef } from \"../../ontology\"\nimport type { QuantitativeTypeId } from \"../../ontology/units\"\nimport type { ActionParamConfig } from \"../types\"\n\ntype ActionParamOptions = {\n description?: string\n semanticType?: QuantitativeTypeId\n nullable?: boolean\n}\n\ntype FieldFromOptions<TOptions, TKey extends string, TFallback> =\n TOptions extends Record<TKey, infer TValue>\n ? { [K in TKey]: TValue }\n : { [K in TKey]?: TFallback }\n\ntype ActionParamResult<\n TSchema extends SchemaOrRef,\n TRequired extends boolean,\n TOptions extends ActionParamOptions | undefined,\n> = {\n schema: TSchema\n required: TRequired\n} & FieldFromOptions<TOptions, \"description\", string> &\n FieldFromOptions<TOptions, \"semanticType\", QuantitativeTypeId> &\n FieldFromOptions<TOptions, \"nullable\", boolean>\n\nexport function param<\n const TSchema extends SchemaOrRef,\n const TOptions extends ActionParamOptions | undefined = undefined,\n>(schema: TSchema, options?: TOptions): ActionParamResult<TSchema, true, TOptions> {\n const result: ActionParamConfig & { required: true } = {\n schema,\n required: true,\n ...(options?.description !== undefined ? { description: options.description } : {}),\n ...(options?.semanticType !== undefined ? { semanticType: options.semanticType } : {}),\n ...(options?.nullable !== undefined ? { nullable: options.nullable } : {}),\n }\n return result as ActionParamResult<TSchema, true, TOptions>\n}\n\nexport function optional<const TParam extends ActionParamConfig>(\n paramConfig: TParam\n): Omit<TParam, \"required\"> & { readonly required: false } {\n return {\n ...paramConfig,\n required: false,\n }\n}\n",
|
|
7
|
+
"import type { EditBatch } from \"../edits\"\nimport { lowerEditBatch } from \"../edits\"\nimport type {\n EditCommitResult,\n EffectiveLinkChange,\n EffectiveObjectChange,\n ExpectedLinkRevision,\n ExpectedLinkScopeRevision,\n ExpectedObjectRevision,\n OntologyOperationOutcome,\n} from \"../materializer\"\nimport type { OntologyMutationRuntime } from \"../runtime/ontology-mutations\"\nimport type { Storage } from \"../storage/types\"\nimport { ActionEditCommitError } from \"./errors\"\n\n/** Exact reads an Action handler depended on, protected by row-level CAS at commit time. */\nexport interface ActionReadDependencies {\n readonly objects: readonly ExpectedObjectRevision[]\n readonly links: readonly ExpectedLinkRevision[]\n readonly linkScopes: readonly ExpectedLinkScopeRevision[]\n}\n\nconst NO_READ_DEPENDENCIES: ActionReadDependencies = { objects: [], links: [], linkScopes: [] }\n\nexport interface CommitActionEditsInput {\n readonly mutations: Pick<OntologyMutationRuntime, \"commitEdits\">\n readonly projectId: string\n readonly runId: string\n readonly actionId: string\n readonly batch: EditBatch\n readonly dependencies?: ActionReadDependencies\n}\n\n/** The authoritative ontology commit an Action run produced. */\nexport interface ActionEditCommitResult {\n readonly commitId: string\n readonly created: boolean\n readonly eventCount: number\n readonly outcomes: readonly OntologyOperationOutcome[]\n readonly changes: {\n readonly objects: readonly EffectiveObjectChange[]\n readonly links: readonly EffectiveLinkChange[]\n }\n readonly committedAt: Date\n}\n\nexport interface FindActionEditCommitInput {\n readonly storage: Pick<Storage, \"ontology\">\n readonly projectId: string\n readonly runId: string\n}\n\n/**\n * Commits one Action run's recorded edits as a single atomic ontology commit.\n *\n * The batch lowers to canonical Materializer operations and the Materializer validates the Action run\n * identity, applies managed authority, resolves effective state, writes the authoritative commit, and\n * inserts outbox facts in one transaction. Repeating the call for the same run replays that commit;\n * a divergent request for the same run is a typed idempotency conflict.\n */\nexport async function commitActionEdits(\n input: CommitActionEditsInput\n): Promise<ActionEditCommitResult> {\n const dependencies = input.dependencies ?? NO_READ_DEPENDENCIES\n const commit = await input.mutations.commitEdits({\n mode: \"atomic\",\n source: { kind: \"action\", actionId: input.actionId, runId: input.runId },\n operations: lowerEditBatch(input.batch),\n expectedObjects: dependencies.objects,\n expectedLinks: dependencies.links,\n expectedLinkScopes: dependencies.linkScopes,\n })\n return toActionEditCommitResult(commit)\n}\n\n/**\n * Resolves the authoritative commit an Action run already produced, if any.\n *\n * Resume uses the exact `{ actionRunId }` origin instead of rerunning handlers, so a redelivered run\n * returns the persisted result without recomputing an idempotency hash.\n */\nexport async function findActionEditCommit(\n input: FindActionEditCommitInput\n): Promise<ActionEditCommitResult | null> {\n const record = await input.storage.ontology.commits.getByOrigin({\n projectId: input.projectId,\n origin: { kind: \"action\", actionRunId: input.runId },\n })\n if (!record) return null\n if (record.result.kind !== \"edit\") {\n throw new ActionEditCommitError(\n `[Sixb] Action run '${input.runId}' resolved a '${record.result.kind}' commit instead of an edit commit.`\n )\n }\n return toActionEditCommitResult({ ...record.result, created: false })\n}\n\nfunction toActionEditCommitResult(commit: EditCommitResult): ActionEditCommitResult {\n return {\n commitId: commit.commitId,\n created: commit.created,\n eventCount: commit.eventCount,\n outcomes: commit.outcomes,\n changes: commit.changes,\n committedAt: new Date(commit.committedAt),\n }\n}\n",
|
|
8
|
+
"import { linkRefKey, linkScopeKey, objectRefKey } from \"../materialization/refs\"\nimport type {\n EffectiveLinkSnapshot,\n ExpectedLinkRevision,\n ExpectedLinkScopeRevision,\n ExpectedObjectRevision,\n OntologyLinkRef,\n OntologyObjectRef,\n} from \"../materializer\"\nimport { createLinkScopeFingerprint } from \"../materializer\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport type { ValueType } from \"../ontology/types\"\nimport type { ObjectSetListInput } from \"../runtime/types\"\nimport type { ObjectLinkRow, ObjectRow } from \"../storage\"\nimport type { ActionReadDependencies } from \"./commit-edits\"\nimport type { ActionReadFacade, ActionReadObjectSet } from \"./types\"\n\nexport type ActionReadObjectSetSource = {\n get(id: string): Promise<unknown>\n query(): unknown\n list(input?: ObjectSetListInput): Promise<unknown>\n byId(id: string): {\n get(): Promise<unknown>\n listLinks(link?: { readonly id: string }): Promise<unknown>\n }\n}\n\n/**\n * Records the exact state an Action handler observed while reading.\n *\n * A handler that reads one dependency twice keeps the first observation: the commit must fail when\n * current state no longer matches what the decision was made against, and the later read may already\n * reflect the handler's own intent. Arbitrary query phantoms stay out of this release — `query()` and\n * `list()` results are not turned into dependencies.\n */\nexport class ActionReadRecorder {\n private readonly objects = new Map<string, ExpectedObjectRevision>()\n private readonly links = new Map<string, ExpectedLinkRevision>()\n private readonly linkScopes = new Map<string, ExpectedLinkScopeRevision>()\n\n /** Records a concrete object read, including exact absence. */\n observeObject(ref: OntologyObjectRef, row: ObjectRow | null): void {\n const key = objectRefKey(ref)\n if (this.objects.has(key)) return\n if (!row) {\n this.objects.set(key, { ref, exists: false })\n return\n }\n // Rows without materializer provenance predate the commit ledger and cannot be fenced.\n if (row.lastCommitId === undefined) return\n this.objects.set(key, {\n ref,\n exists: true,\n version: row.version,\n lastCommitId: row.lastCommitId,\n })\n }\n\n /**\n * Records the complete `(source, linkId)` scopes a link listing observed.\n *\n * `linkIds` names every scope the read covered so an empty scope is recorded as an empty\n * fingerprint rather than being silently omitted.\n */\n observeLinkScopes(\n source: OntologyObjectRef,\n linkIds: readonly string[],\n rows: readonly ObjectLinkRow[]\n ): void {\n const snapshotsByLinkId = new Map<string, EffectiveLinkSnapshot[]>()\n for (const linkId of linkIds) snapshotsByLinkId.set(linkId, [])\n /** Scopes holding a row that cannot be fenced, so no expectation may be recorded for them. */\n const unfenceable = new Set<string>()\n\n for (const row of rows) {\n if (row.sourceTypeId !== source.objectTypeId || row.sourceId !== source.primaryId) continue\n const snapshots = snapshotsByLinkId.get(row.linkId)\n if (!snapshots) continue\n const snapshot = toLinkSnapshot(row)\n if (!snapshot) {\n // Same rule `observeObject` applies to rows without materializer provenance: record no\n // expectation at all. A fingerprint computed over the remaining rows would describe a scope\n // the store can never reproduce, turning every such read into a guaranteed conflict.\n unfenceable.add(row.linkId)\n continue\n }\n snapshots.push(snapshot)\n this.observeLink(snapshot.ref, snapshot)\n }\n\n for (const [linkId, snapshots] of snapshotsByLinkId) {\n if (unfenceable.has(linkId)) continue\n const key = linkScopeKey(source, linkId)\n if (this.linkScopes.has(key)) continue\n this.linkScopes.set(key, {\n source,\n linkId,\n fingerprint: createLinkScopeFingerprint(snapshots),\n })\n }\n }\n\n /** Records a concrete link read, including exact absence. */\n observeLink(ref: OntologyLinkRef, snapshot: EffectiveLinkSnapshot | null): void {\n const key = linkRefKey(ref)\n if (this.links.has(key)) return\n this.links.set(\n key,\n snapshot ? { ref, exists: true, lastCommitId: snapshot.lastCommitId } : { ref, exists: false }\n )\n }\n\n dependencies(): ActionReadDependencies {\n return {\n objects: [...this.objects.values()],\n links: [...this.links.values()],\n linkScopes: [...this.linkScopes.values()],\n }\n }\n}\n\nexport interface ActionReadFacadeOptions {\n /** Records what the handler observed, so the commit can be fenced against it. */\n readonly recorder: ActionReadRecorder\n /**\n * Every link the object type carries, inherited links included.\n *\n * Inheritance is resolved by the Ontology registry, not by the imported definition, so an\n * `extends` type would otherwise report only its own links and drop inherited ones from the\n * recorded scopes.\n */\n readonly resolveLinkIds: (objectTypeId: string) => readonly string[]\n}\n\nexport function createActionReadFacade(\n createObjectSet: <const TObjectType extends ObjectTypeWithPropertyTokens>(\n objectType: TObjectType\n ) => ActionReadObjectSetSource,\n options?: ActionReadFacadeOptions\n): ActionReadFacade {\n const facade = {\n objects<const TObjectType extends ObjectTypeWithPropertyTokens>(objectType: TObjectType) {\n return createActionReadObjectSetAdapter<TObjectType>(\n objectType,\n createObjectSet(objectType),\n options\n )\n },\n }\n\n return facade as ActionReadFacade\n}\n\nfunction createActionReadObjectSetAdapter<TObjectType extends ObjectTypeWithPropertyTokens>(\n objectType: TObjectType,\n objectSet: ActionReadObjectSetSource,\n options: ActionReadFacadeOptions | undefined\n): ActionReadObjectSet<TObjectType, readonly ValueType[], ObjectTypeWithPropertyTokens> {\n type TypedReadObjectSet = ActionReadObjectSet<\n TObjectType,\n readonly ValueType[],\n ObjectTypeWithPropertyTokens\n >\n\n async function readObject(id: string, read: () => Promise<unknown>): Promise<unknown> {\n const row = await read()\n options?.recorder.observeObject(\n { objectTypeId: objectType.id, primaryId: id },\n (row ?? null) as ObjectRow | null\n )\n return row\n }\n\n return {\n get(id) {\n return readObject(id, () => objectSet.get(id)) as ReturnType<TypedReadObjectSet[\"get\"]>\n },\n query() {\n return objectSet.query() as ReturnType<TypedReadObjectSet[\"query\"]>\n },\n list(input) {\n return objectSet.list(input) as ReturnType<TypedReadObjectSet[\"list\"]>\n },\n byId(id) {\n const handle = objectSet.byId(id)\n return {\n get() {\n return readObject(id, () => handle.get()) as ReturnType<\n ReturnType<TypedReadObjectSet[\"byId\"]>[\"get\"]\n >\n },\n async listLinks(link) {\n const rows = (await handle.listLinks(link)) as readonly ObjectLinkRow[]\n options?.recorder.observeLinkScopes(\n { objectTypeId: objectType.id, primaryId: id },\n link ? [link.id] : options.resolveLinkIds(objectType.id),\n rows\n )\n return rows as unknown as Awaited<\n ReturnType<ReturnType<TypedReadObjectSet[\"byId\"]>[\"listLinks\"]>\n >\n },\n }\n },\n }\n}\n\nfunction toLinkSnapshot(row: ObjectLinkRow): EffectiveLinkSnapshot | null {\n // Rows without materializer provenance predate the commit ledger and cannot be fenced.\n if (row.lastCommitId === undefined) return null\n return {\n ref: {\n source: { objectTypeId: row.sourceTypeId, primaryId: row.sourceId },\n linkId: row.linkId,\n target: { objectTypeId: row.targetTypeId, primaryId: row.targetId },\n },\n ...(row.properties !== undefined\n ? { properties: row.properties as EffectiveLinkSnapshot[\"properties\"] }\n : {}),\n createdAt: row.createdAt.toISOString(),\n updatedAt: row.updatedAt.toISOString(),\n lastCommitId: row.lastCommitId,\n }\n}\n",
|
|
9
|
+
"import type { ObjectType, OntologyDefinitionCatalog } from \"../ontology\"\nimport {\n ActionDefinitionError,\n effectsWithoutEditsMessage,\n missingActionMutationMessage,\n} from \"./errors\"\nimport type { ActionDefinition, ObjectActionDefinition } from \"./types\"\nimport { isObjectActionDefinition } from \"./validation\"\n\nexport interface ActionDefinitionCatalog {\n list(): readonly ActionDefinition[]\n getById(id: string): ActionDefinition | null\n listGlobal(): readonly ActionDefinition[]\n listForType(type: ObjectType): readonly ObjectActionDefinition[]\n}\n\nexport interface ActionRegistryOptions {\n readonly actions: readonly ActionDefinition[]\n readonly ontology: OntologyDefinitionCatalog\n}\n\nexport class ActionRegistry implements ActionDefinitionCatalog {\n private readonly byId = new Map<string, ActionDefinition>()\n private readonly globalActions: ActionDefinition[] = []\n private readonly byTargetId = new Map<string, ObjectActionDefinition[]>()\n\n private readonly ontology: OntologyDefinitionCatalog\n\n constructor(options: ActionRegistryOptions) {\n this.ontology = options.ontology\n\n for (const action of options.actions) {\n const previous = this.byId.get(action.id)\n if (previous) {\n const chainDuplicate = this.getInheritanceDuplicate(action, previous)\n if (chainDuplicate) {\n throw new ActionDefinitionError(\n `Duplicate action id \"${action.id}\" in inheritance chain of \"${chainDuplicate.objectTypeId}\": defined on both \"${chainDuplicate.firstTargetId}\" and \"${chainDuplicate.secondTargetId}\".`\n )\n }\n\n throw new ActionDefinitionError(\n `Duplicate action id \"${action.id}\" declared in multiple files.`\n )\n }\n\n this.validatePhases(action)\n this.byId.set(action.id, action)\n\n if (!isObjectActionDefinition(action)) {\n this.globalActions.push(action)\n continue\n }\n\n const objectType = action.binding.objectType\n const target = this.ontology.getObjectTypeById(objectType.id)\n if (!target) {\n throw new ActionDefinitionError(\n `Action \"${action.id}\" targets unknown object type \"${objectType.id}\". Add the object type to ontology before registering the action.`\n )\n }\n\n const bucket = this.byTargetId.get(objectType.id) ?? []\n bucket.push(action)\n this.byTargetId.set(objectType.id, bucket)\n }\n }\n\n private validatePhases(action: ActionDefinition): void {\n const hasWriteback = action.phases.writeback !== undefined\n const hasEdits = action.phases.edits !== undefined\n const hasEffects = action.phases.effects !== undefined\n\n if (!hasWriteback && !hasEdits) {\n throw new ActionDefinitionError(missingActionMutationMessage(action.id))\n }\n\n if (hasEffects && !hasEdits) {\n throw new ActionDefinitionError(effectsWithoutEditsMessage(action.id))\n }\n }\n\n list(): readonly ActionDefinition[] {\n return [...this.byId.values()]\n }\n\n getById(id: string): ActionDefinition | null {\n return this.byId.get(id) ?? null\n }\n\n listGlobal(): readonly ActionDefinition[] {\n return [...this.globalActions]\n }\n\n listForType(type: ObjectType): readonly ObjectActionDefinition[] {\n this.ontology.resolveObjectType(type.id)\n\n const seen = new Set<string>()\n const result: ObjectActionDefinition[] = []\n\n for (const ancestor of this.ontology.listAncestorChain(type)) {\n for (const action of this.byTargetId.get(ancestor.id) ?? []) {\n if (seen.has(action.id)) continue\n seen.add(action.id)\n result.push(action)\n }\n }\n\n return result\n }\n\n private getInheritanceDuplicate(\n action: ActionDefinition,\n previous: ActionDefinition\n ): { objectTypeId: string; firstTargetId: string; secondTargetId: string } | null {\n if (!isObjectActionDefinition(action) || !isObjectActionDefinition(previous)) {\n return null\n }\n\n const actionObjectType = action.binding.objectType\n const previousObjectType = previous.binding.objectType\n\n if (actionObjectType.id === previousObjectType.id) {\n return null\n }\n\n const actionChain = this.ontology.listAncestorChain(actionObjectType)\n if (actionChain.some((ancestor) => ancestor.id === previousObjectType.id)) {\n return {\n objectTypeId: actionObjectType.id,\n firstTargetId: previousObjectType.id,\n secondTargetId: actionObjectType.id,\n }\n }\n\n const previousChain = this.ontology.listAncestorChain(previousObjectType)\n if (previousChain.some((ancestor) => ancestor.id === actionObjectType.id)) {\n return {\n objectTypeId: previousObjectType.id,\n firstTargetId: actionObjectType.id,\n secondTargetId: previousObjectType.id,\n }\n }\n\n return null\n }\n}\n",
|
|
10
|
+
"import { ActionValidationError } from \"../objects/action/errors\"\nimport type { ActionDefinition, ActionSubject, ActionTargetObject } from \"./types\"\nimport { isObjectActionDefinition } from \"./validation\"\n\ntype RuntimePhaseHandler = (ctx: unknown) => unknown | Promise<unknown>\n\nexport async function runActionValidators<TBaseContext extends object>(input: {\n readonly action: ActionDefinition\n readonly subject: ActionSubject\n readonly baseContext: TBaseContext\n readonly target?: ActionTargetObject | null\n}): Promise<void> {\n const validators = input.action.phases.validate as readonly RuntimePhaseHandler[]\n if (validators.length === 0) {\n return\n }\n\n if (!isObjectActionDefinition(input.action)) {\n for (const validator of validators) {\n const result = await validator(input.baseContext)\n if (isValidatorErrorResult(result)) {\n throw new ActionValidationError(result.error, {\n actionId: input.action.id,\n subject: input.subject,\n })\n }\n }\n return\n }\n\n if (!input.target) {\n throw new Error(`[Sixb] Action '${input.action.id}' requires an object target.`)\n }\n\n for (const validator of validators) {\n const result = await validator({\n ...input.baseContext,\n target: input.target,\n })\n if (isValidatorErrorResult(result)) {\n throw new ActionValidationError(result.error, {\n actionId: input.action.id,\n subject: input.subject,\n })\n }\n }\n}\n\nfunction isValidatorErrorResult(value: unknown): value is { readonly error: string } {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"error\" in value &&\n typeof value.error === \"string\"\n )\n}\n"
|
|
11
|
+
],
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "F2505FFF52F07A6564756E2164756E21",
|
|
14
|
+
"names": []
|
|
15
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/storage/connector-connections/errors.ts
|
|
3
|
+
class ConnectorConnectionStorageError extends Error {
|
|
4
|
+
code;
|
|
5
|
+
constructor(code, message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = "ConnectorConnectionStorageError";
|
|
8
|
+
this.code = code;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// src/storage/connector-connections/types.ts
|
|
13
|
+
var CONNECTOR_CONNECTION_RUN_FAILURE_CODES = [
|
|
14
|
+
"internal.unexpected",
|
|
15
|
+
"connector.adapter_invalid",
|
|
16
|
+
"connector.authorization_invalid",
|
|
17
|
+
"connector.authorization_required",
|
|
18
|
+
"connector.credentials_unavailable",
|
|
19
|
+
"connector.not_found",
|
|
20
|
+
"connector.operation_conflict",
|
|
21
|
+
"connector.operation_in_progress",
|
|
22
|
+
"connector.provider_failed",
|
|
23
|
+
"connector.provider_unavailable"
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
export { ConnectorConnectionStorageError, CONNECTOR_CONNECTION_RUN_FAILURE_CODES };
|
|
27
|
+
|
|
28
|
+
//# debugId=26D0DA75AEECB3FB64756E2164756E21
|