@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
package/src/connectors/types.ts
CHANGED
|
@@ -20,11 +20,127 @@ export interface ConnectorContext {
|
|
|
20
20
|
*/
|
|
21
21
|
export interface ConnectorAdapter<TType extends string = string, TClient = unknown> {
|
|
22
22
|
readonly type: TType
|
|
23
|
+
readonly authentication?: never
|
|
23
24
|
readonly webhooks?: readonly WebhookDefinition<unknown, TClient>[]
|
|
24
25
|
connect(context: ConnectorContext): Promise<TClient> | TClient
|
|
25
26
|
disconnect?(client: TClient): Promise<void> | void
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
/** One OAuth token set normalized by an OAuth connector adapter. */
|
|
30
|
+
export interface ConnectorOAuthCredentials {
|
|
31
|
+
readonly accessToken: string
|
|
32
|
+
readonly refreshToken?: string
|
|
33
|
+
readonly tokenType?: string
|
|
34
|
+
readonly scopes?: readonly string[]
|
|
35
|
+
readonly expiresAt?: Date
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Public, non-secret account information returned for framework-owned selection UI. */
|
|
39
|
+
export interface ConnectorAccountCandidate {
|
|
40
|
+
readonly id: string
|
|
41
|
+
readonly label: string
|
|
42
|
+
readonly description?: string
|
|
43
|
+
readonly avatarUrl?: string
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** V1 intentionally supports project-owned connector connections only. */
|
|
47
|
+
export interface ProjectConnectorConnectionOwner {
|
|
48
|
+
readonly type: "project"
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export type ConnectorConnectionOwner = ProjectConnectorConnectionOwner
|
|
52
|
+
|
|
53
|
+
/** Stable application-defined lookup key for one connector connection. */
|
|
54
|
+
export interface ConnectorConnectionSelector {
|
|
55
|
+
readonly owner: ConnectorConnectionOwner
|
|
56
|
+
readonly slot: string
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** Stable, non-secret metadata shared by connector connection consumers. */
|
|
60
|
+
export interface ConnectorConnectionMetadata extends ConnectorConnectionSelector {
|
|
61
|
+
readonly id: string
|
|
62
|
+
readonly connectorId: string
|
|
63
|
+
readonly account: ConnectorAccountCandidate
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** Credential protection required when an OAuth connector uses durable connection storage. */
|
|
67
|
+
export interface ConnectorConnectionOptions {
|
|
68
|
+
/** Canonical base64url encoding of exactly 32 random bytes, shared by storage replicas. */
|
|
69
|
+
readonly encryptionKey: string
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export interface OAuthConnectorAuthorizationContext extends ConnectorContext {
|
|
73
|
+
readonly redirectUri: string
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface OAuthConnectorAuthorizationUrlInput {
|
|
77
|
+
readonly state: string
|
|
78
|
+
readonly codeChallenge: string
|
|
79
|
+
readonly codeChallengeMethod: "S256"
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface OAuthConnectorCodeExchangeInput {
|
|
83
|
+
readonly code: string
|
|
84
|
+
readonly codeVerifier: string
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export interface ConnectorConnectionClientContext extends ConnectorContext {
|
|
88
|
+
readonly connectionId: string
|
|
89
|
+
readonly account: ConnectorAccountCandidate
|
|
90
|
+
readonly tokenSource: ConnectorTokenSource
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** One delivered token, bound to the credential revision that produced it. */
|
|
94
|
+
export interface ConnectorAccessToken {
|
|
95
|
+
readonly accessToken: string
|
|
96
|
+
readonly tokenType?: string
|
|
97
|
+
/** Report this exact token as rejected so Sixb can refresh only its credential revision. */
|
|
98
|
+
invalidate(): void
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** Live credential source owned by Sixb. Adapters must resolve a token for each request. */
|
|
102
|
+
export interface ConnectorTokenSource {
|
|
103
|
+
get(): Promise<ConnectorAccessToken>
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* OAuth-backed connector adapter. Sixb owns persistence, OAuth state, refresh coordination and UI;
|
|
108
|
+
* the adapter owns provider protocol details and typed client creation.
|
|
109
|
+
*/
|
|
110
|
+
export interface ConnectorOAuth2Authentication {
|
|
111
|
+
readonly type: "oauth2"
|
|
112
|
+
authorizationUrl(
|
|
113
|
+
context: OAuthConnectorAuthorizationContext,
|
|
114
|
+
input: OAuthConnectorAuthorizationUrlInput
|
|
115
|
+
): Promise<string | URL> | string | URL
|
|
116
|
+
exchangeCode(
|
|
117
|
+
context: OAuthConnectorAuthorizationContext,
|
|
118
|
+
input: OAuthConnectorCodeExchangeInput
|
|
119
|
+
): Promise<ConnectorOAuthCredentials> | ConnectorOAuthCredentials
|
|
120
|
+
refresh(
|
|
121
|
+
context: ConnectorContext,
|
|
122
|
+
credentials: ConnectorOAuthCredentials
|
|
123
|
+
): Promise<ConnectorOAuthCredentials> | ConnectorOAuthCredentials
|
|
124
|
+
/**
|
|
125
|
+
* Revokes the grant idempotently. An already revoked or invalid grant must resolve successfully
|
|
126
|
+
* so Sixb can converge after losing an earlier provider response.
|
|
127
|
+
*/
|
|
128
|
+
revoke?(context: ConnectorContext, credentials: ConnectorOAuthCredentials): Promise<void> | void
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export interface OAuthConnectorAdapter<TType extends string = string, TClient = unknown> {
|
|
132
|
+
readonly type: TType
|
|
133
|
+
readonly authentication: ConnectorOAuth2Authentication
|
|
134
|
+
readonly webhooks?: undefined
|
|
135
|
+
discoverAccounts(
|
|
136
|
+
context: ConnectorContext,
|
|
137
|
+
credentials: ConnectorOAuthCredentials
|
|
138
|
+
): Promise<readonly ConnectorAccountCandidate[]> | readonly ConnectorAccountCandidate[]
|
|
139
|
+
connect(context: ConnectorConnectionClientContext): Promise<TClient> | TClient
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export type AnyConnectorAdapter = ConnectorAdapter | OAuthConnectorAdapter
|
|
143
|
+
|
|
28
144
|
/**
|
|
29
145
|
* Inert connector definition registered with Sixb.
|
|
30
146
|
*
|
|
@@ -33,30 +149,63 @@ export interface ConnectorAdapter<TType extends string = string, TClient = unkno
|
|
|
33
149
|
*/
|
|
34
150
|
export interface ConnectorDefinition<
|
|
35
151
|
TId extends string = string,
|
|
36
|
-
TAdapter extends
|
|
152
|
+
TAdapter extends AnyConnectorAdapter = AnyConnectorAdapter,
|
|
37
153
|
> {
|
|
38
154
|
readonly kind: "connector"
|
|
39
155
|
readonly id: TId
|
|
40
156
|
readonly adapter: TAdapter
|
|
41
157
|
}
|
|
42
158
|
|
|
159
|
+
export type StaticConnectorDefinition = ConnectorDefinition<string, ConnectorAdapter>
|
|
160
|
+
|
|
43
161
|
/** Infer the connected client type returned by a connector adapter. */
|
|
44
|
-
export type ConnectorClient<TAdapter extends
|
|
162
|
+
export type ConnectorClient<TAdapter extends AnyConnectorAdapter> = Awaited<
|
|
45
163
|
ReturnType<TAdapter["connect"]>
|
|
46
164
|
>
|
|
47
165
|
|
|
166
|
+
export function isOAuthConnectorAdapter(
|
|
167
|
+
value: AnyConnectorAdapter
|
|
168
|
+
): value is OAuthConnectorAdapter {
|
|
169
|
+
return "authentication" in value && value.authentication?.type === "oauth2"
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export function isOAuthConnectorDefinition(
|
|
173
|
+
value: ConnectorDefinition
|
|
174
|
+
): value is ConnectorDefinition<string, OAuthConnectorAdapter> {
|
|
175
|
+
return isOAuthConnectorAdapter(value.adapter)
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export function isStaticConnectorDefinition(
|
|
179
|
+
value: ConnectorDefinition
|
|
180
|
+
): value is StaticConnectorDefinition {
|
|
181
|
+
return !isOAuthConnectorDefinition(value)
|
|
182
|
+
}
|
|
183
|
+
|
|
48
184
|
export function isConnectorDefinition(value: unknown): value is ConnectorDefinition {
|
|
49
185
|
if (!isRecord(value)) {
|
|
50
186
|
return false
|
|
51
187
|
}
|
|
52
188
|
|
|
53
|
-
|
|
189
|
+
const adapter = value.adapter
|
|
190
|
+
if (
|
|
54
191
|
value.kind === "connector" &&
|
|
55
192
|
typeof value.id === "string" &&
|
|
56
|
-
isRecord(
|
|
57
|
-
typeof
|
|
58
|
-
typeof
|
|
59
|
-
)
|
|
193
|
+
isRecord(adapter) &&
|
|
194
|
+
typeof adapter.type === "string" &&
|
|
195
|
+
typeof adapter.connect === "function"
|
|
196
|
+
) {
|
|
197
|
+
if (adapter.authentication === undefined) return true
|
|
198
|
+
const authentication = adapter.authentication
|
|
199
|
+
if (!isRecord(authentication) || authentication.type !== "oauth2") return false
|
|
200
|
+
return (
|
|
201
|
+
typeof authentication.authorizationUrl === "function" &&
|
|
202
|
+
typeof authentication.exchangeCode === "function" &&
|
|
203
|
+
typeof authentication.refresh === "function" &&
|
|
204
|
+
typeof adapter.discoverAccounts === "function"
|
|
205
|
+
)
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return false
|
|
60
209
|
}
|
|
61
210
|
|
|
62
211
|
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { isAllowed } from "../authorization"
|
|
2
|
+
import type { SixbRuntimeContext } from "../runtime/types"
|
|
3
|
+
import type { DatasetDefinition } from "./types"
|
|
4
|
+
|
|
5
|
+
export interface DatasetsRuntime {
|
|
6
|
+
list(): readonly DatasetDefinition[]
|
|
7
|
+
getById(datasetId: string): DatasetDefinition | null
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function createDatasetsRuntime(
|
|
11
|
+
runtime: Pick<SixbRuntimeContext, "authorization">,
|
|
12
|
+
source: Pick<DatasetsRuntime, "list" | "getById">
|
|
13
|
+
): DatasetsRuntime {
|
|
14
|
+
const allowed = (datasetId: string) =>
|
|
15
|
+
isAllowed(runtime.authorization, { kind: "dataset.view", datasetId })
|
|
16
|
+
|
|
17
|
+
return {
|
|
18
|
+
list: () => source.list().filter((dataset) => allowed(dataset.id)),
|
|
19
|
+
getById: (datasetId) => {
|
|
20
|
+
const dataset = source.getById(datasetId)
|
|
21
|
+
return dataset && allowed(datasetId) ? dataset : null
|
|
22
|
+
},
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto"
|
|
2
1
|
import { SixbErrorReporter } from "./reporter"
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import {
|
|
3
|
+
type ReportActionPhaseFailureInput,
|
|
4
|
+
type ReportEventDeliveryFailureInput,
|
|
5
|
+
type ReportRuleEvaluationFailureInput,
|
|
6
|
+
type ReportRunFailureInput,
|
|
7
|
+
reportActionPhaseFailure as reportActionPhaseFailureWith,
|
|
8
|
+
reportEventDeliveryFailure as reportEventDeliveryFailureWith,
|
|
9
|
+
reportRuleEvaluationFailure as reportRuleEvaluationFailureWith,
|
|
10
|
+
reportRunFailure as reportRunFailureWith,
|
|
11
|
+
} from "./reports"
|
|
12
|
+
import type { SixbErrorHandler } from "./types"
|
|
9
13
|
|
|
10
14
|
const ERROR_REPORTER = Symbol("sixb.error-reporter")
|
|
15
|
+
const FALLBACK_REPORTER = new SixbErrorReporter()
|
|
11
16
|
|
|
12
17
|
type ErrorReporterHost = {
|
|
13
18
|
[ERROR_REPORTER]?: SixbErrorReporter
|
|
@@ -20,6 +25,10 @@ function asHost(value: unknown): ErrorReporterHost | null {
|
|
|
20
25
|
return value as ErrorReporterHost
|
|
21
26
|
}
|
|
22
27
|
|
|
28
|
+
function resolveSixbErrorReporter(host: unknown): SixbErrorReporter {
|
|
29
|
+
return asHost(host)?.[ERROR_REPORTER] ?? FALLBACK_REPORTER
|
|
30
|
+
}
|
|
31
|
+
|
|
23
32
|
export function attachSixbErrorReporter(
|
|
24
33
|
host: object,
|
|
25
34
|
handler?: SixbErrorHandler
|
|
@@ -34,97 +43,35 @@ export function shareSixbErrorReporter(source: object, target: object): void {
|
|
|
34
43
|
if (reporter) (target as ErrorReporterHost)[ERROR_REPORTER] = reporter
|
|
35
44
|
}
|
|
36
45
|
|
|
37
|
-
export
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
export type {
|
|
47
|
+
ReportActionPhaseFailureInput,
|
|
48
|
+
ReportEventDeliveryFailureInput,
|
|
49
|
+
ReportRuleEvaluationFailureInput,
|
|
50
|
+
ReportRunFailureInput,
|
|
42
51
|
}
|
|
43
52
|
|
|
44
|
-
export function
|
|
53
|
+
export function reportActionPhaseFailure(
|
|
45
54
|
host: unknown,
|
|
46
55
|
error: unknown,
|
|
47
|
-
input:
|
|
56
|
+
input: ReportActionPhaseFailureInput
|
|
48
57
|
): void {
|
|
49
|
-
|
|
50
|
-
if (!reporter) return
|
|
51
|
-
|
|
52
|
-
const occurredAt = resolveOccurredAt(input.occurredAt)
|
|
53
|
-
reporter.report(error, {
|
|
54
|
-
type: "run.failed",
|
|
55
|
-
notificationId: `project:${input.projectId}:run:${input.run.kind}:${input.run.runId}:failed:${occurredAt}`,
|
|
56
|
-
projectId: input.projectId,
|
|
57
|
-
occurredAt,
|
|
58
|
-
...(input.attempt === undefined ? {} : { attempt: input.attempt }),
|
|
59
|
-
run: input.run,
|
|
60
|
-
})
|
|
58
|
+
reportActionPhaseFailureWith(resolveSixbErrorReporter(host), error, input)
|
|
61
59
|
}
|
|
62
60
|
|
|
63
|
-
export
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
readonly attempts?: number
|
|
70
|
-
/** Envelope ids, when the events were persisted before delivery failed. */
|
|
71
|
-
readonly eventIds?: readonly string[]
|
|
72
|
-
/**
|
|
73
|
-
* Identity of this loss, used only when nothing was persisted. Defaults to a fresh id; pass one to
|
|
74
|
-
* make a report reproducible in a test.
|
|
75
|
-
*/
|
|
76
|
-
readonly occurrenceId?: string
|
|
61
|
+
export function reportRunFailure(
|
|
62
|
+
host: unknown,
|
|
63
|
+
error: unknown,
|
|
64
|
+
input: ReportRunFailureInput
|
|
65
|
+
): void {
|
|
66
|
+
reportRunFailureWith(resolveSixbErrorReporter(host), error, input)
|
|
77
67
|
}
|
|
78
68
|
|
|
79
|
-
/**
|
|
80
|
-
* Report that domain events were lost.
|
|
81
|
-
*
|
|
82
|
-
* Both delivery paths land here: the outbox dispatcher, which has persisted envelope ids and retries,
|
|
83
|
-
* and a rejected `events.emit()`, which has only the types. Reporting must work for both — an earlier
|
|
84
|
-
* version returned early on an empty `eventIds`, which silently dropped exactly the case this exists
|
|
85
|
-
* to surface.
|
|
86
|
-
*
|
|
87
|
-
* Each path keys on the strongest identity it has. The outbox persisted its envelopes, so the ids plus
|
|
88
|
-
* the attempt number name the loss exactly and stay stable if one report is delivered twice. A rejected
|
|
89
|
-
* emit persisted nothing and is always terminal at attempt 1, so the type list alone was its whole
|
|
90
|
-
* correlation — and two schedules losing `schedule.triggered` in the same broker outage are dispatched
|
|
91
|
-
* concurrently, land in the same millisecond, and were therefore one notification. A timestamp does not
|
|
92
|
-
* fix that; an identity does.
|
|
93
|
-
*/
|
|
94
69
|
export function reportEventDeliveryFailure(
|
|
95
70
|
host: unknown,
|
|
96
71
|
error: unknown,
|
|
97
72
|
input: ReportEventDeliveryFailureInput
|
|
98
73
|
): void {
|
|
99
|
-
|
|
100
|
-
if (!reporter) return
|
|
101
|
-
|
|
102
|
-
const occurredAt = resolveOccurredAt(input.occurredAt)
|
|
103
|
-
const attempts = input.attempts ?? 1
|
|
104
|
-
const eventIds = input.eventIds === undefined ? undefined : [...input.eventIds].sort()
|
|
105
|
-
const firstEventId = eventIds?.[0]
|
|
106
|
-
const occurrence = firstEventId
|
|
107
|
-
? `events:${firstEventId}:attempt:${attempts}`
|
|
108
|
-
: `emit:${input.occurrenceId ?? randomUUID()}`
|
|
109
|
-
reporter.report(error, {
|
|
110
|
-
type: "event.delivery.failed",
|
|
111
|
-
notificationId: `project:${input.projectId}:event-delivery:${occurrence}`,
|
|
112
|
-
projectId: input.projectId,
|
|
113
|
-
occurredAt,
|
|
114
|
-
attempts,
|
|
115
|
-
eventTypes: input.eventTypes,
|
|
116
|
-
...(eventIds === undefined ? {} : { eventIds }),
|
|
117
|
-
})
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export interface ReportRuleEvaluationFailureInput {
|
|
121
|
-
readonly projectId: string
|
|
122
|
-
readonly source: "live" | "reconciliation"
|
|
123
|
-
readonly eventIds?: readonly string[]
|
|
124
|
-
readonly occurredAt?: Date | string
|
|
125
|
-
/** Set when the failure could be attributed to one rule/subject candidate. */
|
|
126
|
-
readonly ruleId?: string
|
|
127
|
-
readonly subject?: { readonly objectTypeId: string; readonly primaryId: string }
|
|
74
|
+
reportEventDeliveryFailureWith(resolveSixbErrorReporter(host), error, input)
|
|
128
75
|
}
|
|
129
76
|
|
|
130
77
|
export function reportRuleEvaluationFailure(
|
|
@@ -132,29 +79,9 @@ export function reportRuleEvaluationFailure(
|
|
|
132
79
|
error: unknown,
|
|
133
80
|
input: ReportRuleEvaluationFailureInput
|
|
134
81
|
): void {
|
|
135
|
-
|
|
136
|
-
if (!reporter) return
|
|
137
|
-
|
|
138
|
-
const occurredAt = resolveOccurredAt(input.occurredAt)
|
|
139
|
-
const eventIds = [...(input.eventIds ?? [])].sort()
|
|
140
|
-
// A candidate-level failure keys on the candidate, so two rules failing over the same batch stay
|
|
141
|
-
// two notifications rather than collapsing into one.
|
|
142
|
-
const occurrence =
|
|
143
|
-
input.ruleId && input.subject
|
|
144
|
-
? `${input.ruleId}:${input.subject.objectTypeId}:${input.subject.primaryId}`
|
|
145
|
-
: (eventIds[0] ?? "current-state")
|
|
146
|
-
reporter.report(error, {
|
|
147
|
-
type: "rule.evaluation.failed",
|
|
148
|
-
notificationId: `project:${input.projectId}:rule-evaluation:${input.source}:${occurrence}:failed:${occurredAt}`,
|
|
149
|
-
projectId: input.projectId,
|
|
150
|
-
occurredAt,
|
|
151
|
-
source: input.source,
|
|
152
|
-
eventIds,
|
|
153
|
-
...(input.ruleId === undefined ? {} : { ruleId: input.ruleId }),
|
|
154
|
-
...(input.subject === undefined ? {} : { subject: input.subject }),
|
|
155
|
-
})
|
|
82
|
+
reportRuleEvaluationFailureWith(resolveSixbErrorReporter(host), error, input)
|
|
156
83
|
}
|
|
157
84
|
|
|
158
85
|
export async function flushSixbErrors(host: unknown, timeoutMs?: number): Promise<void> {
|
|
159
|
-
await
|
|
86
|
+
await resolveSixbErrorReporter(host).flush(timeoutMs)
|
|
160
87
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
export {
|
|
2
2
|
attachSixbErrorReporter,
|
|
3
3
|
flushSixbErrors,
|
|
4
|
+
type ReportActionPhaseFailureInput,
|
|
4
5
|
type ReportEventDeliveryFailureInput,
|
|
5
6
|
type ReportRuleEvaluationFailureInput,
|
|
6
7
|
type ReportRunFailureInput,
|
|
8
|
+
reportActionPhaseFailure,
|
|
7
9
|
reportEventDeliveryFailure,
|
|
8
10
|
reportRuleEvaluationFailure,
|
|
9
11
|
reportRunFailure,
|
|
10
12
|
shareSixbErrorReporter,
|
|
11
13
|
} from "./capability"
|
|
12
14
|
export { normalizeReportedError } from "./normalize"
|
|
13
|
-
export { SixbErrorReporter } from "./reporter"
|
|
15
|
+
export { type ErrorReporter, SixbErrorReporter } from "./reporter"
|
|
@@ -3,17 +3,25 @@ import type { SixbErrorContext, SixbErrorHandler } from "./types"
|
|
|
3
3
|
|
|
4
4
|
const DEFAULT_FLUSH_TIMEOUT_MS = 5_000
|
|
5
5
|
|
|
6
|
+
export interface ErrorReporter {
|
|
7
|
+
report(error: unknown, context: SixbErrorContext): void
|
|
8
|
+
}
|
|
9
|
+
|
|
6
10
|
/** Failure-isolated, non-blocking adapter around the configured callback. */
|
|
7
|
-
export class SixbErrorReporter {
|
|
11
|
+
export class SixbErrorReporter implements ErrorReporter {
|
|
8
12
|
private readonly pending = new Set<Promise<void>>()
|
|
9
13
|
|
|
10
14
|
constructor(private readonly handler?: SixbErrorHandler) {}
|
|
11
15
|
|
|
12
16
|
report(error: unknown, context: SixbErrorContext): void {
|
|
13
|
-
|
|
17
|
+
const normalizedError = normalizeReportedError(error)
|
|
18
|
+
if (!this.handler) {
|
|
19
|
+
reportToConsole(normalizedError, context)
|
|
20
|
+
return
|
|
21
|
+
}
|
|
14
22
|
|
|
15
23
|
const invocation = Promise.resolve()
|
|
16
|
-
.then(() => this.handler?.(
|
|
24
|
+
.then(() => this.handler?.(normalizedError, context))
|
|
17
25
|
.then(() => undefined)
|
|
18
26
|
.catch((handlerError) => {
|
|
19
27
|
try {
|
|
@@ -47,6 +55,14 @@ export class SixbErrorReporter {
|
|
|
47
55
|
}
|
|
48
56
|
}
|
|
49
57
|
|
|
58
|
+
function reportToConsole(error: Error, context: SixbErrorContext): void {
|
|
59
|
+
try {
|
|
60
|
+
console.error(`[Sixb] Unhandled ${context.type}:`, error, context)
|
|
61
|
+
} catch {
|
|
62
|
+
// Error reporting must never escape back into framework execution.
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
50
66
|
async function settleWithin(
|
|
51
67
|
promises: readonly Promise<void>[],
|
|
52
68
|
timeoutMs: number
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto"
|
|
2
|
+
import { captureSixbFailure } from "../errors/internal"
|
|
3
|
+
import type { SixbFailure } from "../errors/types"
|
|
4
|
+
import type { ActionRunFailure } from "../storage/action-runs"
|
|
5
|
+
import type { ErrorReporter } from "./reporter"
|
|
6
|
+
import type { SixbFailedRun } from "./types"
|
|
7
|
+
|
|
8
|
+
function resolveOccurredAt(occurredAt?: Date | string): string {
|
|
9
|
+
if (occurredAt instanceof Date) return occurredAt.toISOString()
|
|
10
|
+
return occurredAt ?? new Date().toISOString()
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type ReportRunFailureInput = SixbFailedRun & {
|
|
14
|
+
readonly projectId: string
|
|
15
|
+
readonly attempt?: number
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function reportRunFailure(
|
|
19
|
+
reporter: ErrorReporter,
|
|
20
|
+
error: unknown,
|
|
21
|
+
input: ReportRunFailureInput
|
|
22
|
+
): void {
|
|
23
|
+
const occurredAt = input.failure.at
|
|
24
|
+
reporter.report(error, {
|
|
25
|
+
...input,
|
|
26
|
+
type: "run.failed",
|
|
27
|
+
notificationId: `project:${input.projectId}:run:${input.runKind}:${input.run.runId}:failed:${occurredAt}`,
|
|
28
|
+
occurredAt,
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface ReportActionPhaseFailureInput {
|
|
33
|
+
readonly projectId: string
|
|
34
|
+
readonly actionId: string
|
|
35
|
+
readonly runId: string
|
|
36
|
+
readonly phase: "effects"
|
|
37
|
+
readonly failure: ActionRunFailure<"effects">
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function reportActionPhaseFailure(
|
|
41
|
+
reporter: ErrorReporter,
|
|
42
|
+
error: unknown,
|
|
43
|
+
input: ReportActionPhaseFailureInput
|
|
44
|
+
): void {
|
|
45
|
+
reporter.report(error, {
|
|
46
|
+
type: "action.phase.failed",
|
|
47
|
+
notificationId: `project:${input.projectId}:action:${input.actionId}:run:${input.runId}:phase:${input.phase}:failed:${input.failure.at}`,
|
|
48
|
+
projectId: input.projectId,
|
|
49
|
+
occurredAt: input.failure.at,
|
|
50
|
+
actionId: input.actionId,
|
|
51
|
+
runId: input.runId,
|
|
52
|
+
phase: input.phase,
|
|
53
|
+
failure: input.failure,
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface ReportEventDeliveryFailureInput {
|
|
58
|
+
readonly projectId: string
|
|
59
|
+
/** Exact durable failure when this delivery was persisted by the ontology outbox. */
|
|
60
|
+
readonly failure?: SixbFailure<"event.delivery_failed">
|
|
61
|
+
/** Event types that never reached subscribers. Payloads must not be passed in. */
|
|
62
|
+
readonly eventTypes: readonly string[]
|
|
63
|
+
readonly occurredAt?: Date | string
|
|
64
|
+
/** Delivery attempts so far. Defaults to 1, which is right for a rejected emit. */
|
|
65
|
+
readonly attempts?: number
|
|
66
|
+
/** Envelope ids, when the events were persisted before delivery failed. */
|
|
67
|
+
readonly eventIds?: readonly string[]
|
|
68
|
+
/**
|
|
69
|
+
* Identity of this loss, used only when nothing was persisted. Defaults to a fresh id; pass one to
|
|
70
|
+
* make a report reproducible in a test.
|
|
71
|
+
*/
|
|
72
|
+
readonly occurrenceId?: string
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Report that domain events were lost.
|
|
77
|
+
*
|
|
78
|
+
* Both delivery paths land here: the outbox dispatcher, which has persisted envelope ids and retries,
|
|
79
|
+
* and a rejected `events.emit()`, which has only the types. Reporting must work for both — an earlier
|
|
80
|
+
* version returned early on an empty `eventIds`, which silently dropped exactly the case this exists
|
|
81
|
+
* to surface.
|
|
82
|
+
*
|
|
83
|
+
* Each path keys on the strongest identity it has. The outbox persisted its envelopes, so the ids plus
|
|
84
|
+
* the attempt number name the loss exactly and stay stable if one report is delivered twice. A rejected
|
|
85
|
+
* emit persisted nothing and is always terminal at attempt 1, so the type list alone was its whole
|
|
86
|
+
* correlation — and two schedules losing `schedule.triggered` in the same broker outage are dispatched
|
|
87
|
+
* concurrently, land in the same millisecond, and were therefore one notification. A timestamp does not
|
|
88
|
+
* fix that; an identity does.
|
|
89
|
+
*/
|
|
90
|
+
export function reportEventDeliveryFailure(
|
|
91
|
+
reporter: ErrorReporter,
|
|
92
|
+
error: unknown,
|
|
93
|
+
input: ReportEventDeliveryFailureInput
|
|
94
|
+
): void {
|
|
95
|
+
const occurredAt = input.failure?.at ?? resolveOccurredAt(input.occurredAt)
|
|
96
|
+
const attempts = input.attempts ?? 1
|
|
97
|
+
const eventIds = input.eventIds === undefined ? undefined : [...input.eventIds].sort()
|
|
98
|
+
const eventTypes = [...input.eventTypes]
|
|
99
|
+
const failure =
|
|
100
|
+
input.failure ??
|
|
101
|
+
captureSixbFailure(error, {
|
|
102
|
+
allowedCodes: ["event.delivery_failed"],
|
|
103
|
+
defaultCode: "event.delivery_failed",
|
|
104
|
+
details: {
|
|
105
|
+
attempts,
|
|
106
|
+
eventTypes,
|
|
107
|
+
...(eventIds === undefined ? {} : { eventIds }),
|
|
108
|
+
},
|
|
109
|
+
at: new Date(occurredAt),
|
|
110
|
+
})
|
|
111
|
+
const firstEventId = eventIds?.[0]
|
|
112
|
+
const occurrence = firstEventId
|
|
113
|
+
? `events:${firstEventId}:attempt:${attempts}`
|
|
114
|
+
: `emit:${input.occurrenceId ?? randomUUID()}`
|
|
115
|
+
reporter.report(error, {
|
|
116
|
+
type: "event.delivery.failed",
|
|
117
|
+
notificationId: `project:${input.projectId}:event-delivery:${occurrence}`,
|
|
118
|
+
projectId: input.projectId,
|
|
119
|
+
occurredAt,
|
|
120
|
+
failure,
|
|
121
|
+
attempts,
|
|
122
|
+
eventTypes,
|
|
123
|
+
...(eventIds === undefined ? {} : { eventIds }),
|
|
124
|
+
})
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface ReportRuleEvaluationFailureInput {
|
|
128
|
+
readonly projectId: string
|
|
129
|
+
readonly source: "live" | "reconciliation"
|
|
130
|
+
readonly eventIds?: readonly string[]
|
|
131
|
+
readonly occurredAt?: Date | string
|
|
132
|
+
/** Set when the failure could be attributed to one rule/subject candidate. */
|
|
133
|
+
readonly ruleId?: string
|
|
134
|
+
readonly subject?: { readonly objectTypeId: string; readonly primaryId: string }
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export function reportRuleEvaluationFailure(
|
|
138
|
+
reporter: ErrorReporter,
|
|
139
|
+
error: unknown,
|
|
140
|
+
input: ReportRuleEvaluationFailureInput
|
|
141
|
+
): void {
|
|
142
|
+
const occurredAt = resolveOccurredAt(input.occurredAt)
|
|
143
|
+
const eventIds = [...(input.eventIds ?? [])].sort()
|
|
144
|
+
const failure = captureSixbFailure(error, {
|
|
145
|
+
allowedCodes: ["internal.unexpected"],
|
|
146
|
+
defaultCode: "internal.unexpected",
|
|
147
|
+
details: {
|
|
148
|
+
source: input.source,
|
|
149
|
+
eventIds,
|
|
150
|
+
...(input.ruleId === undefined ? {} : { ruleId: input.ruleId }),
|
|
151
|
+
...(input.subject === undefined ? {} : { subject: input.subject }),
|
|
152
|
+
},
|
|
153
|
+
at: new Date(occurredAt),
|
|
154
|
+
})
|
|
155
|
+
// A candidate-level failure keys on the candidate, so two rules failing over the same batch stay
|
|
156
|
+
// two notifications rather than collapsing into one.
|
|
157
|
+
const occurrence =
|
|
158
|
+
input.ruleId && input.subject
|
|
159
|
+
? `${input.ruleId}:${input.subject.objectTypeId}:${input.subject.primaryId}`
|
|
160
|
+
: (eventIds[0] ?? "current-state")
|
|
161
|
+
reporter.report(error, {
|
|
162
|
+
type: "rule.evaluation.failed",
|
|
163
|
+
notificationId: `project:${input.projectId}:rule-evaluation:${input.source}:${occurrence}:failed:${occurredAt}`,
|
|
164
|
+
projectId: input.projectId,
|
|
165
|
+
occurredAt,
|
|
166
|
+
failure,
|
|
167
|
+
source: input.source,
|
|
168
|
+
eventIds,
|
|
169
|
+
...(input.ruleId === undefined ? {} : { ruleId: input.ruleId }),
|
|
170
|
+
...(input.subject === undefined ? {} : { subject: input.subject }),
|
|
171
|
+
})
|
|
172
|
+
}
|