@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
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
import type { AuthSessionAudience } from "../auth/audience"
|
|
14
14
|
import {
|
|
15
15
|
type ResolvedRuntimeAuthorization,
|
|
16
|
-
|
|
16
|
+
resolveExecutionScopeAuthorization,
|
|
17
|
+
resolveRuntimeAuthorizationForProject,
|
|
17
18
|
} from "../execution/authorization"
|
|
18
19
|
import type { ExecutionContext, RuntimeAuthorization } from "../execution/types"
|
|
19
20
|
import { AuthorizationError } from "./errors"
|
|
@@ -28,11 +29,14 @@ export type AuthzRequest =
|
|
|
28
29
|
| { readonly kind: "object.edit"; readonly objectTypeId: string }
|
|
29
30
|
| { readonly kind: "telemetry.append"; readonly objectTypeId: string }
|
|
30
31
|
| { readonly kind: "action.apply"; readonly actionId: string }
|
|
32
|
+
| { readonly kind: "share.manage"; readonly shareId: string }
|
|
31
33
|
| { readonly kind: "workflow.run"; readonly workflowId: string }
|
|
32
34
|
| { readonly kind: "sync.run"; readonly syncId: string }
|
|
33
35
|
| { readonly kind: "pipeline.run"; readonly pipelineId: string }
|
|
34
|
-
| { readonly kind: "agent.run"
|
|
36
|
+
| { readonly kind: "agent.run" }
|
|
35
37
|
| { readonly kind: "logs.observe" }
|
|
38
|
+
| { readonly kind: "aiUsage.observe" }
|
|
39
|
+
| { readonly kind: "aiUsage.manage" }
|
|
36
40
|
| { readonly kind: "connector.manage"; readonly connectorId: string }
|
|
37
41
|
| { readonly kind: "object.query"; readonly touchedObjectTypeIds: readonly string[] }
|
|
38
42
|
|
|
@@ -45,6 +49,7 @@ export interface AuthzDecision {
|
|
|
45
49
|
}
|
|
46
50
|
|
|
47
51
|
interface AuthorizedRuntime {
|
|
52
|
+
readonly projectId: string
|
|
48
53
|
readonly runtimeAuthorization?: RuntimeAuthorization
|
|
49
54
|
readonly authorization?: AuthorizationContext
|
|
50
55
|
}
|
|
@@ -53,10 +58,9 @@ interface AuthorizedRuntime {
|
|
|
53
58
|
// the single unit that both names a requirement and tests the grant index, so
|
|
54
59
|
// the two can never drift. `kind` is the resolved-index key, so enforcement is
|
|
55
60
|
// a direct lookup with no per-target dispatch.
|
|
56
|
-
|
|
57
|
-
readonly kind:
|
|
58
|
-
readonly id: string
|
|
59
|
-
}
|
|
61
|
+
type Atom =
|
|
62
|
+
| { readonly kind: "run:agent" }
|
|
63
|
+
| { readonly kind: Exclude<GrantKind, "run:agent">; readonly id: string }
|
|
60
64
|
|
|
61
65
|
function atomsFor(request: AuthzRequest): readonly Atom[] {
|
|
62
66
|
switch (request.kind) {
|
|
@@ -72,6 +76,8 @@ function atomsFor(request: AuthzRequest): readonly Atom[] {
|
|
|
72
76
|
return [{ kind: "append:telemetry", id: request.objectTypeId }]
|
|
73
77
|
case "action.apply":
|
|
74
78
|
return [{ kind: "apply:action", id: request.actionId }]
|
|
79
|
+
case "share.manage":
|
|
80
|
+
return [{ kind: "share:share", id: request.shareId }]
|
|
75
81
|
case "workflow.run":
|
|
76
82
|
return [{ kind: "run:workflow", id: request.workflowId }]
|
|
77
83
|
case "sync.run":
|
|
@@ -79,9 +85,13 @@ function atomsFor(request: AuthzRequest): readonly Atom[] {
|
|
|
79
85
|
case "pipeline.run":
|
|
80
86
|
return [{ kind: "run:pipeline", id: request.pipelineId }]
|
|
81
87
|
case "agent.run":
|
|
82
|
-
return [{ kind: "run:agent"
|
|
88
|
+
return [{ kind: "run:agent" }]
|
|
83
89
|
case "logs.observe":
|
|
84
90
|
return [{ kind: "observe:logs", id: "logs" }]
|
|
91
|
+
case "aiUsage.observe":
|
|
92
|
+
return [{ kind: "observe:aiUsage", id: "aiUsage" }]
|
|
93
|
+
case "aiUsage.manage":
|
|
94
|
+
return [{ kind: "manage:aiUsage", id: "aiUsage" }]
|
|
85
95
|
case "connector.manage":
|
|
86
96
|
return [{ kind: "manage:connector", id: request.connectorId }]
|
|
87
97
|
case "object.query":
|
|
@@ -90,11 +100,19 @@ function atomsFor(request: AuthzRequest): readonly Atom[] {
|
|
|
90
100
|
}
|
|
91
101
|
|
|
92
102
|
function atomKey(atom: Atom): string {
|
|
93
|
-
if (atom.kind === "
|
|
103
|
+
if (atom.kind === "run:agent") return atom.kind
|
|
104
|
+
if (
|
|
105
|
+
atom.kind === "observe:logs" ||
|
|
106
|
+
atom.kind === "observe:aiUsage" ||
|
|
107
|
+
atom.kind === "manage:aiUsage"
|
|
108
|
+
) {
|
|
109
|
+
return atom.kind
|
|
110
|
+
}
|
|
94
111
|
return `${atom.kind}:${atom.id}`
|
|
95
112
|
}
|
|
96
113
|
|
|
97
114
|
function holds(grants: GrantIndex, atom: Atom): boolean {
|
|
115
|
+
if (atom.kind === "run:agent") return grants[atom.kind]
|
|
98
116
|
return grants[atom.kind].has(atom.id)
|
|
99
117
|
}
|
|
100
118
|
|
|
@@ -120,6 +138,12 @@ export function isAllowed(
|
|
|
120
138
|
|
|
121
139
|
export function assertAuthorized(runtime: AuthorizedRuntime, request: AuthzRequest): void {
|
|
122
140
|
const resolved = assertRuntimeAuthorizationBound(runtime)
|
|
141
|
+
if (resolved.type === "delegated") {
|
|
142
|
+
throw new AuthorizationError(
|
|
143
|
+
`delegated:${request.kind}`,
|
|
144
|
+
`[Sixb] Operation '${request.kind}' is not covered by delegated authorization.`
|
|
145
|
+
)
|
|
146
|
+
}
|
|
123
147
|
const authorization = resolved.type === "principal" ? resolved.context : undefined
|
|
124
148
|
const decision = evaluate(authorization, request)
|
|
125
149
|
if (decision.allowed) {
|
|
@@ -132,11 +156,18 @@ export function assertAuthorized(runtime: AuthorizedRuntime, request: AuthzReque
|
|
|
132
156
|
)
|
|
133
157
|
}
|
|
134
158
|
|
|
159
|
+
/** Runtime catalogs never infer unrestricted access from an absent principal context. */
|
|
160
|
+
export function isRuntimeAllowed(runtime: AuthorizedRuntime, request: AuthzRequest): boolean {
|
|
161
|
+
const authority = resolveRuntimeAuthorizationForProject(runtime)
|
|
162
|
+
if (authority.type === "denied" || authority.type === "delegated") return false
|
|
163
|
+
return authority.type === "unrestricted" || isAllowed(authority.context, request)
|
|
164
|
+
}
|
|
165
|
+
|
|
135
166
|
/** Resolve registered process-local authority before a protected leaf makes a decision. */
|
|
136
167
|
export function assertRuntimeAuthorizationBound(
|
|
137
168
|
runtime: AuthorizedRuntime
|
|
138
169
|
): Exclude<ResolvedRuntimeAuthorization, { readonly type: "denied" }> {
|
|
139
|
-
const resolved =
|
|
170
|
+
const resolved = resolveRuntimeAuthorizationForProject(runtime)
|
|
140
171
|
if (resolved.type === "denied") {
|
|
141
172
|
throw new AuthorizationError(
|
|
142
173
|
"runtime:unbound",
|
|
@@ -205,27 +236,22 @@ export function assertPrivileged(runtime: AuthorizedRuntime, operation: string):
|
|
|
205
236
|
* Assert access to process providers that trusted executions and genuine agent runs may use.
|
|
206
237
|
*
|
|
207
238
|
* Agent provenance alone is not authority: the registered capability must be bound to the exact
|
|
208
|
-
* same
|
|
239
|
+
* same immutable execution before this check succeeds.
|
|
209
240
|
*/
|
|
210
241
|
export function assertProviderAccess(
|
|
211
|
-
runtime: AuthorizedRuntime,
|
|
242
|
+
runtime: AuthorizedRuntime & { readonly runtimeAuthorization: RuntimeAuthorization },
|
|
212
243
|
execution: ExecutionContext,
|
|
213
244
|
operation: string
|
|
214
245
|
): void {
|
|
215
|
-
const resolved =
|
|
246
|
+
const resolved = resolveExecutionScopeAuthorization(runtime.projectId, {
|
|
247
|
+
execution,
|
|
248
|
+
authorization: runtime.runtimeAuthorization,
|
|
249
|
+
})
|
|
216
250
|
if (resolved.type === "unrestricted") {
|
|
217
251
|
return
|
|
218
252
|
}
|
|
219
253
|
|
|
220
|
-
|
|
221
|
-
const executor = execution.executor
|
|
222
|
-
if (
|
|
223
|
-
binding?.type === "agent" &&
|
|
224
|
-
executor.type === "agent" &&
|
|
225
|
-
binding.executionId === execution.id &&
|
|
226
|
-
binding.agentId === executor.agentId &&
|
|
227
|
-
binding.runId === executor.runId
|
|
228
|
-
) {
|
|
254
|
+
if (execution.executor.type === "agent") {
|
|
229
255
|
return
|
|
230
256
|
}
|
|
231
257
|
|
|
@@ -253,6 +279,8 @@ function deniedMessage(
|
|
|
253
279
|
return `[Sixb] Principal '${principalId}' is not allowed to append telemetry for object type '${request.objectTypeId}'.`
|
|
254
280
|
case "action.apply":
|
|
255
281
|
return `[Sixb] Principal '${principalId}' is not allowed to apply action '${request.actionId}'.`
|
|
282
|
+
case "share.manage":
|
|
283
|
+
return `[Sixb] Principal '${principalId}' is not allowed to manage Share '${request.shareId}'.`
|
|
256
284
|
case "workflow.run":
|
|
257
285
|
return `[Sixb] Principal '${principalId}' is not allowed to run workflow '${request.workflowId}'.`
|
|
258
286
|
case "sync.run":
|
|
@@ -260,9 +288,13 @@ function deniedMessage(
|
|
|
260
288
|
case "pipeline.run":
|
|
261
289
|
return `[Sixb] Principal '${principalId}' is not allowed to run pipeline '${request.pipelineId}'.`
|
|
262
290
|
case "agent.run":
|
|
263
|
-
return `[Sixb] Principal '${principalId}' is not allowed to run
|
|
291
|
+
return `[Sixb] Principal '${principalId}' is not allowed to run the project Agent.`
|
|
264
292
|
case "logs.observe":
|
|
265
293
|
return `[Sixb] Principal '${principalId}' is not allowed to observe project logs.`
|
|
294
|
+
case "aiUsage.observe":
|
|
295
|
+
return `[Sixb] Principal '${principalId}' is not allowed to observe project AI usage.`
|
|
296
|
+
case "aiUsage.manage":
|
|
297
|
+
return `[Sixb] Principal '${principalId}' is not allowed to manage project AI usage limits.`
|
|
266
298
|
case "connector.manage":
|
|
267
299
|
return `[Sixb] Principal '${principalId}' is not allowed to manage connector '${request.connectorId}'.`
|
|
268
300
|
case "object.query": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* entry in `GRANT_KINDS` plus the compile errors that forces at every consumer.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type { GrantDefinition } from "../security/types"
|
|
11
|
+
import type { AgentRunGrant, GrantDefinition } from "../security/types"
|
|
12
12
|
|
|
13
13
|
export type GrantKind =
|
|
14
14
|
| "access:application"
|
|
@@ -17,12 +17,18 @@ export type GrantKind =
|
|
|
17
17
|
| "edit:object"
|
|
18
18
|
| "append:telemetry"
|
|
19
19
|
| "apply:action"
|
|
20
|
+
| "share:share"
|
|
20
21
|
| "run:workflow"
|
|
21
22
|
| "run:sync"
|
|
22
23
|
| "run:pipeline"
|
|
23
24
|
| "run:agent"
|
|
24
25
|
| "observe:logs"
|
|
26
|
+
| "observe:aiUsage"
|
|
25
27
|
| "manage:connector"
|
|
28
|
+
| "manage:aiUsage"
|
|
29
|
+
|
|
30
|
+
export type SingletonGrantKind = "run:agent"
|
|
31
|
+
export type TargetedGrantKind = Exclude<GrantKind, SingletonGrantKind>
|
|
26
32
|
|
|
27
33
|
/** Registered id universes a grant kind ranges over, plus subtype expansion. */
|
|
28
34
|
export interface GrantUniverse {
|
|
@@ -30,19 +36,20 @@ export interface GrantUniverse {
|
|
|
30
36
|
readonly objectTypeIds: ReadonlySet<string>
|
|
31
37
|
readonly datasetIds: ReadonlySet<string>
|
|
32
38
|
readonly actionIds: ReadonlySet<string>
|
|
39
|
+
readonly shareIds: ReadonlySet<string>
|
|
33
40
|
readonly workflowIds: ReadonlySet<string>
|
|
34
41
|
readonly syncIds: ReadonlySet<string>
|
|
35
42
|
readonly pipelineIds: ReadonlySet<string>
|
|
36
|
-
readonly agentIds: ReadonlySet<string>
|
|
37
43
|
readonly observableIds: ReadonlySet<string>
|
|
38
44
|
readonly connectorIds: ReadonlySet<string>
|
|
45
|
+
readonly manageableIds: ReadonlySet<string>
|
|
39
46
|
readonly getSubTypes: (objectTypeId: string) => readonly string[]
|
|
40
47
|
}
|
|
41
48
|
|
|
42
49
|
/** The registered-id sets a grant kind validates against (no subtype hook). */
|
|
43
50
|
export type GrantUniverseKey = Exclude<keyof GrantUniverse, "getSubTypes">
|
|
44
51
|
|
|
45
|
-
interface
|
|
52
|
+
interface TargetedGrantKindSpec {
|
|
46
53
|
/** Registered universe the grant's ids must belong to. */
|
|
47
54
|
readonly universeKey: GrantUniverseKey
|
|
48
55
|
/** Subject noun used in validation errors ("unknown <subject> '<id>'"). */
|
|
@@ -53,11 +60,22 @@ interface GrantKindSpec {
|
|
|
53
60
|
readonly expandsSubtypes?: true
|
|
54
61
|
}
|
|
55
62
|
|
|
63
|
+
interface SingletonGrantKindSpec {
|
|
64
|
+
/** Project-wide capability with no resource selection; resolves to a boolean. */
|
|
65
|
+
readonly singleton: true
|
|
66
|
+
readonly subject: string
|
|
67
|
+
readonly fix: string
|
|
68
|
+
}
|
|
69
|
+
|
|
56
70
|
/**
|
|
57
71
|
* The exhaustive grant-kind table. A new grant family is one entry here; the
|
|
58
|
-
*
|
|
72
|
+
* mapped type makes every omission a compile error.
|
|
59
73
|
*/
|
|
60
|
-
export const GRANT_KINDS:
|
|
74
|
+
export const GRANT_KINDS: {
|
|
75
|
+
readonly [TKind in GrantKind]: TKind extends SingletonGrantKind
|
|
76
|
+
? SingletonGrantKindSpec
|
|
77
|
+
: TargetedGrantKindSpec
|
|
78
|
+
} = {
|
|
61
79
|
"access:application": {
|
|
62
80
|
universeKey: "applicationIds",
|
|
63
81
|
subject: "application",
|
|
@@ -92,6 +110,11 @@ export const GRANT_KINDS: Record<GrantKind, GrantKindSpec> = {
|
|
|
92
110
|
subject: "action",
|
|
93
111
|
fix: "Add it to 'actions/' or pass it to createSixb({ actions }).",
|
|
94
112
|
},
|
|
113
|
+
"share:share": {
|
|
114
|
+
universeKey: "shareIds",
|
|
115
|
+
subject: "share",
|
|
116
|
+
fix: "Add it to 'shares/' or pass it to createSixb({ shares }).",
|
|
117
|
+
},
|
|
95
118
|
"run:workflow": {
|
|
96
119
|
universeKey: "workflowIds",
|
|
97
120
|
subject: "workflow",
|
|
@@ -108,25 +131,41 @@ export const GRANT_KINDS: Record<GrantKind, GrantKindSpec> = {
|
|
|
108
131
|
fix: "Add it to 'pipelines/' or pass it to createSixb({ pipelines }).",
|
|
109
132
|
},
|
|
110
133
|
"run:agent": {
|
|
111
|
-
|
|
134
|
+
singleton: true,
|
|
112
135
|
subject: "agent",
|
|
113
|
-
fix: "
|
|
136
|
+
fix: "Configure models.language and use the exported agent reference in can.run(agent).",
|
|
114
137
|
},
|
|
115
138
|
"observe:logs": {
|
|
116
139
|
universeKey: "observableIds",
|
|
117
140
|
subject: "observability surface",
|
|
118
141
|
fix: 'Use can.observe("logs").',
|
|
119
142
|
},
|
|
143
|
+
"observe:aiUsage": {
|
|
144
|
+
universeKey: "observableIds",
|
|
145
|
+
subject: "observability surface",
|
|
146
|
+
fix: "Use can.observe(agent.usage).",
|
|
147
|
+
},
|
|
120
148
|
"manage:connector": {
|
|
121
149
|
universeKey: "connectorIds",
|
|
122
150
|
subject: "connector",
|
|
123
151
|
fix: "Add it to 'connectors/' or pass it to createSixb({ connectors }).",
|
|
124
152
|
},
|
|
153
|
+
"manage:aiUsage": {
|
|
154
|
+
universeKey: "manageableIds",
|
|
155
|
+
subject: "management surface",
|
|
156
|
+
fix: "Use can.manage(agent.usage).",
|
|
157
|
+
},
|
|
125
158
|
}
|
|
126
159
|
|
|
127
160
|
export const GRANT_KIND_KEYS = Object.keys(GRANT_KINDS) as readonly GrantKind[]
|
|
161
|
+
export const TARGETED_GRANT_KIND_KEYS = GRANT_KIND_KEYS.filter(
|
|
162
|
+
(kind): kind is TargetedGrantKind => kind !== "run:agent"
|
|
163
|
+
)
|
|
128
164
|
|
|
129
165
|
/** The grant kind a stored grant resolves to. */
|
|
166
|
+
export function grantKindOf(grant: AgentRunGrant): SingletonGrantKind
|
|
167
|
+
export function grantKindOf(grant: Exclude<GrantDefinition, AgentRunGrant>): TargetedGrantKind
|
|
168
|
+
export function grantKindOf(grant: GrantDefinition): GrantKind
|
|
130
169
|
export function grantKindOf(grant: GrantDefinition): GrantKind {
|
|
131
170
|
switch (grant.capability) {
|
|
132
171
|
case "access":
|
|
@@ -139,20 +178,38 @@ export function grantKindOf(grant: GrantDefinition): GrantKind {
|
|
|
139
178
|
return "append:telemetry"
|
|
140
179
|
case "apply":
|
|
141
180
|
return "apply:action"
|
|
181
|
+
case "share":
|
|
182
|
+
return "share:share"
|
|
142
183
|
case "run":
|
|
143
184
|
return `run:${grant.target}`
|
|
144
185
|
case "observe":
|
|
145
|
-
return
|
|
186
|
+
return `observe:${grant.target}`
|
|
146
187
|
case "manage":
|
|
147
|
-
return
|
|
188
|
+
return `manage:${grant.target}`
|
|
148
189
|
}
|
|
149
190
|
}
|
|
150
191
|
|
|
151
|
-
/**
|
|
152
|
-
export
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
192
|
+
/** Mutable grant index: booleans for singleton capabilities, id sets for selected resources. */
|
|
193
|
+
export type MutableGrantIndex = {
|
|
194
|
+
[TKind in GrantKind]: TKind extends SingletonGrantKind ? boolean : Set<string>
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export function emptyGrantSets(): MutableGrantIndex {
|
|
198
|
+
return {
|
|
199
|
+
"access:application": new Set(),
|
|
200
|
+
"view:object": new Set(),
|
|
201
|
+
"view:dataset": new Set(),
|
|
202
|
+
"edit:object": new Set(),
|
|
203
|
+
"append:telemetry": new Set(),
|
|
204
|
+
"apply:action": new Set(),
|
|
205
|
+
"share:share": new Set(),
|
|
206
|
+
"run:workflow": new Set(),
|
|
207
|
+
"run:sync": new Set(),
|
|
208
|
+
"run:pipeline": new Set(),
|
|
209
|
+
"run:agent": false,
|
|
210
|
+
"observe:logs": new Set(),
|
|
211
|
+
"observe:aiUsage": new Set(),
|
|
212
|
+
"manage:connector": new Set(),
|
|
213
|
+
"manage:aiUsage": new Set(),
|
|
156
214
|
}
|
|
157
|
-
return sets
|
|
158
215
|
}
|
|
@@ -7,8 +7,10 @@ export {
|
|
|
7
7
|
assertCanManageConnector,
|
|
8
8
|
assertPrivileged,
|
|
9
9
|
assertProviderAccess,
|
|
10
|
+
assertRuntimeAuthorizationBound,
|
|
10
11
|
evaluate,
|
|
11
12
|
isAllowed,
|
|
13
|
+
isRuntimeAllowed,
|
|
12
14
|
} from "./decision"
|
|
13
15
|
export { AuthorizationError } from "./errors"
|
|
14
16
|
export { canViewEvent } from "./event-visibility"
|
|
@@ -2,19 +2,19 @@ import type { Principal } from "../auth/types"
|
|
|
2
2
|
import type { RoleDefinition, Selection } from "../security"
|
|
3
3
|
import {
|
|
4
4
|
emptyGrantSets,
|
|
5
|
-
GRANT_KIND_KEYS,
|
|
6
5
|
GRANT_KINDS,
|
|
7
6
|
type GrantUniverse,
|
|
8
7
|
grantKindOf,
|
|
8
|
+
TARGETED_GRANT_KIND_KEYS,
|
|
9
9
|
} from "./grant-kinds"
|
|
10
10
|
import type { AuthorizationContext, GrantIndex, ResolvedRole } from "./types"
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Resolve a role's grants once at startup.
|
|
14
14
|
*
|
|
15
15
|
* Broad grants (`every.object().except([...])`) expand against the registered
|
|
16
|
-
* universe; object-type grants also expand to subtypes.
|
|
17
|
-
*
|
|
16
|
+
* universe; object-type grants also expand to subtypes. Resource grants become
|
|
17
|
+
* id sets; the project Agent grant becomes a boolean.
|
|
18
18
|
* The per-kind universe and subtype rules come from the `GRANT_KINDS` table, so
|
|
19
19
|
* this loop never enumerates targets by hand.
|
|
20
20
|
*/
|
|
@@ -22,6 +22,10 @@ export function resolveRoleGrants(role: RoleDefinition, universe: GrantUniverse)
|
|
|
22
22
|
const grants = emptyGrantSets()
|
|
23
23
|
|
|
24
24
|
for (const grant of role.grants) {
|
|
25
|
+
if (grant.capability === "run" && grant.target === "agent") {
|
|
26
|
+
grants["run:agent"] = true
|
|
27
|
+
continue
|
|
28
|
+
}
|
|
25
29
|
const kind = grantKindOf(grant)
|
|
26
30
|
const spec = GRANT_KINDS[kind]
|
|
27
31
|
expandSelection(
|
|
@@ -84,7 +88,10 @@ export function resolveAuthorizationContext(input: {
|
|
|
84
88
|
}
|
|
85
89
|
|
|
86
90
|
roleIds.push(role.id)
|
|
87
|
-
|
|
91
|
+
if (role.grants["run:agent"]) {
|
|
92
|
+
grants["run:agent"] = true
|
|
93
|
+
}
|
|
94
|
+
for (const kind of TARGETED_GRANT_KIND_KEYS) {
|
|
88
95
|
for (const id of role.grants[kind]) {
|
|
89
96
|
grants[kind].add(id)
|
|
90
97
|
}
|
|
@@ -8,16 +8,18 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import type { Principal } from "../auth/types"
|
|
11
|
-
import { emptyGrantSets, type GrantKind } from "./grant-kinds"
|
|
11
|
+
import { emptyGrantSets, type GrantKind, type SingletonGrantKind } from "./grant-kinds"
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* Grants
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* Grants keyed by kind (`view:object`, `run:sync`, …). Resource selections resolve
|
|
15
|
+
* to id sets; project-wide singleton capabilities resolve to booleans.
|
|
16
|
+
* Broad grants and object subtypes are already expanded. Keyed by `GrantKind`
|
|
17
17
|
* so a new grant family adds one key, not a new bucket every consumer must
|
|
18
18
|
* learn.
|
|
19
19
|
*/
|
|
20
|
-
export type GrantIndex = Readonly<
|
|
20
|
+
export type GrantIndex = Readonly<{
|
|
21
|
+
[TKind in GrantKind]: TKind extends SingletonGrantKind ? boolean : ReadonlySet<string>
|
|
22
|
+
}>
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
25
|
* A grant index that grants nothing, as the base for a hand-built context — typically in tests.
|
|
@@ -10,7 +10,6 @@ import { readdir } from "node:fs/promises"
|
|
|
10
10
|
import { join, relative } from "node:path"
|
|
11
11
|
import { pathToFileURL } from "node:url"
|
|
12
12
|
import { isActionDefinition } from "../actions"
|
|
13
|
-
import { isAgentDefinition } from "../agents"
|
|
14
13
|
import { isConnectorDefinition } from "../connectors"
|
|
15
14
|
import { isDatasetDefinition } from "../datasets"
|
|
16
15
|
import type { OntologyDocumentInput, OntologySource } from "../ontology/registry"
|
|
@@ -22,6 +21,7 @@ import { isRuleDefinition } from "../rules"
|
|
|
22
21
|
import { RuntimeError } from "../runtime/errors"
|
|
23
22
|
import { isScheduleDefinition } from "../schedules"
|
|
24
23
|
import { isGroupDefinition, isMembershipPolicyDefinition, isRoleDefinition } from "../security"
|
|
24
|
+
import { isShareDefinition } from "../shares"
|
|
25
25
|
import { isSyncDefinition } from "../syncs"
|
|
26
26
|
import { isWorkflowDefinition } from "../workflows"
|
|
27
27
|
|
|
@@ -73,7 +73,6 @@ export async function discoverOntologySources(
|
|
|
73
73
|
|
|
74
74
|
type DiscoveryModuleKind =
|
|
75
75
|
| "action"
|
|
76
|
-
| "agent"
|
|
77
76
|
| "connector"
|
|
78
77
|
| "dataset"
|
|
79
78
|
| "group"
|
|
@@ -84,6 +83,7 @@ type DiscoveryModuleKind =
|
|
|
84
83
|
| "role"
|
|
85
84
|
| "rule"
|
|
86
85
|
| "schedule"
|
|
86
|
+
| "share"
|
|
87
87
|
| "sync"
|
|
88
88
|
| "workflow"
|
|
89
89
|
|
|
@@ -138,7 +138,7 @@ const definitionDiscoveryRegistry = {
|
|
|
138
138
|
kind: "membershipPolicy",
|
|
139
139
|
isDefinition: isMembershipPolicyDefinition,
|
|
140
140
|
},
|
|
141
|
-
|
|
141
|
+
shares: { directory: ["shares"], kind: "share", isDefinition: isShareDefinition },
|
|
142
142
|
} as const satisfies Record<string, DefinitionDiscoveryFamily<unknown>>
|
|
143
143
|
|
|
144
144
|
type DefinitionFromFamily<TFamily> =
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mkdir, readdir, readFile, writeFile } from "node:fs/promises"
|
|
1
|
+
import { access, mkdir, readdir, readFile, writeFile } from "node:fs/promises"
|
|
2
2
|
import { dirname, extname, join, relative, resolve, sep } from "node:path"
|
|
3
3
|
import { pathToFileURL } from "node:url"
|
|
4
4
|
import type { OntologyDocumentInput } from "../ontology/registry"
|
|
@@ -75,11 +75,17 @@ export async function generateOntologyTypeManifest(
|
|
|
75
75
|
const discovery = await discoverOntologyTypeManifest(projectRoot)
|
|
76
76
|
|
|
77
77
|
if (discovery.moduleCount === 0) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
// Leave projects without ontology untouched, but clear a previously generated map.
|
|
79
|
+
try {
|
|
80
|
+
await access(outFile)
|
|
81
|
+
} catch (error) {
|
|
82
|
+
if (!isNotFoundError(error)) throw error
|
|
83
|
+
return {
|
|
84
|
+
...discovery,
|
|
85
|
+
path: outFile,
|
|
86
|
+
written: false,
|
|
87
|
+
skipped: true,
|
|
88
|
+
}
|
|
83
89
|
}
|
|
84
90
|
}
|
|
85
91
|
|
package/src/datasets/builders.ts
CHANGED
|
@@ -15,6 +15,7 @@ type DatasetColumnOptions = {
|
|
|
15
15
|
type DefineDatasetOptions = {
|
|
16
16
|
readonly schema: readonly DatasetColumnDefinition[]
|
|
17
17
|
readonly primaryKey?: DatasetPrimaryKey
|
|
18
|
+
readonly sequenceBy?: string
|
|
18
19
|
readonly partitionBy?: readonly string[]
|
|
19
20
|
readonly description?: string
|
|
20
21
|
}
|
|
@@ -23,6 +24,7 @@ type DeriveDatasetOptions<TParent extends DatasetDefinition> = {
|
|
|
23
24
|
readonly pick?: readonly DatasetColumnNameOf<TParent>[]
|
|
24
25
|
readonly add?: readonly DatasetColumnDefinition[]
|
|
25
26
|
readonly primaryKey?: DatasetPrimaryKey
|
|
27
|
+
readonly sequenceBy?: string
|
|
26
28
|
readonly partitionBy?: readonly string[]
|
|
27
29
|
readonly description?: string
|
|
28
30
|
}
|
|
@@ -58,8 +60,22 @@ type PrimaryKeyColumnNameOf<TColumns extends readonly DatasetColumnDefinition[]>
|
|
|
58
60
|
|
|
59
61
|
type CheckedDefineDatasetOptions<TOptions extends DefineDatasetOptions> = TOptions & {
|
|
60
62
|
readonly primaryKey?: DatasetPrimaryKey<PrimaryKeyColumnNameOf<TOptions["schema"]>>
|
|
63
|
+
readonly sequenceBy?: SequenceColumnNameOf<TOptions["schema"]>
|
|
61
64
|
}
|
|
62
65
|
|
|
66
|
+
type SequenceColumnNameOf<TColumns extends readonly DatasetColumnDefinition[]> =
|
|
67
|
+
string extends ColumnNameOf<TColumns>
|
|
68
|
+
? string
|
|
69
|
+
: {
|
|
70
|
+
[TName in ColumnNameOf<TColumns>]: ColumnDefinitionOf<TColumns, TName>["type"] extends
|
|
71
|
+
| "timestamp"
|
|
72
|
+
| "int64"
|
|
73
|
+
? ColumnDefinitionOf<TColumns, TName> extends { readonly nullable: true }
|
|
74
|
+
? never
|
|
75
|
+
: TName
|
|
76
|
+
: never
|
|
77
|
+
}[ColumnNameOf<TColumns>]
|
|
78
|
+
|
|
63
79
|
type PickColumns<
|
|
64
80
|
TColumns extends readonly DatasetColumnDefinition[],
|
|
65
81
|
TNames extends readonly ColumnNameOf<TColumns>[],
|
|
@@ -107,8 +123,9 @@ type DatasetColumnResult<
|
|
|
107
123
|
|
|
108
124
|
type DatasetDefinitionResult<TId extends string, TOptions extends DefineDatasetOptions> = Omit<
|
|
109
125
|
DatasetDefinition<TId, TOptions["schema"]>,
|
|
110
|
-
"primaryKey" | "partitionBy" | "description"
|
|
126
|
+
"primaryKey" | "sequenceBy" | "partitionBy" | "description"
|
|
111
127
|
> &
|
|
128
|
+
FieldFromOptions<TOptions, "sequenceBy", string> &
|
|
112
129
|
FieldFromOptions<TOptions, "primaryKey", DatasetPrimaryKey> &
|
|
113
130
|
FieldFromOptions<TOptions, "partitionBy", readonly string[]> &
|
|
114
131
|
FieldFromOptions<TOptions, "description", string>
|
|
@@ -119,8 +136,9 @@ type DerivedDatasetDefinitionResult<
|
|
|
119
136
|
TOptions extends DeriveDatasetOptions<TParent> | undefined,
|
|
120
137
|
> = Omit<
|
|
121
138
|
DatasetDefinition<TId, DerivedColumns<TParent, TOptions>>,
|
|
122
|
-
"primaryKey" | "partitionBy" | "description"
|
|
139
|
+
"primaryKey" | "sequenceBy" | "partitionBy" | "description"
|
|
123
140
|
> &
|
|
141
|
+
FieldFromOptions<TOptions, "sequenceBy", string> &
|
|
124
142
|
FieldFromOptions<TOptions, "primaryKey", DatasetPrimaryKey> &
|
|
125
143
|
FieldFromOptions<TOptions, "partitionBy", readonly string[]> &
|
|
126
144
|
FieldFromOptions<TOptions, "description", string>
|
|
@@ -130,6 +148,7 @@ type CheckedDeriveDatasetOptions<
|
|
|
130
148
|
TOptions extends DeriveDatasetOptions<TParent>,
|
|
131
149
|
> = TOptions & {
|
|
132
150
|
readonly primaryKey?: DatasetPrimaryKey<PrimaryKeyColumnNameOf<DerivedColumns<TParent, TOptions>>>
|
|
151
|
+
readonly sequenceBy?: SequenceColumnNameOf<DerivedColumns<TParent, TOptions>>
|
|
133
152
|
}
|
|
134
153
|
|
|
135
154
|
export function col<const TName extends string, const TType extends DatasetColumnType>(
|
|
@@ -177,6 +196,7 @@ function createDatasetDefinition(id: string, options: DefineDatasetOptions): Dat
|
|
|
177
196
|
}
|
|
178
197
|
: {}),
|
|
179
198
|
...(options.partitionBy !== undefined ? { partitionBy: [...options.partitionBy] } : {}),
|
|
199
|
+
...(options.sequenceBy !== undefined ? { sequenceBy: options.sequenceBy } : {}),
|
|
180
200
|
...(options.description !== undefined ? { description: options.description } : {}),
|
|
181
201
|
}
|
|
182
202
|
|
|
@@ -230,6 +250,7 @@ function deriveDatasetDefinition(
|
|
|
230
250
|
return createDatasetDefinition(id, {
|
|
231
251
|
schema: [...pickedColumns, ...(options.add ?? [])],
|
|
232
252
|
...(options.primaryKey !== undefined ? { primaryKey: options.primaryKey } : {}),
|
|
253
|
+
...(options.sequenceBy !== undefined ? { sequenceBy: options.sequenceBy } : {}),
|
|
233
254
|
...(options.partitionBy !== undefined ? { partitionBy: options.partitionBy } : {}),
|
|
234
255
|
...(options.description !== undefined ? { description: options.description } : {}),
|
|
235
256
|
})
|
package/src/datasets/changes.ts
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
export type MergeChange<Row, Key> =
|
|
2
2
|
| { readonly kind: "upsert"; readonly row: Row }
|
|
3
|
-
| { readonly kind: "delete"; readonly key: Key }
|
|
3
|
+
| { readonly kind: "delete"; readonly key: Key; readonly sequence?: string | number | Date }
|
|
4
4
|
|
|
5
5
|
export const change = {
|
|
6
6
|
upsert<const Row extends object>(row: Row): { readonly kind: "upsert"; readonly row: Row } {
|
|
7
7
|
return { kind: "upsert", row }
|
|
8
8
|
},
|
|
9
9
|
|
|
10
|
-
delete
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
delete: deleteChange,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function deleteChange<const Key extends object>(
|
|
14
|
+
key: Key
|
|
15
|
+
): { readonly kind: "delete"; readonly key: Key }
|
|
16
|
+
function deleteChange<const Key extends object, const Sequence extends string | number | Date>(
|
|
17
|
+
key: Key,
|
|
18
|
+
options: { readonly sequence: Sequence }
|
|
19
|
+
): { readonly kind: "delete"; readonly key: Key; readonly sequence: Sequence }
|
|
20
|
+
function deleteChange<Key extends object>(
|
|
21
|
+
key: Key,
|
|
22
|
+
options?: { readonly sequence: string | number | Date }
|
|
23
|
+
): { readonly kind: "delete"; readonly key: Key; readonly sequence?: string | number | Date } {
|
|
24
|
+
return { kind: "delete", key, ...(options ? { sequence: options.sequence } : {}) }
|
|
13
25
|
}
|