@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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AgentMessage, AgentMessagePart, AgentMessageRole } from "../../agents/message"
|
|
2
2
|
import type { Principal } from "../../auth"
|
|
3
|
+
import type { SixbErrorCode, SixbFailure } from "../../errors/types"
|
|
3
4
|
import type { JsonValue } from "../../json"
|
|
4
5
|
|
|
5
6
|
// ── agent_threads — one conversation with an agent ──────────────────────────────────────────────
|
|
@@ -58,6 +59,15 @@ export type AgentExecutionStatus = "queued" | "running" | "succeeded" | "failed"
|
|
|
58
59
|
|
|
59
60
|
export type AgentRunStatus = AgentExecutionStatus
|
|
60
61
|
|
|
62
|
+
/** Error codes an agent execution can persist and expose through its public contract. */
|
|
63
|
+
export const AGENT_RUN_FAILURE_CODES = [
|
|
64
|
+
"internal.unexpected",
|
|
65
|
+
"runtime.cancelled",
|
|
66
|
+
"agent.execution_failed",
|
|
67
|
+
] as const satisfies readonly [SixbErrorCode, ...SixbErrorCode[]]
|
|
68
|
+
|
|
69
|
+
export type AgentRunFailureCode = (typeof AGENT_RUN_FAILURE_CODES)[number]
|
|
70
|
+
|
|
61
71
|
/**
|
|
62
72
|
* Why a run ended — our own SDK-independent vocabulary (it mirrors the AI SDK unified finish
|
|
63
73
|
* reasons), so reads are typed and exhaustive without core depending on `ai`. `other`/`unknown` are
|
|
@@ -90,14 +100,6 @@ export function coerceAgentRunFinishReason(
|
|
|
90
100
|
: "unknown"
|
|
91
101
|
}
|
|
92
102
|
|
|
93
|
-
export interface AgentRunUsage {
|
|
94
|
-
readonly inputTokens?: number
|
|
95
|
-
readonly outputTokens?: number
|
|
96
|
-
readonly totalTokens?: number
|
|
97
|
-
readonly reasoningTokens?: number
|
|
98
|
-
readonly cachedInputTokens?: number
|
|
99
|
-
}
|
|
100
|
-
|
|
101
103
|
/** Stable, user-facing diagnostics emitted by the platform while executing a run. */
|
|
102
104
|
export const AGENT_RUN_DIAGNOSTIC_CODES = [
|
|
103
105
|
"output_file_limit_exceeded",
|
|
@@ -143,20 +145,20 @@ export interface AgentRunExecution {
|
|
|
143
145
|
export interface AgentRunRecord {
|
|
144
146
|
readonly id: string
|
|
145
147
|
readonly projectId: string
|
|
148
|
+
readonly executionId: string
|
|
146
149
|
readonly threadId: string
|
|
147
150
|
readonly agentId: string
|
|
148
151
|
readonly triggerMessageId: string
|
|
149
|
-
|
|
150
|
-
readonly
|
|
152
|
+
/** Durable group memberships snapshotted when the run was admitted. */
|
|
153
|
+
readonly requesterGroupIds: readonly string[]
|
|
151
154
|
readonly status: AgentRunStatus
|
|
152
155
|
readonly modelId?: string
|
|
153
156
|
/** Why the run ended (our own SDK-independent enum). */
|
|
154
157
|
readonly finishReason?: AgentRunFinishReason
|
|
155
|
-
readonly usage?: AgentRunUsage
|
|
156
158
|
/** Platform diagnostics are transcript annotations, never agent-authored message content. */
|
|
157
159
|
readonly diagnostics?: readonly AgentRunDiagnostic[]
|
|
158
|
-
/**
|
|
159
|
-
readonly error?:
|
|
160
|
+
/** Portable failure snapshot when the run did not succeed. */
|
|
161
|
+
readonly error?: SixbFailure<AgentRunFailureCode>
|
|
160
162
|
/** Execution attempts: `0` while queued, `1` on first start, incremented on redelivery. */
|
|
161
163
|
readonly attempt: number
|
|
162
164
|
readonly execution?: AgentRunExecution
|
|
@@ -168,17 +170,17 @@ export interface AgentRunRecord {
|
|
|
168
170
|
export interface CreateAgentRunInput {
|
|
169
171
|
readonly id: string
|
|
170
172
|
readonly projectId: string
|
|
173
|
+
readonly executionId: string
|
|
171
174
|
readonly threadId: string
|
|
172
175
|
readonly agentId: string
|
|
173
176
|
readonly triggerMessageId: string
|
|
174
|
-
readonly
|
|
177
|
+
readonly requesterGroupIds: readonly string[]
|
|
175
178
|
readonly createdAt?: Date
|
|
176
179
|
}
|
|
177
180
|
|
|
178
181
|
export interface StartAgentRunInput {
|
|
179
182
|
readonly id: string
|
|
180
183
|
readonly projectId: string
|
|
181
|
-
readonly executionPrincipal?: Extract<Principal, { readonly type: "serviceAccount" }>
|
|
182
184
|
readonly modelId?: string
|
|
183
185
|
readonly execution: AgentRunExecution
|
|
184
186
|
readonly startedAt?: Date
|
|
@@ -188,7 +190,7 @@ export interface FinishQueuedAgentRunInput {
|
|
|
188
190
|
readonly id: string
|
|
189
191
|
readonly projectId: string
|
|
190
192
|
readonly status: "failed" | "cancelled"
|
|
191
|
-
readonly error?:
|
|
193
|
+
readonly error?: SixbFailure<AgentRunFailureCode>
|
|
192
194
|
readonly completedAt?: Date
|
|
193
195
|
}
|
|
194
196
|
|
|
@@ -214,7 +216,6 @@ export type FinishAgentRunInput =
|
|
|
214
216
|
readonly status: "succeeded"
|
|
215
217
|
readonly modelId?: string
|
|
216
218
|
readonly finishReason?: AgentRunFinishReason
|
|
217
|
-
readonly usage?: AgentRunUsage
|
|
218
219
|
readonly diagnostics?: readonly AgentRunDiagnostic[]
|
|
219
220
|
readonly completedAt?: Date
|
|
220
221
|
}
|
|
@@ -225,9 +226,8 @@ export type FinishAgentRunInput =
|
|
|
225
226
|
readonly status: "failed" | "cancelled"
|
|
226
227
|
readonly modelId?: string
|
|
227
228
|
readonly finishReason?: AgentRunFinishReason
|
|
228
|
-
readonly usage?: AgentRunUsage
|
|
229
229
|
readonly diagnostics?: readonly AgentRunDiagnostic[]
|
|
230
|
-
readonly error?:
|
|
230
|
+
readonly error?: SixbFailure<AgentRunFailureCode>
|
|
231
231
|
readonly completedAt?: Date
|
|
232
232
|
}
|
|
233
233
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type AiUsageStorageErrorCode = "duplicate_id" | "missing_execution"
|
|
2
|
+
|
|
3
|
+
/** Storage failure specific to the AI model-call usage ledger. */
|
|
4
|
+
export class AiUsageStorageError extends Error {
|
|
5
|
+
readonly name = "AiUsageStorageError"
|
|
6
|
+
|
|
7
|
+
constructor(
|
|
8
|
+
readonly code: AiUsageStorageErrorCode,
|
|
9
|
+
message: string
|
|
10
|
+
) {
|
|
11
|
+
super(message)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import type { ExecutionStorage } from "../executions"
|
|
2
|
+
import { AiUsageStorageError } from "./errors"
|
|
3
|
+
import { assertAiUsageExecutionId, normalizeAiModelCallRecord } from "./record"
|
|
4
|
+
import type {
|
|
5
|
+
AiModelCallUsageRecord,
|
|
6
|
+
AiUsageExecutionSummary,
|
|
7
|
+
AiUsageStorage,
|
|
8
|
+
RecordAiModelCallInput,
|
|
9
|
+
RecordAiModelCallResult,
|
|
10
|
+
SummarizeAiUsageExecutionInput,
|
|
11
|
+
SummarizeAiUsageExecutionsInput,
|
|
12
|
+
} from "./types"
|
|
13
|
+
import { aggregateAiModelCallUsage } from "./usage"
|
|
14
|
+
|
|
15
|
+
export interface InMemoryAiUsageGroupRow {
|
|
16
|
+
readonly projectId: string
|
|
17
|
+
readonly usageRecordId: string
|
|
18
|
+
readonly groupId: string
|
|
19
|
+
readonly occurredAt: Date
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface InMemoryAiUsageStorageSnapshot {
|
|
23
|
+
readonly records: Map<string, AiModelCallUsageRecord>
|
|
24
|
+
readonly recordKeysByIdempotencyKey: Map<string, string>
|
|
25
|
+
readonly groupRows: Map<string, InMemoryAiUsageGroupRow>
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** In-memory model-call ledger used by development runtimes and storage contract tests. */
|
|
29
|
+
export class InMemoryAiUsageStorage implements AiUsageStorage {
|
|
30
|
+
private readonly records = new Map<string, AiModelCallUsageRecord>()
|
|
31
|
+
private readonly recordKeysByIdempotencyKey = new Map<string, string>()
|
|
32
|
+
private readonly groupRows = new Map<string, InMemoryAiUsageGroupRow>()
|
|
33
|
+
|
|
34
|
+
constructor(private readonly executions: Pick<ExecutionStorage, "getById">) {}
|
|
35
|
+
|
|
36
|
+
async recordModelCall(input: RecordAiModelCallInput): Promise<RecordAiModelCallResult> {
|
|
37
|
+
const record = normalizeAiModelCallRecord(input)
|
|
38
|
+
await this.assertExecutionExists(record.projectId, record.executionId)
|
|
39
|
+
const idempotencyKey = modelCallIdempotencyKey(record)
|
|
40
|
+
const existingRecordKey = this.recordKeysByIdempotencyKey.get(idempotencyKey)
|
|
41
|
+
if (existingRecordKey !== undefined) {
|
|
42
|
+
const existing = this.records.get(existingRecordKey)
|
|
43
|
+
if (!existing) {
|
|
44
|
+
throw new Error("[Sixb] In-memory AI usage idempotency index is inconsistent.")
|
|
45
|
+
}
|
|
46
|
+
return { record: structuredClone(existing), created: false }
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const recordKey = modelCallRecordKey(record.projectId, record.id)
|
|
50
|
+
if (this.records.has(recordKey)) {
|
|
51
|
+
throw new AiUsageStorageError(
|
|
52
|
+
"duplicate_id",
|
|
53
|
+
`[Sixb] AI usage record '${record.id}' already exists for project '${record.projectId}'.`
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
this.records.set(recordKey, structuredClone(record))
|
|
58
|
+
this.recordKeysByIdempotencyKey.set(idempotencyKey, recordKey)
|
|
59
|
+
for (const groupId of record.requesterGroupIds) {
|
|
60
|
+
const row: InMemoryAiUsageGroupRow = {
|
|
61
|
+
projectId: record.projectId,
|
|
62
|
+
usageRecordId: record.id,
|
|
63
|
+
groupId,
|
|
64
|
+
occurredAt: record.occurredAt,
|
|
65
|
+
}
|
|
66
|
+
this.groupRows.set(groupRowKey(row), row)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return { record: structuredClone(record), created: true }
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
async summarizeExecution(
|
|
73
|
+
input: SummarizeAiUsageExecutionInput
|
|
74
|
+
): Promise<AiUsageExecutionSummary> {
|
|
75
|
+
const [summary] = await this.summarizeExecutions({
|
|
76
|
+
projectId: input.projectId,
|
|
77
|
+
executionIds: [input.executionId],
|
|
78
|
+
})
|
|
79
|
+
return summary!
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
async summarizeExecutions(
|
|
83
|
+
input: SummarizeAiUsageExecutionsInput
|
|
84
|
+
): Promise<readonly AiUsageExecutionSummary[]> {
|
|
85
|
+
if (typeof input.projectId !== "string" || input.projectId.trim().length === 0) {
|
|
86
|
+
throw new TypeError("[Sixb] AI usage projectId must be nonblank.")
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const usageByExecutionId = new Map<string, AiModelCallUsageRecord["usage"][]>()
|
|
90
|
+
for (const executionId of input.executionIds) {
|
|
91
|
+
assertAiUsageExecutionId(executionId)
|
|
92
|
+
usageByExecutionId.set(executionId, [])
|
|
93
|
+
}
|
|
94
|
+
if (usageByExecutionId.size === 0) return []
|
|
95
|
+
|
|
96
|
+
for (const record of this.records.values()) {
|
|
97
|
+
if (record.projectId !== input.projectId) continue
|
|
98
|
+
usageByExecutionId.get(record.executionId)?.push(record.usage)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return input.executionIds.map((executionId) => {
|
|
102
|
+
const usages = usageByExecutionId.get(executionId) ?? []
|
|
103
|
+
return {
|
|
104
|
+
modelCallCount: usages.length,
|
|
105
|
+
usage: aggregateAiModelCallUsage(usages),
|
|
106
|
+
}
|
|
107
|
+
})
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
snapshot(): InMemoryAiUsageStorageSnapshot {
|
|
111
|
+
return structuredClone({
|
|
112
|
+
records: this.records,
|
|
113
|
+
recordKeysByIdempotencyKey: this.recordKeysByIdempotencyKey,
|
|
114
|
+
groupRows: this.groupRows,
|
|
115
|
+
})
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
restore(snapshot: InMemoryAiUsageStorageSnapshot): void {
|
|
119
|
+
replaceMap(this.records, snapshot.records)
|
|
120
|
+
replaceMap(this.recordKeysByIdempotencyKey, snapshot.recordKeysByIdempotencyKey)
|
|
121
|
+
replaceMap(this.groupRows, snapshot.groupRows)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
private async assertExecutionExists(projectId: string, executionId: string): Promise<void> {
|
|
125
|
+
const execution = await this.executions.getById({ projectId, id: executionId })
|
|
126
|
+
if (execution) return
|
|
127
|
+
throw new AiUsageStorageError(
|
|
128
|
+
"missing_execution",
|
|
129
|
+
`[Sixb] AI usage execution '${executionId}' does not exist in project '${projectId}'.`
|
|
130
|
+
)
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function modelCallRecordKey(projectId: string, id: string): string {
|
|
135
|
+
return JSON.stringify([projectId, id])
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function modelCallIdempotencyKey(
|
|
139
|
+
record: Pick<
|
|
140
|
+
AiModelCallUsageRecord,
|
|
141
|
+
"projectId" | "executionId" | "attempt" | "callId" | "responseId"
|
|
142
|
+
>
|
|
143
|
+
): string {
|
|
144
|
+
return JSON.stringify([
|
|
145
|
+
record.projectId,
|
|
146
|
+
record.executionId,
|
|
147
|
+
record.attempt,
|
|
148
|
+
record.callId,
|
|
149
|
+
record.responseId,
|
|
150
|
+
])
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function groupRowKey(row: InMemoryAiUsageGroupRow): string {
|
|
154
|
+
return JSON.stringify([row.projectId, row.usageRecordId, row.groupId])
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function replaceMap<TKey, TValue>(target: Map<TKey, TValue>, source: Map<TKey, TValue>): void {
|
|
158
|
+
target.clear()
|
|
159
|
+
for (const [key, value] of structuredClone(source)) {
|
|
160
|
+
target.set(key, value)
|
|
161
|
+
}
|
|
162
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type { AiUsageStorageErrorCode } from "./errors"
|
|
2
|
+
export { AiUsageStorageError } from "./errors"
|
|
3
|
+
export type {
|
|
4
|
+
InMemoryAiUsageGroupRow,
|
|
5
|
+
InMemoryAiUsageStorageSnapshot,
|
|
6
|
+
} from "./in-memory"
|
|
7
|
+
export { InMemoryAiUsageStorage } from "./in-memory"
|
|
8
|
+
export { assertAiUsageExecutionId, normalizeAiModelCallRecord } from "./record"
|
|
9
|
+
export type {
|
|
10
|
+
AiModelCallUsage,
|
|
11
|
+
AiModelCallUsageInput,
|
|
12
|
+
AiModelCallUsageRecord,
|
|
13
|
+
AiUsageExecutionSummary,
|
|
14
|
+
AiUsageReportingStatus,
|
|
15
|
+
AiUsageStorage,
|
|
16
|
+
RecordAiModelCallInput,
|
|
17
|
+
RecordAiModelCallResult,
|
|
18
|
+
SummarizeAiUsageExecutionInput,
|
|
19
|
+
SummarizeAiUsageExecutionsInput,
|
|
20
|
+
} from "./types"
|
|
21
|
+
export { aggregateAiModelCallUsage, normalizeAiModelCallUsage } from "./usage"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { normalizeRequesterGroupIds } from "../../auth/attribution"
|
|
2
|
+
import { assertJsonValue, isPlainRecord } from "../../json"
|
|
3
|
+
import type { AiModelCallUsageRecord, RecordAiModelCallInput } from "./types"
|
|
4
|
+
import { normalizeAiModelCallUsage } from "./usage"
|
|
5
|
+
|
|
6
|
+
/** Validate and defensively snapshot one provider-neutral model-call ledger input. */
|
|
7
|
+
export function normalizeAiModelCallRecord(input: RecordAiModelCallInput): AiModelCallUsageRecord {
|
|
8
|
+
assertNonBlank(input.id, "id")
|
|
9
|
+
assertNonBlank(input.projectId, "projectId")
|
|
10
|
+
assertAiUsageExecutionId(input.executionId)
|
|
11
|
+
assertPositiveSafeInteger(input.attempt, "attempt")
|
|
12
|
+
assertNonBlank(input.callId, "callId")
|
|
13
|
+
assertNonBlank(input.providerId, "providerId")
|
|
14
|
+
assertNonBlank(input.requestedModelId, "requestedModelId")
|
|
15
|
+
if (input.responseModelId !== undefined) {
|
|
16
|
+
assertNonBlank(input.responseModelId, "responseModelId")
|
|
17
|
+
}
|
|
18
|
+
assertNonBlank(input.responseId, "responseId")
|
|
19
|
+
|
|
20
|
+
const occurredAt = cloneValidDate(input.occurredAt, "occurredAt")
|
|
21
|
+
const recordedAt = cloneValidDate(input.recordedAt ?? new Date(), "recordedAt")
|
|
22
|
+
const requesterGroupIds = normalizeRequesterGroupIds(input.requesterGroupIds)
|
|
23
|
+
const rawUsage = cloneRawUsage(input.rawUsage)
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
id: input.id,
|
|
27
|
+
projectId: input.projectId,
|
|
28
|
+
executionId: input.executionId,
|
|
29
|
+
attempt: input.attempt,
|
|
30
|
+
callId: input.callId,
|
|
31
|
+
requesterGroupIds,
|
|
32
|
+
providerId: input.providerId,
|
|
33
|
+
requestedModelId: input.requestedModelId,
|
|
34
|
+
...(input.responseModelId === undefined ? {} : { responseModelId: input.responseModelId }),
|
|
35
|
+
responseId: input.responseId,
|
|
36
|
+
usage: normalizeAiModelCallUsage(input.usage),
|
|
37
|
+
...(rawUsage === undefined ? {} : { rawUsage }),
|
|
38
|
+
occurredAt,
|
|
39
|
+
recordedAt,
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** Validate a durable execution reference at storage and query boundaries. */
|
|
44
|
+
export function assertAiUsageExecutionId(executionId: string): void {
|
|
45
|
+
assertNonBlank(executionId, "executionId")
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function cloneRawUsage(rawUsage: RecordAiModelCallInput["rawUsage"]) {
|
|
49
|
+
if (rawUsage === undefined) return undefined
|
|
50
|
+
if (!isPlainRecord(rawUsage)) {
|
|
51
|
+
throw new TypeError("[Sixb] AI usage rawUsage must be a JSON object.")
|
|
52
|
+
}
|
|
53
|
+
assertJsonValue(rawUsage, "AI usage rawUsage")
|
|
54
|
+
return structuredClone(rawUsage)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function assertNonBlank(value: string, field: string): void {
|
|
58
|
+
if (typeof value !== "string" || value.trim().length === 0) {
|
|
59
|
+
throw new TypeError(`[Sixb] AI usage ${field} must be nonblank.`)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function assertPositiveSafeInteger(value: number, field: string): void {
|
|
64
|
+
if (!Number.isSafeInteger(value) || value <= 0) {
|
|
65
|
+
throw new TypeError(`[Sixb] AI usage ${field} must be a positive safe integer.`)
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function cloneValidDate(value: Date, field: string): Date {
|
|
70
|
+
if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {
|
|
71
|
+
throw new TypeError(`[Sixb] AI usage ${field} must be a valid Date.`)
|
|
72
|
+
}
|
|
73
|
+
return new Date(value)
|
|
74
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { ReadonlyJsonObject } from "../../json"
|
|
2
|
+
|
|
3
|
+
/** How much normalized token usage a provider reported for one model call. */
|
|
4
|
+
export type AiUsageReportingStatus = "complete" | "partial" | "unavailable"
|
|
5
|
+
|
|
6
|
+
/** Provider-neutral token counts accepted at the model-call boundary. */
|
|
7
|
+
export interface AiModelCallUsageInput {
|
|
8
|
+
readonly inputTokens?: number
|
|
9
|
+
readonly outputTokens?: number
|
|
10
|
+
readonly uncachedInputTokens?: number
|
|
11
|
+
readonly cacheReadInputTokens?: number
|
|
12
|
+
readonly cacheWriteInputTokens?: number
|
|
13
|
+
readonly textOutputTokens?: number
|
|
14
|
+
readonly reasoningOutputTokens?: number
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Normalized token counts for one completed model call. Details overlap their input/output totals. */
|
|
18
|
+
export interface AiModelCallUsage extends AiModelCallUsageInput {
|
|
19
|
+
/** Present only when both input and output totals are known. */
|
|
20
|
+
readonly totalTokens?: number
|
|
21
|
+
readonly reportingStatus: AiUsageReportingStatus
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Aggregated usage and call presence for one durable execution. */
|
|
25
|
+
export interface AiUsageExecutionSummary {
|
|
26
|
+
/** Number of idempotent model-call ledger records included across every delivery attempt. */
|
|
27
|
+
readonly modelCallCount: number
|
|
28
|
+
/** Unavailable with a positive call count means the provider reported no normalized counts. */
|
|
29
|
+
readonly usage: AiModelCallUsage
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Input for an idempotent model-call ledger append. */
|
|
33
|
+
export interface RecordAiModelCallInput {
|
|
34
|
+
readonly id: string
|
|
35
|
+
readonly projectId: string
|
|
36
|
+
/** Immutable execution-ledger record that owns this provider call. */
|
|
37
|
+
readonly executionId: string
|
|
38
|
+
/** Queue delivery attempt that made the provider call. */
|
|
39
|
+
readonly attempt: number
|
|
40
|
+
/** AI SDK generation ID. Tool-loop model calls share it and are distinguished by responseId. */
|
|
41
|
+
readonly callId: string
|
|
42
|
+
/**
|
|
43
|
+
* Durable group memberships snapshotted when the parent run was admitted. The requester itself
|
|
44
|
+
* is read from the immutable execution record.
|
|
45
|
+
*/
|
|
46
|
+
readonly requesterGroupIds: readonly string[]
|
|
47
|
+
/** AI SDK provider that handled the call, such as `openai`, `anthropic`, or `gateway`. */
|
|
48
|
+
readonly providerId: string
|
|
49
|
+
readonly requestedModelId: string
|
|
50
|
+
/** Provider-returned model identity when the capture path exposes it. */
|
|
51
|
+
readonly responseModelId?: string
|
|
52
|
+
/** Provider-returned response ID used for later usage and cost reconciliation. */
|
|
53
|
+
readonly responseId: string
|
|
54
|
+
readonly usage: AiModelCallUsageInput
|
|
55
|
+
readonly rawUsage?: ReadonlyJsonObject
|
|
56
|
+
/** When the provider call completed, used for historical pricing and accounting periods. */
|
|
57
|
+
readonly occurredAt: Date
|
|
58
|
+
readonly recordedAt?: Date
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** Immutable accounting record for one completed provider model call. */
|
|
62
|
+
export interface AiModelCallUsageRecord extends RecordAiModelCallInput {
|
|
63
|
+
readonly usage: AiModelCallUsage
|
|
64
|
+
readonly recordedAt: Date
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface RecordAiModelCallResult {
|
|
68
|
+
readonly record: AiModelCallUsageRecord
|
|
69
|
+
/** False when the idempotency key already existed and its record was returned. */
|
|
70
|
+
readonly created: boolean
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export interface SummarizeAiUsageExecutionInput {
|
|
74
|
+
readonly projectId: string
|
|
75
|
+
readonly executionId: string
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface SummarizeAiUsageExecutionsInput {
|
|
79
|
+
readonly projectId: string
|
|
80
|
+
readonly executionIds: readonly string[]
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/** Durable, provider-neutral accounting for completed language-model calls. */
|
|
84
|
+
export interface AiUsageStorage {
|
|
85
|
+
/**
|
|
86
|
+
* Append one model-call record idempotently. The identity is project, execution ID, attempt, call
|
|
87
|
+
* ID, and response ID; retrying that identity returns the existing record with `created: false`.
|
|
88
|
+
*/
|
|
89
|
+
recordModelCall(input: RecordAiModelCallInput): Promise<RecordAiModelCallResult>
|
|
90
|
+
|
|
91
|
+
/** Aggregate normalized usage and call presence across every attempt of one execution. */
|
|
92
|
+
summarizeExecution(input: SummarizeAiUsageExecutionInput): Promise<AiUsageExecutionSummary>
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Aggregate multiple executions in one storage read. Results have the same length and order as
|
|
96
|
+
* `executionIds`. Executions without ledger records have a zero model-call count and unavailable
|
|
97
|
+
* usage.
|
|
98
|
+
*/
|
|
99
|
+
summarizeExecutions(
|
|
100
|
+
input: SummarizeAiUsageExecutionsInput
|
|
101
|
+
): Promise<readonly AiUsageExecutionSummary[]>
|
|
102
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { AiModelCallUsage, AiModelCallUsageInput } from "./types"
|
|
2
|
+
|
|
3
|
+
const USAGE_FIELDS = [
|
|
4
|
+
"inputTokens",
|
|
5
|
+
"outputTokens",
|
|
6
|
+
"uncachedInputTokens",
|
|
7
|
+
"cacheReadInputTokens",
|
|
8
|
+
"cacheWriteInputTokens",
|
|
9
|
+
"textOutputTokens",
|
|
10
|
+
"reasoningOutputTokens",
|
|
11
|
+
] as const
|
|
12
|
+
|
|
13
|
+
type AiUsageField = (typeof USAGE_FIELDS)[number]
|
|
14
|
+
|
|
15
|
+
/** Validate provider-neutral counts and derive total/reporting fields without inventing zeroes. */
|
|
16
|
+
export function normalizeAiModelCallUsage(input: AiModelCallUsageInput): AiModelCallUsage {
|
|
17
|
+
for (const field of USAGE_FIELDS) {
|
|
18
|
+
assertUsageCount(input[field], field)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const totalTokens =
|
|
22
|
+
input.inputTokens === undefined || input.outputTokens === undefined
|
|
23
|
+
? undefined
|
|
24
|
+
: addUsageCounts(input.inputTokens, input.outputTokens, "totalTokens")
|
|
25
|
+
const reportingStatus =
|
|
26
|
+
input.inputTokens !== undefined && input.outputTokens !== undefined
|
|
27
|
+
? "complete"
|
|
28
|
+
: USAGE_FIELDS.some((field) => input[field] !== undefined)
|
|
29
|
+
? "partial"
|
|
30
|
+
: "unavailable"
|
|
31
|
+
|
|
32
|
+
return {
|
|
33
|
+
...(input.inputTokens === undefined ? {} : { inputTokens: input.inputTokens }),
|
|
34
|
+
...(input.outputTokens === undefined ? {} : { outputTokens: input.outputTokens }),
|
|
35
|
+
...(totalTokens === undefined ? {} : { totalTokens }),
|
|
36
|
+
...(input.uncachedInputTokens === undefined
|
|
37
|
+
? {}
|
|
38
|
+
: { uncachedInputTokens: input.uncachedInputTokens }),
|
|
39
|
+
...(input.cacheReadInputTokens === undefined
|
|
40
|
+
? {}
|
|
41
|
+
: { cacheReadInputTokens: input.cacheReadInputTokens }),
|
|
42
|
+
...(input.cacheWriteInputTokens === undefined
|
|
43
|
+
? {}
|
|
44
|
+
: { cacheWriteInputTokens: input.cacheWriteInputTokens }),
|
|
45
|
+
...(input.textOutputTokens === undefined ? {} : { textOutputTokens: input.textOutputTokens }),
|
|
46
|
+
...(input.reasoningOutputTokens === undefined
|
|
47
|
+
? {}
|
|
48
|
+
: { reasoningOutputTokens: input.reasoningOutputTokens }),
|
|
49
|
+
reportingStatus,
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Aggregate model-call usage without treating a missing count as zero.
|
|
55
|
+
*
|
|
56
|
+
* A field is present only when every call reported it. This prevents a partial provider response
|
|
57
|
+
* from becoming an apparently complete execution total. Zero remains a reported value.
|
|
58
|
+
*/
|
|
59
|
+
export function aggregateAiModelCallUsage(
|
|
60
|
+
usages: Iterable<AiModelCallUsageInput>
|
|
61
|
+
): AiModelCallUsage {
|
|
62
|
+
const normalized = Array.from(usages, normalizeAiModelCallUsage)
|
|
63
|
+
const fields = Object.fromEntries(
|
|
64
|
+
USAGE_FIELDS.map((field) => [field, sumUsageField(normalized, field)])
|
|
65
|
+
) as Record<AiUsageField, number | undefined>
|
|
66
|
+
const aggregate = normalizeAiModelCallUsage(fields)
|
|
67
|
+
|
|
68
|
+
if (
|
|
69
|
+
aggregate.reportingStatus === "unavailable" &&
|
|
70
|
+
normalized.some((usage) => usage.reportingStatus !== "unavailable")
|
|
71
|
+
) {
|
|
72
|
+
return { ...aggregate, reportingStatus: "partial" }
|
|
73
|
+
}
|
|
74
|
+
return aggregate
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function sumUsageField(
|
|
78
|
+
usages: readonly AiModelCallUsage[],
|
|
79
|
+
field: AiUsageField
|
|
80
|
+
): number | undefined {
|
|
81
|
+
if (usages.length === 0) return undefined
|
|
82
|
+
|
|
83
|
+
let total = 0
|
|
84
|
+
for (const usage of usages) {
|
|
85
|
+
const value = usage[field]
|
|
86
|
+
if (value === undefined) return undefined
|
|
87
|
+
total = addUsageCounts(total, value, `aggregate ${field}`)
|
|
88
|
+
}
|
|
89
|
+
return total
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function assertUsageCount(value: number | undefined, field: AiUsageField): void {
|
|
93
|
+
if (value !== undefined && (!Number.isSafeInteger(value) || value < 0)) {
|
|
94
|
+
throw new TypeError(`[Sixb] AI model-call usage ${field} must be a non-negative safe integer.`)
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function addUsageCounts(left: number, right: number, field: string): number {
|
|
99
|
+
const result = left + right
|
|
100
|
+
if (!Number.isSafeInteger(result)) {
|
|
101
|
+
throw new TypeError(`[Sixb] AI model-call usage ${field} exceeds the safe integer range.`)
|
|
102
|
+
}
|
|
103
|
+
return result
|
|
104
|
+
}
|
|
@@ -437,6 +437,7 @@ export interface AuthServiceAccountStore {
|
|
|
437
437
|
readonly projectId: string
|
|
438
438
|
readonly id: string
|
|
439
439
|
}): Promise<ServiceAccountRecord | null>
|
|
440
|
+
/** Update only the provided fields; omitted fields must remain unchanged atomically. */
|
|
440
441
|
update(input: UpdateAuthServiceAccountInput): Promise<ServiceAccountRecord>
|
|
441
442
|
list(input: ListAuthServiceAccountsInput): Promise<ListAuthServiceAccountsResult>
|
|
442
443
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type ConnectorConnectionStorageErrorCode =
|
|
2
|
+
| "attempt_conflict"
|
|
3
|
+
| "attempt_invalid"
|
|
4
|
+
| "run_conflict"
|
|
5
|
+
| "run_invalid"
|
|
6
|
+
| "authorization_conflict"
|
|
7
|
+
| "connection_conflict"
|
|
8
|
+
| "invalid_input"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Storage-provider control signal for atomic conflicts and invalid calls.
|
|
12
|
+
*
|
|
13
|
+
* These codes belong to the provider contract, not `SixbErrorCode`; Core translates errors that
|
|
14
|
+
* cross the connector lifecycle boundary into documented `connector.*` failures.
|
|
15
|
+
*/
|
|
16
|
+
export class ConnectorConnectionStorageError extends Error {
|
|
17
|
+
readonly code: ConnectorConnectionStorageErrorCode
|
|
18
|
+
|
|
19
|
+
constructor(code: ConnectorConnectionStorageErrorCode, message: string) {
|
|
20
|
+
super(message)
|
|
21
|
+
this.name = "ConnectorConnectionStorageError"
|
|
22
|
+
this.code = code
|
|
23
|
+
}
|
|
24
|
+
}
|