@sixb/core 0.1.6 → 0.1.8
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/dist/actions/delegated-admission.d.ts +24 -0
- package/dist/actions/delegated-admission.d.ts.map +1 -0
- package/dist/actions/descriptor.d.ts +29 -0
- package/dist/actions/descriptor.d.ts.map +1 -0
- package/dist/actions/execution.d.ts +5 -5
- package/dist/actions/execution.d.ts.map +1 -1
- package/dist/actions/index.js +50 -40
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-authorization.d.ts +20 -0
- package/dist/actions/run-authorization.d.ts.map +1 -0
- package/dist/actions/run-dispatch.d.ts +3 -1
- package/dist/actions/run-dispatch.d.ts.map +1 -1
- package/dist/actions/worker.js +5 -5
- package/dist/actions/worker.js.map +1 -1
- package/dist/agents/adapters.d.ts +6 -166
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +22 -6
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/builders.d.ts +3 -11
- package/dist/agents/builders.d.ts.map +1 -1
- package/dist/agents/context-resolution.d.ts.map +1 -1
- package/dist/agents/context.js +2 -2
- package/dist/agents/dispatch.d.ts +9 -1
- package/dist/agents/dispatch.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +1 -10
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +9 -10
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/identity.d.ts +3 -0
- package/dist/agents/identity.d.ts.map +1 -0
- package/dist/agents/ids.d.ts +4 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +15 -11
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +90 -78
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +19 -13
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/model-loop.d.ts +58 -0
- package/dist/agents/model-loop.d.ts.map +1 -0
- package/dist/agents/reference.d.ts +4 -0
- package/dist/agents/reference.d.ts.map +1 -0
- package/dist/agents/request.d.ts +10 -8
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/retired-config.d.ts +4 -0
- package/dist/agents/retired-config.d.ts.map +1 -0
- package/dist/agents/streams.d.ts +13 -8
- package/dist/agents/streams.d.ts.map +1 -1
- package/dist/agents/streams.js +7 -5
- package/dist/agents/streams.js.map +1 -1
- package/dist/agents/tool-catalog.d.ts +9 -0
- package/dist/agents/tool-catalog.d.ts.map +1 -0
- package/dist/agents/tool-definition.d.ts +1 -1
- package/dist/agents/tool-definition.d.ts.map +1 -1
- package/dist/agents/types.d.ts +31 -68
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +3 -13
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/ai-usage/execution.d.ts +53 -0
- package/dist/ai-usage/execution.d.ts.map +1 -0
- package/dist/ai-usage/index.d.ts +3 -0
- package/dist/ai-usage/index.d.ts.map +1 -0
- package/dist/auth/index.js +12 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/authorization/decision.d.ts +14 -3
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +25 -8
- 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 +12 -7
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +3 -3
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/authorization/types.d.ts +7 -5
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/blob-storage/browser.js +2 -2
- package/dist/blob-storage/index.js +3 -3
- package/dist/bootstrap/discovery.d.ts +6 -6
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.js +62 -51
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/broker/index.js +2 -2
- package/dist/{chunk-zqysyfjt.js → chunk-08m3b6w8.js} +1 -1
- package/dist/chunk-19jp6g9d.js +131 -0
- package/dist/chunk-19jp6g9d.js.map +11 -0
- package/dist/{chunk-3j7573mj.js → chunk-2dw777qw.js} +50 -5
- package/dist/{chunk-3j7573mj.js.map → chunk-2dw777qw.js.map} +4 -3
- package/dist/{chunk-0172wgm9.js → chunk-2xns679x.js} +10 -2
- package/dist/{chunk-0172wgm9.js.map → chunk-2xns679x.js.map} +3 -3
- package/dist/chunk-359jm1jw.js +147 -0
- package/dist/chunk-359jm1jw.js.map +10 -0
- package/dist/{chunk-dy311asx.js → chunk-3xep5cjx.js} +58 -23
- package/dist/chunk-3xep5cjx.js.map +15 -0
- package/dist/{chunk-n4spznws.js → chunk-3z1qec12.js} +83 -12
- package/dist/chunk-3z1qec12.js.map +12 -0
- package/dist/{chunk-z3zp0bj1.js → chunk-407j3msh.js} +1 -1
- package/dist/{chunk-rhrbz7d4.js → chunk-4a849fr1.js} +1 -1
- package/dist/{chunk-cy0n5dms.js → chunk-4jjp5k14.js} +1 -1
- package/dist/chunk-4qfkag59.js +1568 -0
- package/dist/chunk-4qfkag59.js.map +20 -0
- package/dist/{chunk-1e8m6yn3.js → chunk-4sm0aznx.js} +685 -86
- package/dist/chunk-4sm0aznx.js.map +43 -0
- package/dist/chunk-4yqmp43v.js +159 -0
- package/dist/chunk-4yqmp43v.js.map +11 -0
- package/dist/{chunk-rdeagz6b.js → chunk-5e3pq99w.js} +3 -7
- package/dist/{chunk-rdeagz6b.js.map → chunk-5e3pq99w.js.map} +3 -3
- package/dist/{chunk-ezake7g1.js → chunk-5ntny1qx.js} +1 -1
- package/dist/{chunk-dm72y8wt.js → chunk-7y0f6rf1.js} +29 -16
- package/dist/chunk-7y0f6rf1.js.map +10 -0
- package/dist/{chunk-72q2y8hn.js → chunk-8tsf6dmc.js} +2 -2
- package/dist/{chunk-qewtks41.js → chunk-9nbmsvn5.js} +123 -20
- package/dist/chunk-9nbmsvn5.js.map +11 -0
- package/dist/{chunk-5sxb1168.js → chunk-aa2pen2v.js} +256 -82
- package/dist/chunk-aa2pen2v.js.map +34 -0
- package/dist/{chunk-819wnjz8.js → chunk-ajnan18g.js} +13 -10
- package/dist/chunk-ajnan18g.js.map +12 -0
- package/dist/chunk-c15dr03f.js +43 -0
- package/dist/chunk-c15dr03f.js.map +10 -0
- package/dist/{chunk-t0jjkep3.js → chunk-d8qkxt2v.js} +4 -2
- package/dist/chunk-d8qkxt2v.js.map +10 -0
- package/dist/{chunk-vybf6pkp.js → chunk-dbc80ad7.js} +1 -1
- package/dist/{chunk-nkbfrt0c.js → chunk-f26bck4t.js} +7 -7
- package/dist/{chunk-x2yw73hy.js → chunk-fvt9rjsa.js} +23 -7
- package/dist/chunk-fvt9rjsa.js.map +10 -0
- package/dist/{chunk-znagycq7.js → chunk-gbejpkex.js} +5 -5
- package/dist/{chunk-znagycq7.js.map → chunk-gbejpkex.js.map} +1 -1
- package/dist/{chunk-e42bc6m3.js → chunk-gzasd5b6.js} +5 -5
- package/dist/{chunk-e42bc6m3.js.map → chunk-gzasd5b6.js.map} +3 -3
- package/dist/{chunk-rnshztfq.js → chunk-h0k55pc7.js} +6 -6
- package/dist/{chunk-rnshztfq.js.map → chunk-h0k55pc7.js.map} +1 -1
- package/dist/chunk-h5vqbfmd.js +1537 -0
- package/dist/chunk-h5vqbfmd.js.map +19 -0
- package/dist/chunk-j1sbhm7p.js +45 -0
- package/dist/chunk-j1sbhm7p.js.map +10 -0
- package/dist/chunk-jecn6t54.js +307 -0
- package/dist/chunk-jecn6t54.js.map +12 -0
- package/dist/{chunk-dsrkgtnh.js → chunk-jq43kdvk.js} +1 -1
- package/dist/{chunk-wtmzkcht.js → chunk-k34z5rvh.js} +1 -1
- package/dist/{chunk-f6erf2vv.js → chunk-k522z7v6.js} +10 -5
- package/dist/chunk-k522z7v6.js.map +10 -0
- package/dist/{chunk-htq0qh7z.js → chunk-ka3a2ft3.js} +2 -2
- package/dist/{chunk-ckxfnx7f.js → chunk-mth82m8t.js} +129 -95
- package/dist/chunk-mth82m8t.js.map +14 -0
- package/dist/{chunk-5gynx4xn.js → chunk-mwsxn98e.js} +79 -77
- package/dist/{chunk-5gynx4xn.js.map → chunk-mwsxn98e.js.map} +8 -8
- package/dist/{chunk-f2rt4vkh.js → chunk-n2w475r0.js} +3 -3
- package/dist/chunk-n4khvw9n.js +111 -0
- package/dist/chunk-n4khvw9n.js.map +11 -0
- package/dist/{chunk-t8t39h7v.js → chunk-n6jxh8sw.js} +10 -2
- package/dist/chunk-n6jxh8sw.js.map +10 -0
- package/dist/chunk-nn0tekr1.js +284 -0
- package/dist/chunk-nn0tekr1.js.map +12 -0
- package/dist/chunk-nx7k8tpr.js +436 -0
- package/dist/chunk-nx7k8tpr.js.map +12 -0
- package/dist/{chunk-drjqm1aa.js → chunk-p03r0h5s.js} +310 -28
- package/dist/chunk-p03r0h5s.js.map +16 -0
- package/dist/{chunk-1g8negke.js → chunk-p1rzczbt.js} +93 -8
- package/dist/chunk-p1rzczbt.js.map +12 -0
- package/dist/{chunk-f83ka50g.js → chunk-p1x242ad.js} +652 -77
- package/dist/chunk-p1x242ad.js.map +25 -0
- package/dist/chunk-p2vqaxkc.js +528 -0
- package/dist/chunk-p2vqaxkc.js.map +15 -0
- package/dist/{chunk-a31h57d5.js → chunk-pc7ys28c.js} +70 -7
- package/dist/chunk-pc7ys28c.js.map +14 -0
- package/dist/{chunk-md8k0r54.js → chunk-q0k9nc5a.js} +281 -89
- package/dist/chunk-q0k9nc5a.js.map +14 -0
- package/dist/{chunk-bhxaq2nn.js → chunk-qw9gvjv5.js} +1 -1
- package/dist/chunk-r8jrnexe.js +403 -0
- package/dist/chunk-r8jrnexe.js.map +10 -0
- package/dist/{chunk-h9kxd41f.js → chunk-rafagrwr.js} +48 -7
- package/dist/chunk-rafagrwr.js.map +11 -0
- package/dist/{chunk-dysw7nsm.js → chunk-rv2hkwwa.js} +2 -2
- package/dist/{chunk-ghteq96b.js → chunk-s5y30bc9.js} +2 -2
- package/dist/{chunk-t624af60.js → chunk-sbzzr4kx.js} +1848 -757
- package/dist/chunk-sbzzr4kx.js.map +63 -0
- package/dist/{chunk-6gjqgd3d.js → chunk-tpnd31c1.js} +2 -1
- package/dist/chunk-tpnd31c1.js.map +11 -0
- package/dist/chunk-trxxmgnf.js +68 -0
- package/dist/chunk-trxxmgnf.js.map +11 -0
- package/dist/{chunk-0hc5j867.js → chunk-v1xppd0y.js} +17 -13
- package/dist/{chunk-0hc5j867.js.map → chunk-v1xppd0y.js.map} +2 -2
- package/dist/chunk-v4en4jc2.js +252 -0
- package/dist/chunk-v4en4jc2.js.map +10 -0
- package/dist/{chunk-xkthy56g.js → chunk-w1tvjszy.js} +1 -1
- package/dist/{chunk-8b55ygje.js → chunk-w3e09qqk.js} +1 -1
- package/dist/{chunk-8gv5z0zm.js → chunk-w9tg6yyb.js} +13 -8
- package/dist/{chunk-8gv5z0zm.js.map → chunk-w9tg6yyb.js.map} +3 -3
- package/dist/{chunk-62c7t4jc.js → chunk-wdage1eb.js} +1 -1
- package/dist/{chunk-tg5mee00.js → chunk-wtf06et8.js} +11 -7
- package/dist/{chunk-tg5mee00.js.map → chunk-wtf06et8.js.map} +3 -3
- package/dist/{chunk-nva1xkjz.js → chunk-xajtptbw.js} +1237 -1434
- package/dist/chunk-xajtptbw.js.map +40 -0
- package/dist/{chunk-xc7hq65b.js → chunk-yp8ee62z.js} +49 -2
- package/dist/chunk-yp8ee62z.js.map +11 -0
- package/dist/chunk-z4ccwbkz.js +139 -0
- package/dist/chunk-z4ccwbkz.js.map +10 -0
- package/dist/datasets/builders.d.ts +11 -2
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/changes.d.ts +14 -4
- package/dist/datasets/changes.d.ts.map +1 -1
- package/dist/datasets/execution.d.ts +15 -1
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/index.d.ts +1 -0
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/sequence.d.ts +7 -0
- package/dist/datasets/sequence.d.ts.map +1 -0
- package/dist/datasets/types.d.ts +1 -0
- package/dist/datasets/types.d.ts.map +1 -1
- package/dist/datasets/validation.d.ts.map +1 -1
- package/dist/datasets/write.d.ts +37 -0
- package/dist/datasets/write.d.ts.map +1 -0
- package/dist/datasets/write.js +17 -0
- package/dist/datasets/write.js.map +9 -0
- package/dist/error-reporting/internal.js +4 -4
- package/dist/error-reporting/types.d.ts +7 -2
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +8 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/internal.js +2 -2
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/index.js +4 -4
- package/dist/events/types/datasets.d.ts +2 -6
- package/dist/events/types/datasets.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +18 -9
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +62 -46
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts +68 -20
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +69 -0
- package/dist/execution/authorized-object-reader.d.ts.map +1 -0
- package/dist/execution/durable.d.ts.map +1 -1
- package/dist/execution/index.d.ts +1 -1
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/primitive.js +55 -46
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.d.ts +14 -1
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +92 -54
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/scopes.d.ts +16 -0
- package/dist/execution/scopes.d.ts.map +1 -1
- package/dist/execution/types.d.ts +10 -1
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/http/api-routes.d.ts +2 -0
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +15 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +128 -109
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts +2 -0
- package/dist/json.d.ts.map +1 -1
- package/dist/lake-storage/definition-updates.d.ts.map +1 -1
- package/dist/lake-storage/errors.d.ts +5 -1
- package/dist/lake-storage/errors.d.ts.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +1 -0
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +6 -1
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +27 -10
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/merge-validation.d.ts.map +1 -1
- package/dist/lake-storage/merge.d.ts +13 -2
- package/dist/lake-storage/merge.d.ts.map +1 -1
- package/dist/lake-storage/source-ordering.d.ts +19 -0
- package/dist/lake-storage/source-ordering.d.ts.map +1 -0
- package/dist/lake-storage/sql-transforms.d.ts +2 -1
- package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
- package/dist/lake-storage/types.d.ts +10 -5
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/lake-storage/version-inputs.d.ts +4 -0
- package/dist/lake-storage/version-inputs.d.ts.map +1 -0
- package/dist/logging/index.js +3 -3
- package/dist/logging/types.js +2 -2
- package/dist/materialization/index.js +2 -2
- package/dist/materializer/index.js +38 -31
- package/dist/materializer/index.js.map +1 -1
- package/dist/models/catalog.d.ts +40 -0
- package/dist/models/catalog.d.ts.map +1 -0
- package/dist/models/definitions.d.ts +25 -0
- package/dist/models/definitions.d.ts.map +1 -0
- package/dist/models/errors.d.ts +52 -0
- package/dist/models/errors.d.ts.map +1 -0
- package/dist/models/events.d.ts +192 -0
- package/dist/models/events.d.ts.map +1 -0
- package/dist/models/index.d.ts +17 -39
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +50 -0
- package/dist/models/index.js.map +9 -0
- package/dist/models/language-model.d.ts +90 -0
- package/dist/models/language-model.d.ts.map +1 -0
- package/dist/models/messages.d.ts +74 -0
- package/dist/models/messages.d.ts.map +1 -0
- package/dist/models/pricing.d.ts +69 -0
- package/dist/models/pricing.d.ts.map +1 -0
- package/dist/models/rate-card.d.ts +24 -0
- package/dist/models/rate-card.d.ts.map +1 -0
- package/dist/models/tools.d.ts +24 -0
- package/dist/models/tools.d.ts.map +1 -0
- package/dist/objects/authorized-ontology-view.d.ts +25 -0
- package/dist/objects/authorized-ontology-view.d.ts.map +1 -0
- package/dist/objects/execution.d.ts +1 -1
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +43 -36
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/authorization.d.ts +2 -7
- package/dist/objects/link/authorization.d.ts.map +1 -1
- package/dist/objects/query/executor.d.ts +4 -2
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.js +36 -29
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/links.d.ts +22 -1
- package/dist/objects/query/links.d.ts.map +1 -1
- package/dist/objects/query/selected-read-admission.d.ts +27 -0
- package/dist/objects/query/selected-read-admission.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts +60 -2
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/runtime-query-executor.d.ts +2 -7
- 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/list-service.d.ts +2 -3
- package/dist/objects/service/list-service.d.ts.map +1 -1
- package/dist/objects/telemetry/history.d.ts +8 -6
- package/dist/objects/telemetry/history.d.ts.map +1 -1
- package/dist/objects/telemetry/index.d.ts +2 -2
- package/dist/objects/telemetry/index.d.ts.map +1 -1
- package/dist/objects/telemetry/workload.d.ts +11 -0
- package/dist/objects/telemetry/workload.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +2 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +15 -14
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +2 -1
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +0 -1
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +5 -10
- package/dist/ontology/internal.js.map +3 -3
- package/dist/ontology/json-schema.d.ts +10 -6
- package/dist/ontology/json-schema.d.ts.map +1 -1
- package/dist/ontology/link-path-selection.d.ts +35 -0
- package/dist/ontology/link-path-selection.d.ts.map +1 -0
- package/dist/ontology/refs.d.ts +2 -0
- package/dist/ontology/refs.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +2 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/pipelines/execution.d.ts.map +1 -1
- package/dist/pipelines/index.js +41 -36
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/request.d.ts.map +1 -1
- package/dist/projections/execution.d.ts.map +1 -1
- package/dist/projections/internal.js +39 -32
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/run-dispatch.d.ts.map +1 -1
- package/dist/queues/in-memory.d.ts +3 -2
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.d.ts +3 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +15 -3
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/rules/execution.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +7 -4
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +4 -2
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +5 -2
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +1 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts +4 -2
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +8 -2
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +3 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/schedules/execution.d.ts +2 -1
- package/dist/schedules/execution.d.ts.map +1 -1
- package/dist/security/every.d.ts +4 -4
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +12 -6
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/registry.d.ts +2 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +19 -5
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +6 -2
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/access-plan.d.ts +22 -0
- package/dist/shares/access-plan.d.ts.map +1 -0
- package/dist/shares/builders.d.ts +14 -0
- package/dist/shares/builders.d.ts.map +1 -0
- package/dist/shares/compiler.d.ts +14 -0
- package/dist/shares/compiler.d.ts.map +1 -0
- package/dist/shares/errors.d.ts +4 -0
- package/dist/shares/errors.d.ts.map +1 -0
- package/dist/shares/execution.d.ts +57 -0
- package/dist/shares/execution.d.ts.map +1 -0
- package/dist/shares/index.d.ts +10 -0
- package/dist/shares/index.d.ts.map +1 -0
- package/dist/shares/internal.d.ts +3 -0
- package/dist/shares/internal.d.ts.map +1 -0
- package/dist/shares/internal.js +239 -0
- package/dist/shares/internal.js.map +10 -0
- package/dist/shares/intersection.d.ts +9 -0
- package/dist/shares/intersection.d.ts.map +1 -0
- package/dist/shares/session-protocol.d.ts +41 -0
- package/dist/shares/session-protocol.d.ts.map +1 -0
- package/dist/shares/types.d.ts +51 -0
- package/dist/shares/types.d.ts.map +1 -0
- package/dist/shares/validation.d.ts +11 -0
- package/dist/shares/validation.d.ts.map +1 -0
- package/dist/storage/action-runs/failure.js +3 -3
- package/dist/storage/action-runs/provider.js +2 -2
- 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 +3 -2
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +1 -1
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +11 -4
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +18 -15
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +65 -17
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +2 -1
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/codec.d.ts +3 -2
- package/dist/storage/ai-cost/codec.d.ts.map +1 -1
- package/dist/storage/ai-cost/groups.d.ts +51 -0
- package/dist/storage/ai-cost/groups.d.ts.map +1 -0
- package/dist/storage/ai-cost/in-memory.d.ts +11 -1
- package/dist/storage/ai-cost/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-cost/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.d.ts +2 -0
- package/dist/storage/ai-cost/provider.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +29 -13
- package/dist/storage/ai-cost/provider.js.map +3 -3
- package/dist/storage/ai-cost/types.d.ts +64 -15
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/validation.d.ts +2 -1
- package/dist/storage/ai-cost/validation.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.d.ts +14 -0
- package/dist/storage/ai-limits/enforcement.d.ts.map +1 -0
- package/dist/storage/ai-limits/enforcement.js +21 -0
- package/dist/storage/ai-limits/enforcement.js.map +9 -0
- package/dist/storage/ai-limits/errors.d.ts +8 -0
- package/dist/storage/ai-limits/errors.d.ts.map +1 -0
- package/dist/storage/ai-limits/in-memory.d.ts +78 -0
- package/dist/storage/ai-limits/in-memory.d.ts.map +1 -0
- package/dist/storage/ai-limits/index.d.ts +7 -0
- package/dist/storage/ai-limits/index.d.ts.map +1 -0
- package/dist/storage/ai-limits/period.d.ts +4 -0
- package/dist/storage/ai-limits/period.d.ts.map +1 -0
- package/dist/storage/ai-limits/provider.d.ts +85 -0
- package/dist/storage/ai-limits/provider.d.ts.map +1 -0
- package/dist/storage/ai-limits/provider.js +62 -0
- package/dist/storage/ai-limits/provider.js.map +9 -0
- package/dist/storage/ai-limits/types.d.ts +175 -0
- package/dist/storage/ai-limits/types.d.ts.map +1 -0
- package/dist/storage/ai-usage/in-memory.d.ts +4 -0
- package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-usage/record.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +6 -2
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/auth/errors.d.ts +1 -1
- package/dist/storage/auth/errors.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts +4 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/device-authorizations.d.ts +29 -0
- package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/shared.d.ts +3 -1
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +2 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +66 -0
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +2 -2
- package/dist/storage/executions/in-memory.d.ts +3 -0
- package/dist/storage/executions/in-memory.d.ts.map +1 -1
- package/dist/storage/executions/provider.d.ts +4 -1
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +23 -3
- package/dist/storage/executions/provider.js.map +3 -3
- package/dist/storage/executions/run-link.d.ts +14 -2
- package/dist/storage/executions/run-link.d.ts.map +1 -1
- package/dist/storage/executions/validation.d.ts +6 -0
- package/dist/storage/executions/validation.d.ts.map +1 -1
- package/dist/storage/in-memory/index.d.ts +12 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +15 -6
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +78 -36
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/objects/execution-limits.d.ts +25 -0
- package/dist/storage/objects/execution-limits.d.ts.map +1 -0
- package/dist/storage/objects/guard.d.ts +16 -0
- package/dist/storage/objects/guard.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/index.d.ts +3 -0
- package/dist/storage/objects/in-memory/index.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/keys.d.ts +10 -0
- package/dist/storage/objects/in-memory/keys.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/query.d.ts +31 -0
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/read-scope.d.ts +18 -0
- package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/read-source.d.ts +10 -0
- package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/selected-reader.d.ts +9 -0
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -0
- package/dist/storage/objects/{in-memory.d.ts → in-memory/storage.d.ts} +13 -10
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -0
- package/dist/storage/objects/index.d.ts +4 -1
- package/dist/storage/objects/index.d.ts.map +1 -1
- package/dist/storage/objects/keys.d.ts +1 -1
- package/dist/storage/objects/keys.d.ts.map +1 -1
- package/dist/storage/objects/read-scope.d.ts +25 -0
- package/dist/storage/objects/read-scope.d.ts.map +1 -0
- package/dist/storage/objects/types.d.ts +114 -22
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +3 -3
- package/dist/storage/operation-scope.d.ts +3 -0
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +4 -2
- package/dist/storage/operation-scope.js.map +1 -1
- package/dist/storage/pipeline-runs/provider.js +2 -2
- package/dist/storage/projection-runs/provider.js +4 -4
- package/dist/storage/share-grants/errors.d.ts +8 -0
- package/dist/storage/share-grants/errors.d.ts.map +1 -0
- package/dist/storage/share-grants/in-memory.d.ts +11 -0
- package/dist/storage/share-grants/in-memory.d.ts.map +1 -0
- package/dist/storage/share-grants/index.d.ts +5 -0
- package/dist/storage/share-grants/index.d.ts.map +1 -0
- package/dist/storage/share-grants/provider.d.ts +4 -0
- package/dist/storage/share-grants/provider.d.ts.map +1 -0
- package/dist/storage/share-grants/provider.js +24 -0
- package/dist/storage/share-grants/provider.js.map +9 -0
- package/dist/storage/share-grants/record.d.ts +11 -0
- package/dist/storage/share-grants/record.d.ts.map +1 -0
- package/dist/storage/share-grants/types.d.ts +97 -0
- package/dist/storage/share-grants/types.d.ts.map +1 -0
- package/dist/storage/share-sessions/errors.d.ts +8 -0
- package/dist/storage/share-sessions/errors.d.ts.map +1 -0
- package/dist/storage/share-sessions/in-memory.d.ts +14 -0
- package/dist/storage/share-sessions/in-memory.d.ts.map +1 -0
- package/dist/storage/share-sessions/index.d.ts +5 -0
- package/dist/storage/share-sessions/index.d.ts.map +1 -0
- package/dist/storage/share-sessions/provider.d.ts +3 -0
- package/dist/storage/share-sessions/provider.d.ts.map +1 -0
- package/dist/storage/share-sessions/provider.js +20 -0
- package/dist/storage/share-sessions/provider.js.map +9 -0
- package/dist/storage/share-sessions/record.d.ts +8 -0
- package/dist/storage/share-sessions/record.d.ts.map +1 -0
- package/dist/storage/share-sessions/types.d.ts +50 -0
- package/dist/storage/share-sessions/types.d.ts.map +1 -0
- package/dist/storage/sync-runs/provider.js +2 -2
- package/dist/storage/transaction.d.ts +2 -1
- package/dist/storage/transaction.d.ts.map +1 -1
- package/dist/storage/types.d.ts +13 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/webhook-runs/provider.js +2 -2
- package/dist/storage/workflow-runs/provider.d.ts +1 -1
- package/dist/storage/workflow-runs/provider.js +14 -12
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/storage/workflow-runs/types.d.ts +5 -4
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/execution.d.ts.map +1 -1
- package/dist/syncs/index.js +41 -36
- package/dist/syncs/index.js.map +1 -1
- package/dist/syncs/request.d.ts.map +1 -1
- package/dist/testing/agent-execution.d.ts +3 -1
- package/dist/testing/agent-execution.d.ts.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-limit-storage-contract.d.ts +18 -0
- package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -0
- package/dist/testing/ai-model-call-groups-contract.d.ts +6 -0
- package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -0
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/dataset-sequence-contract.d.ts +4 -0
- package/dist/testing/dataset-sequence-contract.d.ts.map +1 -0
- package/dist/testing/effective-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution-storage-contract.d.ts +4 -0
- package/dist/testing/execution-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +5392 -2070
- package/dist/testing/index.js.map +21 -15
- package/dist/testing/lake-merge-storage-contract.d.ts +1 -0
- package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-read-scope-contract.d.ts +22 -0
- package/dist/testing/object-read-scope-contract.d.ts.map +1 -0
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/testing/share-grant-storage-contract.d.ts +10 -0
- package/dist/testing/share-grant-storage-contract.d.ts.map +1 -0
- package/dist/testing/share-session-storage-contract.d.ts +9 -0
- package/dist/testing/share-session-storage-contract.d.ts.map +1 -0
- package/dist/webhooks/internal.js +36 -29
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +2 -2
- package/dist/workflows/agent-step-identity.d.ts +3 -0
- package/dist/workflows/agent-step-identity.d.ts.map +1 -0
- package/dist/workflows/builders.d.ts +2 -3
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/execution.d.ts +1 -1
- package/dist/workflows/execution.d.ts.map +1 -1
- package/dist/workflows/failure.d.ts +1 -1
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.d.ts +3 -2
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +63 -48
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +26 -11
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +7 -1
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +43 -4
- package/src/actions/delegated-admission.ts +72 -0
- package/src/actions/descriptor.ts +58 -0
- package/src/actions/execution.ts +99 -24
- package/src/actions/request.ts +136 -19
- package/src/actions/run-authorization.ts +53 -0
- package/src/actions/run-dispatch.ts +8 -1
- package/src/agents/adapters.ts +60 -456
- package/src/agents/authority.ts +215 -34
- package/src/agents/builders.ts +3 -50
- package/src/agents/context-compaction.ts +4 -0
- package/src/agents/context-resolution.ts +1 -4
- package/src/agents/dispatch.ts +59 -2
- package/src/agents/errors.ts +4 -11
- package/src/agents/execution.ts +65 -56
- package/src/agents/identity.ts +4 -0
- package/src/agents/ids.ts +16 -1
- package/src/agents/index.ts +23 -30
- package/src/agents/message.ts +20 -12
- package/src/agents/model-loop.ts +1071 -0
- package/src/agents/reference.ts +7 -0
- package/src/agents/request.ts +157 -77
- package/src/agents/retired-config.ts +20 -0
- package/src/agents/streams.ts +45 -19
- package/src/agents/tool-catalog.ts +21 -0
- package/src/agents/tool-definition.ts +9 -5
- package/src/agents/types.ts +39 -81
- package/src/agents/validation.ts +11 -216
- package/src/ai-usage/execution.ts +189 -0
- package/src/ai-usage/index.ts +15 -0
- package/src/authorization/decision.ts +54 -22
- package/src/authorization/grant-kinds.ts +72 -15
- package/src/authorization/index.ts +2 -0
- package/src/authorization/resolve.ts +12 -5
- package/src/authorization/types.ts +7 -5
- package/src/bootstrap/discovery.ts +3 -3
- package/src/bootstrap/ontology-type-manifest.ts +12 -6
- package/src/datasets/builders.ts +23 -2
- package/src/datasets/changes.ts +16 -4
- package/src/datasets/execution.ts +76 -5
- package/src/datasets/index.ts +1 -0
- package/src/datasets/sequence.ts +77 -0
- package/src/datasets/types.ts +1 -0
- package/src/datasets/validation.ts +26 -0
- package/src/datasets/write.ts +240 -0
- package/src/error-reporting/types.ts +4 -2
- package/src/errors/catalog.ts +8 -0
- package/src/events/execution.ts +57 -7
- package/src/events/types/datasets.ts +2 -6
- package/src/execution/agent.ts +129 -25
- package/src/execution/authorization.ts +493 -83
- package/src/execution/authorized-object-reader.ts +695 -0
- package/src/execution/durable.ts +10 -2
- package/src/execution/index.ts +1 -0
- package/src/execution/request.ts +67 -14
- package/src/execution/scopes.ts +36 -6
- package/src/execution/types.ts +9 -1
- package/src/http/api-routes.ts +108 -0
- package/src/index.ts +72 -22
- package/src/json.ts +9 -0
- package/src/lake-storage/definition-updates.ts +9 -0
- package/src/lake-storage/errors.ts +6 -1
- package/src/lake-storage/in-memory.ts +53 -17
- package/src/lake-storage/index.ts +10 -1
- package/src/lake-storage/merge-validation.ts +12 -2
- package/src/lake-storage/merge.ts +40 -2
- package/src/lake-storage/source-ordering.ts +95 -0
- package/src/lake-storage/sql-transforms.ts +2 -1
- package/src/lake-storage/types.ts +10 -5
- package/src/lake-storage/version-inputs.ts +14 -0
- package/src/models/catalog.ts +137 -0
- package/src/models/definitions.ts +202 -0
- package/src/models/errors.ts +83 -0
- package/src/models/events.ts +198 -0
- package/src/models/index.ts +89 -71
- package/src/models/language-model.ts +143 -0
- package/src/models/messages.ts +78 -0
- package/src/models/pricing.ts +390 -0
- package/src/models/rate-card.ts +101 -0
- package/src/models/tools.ts +29 -0
- package/src/objects/authorized-ontology-view.ts +512 -0
- package/src/objects/execution.ts +98 -143
- package/src/objects/link/authorization.ts +3 -2
- package/src/objects/query/executor.ts +45 -34
- package/src/objects/query/links.ts +84 -25
- package/src/objects/query/selected-read-admission.ts +310 -0
- package/src/objects/query/validate.ts +353 -36
- package/src/objects/sdk/object-handle.ts +2 -8
- package/src/objects/sdk/object-set.ts +10 -11
- package/src/objects/sdk/runtime-query-executor.ts +8 -28
- package/src/objects/sdk/telemetry-channel.ts +11 -7
- package/src/objects/service/list-service.ts +15 -29
- package/src/objects/telemetry/history.ts +297 -17
- package/src/objects/telemetry/index.ts +2 -2
- package/src/objects/telemetry/workload.ts +79 -0
- package/src/ontology/index.ts +7 -1
- package/src/ontology/inference/index.ts +4 -1
- package/src/ontology/internal.ts +0 -1
- package/src/ontology/json-schema.ts +13 -12
- package/src/ontology/link-path-selection.ts +193 -0
- package/src/ontology/refs.ts +19 -0
- package/src/ontology/tokens.ts +15 -8
- package/src/pipelines/execution.ts +30 -7
- package/src/pipelines/request.ts +5 -0
- package/src/projections/execution.ts +72 -11
- package/src/projections/run-dispatch.ts +6 -12
- package/src/queues/in-memory.ts +5 -0
- package/src/queues/index.ts +11 -0
- package/src/queues/types.ts +20 -3
- package/src/rules/execution.ts +20 -8
- package/src/runtime/create.ts +11 -5
- package/src/runtime/definitions.ts +4 -2
- package/src/runtime/host.ts +28 -8
- package/src/runtime/internal.ts +1 -0
- package/src/runtime/resolve-definitions.ts +22 -36
- package/src/runtime/sixb.ts +29 -10
- package/src/runtime/types.ts +3 -0
- package/src/schedules/execution.ts +24 -2
- package/src/security/every.ts +4 -4
- package/src/security/grants.ts +100 -14
- package/src/security/index.ts +3 -0
- package/src/security/registry.ts +9 -5
- package/src/security/types.ts +23 -4
- package/src/security/validation.ts +33 -9
- package/src/shares/access-plan.ts +225 -0
- package/src/shares/builders.ts +381 -0
- package/src/shares/compiler.ts +359 -0
- package/src/shares/errors.ts +3 -0
- package/src/shares/execution.ts +394 -0
- package/src/shares/index.ts +28 -0
- package/src/shares/internal.ts +9 -0
- package/src/shares/intersection.ts +178 -0
- package/src/shares/session-protocol.ts +258 -0
- package/src/shares/types.ts +76 -0
- package/src/shares/validation.ts +40 -0
- package/src/storage/agents/errors.ts +1 -0
- package/src/storage/agents/in-memory.ts +121 -11
- package/src/storage/agents/index.ts +7 -0
- package/src/storage/agents/provider.ts +150 -6
- package/src/storage/agents/types.ts +73 -16
- package/src/storage/ai-cost/analytics.ts +63 -6
- package/src/storage/ai-cost/codec.ts +37 -12
- package/src/storage/ai-cost/groups.ts +248 -0
- package/src/storage/ai-cost/in-memory.ts +42 -0
- package/src/storage/ai-cost/index.ts +6 -0
- package/src/storage/ai-cost/provider.ts +7 -0
- package/src/storage/ai-cost/types.ts +76 -14
- package/src/storage/ai-cost/validation.ts +147 -17
- package/src/storage/ai-limits/enforcement.ts +68 -0
- package/src/storage/ai-limits/errors.ts +23 -0
- package/src/storage/ai-limits/in-memory.ts +671 -0
- package/src/storage/ai-limits/index.ts +31 -0
- package/src/storage/ai-limits/period.ts +11 -0
- package/src/storage/ai-limits/provider.ts +430 -0
- package/src/storage/ai-limits/types.ts +195 -0
- package/src/storage/ai-usage/in-memory.ts +13 -0
- package/src/storage/ai-usage/record.ts +17 -0
- package/src/storage/ai-usage/types.ts +6 -2
- package/src/storage/auth/errors.ts +6 -0
- package/src/storage/auth/in-memory/auth-storage.ts +69 -0
- package/src/storage/auth/in-memory/device-authorizations.ts +145 -0
- package/src/storage/auth/in-memory/shared.ts +7 -0
- package/src/storage/auth/index.ts +7 -0
- package/src/storage/auth/types.ts +73 -0
- package/src/storage/executions/in-memory.ts +9 -1
- package/src/storage/executions/provider.ts +30 -1
- package/src/storage/executions/run-link.ts +45 -6
- package/src/storage/executions/validation.ts +82 -7
- package/src/storage/in-memory/index.ts +69 -6
- package/src/storage/index.ts +102 -1
- package/src/storage/objects/execution-limits.ts +283 -0
- package/src/storage/objects/guard.ts +55 -0
- package/src/storage/objects/in-memory/index.ts +2 -0
- package/src/storage/objects/in-memory/keys.ts +46 -0
- package/src/storage/objects/in-memory/query.ts +754 -0
- package/src/storage/objects/in-memory/read-scope.ts +211 -0
- package/src/storage/objects/in-memory/read-source.ts +10 -0
- package/src/storage/objects/in-memory/selected-reader.ts +252 -0
- package/src/storage/objects/in-memory/storage.ts +589 -0
- package/src/storage/objects/index.ts +21 -0
- package/src/storage/objects/keys.ts +1 -1
- package/src/storage/objects/read-scope.ts +672 -0
- package/src/storage/objects/types.ts +123 -19
- package/src/storage/operation-scope.ts +16 -0
- package/src/storage/share-grants/errors.ts +14 -0
- package/src/storage/share-grants/in-memory.ts +107 -0
- package/src/storage/share-grants/index.ts +14 -0
- package/src/storage/share-grants/provider.ts +11 -0
- package/src/storage/share-grants/record.ts +347 -0
- package/src/storage/share-grants/types.ts +112 -0
- package/src/storage/share-sessions/errors.ts +14 -0
- package/src/storage/share-sessions/in-memory.ts +105 -0
- package/src/storage/share-sessions/index.ts +11 -0
- package/src/storage/share-sessions/provider.ts +9 -0
- package/src/storage/share-sessions/record.ts +176 -0
- package/src/storage/share-sessions/types.ts +57 -0
- package/src/storage/transaction.ts +14 -2
- package/src/storage/types.ts +64 -0
- package/src/storage/workflow-runs/in-memory.ts +3 -3
- package/src/storage/workflow-runs/provider.ts +2 -2
- package/src/storage/workflow-runs/types.ts +6 -3
- package/src/syncs/execution.ts +25 -5
- package/src/syncs/request.ts +5 -0
- package/src/testing/agent-execution.ts +40 -28
- package/src/testing/agent-storage-contract.ts +249 -28
- package/src/testing/ai-cost-storage-contract.ts +96 -8
- package/src/testing/ai-limit-storage-contract.ts +1134 -0
- package/src/testing/ai-model-call-groups-contract.ts +353 -0
- package/src/testing/ai-usage-storage-contract.ts +31 -0
- package/src/testing/auth-storage-contract.ts +85 -0
- package/src/testing/dataset-sequence-contract.ts +373 -0
- package/src/testing/effective-storage-contract.ts +34 -0
- package/src/testing/execution-storage-contract.ts +81 -2
- package/src/testing/index.ts +26 -0
- package/src/testing/lake-merge-storage-contract.ts +3 -0
- package/src/testing/lake-storage-contract.ts +58 -0
- package/src/testing/object-read-scope-contract.ts +939 -0
- package/src/testing/queues-contract.ts +36 -1
- package/src/testing/share-grant-storage-contract.ts +325 -0
- package/src/testing/share-session-storage-contract.ts +235 -0
- package/src/workflows/agent-step-identity.ts +4 -0
- package/src/workflows/builders.ts +95 -9
- package/src/workflows/execution.ts +55 -16
- package/src/workflows/failure.ts +2 -2
- package/src/workflows/index.ts +3 -0
- package/src/workflows/request.ts +5 -0
- package/src/workflows/types.ts +23 -11
- package/src/workflows/validation.ts +100 -7
- package/dist/chunk-1e8m6yn3.js.map +0 -37
- package/dist/chunk-1g8negke.js.map +0 -11
- package/dist/chunk-4gz41why.js +0 -72
- package/dist/chunk-4gz41why.js.map +0 -11
- package/dist/chunk-5sxb1168.js.map +0 -34
- package/dist/chunk-6gjqgd3d.js.map +0 -11
- package/dist/chunk-819wnjz8.js.map +0 -12
- package/dist/chunk-a31h57d5.js.map +0 -13
- package/dist/chunk-a44d5zgd.js +0 -556
- package/dist/chunk-a44d5zgd.js.map +0 -16
- package/dist/chunk-ckxfnx7f.js.map +0 -13
- package/dist/chunk-dm72y8wt.js.map +0 -10
- package/dist/chunk-drjqm1aa.js.map +0 -15
- package/dist/chunk-dy311asx.js.map +0 -14
- package/dist/chunk-f6erf2vv.js.map +0 -10
- package/dist/chunk-f83ka50g.js.map +0 -23
- package/dist/chunk-fe5ev6mr.js +0 -55
- package/dist/chunk-fe5ev6mr.js.map +0 -11
- package/dist/chunk-h9kxd41f.js.map +0 -11
- package/dist/chunk-hceck7dq.js +0 -137
- package/dist/chunk-hceck7dq.js.map +0 -10
- package/dist/chunk-md8k0r54.js.map +0 -14
- package/dist/chunk-n4spznws.js.map +0 -11
- package/dist/chunk-nva1xkjz.js.map +0 -46
- package/dist/chunk-qewtks41.js.map +0 -11
- package/dist/chunk-t0jjkep3.js.map +0 -10
- package/dist/chunk-t624af60.js.map +0 -56
- package/dist/chunk-t8t39h7v.js.map +0 -10
- package/dist/chunk-t9xghkva.js +0 -28
- package/dist/chunk-t9xghkva.js.map +0 -10
- package/dist/chunk-x2yw73hy.js.map +0 -10
- package/dist/chunk-xc7hq65b.js.map +0 -10
- package/dist/storage/objects/in-memory.d.ts.map +0 -1
- package/src/storage/objects/in-memory.ts +0 -1241
- /package/dist/{chunk-zqysyfjt.js.map → chunk-08m3b6w8.js.map} +0 -0
- /package/dist/{chunk-z3zp0bj1.js.map → chunk-407j3msh.js.map} +0 -0
- /package/dist/{chunk-rhrbz7d4.js.map → chunk-4a849fr1.js.map} +0 -0
- /package/dist/{chunk-cy0n5dms.js.map → chunk-4jjp5k14.js.map} +0 -0
- /package/dist/{chunk-ezake7g1.js.map → chunk-5ntny1qx.js.map} +0 -0
- /package/dist/{chunk-72q2y8hn.js.map → chunk-8tsf6dmc.js.map} +0 -0
- /package/dist/{chunk-vybf6pkp.js.map → chunk-dbc80ad7.js.map} +0 -0
- /package/dist/{chunk-nkbfrt0c.js.map → chunk-f26bck4t.js.map} +0 -0
- /package/dist/{chunk-dsrkgtnh.js.map → chunk-jq43kdvk.js.map} +0 -0
- /package/dist/{chunk-wtmzkcht.js.map → chunk-k34z5rvh.js.map} +0 -0
- /package/dist/{chunk-htq0qh7z.js.map → chunk-ka3a2ft3.js.map} +0 -0
- /package/dist/{chunk-f2rt4vkh.js.map → chunk-n2w475r0.js.map} +0 -0
- /package/dist/{chunk-bhxaq2nn.js.map → chunk-qw9gvjv5.js.map} +0 -0
- /package/dist/{chunk-dysw7nsm.js.map → chunk-rv2hkwwa.js.map} +0 -0
- /package/dist/{chunk-ghteq96b.js.map → chunk-s5y30bc9.js.map} +0 -0
- /package/dist/{chunk-xkthy56g.js.map → chunk-w1tvjszy.js.map} +0 -0
- /package/dist/{chunk-8b55ygje.js.map → chunk-w3e09qqk.js.map} +0 -0
- /package/dist/{chunk-62c7t4jc.js.map → chunk-wdage1eb.js.map} +0 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { isDeepStrictEqual } from "node:util"
|
|
2
|
+
import { AGENT_REASONING_LEVELS } from "../../agents/types"
|
|
3
|
+
import { isFileRef } from "../../blob-storage"
|
|
4
|
+
import { isModelReasoning } from "../../models/language-model"
|
|
5
|
+
import type { ExecutionRecord, ExecutionStorage } from "../executions"
|
|
3
6
|
import { findAgentRunExecution } from "../executions/run-link"
|
|
4
7
|
import { AgentStorageError } from "./errors"
|
|
5
8
|
import type {
|
|
@@ -7,23 +10,60 @@ import type {
|
|
|
7
10
|
AgentMessageRecord,
|
|
8
11
|
AgentRunRecord,
|
|
9
12
|
AgentThreadRecord,
|
|
13
|
+
ConversationAgentRunSpec,
|
|
10
14
|
CreateAgentContextCheckpointInput,
|
|
15
|
+
CreateSubagentRunInput,
|
|
16
|
+
SubagentRunRecord,
|
|
17
|
+
SubagentRunResult,
|
|
11
18
|
} from "./types"
|
|
12
19
|
|
|
20
|
+
/** Validate the provider-neutral model selection captured for a conversational turn. */
|
|
21
|
+
export function assertConversationAgentRunSpec(
|
|
22
|
+
spec: ConversationAgentRunSpec,
|
|
23
|
+
prefix = "Sixb"
|
|
24
|
+
): void {
|
|
25
|
+
if (!isRecord(spec) || !isRecord(spec.model)) {
|
|
26
|
+
throw new AgentStorageError(
|
|
27
|
+
"invalid_input",
|
|
28
|
+
`[${prefix}] Conversational Agent run spec must contain a model reference.`
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
for (const [name, value] of [
|
|
32
|
+
["model.provider", spec.model.provider],
|
|
33
|
+
["model.modelId", spec.model.modelId],
|
|
34
|
+
] as const) {
|
|
35
|
+
if (typeof value !== "string" || value.trim().length === 0) {
|
|
36
|
+
throw new AgentStorageError(
|
|
37
|
+
"invalid_input",
|
|
38
|
+
`[${prefix}] Conversational Agent run '${name}' must not be empty.`
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (spec.reasoning !== undefined && !isModelReasoning(spec.reasoning)) {
|
|
43
|
+
throw new AgentStorageError(
|
|
44
|
+
"invalid_input",
|
|
45
|
+
`[${prefix}] Conversational Agent reasoning must be one of: ${AGENT_REASONING_LEVELS.join(", ")}, or a nonnegative budgetTokens object.`
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function isRecord(value: unknown): value is Readonly<Record<string, unknown>> {
|
|
51
|
+
return typeof value === "object" && value !== null && !Array.isArray(value)
|
|
52
|
+
}
|
|
53
|
+
|
|
13
54
|
/** Validate the semantic link between a conversational Agent run and its immutable execution. */
|
|
14
55
|
export async function assertAgentRunExecution(input: {
|
|
15
56
|
readonly executions: ExecutionStorage
|
|
16
57
|
readonly projectId: string
|
|
17
58
|
readonly executionId: string
|
|
18
59
|
readonly runId: string
|
|
19
|
-
|
|
20
|
-
}): Promise<void> {
|
|
60
|
+
}): Promise<ExecutionRecord> {
|
|
21
61
|
const execution = await findAgentRunExecution({
|
|
22
62
|
executions: input.executions,
|
|
23
63
|
projectId: input.projectId,
|
|
24
64
|
executionId: input.executionId,
|
|
25
65
|
runId: input.runId,
|
|
26
|
-
|
|
66
|
+
authority: { type: "inherited" },
|
|
27
67
|
})
|
|
28
68
|
if (!execution) {
|
|
29
69
|
throw new AgentStorageError(
|
|
@@ -31,6 +71,110 @@ export async function assertAgentRunExecution(input: {
|
|
|
31
71
|
`[Sixb] Execution '${input.executionId}' does not authorize Agent run '${input.runId}'.`
|
|
32
72
|
)
|
|
33
73
|
}
|
|
74
|
+
return execution
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Validate the provider-neutral payload of an idempotent child admission. */
|
|
78
|
+
export function assertCreateSubagentRunInput(input: CreateSubagentRunInput, prefix = "Sixb"): void {
|
|
79
|
+
for (const [name, value] of [
|
|
80
|
+
["id", input.id],
|
|
81
|
+
["projectId", input.projectId],
|
|
82
|
+
["executionId", input.executionId],
|
|
83
|
+
["parentRunId", input.parentRunId],
|
|
84
|
+
["parentExecutionToken", input.parentExecutionToken],
|
|
85
|
+
["spawnKey", input.spawnKey],
|
|
86
|
+
["model.provider", input.spec.model.provider],
|
|
87
|
+
["model.modelId", input.spec.model.modelId],
|
|
88
|
+
["task", input.spec.task],
|
|
89
|
+
] as const) {
|
|
90
|
+
if (value.trim().length === 0) {
|
|
91
|
+
throw new AgentStorageError(
|
|
92
|
+
"invalid_input",
|
|
93
|
+
`[${prefix}] Subagent run '${name}' must not be empty.`
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (input.spawnKey.length > 128) {
|
|
98
|
+
throw new AgentStorageError(
|
|
99
|
+
"invalid_input",
|
|
100
|
+
`[${prefix}] Subagent spawn key must not exceed 128 characters.`
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
for (const [name, value] of [
|
|
104
|
+
["maxActiveChildren", input.maxActiveChildren],
|
|
105
|
+
["spec.maxSteps", input.spec.maxSteps],
|
|
106
|
+
] as const) {
|
|
107
|
+
if (!Number.isSafeInteger(value) || value < 1) {
|
|
108
|
+
throw new AgentStorageError(
|
|
109
|
+
"invalid_input",
|
|
110
|
+
`[${prefix}] Subagent run '${name}' must be a positive safe integer.`
|
|
111
|
+
)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (new Set(input.spec.toolNames).size !== input.spec.toolNames.length) {
|
|
115
|
+
throw new AgentStorageError(
|
|
116
|
+
"invalid_input",
|
|
117
|
+
`[${prefix}] Subagent run tool names must be unique.`
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
if (input.spec.reasoning !== undefined && !isModelReasoning(input.spec.reasoning)) {
|
|
121
|
+
throw new AgentStorageError(
|
|
122
|
+
"invalid_input",
|
|
123
|
+
`[${prefix}] Subagent reasoning must be one of: ${AGENT_REASONING_LEVELS.join(", ")}, or a nonnegative budgetTokens object.`
|
|
124
|
+
)
|
|
125
|
+
}
|
|
126
|
+
if (input.spec.toolNames.some((name) => !name.trim())) {
|
|
127
|
+
throw new AgentStorageError(
|
|
128
|
+
"invalid_input",
|
|
129
|
+
`[${prefix}] Subagent run tool names must not be empty.`
|
|
130
|
+
)
|
|
131
|
+
}
|
|
132
|
+
if (input.createdAt && !Number.isFinite(input.createdAt.getTime())) {
|
|
133
|
+
throw new AgentStorageError(
|
|
134
|
+
"invalid_input",
|
|
135
|
+
`[${prefix}] Subagent run createdAt must be a valid date.`
|
|
136
|
+
)
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/** Exact semantic match required when a durable spawn key is replayed. */
|
|
141
|
+
export function subagentRunMatchesCreateInput(
|
|
142
|
+
run: AgentRunRecord,
|
|
143
|
+
input: CreateSubagentRunInput
|
|
144
|
+
): run is SubagentRunRecord {
|
|
145
|
+
return (
|
|
146
|
+
run.kind === "subagent" &&
|
|
147
|
+
run.id === input.id &&
|
|
148
|
+
run.projectId === input.projectId &&
|
|
149
|
+
run.executionId === input.executionId &&
|
|
150
|
+
run.parentRunId === input.parentRunId &&
|
|
151
|
+
run.spawnKey === input.spawnKey &&
|
|
152
|
+
isDeepStrictEqual(run.spec, input.spec)
|
|
153
|
+
)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/** Validate the small durable result returned by a successful child. */
|
|
157
|
+
export function assertSubagentRunResult(
|
|
158
|
+
result: SubagentRunResult | undefined,
|
|
159
|
+
runId: string,
|
|
160
|
+
prefix = "Sixb"
|
|
161
|
+
): asserts result is SubagentRunResult {
|
|
162
|
+
const text = result?.text
|
|
163
|
+
const files = result?.files
|
|
164
|
+
const hasText = typeof text === "string" && text.trim().length > 0
|
|
165
|
+
const hasFiles = Array.isArray(files) && files.length > 0 && files.every(isFileRef)
|
|
166
|
+
if (!result || (!hasText && !hasFiles)) {
|
|
167
|
+
throw new AgentStorageError(
|
|
168
|
+
"invalid_input",
|
|
169
|
+
`[${prefix}] Succeeded subagent run '${runId}' requires text or files.`
|
|
170
|
+
)
|
|
171
|
+
}
|
|
172
|
+
if ((text !== undefined && !hasText) || (files !== undefined && !hasFiles)) {
|
|
173
|
+
throw new AgentStorageError(
|
|
174
|
+
"invalid_input",
|
|
175
|
+
`[${prefix}] Subagent run '${runId}' has an invalid result.`
|
|
176
|
+
)
|
|
177
|
+
}
|
|
34
178
|
}
|
|
35
179
|
|
|
36
180
|
/** Validate provider-independent checkpoint fields before entering a storage critical section. */
|
|
@@ -136,7 +280,7 @@ export function assertAgentContextCheckpointAuthority(input: {
|
|
|
136
280
|
`[${prefix}] Agent thread '${create.threadId}' not found for project '${create.projectId}'.`
|
|
137
281
|
)
|
|
138
282
|
}
|
|
139
|
-
if (run.threadId !== create.threadId) {
|
|
283
|
+
if (run.kind !== "conversation" || run.threadId !== create.threadId) {
|
|
140
284
|
throw new AgentStorageError(
|
|
141
285
|
"invalid_input",
|
|
142
286
|
`[${prefix}] Agent run '${run.id}' does not belong to thread '${create.threadId}'.`
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { AgentMessage, AgentMessagePart, AgentMessageRole } from "../../agents/message"
|
|
2
|
+
import type { AgentReasoningLevel } from "../../agents/types"
|
|
2
3
|
import type { Principal } from "../../auth"
|
|
4
|
+
import type { FileRef } from "../../blob-storage"
|
|
3
5
|
import type { SixbErrorCode, SixbFailure } from "../../errors/types"
|
|
4
6
|
import type { JsonValue } from "../../json"
|
|
7
|
+
import type { LanguageModelRef } from "../../models"
|
|
5
8
|
|
|
6
9
|
// ── agent_threads — one conversation with an agent ──────────────────────────────────────────────
|
|
7
10
|
|
|
@@ -10,7 +13,6 @@ export type AgentThreadStatus = "active" | "archived"
|
|
|
10
13
|
export interface AgentThreadRecord {
|
|
11
14
|
readonly id: string
|
|
12
15
|
readonly projectId: string
|
|
13
|
-
readonly agentId: string
|
|
14
16
|
/** Who owns/opened the thread. Reuses the canonical auth principal (gains `agent` later for free). */
|
|
15
17
|
readonly ownerPrincipal: Principal
|
|
16
18
|
readonly title?: string
|
|
@@ -26,7 +28,6 @@ export interface AgentThreadRecord {
|
|
|
26
28
|
export interface CreateAgentThreadInput {
|
|
27
29
|
readonly id: string
|
|
28
30
|
readonly projectId: string
|
|
29
|
-
readonly agentId: string
|
|
30
31
|
readonly ownerPrincipal: Principal
|
|
31
32
|
readonly title?: string
|
|
32
33
|
readonly status?: AgentThreadStatus
|
|
@@ -36,9 +37,6 @@ export interface CreateAgentThreadInput {
|
|
|
36
37
|
|
|
37
38
|
export interface ListAgentThreadsInput {
|
|
38
39
|
readonly projectId: string
|
|
39
|
-
readonly agentId?: string
|
|
40
|
-
/** Optional allowlist intersected with `agentId` when both are provided. Empty means no rows. */
|
|
41
|
-
readonly agentIds?: readonly string[]
|
|
42
40
|
readonly statuses?: readonly AgentThreadStatus[]
|
|
43
41
|
readonly ownerPrincipal?: Principal
|
|
44
42
|
readonly limit?: number
|
|
@@ -58,21 +56,23 @@ export interface ListAgentThreadsResult {
|
|
|
58
56
|
export type AgentExecutionStatus = "queued" | "running" | "succeeded" | "failed" | "cancelled"
|
|
59
57
|
|
|
60
58
|
export type AgentRunStatus = AgentExecutionStatus
|
|
59
|
+
export type AgentRunKind = "conversation" | "subagent"
|
|
61
60
|
|
|
62
61
|
/** Error codes an agent execution can persist and expose through its public contract. */
|
|
63
62
|
export const AGENT_RUN_FAILURE_CODES = [
|
|
64
63
|
"internal.unexpected",
|
|
65
64
|
"runtime.cancelled",
|
|
66
65
|
"agent.execution_failed",
|
|
66
|
+
"ai.usage_limit_exceeded",
|
|
67
|
+
"ai.usage_limit_unavailable",
|
|
67
68
|
] as const satisfies readonly [SixbErrorCode, ...SixbErrorCode[]]
|
|
68
69
|
|
|
69
70
|
export type AgentRunFailureCode = (typeof AGENT_RUN_FAILURE_CODES)[number]
|
|
70
71
|
|
|
71
72
|
/**
|
|
72
|
-
* Why a run ended —
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* records *that* the run ended.
|
|
73
|
+
* Why a run ended — Sixb's provider-independent vocabulary. It includes model-loop reasons plus
|
|
74
|
+
* platform-level endings such as `timeout`, so reads remain typed and exhaustive. `other` and
|
|
75
|
+
* `unknown` preserve terminal state when a provider adds a new reason.
|
|
76
76
|
*/
|
|
77
77
|
export const AGENT_RUN_FINISH_REASONS = [
|
|
78
78
|
"stop",
|
|
@@ -144,13 +144,10 @@ export interface AgentRunExecution {
|
|
|
144
144
|
readonly queueLeaseExpiresAt: Date
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
interface AgentRunRecordBase {
|
|
148
148
|
readonly id: string
|
|
149
149
|
readonly projectId: string
|
|
150
150
|
readonly executionId: string
|
|
151
|
-
readonly threadId: string
|
|
152
|
-
readonly agentId: string
|
|
153
|
-
readonly triggerMessageId: string
|
|
154
151
|
/** Durable group memberships snapshotted when the run was admitted. */
|
|
155
152
|
readonly requesterGroupIds: readonly string[]
|
|
156
153
|
readonly status: AgentRunStatus
|
|
@@ -169,17 +166,73 @@ export interface AgentRunRecord {
|
|
|
169
166
|
readonly completedAt?: Date
|
|
170
167
|
}
|
|
171
168
|
|
|
169
|
+
export interface ConversationAgentRunRecord extends AgentRunRecordBase {
|
|
170
|
+
readonly kind: "conversation"
|
|
171
|
+
readonly threadId: string
|
|
172
|
+
readonly triggerMessageId: string
|
|
173
|
+
/** Immutable model selection captured at admission. Absent only on runs predating this field. */
|
|
174
|
+
readonly spec?: ConversationAgentRunSpec
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/** Immutable, serialisable model selection for one conversational turn. */
|
|
178
|
+
export interface ConversationAgentRunSpec {
|
|
179
|
+
readonly model: LanguageModelRef
|
|
180
|
+
readonly reasoning?: AgentReasoningLevel
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/** Immutable, serialisable child configuration captured before dispatch. */
|
|
184
|
+
export interface SubagentRunSpec {
|
|
185
|
+
readonly model: LanguageModelRef
|
|
186
|
+
readonly reasoning?: AgentReasoningLevel
|
|
187
|
+
/** Focused task supplied by the parent Agent. */
|
|
188
|
+
readonly task: string
|
|
189
|
+
/** Project tools available when the child was admitted. Runtime tools are injected separately. */
|
|
190
|
+
readonly toolNames: readonly string[]
|
|
191
|
+
readonly maxSteps: number
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/** Durable child output returned to its parent by `wait_agent`. */
|
|
195
|
+
export interface SubagentRunResult {
|
|
196
|
+
readonly text?: string
|
|
197
|
+
readonly files?: readonly FileRef[]
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export interface SubagentRunRecord extends AgentRunRecordBase {
|
|
201
|
+
readonly kind: "subagent"
|
|
202
|
+
readonly parentRunId: string
|
|
203
|
+
/** Stable parent-selected key that makes repeated tool execution idempotent. */
|
|
204
|
+
readonly spawnKey: string
|
|
205
|
+
readonly spec: SubagentRunSpec
|
|
206
|
+
readonly result?: SubagentRunResult
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export type AgentRunRecord = ConversationAgentRunRecord | SubagentRunRecord
|
|
210
|
+
|
|
172
211
|
export interface CreateAgentRunInput {
|
|
173
212
|
readonly id: string
|
|
174
213
|
readonly projectId: string
|
|
175
214
|
readonly executionId: string
|
|
176
215
|
readonly threadId: string
|
|
177
|
-
readonly agentId: string
|
|
178
216
|
readonly triggerMessageId: string
|
|
217
|
+
readonly spec: ConversationAgentRunSpec
|
|
179
218
|
readonly requesterGroupIds: readonly string[]
|
|
180
219
|
readonly createdAt?: Date
|
|
181
220
|
}
|
|
182
221
|
|
|
222
|
+
export interface CreateSubagentRunInput {
|
|
223
|
+
readonly id: string
|
|
224
|
+
readonly projectId: string
|
|
225
|
+
readonly executionId: string
|
|
226
|
+
readonly parentRunId: string
|
|
227
|
+
/** Current parent delivery token. New children are admitted only while that delivery owns it. */
|
|
228
|
+
readonly parentExecutionToken: string
|
|
229
|
+
readonly spawnKey: string
|
|
230
|
+
readonly spec: SubagentRunSpec
|
|
231
|
+
/** Internal safety bound enforced atomically across worker processes. */
|
|
232
|
+
readonly maxActiveChildren: number
|
|
233
|
+
readonly createdAt?: Date
|
|
234
|
+
}
|
|
235
|
+
|
|
183
236
|
export interface StartAgentRunInput {
|
|
184
237
|
readonly id: string
|
|
185
238
|
readonly projectId: string
|
|
@@ -219,6 +272,7 @@ export type FinishAgentRunInput =
|
|
|
219
272
|
readonly modelId?: string
|
|
220
273
|
readonly finishReason?: AgentRunFinishReason
|
|
221
274
|
readonly diagnostics?: readonly AgentRunDiagnostic[]
|
|
275
|
+
readonly result?: SubagentRunResult
|
|
222
276
|
readonly completedAt?: Date
|
|
223
277
|
}
|
|
224
278
|
| {
|
|
@@ -235,8 +289,9 @@ export type FinishAgentRunInput =
|
|
|
235
289
|
|
|
236
290
|
export interface ListAgentRunsInput {
|
|
237
291
|
readonly projectId: string
|
|
292
|
+
readonly kinds?: readonly AgentRunKind[]
|
|
238
293
|
readonly threadId?: string
|
|
239
|
-
readonly
|
|
294
|
+
readonly parentRunId?: string
|
|
240
295
|
readonly statuses?: readonly AgentRunStatus[]
|
|
241
296
|
/** Effective start time; runs that never started use `createdAt`. */
|
|
242
297
|
readonly startedAfter?: Date
|
|
@@ -371,7 +426,9 @@ export interface AgentThreadStore {
|
|
|
371
426
|
|
|
372
427
|
export interface AgentRunStore {
|
|
373
428
|
/** Persist a queued run and atomically claim the thread's single-flight slot. */
|
|
374
|
-
create(input: CreateAgentRunInput): Promise<
|
|
429
|
+
create(input: CreateAgentRunInput): Promise<ConversationAgentRunRecord>
|
|
430
|
+
/** Persist or replay one idempotent child run while atomically enforcing parent fan-out. */
|
|
431
|
+
createSubagent(input: CreateSubagentRunInput): Promise<SubagentRunRecord>
|
|
375
432
|
/** Transition a queued run to running and install the first delivery's execution token. */
|
|
376
433
|
start(input: StartAgentRunInput): Promise<AgentRunRecord>
|
|
377
434
|
/** Finish a queued run before execution and release the thread's single-flight slot. */
|
|
@@ -59,7 +59,8 @@ export interface AiAccountingAggregateFragment {
|
|
|
59
59
|
readonly start?: Date
|
|
60
60
|
readonly providerId?: string
|
|
61
61
|
readonly modelId?: string
|
|
62
|
-
readonly
|
|
62
|
+
readonly agentKind?: "agent" | "workflowAgent"
|
|
63
|
+
readonly agentStepId?: string
|
|
63
64
|
readonly workflowId?: string
|
|
64
65
|
readonly modelCallCount: string
|
|
65
66
|
readonly usage: {
|
|
@@ -154,7 +155,19 @@ export function buildAiAccountingOverview(
|
|
|
154
155
|
JSON.stringify([item.usage.providerId, item.usage.requestedModelId]),
|
|
155
156
|
item
|
|
156
157
|
)
|
|
157
|
-
if (item.attribution
|
|
158
|
+
if (item.attribution?.kind === "agent") {
|
|
159
|
+
appendGrouped(agentItems, JSON.stringify(["agent"]), item)
|
|
160
|
+
} else if (item.attribution?.kind === "workflowAgent") {
|
|
161
|
+
appendGrouped(
|
|
162
|
+
agentItems,
|
|
163
|
+
JSON.stringify([
|
|
164
|
+
"workflowAgent",
|
|
165
|
+
item.attribution.workflowId,
|
|
166
|
+
item.attribution.agentStepId,
|
|
167
|
+
]),
|
|
168
|
+
item
|
|
169
|
+
)
|
|
170
|
+
}
|
|
158
171
|
if (item.attribution?.kind === "workflowAgent") {
|
|
159
172
|
appendGrouped(workflowItems, item.attribution.workflowId, item)
|
|
160
173
|
}
|
|
@@ -171,7 +184,21 @@ export function buildAiAccountingOverview(
|
|
|
171
184
|
})
|
|
172
185
|
.sort(compareModelBreakdowns)
|
|
173
186
|
const agents: AiAccountingAgentBreakdown[] = [...agentItems]
|
|
174
|
-
.map(([
|
|
187
|
+
.map(([key, grouped]) => {
|
|
188
|
+
const [kind, workflowId, agentStepId] = JSON.parse(key) as [
|
|
189
|
+
"agent" | "workflowAgent",
|
|
190
|
+
string?,
|
|
191
|
+
string?,
|
|
192
|
+
]
|
|
193
|
+
return kind === "agent"
|
|
194
|
+
? { kind, ...aggregateAccountingItems(grouped) }
|
|
195
|
+
: {
|
|
196
|
+
kind,
|
|
197
|
+
workflowId: requiredFragmentString(workflowId, "workflowId"),
|
|
198
|
+
agentStepId: requiredFragmentString(agentStepId, "agentStepId"),
|
|
199
|
+
...aggregateAccountingItems(grouped),
|
|
200
|
+
}
|
|
201
|
+
})
|
|
175
202
|
.sort(compareAgentBreakdowns)
|
|
176
203
|
const workflows: AiAccountingWorkflowBreakdown[] = [...workflowItems]
|
|
177
204
|
.map(([workflowId, grouped]) => ({ workflowId, ...aggregateAccountingItems(grouped) }))
|
|
@@ -227,7 +254,14 @@ export function buildAiAccountingOverviewFromFragments(
|
|
|
227
254
|
)
|
|
228
255
|
break
|
|
229
256
|
case "agent":
|
|
230
|
-
target = getFragmentAccumulator(
|
|
257
|
+
target = getFragmentAccumulator(
|
|
258
|
+
agents,
|
|
259
|
+
JSON.stringify([
|
|
260
|
+
requiredFragmentString(fragment.agentKind, "agentKind"),
|
|
261
|
+
fragment.workflowId,
|
|
262
|
+
fragment.agentStepId,
|
|
263
|
+
])
|
|
264
|
+
)
|
|
231
265
|
break
|
|
232
266
|
case "workflow":
|
|
233
267
|
target = getFragmentAccumulator(
|
|
@@ -254,7 +288,21 @@ export function buildAiAccountingOverviewFromFragments(
|
|
|
254
288
|
})
|
|
255
289
|
.sort(compareModelBreakdowns),
|
|
256
290
|
agents: [...agents]
|
|
257
|
-
.map(([
|
|
291
|
+
.map(([key, value]) => {
|
|
292
|
+
const [kind, workflowId, agentStepId] = JSON.parse(key) as [
|
|
293
|
+
"agent" | "workflowAgent",
|
|
294
|
+
string?,
|
|
295
|
+
string?,
|
|
296
|
+
]
|
|
297
|
+
return kind === "agent"
|
|
298
|
+
? { kind, ...finishAggregateFragment(value) }
|
|
299
|
+
: {
|
|
300
|
+
kind,
|
|
301
|
+
workflowId: requiredFragmentString(workflowId, "workflowId"),
|
|
302
|
+
agentStepId: requiredFragmentString(agentStepId, "agentStepId"),
|
|
303
|
+
...finishAggregateFragment(value),
|
|
304
|
+
}
|
|
305
|
+
})
|
|
258
306
|
.sort(compareAgentBreakdowns),
|
|
259
307
|
workflows: [...workflows]
|
|
260
308
|
.map(([workflowId, value]) => ({ workflowId, ...finishAggregateFragment(value) }))
|
|
@@ -560,7 +608,16 @@ function compareAgentBreakdowns(
|
|
|
560
608
|
left: AiAccountingAgentBreakdown,
|
|
561
609
|
right: AiAccountingAgentBreakdown
|
|
562
610
|
): number {
|
|
563
|
-
return
|
|
611
|
+
return (
|
|
612
|
+
right.modelCallCount - left.modelCallCount ||
|
|
613
|
+
agentBreakdownKey(left).localeCompare(agentBreakdownKey(right))
|
|
614
|
+
)
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
function agentBreakdownKey(value: AiAccountingAgentBreakdown): string {
|
|
618
|
+
return value.kind === "agent"
|
|
619
|
+
? "agent"
|
|
620
|
+
: JSON.stringify(["workflowAgent", value.workflowId, value.agentStepId])
|
|
564
621
|
}
|
|
565
622
|
|
|
566
623
|
function compareWorkflowBreakdowns(
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
AiBillableMeter,
|
|
3
|
+
AiCostEstimate,
|
|
4
|
+
AiModelCallCostRecord,
|
|
5
|
+
AiPriceSource,
|
|
6
|
+
AiPricingContext,
|
|
7
|
+
} from "./types"
|
|
8
|
+
import { normalizeAiCostEstimate, normalizeAiPricingContext } from "./validation"
|
|
3
9
|
|
|
4
10
|
export interface AiModelCallCostDetails {
|
|
11
|
+
readonly estimate?: AiCostEstimate
|
|
5
12
|
readonly pricingContext: AiPricingContext
|
|
6
|
-
readonly priceSource
|
|
13
|
+
readonly priceSource?: Omit<AiPriceSource, "observedAt"> & {
|
|
7
14
|
readonly observedAt: string
|
|
8
15
|
}
|
|
9
16
|
readonly components?: Extract<AiModelCallCostRecord, { status: "rated" }>["components"]
|
|
@@ -12,8 +19,16 @@ export interface AiModelCallCostDetails {
|
|
|
12
19
|
|
|
13
20
|
export function aiModelCallCostDetails(record: AiModelCallCostRecord): AiModelCallCostDetails {
|
|
14
21
|
return {
|
|
22
|
+
...(record.estimate === undefined ? {} : { estimate: record.estimate }),
|
|
15
23
|
pricingContext: record.pricingContext,
|
|
16
|
-
|
|
24
|
+
...(record.priceSource === undefined
|
|
25
|
+
? {}
|
|
26
|
+
: {
|
|
27
|
+
priceSource: {
|
|
28
|
+
...record.priceSource,
|
|
29
|
+
observedAt: record.priceSource.observedAt.toISOString(),
|
|
30
|
+
},
|
|
31
|
+
}),
|
|
17
32
|
...(record.status === "rated" ? { components: record.components } : {}),
|
|
18
33
|
...(record.status === "unpriceable" && record.missingMeters
|
|
19
34
|
? { missingMeters: record.missingMeters }
|
|
@@ -25,18 +40,25 @@ export function parseAiModelCallCostDetails(value: unknown): AiModelCallCostDeta
|
|
|
25
40
|
const parsed: unknown = typeof value === "string" ? JSON.parse(value) : value
|
|
26
41
|
if (!isRecord(parsed)) throw invalidDetails()
|
|
27
42
|
const priceSource = parsed.priceSource
|
|
28
|
-
if (!isRecord(priceSource)) throw invalidDetails()
|
|
43
|
+
if (priceSource !== undefined && !isRecord(priceSource)) throw invalidDetails()
|
|
29
44
|
const components = parsed.components
|
|
30
45
|
const missingMeters = parsed.missingMeters
|
|
31
46
|
return {
|
|
47
|
+
...(parsed.estimate === undefined
|
|
48
|
+
? {}
|
|
49
|
+
: { estimate: normalizeAiCostEstimate(parsed.estimate) }),
|
|
32
50
|
pricingContext: pricingContextFromUnknown(parsed.pricingContext),
|
|
33
|
-
priceSource
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
51
|
+
...(priceSource === undefined
|
|
52
|
+
? {}
|
|
53
|
+
: {
|
|
54
|
+
priceSource: {
|
|
55
|
+
sourceId: requiredString(priceSource.sourceId),
|
|
56
|
+
sourceEntryId: requiredString(priceSource.sourceEntryId),
|
|
57
|
+
sourceVersion: requiredString(priceSource.sourceVersion),
|
|
58
|
+
...optionalStringProperty(priceSource, "sourceUrl"),
|
|
59
|
+
observedAt: requiredString(priceSource.observedAt),
|
|
60
|
+
},
|
|
61
|
+
}),
|
|
40
62
|
...(components === undefined ? {} : { components: costComponentsFromUnknown(components) }),
|
|
41
63
|
...(missingMeters === undefined ? {} : { missingMeters: metersFromUnknown(missingMeters) }),
|
|
42
64
|
}
|
|
@@ -50,6 +72,7 @@ function pricingContextFromUnknown(value: unknown): AiPricingContext {
|
|
|
50
72
|
...optionalStringProperty(value, "region"),
|
|
51
73
|
...optionalStringProperty(value, "inferenceGeo"),
|
|
52
74
|
...optionalStringProperty(value, "routedProviderId"),
|
|
75
|
+
...optionalStringProperty(value, "routedModelId"),
|
|
53
76
|
...optionalStringProperty(value, "deploymentId"),
|
|
54
77
|
...optionalStringProperty(value, "inferenceProfileId"),
|
|
55
78
|
...optionalNumberProperty(value, "cacheWriteTtlSeconds"),
|
|
@@ -83,6 +106,8 @@ function billableMeter(value: unknown): AiBillableMeter {
|
|
|
83
106
|
value !== "tokens.input.uncached" &&
|
|
84
107
|
value !== "tokens.input.cacheRead" &&
|
|
85
108
|
value !== "tokens.input.cacheWrite" &&
|
|
109
|
+
value !== "tokens.input.cacheWrite5m" &&
|
|
110
|
+
value !== "tokens.input.cacheWrite1h" &&
|
|
86
111
|
value !== "tokens.output.total" &&
|
|
87
112
|
value !== "tokens.output.text" &&
|
|
88
113
|
value !== "tokens.output.reasoning"
|