@sixb/core 0.1.7 → 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 +36 -30
- 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 +3 -3
- package/dist/actions/worker.js.map +1 -1
- package/dist/agents/adapters.d.ts +5 -122
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +1 -1
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/context-resolution.d.ts.map +1 -1
- package/dist/agents/context.js +1 -1
- package/dist/agents/errors.d.ts +0 -9
- package/dist/agents/errors.d.ts.map +1 -1
- 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/index.d.ts +3 -3
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +43 -43
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +4 -5
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/model-loop.d.ts +2 -0
- package/dist/agents/model-loop.d.ts.map +1 -1
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/tool-definition.d.ts +0 -1
- package/dist/agents/tool-definition.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +0 -4
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/ai-usage/execution.d.ts.map +1 -1
- package/dist/auth/index.js +8 -5
- package/dist/auth/index.js.map +1 -1
- package/dist/authorization/decision.d.ts +10 -2
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +2 -1
- 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 +7 -4
- package/dist/authorization/index.js.map +1 -1
- package/dist/bootstrap/discovery.d.ts +7 -1
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.js +46 -39
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/chunk-19jp6g9d.js +131 -0
- package/dist/chunk-19jp6g9d.js.map +11 -0
- package/dist/{chunk-x0qhkqje.js → chunk-2dw777qw.js} +50 -5
- package/dist/{chunk-x0qhkqje.js.map → chunk-2dw777qw.js.map} +4 -3
- package/dist/chunk-359jm1jw.js +147 -0
- package/dist/chunk-359jm1jw.js.map +10 -0
- package/dist/{chunk-2b5qtban.js → chunk-3xep5cjx.js} +56 -21
- package/dist/chunk-3xep5cjx.js.map +15 -0
- package/dist/{chunk-qjycjdj6.js → chunk-3z1qec12.js} +6 -8
- package/dist/{chunk-qjycjdj6.js.map → chunk-3z1qec12.js.map} +2 -2
- package/dist/{chunk-5jcdmjam.js → chunk-4jjp5k14.js} +1 -1
- package/dist/{chunk-n2arzn6e.js → chunk-4qfkag59.js} +44 -221
- package/dist/chunk-4qfkag59.js.map +20 -0
- package/dist/{chunk-rre42skh.js → chunk-4sm0aznx.js} +515 -80
- package/dist/{chunk-rre42skh.js.map → chunk-4sm0aznx.js.map} +11 -7
- package/dist/chunk-4yqmp43v.js +159 -0
- package/dist/chunk-4yqmp43v.js.map +11 -0
- package/dist/{chunk-atmkaf60.js → chunk-5e3pq99w.js} +2 -6
- package/dist/{chunk-atmkaf60.js.map → chunk-5e3pq99w.js.map} +3 -3
- package/dist/{chunk-agsvg9ar.js → chunk-5ntny1qx.js} +1 -1
- package/dist/{chunk-z2sery1b.js → chunk-9nbmsvn5.js} +60 -20
- package/dist/chunk-9nbmsvn5.js.map +11 -0
- package/dist/{chunk-e4rvtvpw.js → chunk-aa2pen2v.js} +250 -78
- package/dist/chunk-aa2pen2v.js.map +34 -0
- package/dist/{chunk-64sr682n.js → chunk-ajnan18g.js} +11 -8
- package/dist/chunk-ajnan18g.js.map +12 -0
- package/dist/{chunk-9aehf39w.js → chunk-f26bck4t.js} +4 -4
- package/dist/{chunk-7ds9620f.js → chunk-fvt9rjsa.js} +23 -7
- package/dist/chunk-fvt9rjsa.js.map +10 -0
- package/dist/{chunk-kt81c11h.js → chunk-gbejpkex.js} +5 -5
- package/dist/{chunk-kt81c11h.js.map → chunk-gbejpkex.js.map} +1 -1
- package/dist/{chunk-vjjv9mrb.js → chunk-gzasd5b6.js} +5 -5
- package/dist/{chunk-vjjv9mrb.js.map → chunk-gzasd5b6.js.map} +3 -3
- package/dist/{chunk-d63tybny.js → chunk-h0k55pc7.js} +4 -4
- package/dist/{chunk-d63tybny.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-3kv70xwp.js → chunk-j1sbhm7p.js} +18 -2
- package/dist/chunk-j1sbhm7p.js.map +10 -0
- package/dist/{chunk-hdz94br2.js → chunk-k522z7v6.js} +10 -5
- package/dist/chunk-k522z7v6.js.map +10 -0
- package/dist/{chunk-wjgm6jjt.js → chunk-mth82m8t.js} +128 -94
- package/dist/chunk-mth82m8t.js.map +14 -0
- package/dist/{chunk-qv38twt8.js → chunk-mwsxn98e.js} +46 -25
- package/dist/{chunk-qv38twt8.js.map → chunk-mwsxn98e.js.map} +6 -6
- package/dist/chunk-n4khvw9n.js +111 -0
- package/dist/chunk-n4khvw9n.js.map +11 -0
- package/dist/{chunk-qjzp9xyb.js → chunk-nn0tekr1.js} +6 -8
- 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-08twe8m6.js → chunk-p1rzczbt.js} +1 -1
- package/dist/{chunk-37wk412q.js → chunk-p1x242ad.js} +587 -70
- package/dist/chunk-p1x242ad.js.map +25 -0
- package/dist/{chunk-tn7xcs2n.js → chunk-pc7ys28c.js} +68 -5
- package/dist/chunk-pc7ys28c.js.map +14 -0
- package/dist/{chunk-3fqt22c4.js → chunk-q0k9nc5a.js} +280 -88
- package/dist/chunk-q0k9nc5a.js.map +14 -0
- package/dist/chunk-r8jrnexe.js +403 -0
- package/dist/chunk-r8jrnexe.js.map +10 -0
- package/dist/{chunk-gbrpsx4m.js → chunk-rafagrwr.js} +30 -2
- package/dist/chunk-rafagrwr.js.map +11 -0
- package/dist/{chunk-xdpwpkha.js → chunk-rv2hkwwa.js} +1 -1
- package/dist/{chunk-6ed5bwnd.js → chunk-sbzzr4kx.js} +1203 -691
- package/dist/{chunk-6ed5bwnd.js.map → chunk-sbzzr4kx.js.map} +15 -9
- package/dist/{chunk-d2ndstdf.js → chunk-v1xppd0y.js} +13 -11
- package/dist/{chunk-d2ndstdf.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-1kamz6j0.js → chunk-w1tvjszy.js} +1 -1
- package/dist/{chunk-rp1mvzb4.js → chunk-w9tg6yyb.js} +11 -6
- package/dist/{chunk-rp1mvzb4.js.map → chunk-w9tg6yyb.js.map} +3 -3
- package/dist/{chunk-4nxeacx7.js → chunk-wdage1eb.js} +1 -1
- package/dist/{chunk-ha58tjtt.js → chunk-wtf06et8.js} +9 -5
- package/dist/{chunk-ha58tjtt.js.map → chunk-wtf06et8.js.map} +3 -3
- package/dist/{chunk-h0knpbz5.js → chunk-xajtptbw.js} +782 -211
- 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/events/execution.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/execution/agent.js +39 -32
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts +58 -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 +39 -32
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.d.ts +11 -0
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +76 -40
- 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 +9 -0
- 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 +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +92 -78
- package/dist/index.js.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 +24 -7
- 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/materializer/index.js +25 -22
- package/dist/materializer/index.js.map +1 -1
- 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 +29 -26
- 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 +24 -21
- 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 +13 -12
- 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 +27 -24
- 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 +25 -22
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/run-dispatch.d.ts.map +1 -1
- package/dist/rules/execution.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +4 -1
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +2 -0
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +2 -0
- 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 +2 -0
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +4 -0
- 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 -1
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +7 -2
- 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 +1 -0
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +7 -1
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +2 -0
- 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/provider.js +2 -2
- package/dist/storage/agents/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 +7 -0
- 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 +8 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +8 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +65 -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/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 +2 -2
- 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 +8 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/webhook-runs/provider.js +2 -2
- package/dist/storage/workflow-runs/provider.js +10 -7
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/execution.d.ts.map +1 -1
- package/dist/syncs/index.js +27 -24
- package/dist/syncs/index.js.map +1 -1
- package/dist/syncs/request.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 +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2555 -908
- package/dist/testing/index.js.map +11 -7
- 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/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 +24 -21
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workflows/execution.d.ts.map +1 -1
- package/dist/workflows/index.js +42 -35
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/package.json +25 -1
- 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 +30 -420
- package/src/agents/authority.ts +3 -4
- package/src/agents/context-resolution.ts +1 -4
- package/src/agents/errors.ts +0 -10
- package/src/agents/execution.ts +13 -5
- package/src/agents/identity.ts +4 -0
- package/src/agents/index.ts +1 -20
- package/src/agents/message.ts +4 -5
- package/src/agents/model-loop.ts +54 -6
- package/src/agents/request.ts +16 -3
- package/src/agents/tool-definition.ts +0 -19
- package/src/agents/validation.ts +6 -65
- package/src/ai-usage/execution.ts +4 -11
- package/src/authorization/decision.ts +29 -14
- package/src/authorization/grant-kinds.ts +10 -0
- package/src/authorization/index.ts +1 -0
- package/src/bootstrap/discovery.ts +3 -0
- 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/events/execution.ts +57 -7
- package/src/events/types/datasets.ts +2 -6
- package/src/execution/agent.ts +1 -4
- package/src/execution/authorization.ts +470 -90
- 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 +63 -13
- package/src/execution/scopes.ts +36 -6
- package/src/execution/types.ts +8 -0
- package/src/http/api-routes.ts +45 -0
- package/src/index.ts +36 -15
- 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/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/rules/execution.ts +20 -8
- package/src/runtime/create.ts +5 -1
- package/src/runtime/definitions.ts +2 -0
- package/src/runtime/host.ts +25 -6
- package/src/runtime/internal.ts +1 -0
- package/src/runtime/resolve-definitions.ts +9 -0
- package/src/runtime/sixb.ts +23 -2
- package/src/runtime/types.ts +3 -0
- package/src/schedules/execution.ts +24 -2
- package/src/security/every.ts +4 -0
- package/src/security/grants.ts +45 -3
- package/src/security/index.ts +1 -0
- package/src/security/registry.ts +3 -0
- package/src/security/types.ts +8 -0
- package/src/security/validation.ts +3 -0
- 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/executions/in-memory.ts +9 -1
- package/src/storage/executions/provider.ts +30 -1
- package/src/storage/executions/run-link.ts +29 -0
- package/src/storage/executions/validation.ts +46 -1
- package/src/storage/in-memory/index.ts +21 -2
- package/src/storage/index.ts +51 -0
- 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 +27 -0
- package/src/syncs/execution.ts +25 -5
- package/src/syncs/request.ts +5 -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 +79 -0
- package/src/testing/index.ts +16 -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/share-grant-storage-contract.ts +325 -0
- package/src/testing/share-session-storage-contract.ts +235 -0
- package/src/workflows/execution.ts +53 -14
- package/src/workflows/request.ts +5 -0
- package/dist/chunk-2b5qtban.js.map +0 -14
- package/dist/chunk-37wk412q.js.map +0 -23
- package/dist/chunk-3fqt22c4.js.map +0 -14
- package/dist/chunk-3kv70xwp.js.map +0 -10
- package/dist/chunk-64sr682n.js.map +0 -12
- package/dist/chunk-7ds9620f.js.map +0 -10
- package/dist/chunk-dqn23610.js +0 -72
- package/dist/chunk-dqn23610.js.map +0 -11
- package/dist/chunk-e4rvtvpw.js.map +0 -34
- package/dist/chunk-gbrpsx4m.js.map +0 -11
- package/dist/chunk-h0knpbz5.js.map +0 -38
- package/dist/chunk-hdz94br2.js.map +0 -10
- package/dist/chunk-n2arzn6e.js.map +0 -20
- package/dist/chunk-qjzp9xyb.js.map +0 -12
- package/dist/chunk-tn7xcs2n.js.map +0 -13
- package/dist/chunk-wjgm6jjt.js.map +0 -13
- package/dist/chunk-xc7hq65b.js.map +0 -10
- package/dist/chunk-y35ma3mj.js +0 -551
- package/dist/chunk-y35ma3mj.js.map +0 -15
- package/dist/chunk-z2sery1b.js.map +0 -11
- package/dist/storage/objects/in-memory.d.ts.map +0 -1
- package/src/storage/objects/in-memory.ts +0 -1241
- /package/dist/{chunk-5jcdmjam.js.map → chunk-4jjp5k14.js.map} +0 -0
- /package/dist/{chunk-agsvg9ar.js.map → chunk-5ntny1qx.js.map} +0 -0
- /package/dist/{chunk-9aehf39w.js.map → chunk-f26bck4t.js.map} +0 -0
- /package/dist/{chunk-08twe8m6.js.map → chunk-p1rzczbt.js.map} +0 -0
- /package/dist/{chunk-xdpwpkha.js.map → chunk-rv2hkwwa.js.map} +0 -0
- /package/dist/{chunk-1kamz6j0.js.map → chunk-w1tvjszy.js.map} +0 -0
- /package/dist/{chunk-4nxeacx7.js.map → chunk-wdage1eb.js.map} +0 -0
package/src/rules/execution.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isRuntimeAllowed } from "../authorization"
|
|
2
|
+
import { resolveRuntimeAuthorizationForProject } from "../execution/authorization"
|
|
2
3
|
import type { DefinitionCatalog } from "../runtime/definitions"
|
|
3
4
|
import type { SixbRuntimeContext } from "../runtime/types"
|
|
4
5
|
import type { ListActiveRuleStatesInput, ListActiveRuleStatesResult } from "../storage/rules"
|
|
@@ -20,28 +21,39 @@ export function createRulesRuntime(
|
|
|
20
21
|
runtime: SixbRuntimeContext,
|
|
21
22
|
source: DefinitionCatalog<RuleDefinition>
|
|
22
23
|
): RulesRuntime {
|
|
23
|
-
const
|
|
24
|
-
|
|
24
|
+
const authority = resolveRuntimeAuthorizationForProject(runtime)
|
|
25
|
+
const visible = (rule: RuleDefinition) => {
|
|
26
|
+
if (authority.type === "denied" || authority.type === "delegated") return false
|
|
27
|
+
return isRuntimeAllowed(runtime, {
|
|
25
28
|
kind: "object.view",
|
|
26
29
|
objectTypeId: rule.subject.objectTypeId,
|
|
27
30
|
})
|
|
31
|
+
}
|
|
28
32
|
|
|
29
33
|
return {
|
|
30
|
-
list: () =>
|
|
34
|
+
list: () =>
|
|
35
|
+
authority.type === "denied" || authority.type === "delegated"
|
|
36
|
+
? []
|
|
37
|
+
: source.list().filter(visible),
|
|
31
38
|
getById: (ruleId) => {
|
|
39
|
+
if (authority.type === "denied" || authority.type === "delegated") return null
|
|
32
40
|
const rule = source.getById(ruleId)
|
|
33
41
|
return rule && visible(rule) ? rule : null
|
|
34
42
|
},
|
|
35
43
|
states: {
|
|
36
44
|
list: (input = {}) => {
|
|
45
|
+
if (authority.type === "denied" || authority.type === "delegated") {
|
|
46
|
+
return Promise.resolve({ states: [], hasMore: false, total: 0 })
|
|
47
|
+
}
|
|
37
48
|
const storage = runtime.storage.rules
|
|
38
49
|
if (!storage) return Promise.resolve({ states: [], hasMore: false, total: 0 })
|
|
39
50
|
return storage.listActive({
|
|
40
|
-
projectId: runtime.projectId,
|
|
41
51
|
...input,
|
|
42
|
-
objectTypeIds:
|
|
43
|
-
|
|
44
|
-
|
|
52
|
+
objectTypeIds:
|
|
53
|
+
authority.type === "principal"
|
|
54
|
+
? [...authority.context.grants["view:object"]]
|
|
55
|
+
: undefined,
|
|
56
|
+
projectId: runtime.projectId,
|
|
45
57
|
})
|
|
46
58
|
},
|
|
47
59
|
},
|
package/src/runtime/create.ts
CHANGED
|
@@ -20,6 +20,7 @@ import type { RuleDefinition } from "../rules"
|
|
|
20
20
|
import type { SandboxFactory } from "../sandboxes"
|
|
21
21
|
import type { ScheduleDefinition } from "../schedules"
|
|
22
22
|
import type { GroupDefinition, MembershipPolicyDefinition, RoleDefinition } from "../security"
|
|
23
|
+
import type { ShareDefinition } from "../shares"
|
|
23
24
|
import type { Storage } from "../storage"
|
|
24
25
|
import type { SyncDefinition } from "../syncs"
|
|
25
26
|
import type { WorkflowDefinition } from "../workflows"
|
|
@@ -63,6 +64,8 @@ export interface CreateSixbOptions {
|
|
|
63
64
|
groups?: readonly GroupDefinition[]
|
|
64
65
|
roles?: readonly RoleDefinition[]
|
|
65
66
|
membershipPolicies?: readonly MembershipPolicyDefinition[]
|
|
67
|
+
/** Share definitions to register in addition to auto-discovered `shares/` exports. */
|
|
68
|
+
shares?: readonly ShareDefinition[]
|
|
66
69
|
auth?: SixbAuthConfig
|
|
67
70
|
projectRoot?: string
|
|
68
71
|
}
|
|
@@ -72,7 +75,7 @@ export interface CreateSixbOptions {
|
|
|
72
75
|
*
|
|
73
76
|
* The host auto-discovers exported definitions from `ontology/`, `actions/`, `datasets/`,
|
|
74
77
|
* `connectors/`, `syncs/`, `schedules/`, `pipelines/`, `projections/`,
|
|
75
|
-
* `rules/`, `workflows/`, and `security/{groups,roles,policies}/`
|
|
78
|
+
* `rules/`, `workflows/`, `shares/`, and `security/{groups,roles,policies}/`
|
|
76
79
|
* relative to `projectRoot`.
|
|
77
80
|
*/
|
|
78
81
|
export async function createSixb(
|
|
@@ -124,6 +127,7 @@ export async function createSixb(
|
|
|
124
127
|
membershipPolicies: [...(options.membershipPolicies ?? []), ...definitions.membershipPolicies],
|
|
125
128
|
models: options.models,
|
|
126
129
|
tools: options.tools,
|
|
130
|
+
shares: [...(options.shares ?? []), ...definitions.shares],
|
|
127
131
|
auth: options.auth,
|
|
128
132
|
})
|
|
129
133
|
}
|
|
@@ -9,6 +9,7 @@ import type { ProjectionDefinitionCatalog } from "../projections"
|
|
|
9
9
|
import type { RuleDefinition } from "../rules"
|
|
10
10
|
import type { ScheduleDefinition } from "../schedules"
|
|
11
11
|
import type { SecurityDefinitionCatalog } from "../security"
|
|
12
|
+
import type { ShareDefinition } from "../shares"
|
|
12
13
|
import type { SyncDefinition } from "../syncs"
|
|
13
14
|
import type { WorkflowDefinition } from "../workflows"
|
|
14
15
|
|
|
@@ -32,6 +33,7 @@ export interface SixbDefinitions {
|
|
|
32
33
|
readonly rules: DefinitionCatalog<RuleDefinition>
|
|
33
34
|
readonly schedules: DefinitionCatalog<ScheduleDefinition>
|
|
34
35
|
readonly security: SecurityDefinitionCatalog
|
|
36
|
+
readonly shares: DefinitionCatalog<ShareDefinition>
|
|
35
37
|
readonly syncs: DefinitionCatalog<SyncDefinition>
|
|
36
38
|
readonly workflows: DefinitionCatalog<WorkflowDefinition>
|
|
37
39
|
}
|
package/src/runtime/host.ts
CHANGED
|
@@ -36,7 +36,11 @@ import {
|
|
|
36
36
|
type DomainEventService,
|
|
37
37
|
OntologyOutboxDispatcher,
|
|
38
38
|
} from "../events"
|
|
39
|
-
import {
|
|
39
|
+
import {
|
|
40
|
+
captureExecutionScope,
|
|
41
|
+
resolveExecutionScopeAuthorization,
|
|
42
|
+
} from "../execution/authorization"
|
|
43
|
+
import { createAuthorizedObjectReader } from "../execution/authorized-object-reader"
|
|
40
44
|
import type { ExecutionScope } from "../execution/types"
|
|
41
45
|
import type { LakeStorage } from "../lake-storage"
|
|
42
46
|
import { type LoggerProvider, LoggingService, type ObservabilityOptions } from "../logging"
|
|
@@ -63,6 +67,7 @@ import type {
|
|
|
63
67
|
RoleDefinition,
|
|
64
68
|
SecurityDefinitionCatalog,
|
|
65
69
|
} from "../security"
|
|
70
|
+
import type { ShareDefinition } from "../shares"
|
|
66
71
|
import type { Storage } from "../storage"
|
|
67
72
|
import type { SyncDefinition } from "../syncs"
|
|
68
73
|
import type { RegisteredWebhook } from "../webhooks"
|
|
@@ -114,6 +119,7 @@ export interface SixbHostOptions<TOntologySources extends readonly OntologySourc
|
|
|
114
119
|
groups?: readonly GroupDefinition[]
|
|
115
120
|
roles?: readonly RoleDefinition[]
|
|
116
121
|
membershipPolicies?: readonly MembershipPolicyDefinition[]
|
|
122
|
+
shares?: readonly ShareDefinition[]
|
|
117
123
|
auth?: SixbAuthConfig
|
|
118
124
|
}
|
|
119
125
|
|
|
@@ -239,24 +245,36 @@ export class SixbHost<
|
|
|
239
245
|
|
|
240
246
|
/** Bind an existing opaque scope. This method never creates or escalates authority. */
|
|
241
247
|
withScope(scope: ExecutionScope): Sixb<TOntologySources> {
|
|
242
|
-
const
|
|
243
|
-
|
|
248
|
+
const capturedScope = captureExecutionScope(scope)
|
|
249
|
+
const authorization = resolveExecutionScopeAuthorization(this.projectId, capturedScope)
|
|
250
|
+
if (authorization.type === "unrestricted" && authorization.ref.type === "kernel") {
|
|
244
251
|
throw new Error("[Sixb] Kernel authority cannot be bound to the domain SDK.")
|
|
245
252
|
}
|
|
246
253
|
|
|
254
|
+
const objectReader = createAuthorizedObjectReader({
|
|
255
|
+
scope: capturedScope,
|
|
256
|
+
ontology: this.hostContext.ontology,
|
|
257
|
+
objectStorage: this.storage.objects,
|
|
258
|
+
})
|
|
259
|
+
|
|
247
260
|
const runtime: SixbRuntimeContext = {
|
|
248
261
|
...this.hostContext,
|
|
249
|
-
runtimeAuthorization:
|
|
262
|
+
runtimeAuthorization: capturedScope.authorization,
|
|
263
|
+
objectReader,
|
|
250
264
|
...(authorization.type === "principal" ? { authorization: authorization.context } : {}),
|
|
251
265
|
}
|
|
252
266
|
registerOntologyMutationRuntime(
|
|
253
267
|
runtime,
|
|
254
268
|
createOntologyMutationRuntime({
|
|
255
|
-
materializer: this.materializer.withScope(
|
|
269
|
+
materializer: this.materializer.withScope(capturedScope),
|
|
256
270
|
notifyCommittedFacts: () => this.committedFacts.notify(),
|
|
257
271
|
})
|
|
258
272
|
)
|
|
259
|
-
return createBoundSixb<TOntologySources>(
|
|
273
|
+
return createBoundSixb<TOntologySources>(
|
|
274
|
+
runtime,
|
|
275
|
+
this.sixbDependencies(),
|
|
276
|
+
capturedScope.execution
|
|
277
|
+
)
|
|
260
278
|
}
|
|
261
279
|
|
|
262
280
|
get id(): string {
|
|
@@ -318,6 +336,7 @@ export class SixbHost<
|
|
|
318
336
|
? {}
|
|
319
337
|
: { connectorConnections: this.connectorService.connectionProcess }),
|
|
320
338
|
blobStorage: this.blobStorage,
|
|
339
|
+
lakeStorage: this.lakeStorage,
|
|
321
340
|
}
|
|
322
341
|
}
|
|
323
342
|
}
|
package/src/runtime/internal.ts
CHANGED
|
@@ -9,6 +9,7 @@ export type {
|
|
|
9
9
|
StartConnectorAuthorizationResult,
|
|
10
10
|
} from "../connectors/connections/contracts"
|
|
11
11
|
export type { ConnectorConnectionsRuntime } from "../connectors/connections/execution"
|
|
12
|
+
export type { AuthorizedObjectReader } from "../execution/authorized-object-reader"
|
|
12
13
|
export type { OntologyMutationRuntime } from "./ontology-mutations"
|
|
13
14
|
export {
|
|
14
15
|
createOntologyMutationRuntime,
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
type RoleDefinition,
|
|
20
20
|
SecurityRegistry,
|
|
21
21
|
} from "../security"
|
|
22
|
+
import { type ShareDefinition, validateSharesAtStartup } from "../shares"
|
|
22
23
|
import type { SyncDefinition } from "../syncs"
|
|
23
24
|
import {
|
|
24
25
|
validateKeyedDatasetWriterTopology,
|
|
@@ -43,6 +44,7 @@ interface DefinitionOptions {
|
|
|
43
44
|
readonly workflows?: readonly WorkflowDefinition[]
|
|
44
45
|
readonly tools?: readonly AgentToolDefinition[]
|
|
45
46
|
readonly models?: ModelCatalogInput
|
|
47
|
+
readonly shares?: readonly ShareDefinition[]
|
|
46
48
|
readonly groups?: readonly GroupDefinition[]
|
|
47
49
|
readonly roles?: readonly RoleDefinition[]
|
|
48
50
|
readonly membershipPolicies?: readonly MembershipPolicyDefinition[]
|
|
@@ -61,6 +63,11 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
|
|
|
61
63
|
const ontology = new OntologyRegistry({ sources: options.ontology })
|
|
62
64
|
const actionRegistry = new ActionRegistry({ actions: options.actions ?? [], ontology })
|
|
63
65
|
const registeredActionIds = new Set(actionRegistry.list().map((action) => action.id))
|
|
66
|
+
const sharesById = validateSharesAtStartup({
|
|
67
|
+
shares: options.shares ?? [],
|
|
68
|
+
ontology,
|
|
69
|
+
actions: actionRegistry,
|
|
70
|
+
})
|
|
64
71
|
|
|
65
72
|
const models = options.models === undefined ? undefined : createModelCatalog(options.models)
|
|
66
73
|
const tools = createAgentToolCatalog(options.tools)
|
|
@@ -142,6 +149,7 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
|
|
|
142
149
|
pipelineIds: new Set(pipelinesById.keys()),
|
|
143
150
|
agentAvailable: models !== undefined,
|
|
144
151
|
connectorIds: new Set(connectorsById.keys()),
|
|
152
|
+
shareIds: new Set(sharesById.keys()),
|
|
145
153
|
getSubTypes: (objectTypeId) => ontology.listSubTypes(objectTypeId),
|
|
146
154
|
})
|
|
147
155
|
validateWorkflowAgentStepGroupReferences(workflows, security)
|
|
@@ -168,6 +176,7 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
|
|
|
168
176
|
rules: createDefinitionCatalog(rulesById),
|
|
169
177
|
schedules: createDefinitionCatalog(schedulesById),
|
|
170
178
|
security,
|
|
179
|
+
shares: createDefinitionCatalog(sharesById),
|
|
171
180
|
syncs: createDefinitionCatalog(syncsById),
|
|
172
181
|
workflows: createDefinitionCatalog(workflowsById),
|
|
173
182
|
})
|
package/src/runtime/sixb.ts
CHANGED
|
@@ -11,6 +11,9 @@ import type { ConnectorService } from "../connectors/service"
|
|
|
11
11
|
import { createDatasetsRuntime, type DatasetsRuntime } from "../datasets/execution"
|
|
12
12
|
import { createEventsRuntime, type EventsRuntime } from "../events/execution"
|
|
13
13
|
import type { ExecutionContext } from "../execution"
|
|
14
|
+
import { resolveExecutionScopeAuthorization } from "../execution/authorization"
|
|
15
|
+
import { assertAuthorizedObjectReaderBinding } from "../execution/authorized-object-reader"
|
|
16
|
+
import type { LakeStorage } from "../lake-storage/types"
|
|
14
17
|
import { createLogsRuntime, type LogsRuntime } from "../logging/execution"
|
|
15
18
|
import type { LoggingService } from "../logging/service"
|
|
16
19
|
import { createObjectsRuntime, type ObjectsRuntime } from "../objects/execution"
|
|
@@ -18,6 +21,7 @@ import { createPipelinesRuntime, type PipelinesRuntime } from "../pipelines/exec
|
|
|
18
21
|
import { createProjectionsRuntime, type ProjectionsRuntime } from "../projections/execution"
|
|
19
22
|
import { createRulesRuntime, type RulesRuntime } from "../rules/execution"
|
|
20
23
|
import { createSchedulesRuntime, type SchedulesRuntime } from "../schedules/execution"
|
|
24
|
+
import { createSharesRuntime, type SharesRuntime } from "../shares/execution"
|
|
21
25
|
import { createSyncsRuntime, type SyncsRuntime } from "../syncs/execution"
|
|
22
26
|
import { createWorkflowsRuntime, type WorkflowsRuntime } from "../workflows/execution"
|
|
23
27
|
import type { SixbDefinitions } from "./definitions"
|
|
@@ -42,6 +46,7 @@ export interface Sixb<
|
|
|
42
46
|
readonly events: EventsRuntime
|
|
43
47
|
readonly logs: LogsRuntime
|
|
44
48
|
readonly schedules: SchedulesRuntime
|
|
49
|
+
readonly shares: SharesRuntime
|
|
45
50
|
readonly connector: ConnectorRuntime
|
|
46
51
|
readonly blobs: BlobsRuntime
|
|
47
52
|
}
|
|
@@ -54,6 +59,7 @@ export interface SixbDependencies {
|
|
|
54
59
|
readonly connectorService: ConnectorService
|
|
55
60
|
readonly connectorConnections?: ConnectorConnectionProcess
|
|
56
61
|
readonly blobStorage: BlobStorage
|
|
62
|
+
readonly lakeStorage: LakeStorage
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
export function createBoundSixb<TOntologySources extends readonly OntologySource[]>(
|
|
@@ -61,6 +67,14 @@ export function createBoundSixb<TOntologySources extends readonly OntologySource
|
|
|
61
67
|
dependencies: SixbDependencies,
|
|
62
68
|
execution: ExecutionContext
|
|
63
69
|
): Sixb<TOntologySources> {
|
|
70
|
+
resolveExecutionScopeAuthorization(runtime.projectId, {
|
|
71
|
+
execution,
|
|
72
|
+
authorization: runtime.runtimeAuthorization,
|
|
73
|
+
})
|
|
74
|
+
assertAuthorizedObjectReaderBinding({
|
|
75
|
+
reader: runtime.objectReader,
|
|
76
|
+
scope: { execution, authorization: runtime.runtimeAuthorization },
|
|
77
|
+
})
|
|
64
78
|
const sixb: Sixb<TOntologySources> = {
|
|
65
79
|
execution,
|
|
66
80
|
...createExecutionFacades<TOntologySources>(runtime, execution, dependencies),
|
|
@@ -91,7 +105,13 @@ function createExecutionFacades<TOntologySources extends readonly OntologySource
|
|
|
91
105
|
return {
|
|
92
106
|
objects: createObjectsRuntime<TOntologySources>(runtime, execution),
|
|
93
107
|
actions: createActionsRuntime(runtime, execution),
|
|
94
|
-
datasets: createDatasetsRuntime(
|
|
108
|
+
datasets: createDatasetsRuntime(
|
|
109
|
+
runtime,
|
|
110
|
+
execution,
|
|
111
|
+
dependencies.definitions.datasets,
|
|
112
|
+
dependencies.lakeStorage,
|
|
113
|
+
dependencies.blobStorage
|
|
114
|
+
),
|
|
95
115
|
workflows: createWorkflowsRuntime(runtime, execution, dependencies.definitions.workflows),
|
|
96
116
|
syncs: createSyncsRuntime(runtime, execution, dependencies.definitions.syncs),
|
|
97
117
|
pipelines: createPipelinesRuntime(runtime, execution, dependencies.definitions.pipelines),
|
|
@@ -101,7 +121,8 @@ function createExecutionFacades<TOntologySources extends readonly OntologySource
|
|
|
101
121
|
aiUsage: createAiUsageRuntime(runtime, dependencies.definitions.security),
|
|
102
122
|
events: createEventsRuntime(runtime),
|
|
103
123
|
logs: createLogsRuntime(runtime, dependencies.logging),
|
|
104
|
-
schedules: createSchedulesRuntime(dependencies.definitions.schedules),
|
|
124
|
+
schedules: createSchedulesRuntime(runtime, dependencies.definitions.schedules),
|
|
125
|
+
shares: createSharesRuntime(runtime, execution, dependencies.definitions.shares),
|
|
105
126
|
connector: createConnectorRuntime(runtime, execution, dependencies.connectorService),
|
|
106
127
|
blobs: createBlobsRuntime(runtime, execution, dependencies.blobStorage),
|
|
107
128
|
}
|
package/src/runtime/types.ts
CHANGED
|
@@ -15,6 +15,7 @@ import type { AuthorizationContext } from "../authorization"
|
|
|
15
15
|
import type { Broker } from "../broker"
|
|
16
16
|
import type { DomainEventLog } from "../events"
|
|
17
17
|
import type { RuntimeAuthorization } from "../execution"
|
|
18
|
+
import type { AuthorizedObjectReader } from "../execution/authorized-object-reader"
|
|
18
19
|
import type {
|
|
19
20
|
ObjectQuery,
|
|
20
21
|
ObjectQueryExplanation,
|
|
@@ -60,6 +61,8 @@ export interface SixbHostContext {
|
|
|
60
61
|
/** Host dependencies paired with the process-local authority of one bound execution. */
|
|
61
62
|
export interface SixbRuntimeContext extends SixbHostContext {
|
|
62
63
|
readonly runtimeAuthorization: RuntimeAuthorization
|
|
64
|
+
/** Core-owned read boundary carrying this exact execution authority. */
|
|
65
|
+
readonly objectReader: AuthorizedObjectReader
|
|
63
66
|
/**
|
|
64
67
|
* Resolved principal grants. Absent for trusted primitive and explicitly disabled executions.
|
|
65
68
|
* The opaque `runtimeAuthorization` remains the source of authority.
|
|
@@ -1,14 +1,36 @@
|
|
|
1
|
+
import { resolveRuntimeAuthorizationForProject } from "../execution/authorization"
|
|
1
2
|
import type { DefinitionCatalog } from "../runtime/definitions"
|
|
3
|
+
import type { SixbRuntimeContext } from "../runtime/types"
|
|
2
4
|
import type { ScheduleDefinition } from "./types"
|
|
3
5
|
|
|
4
6
|
/** Schedule definitions visible to an execution; process lifecycle remains on the host. */
|
|
5
7
|
export type SchedulesRuntime = DefinitionCatalog<ScheduleDefinition>
|
|
6
8
|
|
|
7
9
|
export function createSchedulesRuntime(
|
|
10
|
+
runtime: SixbRuntimeContext,
|
|
8
11
|
schedules: DefinitionCatalog<ScheduleDefinition>
|
|
9
12
|
): SchedulesRuntime {
|
|
13
|
+
const authority = resolveRuntimeAuthorizationForProject(runtime)
|
|
10
14
|
return {
|
|
11
|
-
list: () =>
|
|
12
|
-
|
|
15
|
+
list: () => {
|
|
16
|
+
switch (authority.type) {
|
|
17
|
+
case "denied":
|
|
18
|
+
case "delegated":
|
|
19
|
+
return []
|
|
20
|
+
case "principal":
|
|
21
|
+
case "unrestricted":
|
|
22
|
+
return schedules.list()
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
getById: (scheduleId) => {
|
|
26
|
+
switch (authority.type) {
|
|
27
|
+
case "denied":
|
|
28
|
+
case "delegated":
|
|
29
|
+
return null
|
|
30
|
+
case "principal":
|
|
31
|
+
case "unrestricted":
|
|
32
|
+
return schedules.getById(scheduleId)
|
|
33
|
+
}
|
|
34
|
+
},
|
|
13
35
|
}
|
|
14
36
|
}
|
package/src/security/every.ts
CHANGED
|
@@ -16,6 +16,7 @@ import type { ConnectorDefinition } from "../connectors"
|
|
|
16
16
|
import type { DatasetDefinition } from "../datasets"
|
|
17
17
|
import type { ObjectType } from "../ontology"
|
|
18
18
|
import type { PipelineDefinition } from "../pipelines"
|
|
19
|
+
import type { ShareDefinition } from "../shares"
|
|
19
20
|
import type { SyncDefinition } from "../syncs"
|
|
20
21
|
import type { WorkflowDefinition } from "../workflows/types"
|
|
21
22
|
import { SecurityValidationError } from "./errors"
|
|
@@ -31,6 +32,7 @@ export const BREADTH_TARGETS = [
|
|
|
31
32
|
"pipeline",
|
|
32
33
|
"application",
|
|
33
34
|
"connector",
|
|
35
|
+
"share",
|
|
34
36
|
] as const
|
|
35
37
|
|
|
36
38
|
export type BreadthTarget = (typeof BREADTH_TARGETS)[number]
|
|
@@ -44,6 +46,7 @@ interface BreadthTargetInput {
|
|
|
44
46
|
pipeline: PipelineDefinition
|
|
45
47
|
application: ApplicationDefinition
|
|
46
48
|
connector: ConnectorDefinition
|
|
49
|
+
share: ShareDefinition
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
/**
|
|
@@ -105,4 +108,5 @@ export const every = {
|
|
|
105
108
|
pipeline: (): BreadthSelector<"pipeline"> => all("pipeline"),
|
|
106
109
|
application: (): BreadthSelector<"application"> => all("application"),
|
|
107
110
|
connector: (): BreadthSelector<"connector"> => all("connector"),
|
|
111
|
+
share: (): BreadthSelector<"share"> => all("share"),
|
|
108
112
|
}
|
package/src/security/grants.ts
CHANGED
|
@@ -7,12 +7,20 @@
|
|
|
7
7
|
* checks stay simple `set.has(id)` lookups.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type { ActionDefinition } from "../actions/types"
|
|
10
|
+
import type { ActionDefinition, ObjectActionDefinition } from "../actions/types"
|
|
11
|
+
import { isObjectActionDefinition } from "../actions/validation"
|
|
11
12
|
import type { AgentReference, AgentUsageReference } from "../agents/types"
|
|
12
13
|
import type { ConnectorDefinition } from "../connectors"
|
|
13
14
|
import type { DatasetDefinition } from "../datasets"
|
|
14
15
|
import type { ObjectType } from "../ontology"
|
|
15
16
|
import type { PipelineDefinition } from "../pipelines"
|
|
17
|
+
import { createShareActionGrant, createShareViewGrant, isShareTarget } from "../shares/builders"
|
|
18
|
+
import type {
|
|
19
|
+
ShareActionGrantBuilder,
|
|
20
|
+
ShareDefinition,
|
|
21
|
+
ShareTarget,
|
|
22
|
+
ShareViewGrantBuilder,
|
|
23
|
+
} from "../shares/types"
|
|
16
24
|
import type { SyncDefinition } from "../syncs"
|
|
17
25
|
import type { WorkflowDefinition } from "../workflows/types"
|
|
18
26
|
import { SecurityValidationError } from "./errors"
|
|
@@ -33,6 +41,7 @@ import type {
|
|
|
33
41
|
ObserveGrant,
|
|
34
42
|
RunGrant,
|
|
35
43
|
Selection,
|
|
44
|
+
ShareGrant,
|
|
36
45
|
ViewGrant,
|
|
37
46
|
} from "./types"
|
|
38
47
|
|
|
@@ -56,6 +65,7 @@ const TARGET_BY_DEFINITION_KIND: Readonly<Partial<Record<string, BreadthTarget>>
|
|
|
56
65
|
workflow: "workflow",
|
|
57
66
|
application: "application",
|
|
58
67
|
connector: "connector",
|
|
68
|
+
share: "share",
|
|
59
69
|
}
|
|
60
70
|
|
|
61
71
|
const UNDISCRIMINATED_TARGETS: readonly BreadthTarget[] = ["object", "action"]
|
|
@@ -153,9 +163,15 @@ function access(input: GrantInput<ApplicationDefinition, "application">): Access
|
|
|
153
163
|
return { kind: "grant", capability: "access", target: "application", selection }
|
|
154
164
|
}
|
|
155
165
|
|
|
166
|
+
function view<const TObjectTypeId extends string>(
|
|
167
|
+
input: ShareTarget<TObjectTypeId>
|
|
168
|
+
): ShareViewGrantBuilder<TObjectTypeId>
|
|
156
169
|
function view(input: GrantInput<ObjectType, "object">): ViewGrant<"object">
|
|
157
170
|
function view(input: GrantInput<DatasetDefinition, "dataset">): ViewGrant<"dataset">
|
|
158
|
-
function view(
|
|
171
|
+
function view(
|
|
172
|
+
input: ShareTarget | GrantInput<ObjectType | DatasetDefinition, "object" | "dataset">
|
|
173
|
+
): ViewGrant | ShareViewGrantBuilder {
|
|
174
|
+
if (isShareTarget(input)) return createShareViewGrant(input)
|
|
159
175
|
const { target, selection } = resolveGrant(input, "can.view", VIEW_TARGETS)
|
|
160
176
|
return { kind: "grant", capability: "view", target, selection }
|
|
161
177
|
}
|
|
@@ -176,12 +192,37 @@ function append(input: GrantInput<ObjectType, "object">): AppendGrant {
|
|
|
176
192
|
}
|
|
177
193
|
}
|
|
178
194
|
|
|
195
|
+
function apply<const TAction extends ObjectActionDefinition>(
|
|
196
|
+
input: TAction
|
|
197
|
+
): ApplyGrant & ShareActionGrantBuilder<TAction>
|
|
198
|
+
function apply(input: GrantInput<ActionDefinition, "action">): ApplyGrant
|
|
179
199
|
function apply(input: GrantInput<ActionDefinition, "action">): ApplyGrant {
|
|
180
|
-
|
|
200
|
+
const grant: ApplyGrant = {
|
|
181
201
|
kind: "grant",
|
|
182
202
|
capability: "apply",
|
|
183
203
|
selection: resolveGrant(input, "can.apply", ["action"]).selection,
|
|
184
204
|
}
|
|
205
|
+
// `Array.isArray` does not narrow a readonly array. This cast restores the branch already proved
|
|
206
|
+
// above; every non-selector, non-array GrantInput is one Action definition.
|
|
207
|
+
const one: ActionDefinition | undefined =
|
|
208
|
+
Array.isArray(input) || isBreadthSelector(input) ? undefined : (input as ActionDefinition)
|
|
209
|
+
if (one && isObjectActionDefinition(one)) {
|
|
210
|
+
Object.defineProperty(grant, "on", {
|
|
211
|
+
configurable: false,
|
|
212
|
+
enumerable: false,
|
|
213
|
+
writable: false,
|
|
214
|
+
value: (target: ShareTarget) => createShareActionGrant(one, target),
|
|
215
|
+
})
|
|
216
|
+
}
|
|
217
|
+
return grant
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function share(input: GrantInput<ShareDefinition, "share">): ShareGrant {
|
|
221
|
+
return {
|
|
222
|
+
kind: "grant",
|
|
223
|
+
capability: "share",
|
|
224
|
+
selection: resolveGrant(input, "can.share", ["share"]).selection,
|
|
225
|
+
}
|
|
185
226
|
}
|
|
186
227
|
|
|
187
228
|
function run(input: GrantInput<WorkflowDefinition, "workflow">): RunGrant<"workflow">
|
|
@@ -265,6 +306,7 @@ export const can = {
|
|
|
265
306
|
edit,
|
|
266
307
|
append,
|
|
267
308
|
apply,
|
|
309
|
+
share,
|
|
268
310
|
run,
|
|
269
311
|
observe,
|
|
270
312
|
manage,
|
package/src/security/index.ts
CHANGED
package/src/security/registry.ts
CHANGED
|
@@ -27,6 +27,7 @@ export interface SecurityRegistryOptions {
|
|
|
27
27
|
readonly pipelineIds?: ReadonlySet<string>
|
|
28
28
|
readonly agentAvailable?: boolean
|
|
29
29
|
readonly connectorIds?: ReadonlySet<string>
|
|
30
|
+
readonly shareIds?: ReadonlySet<string>
|
|
30
31
|
readonly getSubTypes?: (objectTypeId: string) => readonly string[]
|
|
31
32
|
}
|
|
32
33
|
|
|
@@ -52,6 +53,7 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
|
|
|
52
53
|
connectorIds: input.connectorIds,
|
|
53
54
|
observableIds: new Set(["logs", "aiUsage"]),
|
|
54
55
|
manageableIds: new Set(["aiUsage"]),
|
|
56
|
+
shareIds: input.shareIds,
|
|
55
57
|
})
|
|
56
58
|
|
|
57
59
|
const universe = {
|
|
@@ -65,6 +67,7 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
|
|
|
65
67
|
connectorIds: input.connectorIds ?? new Set<string>(),
|
|
66
68
|
observableIds: new Set(["logs", "aiUsage"]),
|
|
67
69
|
manageableIds: new Set(["aiUsage"]),
|
|
70
|
+
shareIds: input.shareIds ?? new Set<string>(),
|
|
68
71
|
getSubTypes: input.getSubTypes ?? (() => []),
|
|
69
72
|
}
|
|
70
73
|
|
package/src/security/types.ts
CHANGED
|
@@ -86,6 +86,13 @@ export interface ApplyGrant {
|
|
|
86
86
|
readonly selection: Selection
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
/** Issue, list, and revoke grants created from the selected Share definitions. */
|
|
90
|
+
export interface ShareGrant {
|
|
91
|
+
readonly kind: "grant"
|
|
92
|
+
readonly capability: "share"
|
|
93
|
+
readonly selection: Selection
|
|
94
|
+
}
|
|
95
|
+
|
|
89
96
|
export type RunGrantTarget = "workflow" | "sync" | "pipeline"
|
|
90
97
|
|
|
91
98
|
export interface RunGrant<TTarget extends RunGrantTarget = RunGrantTarget> {
|
|
@@ -127,6 +134,7 @@ export type GrantDefinition =
|
|
|
127
134
|
| EditGrant
|
|
128
135
|
| AppendGrant
|
|
129
136
|
| ApplyGrant
|
|
137
|
+
| ShareGrant
|
|
130
138
|
| RunGrant
|
|
131
139
|
| AgentRunGrant
|
|
132
140
|
| ObserveGrant
|
|
@@ -30,6 +30,7 @@ const GRANT_CAPABILITIES = Object.keys({
|
|
|
30
30
|
edit: true,
|
|
31
31
|
append: true,
|
|
32
32
|
apply: true,
|
|
33
|
+
share: true,
|
|
33
34
|
run: true,
|
|
34
35
|
observe: true,
|
|
35
36
|
manage: true,
|
|
@@ -321,6 +322,8 @@ export function validateSecurityDefinitionsAtStartup(input: {
|
|
|
321
322
|
readonly manageableIds?: ReadonlySet<string>
|
|
322
323
|
/** Registered connector ids — when provided, manage grants must reference them. */
|
|
323
324
|
readonly connectorIds?: ReadonlySet<string>
|
|
325
|
+
/** Registered Share ids — when provided, share grants must reference them. */
|
|
326
|
+
readonly shareIds?: ReadonlySet<string>
|
|
324
327
|
}): RegisteredSecurityDefinitions {
|
|
325
328
|
const groupsById = new Map<string, GroupDefinition>()
|
|
326
329
|
const rolesById = new Map<string, RoleDefinition>()
|