@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
package/src/agents/types.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { LanguageModelV4, LanguageModelV4CallOptions } from "@ai-sdk/provider"
|
|
2
1
|
import type { BlobBody, FileRef } from "../blob-storage"
|
|
3
2
|
import type { ConnectorRuntime } from "../connectors"
|
|
4
3
|
import type { JsonPrimitive, JsonValue, ReadonlyJsonValue } from "../json"
|
|
5
4
|
import type { Logger } from "../logging"
|
|
5
|
+
import { type LanguageModelRef, MODEL_REASONING_LEVELS, type ModelReasoning } from "../models"
|
|
6
6
|
import type { InferSchema } from "../ontology/inference"
|
|
7
7
|
import type { Schema } from "../ontology/types"
|
|
8
|
-
import type { GroupDefinition } from "../security"
|
|
9
8
|
|
|
10
9
|
export type {
|
|
11
10
|
AgentContextEntryInput,
|
|
@@ -14,41 +13,30 @@ export type {
|
|
|
14
13
|
AgentContextPart,
|
|
15
14
|
} from "./context"
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"none",
|
|
22
|
-
"minimal",
|
|
23
|
-
"low",
|
|
24
|
-
"medium",
|
|
25
|
-
"high",
|
|
26
|
-
"xhigh",
|
|
27
|
-
] as const satisfies readonly AgentReasoningLevel[]
|
|
28
|
-
|
|
29
|
-
export interface AgentContextConfig {
|
|
30
|
-
/** Override the provider context-window size inferred by the agent worker. */
|
|
31
|
-
readonly windowTokens?: number
|
|
32
|
-
/** Tokens reserved for the next response and compaction work. */
|
|
33
|
-
readonly reserveTokens?: number
|
|
34
|
-
/** Approximate recent-message budget retained verbatim after compaction. */
|
|
35
|
-
readonly keepRecentTokens?: number
|
|
16
|
+
/** Public capability reference used by security grants such as `can.run(agent)`. */
|
|
17
|
+
export interface AgentReference {
|
|
18
|
+
readonly kind: "agent"
|
|
19
|
+
readonly usage: AgentUsageReference
|
|
36
20
|
}
|
|
37
21
|
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
readonly context?: AgentContextConfig
|
|
48
|
-
/** Automatic provider prompt caching. Defaults to `auto`; use `off` to opt out. */
|
|
49
|
-
readonly caching?: "auto" | "off"
|
|
22
|
+
/** Project-wide AI accounting and limit capability, independent of permission to run the Agent. */
|
|
23
|
+
export interface AgentUsageReference {
|
|
24
|
+
readonly kind: "aiUsage"
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Public metadata for the project's conversational Agent. */
|
|
28
|
+
export interface AgentDescriptor {
|
|
29
|
+
readonly name: string
|
|
30
|
+
readonly model: LanguageModelRef
|
|
50
31
|
}
|
|
51
32
|
|
|
33
|
+
export type AgentReasoning = ModelReasoning
|
|
34
|
+
|
|
35
|
+
/** @deprecated Use {@link AgentReasoning}. */
|
|
36
|
+
export type AgentReasoningLevel = AgentReasoning
|
|
37
|
+
|
|
38
|
+
export const AGENT_REASONING_LEVELS = MODEL_REASONING_LEVELS
|
|
39
|
+
|
|
52
40
|
type Simplify<T> = { [K in keyof T]: T[K] } & {}
|
|
53
41
|
type JsonifyAgentToolInput<T> = unknown extends T
|
|
54
42
|
? ReadonlyJsonValue
|
|
@@ -73,12 +61,24 @@ export type InferAgentToolInputSchema<TInput extends AgentToolInputSchema> =
|
|
|
73
61
|
readonly [K in keyof TInput]: JsonifyAgentToolInput<InferSchema<TInput[K]>>
|
|
74
62
|
}>
|
|
75
63
|
|
|
76
|
-
/** Identifies the
|
|
77
|
-
export
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
64
|
+
/** Identifies the conversational, workflow, or child Agent execution that invoked a tool. */
|
|
65
|
+
export type AgentToolRunInfo =
|
|
66
|
+
| {
|
|
67
|
+
readonly kind: "conversation"
|
|
68
|
+
readonly id: string
|
|
69
|
+
readonly threadId: string
|
|
70
|
+
}
|
|
71
|
+
| {
|
|
72
|
+
readonly kind: "subagent"
|
|
73
|
+
readonly id: string
|
|
74
|
+
readonly parentRunId: string
|
|
75
|
+
}
|
|
76
|
+
| {
|
|
77
|
+
readonly kind: "workflow"
|
|
78
|
+
readonly id: string
|
|
79
|
+
readonly workflowId: string
|
|
80
|
+
readonly stepId: string
|
|
81
|
+
}
|
|
82
82
|
|
|
83
83
|
/** Input accepted by the run-scoped artifact publisher exposed to agent tools. */
|
|
84
84
|
export interface AgentToolArtifactPutInput {
|
|
@@ -183,45 +183,3 @@ export interface AgentToolInputBuilder<TName extends string> {
|
|
|
183
183
|
export interface AgentToolDescriptionBuilder<TName extends string> {
|
|
184
184
|
description(description: string): AgentToolInputBuilder<TName>
|
|
185
185
|
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Declarative config accepted by {@link defineAgent}.
|
|
189
|
-
*
|
|
190
|
-
* Every field is a static value. `instructions` is a plain string; widening it to
|
|
191
|
-
* `string | (ctx) => string` later would be backwards-compatible.
|
|
192
|
-
*/
|
|
193
|
-
export interface DefineAgentConfig {
|
|
194
|
-
readonly name: string
|
|
195
|
-
readonly description?: string
|
|
196
|
-
readonly model: LanguageModelV4
|
|
197
|
-
readonly reasoning?: AgentReasoningLevel
|
|
198
|
-
readonly providerOptions?: LanguageModelV4CallOptions["providerOptions"]
|
|
199
|
-
readonly instructions: string
|
|
200
|
-
readonly groups?: readonly GroupDefinition[]
|
|
201
|
-
/** Reusable tools this agent is explicitly allowed to call. */
|
|
202
|
-
readonly tools?: readonly AgentToolDefinition[]
|
|
203
|
-
readonly loop?: AgentLoopConfig
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Agent definition registered with Sixb.
|
|
208
|
-
*
|
|
209
|
-
* Definitions are safe to export from `agents/` modules; the runtime loads and
|
|
210
|
-
* registers them. The agent worker runs them as streaming turns. The `model` is an
|
|
211
|
-
* AI SDK language model instance and is therefore not serialisable — the worker
|
|
212
|
-
* resolves a definition from its own discovery rather than over the wire.
|
|
213
|
-
*/
|
|
214
|
-
export interface AgentDefinition<TId extends string = string> {
|
|
215
|
-
readonly kind: "agent"
|
|
216
|
-
readonly id: TId
|
|
217
|
-
readonly name: string
|
|
218
|
-
readonly description?: string
|
|
219
|
-
readonly model: LanguageModelV4
|
|
220
|
-
readonly reasoning?: AgentReasoningLevel
|
|
221
|
-
readonly providerOptions?: LanguageModelV4CallOptions["providerOptions"]
|
|
222
|
-
readonly instructions: string
|
|
223
|
-
readonly groupIds: readonly string[]
|
|
224
|
-
/** Selected tool definitions, normalized to an empty array when omitted. */
|
|
225
|
-
readonly tools: readonly AgentToolDefinition[]
|
|
226
|
-
readonly loop?: AgentLoopConfig
|
|
227
|
-
}
|
package/src/agents/validation.ts
CHANGED
|
@@ -6,18 +6,8 @@ import {
|
|
|
6
6
|
type ValueType,
|
|
7
7
|
validateSchemaValue,
|
|
8
8
|
} from "../ontology"
|
|
9
|
-
import type { GroupDefinition, SecurityDefinitionCatalog } from "../security"
|
|
10
9
|
import { AgentDefinitionError } from "./errors"
|
|
11
|
-
import {
|
|
12
|
-
AGENT_REASONING_LEVELS,
|
|
13
|
-
type AgentContextConfig,
|
|
14
|
-
type AgentDefinition,
|
|
15
|
-
type AgentLoopConfig,
|
|
16
|
-
type AgentReasoningLevel,
|
|
17
|
-
type AgentToolDefinition,
|
|
18
|
-
type AgentToolInputSchema,
|
|
19
|
-
type DefineAgentConfig,
|
|
20
|
-
} from "./types"
|
|
10
|
+
import type { AgentToolDefinition, AgentToolInputSchema } from "./types"
|
|
21
11
|
|
|
22
12
|
const AGENT_TOOL_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/
|
|
23
13
|
const AGENT_TOOL_PRIMITIVE_SCHEMAS = new Set([
|
|
@@ -32,27 +22,13 @@ const AGENT_TOOL_PRIMITIVE_SCHEMAS = new Set([
|
|
|
32
22
|
"fileRef",
|
|
33
23
|
])
|
|
34
24
|
|
|
35
|
-
export const AGENT_RESERVED_TOOL_NAMES = [
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
export function isAgentDefinition(value: unknown): value is AgentDefinition {
|
|
44
|
-
return (
|
|
45
|
-
isRecord(value) &&
|
|
46
|
-
value.kind === "agent" &&
|
|
47
|
-
typeof value.id === "string" &&
|
|
48
|
-
typeof value.name === "string" &&
|
|
49
|
-
typeof value.instructions === "string" &&
|
|
50
|
-
(value.reasoning === undefined || isAgentReasoningLevel(value.reasoning)) &&
|
|
51
|
-
(value.providerOptions === undefined || isProviderOptions(value.providerOptions)) &&
|
|
52
|
-
Array.isArray(value.groupIds) &&
|
|
53
|
-
isAgentToolDefinitionArray(value.tools)
|
|
54
|
-
)
|
|
55
|
-
}
|
|
25
|
+
export const AGENT_RESERVED_TOOL_NAMES = [
|
|
26
|
+
"bash",
|
|
27
|
+
"read",
|
|
28
|
+
"view_file",
|
|
29
|
+
"spawn_agent",
|
|
30
|
+
"wait_agent",
|
|
31
|
+
] as const
|
|
56
32
|
|
|
57
33
|
export function isAgentToolDefinition(value: unknown): value is AgentToolDefinition {
|
|
58
34
|
return (
|
|
@@ -143,174 +119,6 @@ export function validateAndNormalizeAgentToolInput(
|
|
|
143
119
|
)
|
|
144
120
|
}
|
|
145
121
|
|
|
146
|
-
/** Revalidate and lock tool definitions supplied directly to the runtime. */
|
|
147
|
-
export function validateAgentToolsAtStartup(agents: readonly AgentDefinition[]): void {
|
|
148
|
-
for (const agent of agents) {
|
|
149
|
-
if (!isAgentDefinition(agent)) {
|
|
150
|
-
throw new AgentDefinitionError("[Sixb] Agents must contain only valid agent definitions.")
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
assertValidAgentToolDefinitions(agent.id, agent.tools)
|
|
154
|
-
for (const tool of agent.tools) {
|
|
155
|
-
deepFreeze(tool.input)
|
|
156
|
-
Object.freeze(tool)
|
|
157
|
-
}
|
|
158
|
-
Object.freeze(agent.tools)
|
|
159
|
-
Object.freeze(agent)
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
export function resolveAgentLoopConfig(
|
|
164
|
-
loop: AgentLoopConfig | undefined
|
|
165
|
-
): AgentLoopConfig | undefined {
|
|
166
|
-
if (loop === undefined) return undefined
|
|
167
|
-
|
|
168
|
-
const maxSteps = loop?.stopWhen?.maxSteps
|
|
169
|
-
if (maxSteps !== undefined && (!Number.isSafeInteger(maxSteps) || maxSteps <= 0)) {
|
|
170
|
-
throw new AgentDefinitionError(
|
|
171
|
-
"[Sixb] Agent loop.stopWhen.maxSteps must be a positive safe integer."
|
|
172
|
-
)
|
|
173
|
-
}
|
|
174
|
-
if (loop.caching !== undefined && loop.caching !== "auto" && loop.caching !== "off") {
|
|
175
|
-
throw new AgentDefinitionError("[Sixb] Agent loop.caching must be 'auto' or 'off'.")
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
const context = loop.context ? snapshotAgentContextConfig(loop.context) : undefined
|
|
179
|
-
return Object.freeze({
|
|
180
|
-
...(loop.stopWhen === undefined
|
|
181
|
-
? {}
|
|
182
|
-
: { stopWhen: Object.freeze({ ...(maxSteps === undefined ? {} : { maxSteps }) }) }),
|
|
183
|
-
...(context === undefined ? {} : { context }),
|
|
184
|
-
...(loop.caching === undefined ? {} : { caching: loop.caching }),
|
|
185
|
-
})
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
function snapshotAgentContextConfig(context: AgentContextConfig): AgentContextConfig {
|
|
189
|
-
const snapshot: Record<string, number> = {}
|
|
190
|
-
for (const field of ["windowTokens", "reserveTokens", "keepRecentTokens"] as const) {
|
|
191
|
-
const value = context[field]
|
|
192
|
-
if (value === undefined) continue
|
|
193
|
-
assertPositiveSafeInteger(value, field)
|
|
194
|
-
snapshot[field] = value
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
return Object.freeze(snapshot)
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
function assertPositiveSafeInteger(value: unknown, field: string): asserts value is number {
|
|
201
|
-
if (typeof value !== "number" || !Number.isSafeInteger(value) || value <= 0) {
|
|
202
|
-
throw new AgentDefinitionError(
|
|
203
|
-
`[Sixb] Agent loop.context.${field} must be a positive safe integer.`
|
|
204
|
-
)
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
export function assertValidReasoningLevel(reasoning: AgentReasoningLevel | undefined): void {
|
|
209
|
-
if (reasoning === undefined) {
|
|
210
|
-
return
|
|
211
|
-
}
|
|
212
|
-
if (!isAgentReasoningLevel(reasoning)) {
|
|
213
|
-
throw new AgentDefinitionError(
|
|
214
|
-
`[Sixb] Agent reasoning must be one of: ${AGENT_REASONING_LEVELS.join(", ")}.`
|
|
215
|
-
)
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
export function assertValidProviderOptions(
|
|
220
|
-
providerOptions: DefineAgentConfig["providerOptions"]
|
|
221
|
-
): void {
|
|
222
|
-
if (providerOptions === undefined) {
|
|
223
|
-
return
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
const reason = getInvalidJsonValueReason(providerOptions, "providerOptions")
|
|
227
|
-
if (!isRecord(providerOptions) || reason) {
|
|
228
|
-
throw new AgentDefinitionError(
|
|
229
|
-
`[Sixb] Agent providerOptions must be a provider-keyed JSON object${reason ? `; ${reason}` : "."}`
|
|
230
|
-
)
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
for (const [provider, options] of Object.entries(providerOptions)) {
|
|
234
|
-
if (!provider.trim()) {
|
|
235
|
-
throw new AgentDefinitionError(
|
|
236
|
-
"[Sixb] Agent providerOptions provider names must not be empty."
|
|
237
|
-
)
|
|
238
|
-
}
|
|
239
|
-
const optionsReason = getInvalidJsonValueReason(options, `providerOptions.${provider}`)
|
|
240
|
-
if (!isRecord(options) || optionsReason) {
|
|
241
|
-
throw new AgentDefinitionError(
|
|
242
|
-
`[Sixb] Agent providerOptions.${provider} must be a JSON object${optionsReason ? `; ${optionsReason}` : "."}`
|
|
243
|
-
)
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
export function groupIdsFromDefinitions(
|
|
249
|
-
agentId: string,
|
|
250
|
-
groups: readonly GroupDefinition[] | undefined
|
|
251
|
-
): readonly string[] {
|
|
252
|
-
const groupIds = (groups ?? []).map((group) => {
|
|
253
|
-
if (!isRecord(group) || group.kind !== "group") {
|
|
254
|
-
throw new AgentDefinitionError(
|
|
255
|
-
`[Sixb] Agent '${agentId}' groups must contain only group definitions.`
|
|
256
|
-
)
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
assertNonEmpty(group.id, `Agent '${agentId}' group id`)
|
|
260
|
-
return group.id
|
|
261
|
-
})
|
|
262
|
-
|
|
263
|
-
assertNoDuplicateGroupIds(agentId, groupIds)
|
|
264
|
-
return Object.freeze(groupIds)
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
export function validateAgentGroupReferences(
|
|
268
|
-
agents: readonly AgentDefinition[],
|
|
269
|
-
security: SecurityDefinitionCatalog
|
|
270
|
-
): void {
|
|
271
|
-
for (const agent of agents) {
|
|
272
|
-
assertNoDuplicateGroupIds(agent.id, agent.groupIds)
|
|
273
|
-
for (const groupId of agent.groupIds) {
|
|
274
|
-
if (!security.getGroupById(groupId)) {
|
|
275
|
-
throw new AgentDefinitionError(
|
|
276
|
-
`[Sixb] Agent '${agent.id}' groups references unknown group '${groupId}'. Add it to 'security/groups/' or pass it to createSixb({ groups }).`
|
|
277
|
-
)
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
function assertNoDuplicateGroupIds(agentId: string, groupIds: readonly string[]): void {
|
|
284
|
-
const seen = new Set<string>()
|
|
285
|
-
for (const groupId of groupIds) {
|
|
286
|
-
assertNonEmpty(groupId, `Agent '${agentId}' group id`)
|
|
287
|
-
if (seen.has(groupId)) {
|
|
288
|
-
throw new AgentDefinitionError(
|
|
289
|
-
`[Sixb] Agent '${agentId}' groups contains duplicate group id '${groupId}'.`
|
|
290
|
-
)
|
|
291
|
-
}
|
|
292
|
-
seen.add(groupId)
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
function isAgentReasoningLevel(value: unknown): value is AgentReasoningLevel {
|
|
297
|
-
return typeof value === "string" && (AGENT_REASONING_LEVELS as readonly string[]).includes(value)
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
function isProviderOptions(
|
|
301
|
-
value: unknown
|
|
302
|
-
): value is NonNullable<DefineAgentConfig["providerOptions"]> {
|
|
303
|
-
if (!isRecord(value) || getInvalidJsonValueReason(value) !== undefined) {
|
|
304
|
-
return false
|
|
305
|
-
}
|
|
306
|
-
return Object.entries(value).every(
|
|
307
|
-
([provider, options]) =>
|
|
308
|
-
provider.trim().length > 0 &&
|
|
309
|
-
isRecord(options) &&
|
|
310
|
-
getInvalidJsonValueReason(options) === undefined
|
|
311
|
-
)
|
|
312
|
-
}
|
|
313
|
-
|
|
314
122
|
function assertValidAgentToolSchema(
|
|
315
123
|
toolName: string,
|
|
316
124
|
schema: unknown,
|
|
@@ -391,20 +199,7 @@ function invalidAgentToolSchema(toolName: string, path: string): AgentDefinition
|
|
|
391
199
|
)
|
|
392
200
|
}
|
|
393
201
|
|
|
394
|
-
function
|
|
395
|
-
if (!Array.isArray(value)) {
|
|
396
|
-
return false
|
|
397
|
-
}
|
|
398
|
-
for (let index = 0; index < value.length; index += 1) {
|
|
399
|
-
if (!Object.hasOwn(value, index) || !isAgentToolDefinition(value[index])) {
|
|
400
|
-
return false
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
return true
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
export function assertValidAgentToolDefinitions(
|
|
407
|
-
agentId: string,
|
|
202
|
+
export function assertValidProjectAgentToolDefinitions(
|
|
408
203
|
tools: readonly AgentToolDefinition[]
|
|
409
204
|
): void {
|
|
410
205
|
const seen = new Set<string>()
|
|
@@ -412,7 +207,7 @@ export function assertValidAgentToolDefinitions(
|
|
|
412
207
|
const tool = tools[index]
|
|
413
208
|
if (!Object.hasOwn(tools, index) || !isAgentToolDefinition(tool)) {
|
|
414
209
|
throw new AgentDefinitionError(
|
|
415
|
-
|
|
210
|
+
"[Sixb] Project tools must contain only agent tool definitions."
|
|
416
211
|
)
|
|
417
212
|
}
|
|
418
213
|
|
|
@@ -421,7 +216,7 @@ export function assertValidAgentToolDefinitions(
|
|
|
421
216
|
assertValidAgentToolInput(tool.name, tool.input)
|
|
422
217
|
if (seen.has(tool.name)) {
|
|
423
218
|
throw new AgentDefinitionError(
|
|
424
|
-
`[Sixb]
|
|
219
|
+
`[Sixb] Project tools contain duplicate tool name '${tool.name}'.`
|
|
425
220
|
)
|
|
426
221
|
}
|
|
427
222
|
seen.add(tool.name)
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto"
|
|
2
|
+
import { assertAuthorized, isRuntimeAllowed } from "../authorization"
|
|
3
|
+
import type { SixbRuntimeContext } from "../runtime/types"
|
|
4
|
+
import type { SecurityDefinitionCatalog } from "../security"
|
|
5
|
+
import type {
|
|
6
|
+
AiAccountingOverview,
|
|
7
|
+
AiLimitPolicy,
|
|
8
|
+
AiLimitPolicyStatus,
|
|
9
|
+
CreateAiLimitPolicyInput,
|
|
10
|
+
ListAiLimitPoliciesInput,
|
|
11
|
+
ListAiLimitPolicyStatusesInput,
|
|
12
|
+
ListAiModelCallAccountingInput,
|
|
13
|
+
ListAiModelCallAccountingResult,
|
|
14
|
+
ListAiModelCallGroupsInput,
|
|
15
|
+
ListAiModelCallGroupsResult,
|
|
16
|
+
QueryAiAccountingOverviewInput,
|
|
17
|
+
ServiceAccountStatus,
|
|
18
|
+
UpdateAiLimitPolicyInput,
|
|
19
|
+
UserStatus,
|
|
20
|
+
} from "../storage"
|
|
21
|
+
|
|
22
|
+
export type QueryAiUsageOverviewInput = Omit<QueryAiAccountingOverviewInput, "projectId">
|
|
23
|
+
export type ListAiUsageModelCallsInput = Omit<ListAiModelCallAccountingInput, "projectId">
|
|
24
|
+
export type ListAiUsageModelCallGroupsInput = Omit<ListAiModelCallGroupsInput, "projectId">
|
|
25
|
+
export type ListAiUsageLimitPoliciesInput = Omit<ListAiLimitPoliciesInput, "projectId">
|
|
26
|
+
export type ListAiUsageLimitStatusesInput = Omit<
|
|
27
|
+
ListAiLimitPolicyStatusesInput,
|
|
28
|
+
"projectId" | "existingGroupIds" | "at"
|
|
29
|
+
>
|
|
30
|
+
export type CreateAiUsageLimitPolicyInput = Omit<
|
|
31
|
+
CreateAiLimitPolicyInput,
|
|
32
|
+
"id" | "projectId" | "createdAt"
|
|
33
|
+
> & { readonly id?: string }
|
|
34
|
+
export type UpdateAiUsageLimitPolicyInput = Omit<
|
|
35
|
+
UpdateAiLimitPolicyInput,
|
|
36
|
+
"projectId" | "updatedAt"
|
|
37
|
+
>
|
|
38
|
+
|
|
39
|
+
export interface AiUsageLimitGroupOption {
|
|
40
|
+
readonly id: string
|
|
41
|
+
readonly label?: string
|
|
42
|
+
readonly description?: string
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface AiUsageLimitUserOption {
|
|
46
|
+
readonly id: string
|
|
47
|
+
readonly email: string
|
|
48
|
+
readonly displayName?: string
|
|
49
|
+
readonly status: UserStatus
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface AiUsageLimitServiceAccountOption {
|
|
53
|
+
readonly id: string
|
|
54
|
+
readonly name: string
|
|
55
|
+
readonly description?: string
|
|
56
|
+
readonly status: ServiceAccountStatus
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface AiUsageLimitSubjectOptions {
|
|
60
|
+
readonly groups: readonly AiUsageLimitGroupOption[]
|
|
61
|
+
readonly users: readonly AiUsageLimitUserOption[]
|
|
62
|
+
readonly serviceAccounts: readonly AiUsageLimitServiceAccountOption[]
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Project AI accounting and limit controls bound to one execution's authority. */
|
|
66
|
+
export interface AiUsageRuntime {
|
|
67
|
+
readonly accountingConfigured: boolean
|
|
68
|
+
readonly limitsConfigured: boolean
|
|
69
|
+
assertObservable(): void
|
|
70
|
+
assertManageable(): void
|
|
71
|
+
canManageLimits(): boolean
|
|
72
|
+
queryOverview(input: QueryAiUsageOverviewInput): Promise<AiAccountingOverview>
|
|
73
|
+
listModelCalls(input: ListAiUsageModelCallsInput): Promise<ListAiModelCallAccountingResult>
|
|
74
|
+
listModelCallGroups(input: ListAiUsageModelCallGroupsInput): Promise<ListAiModelCallGroupsResult>
|
|
75
|
+
listLimitPolicies(input?: ListAiUsageLimitPoliciesInput): Promise<readonly AiLimitPolicy[]>
|
|
76
|
+
listLimitStatuses(input?: ListAiUsageLimitStatusesInput): Promise<readonly AiLimitPolicyStatus[]>
|
|
77
|
+
listLimitSubjectOptions(): Promise<AiUsageLimitSubjectOptions>
|
|
78
|
+
createLimitPolicy(input: CreateAiUsageLimitPolicyInput): Promise<AiLimitPolicy>
|
|
79
|
+
updateLimitPolicy(input: UpdateAiUsageLimitPolicyInput): Promise<AiLimitPolicy>
|
|
80
|
+
deleteLimitPolicy(id: string): Promise<boolean>
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export function createAiUsageRuntime(
|
|
84
|
+
runtime: SixbRuntimeContext,
|
|
85
|
+
security: SecurityDefinitionCatalog
|
|
86
|
+
): AiUsageRuntime {
|
|
87
|
+
const assertObservable = () => assertAuthorized(runtime, { kind: "aiUsage.observe" })
|
|
88
|
+
const assertManageable = () => assertAuthorized(runtime, { kind: "aiUsage.manage" })
|
|
89
|
+
const assertPolicyReadable = () => {
|
|
90
|
+
if (
|
|
91
|
+
!isRuntimeAllowed(runtime, { kind: "aiUsage.observe" }) &&
|
|
92
|
+
!isRuntimeAllowed(runtime, { kind: "aiUsage.manage" })
|
|
93
|
+
) {
|
|
94
|
+
assertObservable()
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const requireCosts = () => {
|
|
98
|
+
if (!runtime.storage.aiCosts) {
|
|
99
|
+
throw new Error("[Sixb] AI cost storage is not configured.")
|
|
100
|
+
}
|
|
101
|
+
return runtime.storage.aiCosts
|
|
102
|
+
}
|
|
103
|
+
const requireLimits = () => {
|
|
104
|
+
if (!runtime.storage.aiLimits) {
|
|
105
|
+
throw new Error("[Sixb] AI limit storage is not configured.")
|
|
106
|
+
}
|
|
107
|
+
return runtime.storage.aiLimits
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return {
|
|
111
|
+
accountingConfigured: runtime.storage.aiCosts !== undefined,
|
|
112
|
+
limitsConfigured: runtime.storage.aiLimits !== undefined,
|
|
113
|
+
assertObservable,
|
|
114
|
+
assertManageable,
|
|
115
|
+
canManageLimits: () => isRuntimeAllowed(runtime, { kind: "aiUsage.manage" }),
|
|
116
|
+
queryOverview: (input) => {
|
|
117
|
+
assertObservable()
|
|
118
|
+
return requireCosts().queryProjectOverview({ ...input, projectId: runtime.projectId })
|
|
119
|
+
},
|
|
120
|
+
listModelCalls: (input) => {
|
|
121
|
+
assertObservable()
|
|
122
|
+
return requireCosts().listModelCalls({ ...input, projectId: runtime.projectId })
|
|
123
|
+
},
|
|
124
|
+
listModelCallGroups: (input) => {
|
|
125
|
+
assertObservable()
|
|
126
|
+
return requireCosts().listModelCallGroups({ ...input, projectId: runtime.projectId })
|
|
127
|
+
},
|
|
128
|
+
listLimitPolicies: (input = {}) => {
|
|
129
|
+
assertPolicyReadable()
|
|
130
|
+
return requireLimits().listPolicies({ ...input, projectId: runtime.projectId })
|
|
131
|
+
},
|
|
132
|
+
listLimitStatuses: (input = {}) => {
|
|
133
|
+
assertObservable()
|
|
134
|
+
return requireLimits().listPolicyStatuses({
|
|
135
|
+
...(input.includeDisabled === undefined ? {} : { includeDisabled: input.includeDisabled }),
|
|
136
|
+
projectId: runtime.projectId,
|
|
137
|
+
existingGroupIds: security.listGroups().map((group) => group.id),
|
|
138
|
+
})
|
|
139
|
+
},
|
|
140
|
+
listLimitSubjectOptions: async () => {
|
|
141
|
+
assertManageable()
|
|
142
|
+
const groups = security.listGroups().map((group) => ({
|
|
143
|
+
id: group.id,
|
|
144
|
+
...(group.label === undefined ? {} : { label: group.label }),
|
|
145
|
+
...(group.description === undefined ? {} : { description: group.description }),
|
|
146
|
+
}))
|
|
147
|
+
const auth = runtime.storage.auth
|
|
148
|
+
if (!auth) return { groups, users: [], serviceAccounts: [] }
|
|
149
|
+
|
|
150
|
+
const [users, serviceAccounts] = await Promise.all([
|
|
151
|
+
auth.users.list({ projectId: runtime.projectId, order: "asc" }),
|
|
152
|
+
auth.serviceAccounts.list({ projectId: runtime.projectId, order: "asc" }),
|
|
153
|
+
])
|
|
154
|
+
return {
|
|
155
|
+
groups,
|
|
156
|
+
users: users.users.map((user) => ({
|
|
157
|
+
id: user.id,
|
|
158
|
+
email: user.email,
|
|
159
|
+
...(user.displayName === undefined ? {} : { displayName: user.displayName }),
|
|
160
|
+
status: user.status,
|
|
161
|
+
})),
|
|
162
|
+
serviceAccounts: serviceAccounts.serviceAccounts.map((serviceAccount) => ({
|
|
163
|
+
id: serviceAccount.id,
|
|
164
|
+
name: serviceAccount.name,
|
|
165
|
+
...(serviceAccount.description === undefined
|
|
166
|
+
? {}
|
|
167
|
+
: { description: serviceAccount.description }),
|
|
168
|
+
status: serviceAccount.status,
|
|
169
|
+
})),
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
createLimitPolicy: (input) => {
|
|
173
|
+
assertManageable()
|
|
174
|
+
return requireLimits().createPolicy({
|
|
175
|
+
...input,
|
|
176
|
+
id: input.id ?? `ailim_${randomUUID()}`,
|
|
177
|
+
projectId: runtime.projectId,
|
|
178
|
+
})
|
|
179
|
+
},
|
|
180
|
+
updateLimitPolicy: (input) => {
|
|
181
|
+
assertManageable()
|
|
182
|
+
return requireLimits().updatePolicy({ ...input, projectId: runtime.projectId })
|
|
183
|
+
},
|
|
184
|
+
deleteLimitPolicy: (id) => {
|
|
185
|
+
assertManageable()
|
|
186
|
+
return requireLimits().deletePolicy({ id, projectId: runtime.projectId })
|
|
187
|
+
},
|
|
188
|
+
}
|
|
189
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type {
|
|
2
|
+
AiUsageLimitGroupOption,
|
|
3
|
+
AiUsageLimitServiceAccountOption,
|
|
4
|
+
AiUsageLimitSubjectOptions,
|
|
5
|
+
AiUsageLimitUserOption,
|
|
6
|
+
AiUsageRuntime,
|
|
7
|
+
CreateAiUsageLimitPolicyInput,
|
|
8
|
+
ListAiUsageLimitPoliciesInput,
|
|
9
|
+
ListAiUsageLimitStatusesInput,
|
|
10
|
+
ListAiUsageModelCallGroupsInput,
|
|
11
|
+
ListAiUsageModelCallsInput,
|
|
12
|
+
QueryAiUsageOverviewInput,
|
|
13
|
+
UpdateAiUsageLimitPolicyInput,
|
|
14
|
+
} from "./execution"
|
|
15
|
+
export { createAiUsageRuntime } from "./execution"
|