@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,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/execution/scopes.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { randomUUID } from \"node:crypto\"\nimport type { AuthorizationContext } from \"../authorization\"\nimport {\n createDisabledRuntimeAuthorization,\n createKernelRuntimeAuthorization,\n createPrincipalRuntimeAuthorization,\n} from \"./authorization\"\nimport type {\n AuthorizablePrincipal,\n AuthorizationRef,\n ExecutionContext,\n ExecutionScope,\n ExecutionSource,\n KernelOperation,\n} from \"./types\"\n\nexport function createPrincipalRequestScope(input: {\n readonly projectId: string\n readonly requestId: string\n readonly correlationId: string\n readonly context: AuthorizationContext\n readonly credential?: Extract<AuthorizationRef, { readonly type: \"principal\" }>[\"credential\"]\n}): ExecutionScope {\n const execution = createRequestExecution({\n projectId: input.projectId,\n requestId: input.requestId,\n correlationId: input.correlationId,\n requestedBy: asAuthorizablePrincipal(input.context.principal),\n })\n\n return Object.freeze({\n execution,\n authorization: createPrincipalRuntimeAuthorization({\n projectId: input.projectId,\n context: input.context,\n ...(input.credential === undefined ? {} : { credential: input.credential }),\n }),\n })\n}\n\nexport function createDisabledRequestScope(input: {\n readonly projectId: string\n readonly requestId: string\n readonly correlationId: string\n}): ExecutionScope {\n return Object.freeze({\n execution: createRequestExecution(input),\n authorization: createDisabledRuntimeAuthorization(input.projectId),\n })\n}\n\nexport function createKernelScope(input: {\n readonly projectId: string\n readonly operation: KernelOperation\n readonly source: ExecutionSource\n readonly correlationId?: string\n}): ExecutionScope {\n const operation = Object.freeze({ ...input.operation })\n const execution = createKernelExecution({\n projectId: input.projectId,\n operation,\n source: input.source,\n correlationId: input.correlationId,\n })\n return Object.freeze({\n execution,\n authorization: createKernelRuntimeAuthorization({ projectId: input.projectId, operation }),\n })\n}\n\nfunction createKernelExecution(input: {\n readonly projectId: string\n readonly operation: KernelOperation\n readonly source: ExecutionSource\n readonly correlationId?: string\n}): ExecutionContext {\n const source = snapshotExecutionSource(input.source)\n assertNestedProvenance(source, input.correlationId)\n return freezeExecution({\n id: `exec_${randomUUID()}`,\n projectId: input.projectId,\n executor: Object.freeze({ type: \"kernel\", operation: input.operation }),\n source,\n correlationId: input.correlationId ?? `corr_${randomUUID()}`,\n })\n}\n\nfunction assertNestedProvenance(source: ExecutionSource, correlationId: string | undefined): void {\n if (source.type === \"execution\" && correlationId === undefined) {\n throw new Error(\"[Sixb] Nested execution must preserve its parent correlation id.\")\n }\n}\n\nexport function createTestingScope(input: {\n readonly projectId: string\n readonly context?: AuthorizationContext\n readonly executionId?: string\n readonly requestId?: string\n readonly correlationId?: string\n}): ExecutionScope {\n const context = input.context ? withoutSession(input.context) : undefined\n const requestId = input.requestId ?? `test_request_${randomUUID()}`\n const execution = createRequestExecution({\n projectId: input.projectId,\n requestId,\n correlationId: input.correlationId ?? `test_correlation_${randomUUID()}`,\n ...(context === undefined ? {} : { requestedBy: asAuthorizablePrincipal(context.principal) }),\n executionId: input.executionId,\n })\n return Object.freeze({\n execution,\n authorization: context\n ? createPrincipalRuntimeAuthorization({ projectId: input.projectId, context })\n : createDisabledRuntimeAuthorization(input.projectId),\n })\n}\n\nfunction withoutSession(context: AuthorizationContext): AuthorizationContext {\n return {\n principal: context.principal,\n groupIds: context.groupIds,\n roleIds: context.roleIds,\n grants: context.grants,\n }\n}\n\nfunction createRequestExecution(input: {\n readonly projectId: string\n readonly requestId: string\n readonly correlationId: string\n readonly requestedBy?: AuthorizablePrincipal\n readonly executionId?: string\n}): ExecutionContext {\n assertNonEmpty(input.projectId, \"Execution project id\")\n assertNonEmpty(input.requestId, \"Execution request id\")\n assertNonEmpty(input.correlationId, \"Execution correlation id\")\n const id = input.executionId ?? `exec_${randomUUID()}`\n assertNonEmpty(id, \"Execution id\")\n return freezeExecution({\n id,\n projectId: input.projectId,\n ...(input.requestedBy === undefined ? {} : { requestedBy: input.requestedBy }),\n executor: Object.freeze({ type: \"request\", requestId: input.requestId }),\n source: Object.freeze({ type: \"http\", requestId: input.requestId }),\n correlationId: input.correlationId,\n })\n}\n\nfunction freezeExecution(execution: ExecutionContext): ExecutionContext {\n assertNonEmpty(execution.id, \"Execution id\")\n assertNonEmpty(execution.projectId, \"Execution project id\")\n assertNonEmpty(execution.correlationId, \"Execution correlation id\")\n return Object.freeze(execution)\n}\n\nfunction snapshotExecutionSource(source: ExecutionSource): ExecutionSource {\n const field = sourceIdentifier(source)\n assertNonEmpty(field.value, field.label)\n if (source.type === \"datasetVersion\") {\n assertNonEmpty(source.datasetId, \"Execution source dataset id\")\n }\n return Object.freeze({ ...source })\n}\n\nfunction sourceIdentifier(source: ExecutionSource): {\n readonly label: string\n readonly value: string\n} {\n switch (source.type) {\n case \"http\":\n return { label: \"Execution source request id\", value: source.requestId }\n case \"webhook\":\n return { label: \"Execution source delivery id\", value: source.deliveryId }\n case \"schedule\":\n case \"event\":\n return { label: \"Execution source event id\", value: source.eventId }\n case \"datasetVersion\":\n return { label: \"Execution source dataset version id\", value: source.versionId }\n case \"execution\":\n return { label: \"Execution source execution id\", value: source.executionId }\n }\n}\n\nfunction asAuthorizablePrincipal(\n principal: AuthorizationContext[\"principal\"]\n): AuthorizablePrincipal {\n if (principal.type !== \"user\" && principal.type !== \"serviceAccount\") {\n throw new Error(`[Sixb] Principal type '${principal.type}' cannot hold runtime authorization.`)\n }\n assertNonEmpty(principal.id, \"Execution principal id\")\n return Object.freeze({ type: principal.type, id: principal.id })\n}\n\nfunction assertNonEmpty(value: string, label: string): void {\n if (!value.trim()) {\n throw new Error(`[Sixb] ${label} must not be empty.`)\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "921D959D4D3E5CA264756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
isLevelEnabled,
|
|
6
6
|
isLogRecord,
|
|
7
7
|
normalizeLogError
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-z3zp0bj1.js";
|
|
9
9
|
import {
|
|
10
10
|
getInvalidJsonValueReason
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-t8t39h7v.js";
|
|
12
12
|
|
|
13
13
|
// src/logging/console-logger.ts
|
|
14
14
|
var CONSOLE_METHOD = {
|
|
@@ -422,8 +422,8 @@ var DEFAULT_LOG_BATCH_MAX_BYTES = 256 * 1024;
|
|
|
422
422
|
var DEFAULT_LOG_BATCH_MAX_DELAY_MS = 10;
|
|
423
423
|
var DEFAULT_LOG_MAX_BUFFERED_BYTES = 1024 * 1024;
|
|
424
424
|
|
|
425
|
-
// src/logging/
|
|
426
|
-
class
|
|
425
|
+
// src/logging/service.ts
|
|
426
|
+
class LoggingService {
|
|
427
427
|
projectId;
|
|
428
428
|
broker;
|
|
429
429
|
provider;
|
|
@@ -576,8 +576,8 @@ class LogsRuntime {
|
|
|
576
576
|
return this.ensureStreamPromise;
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
|
-
function
|
|
580
|
-
return
|
|
579
|
+
function resolveLoggingService(projectId, logging) {
|
|
580
|
+
return logging ?? new LoggingService({ projectId, logger: noopLoggerProvider });
|
|
581
581
|
}
|
|
582
582
|
function normalizeRedactPaths(paths) {
|
|
583
583
|
const normalized = new Set;
|
|
@@ -624,6 +624,6 @@ function hydrateLogRecord(record) {
|
|
|
624
624
|
}
|
|
625
625
|
return { ...payload, cursor: record.cursor };
|
|
626
626
|
}
|
|
627
|
-
export { ConsoleLogger, noopLoggerProvider, noopLogger, DEFAULT_LOGS_MAX_BYTES, DEFAULT_LOGS_RETENTION, LOGS_STREAM,
|
|
627
|
+
export { ConsoleLogger, noopLoggerProvider, noopLogger, DEFAULT_LOGS_MAX_BYTES, DEFAULT_LOGS_RETENTION, LOGS_STREAM, LoggingService, resolveLoggingService };
|
|
628
628
|
|
|
629
|
-
//# debugId=
|
|
629
|
+
//# debugId=707AC3FBDC09C7CE64756E2164756E21
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/logging/console-logger.ts", "../src/logging/record.ts", "../src/logging/run-logger.ts", "../src/logging/stream.ts", "../src/logging/
|
|
3
|
+
"sources": ["../src/logging/console-logger.ts", "../src/logging/record.ts", "../src/logging/run-logger.ts", "../src/logging/stream.ts", "../src/logging/service.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import {\n isLevelEnabled,\n type LogEntry,\n type Logger,\n type LoggerProvider,\n type LogLevel,\n} from \"./types\"\n\n/** Options for {@link ConsoleLogger}. */\nexport interface ConsoleLoggerOptions {\n /** Entries below this level are not printed. Defaults to `\"info\"`. */\n readonly level?: LogLevel\n}\n\nconst CONSOLE_METHOD: Record<LogLevel, \"debug\" | \"info\" | \"warn\" | \"error\"> = {\n debug: \"debug\",\n info: \"info\",\n warn: \"warn\",\n error: \"error\",\n}\n\n/** Opt-in console output provider. Broker capture is configured independently. */\nexport class ConsoleLogger implements LoggerProvider {\n readonly level: LogLevel\n\n constructor(options: ConsoleLoggerOptions = {}) {\n this.level = options.level ?? \"info\"\n }\n\n write(entry: LogEntry): void {\n if (!isLevelEnabled(entry.level, this.level)) {\n return\n }\n\n let suffix = \"\"\n try {\n suffix = ` ${JSON.stringify({\n ...(entry.fields ?? {}),\n sixb: entry.context,\n })}`\n } catch {\n suffix = ` ${JSON.stringify({ sixb: entry.context, sixb_unloggableFields: true })}`\n }\n\n console[CONSOLE_METHOD[entry.level]](`${entry.level.toUpperCase()} ${entry.message}${suffix}`)\n }\n}\n\n/** Output provider used by minimal worker contexts with no configured runtime. */\nexport const noopLoggerProvider: LoggerProvider = {\n write() {},\n}\n\n/** Handler façade used by tests and contexts where logging is intentionally absent. */\nexport const noopLogger: Logger = {\n debug() {},\n info() {},\n warn() {},\n error() {},\n child() {\n return noopLogger\n },\n}\n",
|
|
6
6
|
"import { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport type { LogEntry, LogFields, LogRecord } from \"./types\"\n\nconst textEncoder = new TextEncoder()\n\n/** Build the provider-independent, redacted and byte-bounded broker copy. */\nexport function sanitizeRecord(\n entry: LogEntry,\n options: {\n readonly maxBytes: number\n readonly redactPaths: readonly string[]\n readonly redactCensor: JsonValue\n }\n): LogRecord {\n const fields = sanitizeFields(entry.fields, options.redactPaths, options.redactCensor)\n let record: LogRecord = {\n level: entry.level,\n message: entry.message,\n ...(fields && Object.keys(fields).length > 0 ? { fields } : {}),\n at: entry.at,\n context: entry.context,\n }\n const originalBytes = serializedBytes(record)\n if (originalBytes <= options.maxBytes) {\n return record\n }\n\n record = {\n ...record,\n fields: { sixb_truncated: true, originalBytes },\n }\n if (serializedBytes(record) <= options.maxBytes) {\n return record\n }\n\n const characters = Array.from(record.message)\n let low = 0\n let high = characters.length\n while (low < high) {\n const middle = Math.ceil((low + high) / 2)\n const candidate = { ...record, message: characters.slice(0, middle).join(\"\") }\n if (serializedBytes(candidate) <= options.maxBytes) {\n low = middle\n } else {\n high = middle - 1\n }\n }\n return { ...record, message: characters.slice(0, low).join(\"\") }\n}\n\nexport function serializedBytes(value: unknown): number {\n return textEncoder.encode(JSON.stringify(value)).byteLength\n}\n\nfunction sanitizeFields(\n fields: LogFields | undefined,\n redactPaths: readonly string[],\n censor: JsonValue\n): LogFields | undefined {\n if (!fields) {\n return undefined\n }\n const reason = getInvalidJsonValueReason(fields, \"log fields\")\n if (reason) {\n return { sixb_unloggableFields: reason }\n }\n\n const copy = JSON.parse(JSON.stringify(fields)) as LogFields\n for (const configuredPath of redactPaths) {\n const path = configuredPath.startsWith(\"fields.\")\n ? configuredPath.slice(\"fields.\".length)\n : configuredPath\n redactPath(copy, path.split(\".\").filter(Boolean), censor)\n }\n return copy\n}\n\nfunction redactPath(target: JsonValue, path: readonly string[], censor: JsonValue): void {\n if (path.length === 0 || typeof target !== \"object\" || target === null) {\n return\n }\n const [head, ...tail] = path\n if (!head) {\n return\n }\n\n if (head === \"*\") {\n const values = Array.isArray(target) ? target : Object.values(target)\n if (tail.length === 0) {\n if (Array.isArray(target)) {\n target.fill(censor)\n } else {\n for (const key of Object.keys(target)) {\n target[key] = censor\n }\n }\n return\n }\n for (const value of values) {\n redactPath(value, tail, censor)\n }\n return\n }\n\n if (Array.isArray(target)) {\n const index = Number(head)\n if (!Number.isSafeInteger(index) || index < 0 || index >= target.length) {\n return\n }\n if (tail.length === 0) {\n target[index] = censor\n } else {\n redactPath(target[index]!, tail, censor)\n }\n return\n }\n\n if (!(head in target)) {\n return\n }\n if (tail.length === 0) {\n target[head] = censor\n } else {\n redactPath(target[head]!, tail, censor)\n }\n}\n",
|
|
7
7
|
"import type { JsonValue } from \"../json\"\nimport { sanitizeRecord, serializedBytes } from \"./record\"\nimport type {\n LogContext,\n LogEntry,\n LogFields,\n Logger,\n LoggerProvider,\n LogLevel,\n LogRecord,\n LogRunRef,\n} from \"./types\"\nimport { isLevelEnabled, normalizeLogError } from \"./types\"\n\n/** Publishes one ordered batch to the backing broker stream. */\nexport type LogPublisher = (records: readonly LogRecord[]) => Promise<void>\n\n/** @internal Fixed broker-capture safeguards for one execution. */\nexport interface RunLogCaptureOptions {\n readonly publish: LogPublisher\n readonly level: LogLevel\n readonly maxLinesPerExecution: number\n readonly maxRecordBytes: number\n readonly maxBufferedBytes: number\n readonly batchMaxRecords: number\n readonly batchMaxBytes: number\n readonly batchMaxDelayMs: number\n readonly redactPaths: readonly string[]\n readonly redactCensor: JsonValue\n}\n\n/** @internal Dependencies used to create one execution-scoped log session. */\nexport interface RunLogSessionOptions {\n readonly run: LogRunRef\n readonly provider: LoggerProvider\n readonly capture?: RunLogCaptureOptions\n}\n\ntype EmitLog = (\n level: LogLevel,\n message: string,\n fields: LogFields | undefined,\n context: Omit<LogContext, \"run\">\n) => void\n\n/**\n * Internal state and lifecycle for every handler logger created during one worker execution.\n *\n * Handler loggers are immutable views over this session. They all share its capture quota,\n * ordered broker queue, and final flush boundary.\n */\nexport class RunLogSession {\n readonly logger: Logger\n\n private captured = 0\n private droppedByLineLimit = 0\n private droppedByBackpressure = 0\n private pending: Array<{ readonly record: LogRecord; readonly bytes: number }> = []\n private pendingBytes = 0\n private bufferedBytes = 0\n private pumpPromise: Promise<void> | undefined\n private flushPromise: Promise<void> | undefined\n private flushTimer: ReturnType<typeof setTimeout> | undefined\n private captureClosed = false\n private providerFailureReported = false\n private publisherFailureReported = false\n\n private readonly emitFromContext: EmitLog = (level, message, fields, context) => {\n this.emit(level, message, fields, context)\n }\n\n constructor(private readonly options: RunLogSessionOptions) {\n this.logger = new ContextLogger(this.emitFromContext, {}, {})\n }\n\n /** Derive a handler logger with immutable framework-owned metadata. */\n withContext(context: Omit<LogContext, \"run\">): Logger {\n return new ContextLogger(this.emitFromContext, {}, { ...context })\n }\n\n /** Flush this execution's broker capture. It never flushes or closes the process provider. */\n flush(): Promise<void> {\n this.flushPromise ??= this.flushCapture()\n return this.flushPromise\n }\n\n private emit(\n level: LogLevel,\n message: string,\n fields: LogFields | undefined,\n context: Omit<LogContext, \"run\">\n ): void {\n const entry: LogEntry = {\n level,\n message,\n ...(fields && safeKeys(fields).length > 0 ? { fields } : {}),\n at: new Date().toISOString(),\n context: { ...context, run: this.options.run },\n }\n\n this.writeToProvider(entry)\n\n const capture = this.options.capture\n if (this.captureClosed || !capture || !isLevelEnabled(level, capture.level)) {\n return\n }\n\n if (this.captured >= capture.maxLinesPerExecution) {\n this.droppedByLineLimit += 1\n return\n }\n\n const record = sanitizeRecord(entry, {\n maxBytes: capture.maxRecordBytes,\n redactPaths: capture.redactPaths,\n redactCensor: capture.redactCensor,\n })\n const bytes = serializedBytes(record)\n\n if (this.bufferedBytes + bytes > capture.maxBufferedBytes) {\n this.droppedByBackpressure += 1\n return\n }\n\n this.captured += 1\n this.pending.push({ record, bytes })\n this.pendingBytes += bytes\n this.bufferedBytes += bytes\n\n if (\n this.pending.length >= capture.batchMaxRecords ||\n this.pendingBytes >= capture.batchMaxBytes\n ) {\n this.startPump()\n } else {\n this.scheduleFlush()\n }\n }\n\n private async flushCapture(): Promise<void> {\n this.captureClosed = true\n\n // Drain ordinary records first so the truncation marker cannot exceed the hard buffer bound.\n this.startPump()\n await this.drain()\n this.enqueueTruncationMarker()\n this.startPump()\n await this.drain()\n }\n\n private async drain(): Promise<void> {\n while (this.pumpPromise || this.pending.length > 0) {\n this.startPump()\n const pump = this.pumpPromise\n if (!pump) {\n return\n }\n await pump\n }\n }\n\n private writeToProvider(entry: LogEntry): void {\n try {\n this.options.provider.write(entry)\n } catch (error) {\n if (!this.providerFailureReported) {\n this.providerFailureReported = true\n reportLoggingFailure(\"output provider\", error)\n }\n }\n }\n\n private enqueueTruncationMarker(): void {\n const capture = this.options.capture\n const droppedLines = this.droppedByLineLimit + this.droppedByBackpressure\n if (droppedLines === 0 || !capture) {\n return\n }\n\n const marker = sanitizeRecord(\n {\n level: \"warn\",\n message: \"log truncated\",\n fields: {\n droppedLines,\n lineLimit: this.droppedByLineLimit,\n backpressure: this.droppedByBackpressure,\n },\n at: new Date().toISOString(),\n context: { run: this.options.run },\n },\n {\n maxBytes: capture.maxRecordBytes,\n redactPaths: [],\n redactCensor: capture.redactCensor,\n }\n )\n const bytes = serializedBytes(marker)\n if (bytes > capture.maxBufferedBytes) {\n reportLoggingFailure(\n \"broker capture\",\n new Error(\"The log truncation marker exceeds the internal capture buffer bound.\")\n )\n return\n }\n this.pending.push({ record: marker, bytes })\n this.pendingBytes += bytes\n this.bufferedBytes += bytes\n }\n\n private scheduleFlush(): void {\n if (this.flushTimer !== undefined) {\n return\n }\n const delay = this.options.capture?.batchMaxDelayMs\n if (delay === undefined) {\n return\n }\n this.flushTimer = setTimeout(() => {\n this.flushTimer = undefined\n this.startPump()\n }, delay)\n }\n\n private startPump(): void {\n if (this.flushTimer !== undefined) {\n clearTimeout(this.flushTimer)\n this.flushTimer = undefined\n }\n const publish = this.options.capture?.publish\n if (this.pending.length === 0 || !publish || this.pumpPromise) {\n return\n }\n\n this.pumpPromise = this.pump(publish).finally(() => {\n this.pumpPromise = undefined\n if (this.pending.length > 0) {\n this.startPump()\n }\n })\n }\n\n private async pump(publish: LogPublisher): Promise<void> {\n while (this.pending.length > 0) {\n const batch = this.takeBatch()\n try {\n await publish(batch.records)\n } catch (error) {\n if (!this.publisherFailureReported) {\n this.publisherFailureReported = true\n reportLoggingFailure(\"broker capture\", error)\n }\n } finally {\n this.bufferedBytes -= batch.bytes\n }\n }\n }\n\n private takeBatch(): { readonly records: readonly LogRecord[]; readonly bytes: number } {\n const capture = this.options.capture\n if (!capture) {\n return { records: [], bytes: 0 }\n }\n\n let count = 0\n let bytes = 0\n while (count < this.pending.length && count < capture.batchMaxRecords) {\n const next = this.pending[count]!\n if (count > 0 && bytes + next.bytes > capture.batchMaxBytes) {\n break\n }\n bytes += next.bytes\n count += 1\n }\n\n const items = this.pending.splice(0, count)\n this.pendingBytes -= bytes\n return { records: items.map((item) => item.record), bytes }\n }\n}\n\n/** Handler façade that binds user fields while preserving framework-owned context. */\nclass ContextLogger implements Logger {\n constructor(\n private readonly emit: EmitLog,\n private readonly fields: LogFields,\n private readonly context: Omit<LogContext, \"run\">\n ) {}\n\n debug(message: string, fields?: LogFields): void {\n this.safeEmit(\"debug\", message, fields)\n }\n\n info(message: string, fields?: LogFields): void {\n this.safeEmit(\"info\", message, fields)\n }\n\n warn(message: string, fields?: LogFields): void {\n this.safeEmit(\"warn\", message, fields)\n }\n\n error(message: string | Error, fields?: LogFields): void {\n try {\n const normalized = normalizeLogError(message, this.merge(fields))\n this.emit(\"error\", normalized.message, normalized.fields, this.context)\n } catch (error) {\n reportLoggingFailure(\"handler façade\", error)\n }\n }\n\n child(bindings: LogFields): Logger {\n try {\n return new ContextLogger(this.emit, { ...this.fields, ...bindings }, this.context)\n } catch (error) {\n reportLoggingFailure(\"handler façade\", error)\n return this\n }\n }\n\n private safeEmit(level: LogLevel, message: string, fields: LogFields | undefined): void {\n try {\n this.emit(level, message, this.merge(fields), this.context)\n } catch (error) {\n reportLoggingFailure(\"handler façade\", error)\n }\n }\n\n private merge(fields: LogFields | undefined): LogFields | undefined {\n if (!fields || safeKeys(fields).length === 0) {\n return safeKeys(this.fields).length > 0 ? this.fields : undefined\n }\n return { ...this.fields, ...fields }\n }\n}\n\nfunction safeKeys(value: object): string[] {\n try {\n return Object.keys(value)\n } catch {\n return []\n }\n}\n\nfunction reportLoggingFailure(destination: string, error: unknown): void {\n try {\n console.error(`[Sixb] Logging ${destination} failed:`, error)\n } catch {\n // Logging is best-effort and must never escape into project code.\n }\n}\n",
|
|
8
8
|
"import type { BrokerStreamDefinition } from \"../broker\"\n\n/** 30 days in milliseconds — the age bound for retained log lines. */\nconst THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1000\n\n/** Default upper bound for the complete retained logs stream. */\nexport const DEFAULT_LOGS_MAX_BYTES = 256 * 1024 * 1024\n\n/** Portable retention for the project-wide, ephemeral logs stream. */\nexport const DEFAULT_LOGS_RETENTION = {\n maxAgeMs: THIRTY_DAYS_MS,\n maxRecords: 100_000,\n maxBytes: DEFAULT_LOGS_MAX_BYTES,\n} as const\n\n/** The single project-wide broker stream that carries every run's log lines. */\nexport const LOGS_STREAM: BrokerStreamDefinition = {\n id: \"__logs\",\n retention: DEFAULT_LOGS_RETENTION,\n}\n\n/** Maximum captured lines per worker execution, excluding its truncation marker. */\nexport const DEFAULT_MAX_LINES_PER_EXECUTION = 10_000\n\n/** Maximum UTF-8 size of one serialized broker record payload. */\nexport const DEFAULT_MAX_LOG_RECORD_BYTES = 64 * 1024\n\n/** Number of records that triggers an immediate broker append. */\nexport const DEFAULT_LOG_BATCH_MAX_RECORDS = 64\n\n/** Serialized payload bytes that trigger an immediate broker append. */\nexport const DEFAULT_LOG_BATCH_MAX_BYTES = 256 * 1024\n\n/** Maximum time a partial batch waits before being appended. */\nexport const DEFAULT_LOG_BATCH_MAX_DELAY_MS = 10\n\n/** Maximum pending bytes while a previous broker append is in flight. */\nexport const DEFAULT_LOG_MAX_BUFFERED_BYTES = 1024 * 1024\n",
|
|
9
|
-
"import type { Broker, BrokerRecord, BrokerRetention, BrokerStreamDefinition } from \"../broker\"\nimport { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport { noopLoggerProvider } from \"./console-logger\"\nimport { type LogPublisher, RunLogSession } from \"./run-logger\"\nimport {\n DEFAULT_LOG_BATCH_MAX_BYTES,\n DEFAULT_LOG_BATCH_MAX_DELAY_MS,\n DEFAULT_LOG_BATCH_MAX_RECORDS,\n DEFAULT_LOG_MAX_BUFFERED_BYTES,\n DEFAULT_LOGS_RETENTION,\n DEFAULT_MAX_LINES_PER_EXECUTION,\n DEFAULT_MAX_LOG_RECORD_BYTES,\n LOGS_STREAM,\n} from \"./stream\"\nimport {\n isLogRecord,\n LOG_LEVELS,\n type LoggerProvider,\n type LogLevel,\n type LogRecord,\n type LogRunRef,\n SIXB_RUN_KINDS,\n type SixbRunKind,\n type StoredLogLine,\n} from \"./types\"\n\nexport interface LogsPage {\n readonly lines: readonly StoredLogLine[]\n readonly cursor?: string\n readonly hasMore: boolean\n}\n\nexport interface LogsReadInput {\n readonly afterCursor?: string\n readonly limit?: number\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsTailInput {\n readonly beforeCursor?: string\n readonly limit?: number\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsSubscribeInput {\n readonly from?: \"latest\" | \"earliest\"\n readonly afterCursor?: string\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsObservabilityOptions {\n /** Forward handler logs to the broker. Defaults to `true`. */\n readonly enabled?: boolean\n /** Minimum level captured by the broker. Defaults to `\"info\"`. */\n readonly level?: LogLevel\n /** Retention overrides merged with the bounded defaults. */\n readonly retention?: BrokerRetention\n /** Captured lines per worker execution. Defaults to 10,000. */\n readonly maxLinesPerExecution?: number\n readonly redact?: {\n /** Dot paths relative to `fields` (an optional `fields.` prefix is accepted). */\n readonly paths: readonly string[]\n /** Replacement value. Defaults to `\"[REDACTED]\"`. */\n readonly censor?: JsonValue\n }\n}\n\nexport interface ObservabilityOptions {\n readonly logs?: LogsObservabilityOptions\n}\n\nexport interface LogsRuntimeOptions {\n readonly projectId: string\n /** Broker backing the `__logs` stream. Absent means output-only logging. */\n readonly broker?: Broker\n /** Optional process-level output provider. Omit for broker-only logging. */\n readonly logger?: LoggerProvider\n readonly observability?: LogsObservabilityOptions\n /** Internal/testing stream override. */\n readonly stream?: BrokerStreamDefinition\n}\n\n/** Project-scoped logger factory and broker capture runtime. */\nexport class LogsRuntime {\n private readonly projectId: string\n private readonly broker?: Broker\n private readonly provider: LoggerProvider\n private readonly captureEnabled: boolean\n private readonly captureLevel: LogLevel\n private readonly maxLinesPerExecution: number\n private readonly redactPaths: readonly string[]\n private readonly redactCensor: JsonValue\n private readonly stream: BrokerStreamDefinition\n private ensureStreamPromise?: Promise<void>\n\n constructor(options: LogsRuntimeOptions) {\n const config = options.observability ?? {}\n this.projectId = options.projectId\n this.broker = options.broker\n this.provider = options.logger ?? noopLoggerProvider\n this.captureEnabled = config.enabled ?? true\n this.captureLevel = logLevel(config.level ?? \"info\", \"observability.logs.level\")\n this.maxLinesPerExecution = nonNegativeInteger(\n config.maxLinesPerExecution ?? DEFAULT_MAX_LINES_PER_EXECUTION,\n \"observability.logs.maxLinesPerExecution\"\n )\n this.redactPaths = normalizeRedactPaths(config.redact?.paths ?? [])\n this.redactCensor = config.redact?.censor ?? \"[REDACTED]\"\n const censorReason = getInvalidJsonValueReason(\n this.redactCensor,\n \"observability.logs.redact.censor\"\n )\n if (censorReason) {\n throw new TypeError(censorReason)\n }\n\n this.stream =\n options.stream ??\n ({\n ...LOGS_STREAM,\n retention: mergeLogsRetention(config.retention),\n } satisfies BrokerStreamDefinition)\n }\n\n /** Start the single logger session owned by one worker execution. */\n startExecution(run: LogRunRef): RunLogSession {\n const publish = this.publisher()\n return new RunLogSession({\n run,\n provider: this.provider,\n capture: publish\n ? {\n publish,\n level: this.captureLevel,\n maxLinesPerExecution: this.maxLinesPerExecution,\n maxRecordBytes: DEFAULT_MAX_LOG_RECORD_BYTES,\n maxBufferedBytes: DEFAULT_LOG_MAX_BUFFERED_BYTES,\n batchMaxRecords: DEFAULT_LOG_BATCH_MAX_RECORDS,\n batchMaxBytes: DEFAULT_LOG_BATCH_MAX_BYTES,\n batchMaxDelayMs: DEFAULT_LOG_BATCH_MAX_DELAY_MS,\n redactPaths: this.redactPaths,\n redactCensor: this.redactCensor,\n }\n : undefined,\n })\n }\n\n async read(input: LogsReadInput = {}): Promise<LogsPage> {\n if (!this.broker || (input.limit !== undefined && input.limit <= 0)) {\n return { lines: [], cursor: input.afterCursor, hasMore: false }\n }\n await this.ensureStream()\n const page = await this.broker.read({\n projectId: this.projectId,\n streamId: this.stream.id,\n afterCursor: input.afterCursor,\n limit: input.limit,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n })\n return {\n lines: page.records.map(hydrateLogRecord),\n cursor: page.cursor,\n hasMore: page.hasMore,\n }\n }\n\n async tail(input: LogsTailInput = {}): Promise<LogsPage> {\n if (!this.broker || (input.limit !== undefined && input.limit <= 0)) {\n return { lines: [], cursor: input.beforeCursor, hasMore: false }\n }\n await this.ensureStream()\n const page = await this.broker.tail({\n projectId: this.projectId,\n streamId: this.stream.id,\n beforeCursor: input.beforeCursor,\n limit: input.limit,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n })\n return {\n lines: page.records.map(hydrateLogRecord),\n cursor: page.cursor,\n hasMore: page.hasMore,\n }\n }\n\n async subscribe(\n input: LogsSubscribeInput,\n handler: (lines: readonly StoredLogLine[]) => void\n ): Promise<() => void> {\n const broker = this.broker\n if (!broker) {\n return () => undefined\n }\n await this.ensureStream()\n return broker.subscribe(\n {\n projectId: this.projectId,\n streamId: this.stream.id,\n from: input.from,\n afterCursor: input.afterCursor,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n },\n (records) => {\n const lines = records.map(hydrateLogRecord)\n if (lines.length === 0) return\n try {\n handler(lines)\n } catch {\n // Subscriber failures never break broker delivery.\n }\n }\n )\n }\n\n /** Flush the process provider. Execution sessions never call this globally. */\n async flush(): Promise<void> {\n await this.provider.flush?.()\n }\n\n /** Close the process provider. Lifecycle ownership stays outside handler loggers. */\n async close(): Promise<void> {\n if (this.provider.close) {\n await this.provider.close()\n return\n }\n await this.provider.flush?.()\n }\n\n private publisher(): LogPublisher | undefined {\n const broker = this.broker\n if (!broker || !this.captureEnabled) {\n return undefined\n }\n return async (records) => {\n await this.ensureStream()\n await broker.append({\n projectId: this.projectId,\n streamId: this.stream.id,\n records: records.map((record) => ({\n name: `${record.context.run.kind}.${record.level}`,\n key: `${record.context.run.kind}:${record.context.run.id}`,\n payload: record as unknown as JsonValue,\n })),\n })\n }\n }\n\n private ensureStream(): Promise<void> {\n const broker = this.broker\n if (!broker) {\n return Promise.resolve()\n }\n if (!this.ensureStreamPromise) {\n this.ensureStreamPromise = broker\n .ensureStream({ projectId: this.projectId, stream: this.stream })\n .catch((error) => {\n this.ensureStreamPromise = undefined\n throw error\n })\n }\n return this.ensureStreamPromise\n }\n}\n\n/** Resolve a worker runtime, falling back to a silent output-only runtime. */\nexport function resolveLogsRuntime(projectId: string, logs?: LogsRuntime): LogsRuntime {\n return logs ?? new LogsRuntime({ projectId, logger: noopLoggerProvider })\n}\n\nfunction normalizeRedactPaths(paths: readonly string[]): readonly string[] {\n const normalized = new Set<string>()\n for (const path of paths) {\n if (typeof path !== \"string\" || path.trim().length === 0) {\n throw new TypeError(\"observability.logs.redact.paths must contain non-empty strings\")\n }\n normalized.add(path.trim())\n }\n return [...normalized]\n}\n\nfunction mergeLogsRetention(retention: BrokerRetention | undefined): BrokerRetention {\n return {\n maxAgeMs: nonNegativeInteger(\n retention?.maxAgeMs ?? DEFAULT_LOGS_RETENTION.maxAgeMs,\n \"observability.logs.retention.maxAgeMs\"\n ),\n maxRecords: nonNegativeInteger(\n retention?.maxRecords ?? DEFAULT_LOGS_RETENTION.maxRecords,\n \"observability.logs.retention.maxRecords\"\n ),\n maxBytes: nonNegativeInteger(\n retention?.maxBytes ?? DEFAULT_LOGS_RETENTION.maxBytes,\n \"observability.logs.retention.maxBytes\"\n ),\n }\n}\n\nfunction logLevel(value: LogLevel, path: string): LogLevel {\n if (value !== \"debug\" && value !== \"info\" && value !== \"warn\" && value !== \"error\") {\n throw new TypeError(`${path} must be one of: debug, info, warn, error`)\n }\n return value\n}\n\nfunction nonNegativeInteger(value: number, path: string): number {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new TypeError(`${path} must be a non-negative safe integer`)\n }\n return value\n}\n\nfunction logRecordNames(\n kinds: readonly SixbRunKind[] | undefined,\n levels: readonly LogLevel[] | undefined,\n run: LogRunRef | undefined\n): readonly string[] | undefined {\n const selectedKinds = run ? [run.kind] : kinds\n if ((!selectedKinds || selectedKinds.length === 0) && (!levels || levels.length === 0)) {\n return undefined\n }\n const resolvedKinds = selectedKinds && selectedKinds.length > 0 ? selectedKinds : SIXB_RUN_KINDS\n const resolvedLevels = levels && levels.length > 0 ? levels : LOG_LEVELS\n return resolvedKinds.flatMap((kind) => resolvedLevels.map((level) => `${kind}.${level}`))\n}\n\nfunction hydrateLogRecord(record: BrokerRecord): StoredLogLine {\n const payload = record.payload\n if (!isLogRecord(payload)) {\n throw new Error(`[Sixb] Broker record at cursor '${record.cursor}' is not a log line.`)\n }\n return { ...(payload as LogRecord), cursor: record.cursor }\n}\n"
|
|
9
|
+
"import type { Broker, BrokerRecord, BrokerRetention, BrokerStreamDefinition } from \"../broker\"\nimport { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport { noopLoggerProvider } from \"./console-logger\"\nimport { type LogPublisher, RunLogSession } from \"./run-logger\"\nimport {\n DEFAULT_LOG_BATCH_MAX_BYTES,\n DEFAULT_LOG_BATCH_MAX_DELAY_MS,\n DEFAULT_LOG_BATCH_MAX_RECORDS,\n DEFAULT_LOG_MAX_BUFFERED_BYTES,\n DEFAULT_LOGS_RETENTION,\n DEFAULT_MAX_LINES_PER_EXECUTION,\n DEFAULT_MAX_LOG_RECORD_BYTES,\n LOGS_STREAM,\n} from \"./stream\"\nimport {\n isLogRecord,\n LOG_LEVELS,\n type LoggerProvider,\n type LogLevel,\n type LogRecord,\n type LogRunRef,\n SIXB_RUN_KINDS,\n type SixbRunKind,\n type StoredLogLine,\n} from \"./types\"\n\nexport interface LogsPage {\n readonly lines: readonly StoredLogLine[]\n readonly cursor?: string\n readonly hasMore: boolean\n}\n\nexport interface LogsReadInput {\n readonly afterCursor?: string\n readonly limit?: number\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsTailInput {\n readonly beforeCursor?: string\n readonly limit?: number\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsSubscribeInput {\n readonly from?: \"latest\" | \"earliest\"\n readonly afterCursor?: string\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsObservabilityOptions {\n /** Forward handler logs to the broker. Defaults to `true`. */\n readonly enabled?: boolean\n /** Minimum level captured by the broker. Defaults to `\"info\"`. */\n readonly level?: LogLevel\n /** Retention overrides merged with the bounded defaults. */\n readonly retention?: BrokerRetention\n /** Captured lines per worker execution. Defaults to 10,000. */\n readonly maxLinesPerExecution?: number\n readonly redact?: {\n /** Dot paths relative to `fields` (an optional `fields.` prefix is accepted). */\n readonly paths: readonly string[]\n /** Replacement value. Defaults to `\"[REDACTED]\"`. */\n readonly censor?: JsonValue\n }\n}\n\nexport interface ObservabilityOptions {\n readonly logs?: LogsObservabilityOptions\n}\n\nexport interface LoggingServiceOptions {\n readonly projectId: string\n /** Broker backing the `__logs` stream. Absent means output-only logging. */\n readonly broker?: Broker\n /** Optional process-level output provider. Omit for broker-only logging. */\n readonly logger?: LoggerProvider\n readonly observability?: LogsObservabilityOptions\n /** Internal/testing stream override. */\n readonly stream?: BrokerStreamDefinition\n}\n\n/** Project-scoped logger factory and broker capture service. */\nexport class LoggingService {\n private readonly projectId: string\n private readonly broker?: Broker\n private readonly provider: LoggerProvider\n private readonly captureEnabled: boolean\n private readonly captureLevel: LogLevel\n private readonly maxLinesPerExecution: number\n private readonly redactPaths: readonly string[]\n private readonly redactCensor: JsonValue\n private readonly stream: BrokerStreamDefinition\n private ensureStreamPromise?: Promise<void>\n\n constructor(options: LoggingServiceOptions) {\n const config = options.observability ?? {}\n this.projectId = options.projectId\n this.broker = options.broker\n this.provider = options.logger ?? noopLoggerProvider\n this.captureEnabled = config.enabled ?? true\n this.captureLevel = logLevel(config.level ?? \"info\", \"observability.logs.level\")\n this.maxLinesPerExecution = nonNegativeInteger(\n config.maxLinesPerExecution ?? DEFAULT_MAX_LINES_PER_EXECUTION,\n \"observability.logs.maxLinesPerExecution\"\n )\n this.redactPaths = normalizeRedactPaths(config.redact?.paths ?? [])\n this.redactCensor = config.redact?.censor ?? \"[REDACTED]\"\n const censorReason = getInvalidJsonValueReason(\n this.redactCensor,\n \"observability.logs.redact.censor\"\n )\n if (censorReason) {\n throw new TypeError(censorReason)\n }\n\n this.stream =\n options.stream ??\n ({\n ...LOGS_STREAM,\n retention: mergeLogsRetention(config.retention),\n } satisfies BrokerStreamDefinition)\n }\n\n /** Start the single logger session owned by one worker execution. */\n startExecution(run: LogRunRef): RunLogSession {\n const publish = this.publisher()\n return new RunLogSession({\n run,\n provider: this.provider,\n capture: publish\n ? {\n publish,\n level: this.captureLevel,\n maxLinesPerExecution: this.maxLinesPerExecution,\n maxRecordBytes: DEFAULT_MAX_LOG_RECORD_BYTES,\n maxBufferedBytes: DEFAULT_LOG_MAX_BUFFERED_BYTES,\n batchMaxRecords: DEFAULT_LOG_BATCH_MAX_RECORDS,\n batchMaxBytes: DEFAULT_LOG_BATCH_MAX_BYTES,\n batchMaxDelayMs: DEFAULT_LOG_BATCH_MAX_DELAY_MS,\n redactPaths: this.redactPaths,\n redactCensor: this.redactCensor,\n }\n : undefined,\n })\n }\n\n async read(input: LogsReadInput = {}): Promise<LogsPage> {\n if (!this.broker || (input.limit !== undefined && input.limit <= 0)) {\n return { lines: [], cursor: input.afterCursor, hasMore: false }\n }\n await this.ensureStream()\n const page = await this.broker.read({\n projectId: this.projectId,\n streamId: this.stream.id,\n afterCursor: input.afterCursor,\n limit: input.limit,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n })\n return {\n lines: page.records.map(hydrateLogRecord),\n cursor: page.cursor,\n hasMore: page.hasMore,\n }\n }\n\n async tail(input: LogsTailInput = {}): Promise<LogsPage> {\n if (!this.broker || (input.limit !== undefined && input.limit <= 0)) {\n return { lines: [], cursor: input.beforeCursor, hasMore: false }\n }\n await this.ensureStream()\n const page = await this.broker.tail({\n projectId: this.projectId,\n streamId: this.stream.id,\n beforeCursor: input.beforeCursor,\n limit: input.limit,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n })\n return {\n lines: page.records.map(hydrateLogRecord),\n cursor: page.cursor,\n hasMore: page.hasMore,\n }\n }\n\n async subscribe(\n input: LogsSubscribeInput,\n handler: (lines: readonly StoredLogLine[]) => void\n ): Promise<() => void> {\n const broker = this.broker\n if (!broker) {\n return () => undefined\n }\n await this.ensureStream()\n return broker.subscribe(\n {\n projectId: this.projectId,\n streamId: this.stream.id,\n from: input.from,\n afterCursor: input.afterCursor,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n },\n (records) => {\n const lines = records.map(hydrateLogRecord)\n if (lines.length === 0) return\n try {\n handler(lines)\n } catch {\n // Subscriber failures never break broker delivery.\n }\n }\n )\n }\n\n /** Flush the process provider. Execution sessions never call this globally. */\n async flush(): Promise<void> {\n await this.provider.flush?.()\n }\n\n /** Close the process provider. Lifecycle ownership stays outside handler loggers. */\n async close(): Promise<void> {\n if (this.provider.close) {\n await this.provider.close()\n return\n }\n await this.provider.flush?.()\n }\n\n private publisher(): LogPublisher | undefined {\n const broker = this.broker\n if (!broker || !this.captureEnabled) {\n return undefined\n }\n return async (records) => {\n await this.ensureStream()\n await broker.append({\n projectId: this.projectId,\n streamId: this.stream.id,\n records: records.map((record) => ({\n name: `${record.context.run.kind}.${record.level}`,\n key: `${record.context.run.kind}:${record.context.run.id}`,\n payload: record as unknown as JsonValue,\n })),\n })\n }\n }\n\n private ensureStream(): Promise<void> {\n const broker = this.broker\n if (!broker) {\n return Promise.resolve()\n }\n if (!this.ensureStreamPromise) {\n this.ensureStreamPromise = broker\n .ensureStream({ projectId: this.projectId, stream: this.stream })\n .catch((error) => {\n this.ensureStreamPromise = undefined\n throw error\n })\n }\n return this.ensureStreamPromise\n }\n}\n\n/** Resolve the logging service, falling back to a silent output-only service. */\nexport function resolveLoggingService(projectId: string, logging?: LoggingService): LoggingService {\n return logging ?? new LoggingService({ projectId, logger: noopLoggerProvider })\n}\n\nfunction normalizeRedactPaths(paths: readonly string[]): readonly string[] {\n const normalized = new Set<string>()\n for (const path of paths) {\n if (typeof path !== \"string\" || path.trim().length === 0) {\n throw new TypeError(\"observability.logs.redact.paths must contain non-empty strings\")\n }\n normalized.add(path.trim())\n }\n return [...normalized]\n}\n\nfunction mergeLogsRetention(retention: BrokerRetention | undefined): BrokerRetention {\n return {\n maxAgeMs: nonNegativeInteger(\n retention?.maxAgeMs ?? DEFAULT_LOGS_RETENTION.maxAgeMs,\n \"observability.logs.retention.maxAgeMs\"\n ),\n maxRecords: nonNegativeInteger(\n retention?.maxRecords ?? DEFAULT_LOGS_RETENTION.maxRecords,\n \"observability.logs.retention.maxRecords\"\n ),\n maxBytes: nonNegativeInteger(\n retention?.maxBytes ?? DEFAULT_LOGS_RETENTION.maxBytes,\n \"observability.logs.retention.maxBytes\"\n ),\n }\n}\n\nfunction logLevel(value: LogLevel, path: string): LogLevel {\n if (value !== \"debug\" && value !== \"info\" && value !== \"warn\" && value !== \"error\") {\n throw new TypeError(`${path} must be one of: debug, info, warn, error`)\n }\n return value\n}\n\nfunction nonNegativeInteger(value: number, path: string): number {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new TypeError(`${path} must be a non-negative safe integer`)\n }\n return value\n}\n\nfunction logRecordNames(\n kinds: readonly SixbRunKind[] | undefined,\n levels: readonly LogLevel[] | undefined,\n run: LogRunRef | undefined\n): readonly string[] | undefined {\n const selectedKinds = run ? [run.kind] : kinds\n if ((!selectedKinds || selectedKinds.length === 0) && (!levels || levels.length === 0)) {\n return undefined\n }\n const resolvedKinds = selectedKinds && selectedKinds.length > 0 ? selectedKinds : SIXB_RUN_KINDS\n const resolvedLevels = levels && levels.length > 0 ? levels : LOG_LEVELS\n return resolvedKinds.flatMap((kind) => resolvedLevels.map((level) => `${kind}.${level}`))\n}\n\nfunction hydrateLogRecord(record: BrokerRecord): StoredLogLine {\n const payload = record.payload\n if (!isLogRecord(payload)) {\n throw new Error(`[Sixb] Broker record at cursor '${record.cursor}' is not a log line.`)\n }\n return { ...(payload as LogRecord), cursor: record.cursor }\n}\n"
|
|
10
10
|
],
|
|
11
|
-
"mappings": "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",
|
|
12
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "707AC3FBDC09C7CE64756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/storage/executions/errors.ts
|
|
3
|
+
class ExecutionStorageError extends Error {
|
|
4
|
+
code;
|
|
5
|
+
name = "ExecutionStorageError";
|
|
6
|
+
constructor(code, message, options = {}) {
|
|
7
|
+
super(message, options);
|
|
8
|
+
this.code = code;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// src/storage/executions/validation.ts
|
|
13
|
+
function normalizeExecutionRecord(input, createdAt = new Date) {
|
|
14
|
+
const record = {
|
|
15
|
+
id: input.id,
|
|
16
|
+
projectId: input.projectId,
|
|
17
|
+
...input.requestedBy === undefined ? {} : { requestedBy: structuredClone(input.requestedBy) },
|
|
18
|
+
executor: structuredClone(input.executor),
|
|
19
|
+
source: structuredClone(input.source),
|
|
20
|
+
correlationId: input.correlationId,
|
|
21
|
+
authorizationRef: structuredClone(input.authorizationRef),
|
|
22
|
+
createdAt: new Date(createdAt)
|
|
23
|
+
};
|
|
24
|
+
assertRecordShape(record);
|
|
25
|
+
assertExecutorAuthority(record);
|
|
26
|
+
return record;
|
|
27
|
+
}
|
|
28
|
+
async function validateExecutionRecordReferences(record, lookup) {
|
|
29
|
+
await validatePrincipal(record.requestedBy, record.projectId, "Requested-by principal", lookup);
|
|
30
|
+
if (record.authorizationRef.type === "principal") {
|
|
31
|
+
await validatePrincipal(record.authorizationRef.principal, record.projectId, "Authority principal", lookup);
|
|
32
|
+
await validateCredential(record, lookup);
|
|
33
|
+
}
|
|
34
|
+
await validateParent(record, lookup);
|
|
35
|
+
}
|
|
36
|
+
function cloneExecutionRecord(record) {
|
|
37
|
+
return structuredClone(record);
|
|
38
|
+
}
|
|
39
|
+
function assertRecordShape(record) {
|
|
40
|
+
assertNonBlank(record.id, "Execution id");
|
|
41
|
+
assertNonBlank(record.projectId, "Execution project id");
|
|
42
|
+
assertNonBlank(record.correlationId, "Execution correlation id");
|
|
43
|
+
assertValidDate(record.createdAt, "Execution createdAt");
|
|
44
|
+
if (record.requestedBy) {
|
|
45
|
+
assertPrincipal(record.requestedBy, "Requested-by principal");
|
|
46
|
+
}
|
|
47
|
+
assertExecutor(record.executor);
|
|
48
|
+
assertSource(record.source);
|
|
49
|
+
assertAuthorizationRef(record.authorizationRef);
|
|
50
|
+
}
|
|
51
|
+
function assertExecutor(executor) {
|
|
52
|
+
switch (executor.type) {
|
|
53
|
+
case "request":
|
|
54
|
+
assertNonBlank(executor.requestId, "Executor request id");
|
|
55
|
+
return;
|
|
56
|
+
case "primitive":
|
|
57
|
+
assertTrustedPrimitiveKind(executor.kind, "Executor primitive kind");
|
|
58
|
+
assertNonBlank(executor.runId, "Executor primitive run id");
|
|
59
|
+
return;
|
|
60
|
+
case "agent":
|
|
61
|
+
assertNonBlank(executor.runId, "Executor agent run id");
|
|
62
|
+
return;
|
|
63
|
+
case "kernel":
|
|
64
|
+
assertKernelOperation(executor.operation, "Executor kernel operation");
|
|
65
|
+
return;
|
|
66
|
+
default:
|
|
67
|
+
invalid(`Unknown execution executor type '${String(executor.type)}'.`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function assertSource(source) {
|
|
71
|
+
switch (source.type) {
|
|
72
|
+
case "http":
|
|
73
|
+
assertNonBlank(source.requestId, "Execution source request id");
|
|
74
|
+
return;
|
|
75
|
+
case "webhook":
|
|
76
|
+
assertNonBlank(source.deliveryId, "Execution source delivery id");
|
|
77
|
+
return;
|
|
78
|
+
case "schedule":
|
|
79
|
+
case "event":
|
|
80
|
+
assertNonBlank(source.eventId, "Execution source event id");
|
|
81
|
+
return;
|
|
82
|
+
case "datasetVersion":
|
|
83
|
+
assertNonBlank(source.datasetId, "Execution source dataset id");
|
|
84
|
+
assertNonBlank(source.versionId, "Execution source dataset version id");
|
|
85
|
+
return;
|
|
86
|
+
case "execution":
|
|
87
|
+
assertNonBlank(source.executionId, "Execution source execution id");
|
|
88
|
+
return;
|
|
89
|
+
default:
|
|
90
|
+
invalid(`Execution source type '${String(source.type)}' is not durable.`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function assertAuthorizationRef(ref) {
|
|
94
|
+
switch (ref.type) {
|
|
95
|
+
case "principal":
|
|
96
|
+
assertPrincipal(ref.principal, "Authority principal");
|
|
97
|
+
if (ref.credential) {
|
|
98
|
+
if (ref.credential.type !== "session" && ref.credential.type !== "accessToken") {
|
|
99
|
+
invalid(`Unknown authority credential type '${String(ref.credential.type)}'.`);
|
|
100
|
+
}
|
|
101
|
+
assertNonBlank(ref.credential.id, "Authority credential id");
|
|
102
|
+
}
|
|
103
|
+
return;
|
|
104
|
+
case "trustedPrimitive":
|
|
105
|
+
assertTrustedPrimitiveKind(ref.primitive.kind, "Authority primitive kind");
|
|
106
|
+
assertNonBlank(ref.primitive.id, "Authority primitive id");
|
|
107
|
+
assertNonBlank(ref.primitive.runId, "Authority primitive run id");
|
|
108
|
+
return;
|
|
109
|
+
case "kernel":
|
|
110
|
+
assertKernelOperation(ref.operation, "Authority kernel operation");
|
|
111
|
+
return;
|
|
112
|
+
case "disabled":
|
|
113
|
+
return;
|
|
114
|
+
default:
|
|
115
|
+
invalid(`Unknown authorization reference type '${String(ref.type)}'.`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function assertExecutorAuthority(record) {
|
|
119
|
+
const { executor, authorizationRef, requestedBy, source } = record;
|
|
120
|
+
switch (executor.type) {
|
|
121
|
+
case "request": {
|
|
122
|
+
if (source.type !== "http" || source.requestId !== executor.requestId) {
|
|
123
|
+
invalid("Request executions require a matching HTTP source request id.");
|
|
124
|
+
}
|
|
125
|
+
if (authorizationRef.type === "principal") {
|
|
126
|
+
if (!principalsEqual(requestedBy, authorizationRef.principal)) {
|
|
127
|
+
invalid("Request authority must match its requested-by principal.");
|
|
128
|
+
}
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (authorizationRef.type === "disabled") {
|
|
132
|
+
if (requestedBy !== undefined) {
|
|
133
|
+
invalid("Auth-disabled request executions cannot have a requested-by principal.");
|
|
134
|
+
}
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
invalid("Request executions require principal or explicitly disabled authority.");
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
case "primitive": {
|
|
141
|
+
if (authorizationRef.type !== "trustedPrimitive") {
|
|
142
|
+
invalid("Primitive executions require trusted primitive authority.");
|
|
143
|
+
}
|
|
144
|
+
if (authorizationRef.primitive.kind !== executor.kind || authorizationRef.primitive.runId !== executor.runId) {
|
|
145
|
+
invalid("Trusted primitive authority must match the executor kind and run id.");
|
|
146
|
+
}
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
case "agent": {
|
|
150
|
+
if (authorizationRef.type !== "principal" || authorizationRef.principal.type !== "serviceAccount") {
|
|
151
|
+
invalid("Agent executions require service-account authority.");
|
|
152
|
+
}
|
|
153
|
+
if (authorizationRef.credential !== undefined) {
|
|
154
|
+
invalid("Agent execution authority cannot carry an external credential.");
|
|
155
|
+
}
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
case "kernel": {
|
|
159
|
+
if (authorizationRef.type !== "kernel" || !kernelOperationsEqual(authorizationRef.operation, executor.operation)) {
|
|
160
|
+
invalid("Kernel authority must match the executor operation.");
|
|
161
|
+
}
|
|
162
|
+
if (requestedBy !== undefined) {
|
|
163
|
+
invalid("Kernel executions cannot have a requested-by principal.");
|
|
164
|
+
}
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
async function validatePrincipal(principal, projectId, label, lookup) {
|
|
170
|
+
if (!principal)
|
|
171
|
+
return;
|
|
172
|
+
const record = principal.type === "user" ? await lookup.auth.users.getById({ projectId, id: principal.id }) : await lookup.auth.serviceAccounts.getById({ projectId, id: principal.id });
|
|
173
|
+
if (!record) {
|
|
174
|
+
throw new ExecutionStorageError("missing_principal", `[Sixb] ${label} '${principal.id}' does not exist in project '${projectId}'.`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
async function validateCredential(record, lookup) {
|
|
178
|
+
if (record.authorizationRef.type !== "principal" || !record.authorizationRef.credential)
|
|
179
|
+
return;
|
|
180
|
+
const { principal, credential } = record.authorizationRef;
|
|
181
|
+
if (credential.type === "session") {
|
|
182
|
+
const session = await lookup.auth.sessions.getById({
|
|
183
|
+
projectId: record.projectId,
|
|
184
|
+
id: credential.id
|
|
185
|
+
});
|
|
186
|
+
if (!session) {
|
|
187
|
+
throw new ExecutionStorageError("missing_credential", `[Sixb] Authority session '${credential.id}' does not exist in project '${record.projectId}'.`);
|
|
188
|
+
}
|
|
189
|
+
if (principal.type !== "user" || session.userId !== principal.id) {
|
|
190
|
+
throw new ExecutionStorageError("invalid_credential", `[Sixb] Authority session '${credential.id}' does not belong to principal '${principal.id}'.`);
|
|
191
|
+
}
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const token = await lookup.auth.accessTokens.getById({
|
|
195
|
+
projectId: record.projectId,
|
|
196
|
+
id: credential.id
|
|
197
|
+
});
|
|
198
|
+
if (!token) {
|
|
199
|
+
throw new ExecutionStorageError("missing_credential", `[Sixb] Authority access token '${credential.id}' does not exist in project '${record.projectId}'.`);
|
|
200
|
+
}
|
|
201
|
+
if (token.subjectType !== principal.type || token.subjectId !== principal.id) {
|
|
202
|
+
throw new ExecutionStorageError("invalid_credential", `[Sixb] Authority access token '${credential.id}' does not belong to principal '${principal.id}'.`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
async function validateParent(record, lookup) {
|
|
206
|
+
if (record.source.type !== "execution")
|
|
207
|
+
return;
|
|
208
|
+
const parentExecutionId = record.source.executionId;
|
|
209
|
+
const parent = await lookup.getExecution({
|
|
210
|
+
projectId: record.projectId,
|
|
211
|
+
id: parentExecutionId
|
|
212
|
+
});
|
|
213
|
+
if (!parent) {
|
|
214
|
+
throw new ExecutionStorageError("missing_parent_execution", `[Sixb] Parent execution '${parentExecutionId}' does not exist in project '${record.projectId}'.`);
|
|
215
|
+
}
|
|
216
|
+
if (parent.correlationId !== record.correlationId) {
|
|
217
|
+
throw new ExecutionStorageError("invalid_parent_execution", `[Sixb] Child execution '${record.id}' must preserve its parent correlation id.`);
|
|
218
|
+
}
|
|
219
|
+
if (!principalsEqual(parent.requestedBy, record.requestedBy)) {
|
|
220
|
+
throw new ExecutionStorageError("invalid_parent_execution", `[Sixb] Child execution '${record.id}' must preserve its parent requested-by principal.`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
function assertPrincipal(principal, label) {
|
|
224
|
+
if (principal.type !== "user" && principal.type !== "serviceAccount") {
|
|
225
|
+
invalid(`${label} has unsupported type '${String(principal.type)}'.`);
|
|
226
|
+
}
|
|
227
|
+
assertNonBlank(principal.id, `${label} id`);
|
|
228
|
+
}
|
|
229
|
+
function assertKernelOperation(operation, label) {
|
|
230
|
+
if (operation.type !== "ontology.recover") {
|
|
231
|
+
invalid(`${label} has unsupported type '${String(operation.type)}'.`);
|
|
232
|
+
}
|
|
233
|
+
assertNonBlank(operation.recoveryId, `${label} recovery id`);
|
|
234
|
+
}
|
|
235
|
+
function assertTrustedPrimitiveKind(value, label) {
|
|
236
|
+
if (!TRUSTED_PRIMITIVE_KINDS.has(value)) {
|
|
237
|
+
invalid(`${label} '${value}' is not supported.`);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
function assertNonBlank(value, label) {
|
|
241
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
242
|
+
invalid(`${label} must be a non-empty string.`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
function assertValidDate(value, label) {
|
|
246
|
+
if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {
|
|
247
|
+
invalid(`${label} must be a valid date.`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
function principalsEqual(left, right) {
|
|
251
|
+
return left?.type === right?.type && left?.id === right?.id;
|
|
252
|
+
}
|
|
253
|
+
function kernelOperationsEqual(left, right) {
|
|
254
|
+
return left.type === right.type && left.recoveryId === right.recoveryId;
|
|
255
|
+
}
|
|
256
|
+
function invalid(message) {
|
|
257
|
+
throw new ExecutionStorageError("invalid_input", `[Sixb] ${message}`);
|
|
258
|
+
}
|
|
259
|
+
var TRUSTED_PRIMITIVE_KINDS = new Set([
|
|
260
|
+
"action",
|
|
261
|
+
"pipeline",
|
|
262
|
+
"projection",
|
|
263
|
+
"rule",
|
|
264
|
+
"sync",
|
|
265
|
+
"webhook",
|
|
266
|
+
"workflow"
|
|
267
|
+
]);
|
|
268
|
+
|
|
269
|
+
export { ExecutionStorageError, normalizeExecutionRecord, validateExecutionRecordReferences, cloneExecutionRecord };
|
|
270
|
+
|
|
271
|
+
//# debugId=903A9A3201175C6C64756E2164756E21
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/storage/executions/errors.ts", "../src/storage/executions/validation.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"export type ExecutionStorageErrorCode =\n | \"duplicate_execution\"\n | \"invalid_credential\"\n | \"invalid_input\"\n | \"invalid_parent_execution\"\n | \"missing_credential\"\n | \"missing_parent_execution\"\n | \"missing_principal\"\n\n/** Stable error raised when an execution record would violate ledger invariants. */\nexport class ExecutionStorageError extends Error {\n readonly name = \"ExecutionStorageError\"\n\n constructor(\n readonly code: ExecutionStorageErrorCode,\n message: string,\n options: ErrorOptions = {}\n ) {\n super(message, options)\n }\n}\n",
|
|
6
|
+
"import type {\n AuthorizablePrincipal,\n AuthorizationRef,\n KernelOperation,\n} from \"../../execution/types\"\nimport type { AuthStorage } from \"../auth\"\nimport { ExecutionStorageError } from \"./errors\"\nimport type {\n CreateExecutionInput,\n DurableExecutionExecutor,\n DurableExecutionSource,\n ExecutionRecord,\n} from \"./types\"\n\nexport interface ExecutionValidationLookup {\n readonly auth: AuthStorage\n getExecution(params: {\n readonly projectId: string\n readonly id: string\n }): Promise<ExecutionRecord | null>\n}\n\nexport function normalizeExecutionRecord(\n input: CreateExecutionInput,\n createdAt: Date = new Date()\n): ExecutionRecord {\n const record: ExecutionRecord = {\n id: input.id,\n projectId: input.projectId,\n ...(input.requestedBy === undefined ? {} : { requestedBy: structuredClone(input.requestedBy) }),\n executor: structuredClone(input.executor),\n source: structuredClone(input.source),\n correlationId: input.correlationId,\n authorizationRef: structuredClone(input.authorizationRef),\n createdAt: new Date(createdAt),\n }\n\n assertRecordShape(record)\n assertExecutorAuthority(record)\n return record\n}\n\nexport async function validateExecutionRecordReferences(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n await validatePrincipal(record.requestedBy, record.projectId, \"Requested-by principal\", lookup)\n\n if (record.authorizationRef.type === \"principal\") {\n await validatePrincipal(\n record.authorizationRef.principal,\n record.projectId,\n \"Authority principal\",\n lookup\n )\n await validateCredential(record, lookup)\n }\n\n await validateParent(record, lookup)\n}\n\nexport function cloneExecutionRecord(record: ExecutionRecord): ExecutionRecord {\n return structuredClone(record)\n}\n\nfunction assertRecordShape(record: ExecutionRecord): void {\n assertNonBlank(record.id, \"Execution id\")\n assertNonBlank(record.projectId, \"Execution project id\")\n assertNonBlank(record.correlationId, \"Execution correlation id\")\n assertValidDate(record.createdAt, \"Execution createdAt\")\n\n if (record.requestedBy) {\n assertPrincipal(record.requestedBy, \"Requested-by principal\")\n }\n\n assertExecutor(record.executor)\n assertSource(record.source)\n assertAuthorizationRef(record.authorizationRef)\n}\n\nfunction assertExecutor(executor: DurableExecutionExecutor): void {\n switch (executor.type) {\n case \"request\":\n assertNonBlank(executor.requestId, \"Executor request id\")\n return\n case \"primitive\":\n assertTrustedPrimitiveKind(executor.kind, \"Executor primitive kind\")\n assertNonBlank(executor.runId, \"Executor primitive run id\")\n return\n case \"agent\":\n assertNonBlank(executor.runId, \"Executor agent run id\")\n return\n case \"kernel\":\n assertKernelOperation(executor.operation, \"Executor kernel operation\")\n return\n default:\n invalid(`Unknown execution executor type '${String((executor as { type?: unknown }).type)}'.`)\n }\n}\n\nfunction assertSource(source: DurableExecutionSource): void {\n switch (source.type) {\n case \"http\":\n assertNonBlank(source.requestId, \"Execution source request id\")\n return\n case \"webhook\":\n assertNonBlank(source.deliveryId, \"Execution source delivery id\")\n return\n case \"schedule\":\n case \"event\":\n assertNonBlank(source.eventId, \"Execution source event id\")\n return\n case \"datasetVersion\":\n assertNonBlank(source.datasetId, \"Execution source dataset id\")\n assertNonBlank(source.versionId, \"Execution source dataset version id\")\n return\n case \"execution\":\n assertNonBlank(source.executionId, \"Execution source execution id\")\n return\n default:\n invalid(\n `Execution source type '${String((source as { type?: unknown }).type)}' is not durable.`\n )\n }\n}\n\nfunction assertAuthorizationRef(ref: AuthorizationRef): void {\n switch (ref.type) {\n case \"principal\":\n assertPrincipal(ref.principal, \"Authority principal\")\n if (ref.credential) {\n if (ref.credential.type !== \"session\" && ref.credential.type !== \"accessToken\") {\n invalid(\n `Unknown authority credential type '${String(\n (ref.credential as { type?: unknown }).type\n )}'.`\n )\n }\n assertNonBlank(ref.credential.id, \"Authority credential id\")\n }\n return\n case \"trustedPrimitive\":\n assertTrustedPrimitiveKind(ref.primitive.kind, \"Authority primitive kind\")\n assertNonBlank(ref.primitive.id, \"Authority primitive id\")\n assertNonBlank(ref.primitive.runId, \"Authority primitive run id\")\n return\n case \"kernel\":\n assertKernelOperation(ref.operation, \"Authority kernel operation\")\n return\n case \"disabled\":\n return\n default:\n invalid(`Unknown authorization reference type '${String((ref as { type?: unknown }).type)}'.`)\n }\n}\n\nfunction assertExecutorAuthority(record: ExecutionRecord): void {\n const { executor, authorizationRef, requestedBy, source } = record\n\n switch (executor.type) {\n case \"request\": {\n if (source.type !== \"http\" || source.requestId !== executor.requestId) {\n invalid(\"Request executions require a matching HTTP source request id.\")\n }\n if (authorizationRef.type === \"principal\") {\n if (!principalsEqual(requestedBy, authorizationRef.principal)) {\n invalid(\"Request authority must match its requested-by principal.\")\n }\n return\n }\n if (authorizationRef.type === \"disabled\") {\n if (requestedBy !== undefined) {\n invalid(\"Auth-disabled request executions cannot have a requested-by principal.\")\n }\n return\n }\n invalid(\"Request executions require principal or explicitly disabled authority.\")\n break\n }\n case \"primitive\": {\n if (authorizationRef.type !== \"trustedPrimitive\") {\n invalid(\"Primitive executions require trusted primitive authority.\")\n }\n if (\n authorizationRef.primitive.kind !== executor.kind ||\n authorizationRef.primitive.runId !== executor.runId\n ) {\n invalid(\"Trusted primitive authority must match the executor kind and run id.\")\n }\n return\n }\n case \"agent\": {\n if (\n authorizationRef.type !== \"principal\" ||\n authorizationRef.principal.type !== \"serviceAccount\"\n ) {\n invalid(\"Agent executions require service-account authority.\")\n }\n if (authorizationRef.credential !== undefined) {\n invalid(\"Agent execution authority cannot carry an external credential.\")\n }\n return\n }\n case \"kernel\": {\n if (\n authorizationRef.type !== \"kernel\" ||\n !kernelOperationsEqual(authorizationRef.operation, executor.operation)\n ) {\n invalid(\"Kernel authority must match the executor operation.\")\n }\n if (requestedBy !== undefined) {\n invalid(\"Kernel executions cannot have a requested-by principal.\")\n }\n return\n }\n }\n}\n\nasync function validatePrincipal(\n principal: AuthorizablePrincipal | undefined,\n projectId: string,\n label: string,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (!principal) return\n\n const record =\n principal.type === \"user\"\n ? await lookup.auth.users.getById({ projectId, id: principal.id })\n : await lookup.auth.serviceAccounts.getById({ projectId, id: principal.id })\n if (!record) {\n throw new ExecutionStorageError(\n \"missing_principal\",\n `[Sixb] ${label} '${principal.id}' does not exist in project '${projectId}'.`\n )\n }\n}\n\nasync function validateCredential(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (record.authorizationRef.type !== \"principal\" || !record.authorizationRef.credential) return\n\n const { principal, credential } = record.authorizationRef\n if (credential.type === \"session\") {\n const session = await lookup.auth.sessions.getById({\n projectId: record.projectId,\n id: credential.id,\n })\n if (!session) {\n throw new ExecutionStorageError(\n \"missing_credential\",\n `[Sixb] Authority session '${credential.id}' does not exist in project '${record.projectId}'.`\n )\n }\n if (principal.type !== \"user\" || session.userId !== principal.id) {\n throw new ExecutionStorageError(\n \"invalid_credential\",\n `[Sixb] Authority session '${credential.id}' does not belong to principal '${principal.id}'.`\n )\n }\n return\n }\n\n const token = await lookup.auth.accessTokens.getById({\n projectId: record.projectId,\n id: credential.id,\n })\n if (!token) {\n throw new ExecutionStorageError(\n \"missing_credential\",\n `[Sixb] Authority access token '${credential.id}' does not exist in project '${record.projectId}'.`\n )\n }\n if (token.subjectType !== principal.type || token.subjectId !== principal.id) {\n throw new ExecutionStorageError(\n \"invalid_credential\",\n `[Sixb] Authority access token '${credential.id}' does not belong to principal '${principal.id}'.`\n )\n }\n}\n\nasync function validateParent(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (record.source.type !== \"execution\") return\n const parentExecutionId = record.source.executionId\n\n const parent = await lookup.getExecution({\n projectId: record.projectId,\n id: parentExecutionId,\n })\n if (!parent) {\n throw new ExecutionStorageError(\n \"missing_parent_execution\",\n `[Sixb] Parent execution '${parentExecutionId}' does not exist in project '${record.projectId}'.`\n )\n }\n if (parent.correlationId !== record.correlationId) {\n throw new ExecutionStorageError(\n \"invalid_parent_execution\",\n `[Sixb] Child execution '${record.id}' must preserve its parent correlation id.`\n )\n }\n if (!principalsEqual(parent.requestedBy, record.requestedBy)) {\n throw new ExecutionStorageError(\n \"invalid_parent_execution\",\n `[Sixb] Child execution '${record.id}' must preserve its parent requested-by principal.`\n )\n }\n}\n\nfunction assertPrincipal(principal: AuthorizablePrincipal, label: string): void {\n if (principal.type !== \"user\" && principal.type !== \"serviceAccount\") {\n invalid(`${label} has unsupported type '${String((principal as { type?: unknown }).type)}'.`)\n }\n assertNonBlank(principal.id, `${label} id`)\n}\n\nfunction assertKernelOperation(operation: KernelOperation, label: string): void {\n if (operation.type !== \"ontology.recover\") {\n invalid(`${label} has unsupported type '${String((operation as { type?: unknown }).type)}'.`)\n }\n assertNonBlank(operation.recoveryId, `${label} recovery id`)\n}\n\nfunction assertTrustedPrimitiveKind(value: string, label: string): void {\n if (!TRUSTED_PRIMITIVE_KINDS.has(value)) {\n invalid(`${label} '${value}' is not supported.`)\n }\n}\n\nfunction assertNonBlank(value: string, label: string): void {\n if (typeof value !== \"string\" || !value.trim()) {\n invalid(`${label} must be a non-empty string.`)\n }\n}\n\nfunction assertValidDate(value: Date, label: string): void {\n if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {\n invalid(`${label} must be a valid date.`)\n }\n}\n\nfunction principalsEqual(\n left: AuthorizablePrincipal | undefined,\n right: AuthorizablePrincipal | undefined\n): boolean {\n return left?.type === right?.type && left?.id === right?.id\n}\n\nfunction kernelOperationsEqual(left: KernelOperation, right: KernelOperation): boolean {\n return left.type === right.type && left.recoveryId === right.recoveryId\n}\n\nfunction invalid(message: string): never {\n throw new ExecutionStorageError(\"invalid_input\", `[Sixb] ${message}`)\n}\n\nconst TRUSTED_PRIMITIVE_KINDS = new Set([\n \"action\",\n \"pipeline\",\n \"projection\",\n \"rule\",\n \"sync\",\n \"webhook\",\n \"workflow\",\n])\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "903A9A3201175C6C64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
parseSixbFailure
|
|
4
|
+
} from "./chunk-0172wgm9.js";
|
|
5
|
+
import {
|
|
6
|
+
isPlainRecord
|
|
7
|
+
} from "./chunk-t8t39h7v.js";
|
|
8
|
+
|
|
9
|
+
// src/storage/action-runs/types.ts
|
|
10
|
+
var ACTION_RUN_PHASES = [
|
|
11
|
+
"request",
|
|
12
|
+
"enqueue",
|
|
13
|
+
"validation",
|
|
14
|
+
"writeback",
|
|
15
|
+
"edits",
|
|
16
|
+
"commit",
|
|
17
|
+
"effects",
|
|
18
|
+
"cancelled"
|
|
19
|
+
];
|
|
20
|
+
var ACTION_RUN_FAILURE_CODES = [
|
|
21
|
+
"internal.unexpected",
|
|
22
|
+
"runtime.cancelled",
|
|
23
|
+
"queue.enqueue_failed",
|
|
24
|
+
"action.phase_failed"
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
// src/storage/action-runs/failure.ts
|
|
28
|
+
function serializeActionRunFailure(failure, expectedPhase) {
|
|
29
|
+
const parsed = expectedPhase === undefined ? parseActionRunFailure(failure) : parseActionRunFailure(failure, expectedPhase);
|
|
30
|
+
return JSON.stringify(parsed);
|
|
31
|
+
}
|
|
32
|
+
function parseActionRunFailure(value, expectedPhase) {
|
|
33
|
+
const candidate = parseStoredActionRunFailureValue(value);
|
|
34
|
+
const failure = parseSixbFailure(candidate, ACTION_RUN_FAILURE_CODES);
|
|
35
|
+
const details = failure.details;
|
|
36
|
+
if (!isPlainRecord(details) || typeof details.actionId !== "string" || typeof details.runId !== "string" || typeof details.phase !== "string" || !ACTION_RUN_PHASES.includes(details.phase)) {
|
|
37
|
+
throw new Error("[Sixb] Stored failure is invalid: Action details must contain actionId, runId, and a known phase.");
|
|
38
|
+
}
|
|
39
|
+
if (expectedPhase !== undefined && details.phase !== expectedPhase) {
|
|
40
|
+
throw new Error(`[Sixb] Stored Action ${expectedPhase} failure has phase '${details.phase}'.`);
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
...failure,
|
|
44
|
+
details
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function parseStoredActionRunFailureValue(value) {
|
|
48
|
+
if (typeof value !== "string")
|
|
49
|
+
return value;
|
|
50
|
+
try {
|
|
51
|
+
return JSON.parse(value);
|
|
52
|
+
} catch {
|
|
53
|
+
throw new Error("[Sixb] Stored failure is invalid: value is not valid JSON.");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { ACTION_RUN_PHASES, ACTION_RUN_FAILURE_CODES, serializeActionRunFailure, parseActionRunFailure };
|
|
58
|
+
|
|
59
|
+
//# debugId=C0AEB0A8D7FE678664756E2164756E21
|