@sixb/core 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/delegated-admission.d.ts +24 -0
- package/dist/actions/delegated-admission.d.ts.map +1 -0
- package/dist/actions/descriptor.d.ts +29 -0
- package/dist/actions/descriptor.d.ts.map +1 -0
- package/dist/actions/execution.d.ts +5 -5
- package/dist/actions/execution.d.ts.map +1 -1
- package/dist/actions/index.js +50 -40
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-authorization.d.ts +20 -0
- package/dist/actions/run-authorization.d.ts.map +1 -0
- package/dist/actions/run-dispatch.d.ts +3 -1
- package/dist/actions/run-dispatch.d.ts.map +1 -1
- package/dist/actions/worker.js +5 -5
- package/dist/actions/worker.js.map +1 -1
- package/dist/agents/adapters.d.ts +6 -166
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +22 -6
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/builders.d.ts +3 -11
- package/dist/agents/builders.d.ts.map +1 -1
- package/dist/agents/context-resolution.d.ts.map +1 -1
- package/dist/agents/context.js +2 -2
- package/dist/agents/dispatch.d.ts +9 -1
- package/dist/agents/dispatch.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +1 -10
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +9 -10
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/identity.d.ts +3 -0
- package/dist/agents/identity.d.ts.map +1 -0
- package/dist/agents/ids.d.ts +4 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +15 -11
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +90 -78
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +19 -13
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/model-loop.d.ts +58 -0
- package/dist/agents/model-loop.d.ts.map +1 -0
- package/dist/agents/reference.d.ts +4 -0
- package/dist/agents/reference.d.ts.map +1 -0
- package/dist/agents/request.d.ts +10 -8
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/retired-config.d.ts +4 -0
- package/dist/agents/retired-config.d.ts.map +1 -0
- package/dist/agents/streams.d.ts +13 -8
- package/dist/agents/streams.d.ts.map +1 -1
- package/dist/agents/streams.js +7 -5
- package/dist/agents/streams.js.map +1 -1
- package/dist/agents/tool-catalog.d.ts +9 -0
- package/dist/agents/tool-catalog.d.ts.map +1 -0
- package/dist/agents/tool-definition.d.ts +1 -1
- package/dist/agents/tool-definition.d.ts.map +1 -1
- package/dist/agents/types.d.ts +31 -68
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +3 -13
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/ai-usage/execution.d.ts +53 -0
- package/dist/ai-usage/execution.d.ts.map +1 -0
- package/dist/ai-usage/index.d.ts +3 -0
- package/dist/ai-usage/index.d.ts.map +1 -0
- package/dist/auth/index.js +12 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/authorization/decision.d.ts +14 -3
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +25 -8
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +12 -7
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +3 -3
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/authorization/types.d.ts +7 -5
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/blob-storage/browser.js +2 -2
- package/dist/blob-storage/index.js +3 -3
- package/dist/bootstrap/discovery.d.ts +6 -6
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.js +62 -51
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/broker/index.js +2 -2
- package/dist/{chunk-zqysyfjt.js → chunk-08m3b6w8.js} +1 -1
- package/dist/chunk-19jp6g9d.js +131 -0
- package/dist/chunk-19jp6g9d.js.map +11 -0
- package/dist/{chunk-3j7573mj.js → chunk-2dw777qw.js} +50 -5
- package/dist/{chunk-3j7573mj.js.map → chunk-2dw777qw.js.map} +4 -3
- package/dist/{chunk-0172wgm9.js → chunk-2xns679x.js} +10 -2
- package/dist/{chunk-0172wgm9.js.map → chunk-2xns679x.js.map} +3 -3
- package/dist/chunk-359jm1jw.js +147 -0
- package/dist/chunk-359jm1jw.js.map +10 -0
- package/dist/{chunk-dy311asx.js → chunk-3xep5cjx.js} +58 -23
- package/dist/chunk-3xep5cjx.js.map +15 -0
- package/dist/{chunk-n4spznws.js → chunk-3z1qec12.js} +83 -12
- package/dist/chunk-3z1qec12.js.map +12 -0
- package/dist/{chunk-z3zp0bj1.js → chunk-407j3msh.js} +1 -1
- package/dist/{chunk-rhrbz7d4.js → chunk-4a849fr1.js} +1 -1
- package/dist/{chunk-cy0n5dms.js → chunk-4jjp5k14.js} +1 -1
- package/dist/chunk-4qfkag59.js +1568 -0
- package/dist/chunk-4qfkag59.js.map +20 -0
- package/dist/{chunk-1e8m6yn3.js → chunk-4sm0aznx.js} +685 -86
- package/dist/chunk-4sm0aznx.js.map +43 -0
- package/dist/chunk-4yqmp43v.js +159 -0
- package/dist/chunk-4yqmp43v.js.map +11 -0
- package/dist/{chunk-rdeagz6b.js → chunk-5e3pq99w.js} +3 -7
- package/dist/{chunk-rdeagz6b.js.map → chunk-5e3pq99w.js.map} +3 -3
- package/dist/{chunk-ezake7g1.js → chunk-5ntny1qx.js} +1 -1
- package/dist/{chunk-dm72y8wt.js → chunk-7y0f6rf1.js} +29 -16
- package/dist/chunk-7y0f6rf1.js.map +10 -0
- package/dist/{chunk-72q2y8hn.js → chunk-8tsf6dmc.js} +2 -2
- package/dist/{chunk-qewtks41.js → chunk-9nbmsvn5.js} +123 -20
- package/dist/chunk-9nbmsvn5.js.map +11 -0
- package/dist/{chunk-5sxb1168.js → chunk-aa2pen2v.js} +256 -82
- package/dist/chunk-aa2pen2v.js.map +34 -0
- package/dist/{chunk-819wnjz8.js → chunk-ajnan18g.js} +13 -10
- package/dist/chunk-ajnan18g.js.map +12 -0
- package/dist/chunk-c15dr03f.js +43 -0
- package/dist/chunk-c15dr03f.js.map +10 -0
- package/dist/{chunk-t0jjkep3.js → chunk-d8qkxt2v.js} +4 -2
- package/dist/chunk-d8qkxt2v.js.map +10 -0
- package/dist/{chunk-vybf6pkp.js → chunk-dbc80ad7.js} +1 -1
- package/dist/{chunk-nkbfrt0c.js → chunk-f26bck4t.js} +7 -7
- package/dist/{chunk-x2yw73hy.js → chunk-fvt9rjsa.js} +23 -7
- package/dist/chunk-fvt9rjsa.js.map +10 -0
- package/dist/{chunk-znagycq7.js → chunk-gbejpkex.js} +5 -5
- package/dist/{chunk-znagycq7.js.map → chunk-gbejpkex.js.map} +1 -1
- package/dist/{chunk-e42bc6m3.js → chunk-gzasd5b6.js} +5 -5
- package/dist/{chunk-e42bc6m3.js.map → chunk-gzasd5b6.js.map} +3 -3
- package/dist/{chunk-rnshztfq.js → chunk-h0k55pc7.js} +6 -6
- package/dist/{chunk-rnshztfq.js.map → chunk-h0k55pc7.js.map} +1 -1
- package/dist/chunk-h5vqbfmd.js +1537 -0
- package/dist/chunk-h5vqbfmd.js.map +19 -0
- package/dist/chunk-j1sbhm7p.js +45 -0
- package/dist/chunk-j1sbhm7p.js.map +10 -0
- package/dist/chunk-jecn6t54.js +307 -0
- package/dist/chunk-jecn6t54.js.map +12 -0
- package/dist/{chunk-dsrkgtnh.js → chunk-jq43kdvk.js} +1 -1
- package/dist/{chunk-wtmzkcht.js → chunk-k34z5rvh.js} +1 -1
- package/dist/{chunk-f6erf2vv.js → chunk-k522z7v6.js} +10 -5
- package/dist/chunk-k522z7v6.js.map +10 -0
- package/dist/{chunk-htq0qh7z.js → chunk-ka3a2ft3.js} +2 -2
- package/dist/{chunk-ckxfnx7f.js → chunk-mth82m8t.js} +129 -95
- package/dist/chunk-mth82m8t.js.map +14 -0
- package/dist/{chunk-5gynx4xn.js → chunk-mwsxn98e.js} +79 -77
- package/dist/{chunk-5gynx4xn.js.map → chunk-mwsxn98e.js.map} +8 -8
- package/dist/{chunk-f2rt4vkh.js → chunk-n2w475r0.js} +3 -3
- package/dist/chunk-n4khvw9n.js +111 -0
- package/dist/chunk-n4khvw9n.js.map +11 -0
- package/dist/{chunk-t8t39h7v.js → chunk-n6jxh8sw.js} +10 -2
- package/dist/chunk-n6jxh8sw.js.map +10 -0
- package/dist/chunk-nn0tekr1.js +284 -0
- package/dist/chunk-nn0tekr1.js.map +12 -0
- package/dist/chunk-nx7k8tpr.js +436 -0
- package/dist/chunk-nx7k8tpr.js.map +12 -0
- package/dist/{chunk-drjqm1aa.js → chunk-p03r0h5s.js} +310 -28
- package/dist/chunk-p03r0h5s.js.map +16 -0
- package/dist/{chunk-1g8negke.js → chunk-p1rzczbt.js} +93 -8
- package/dist/chunk-p1rzczbt.js.map +12 -0
- package/dist/{chunk-f83ka50g.js → chunk-p1x242ad.js} +652 -77
- package/dist/chunk-p1x242ad.js.map +25 -0
- package/dist/chunk-p2vqaxkc.js +528 -0
- package/dist/chunk-p2vqaxkc.js.map +15 -0
- package/dist/{chunk-a31h57d5.js → chunk-pc7ys28c.js} +70 -7
- package/dist/chunk-pc7ys28c.js.map +14 -0
- package/dist/{chunk-md8k0r54.js → chunk-q0k9nc5a.js} +281 -89
- package/dist/chunk-q0k9nc5a.js.map +14 -0
- package/dist/{chunk-bhxaq2nn.js → chunk-qw9gvjv5.js} +1 -1
- package/dist/chunk-r8jrnexe.js +403 -0
- package/dist/chunk-r8jrnexe.js.map +10 -0
- package/dist/{chunk-h9kxd41f.js → chunk-rafagrwr.js} +48 -7
- package/dist/chunk-rafagrwr.js.map +11 -0
- package/dist/{chunk-dysw7nsm.js → chunk-rv2hkwwa.js} +2 -2
- package/dist/{chunk-ghteq96b.js → chunk-s5y30bc9.js} +2 -2
- package/dist/{chunk-t624af60.js → chunk-sbzzr4kx.js} +1848 -757
- package/dist/chunk-sbzzr4kx.js.map +63 -0
- package/dist/{chunk-6gjqgd3d.js → chunk-tpnd31c1.js} +2 -1
- package/dist/chunk-tpnd31c1.js.map +11 -0
- package/dist/chunk-trxxmgnf.js +68 -0
- package/dist/chunk-trxxmgnf.js.map +11 -0
- package/dist/{chunk-0hc5j867.js → chunk-v1xppd0y.js} +17 -13
- package/dist/{chunk-0hc5j867.js.map → chunk-v1xppd0y.js.map} +2 -2
- package/dist/chunk-v4en4jc2.js +252 -0
- package/dist/chunk-v4en4jc2.js.map +10 -0
- package/dist/{chunk-xkthy56g.js → chunk-w1tvjszy.js} +1 -1
- package/dist/{chunk-8b55ygje.js → chunk-w3e09qqk.js} +1 -1
- package/dist/{chunk-8gv5z0zm.js → chunk-w9tg6yyb.js} +13 -8
- package/dist/{chunk-8gv5z0zm.js.map → chunk-w9tg6yyb.js.map} +3 -3
- package/dist/{chunk-62c7t4jc.js → chunk-wdage1eb.js} +1 -1
- package/dist/{chunk-tg5mee00.js → chunk-wtf06et8.js} +11 -7
- package/dist/{chunk-tg5mee00.js.map → chunk-wtf06et8.js.map} +3 -3
- package/dist/{chunk-nva1xkjz.js → chunk-xajtptbw.js} +1237 -1434
- package/dist/chunk-xajtptbw.js.map +40 -0
- package/dist/{chunk-xc7hq65b.js → chunk-yp8ee62z.js} +49 -2
- package/dist/chunk-yp8ee62z.js.map +11 -0
- package/dist/chunk-z4ccwbkz.js +139 -0
- package/dist/chunk-z4ccwbkz.js.map +10 -0
- package/dist/datasets/builders.d.ts +11 -2
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/changes.d.ts +14 -4
- package/dist/datasets/changes.d.ts.map +1 -1
- package/dist/datasets/execution.d.ts +15 -1
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/index.d.ts +1 -0
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/sequence.d.ts +7 -0
- package/dist/datasets/sequence.d.ts.map +1 -0
- package/dist/datasets/types.d.ts +1 -0
- package/dist/datasets/types.d.ts.map +1 -1
- package/dist/datasets/validation.d.ts.map +1 -1
- package/dist/datasets/write.d.ts +37 -0
- package/dist/datasets/write.d.ts.map +1 -0
- package/dist/datasets/write.js +17 -0
- package/dist/datasets/write.js.map +9 -0
- package/dist/error-reporting/internal.js +4 -4
- package/dist/error-reporting/types.d.ts +7 -2
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +8 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/internal.js +2 -2
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/index.js +4 -4
- package/dist/events/types/datasets.d.ts +2 -6
- package/dist/events/types/datasets.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +18 -9
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +62 -46
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts +68 -20
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +69 -0
- package/dist/execution/authorized-object-reader.d.ts.map +1 -0
- package/dist/execution/durable.d.ts.map +1 -1
- package/dist/execution/index.d.ts +1 -1
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/primitive.js +55 -46
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.d.ts +14 -1
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +92 -54
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/scopes.d.ts +16 -0
- package/dist/execution/scopes.d.ts.map +1 -1
- package/dist/execution/types.d.ts +10 -1
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/http/api-routes.d.ts +2 -0
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +15 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +128 -109
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts +2 -0
- package/dist/json.d.ts.map +1 -1
- package/dist/lake-storage/definition-updates.d.ts.map +1 -1
- package/dist/lake-storage/errors.d.ts +5 -1
- package/dist/lake-storage/errors.d.ts.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +1 -0
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +6 -1
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +27 -10
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/merge-validation.d.ts.map +1 -1
- package/dist/lake-storage/merge.d.ts +13 -2
- package/dist/lake-storage/merge.d.ts.map +1 -1
- package/dist/lake-storage/source-ordering.d.ts +19 -0
- package/dist/lake-storage/source-ordering.d.ts.map +1 -0
- package/dist/lake-storage/sql-transforms.d.ts +2 -1
- package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
- package/dist/lake-storage/types.d.ts +10 -5
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/lake-storage/version-inputs.d.ts +4 -0
- package/dist/lake-storage/version-inputs.d.ts.map +1 -0
- package/dist/logging/index.js +3 -3
- package/dist/logging/types.js +2 -2
- package/dist/materialization/index.js +2 -2
- package/dist/materializer/index.js +38 -31
- package/dist/materializer/index.js.map +1 -1
- package/dist/models/catalog.d.ts +40 -0
- package/dist/models/catalog.d.ts.map +1 -0
- package/dist/models/definitions.d.ts +25 -0
- package/dist/models/definitions.d.ts.map +1 -0
- package/dist/models/errors.d.ts +52 -0
- package/dist/models/errors.d.ts.map +1 -0
- package/dist/models/events.d.ts +192 -0
- package/dist/models/events.d.ts.map +1 -0
- package/dist/models/index.d.ts +17 -39
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +50 -0
- package/dist/models/index.js.map +9 -0
- package/dist/models/language-model.d.ts +90 -0
- package/dist/models/language-model.d.ts.map +1 -0
- package/dist/models/messages.d.ts +74 -0
- package/dist/models/messages.d.ts.map +1 -0
- package/dist/models/pricing.d.ts +69 -0
- package/dist/models/pricing.d.ts.map +1 -0
- package/dist/models/rate-card.d.ts +24 -0
- package/dist/models/rate-card.d.ts.map +1 -0
- package/dist/models/tools.d.ts +24 -0
- package/dist/models/tools.d.ts.map +1 -0
- package/dist/objects/authorized-ontology-view.d.ts +25 -0
- package/dist/objects/authorized-ontology-view.d.ts.map +1 -0
- package/dist/objects/execution.d.ts +1 -1
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +43 -36
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/authorization.d.ts +2 -7
- package/dist/objects/link/authorization.d.ts.map +1 -1
- package/dist/objects/query/executor.d.ts +4 -2
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.js +36 -29
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/links.d.ts +22 -1
- package/dist/objects/query/links.d.ts.map +1 -1
- package/dist/objects/query/selected-read-admission.d.ts +27 -0
- package/dist/objects/query/selected-read-admission.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts +60 -2
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/runtime-query-executor.d.ts +2 -7
- package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
- package/dist/objects/service/list-service.d.ts +2 -3
- package/dist/objects/service/list-service.d.ts.map +1 -1
- package/dist/objects/telemetry/history.d.ts +8 -6
- package/dist/objects/telemetry/history.d.ts.map +1 -1
- package/dist/objects/telemetry/index.d.ts +2 -2
- package/dist/objects/telemetry/index.d.ts.map +1 -1
- package/dist/objects/telemetry/workload.d.ts +11 -0
- package/dist/objects/telemetry/workload.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +2 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +15 -14
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +2 -1
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +0 -1
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +5 -10
- package/dist/ontology/internal.js.map +3 -3
- package/dist/ontology/json-schema.d.ts +10 -6
- package/dist/ontology/json-schema.d.ts.map +1 -1
- package/dist/ontology/link-path-selection.d.ts +35 -0
- package/dist/ontology/link-path-selection.d.ts.map +1 -0
- package/dist/ontology/refs.d.ts +2 -0
- package/dist/ontology/refs.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +2 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/pipelines/execution.d.ts.map +1 -1
- package/dist/pipelines/index.js +41 -36
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/request.d.ts.map +1 -1
- package/dist/projections/execution.d.ts.map +1 -1
- package/dist/projections/internal.js +39 -32
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/run-dispatch.d.ts.map +1 -1
- package/dist/queues/in-memory.d.ts +3 -2
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.d.ts +3 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +15 -3
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/rules/execution.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +7 -4
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +4 -2
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +5 -2
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +1 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts +4 -2
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +8 -2
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +3 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/schedules/execution.d.ts +2 -1
- package/dist/schedules/execution.d.ts.map +1 -1
- package/dist/security/every.d.ts +4 -4
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +12 -6
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/registry.d.ts +2 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +19 -5
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +6 -2
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/access-plan.d.ts +22 -0
- package/dist/shares/access-plan.d.ts.map +1 -0
- package/dist/shares/builders.d.ts +14 -0
- package/dist/shares/builders.d.ts.map +1 -0
- package/dist/shares/compiler.d.ts +14 -0
- package/dist/shares/compiler.d.ts.map +1 -0
- package/dist/shares/errors.d.ts +4 -0
- package/dist/shares/errors.d.ts.map +1 -0
- package/dist/shares/execution.d.ts +57 -0
- package/dist/shares/execution.d.ts.map +1 -0
- package/dist/shares/index.d.ts +10 -0
- package/dist/shares/index.d.ts.map +1 -0
- package/dist/shares/internal.d.ts +3 -0
- package/dist/shares/internal.d.ts.map +1 -0
- package/dist/shares/internal.js +239 -0
- package/dist/shares/internal.js.map +10 -0
- package/dist/shares/intersection.d.ts +9 -0
- package/dist/shares/intersection.d.ts.map +1 -0
- package/dist/shares/session-protocol.d.ts +41 -0
- package/dist/shares/session-protocol.d.ts.map +1 -0
- package/dist/shares/types.d.ts +51 -0
- package/dist/shares/types.d.ts.map +1 -0
- package/dist/shares/validation.d.ts +11 -0
- package/dist/shares/validation.d.ts.map +1 -0
- package/dist/storage/action-runs/failure.js +3 -3
- package/dist/storage/action-runs/provider.js +2 -2
- package/dist/storage/agents/errors.d.ts +1 -1
- package/dist/storage/agents/errors.d.ts.map +1 -1
- package/dist/storage/agents/in-memory.d.ts +3 -2
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +1 -1
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +11 -4
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +18 -15
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +65 -17
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +2 -1
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/codec.d.ts +3 -2
- package/dist/storage/ai-cost/codec.d.ts.map +1 -1
- package/dist/storage/ai-cost/groups.d.ts +51 -0
- package/dist/storage/ai-cost/groups.d.ts.map +1 -0
- package/dist/storage/ai-cost/in-memory.d.ts +11 -1
- package/dist/storage/ai-cost/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-cost/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.d.ts +2 -0
- package/dist/storage/ai-cost/provider.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +29 -13
- package/dist/storage/ai-cost/provider.js.map +3 -3
- package/dist/storage/ai-cost/types.d.ts +64 -15
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/validation.d.ts +2 -1
- package/dist/storage/ai-cost/validation.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.d.ts +14 -0
- package/dist/storage/ai-limits/enforcement.d.ts.map +1 -0
- package/dist/storage/ai-limits/enforcement.js +21 -0
- package/dist/storage/ai-limits/enforcement.js.map +9 -0
- package/dist/storage/ai-limits/errors.d.ts +8 -0
- package/dist/storage/ai-limits/errors.d.ts.map +1 -0
- package/dist/storage/ai-limits/in-memory.d.ts +78 -0
- package/dist/storage/ai-limits/in-memory.d.ts.map +1 -0
- package/dist/storage/ai-limits/index.d.ts +7 -0
- package/dist/storage/ai-limits/index.d.ts.map +1 -0
- package/dist/storage/ai-limits/period.d.ts +4 -0
- package/dist/storage/ai-limits/period.d.ts.map +1 -0
- package/dist/storage/ai-limits/provider.d.ts +85 -0
- package/dist/storage/ai-limits/provider.d.ts.map +1 -0
- package/dist/storage/ai-limits/provider.js +62 -0
- package/dist/storage/ai-limits/provider.js.map +9 -0
- package/dist/storage/ai-limits/types.d.ts +175 -0
- package/dist/storage/ai-limits/types.d.ts.map +1 -0
- package/dist/storage/ai-usage/in-memory.d.ts +4 -0
- package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-usage/record.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +6 -2
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/auth/errors.d.ts +1 -1
- package/dist/storage/auth/errors.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts +4 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/device-authorizations.d.ts +29 -0
- package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/shared.d.ts +3 -1
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +2 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +66 -0
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +2 -2
- package/dist/storage/executions/in-memory.d.ts +3 -0
- package/dist/storage/executions/in-memory.d.ts.map +1 -1
- package/dist/storage/executions/provider.d.ts +4 -1
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +23 -3
- package/dist/storage/executions/provider.js.map +3 -3
- package/dist/storage/executions/run-link.d.ts +14 -2
- package/dist/storage/executions/run-link.d.ts.map +1 -1
- package/dist/storage/executions/validation.d.ts +6 -0
- package/dist/storage/executions/validation.d.ts.map +1 -1
- package/dist/storage/in-memory/index.d.ts +12 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +15 -6
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +78 -36
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/objects/execution-limits.d.ts +25 -0
- package/dist/storage/objects/execution-limits.d.ts.map +1 -0
- package/dist/storage/objects/guard.d.ts +16 -0
- package/dist/storage/objects/guard.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/index.d.ts +3 -0
- package/dist/storage/objects/in-memory/index.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/keys.d.ts +10 -0
- package/dist/storage/objects/in-memory/keys.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/query.d.ts +31 -0
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/read-scope.d.ts +18 -0
- package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/read-source.d.ts +10 -0
- package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/selected-reader.d.ts +9 -0
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -0
- package/dist/storage/objects/{in-memory.d.ts → in-memory/storage.d.ts} +13 -10
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -0
- package/dist/storage/objects/index.d.ts +4 -1
- package/dist/storage/objects/index.d.ts.map +1 -1
- package/dist/storage/objects/keys.d.ts +1 -1
- package/dist/storage/objects/keys.d.ts.map +1 -1
- package/dist/storage/objects/read-scope.d.ts +25 -0
- package/dist/storage/objects/read-scope.d.ts.map +1 -0
- package/dist/storage/objects/types.d.ts +114 -22
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +3 -3
- package/dist/storage/operation-scope.d.ts +3 -0
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +4 -2
- package/dist/storage/operation-scope.js.map +1 -1
- package/dist/storage/pipeline-runs/provider.js +2 -2
- package/dist/storage/projection-runs/provider.js +4 -4
- package/dist/storage/share-grants/errors.d.ts +8 -0
- package/dist/storage/share-grants/errors.d.ts.map +1 -0
- package/dist/storage/share-grants/in-memory.d.ts +11 -0
- package/dist/storage/share-grants/in-memory.d.ts.map +1 -0
- package/dist/storage/share-grants/index.d.ts +5 -0
- package/dist/storage/share-grants/index.d.ts.map +1 -0
- package/dist/storage/share-grants/provider.d.ts +4 -0
- package/dist/storage/share-grants/provider.d.ts.map +1 -0
- package/dist/storage/share-grants/provider.js +24 -0
- package/dist/storage/share-grants/provider.js.map +9 -0
- package/dist/storage/share-grants/record.d.ts +11 -0
- package/dist/storage/share-grants/record.d.ts.map +1 -0
- package/dist/storage/share-grants/types.d.ts +97 -0
- package/dist/storage/share-grants/types.d.ts.map +1 -0
- package/dist/storage/share-sessions/errors.d.ts +8 -0
- package/dist/storage/share-sessions/errors.d.ts.map +1 -0
- package/dist/storage/share-sessions/in-memory.d.ts +14 -0
- package/dist/storage/share-sessions/in-memory.d.ts.map +1 -0
- package/dist/storage/share-sessions/index.d.ts +5 -0
- package/dist/storage/share-sessions/index.d.ts.map +1 -0
- package/dist/storage/share-sessions/provider.d.ts +3 -0
- package/dist/storage/share-sessions/provider.d.ts.map +1 -0
- package/dist/storage/share-sessions/provider.js +20 -0
- package/dist/storage/share-sessions/provider.js.map +9 -0
- package/dist/storage/share-sessions/record.d.ts +8 -0
- package/dist/storage/share-sessions/record.d.ts.map +1 -0
- package/dist/storage/share-sessions/types.d.ts +50 -0
- package/dist/storage/share-sessions/types.d.ts.map +1 -0
- package/dist/storage/sync-runs/provider.js +2 -2
- package/dist/storage/transaction.d.ts +2 -1
- package/dist/storage/transaction.d.ts.map +1 -1
- package/dist/storage/types.d.ts +13 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/webhook-runs/provider.js +2 -2
- package/dist/storage/workflow-runs/provider.d.ts +1 -1
- package/dist/storage/workflow-runs/provider.js +14 -12
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/storage/workflow-runs/types.d.ts +5 -4
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/execution.d.ts.map +1 -1
- package/dist/syncs/index.js +41 -36
- package/dist/syncs/index.js.map +1 -1
- package/dist/syncs/request.d.ts.map +1 -1
- package/dist/testing/agent-execution.d.ts +3 -1
- package/dist/testing/agent-execution.d.ts.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-limit-storage-contract.d.ts +18 -0
- package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -0
- package/dist/testing/ai-model-call-groups-contract.d.ts +6 -0
- package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -0
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/dataset-sequence-contract.d.ts +4 -0
- package/dist/testing/dataset-sequence-contract.d.ts.map +1 -0
- package/dist/testing/effective-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution-storage-contract.d.ts +4 -0
- package/dist/testing/execution-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +5392 -2070
- package/dist/testing/index.js.map +21 -15
- package/dist/testing/lake-merge-storage-contract.d.ts +1 -0
- package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-read-scope-contract.d.ts +22 -0
- package/dist/testing/object-read-scope-contract.d.ts.map +1 -0
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/testing/share-grant-storage-contract.d.ts +10 -0
- package/dist/testing/share-grant-storage-contract.d.ts.map +1 -0
- package/dist/testing/share-session-storage-contract.d.ts +9 -0
- package/dist/testing/share-session-storage-contract.d.ts.map +1 -0
- package/dist/webhooks/internal.js +36 -29
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +2 -2
- package/dist/workflows/agent-step-identity.d.ts +3 -0
- package/dist/workflows/agent-step-identity.d.ts.map +1 -0
- package/dist/workflows/builders.d.ts +2 -3
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/execution.d.ts +1 -1
- package/dist/workflows/execution.d.ts.map +1 -1
- package/dist/workflows/failure.d.ts +1 -1
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.d.ts +3 -2
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +63 -48
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +26 -11
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +7 -1
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +43 -4
- package/src/actions/delegated-admission.ts +72 -0
- package/src/actions/descriptor.ts +58 -0
- package/src/actions/execution.ts +99 -24
- package/src/actions/request.ts +136 -19
- package/src/actions/run-authorization.ts +53 -0
- package/src/actions/run-dispatch.ts +8 -1
- package/src/agents/adapters.ts +60 -456
- package/src/agents/authority.ts +215 -34
- package/src/agents/builders.ts +3 -50
- package/src/agents/context-compaction.ts +4 -0
- package/src/agents/context-resolution.ts +1 -4
- package/src/agents/dispatch.ts +59 -2
- package/src/agents/errors.ts +4 -11
- package/src/agents/execution.ts +65 -56
- package/src/agents/identity.ts +4 -0
- package/src/agents/ids.ts +16 -1
- package/src/agents/index.ts +23 -30
- package/src/agents/message.ts +20 -12
- package/src/agents/model-loop.ts +1071 -0
- package/src/agents/reference.ts +7 -0
- package/src/agents/request.ts +157 -77
- package/src/agents/retired-config.ts +20 -0
- package/src/agents/streams.ts +45 -19
- package/src/agents/tool-catalog.ts +21 -0
- package/src/agents/tool-definition.ts +9 -5
- package/src/agents/types.ts +39 -81
- package/src/agents/validation.ts +11 -216
- package/src/ai-usage/execution.ts +189 -0
- package/src/ai-usage/index.ts +15 -0
- package/src/authorization/decision.ts +54 -22
- package/src/authorization/grant-kinds.ts +72 -15
- package/src/authorization/index.ts +2 -0
- package/src/authorization/resolve.ts +12 -5
- package/src/authorization/types.ts +7 -5
- package/src/bootstrap/discovery.ts +3 -3
- package/src/bootstrap/ontology-type-manifest.ts +12 -6
- package/src/datasets/builders.ts +23 -2
- package/src/datasets/changes.ts +16 -4
- package/src/datasets/execution.ts +76 -5
- package/src/datasets/index.ts +1 -0
- package/src/datasets/sequence.ts +77 -0
- package/src/datasets/types.ts +1 -0
- package/src/datasets/validation.ts +26 -0
- package/src/datasets/write.ts +240 -0
- package/src/error-reporting/types.ts +4 -2
- package/src/errors/catalog.ts +8 -0
- package/src/events/execution.ts +57 -7
- package/src/events/types/datasets.ts +2 -6
- package/src/execution/agent.ts +129 -25
- package/src/execution/authorization.ts +493 -83
- package/src/execution/authorized-object-reader.ts +695 -0
- package/src/execution/durable.ts +10 -2
- package/src/execution/index.ts +1 -0
- package/src/execution/request.ts +67 -14
- package/src/execution/scopes.ts +36 -6
- package/src/execution/types.ts +9 -1
- package/src/http/api-routes.ts +108 -0
- package/src/index.ts +72 -22
- package/src/json.ts +9 -0
- package/src/lake-storage/definition-updates.ts +9 -0
- package/src/lake-storage/errors.ts +6 -1
- package/src/lake-storage/in-memory.ts +53 -17
- package/src/lake-storage/index.ts +10 -1
- package/src/lake-storage/merge-validation.ts +12 -2
- package/src/lake-storage/merge.ts +40 -2
- package/src/lake-storage/source-ordering.ts +95 -0
- package/src/lake-storage/sql-transforms.ts +2 -1
- package/src/lake-storage/types.ts +10 -5
- package/src/lake-storage/version-inputs.ts +14 -0
- package/src/models/catalog.ts +137 -0
- package/src/models/definitions.ts +202 -0
- package/src/models/errors.ts +83 -0
- package/src/models/events.ts +198 -0
- package/src/models/index.ts +89 -71
- package/src/models/language-model.ts +143 -0
- package/src/models/messages.ts +78 -0
- package/src/models/pricing.ts +390 -0
- package/src/models/rate-card.ts +101 -0
- package/src/models/tools.ts +29 -0
- package/src/objects/authorized-ontology-view.ts +512 -0
- package/src/objects/execution.ts +98 -143
- package/src/objects/link/authorization.ts +3 -2
- package/src/objects/query/executor.ts +45 -34
- package/src/objects/query/links.ts +84 -25
- package/src/objects/query/selected-read-admission.ts +310 -0
- package/src/objects/query/validate.ts +353 -36
- package/src/objects/sdk/object-handle.ts +2 -8
- package/src/objects/sdk/object-set.ts +10 -11
- package/src/objects/sdk/runtime-query-executor.ts +8 -28
- package/src/objects/sdk/telemetry-channel.ts +11 -7
- package/src/objects/service/list-service.ts +15 -29
- package/src/objects/telemetry/history.ts +297 -17
- package/src/objects/telemetry/index.ts +2 -2
- package/src/objects/telemetry/workload.ts +79 -0
- package/src/ontology/index.ts +7 -1
- package/src/ontology/inference/index.ts +4 -1
- package/src/ontology/internal.ts +0 -1
- package/src/ontology/json-schema.ts +13 -12
- package/src/ontology/link-path-selection.ts +193 -0
- package/src/ontology/refs.ts +19 -0
- package/src/ontology/tokens.ts +15 -8
- package/src/pipelines/execution.ts +30 -7
- package/src/pipelines/request.ts +5 -0
- package/src/projections/execution.ts +72 -11
- package/src/projections/run-dispatch.ts +6 -12
- package/src/queues/in-memory.ts +5 -0
- package/src/queues/index.ts +11 -0
- package/src/queues/types.ts +20 -3
- package/src/rules/execution.ts +20 -8
- package/src/runtime/create.ts +11 -5
- package/src/runtime/definitions.ts +4 -2
- package/src/runtime/host.ts +28 -8
- package/src/runtime/internal.ts +1 -0
- package/src/runtime/resolve-definitions.ts +22 -36
- package/src/runtime/sixb.ts +29 -10
- package/src/runtime/types.ts +3 -0
- package/src/schedules/execution.ts +24 -2
- package/src/security/every.ts +4 -4
- package/src/security/grants.ts +100 -14
- package/src/security/index.ts +3 -0
- package/src/security/registry.ts +9 -5
- package/src/security/types.ts +23 -4
- package/src/security/validation.ts +33 -9
- package/src/shares/access-plan.ts +225 -0
- package/src/shares/builders.ts +381 -0
- package/src/shares/compiler.ts +359 -0
- package/src/shares/errors.ts +3 -0
- package/src/shares/execution.ts +394 -0
- package/src/shares/index.ts +28 -0
- package/src/shares/internal.ts +9 -0
- package/src/shares/intersection.ts +178 -0
- package/src/shares/session-protocol.ts +258 -0
- package/src/shares/types.ts +76 -0
- package/src/shares/validation.ts +40 -0
- package/src/storage/agents/errors.ts +1 -0
- package/src/storage/agents/in-memory.ts +121 -11
- package/src/storage/agents/index.ts +7 -0
- package/src/storage/agents/provider.ts +150 -6
- package/src/storage/agents/types.ts +73 -16
- package/src/storage/ai-cost/analytics.ts +63 -6
- package/src/storage/ai-cost/codec.ts +37 -12
- package/src/storage/ai-cost/groups.ts +248 -0
- package/src/storage/ai-cost/in-memory.ts +42 -0
- package/src/storage/ai-cost/index.ts +6 -0
- package/src/storage/ai-cost/provider.ts +7 -0
- package/src/storage/ai-cost/types.ts +76 -14
- package/src/storage/ai-cost/validation.ts +147 -17
- package/src/storage/ai-limits/enforcement.ts +68 -0
- package/src/storage/ai-limits/errors.ts +23 -0
- package/src/storage/ai-limits/in-memory.ts +671 -0
- package/src/storage/ai-limits/index.ts +31 -0
- package/src/storage/ai-limits/period.ts +11 -0
- package/src/storage/ai-limits/provider.ts +430 -0
- package/src/storage/ai-limits/types.ts +195 -0
- package/src/storage/ai-usage/in-memory.ts +13 -0
- package/src/storage/ai-usage/record.ts +17 -0
- package/src/storage/ai-usage/types.ts +6 -2
- package/src/storage/auth/errors.ts +6 -0
- package/src/storage/auth/in-memory/auth-storage.ts +69 -0
- package/src/storage/auth/in-memory/device-authorizations.ts +145 -0
- package/src/storage/auth/in-memory/shared.ts +7 -0
- package/src/storage/auth/index.ts +7 -0
- package/src/storage/auth/types.ts +73 -0
- package/src/storage/executions/in-memory.ts +9 -1
- package/src/storage/executions/provider.ts +30 -1
- package/src/storage/executions/run-link.ts +45 -6
- package/src/storage/executions/validation.ts +82 -7
- package/src/storage/in-memory/index.ts +69 -6
- package/src/storage/index.ts +102 -1
- package/src/storage/objects/execution-limits.ts +283 -0
- package/src/storage/objects/guard.ts +55 -0
- package/src/storage/objects/in-memory/index.ts +2 -0
- package/src/storage/objects/in-memory/keys.ts +46 -0
- package/src/storage/objects/in-memory/query.ts +754 -0
- package/src/storage/objects/in-memory/read-scope.ts +211 -0
- package/src/storage/objects/in-memory/read-source.ts +10 -0
- package/src/storage/objects/in-memory/selected-reader.ts +252 -0
- package/src/storage/objects/in-memory/storage.ts +589 -0
- package/src/storage/objects/index.ts +21 -0
- package/src/storage/objects/keys.ts +1 -1
- package/src/storage/objects/read-scope.ts +672 -0
- package/src/storage/objects/types.ts +123 -19
- package/src/storage/operation-scope.ts +16 -0
- package/src/storage/share-grants/errors.ts +14 -0
- package/src/storage/share-grants/in-memory.ts +107 -0
- package/src/storage/share-grants/index.ts +14 -0
- package/src/storage/share-grants/provider.ts +11 -0
- package/src/storage/share-grants/record.ts +347 -0
- package/src/storage/share-grants/types.ts +112 -0
- package/src/storage/share-sessions/errors.ts +14 -0
- package/src/storage/share-sessions/in-memory.ts +105 -0
- package/src/storage/share-sessions/index.ts +11 -0
- package/src/storage/share-sessions/provider.ts +9 -0
- package/src/storage/share-sessions/record.ts +176 -0
- package/src/storage/share-sessions/types.ts +57 -0
- package/src/storage/transaction.ts +14 -2
- package/src/storage/types.ts +64 -0
- package/src/storage/workflow-runs/in-memory.ts +3 -3
- package/src/storage/workflow-runs/provider.ts +2 -2
- package/src/storage/workflow-runs/types.ts +6 -3
- package/src/syncs/execution.ts +25 -5
- package/src/syncs/request.ts +5 -0
- package/src/testing/agent-execution.ts +40 -28
- package/src/testing/agent-storage-contract.ts +249 -28
- package/src/testing/ai-cost-storage-contract.ts +96 -8
- package/src/testing/ai-limit-storage-contract.ts +1134 -0
- package/src/testing/ai-model-call-groups-contract.ts +353 -0
- package/src/testing/ai-usage-storage-contract.ts +31 -0
- package/src/testing/auth-storage-contract.ts +85 -0
- package/src/testing/dataset-sequence-contract.ts +373 -0
- package/src/testing/effective-storage-contract.ts +34 -0
- package/src/testing/execution-storage-contract.ts +81 -2
- package/src/testing/index.ts +26 -0
- package/src/testing/lake-merge-storage-contract.ts +3 -0
- package/src/testing/lake-storage-contract.ts +58 -0
- package/src/testing/object-read-scope-contract.ts +939 -0
- package/src/testing/queues-contract.ts +36 -1
- package/src/testing/share-grant-storage-contract.ts +325 -0
- package/src/testing/share-session-storage-contract.ts +235 -0
- package/src/workflows/agent-step-identity.ts +4 -0
- package/src/workflows/builders.ts +95 -9
- package/src/workflows/execution.ts +55 -16
- package/src/workflows/failure.ts +2 -2
- package/src/workflows/index.ts +3 -0
- package/src/workflows/request.ts +5 -0
- package/src/workflows/types.ts +23 -11
- package/src/workflows/validation.ts +100 -7
- package/dist/chunk-1e8m6yn3.js.map +0 -37
- package/dist/chunk-1g8negke.js.map +0 -11
- package/dist/chunk-4gz41why.js +0 -72
- package/dist/chunk-4gz41why.js.map +0 -11
- package/dist/chunk-5sxb1168.js.map +0 -34
- package/dist/chunk-6gjqgd3d.js.map +0 -11
- package/dist/chunk-819wnjz8.js.map +0 -12
- package/dist/chunk-a31h57d5.js.map +0 -13
- package/dist/chunk-a44d5zgd.js +0 -556
- package/dist/chunk-a44d5zgd.js.map +0 -16
- package/dist/chunk-ckxfnx7f.js.map +0 -13
- package/dist/chunk-dm72y8wt.js.map +0 -10
- package/dist/chunk-drjqm1aa.js.map +0 -15
- package/dist/chunk-dy311asx.js.map +0 -14
- package/dist/chunk-f6erf2vv.js.map +0 -10
- package/dist/chunk-f83ka50g.js.map +0 -23
- package/dist/chunk-fe5ev6mr.js +0 -55
- package/dist/chunk-fe5ev6mr.js.map +0 -11
- package/dist/chunk-h9kxd41f.js.map +0 -11
- package/dist/chunk-hceck7dq.js +0 -137
- package/dist/chunk-hceck7dq.js.map +0 -10
- package/dist/chunk-md8k0r54.js.map +0 -14
- package/dist/chunk-n4spznws.js.map +0 -11
- package/dist/chunk-nva1xkjz.js.map +0 -46
- package/dist/chunk-qewtks41.js.map +0 -11
- package/dist/chunk-t0jjkep3.js.map +0 -10
- package/dist/chunk-t624af60.js.map +0 -56
- package/dist/chunk-t8t39h7v.js.map +0 -10
- package/dist/chunk-t9xghkva.js +0 -28
- package/dist/chunk-t9xghkva.js.map +0 -10
- package/dist/chunk-x2yw73hy.js.map +0 -10
- package/dist/chunk-xc7hq65b.js.map +0 -10
- package/dist/storage/objects/in-memory.d.ts.map +0 -1
- package/src/storage/objects/in-memory.ts +0 -1241
- /package/dist/{chunk-zqysyfjt.js.map → chunk-08m3b6w8.js.map} +0 -0
- /package/dist/{chunk-z3zp0bj1.js.map → chunk-407j3msh.js.map} +0 -0
- /package/dist/{chunk-rhrbz7d4.js.map → chunk-4a849fr1.js.map} +0 -0
- /package/dist/{chunk-cy0n5dms.js.map → chunk-4jjp5k14.js.map} +0 -0
- /package/dist/{chunk-ezake7g1.js.map → chunk-5ntny1qx.js.map} +0 -0
- /package/dist/{chunk-72q2y8hn.js.map → chunk-8tsf6dmc.js.map} +0 -0
- /package/dist/{chunk-vybf6pkp.js.map → chunk-dbc80ad7.js.map} +0 -0
- /package/dist/{chunk-nkbfrt0c.js.map → chunk-f26bck4t.js.map} +0 -0
- /package/dist/{chunk-dsrkgtnh.js.map → chunk-jq43kdvk.js.map} +0 -0
- /package/dist/{chunk-wtmzkcht.js.map → chunk-k34z5rvh.js.map} +0 -0
- /package/dist/{chunk-htq0qh7z.js.map → chunk-ka3a2ft3.js.map} +0 -0
- /package/dist/{chunk-f2rt4vkh.js.map → chunk-n2w475r0.js.map} +0 -0
- /package/dist/{chunk-bhxaq2nn.js.map → chunk-qw9gvjv5.js.map} +0 -0
- /package/dist/{chunk-dysw7nsm.js.map → chunk-rv2hkwwa.js.map} +0 -0
- /package/dist/{chunk-ghteq96b.js.map → chunk-s5y30bc9.js.map} +0 -0
- /package/dist/{chunk-xkthy56g.js.map → chunk-w1tvjszy.js.map} +0 -0
- /package/dist/{chunk-8b55ygje.js.map → chunk-w3e09qqk.js.map} +0 -0
- /package/dist/{chunk-62c7t4jc.js.map → chunk-wdage1eb.js.map} +0 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { ShareSessionStorageError } from "./errors"
|
|
2
|
+
import type {
|
|
3
|
+
CreateShareSessionInput,
|
|
4
|
+
GetShareSessionByIdInput,
|
|
5
|
+
RenewShareSessionIfValidInput,
|
|
6
|
+
RevokeShareSessionInput,
|
|
7
|
+
ShareSessionRecord,
|
|
8
|
+
} from "./types"
|
|
9
|
+
|
|
10
|
+
const SHA256_HEX = /^[0-9a-f]{64}$/
|
|
11
|
+
|
|
12
|
+
export function normalizeShareSessionCreate(input: CreateShareSessionInput): ShareSessionRecord {
|
|
13
|
+
if (!isRecord(input)) throw invalidInput("Share session create input must be an object.")
|
|
14
|
+
const createdAt = inputDate(input.createdAt, "Share session creation time")
|
|
15
|
+
const expiresAt = inputDate(input.expiresAt, "Share session inactivity expiry")
|
|
16
|
+
const absoluteExpiresAt = inputDate(input.absoluteExpiresAt, "Share session absolute expiry")
|
|
17
|
+
if (expiresAt.getTime() <= createdAt.getTime()) {
|
|
18
|
+
throw invalidInput("Share session inactivity expiry must be later than creation time.")
|
|
19
|
+
}
|
|
20
|
+
if (absoluteExpiresAt.getTime() <= createdAt.getTime()) {
|
|
21
|
+
throw invalidInput("Share session absolute expiry must be later than creation time.")
|
|
22
|
+
}
|
|
23
|
+
if (expiresAt.getTime() > absoluteExpiresAt.getTime()) {
|
|
24
|
+
throw invalidInput("Share session inactivity expiry must not exceed its absolute expiry.")
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return {
|
|
28
|
+
id: identifier(input.id, "Share session id"),
|
|
29
|
+
projectId: identifier(input.projectId, "Project id"),
|
|
30
|
+
grantId: identifier(input.grantId, "Share grant id"),
|
|
31
|
+
tokenHash: sha256(input.tokenHash, "Share session token hash"),
|
|
32
|
+
createdAt,
|
|
33
|
+
expiresAt,
|
|
34
|
+
absoluteExpiresAt,
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function parseShareSessionRecord(input: unknown): ShareSessionRecord {
|
|
39
|
+
if (!isRecord(input)) throw invalidRecord("Share session row must be an object.")
|
|
40
|
+
try {
|
|
41
|
+
const createdAt = storedDate(input.createdAt, "Share session creation time")
|
|
42
|
+
const expiresAt = storedDate(input.expiresAt, "Share session inactivity expiry")
|
|
43
|
+
const absoluteExpiresAt = storedDate(input.absoluteExpiresAt, "Share session absolute expiry")
|
|
44
|
+
if (expiresAt.getTime() <= createdAt.getTime()) {
|
|
45
|
+
throw invalidRecord("Share session inactivity expiry must be later than creation time.")
|
|
46
|
+
}
|
|
47
|
+
if (absoluteExpiresAt.getTime() <= createdAt.getTime()) {
|
|
48
|
+
throw invalidRecord("Share session absolute expiry must be later than creation time.")
|
|
49
|
+
}
|
|
50
|
+
if (expiresAt.getTime() > absoluteExpiresAt.getTime()) {
|
|
51
|
+
throw invalidRecord("Share session inactivity expiry exceeds its absolute expiry.")
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const revokedAtValue = input.revokedAt
|
|
55
|
+
if (revokedAtValue === null) {
|
|
56
|
+
throw invalidRecord("Share session revocation time must be omitted rather than null.")
|
|
57
|
+
}
|
|
58
|
+
const revokedAt =
|
|
59
|
+
revokedAtValue === undefined
|
|
60
|
+
? undefined
|
|
61
|
+
: storedDate(revokedAtValue, "Share session revocation time")
|
|
62
|
+
if (revokedAt && revokedAt.getTime() < createdAt.getTime()) {
|
|
63
|
+
throw invalidRecord("Share session revocation time must not precede creation time.")
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return {
|
|
67
|
+
id: identifier(input.id, "Share session id"),
|
|
68
|
+
projectId: identifier(input.projectId, "Project id"),
|
|
69
|
+
grantId: identifier(input.grantId, "Share grant id"),
|
|
70
|
+
tokenHash: sha256(input.tokenHash, "Share session token hash"),
|
|
71
|
+
createdAt,
|
|
72
|
+
expiresAt,
|
|
73
|
+
absoluteExpiresAt,
|
|
74
|
+
...(revokedAt === undefined ? {} : { revokedAt }),
|
|
75
|
+
}
|
|
76
|
+
} catch (error) {
|
|
77
|
+
if (error instanceof ShareSessionStorageError) {
|
|
78
|
+
if (error.code === "invalid_record") throw error
|
|
79
|
+
throw invalidRecord(error.message.replace(/^\[Sixb\] /, ""), error)
|
|
80
|
+
}
|
|
81
|
+
throw error
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function normalizeGetShareSessionByIdInput(
|
|
86
|
+
input: GetShareSessionByIdInput
|
|
87
|
+
): GetShareSessionByIdInput {
|
|
88
|
+
if (!isRecord(input)) throw invalidInput("Share session lookup input must be an object.")
|
|
89
|
+
return {
|
|
90
|
+
projectId: identifier(input.projectId, "Project id"),
|
|
91
|
+
id: identifier(input.id, "Share session id"),
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function normalizeRenewShareSessionIfValidInput(
|
|
96
|
+
input: RenewShareSessionIfValidInput
|
|
97
|
+
): RenewShareSessionIfValidInput {
|
|
98
|
+
if (!isRecord(input)) throw invalidInput("Share session renewal input must be an object.")
|
|
99
|
+
const now = inputDate(input.now, "Share session renewal time")
|
|
100
|
+
const expiresAt = inputDate(input.expiresAt, "Requested Share session expiry")
|
|
101
|
+
if (expiresAt.getTime() <= now.getTime()) {
|
|
102
|
+
throw invalidInput("Requested Share session expiry must be later than renewal time.")
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
projectId: identifier(input.projectId, "Project id"),
|
|
106
|
+
id: identifier(input.id, "Share session id"),
|
|
107
|
+
grantId: identifier(input.grantId, "Share grant id"),
|
|
108
|
+
tokenHash: sha256(input.tokenHash, "Share session token hash"),
|
|
109
|
+
now,
|
|
110
|
+
expiresAt,
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export function normalizeRevokeShareSessionInput(
|
|
115
|
+
input: RevokeShareSessionInput,
|
|
116
|
+
createdAt?: Date
|
|
117
|
+
): RevokeShareSessionInput {
|
|
118
|
+
if (!isRecord(input)) throw invalidInput("Share session revocation input must be an object.")
|
|
119
|
+
const normalized = {
|
|
120
|
+
projectId: identifier(input.projectId, "Project id"),
|
|
121
|
+
id: identifier(input.id, "Share session id"),
|
|
122
|
+
revokedAt: inputDate(input.revokedAt, "Share session revocation time"),
|
|
123
|
+
}
|
|
124
|
+
if (createdAt && normalized.revokedAt.getTime() < createdAt.getTime()) {
|
|
125
|
+
throw invalidInput("Share session revocation time must not precede creation time.")
|
|
126
|
+
}
|
|
127
|
+
return normalized
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export function cloneShareSessionRecord(input: ShareSessionRecord): ShareSessionRecord {
|
|
131
|
+
return structuredClone(input)
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function identifier(value: unknown, label: string): string {
|
|
135
|
+
if (typeof value !== "string" || value.trim().length === 0 || value.includes("\0")) {
|
|
136
|
+
throw invalidInput(`${label} must be a non-empty string without NUL bytes.`)
|
|
137
|
+
}
|
|
138
|
+
return value
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function sha256(value: unknown, label: string): string {
|
|
142
|
+
if (typeof value !== "string" || !SHA256_HEX.test(value)) {
|
|
143
|
+
throw invalidInput(`${label} must be a lowercase SHA-256 hex digest.`)
|
|
144
|
+
}
|
|
145
|
+
return value
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function inputDate(value: unknown, label: string): Date {
|
|
149
|
+
if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {
|
|
150
|
+
throw invalidInput(`${label} must be a valid Date.`)
|
|
151
|
+
}
|
|
152
|
+
return new Date(value)
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
function storedDate(value: unknown, label: string): Date {
|
|
156
|
+
const parsed =
|
|
157
|
+
value instanceof Date
|
|
158
|
+
? new Date(value)
|
|
159
|
+
: typeof value === "string"
|
|
160
|
+
? new Date(value)
|
|
161
|
+
: new Date(Number.NaN)
|
|
162
|
+
if (!Number.isFinite(parsed.getTime())) throw invalidRecord(`${label} is invalid.`)
|
|
163
|
+
return parsed
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
167
|
+
return typeof value === "object" && value !== null && !Array.isArray(value)
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function invalidInput(message: string, cause?: unknown): ShareSessionStorageError {
|
|
171
|
+
return new ShareSessionStorageError("invalid_input", `[Sixb] ${message}`, { cause })
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function invalidRecord(message: string, cause?: unknown): ShareSessionStorageError {
|
|
175
|
+
return new ShareSessionStorageError("invalid_record", `[Sixb] ${message}`, { cause })
|
|
176
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** Durable server-side session created after a Share link secret is exchanged. */
|
|
2
|
+
export interface ShareSessionRecord {
|
|
3
|
+
readonly id: string
|
|
4
|
+
readonly projectId: string
|
|
5
|
+
readonly grantId: string
|
|
6
|
+
/** SHA-256 of the bearer session secret. The plaintext secret is never durable. */
|
|
7
|
+
readonly tokenHash: string
|
|
8
|
+
readonly createdAt: Date
|
|
9
|
+
/** Sliding inactivity deadline. */
|
|
10
|
+
readonly expiresAt: Date
|
|
11
|
+
/** Immutable upper bound, normally inherited from the Share grant expiry. */
|
|
12
|
+
readonly absoluteExpiresAt: Date
|
|
13
|
+
readonly revokedAt?: Date
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type CreateShareSessionInput = Omit<ShareSessionRecord, "revokedAt">
|
|
17
|
+
|
|
18
|
+
export interface GetShareSessionByIdInput {
|
|
19
|
+
readonly projectId: string
|
|
20
|
+
readonly id: string
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface RenewShareSessionIfValidInput {
|
|
24
|
+
readonly projectId: string
|
|
25
|
+
readonly id: string
|
|
26
|
+
readonly grantId: string
|
|
27
|
+
readonly tokenHash: string
|
|
28
|
+
/** Explicit clock keeps expiry semantics deterministic across providers. */
|
|
29
|
+
readonly now: Date
|
|
30
|
+
/** Requested sliding inactivity deadline. Storage clamps it to the absolute deadline. */
|
|
31
|
+
readonly expiresAt: Date
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface RevokeShareSessionInput {
|
|
35
|
+
readonly projectId: string
|
|
36
|
+
readonly id: string
|
|
37
|
+
readonly revokedAt: Date
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Persistence contract for short-lived Share access sessions. */
|
|
41
|
+
export interface ShareSessionStorage {
|
|
42
|
+
/** `(projectId, id)` and `(projectId, tokenHash)` must both be unique. */
|
|
43
|
+
create(input: CreateShareSessionInput): Promise<ShareSessionRecord>
|
|
44
|
+
|
|
45
|
+
/** Load one project-scoped session, including expired or revoked sessions, or return null. */
|
|
46
|
+
getById(input: GetShareSessionByIdInput): Promise<ShareSessionRecord | null>
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Atomically authenticate and renew an active session. Mismatched, expired, or revoked sessions
|
|
50
|
+
* return null. A renewal never shortens the current deadline and never exceeds
|
|
51
|
+
* `absoluteExpiresAt`.
|
|
52
|
+
*/
|
|
53
|
+
renewIfValid(input: RenewShareSessionIfValidInput): Promise<ShareSessionRecord | null>
|
|
54
|
+
|
|
55
|
+
/** Preserve and return the first revocation; a missing session returns null. */
|
|
56
|
+
revoke(input: RevokeShareSessionInput): Promise<ShareSessionRecord | null>
|
|
57
|
+
}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { StorageTransactionError } from "./errors"
|
|
2
|
+
import { createObjectOperationScope } from "./operation-scope"
|
|
3
|
+
import type { Storage } from "./types"
|
|
2
4
|
|
|
3
5
|
type ObjectLike = Record<PropertyKey, unknown>
|
|
4
6
|
|
|
5
|
-
export function createTransactionStorageProxy<T extends
|
|
7
|
+
export function createTransactionStorageProxy<T extends Storage>(
|
|
6
8
|
target: T,
|
|
7
9
|
isActive: () => boolean
|
|
8
10
|
): T {
|
|
9
11
|
const proxies = new WeakMap<object, object>()
|
|
12
|
+
const objectStorage = createObjectOperationScope(target.objects, {
|
|
13
|
+
assertAvailable: () => assertTransactionActive(isActive),
|
|
14
|
+
run: async <TResult>(operation: () => Promise<TResult> | TResult): Promise<TResult> => {
|
|
15
|
+
assertTransactionActive(isActive)
|
|
16
|
+
return operation()
|
|
17
|
+
},
|
|
18
|
+
})
|
|
10
19
|
|
|
11
20
|
const wrap = <TValue extends object>(value: TValue): TValue => {
|
|
12
21
|
const existing = proxies.get(value)
|
|
@@ -19,7 +28,10 @@ export function createTransactionStorageProxy<T extends object>(
|
|
|
19
28
|
// from `tx` are wrapped (a handful), not the row/link data graph, and never per-record.
|
|
20
29
|
get(current, property, receiver) {
|
|
21
30
|
assertTransactionActive(isActive)
|
|
22
|
-
const result =
|
|
31
|
+
const result =
|
|
32
|
+
current === target && property === "objects"
|
|
33
|
+
? objectStorage
|
|
34
|
+
: Reflect.get(current, property, receiver)
|
|
23
35
|
if (typeof result === "function") {
|
|
24
36
|
return (...args: unknown[]) => {
|
|
25
37
|
assertTransactionActive(isActive)
|
package/src/storage/types.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ActionRunStorage } from "./action-runs"
|
|
2
2
|
import type { AgentStorage } from "./agents"
|
|
3
3
|
import type { AiCostStorage } from "./ai-cost"
|
|
4
|
+
import type { AiLimitStorage } from "./ai-limits"
|
|
4
5
|
import type { AiUsageStorage } from "./ai-usage"
|
|
5
6
|
import type { AuthStorage } from "./auth"
|
|
6
7
|
import type { ConnectorConnectionStorage } from "./connector-connections"
|
|
@@ -11,6 +12,8 @@ import type { OntologyStorage } from "./ontology"
|
|
|
11
12
|
import type { PipelineRunStorage } from "./pipeline-runs"
|
|
12
13
|
import type { ProjectionRunStorage } from "./projection-runs"
|
|
13
14
|
import type { RulesStorage } from "./rules"
|
|
15
|
+
import type { ShareGrantStorage } from "./share-grants"
|
|
16
|
+
import type { ShareSessionStorage } from "./share-sessions"
|
|
14
17
|
import type { SyncRunStorage } from "./sync-runs"
|
|
15
18
|
import type { TimeseriesStorage } from "./timeseries/types"
|
|
16
19
|
import type { WebhookRunStorage } from "./webhook-runs"
|
|
@@ -43,13 +46,17 @@ export type {
|
|
|
43
46
|
AgentMessageRecord,
|
|
44
47
|
AgentRunExecution,
|
|
45
48
|
AgentRunFailureCode,
|
|
49
|
+
AgentRunKind,
|
|
46
50
|
AgentRunRecord,
|
|
47
51
|
AgentStorage,
|
|
48
52
|
AgentThreadRecord,
|
|
49
53
|
AppendAgentMessageInput,
|
|
50
54
|
ConfirmAgentRunExecutionOwnershipInput,
|
|
55
|
+
ConversationAgentRunRecord,
|
|
56
|
+
ConversationAgentRunSpec,
|
|
51
57
|
CreateAgentRunInput,
|
|
52
58
|
CreateAgentThreadInput,
|
|
59
|
+
CreateSubagentRunInput,
|
|
53
60
|
FinishAgentRunInput,
|
|
54
61
|
FinishQueuedAgentRunInput,
|
|
55
62
|
ListAgentMessagesInput,
|
|
@@ -60,8 +67,39 @@ export type {
|
|
|
60
67
|
ListAgentThreadsResult,
|
|
61
68
|
ReclaimAgentRunInput,
|
|
62
69
|
StartAgentRunInput,
|
|
70
|
+
SubagentRunRecord,
|
|
71
|
+
SubagentRunResult,
|
|
72
|
+
SubagentRunSpec,
|
|
63
73
|
} from "./agents"
|
|
64
74
|
export { AGENT_RUN_FAILURE_CODES, AgentStorageError } from "./agents"
|
|
75
|
+
export type {
|
|
76
|
+
AiLimitConsumption,
|
|
77
|
+
AiLimitMeter,
|
|
78
|
+
AiLimitPeriod,
|
|
79
|
+
AiLimitPeriodKind,
|
|
80
|
+
AiLimitPolicy,
|
|
81
|
+
AiLimitPolicyStatus,
|
|
82
|
+
AiLimitQuantity,
|
|
83
|
+
AiLimitReservationBucket,
|
|
84
|
+
AiLimitStorage,
|
|
85
|
+
AiLimitStorageErrorCode,
|
|
86
|
+
AiLimitSubject,
|
|
87
|
+
AiModelCallReservation,
|
|
88
|
+
AiModelCallReservationIdentity,
|
|
89
|
+
AiModelCallReservationState,
|
|
90
|
+
CreateAiLimitPolicyInput,
|
|
91
|
+
DeleteAiLimitPolicyInput,
|
|
92
|
+
GetAiLimitPolicyInput,
|
|
93
|
+
ListAiLimitPoliciesInput,
|
|
94
|
+
ListAiLimitPolicyStatusesInput,
|
|
95
|
+
MarkAiModelCallReservationUnknownInput,
|
|
96
|
+
ReconcileAiModelCallInput,
|
|
97
|
+
RecordAiModelCallLimitActualsInput,
|
|
98
|
+
ReserveAiModelCallInput,
|
|
99
|
+
ReserveAiModelCallResult,
|
|
100
|
+
UpdateAiLimitPolicyInput,
|
|
101
|
+
} from "./ai-limits"
|
|
102
|
+
export { AiLimitStorageError, aiLimitCalendarMonth } from "./ai-limits"
|
|
65
103
|
export type {
|
|
66
104
|
AiModelCallUsage,
|
|
67
105
|
AiModelCallUsageInput,
|
|
@@ -195,6 +233,29 @@ export type {
|
|
|
195
233
|
RuleStateRecord,
|
|
196
234
|
RulesStorage,
|
|
197
235
|
} from "./rules"
|
|
236
|
+
export type {
|
|
237
|
+
CreateShareGrantInput,
|
|
238
|
+
GetShareGrantByIdInput,
|
|
239
|
+
ListShareGrantsInput,
|
|
240
|
+
ListShareGrantsResult,
|
|
241
|
+
RevokeShareGrantInput,
|
|
242
|
+
ShareAuthoritySnapshot,
|
|
243
|
+
ShareAuthoritySnapshotV1,
|
|
244
|
+
ShareGrantRecord,
|
|
245
|
+
ShareGrantStorage,
|
|
246
|
+
ShareGrantStorageErrorCode,
|
|
247
|
+
} from "./share-grants"
|
|
248
|
+
export { ShareGrantStorageError } from "./share-grants"
|
|
249
|
+
export type {
|
|
250
|
+
CreateShareSessionInput,
|
|
251
|
+
GetShareSessionByIdInput,
|
|
252
|
+
RenewShareSessionIfValidInput,
|
|
253
|
+
RevokeShareSessionInput,
|
|
254
|
+
ShareSessionRecord,
|
|
255
|
+
ShareSessionStorage,
|
|
256
|
+
ShareSessionStorageErrorCode,
|
|
257
|
+
} from "./share-sessions"
|
|
258
|
+
export { ShareSessionStorageError } from "./share-sessions"
|
|
198
259
|
export type {
|
|
199
260
|
FinishSyncRunInput,
|
|
200
261
|
ListSyncRunsInput,
|
|
@@ -295,6 +356,7 @@ export interface Storage {
|
|
|
295
356
|
agents?: AgentStorage
|
|
296
357
|
aiUsage?: AiUsageStorage
|
|
297
358
|
aiCosts?: AiCostStorage
|
|
359
|
+
aiLimits?: AiLimitStorage
|
|
298
360
|
actionRuns?: ActionRunStorage
|
|
299
361
|
syncRuns?: SyncRunStorage
|
|
300
362
|
pipelineRuns?: PipelineRunStorage
|
|
@@ -303,6 +365,8 @@ export interface Storage {
|
|
|
303
365
|
workflowInterventions?: WorkflowInterventionStorage
|
|
304
366
|
webhookRuns?: WebhookRunStorage
|
|
305
367
|
rules?: RulesStorage
|
|
368
|
+
shareGrants?: ShareGrantStorage
|
|
369
|
+
shareSessions?: ShareSessionStorage
|
|
306
370
|
fileUploadSessions?: FileUploadSessionStore
|
|
307
371
|
connectorConnections?: ConnectorConnectionStorage
|
|
308
372
|
|
|
@@ -628,7 +628,7 @@ export class InMemoryWorkflowAgentNodeRunStorage implements WorkflowAgentNodeRun
|
|
|
628
628
|
projectId: input.projectId,
|
|
629
629
|
executionId: input.executionId,
|
|
630
630
|
nodeRunId: input.nodeRunId,
|
|
631
|
-
|
|
631
|
+
actorId: input.actorId,
|
|
632
632
|
workflowExecutionId: workflowRun.executionId,
|
|
633
633
|
})
|
|
634
634
|
if (node.status !== "running") {
|
|
@@ -655,7 +655,7 @@ export class InMemoryWorkflowAgentNodeRunStorage implements WorkflowAgentNodeRun
|
|
|
655
655
|
projectId: input.projectId,
|
|
656
656
|
nodeRunId: input.nodeRunId,
|
|
657
657
|
executionId: input.executionId,
|
|
658
|
-
|
|
658
|
+
actorId: input.actorId,
|
|
659
659
|
status: "queued",
|
|
660
660
|
prompt: input.prompt,
|
|
661
661
|
attempt: 0,
|
|
@@ -747,7 +747,7 @@ export class InMemoryWorkflowAgentNodeRunStorage implements WorkflowAgentNodeRun
|
|
|
747
747
|
const order = input.order ?? "desc"
|
|
748
748
|
const filtered = [...this.runs.values()]
|
|
749
749
|
.filter((run) => run.projectId === input.projectId)
|
|
750
|
-
.filter((run) => (input.
|
|
750
|
+
.filter((run) => (input.actorId ? run.actorId === input.actorId : true))
|
|
751
751
|
.filter((run) => (statuses ? statuses.has(run.status) : true))
|
|
752
752
|
.sort((a, b) =>
|
|
753
753
|
order === "asc"
|
|
@@ -42,7 +42,7 @@ export async function assertWorkflowAgentNodeRunExecution(input: {
|
|
|
42
42
|
readonly projectId: string
|
|
43
43
|
readonly executionId: string
|
|
44
44
|
readonly nodeRunId: string
|
|
45
|
-
readonly
|
|
45
|
+
readonly actorId: string
|
|
46
46
|
readonly workflowExecutionId: string
|
|
47
47
|
}): Promise<void> {
|
|
48
48
|
const execution = await findAgentRunExecution({
|
|
@@ -50,7 +50,7 @@ export async function assertWorkflowAgentNodeRunExecution(input: {
|
|
|
50
50
|
projectId: input.projectId,
|
|
51
51
|
executionId: input.executionId,
|
|
52
52
|
runId: input.nodeRunId,
|
|
53
|
-
serviceAccountId: agentServiceAccountId(input.
|
|
53
|
+
authority: { type: "managed", serviceAccountId: agentServiceAccountId(input.actorId) },
|
|
54
54
|
})
|
|
55
55
|
if (
|
|
56
56
|
!execution ||
|
|
@@ -21,6 +21,8 @@ export const WORKFLOW_RUN_FAILURE_CODES = [
|
|
|
21
21
|
"internal.unexpected",
|
|
22
22
|
"runtime.cancelled",
|
|
23
23
|
"workflow.node_failed",
|
|
24
|
+
"ai.usage_limit_exceeded",
|
|
25
|
+
"ai.usage_limit_unavailable",
|
|
24
26
|
] as const satisfies readonly [SixbErrorCode, ...SixbErrorCode[]]
|
|
25
27
|
|
|
26
28
|
export type WorkflowRunFailureCode = (typeof WORKFLOW_RUN_FAILURE_CODES)[number]
|
|
@@ -42,7 +44,8 @@ export interface WorkflowAgentNodeRunRecord {
|
|
|
42
44
|
readonly projectId: string
|
|
43
45
|
readonly nodeRunId: string
|
|
44
46
|
readonly executionId: string
|
|
45
|
-
|
|
47
|
+
/** Stable managed actor for the workflow + Agent step, not the step definition id. */
|
|
48
|
+
readonly actorId: string
|
|
46
49
|
readonly status: WorkflowAgentNodeRunStatus
|
|
47
50
|
readonly prompt: string
|
|
48
51
|
readonly modelId?: string
|
|
@@ -61,7 +64,7 @@ export interface CreateWorkflowAgentNodeRunInput {
|
|
|
61
64
|
readonly projectId: string
|
|
62
65
|
readonly nodeRunId: string
|
|
63
66
|
readonly executionId: string
|
|
64
|
-
readonly
|
|
67
|
+
readonly actorId: string
|
|
65
68
|
readonly prompt: string
|
|
66
69
|
readonly createdAt?: Date
|
|
67
70
|
}
|
|
@@ -116,7 +119,7 @@ export interface CancelWorkflowAgentNodeRunInput {
|
|
|
116
119
|
|
|
117
120
|
export interface ListWorkflowAgentNodeRunsInput {
|
|
118
121
|
readonly projectId: string
|
|
119
|
-
readonly
|
|
122
|
+
readonly actorId?: string
|
|
120
123
|
readonly statuses?: readonly WorkflowAgentNodeRunStatus[]
|
|
121
124
|
readonly limit?: number
|
|
122
125
|
readonly offset?: number
|
package/src/syncs/execution.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assertAuthorized, isRuntimeAllowed } from "../authorization"
|
|
2
2
|
import type { ExecutionContext } from "../execution"
|
|
3
|
+
import { resolveRuntimeAuthorizationForProject } from "../execution/authorization"
|
|
3
4
|
import type { SixbRuntimeContext } from "../runtime/types"
|
|
4
5
|
import type {
|
|
5
6
|
ListLatestSyncRunsResult,
|
|
@@ -29,26 +30,39 @@ export function createSyncsRuntime(
|
|
|
29
30
|
execution: ExecutionContext,
|
|
30
31
|
source: Pick<SyncsRuntime, "list" | "getById">
|
|
31
32
|
): SyncsRuntime {
|
|
32
|
-
const
|
|
33
|
+
const authority = resolveRuntimeAuthorizationForProject(runtime)
|
|
34
|
+
const allowed = (syncId: string) => isRuntimeAllowed(runtime, { kind: "sync.run", syncId })
|
|
33
35
|
const visibleIds = () =>
|
|
34
36
|
source
|
|
35
37
|
.list()
|
|
36
38
|
.filter((sync) => allowed(sync.id))
|
|
37
39
|
.map((sync) => sync.id)
|
|
40
|
+
const historyFilterIds = () =>
|
|
41
|
+
authority.type === "unrestricted"
|
|
42
|
+
? undefined
|
|
43
|
+
: authority.type === "principal"
|
|
44
|
+
? visibleIds()
|
|
45
|
+
: []
|
|
38
46
|
|
|
39
47
|
return {
|
|
40
|
-
list: () =>
|
|
48
|
+
list: () =>
|
|
49
|
+
authority.type === "denied" || authority.type === "delegated"
|
|
50
|
+
? []
|
|
51
|
+
: source.list().filter((sync) => allowed(sync.id)),
|
|
41
52
|
getById: (syncId) => {
|
|
53
|
+
if (authority.type === "denied" || authority.type === "delegated") return null
|
|
42
54
|
const sync = source.getById(syncId)
|
|
43
55
|
return sync && allowed(syncId) ? sync : null
|
|
44
56
|
},
|
|
45
57
|
request: async (input) => {
|
|
58
|
+
assertAuthorized(runtime, { kind: "sync.run", syncId: input.syncId })
|
|
46
59
|
const sync = source.getById(input.syncId)
|
|
47
60
|
if (!sync) throw new SyncValidationError(`[Sixb] Unknown sync '${input.syncId}'`)
|
|
48
61
|
return requestSyncRun(runtime, execution, sync, input)
|
|
49
62
|
},
|
|
50
63
|
runs: {
|
|
51
64
|
getById: async (runId) => {
|
|
65
|
+
if (authority.type === "denied" || authority.type === "delegated") return null
|
|
52
66
|
const run =
|
|
53
67
|
(await runtime.storage.syncRuns?.getById({
|
|
54
68
|
projectId: runtime.projectId,
|
|
@@ -57,15 +71,21 @@ export function createSyncsRuntime(
|
|
|
57
71
|
return run && allowed(run.syncId) ? run : null
|
|
58
72
|
},
|
|
59
73
|
list: (input = {}) => {
|
|
74
|
+
if (authority.type === "denied" || authority.type === "delegated") {
|
|
75
|
+
return Promise.resolve({ runs: [], hasMore: false, total: 0 })
|
|
76
|
+
}
|
|
60
77
|
const storage = runtime.storage.syncRuns
|
|
61
78
|
if (!storage) return Promise.resolve({ runs: [], hasMore: false, total: 0 })
|
|
62
79
|
return storage.list({
|
|
63
|
-
projectId: runtime.projectId,
|
|
64
80
|
...input,
|
|
65
|
-
syncIds:
|
|
81
|
+
syncIds: historyFilterIds(),
|
|
82
|
+
projectId: runtime.projectId,
|
|
66
83
|
})
|
|
67
84
|
},
|
|
68
85
|
listLatest: (syncIds) => {
|
|
86
|
+
if (authority.type === "denied" || authority.type === "delegated") {
|
|
87
|
+
return Promise.resolve({ runs: [] })
|
|
88
|
+
}
|
|
69
89
|
const storage = runtime.storage.syncRuns
|
|
70
90
|
if (!storage || syncIds.length === 0) return Promise.resolve({ runs: [] })
|
|
71
91
|
const allowedIds = syncIds.filter(allowed)
|
package/src/syncs/request.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { assertAuthorized } from "../authorization"
|
|
2
|
+
import { resolveExecutionScopeAuthorization } from "../execution/authorization"
|
|
2
3
|
import {
|
|
3
4
|
createPrimitiveExecutionRecord,
|
|
4
5
|
ensureExecutionRecord,
|
|
@@ -45,6 +46,10 @@ export async function requestSyncRun(
|
|
|
45
46
|
sync: SyncDefinition,
|
|
46
47
|
options: SyncRunRequestOptions = {}
|
|
47
48
|
): Promise<SyncRunRequestResult> {
|
|
49
|
+
resolveExecutionScopeAuthorization(runtime.projectId, {
|
|
50
|
+
execution,
|
|
51
|
+
authorization: runtime.runtimeAuthorization,
|
|
52
|
+
})
|
|
48
53
|
assertAuthorized(runtime, { kind: "sync.run", syncId: sync.id })
|
|
49
54
|
if (!runtime.storage.syncRuns) {
|
|
50
55
|
throw new SyncValidationError("[Sixb] Sync run storage is not configured.")
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { agentServiceAccountId } from "../agents/authority"
|
|
2
|
+
import { SYSTEM_PRINCIPAL } from "../auth"
|
|
2
3
|
import type { AuthStorage } from "../storage/auth"
|
|
3
4
|
import { AuthStorageError } from "../storage/auth"
|
|
4
5
|
import type { ExecutionStorage } from "../storage/executions"
|
|
@@ -8,35 +9,43 @@ export async function createTestAgentExecution(
|
|
|
8
9
|
storage: { readonly auth?: AuthStorage; readonly executions: ExecutionStorage },
|
|
9
10
|
input: {
|
|
10
11
|
readonly projectId: string
|
|
11
|
-
readonly
|
|
12
|
+
readonly actorId?: string
|
|
12
13
|
readonly runId: string
|
|
13
14
|
readonly executionId?: string
|
|
14
15
|
readonly sourceExecutionId?: string
|
|
16
|
+
/** Conversational runs inherit authority; workflow fixtures use managed authority. */
|
|
17
|
+
readonly authority?: "managed" | "inherited"
|
|
15
18
|
}
|
|
16
19
|
): Promise<string> {
|
|
17
|
-
const
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
20
|
+
const authority = input.authority ?? (input.actorId === undefined ? "inherited" : "managed")
|
|
21
|
+
if (authority === "managed" && input.actorId === undefined) {
|
|
22
|
+
throw new Error("Managed Agent execution fixtures require an agent id.")
|
|
23
|
+
}
|
|
24
|
+
const serviceAccountId = input.actorId ? agentServiceAccountId(input.actorId) : undefined
|
|
25
|
+
if (authority === "managed") {
|
|
26
|
+
const auth = storage.auth
|
|
27
|
+
if (!auth) throw new Error("Managed Agent execution fixtures require auth storage.")
|
|
28
|
+
const serviceAccount = await auth.serviceAccounts.getById({
|
|
29
|
+
projectId: input.projectId,
|
|
30
|
+
id: serviceAccountId!,
|
|
31
|
+
})
|
|
32
|
+
if (!serviceAccount) {
|
|
33
|
+
const now = new Date()
|
|
34
|
+
try {
|
|
35
|
+
await auth.serviceAccounts.create({
|
|
36
|
+
id: serviceAccountId!,
|
|
37
|
+
projectId: input.projectId,
|
|
38
|
+
name: `Test Agent ${input.actorId}`,
|
|
39
|
+
description: `Test service account for Agent '${input.actorId}'.`,
|
|
40
|
+
status: "active",
|
|
41
|
+
createdByPrincipal: SYSTEM_PRINCIPAL,
|
|
42
|
+
createdAt: now,
|
|
43
|
+
updatedAt: now,
|
|
44
|
+
})
|
|
45
|
+
} catch (error) {
|
|
46
|
+
if (!(error instanceof AuthStorageError) || error.code !== "duplicate_service_account") {
|
|
47
|
+
throw error
|
|
48
|
+
}
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
}
|
|
@@ -72,10 +81,13 @@ export async function createTestAgentExecution(
|
|
|
72
81
|
? {}
|
|
73
82
|
: { requestedBy: structuredClone(parent.requestedBy) }),
|
|
74
83
|
correlationId: parent.correlationId,
|
|
75
|
-
authorizationRef:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
84
|
+
authorizationRef:
|
|
85
|
+
authority === "inherited"
|
|
86
|
+
? structuredClone(parent.authorizationRef)
|
|
87
|
+
: {
|
|
88
|
+
type: "principal",
|
|
89
|
+
principal: { type: "serviceAccount", id: serviceAccountId! },
|
|
90
|
+
},
|
|
79
91
|
})
|
|
80
92
|
return executionId
|
|
81
93
|
}
|