@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
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import type { AiAccountingRecordSetItem } from "./analytics"
|
|
2
|
+
import { aiAccountingItemMatchesQuery, normalizeAiModelCallAccountingQuery } from "./analytics"
|
|
3
|
+
import type {
|
|
4
|
+
AiAccountingAttribution,
|
|
5
|
+
AiBillingIdentity,
|
|
6
|
+
AiCostSummary,
|
|
7
|
+
AiModelCallExecutionSummary,
|
|
8
|
+
AiModelCallGroup,
|
|
9
|
+
AiModelCallGroupSummary,
|
|
10
|
+
AiMoney,
|
|
11
|
+
ListAiModelCallGroupsInput,
|
|
12
|
+
ListAiModelCallGroupsResult,
|
|
13
|
+
} from "./types"
|
|
14
|
+
|
|
15
|
+
export interface AiAccountingGroupIdentity {
|
|
16
|
+
readonly executionId: string
|
|
17
|
+
readonly attribution?: AiAccountingAttribution
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** A compact SQL aggregate, never the raw provider response or a page of individual calls. */
|
|
21
|
+
export interface AiModelCallGroupFragment {
|
|
22
|
+
readonly root: AiAccountingGroupIdentity
|
|
23
|
+
readonly execution: AiAccountingGroupIdentity
|
|
24
|
+
readonly model: AiBillingIdentity
|
|
25
|
+
readonly firstCallAt: Date
|
|
26
|
+
readonly lastCallAt: Date
|
|
27
|
+
readonly callCount: string
|
|
28
|
+
readonly tokenCount: string
|
|
29
|
+
readonly totalTokens: string | null
|
|
30
|
+
readonly valuationStatus: "rated" | "unpriceable" | "unvalued"
|
|
31
|
+
readonly money?: AiMoney
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** Common provider projection; SQL groups meters before returning rows to the runtime. */
|
|
35
|
+
export interface AiModelCallGroupRow {
|
|
36
|
+
readonly root_execution_id: string
|
|
37
|
+
readonly execution_id: string
|
|
38
|
+
readonly provider_id: string
|
|
39
|
+
readonly requested_model_id: string
|
|
40
|
+
readonly first_call_at: Date | string
|
|
41
|
+
readonly last_call_at: Date | string
|
|
42
|
+
readonly call_count: string
|
|
43
|
+
readonly token_count: string
|
|
44
|
+
readonly total_tokens: string | null
|
|
45
|
+
readonly valuation_status: AiModelCallGroupFragment["valuationStatus"]
|
|
46
|
+
readonly amount_currency: string | null
|
|
47
|
+
readonly amount_high: string | null
|
|
48
|
+
readonly amount_middle: string | null
|
|
49
|
+
readonly amount_low: string | null
|
|
50
|
+
readonly root_agent_run_id: string | null
|
|
51
|
+
readonly root_thread_id: string | null
|
|
52
|
+
readonly direct_kind: string | null
|
|
53
|
+
readonly direct_run_id: string | null
|
|
54
|
+
readonly parent_run_id: string | null
|
|
55
|
+
readonly workflow_agent_step_id: string | null
|
|
56
|
+
readonly workflow_node_run_id: string | null
|
|
57
|
+
readonly workflow_id: string | null
|
|
58
|
+
readonly workflow_run_id: string | null
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function aiModelCallGroupFragmentFromRow(
|
|
62
|
+
row: AiModelCallGroupRow
|
|
63
|
+
): AiModelCallGroupFragment {
|
|
64
|
+
let attribution: AiAccountingAttribution | undefined
|
|
65
|
+
if (row.root_agent_run_id && row.root_thread_id) {
|
|
66
|
+
attribution = {
|
|
67
|
+
kind: "agent",
|
|
68
|
+
agentRunId: row.root_agent_run_id,
|
|
69
|
+
threadId: row.root_thread_id,
|
|
70
|
+
}
|
|
71
|
+
} else if (
|
|
72
|
+
row.workflow_agent_step_id &&
|
|
73
|
+
row.workflow_node_run_id &&
|
|
74
|
+
row.workflow_id &&
|
|
75
|
+
row.workflow_run_id
|
|
76
|
+
) {
|
|
77
|
+
attribution = {
|
|
78
|
+
kind: "workflowAgent",
|
|
79
|
+
agentStepId: row.workflow_agent_step_id,
|
|
80
|
+
nodeRunId: row.workflow_node_run_id,
|
|
81
|
+
workflowId: row.workflow_id,
|
|
82
|
+
workflowRunId: row.workflow_run_id,
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const executionAttribution: AiAccountingAttribution | undefined =
|
|
86
|
+
row.direct_kind === "subagent" && row.direct_run_id && row.parent_run_id
|
|
87
|
+
? { kind: "subagent", subagentRunId: row.direct_run_id, parentRunId: row.parent_run_id }
|
|
88
|
+
: attribution
|
|
89
|
+
return {
|
|
90
|
+
root: { executionId: row.root_execution_id, attribution },
|
|
91
|
+
execution: { executionId: row.execution_id, attribution: executionAttribution },
|
|
92
|
+
model: { providerId: row.provider_id, modelId: row.requested_model_id },
|
|
93
|
+
firstCallAt: new Date(row.first_call_at),
|
|
94
|
+
lastCallAt: new Date(row.last_call_at),
|
|
95
|
+
callCount: row.call_count,
|
|
96
|
+
tokenCount: row.token_count,
|
|
97
|
+
totalTokens: row.total_tokens,
|
|
98
|
+
valuationStatus: row.valuation_status,
|
|
99
|
+
...(row.amount_currency === null
|
|
100
|
+
? {}
|
|
101
|
+
: {
|
|
102
|
+
money: {
|
|
103
|
+
currency: row.amount_currency,
|
|
104
|
+
amountNanos: (
|
|
105
|
+
BigInt(row.amount_high ?? "0") * 1_000_000_000_000n +
|
|
106
|
+
BigInt(row.amount_middle ?? "0") * 1_000_000n +
|
|
107
|
+
BigInt(row.amount_low ?? "0")
|
|
108
|
+
).toString(),
|
|
109
|
+
},
|
|
110
|
+
}),
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export function buildAiModelCallGroupsFromFragments(
|
|
115
|
+
fragments: readonly AiModelCallGroupFragment[]
|
|
116
|
+
): readonly AiModelCallGroup[] {
|
|
117
|
+
const roots = new Map<string, AiModelCallGroupFragment[]>()
|
|
118
|
+
for (const fragment of fragments) append(roots, fragment.root.executionId, fragment)
|
|
119
|
+
return [...roots.values()]
|
|
120
|
+
.map((rootFragments): AiModelCallGroup => {
|
|
121
|
+
const first = rootFragments[0]!
|
|
122
|
+
const executions = new Map<string, AiModelCallGroupFragment[]>()
|
|
123
|
+
for (const fragment of rootFragments)
|
|
124
|
+
append(executions, fragment.execution.executionId, fragment)
|
|
125
|
+
return {
|
|
126
|
+
...first.root,
|
|
127
|
+
...summarize(rootFragments),
|
|
128
|
+
...timeRange(rootFragments),
|
|
129
|
+
executions: [...executions.values()]
|
|
130
|
+
.map(
|
|
131
|
+
(items): AiModelCallExecutionSummary => ({
|
|
132
|
+
...items[0]!.execution,
|
|
133
|
+
...summarize(items),
|
|
134
|
+
...timeRange(items),
|
|
135
|
+
models: [
|
|
136
|
+
...new Map(items.map(({ model }) => [JSON.stringify(model), model])).values(),
|
|
137
|
+
].sort(
|
|
138
|
+
(a, b) =>
|
|
139
|
+
compareText(a.providerId, b.providerId) || compareText(a.modelId, b.modelId)
|
|
140
|
+
),
|
|
141
|
+
})
|
|
142
|
+
)
|
|
143
|
+
.sort(
|
|
144
|
+
(a, b) =>
|
|
145
|
+
a.firstCallAt.getTime() - b.firstCallAt.getTime() ||
|
|
146
|
+
compareText(a.executionId, b.executionId)
|
|
147
|
+
),
|
|
148
|
+
}
|
|
149
|
+
})
|
|
150
|
+
.sort(
|
|
151
|
+
(a, b) =>
|
|
152
|
+
b.lastCallAt.getTime() - a.lastCallAt.getTime() || compareText(a.executionId, b.executionId)
|
|
153
|
+
)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export function buildAiModelCallGroups(
|
|
157
|
+
input: ListAiModelCallGroupsInput,
|
|
158
|
+
source: readonly (AiAccountingRecordSetItem & { readonly root: AiAccountingGroupIdentity })[]
|
|
159
|
+
): ListAiModelCallGroupsResult {
|
|
160
|
+
const query = normalizeAiModelCallAccountingQuery(input)
|
|
161
|
+
const fragments = source
|
|
162
|
+
.filter(
|
|
163
|
+
(item) =>
|
|
164
|
+
aiAccountingItemMatchesQuery(item, query) &&
|
|
165
|
+
(query.valuationStatus === undefined ||
|
|
166
|
+
(item.cost?.status ?? "unvalued") === query.valuationStatus)
|
|
167
|
+
)
|
|
168
|
+
.map(
|
|
169
|
+
(item): AiModelCallGroupFragment => ({
|
|
170
|
+
root: item.root,
|
|
171
|
+
execution: { executionId: item.usage.executionId, attribution: item.attribution },
|
|
172
|
+
model: { providerId: item.usage.providerId, modelId: item.usage.requestedModelId },
|
|
173
|
+
firstCallAt: item.usage.occurredAt,
|
|
174
|
+
lastCallAt: item.usage.occurredAt,
|
|
175
|
+
callCount: "1",
|
|
176
|
+
tokenCount: item.usage.usage.totalTokens === undefined ? "0" : "1",
|
|
177
|
+
totalTokens: item.usage.usage.totalTokens?.toString() ?? null,
|
|
178
|
+
valuationStatus: item.cost?.status ?? "unvalued",
|
|
179
|
+
...(item.cost && item.cost.status !== "unpriceable" ? { money: item.cost.money } : {}),
|
|
180
|
+
})
|
|
181
|
+
)
|
|
182
|
+
const groups = buildAiModelCallGroupsFromFragments(fragments)
|
|
183
|
+
const items = groups.slice(query.offset, query.offset + query.limit)
|
|
184
|
+
return structuredClone({
|
|
185
|
+
items,
|
|
186
|
+
total: groups.length,
|
|
187
|
+
hasMore: query.offset + items.length < groups.length,
|
|
188
|
+
})
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
function summarize(items: readonly AiModelCallGroupFragment[]): AiModelCallGroupSummary {
|
|
192
|
+
let calls = 0n
|
|
193
|
+
let tokenCount = 0n
|
|
194
|
+
let tokens = 0n
|
|
195
|
+
const counts = { rated: 0n, unpriceable: 0n, unvalued: 0n }
|
|
196
|
+
const money = new Map<string, bigint>()
|
|
197
|
+
for (const item of items) {
|
|
198
|
+
const count = BigInt(item.callCount)
|
|
199
|
+
calls += count
|
|
200
|
+
tokenCount += BigInt(item.tokenCount)
|
|
201
|
+
tokens += BigInt(item.totalTokens ?? "0")
|
|
202
|
+
counts[item.valuationStatus] += count
|
|
203
|
+
if (item.money)
|
|
204
|
+
money.set(
|
|
205
|
+
item.money.currency,
|
|
206
|
+
(money.get(item.money.currency) ?? 0n) + BigInt(item.money.amountNanos)
|
|
207
|
+
)
|
|
208
|
+
}
|
|
209
|
+
const costs: AiCostSummary = {
|
|
210
|
+
amounts: [...money]
|
|
211
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
212
|
+
.map(([currency, amount]) => ({ currency, amountNanos: amount.toString() })),
|
|
213
|
+
ratedCallCount: safeCount(counts.rated),
|
|
214
|
+
unpriceableCallCount: safeCount(counts.unpriceable),
|
|
215
|
+
unvaluedCallCount: safeCount(counts.unvalued),
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
modelCallCount: safeCount(calls),
|
|
219
|
+
...(calls === tokenCount ? { totalTokens: safeCount(tokens) } : {}),
|
|
220
|
+
costs,
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
function timeRange(items: readonly AiModelCallGroupFragment[]) {
|
|
225
|
+
let first = items[0]!.firstCallAt.getTime()
|
|
226
|
+
let last = items[0]!.lastCallAt.getTime()
|
|
227
|
+
for (const item of items) {
|
|
228
|
+
first = Math.min(first, item.firstCallAt.getTime())
|
|
229
|
+
last = Math.max(last, item.lastCallAt.getTime())
|
|
230
|
+
}
|
|
231
|
+
return { firstCallAt: new Date(first), lastCallAt: new Date(last) }
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
function compareText(a: string, b: string): number {
|
|
235
|
+
return a === b ? 0 : a < b ? -1 : 1
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
function safeCount(value: bigint): number {
|
|
239
|
+
if (value < 0n || value > BigInt(Number.MAX_SAFE_INTEGER))
|
|
240
|
+
throw new RangeError("[Sixb] AI accounting group count exceeds the safe integer range.")
|
|
241
|
+
return Number(value)
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
function append<T>(map: Map<string, T[]>, key: string, item: T): void {
|
|
245
|
+
const items = map.get(key)
|
|
246
|
+
if (items) items.push(item)
|
|
247
|
+
else map.set(key, [item])
|
|
248
|
+
}
|
|
@@ -2,6 +2,7 @@ import type { AiModelCallUsageRecord, InMemoryAiUsageStorageSnapshot } from "../
|
|
|
2
2
|
import type { AiAccountingRecordSetItem } from "./analytics"
|
|
3
3
|
import { buildAiAccountingOverview, buildAiModelCallAccountingList } from "./analytics"
|
|
4
4
|
import { AiCostStorageError } from "./errors"
|
|
5
|
+
import { type AiAccountingGroupIdentity, buildAiModelCallGroups } from "./groups"
|
|
5
6
|
import type {
|
|
6
7
|
AiAccountingAttribution,
|
|
7
8
|
AiAccountingOverview,
|
|
@@ -11,6 +12,8 @@ import type {
|
|
|
11
12
|
AiMoney,
|
|
12
13
|
ListAiModelCallAccountingInput,
|
|
13
14
|
ListAiModelCallAccountingResult,
|
|
15
|
+
ListAiModelCallGroupsInput,
|
|
16
|
+
ListAiModelCallGroupsResult,
|
|
14
17
|
QueryAiAccountingOverviewInput,
|
|
15
18
|
SummarizeAiCostExecutionsInput,
|
|
16
19
|
} from "./types"
|
|
@@ -25,6 +28,10 @@ interface InMemoryAiCostUsageSource {
|
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
export interface InMemoryAiAccountingAttributionSource {
|
|
31
|
+
resolveGroup?(input: {
|
|
32
|
+
readonly projectId: string
|
|
33
|
+
readonly executionId: string
|
|
34
|
+
}): Promise<{ readonly executionId: string; readonly attribution?: AiAccountingAttribution }>
|
|
28
35
|
resolve(input: {
|
|
29
36
|
readonly projectId: string
|
|
30
37
|
readonly executionId: string
|
|
@@ -85,10 +92,45 @@ export class InMemoryAiCostStorage implements AiCostStorage {
|
|
|
85
92
|
return structuredClone({ recordsByUsage: this.recordsByUsage })
|
|
86
93
|
}
|
|
87
94
|
|
|
95
|
+
async listModelCallGroups(
|
|
96
|
+
input: ListAiModelCallGroupsInput
|
|
97
|
+
): Promise<ListAiModelCallGroupsResult> {
|
|
98
|
+
const items = await this.accountingItems()
|
|
99
|
+
const roots = new Map<string, Promise<AiAccountingGroupIdentity>>()
|
|
100
|
+
return buildAiModelCallGroups(
|
|
101
|
+
input,
|
|
102
|
+
await Promise.all(
|
|
103
|
+
items.map(async (item) => {
|
|
104
|
+
const key = usageRecordKey(item.usage.projectId, item.usage.executionId)
|
|
105
|
+
let root = roots.get(key)
|
|
106
|
+
if (!root) {
|
|
107
|
+
root =
|
|
108
|
+
this.attribution?.resolveGroup?.({
|
|
109
|
+
projectId: item.usage.projectId,
|
|
110
|
+
executionId: item.usage.executionId,
|
|
111
|
+
}) ??
|
|
112
|
+
Promise.resolve({
|
|
113
|
+
executionId: item.usage.executionId,
|
|
114
|
+
attribution: item.attribution,
|
|
115
|
+
})
|
|
116
|
+
roots.set(key, root)
|
|
117
|
+
}
|
|
118
|
+
return { ...item, root: await root }
|
|
119
|
+
})
|
|
120
|
+
)
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
|
|
88
124
|
restore(snapshot: InMemoryAiCostStorageSnapshot): void {
|
|
89
125
|
replaceMap(this.recordsByUsage, snapshot.recordsByUsage)
|
|
90
126
|
}
|
|
91
127
|
|
|
128
|
+
/** @internal Immutable accounting source used by in-memory AI limit enforcement. */
|
|
129
|
+
getRecord(projectId: string, usageRecordId: string): AiModelCallCostRecord | null {
|
|
130
|
+
const record = this.recordsByUsage.get(usageRecordKey(projectId, usageRecordId))
|
|
131
|
+
return record ? structuredClone(record) : null
|
|
132
|
+
}
|
|
133
|
+
|
|
92
134
|
private usageRecord(projectId: string, id: string): AiModelCallUsageRecord | undefined {
|
|
93
135
|
return [...this.usage.snapshot().records.values()].find(
|
|
94
136
|
(record) => record.projectId === projectId && record.id === id
|
|
@@ -18,10 +18,14 @@ export type {
|
|
|
18
18
|
AiBillableMeter,
|
|
19
19
|
AiBillingIdentity,
|
|
20
20
|
AiCostComponent,
|
|
21
|
+
AiCostEstimate,
|
|
21
22
|
AiCostStorage,
|
|
22
23
|
AiCostSummary,
|
|
23
24
|
AiModelCallAccountingItem,
|
|
24
25
|
AiModelCallCostRecord,
|
|
26
|
+
AiModelCallExecutionSummary,
|
|
27
|
+
AiModelCallGroup,
|
|
28
|
+
AiModelCallGroupSummary,
|
|
25
29
|
AiMoney,
|
|
26
30
|
AiPriceSource,
|
|
27
31
|
AiPricingContext,
|
|
@@ -30,6 +34,8 @@ export type {
|
|
|
30
34
|
AiUnpriceableReason,
|
|
31
35
|
ListAiModelCallAccountingInput,
|
|
32
36
|
ListAiModelCallAccountingResult,
|
|
37
|
+
ListAiModelCallGroupsInput,
|
|
38
|
+
ListAiModelCallGroupsResult,
|
|
33
39
|
QueryAiAccountingOverviewInput,
|
|
34
40
|
SummarizeAiCostExecutionsInput,
|
|
35
41
|
} from "./types"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** @internal Storage-provider helpers; not part of the app-author API. */
|
|
2
|
+
|
|
2
3
|
export type {
|
|
3
4
|
AiAccountingAggregateFragment,
|
|
4
5
|
AiAccountingRecordSetItem,
|
|
@@ -13,6 +14,12 @@ export {
|
|
|
13
14
|
} from "./analytics"
|
|
14
15
|
export type { AiModelCallCostDetails } from "./codec"
|
|
15
16
|
export { aiModelCallCostDetails, parseAiModelCallCostDetails } from "./codec"
|
|
17
|
+
export type {
|
|
18
|
+
AiAccountingGroupIdentity,
|
|
19
|
+
AiModelCallGroupFragment,
|
|
20
|
+
AiModelCallGroupRow,
|
|
21
|
+
} from "./groups"
|
|
22
|
+
export { aiModelCallGroupFragmentFromRow, buildAiModelCallGroupsFromFragments } from "./groups"
|
|
16
23
|
export {
|
|
17
24
|
aiModelCallCostMatchesUsage,
|
|
18
25
|
normalizeAiModelCallCostRecord,
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { AiModelCallUsageRecord } from "../ai-usage"
|
|
2
2
|
|
|
3
|
-
/** Token meters supported by
|
|
3
|
+
/** Token meters supported by deterministic local rate cards. */
|
|
4
4
|
export type AiBillableMeter =
|
|
5
5
|
| "tokens.input.total"
|
|
6
6
|
| "tokens.input.uncached"
|
|
7
7
|
| "tokens.input.cacheRead"
|
|
8
8
|
| "tokens.input.cacheWrite"
|
|
9
|
+
| "tokens.input.cacheWrite5m"
|
|
10
|
+
| "tokens.input.cacheWrite1h"
|
|
9
11
|
| "tokens.output.total"
|
|
10
12
|
| "tokens.output.text"
|
|
11
13
|
| "tokens.output.reasoning"
|
|
@@ -17,7 +19,7 @@ export interface AiMoney {
|
|
|
17
19
|
readonly amountNanos: string
|
|
18
20
|
}
|
|
19
21
|
|
|
20
|
-
/** Provider and model
|
|
22
|
+
/** Provider and model identity used for billing. */
|
|
21
23
|
export interface AiBillingIdentity {
|
|
22
24
|
readonly providerId: string
|
|
23
25
|
readonly modelId: string
|
|
@@ -30,18 +32,19 @@ export interface AiPricingContext {
|
|
|
30
32
|
readonly region?: string
|
|
31
33
|
readonly inferenceGeo?: string
|
|
32
34
|
readonly routedProviderId?: string
|
|
35
|
+
readonly routedModelId?: string
|
|
33
36
|
readonly deploymentId?: string
|
|
34
37
|
readonly inferenceProfileId?: string
|
|
35
38
|
readonly cacheWriteTtlSeconds?: number
|
|
36
39
|
readonly mode?: string
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
/** Immutable provenance of the
|
|
42
|
+
/** Immutable provenance of the provider report or rate card applied to a valuation. */
|
|
40
43
|
export interface AiPriceSource {
|
|
41
44
|
readonly sourceId: string
|
|
42
45
|
readonly sourceEntryId: string
|
|
43
46
|
readonly sourceVersion: string
|
|
44
|
-
readonly sourceUrl
|
|
47
|
+
readonly sourceUrl?: string
|
|
45
48
|
readonly observedAt: Date
|
|
46
49
|
}
|
|
47
50
|
|
|
@@ -54,31 +57,46 @@ export interface AiCostComponent {
|
|
|
54
57
|
|
|
55
58
|
export type AiUnpriceableReason =
|
|
56
59
|
| "missingBillingIdentity"
|
|
57
|
-
| "
|
|
60
|
+
| "missingRateCard"
|
|
58
61
|
| "missingUsageMeter"
|
|
59
62
|
| "unsupportedPricingDimension"
|
|
60
63
|
| "invalidUsageForFormula"
|
|
61
64
|
|
|
62
65
|
interface AiModelCallCostRecordBase {
|
|
66
|
+
/** Local estimate retained independently when an inline provider cost is selected. */
|
|
67
|
+
readonly estimate?: AiCostEstimate
|
|
63
68
|
readonly projectId: string
|
|
64
69
|
readonly usageRecordId: string
|
|
65
70
|
readonly pricingContext: AiPricingContext
|
|
66
|
-
readonly priceSource: AiPriceSource
|
|
67
71
|
readonly ratedAt: Date
|
|
68
72
|
}
|
|
69
73
|
|
|
70
|
-
|
|
74
|
+
export type AiCostEstimate =
|
|
75
|
+
| {
|
|
76
|
+
readonly status: "rated"
|
|
77
|
+
readonly money: AiMoney
|
|
78
|
+
readonly components: readonly AiCostComponent[]
|
|
79
|
+
}
|
|
80
|
+
| {
|
|
81
|
+
readonly status: "unpriceable"
|
|
82
|
+
readonly reason: AiUnpriceableReason
|
|
83
|
+
readonly missingMeters?: readonly AiBillableMeter[]
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** Selected monetary valuation; its observation/provenance distinguishes estimates from reports. */
|
|
71
87
|
export interface AiRatedModelCallCostRecord extends AiModelCallCostRecordBase {
|
|
72
88
|
readonly status: "rated"
|
|
73
89
|
readonly billingIdentity: AiBillingIdentity
|
|
90
|
+
readonly priceSource: AiPriceSource
|
|
74
91
|
readonly money: AiMoney
|
|
75
92
|
readonly components: readonly AiCostComponent[]
|
|
76
93
|
}
|
|
77
94
|
|
|
78
|
-
/** Explicit result when
|
|
95
|
+
/** Explicit result when a call cannot be completely and safely valued. */
|
|
79
96
|
export interface AiUnpriceableModelCallCostRecord extends AiModelCallCostRecordBase {
|
|
80
97
|
readonly status: "unpriceable"
|
|
81
98
|
readonly billingIdentity?: AiBillingIdentity
|
|
99
|
+
readonly priceSource?: AiPriceSource
|
|
82
100
|
readonly reason: AiUnpriceableReason
|
|
83
101
|
readonly missingMeters?: readonly AiBillableMeter[]
|
|
84
102
|
}
|
|
@@ -91,6 +109,7 @@ export interface SummarizeAiCostExecutionsInput {
|
|
|
91
109
|
}
|
|
92
110
|
|
|
93
111
|
export interface AiCostSummary {
|
|
112
|
+
/** Selected request valuations, never the sum of competing observations or period reports. */
|
|
94
113
|
readonly amounts: readonly AiMoney[]
|
|
95
114
|
readonly ratedCallCount: number
|
|
96
115
|
readonly unpriceableCallCount: number
|
|
@@ -133,9 +152,15 @@ export interface AiAccountingTimeBucket extends AiAccountingAggregate {
|
|
|
133
152
|
readonly end: Date
|
|
134
153
|
}
|
|
135
154
|
|
|
136
|
-
export
|
|
137
|
-
|
|
138
|
-
}
|
|
155
|
+
export type AiAccountingAgentBreakdown = AiAccountingAggregate &
|
|
156
|
+
(
|
|
157
|
+
| { readonly kind: "agent" }
|
|
158
|
+
| {
|
|
159
|
+
readonly kind: "workflowAgent"
|
|
160
|
+
readonly workflowId: string
|
|
161
|
+
readonly agentStepId: string
|
|
162
|
+
}
|
|
163
|
+
)
|
|
139
164
|
|
|
140
165
|
export interface AiAccountingWorkflowBreakdown extends AiAccountingAggregate {
|
|
141
166
|
readonly workflowId: string
|
|
@@ -159,17 +184,21 @@ export interface AiAccountingOverview {
|
|
|
159
184
|
export type AiAccountingAttribution =
|
|
160
185
|
| {
|
|
161
186
|
readonly kind: "agent"
|
|
162
|
-
readonly agentId: string
|
|
163
187
|
readonly agentRunId: string
|
|
164
188
|
readonly threadId: string
|
|
165
189
|
}
|
|
166
190
|
| {
|
|
167
191
|
readonly kind: "workflowAgent"
|
|
168
|
-
readonly
|
|
192
|
+
readonly agentStepId: string
|
|
169
193
|
readonly nodeRunId: string
|
|
170
194
|
readonly workflowId: string
|
|
171
195
|
readonly workflowRunId: string
|
|
172
196
|
}
|
|
197
|
+
| {
|
|
198
|
+
readonly kind: "subagent"
|
|
199
|
+
readonly subagentRunId: string
|
|
200
|
+
readonly parentRunId: string
|
|
201
|
+
}
|
|
173
202
|
|
|
174
203
|
export interface AiModelCallAccountingItem {
|
|
175
204
|
readonly usage: AiModelCallUsageRecord
|
|
@@ -184,10 +213,43 @@ export interface ListAiModelCallAccountingResult {
|
|
|
184
213
|
readonly total: number
|
|
185
214
|
}
|
|
186
215
|
|
|
187
|
-
|
|
216
|
+
export type ListAiModelCallGroupsInput = Omit<ListAiModelCallAccountingInput, "executionId">
|
|
217
|
+
|
|
218
|
+
/** Filtered usage; an absent token total means at least one call did not report it. */
|
|
219
|
+
export interface AiModelCallGroupSummary {
|
|
220
|
+
readonly modelCallCount: number
|
|
221
|
+
readonly totalTokens?: number
|
|
222
|
+
readonly costs: AiCostSummary
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
export interface AiModelCallExecutionSummary extends AiModelCallGroupSummary {
|
|
226
|
+
readonly executionId: string
|
|
227
|
+
readonly attribution?: AiAccountingAttribution
|
|
228
|
+
readonly firstCallAt: Date
|
|
229
|
+
readonly lastCallAt: Date
|
|
230
|
+
readonly models: readonly AiBillingIdentity[]
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/** One initiating execution, including only calls matching the accounting filters. */
|
|
234
|
+
export interface AiModelCallGroup extends AiModelCallGroupSummary {
|
|
235
|
+
readonly executionId: string
|
|
236
|
+
readonly attribution?: AiAccountingAttribution
|
|
237
|
+
readonly firstCallAt: Date
|
|
238
|
+
readonly lastCallAt: Date
|
|
239
|
+
readonly executions: readonly AiModelCallExecutionSummary[]
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export interface ListAiModelCallGroupsResult {
|
|
243
|
+
readonly items: readonly AiModelCallGroup[]
|
|
244
|
+
readonly total: number
|
|
245
|
+
readonly hasMore: boolean
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/** Immutable call-time costs. Inline provider costs take precedence over local estimates. */
|
|
188
249
|
export interface AiCostStorage {
|
|
189
250
|
recordModelCallCost(input: AiModelCallCostRecord): Promise<void>
|
|
190
251
|
summarizeExecutions(input: SummarizeAiCostExecutionsInput): Promise<readonly AiCostSummary[]>
|
|
191
252
|
queryProjectOverview(input: QueryAiAccountingOverviewInput): Promise<AiAccountingOverview>
|
|
192
253
|
listModelCalls(input: ListAiModelCallAccountingInput): Promise<ListAiModelCallAccountingResult>
|
|
254
|
+
listModelCallGroups(input: ListAiModelCallGroupsInput): Promise<ListAiModelCallGroupsResult>
|
|
193
255
|
}
|