@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
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/lake-storage/errors.ts", "../src/lake-storage/definition-updates.ts", "../src/lake-storage/in-memory.ts", "../src/lake-storage/merge-validation.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Error for lake-storage invariants and invalid lake operations.\n */\nexport class LakeStorageError extends Error {\n readonly name = \"LakeStorageError\"\n}\n",
|
|
6
|
-
"import type { DatasetColumnDefinition, DatasetDefinition } from \"../datasets\"\nimport { LakeStorageError } from \"./errors\"\nimport type { LakeStorage } from \"./types\"\n\nexport type DatasetSchemaUpdatePlan =\n | { readonly kind: \"none\" }\n | {\n readonly kind: \"addNullableColumns\"\n readonly columns: readonly DatasetColumnDefinition[]\n }\n\nexport interface DatasetMetadataUpdatePlan {\n readonly descriptionChanged: boolean\n readonly partitionByChanged: boolean\n}\n\nexport interface DatasetDefinitionUpdatePlan {\n readonly existing: DatasetDefinition\n readonly requested: DatasetDefinition\n readonly definition: DatasetDefinition\n readonly schema: DatasetSchemaUpdatePlan\n readonly metadata: DatasetMetadataUpdatePlan\n readonly changed: boolean\n}\n\nconst SCHEMA_UPDATE_V1_POLICY =\n \"Dataset definition updates V1 support only adding nullable columns.\"\n\n/**\n * Build a provider-neutral update plan for two versions of the same dataset\n * definition. Core owns the definition diff; storage providers own how much of\n * the plan they can apply.\n */\nexport function planDatasetDefinitionUpdate(\n existing: DatasetDefinition,\n requested: DatasetDefinition\n): DatasetDefinitionUpdatePlan {\n assertSameDataset(existing, requested)\n assertPrimaryKeyUnchanged(existing, requested)\n\n const addedColumns = getAddedColumnsAfterValidatingExistingColumns(existing, requested)\n assertAddedColumnsAreNullable(requested.id, addedColumns)\n\n const schema = toSchemaUpdatePlan(addedColumns)\n const definition = mergeDatasetDefinition(existing, requested, addedColumns)\n const metadata: DatasetMetadataUpdatePlan = {\n descriptionChanged: existing.description !== definition.description,\n partitionByChanged: !areStringArraysEqual(existing.partitionBy, definition.partitionBy),\n }\n\n return {\n existing: structuredClone(existing),\n requested: structuredClone(requested),\n definition,\n schema,\n metadata,\n changed: schema.kind !== \"none\" || metadata.descriptionChanged || metadata.partitionByChanged,\n }\n}\n\n/**\n * Strict providers can use this helper when they do not support schema\n * evolution. Metadata-only compatible additions are still merged.\n */\nexport function mergeStrictDatasetDefinition(options: {\n readonly existing?: DatasetDefinition | null\n readonly next: DatasetDefinition\n}): DatasetDefinition {\n if (!options.existing) {\n return structuredClone(options.next)\n }\n\n const plan = planDatasetDefinitionUpdate(options.existing, options.next)\n if (plan.schema.kind !== \"none\") {\n throw new LakeStorageError(\n `[SixbLake] Dataset '${options.next.id}' cannot be redefined with an incompatible schema.`\n )\n }\n\n return structuredClone(plan.definition)\n}\n\nexport interface AssertLakeDatasetDefinitionsCompatibleOptions {\n readonly lakeStorage: LakeStorage\n readonly definitions: readonly DatasetDefinition[]\n}\n\nexport async function assertLakeDatasetDefinitionsCompatible(\n options: AssertLakeDatasetDefinitionsCompatibleOptions\n): Promise<void> {\n await options.lakeStorage.assertDatasetDefinitionsCompatible(options.definitions)\n}\n\nfunction assertSameDataset(existing: DatasetDefinition, requested: DatasetDefinition): void {\n if (existing.id !== requested.id) {\n throw new LakeStorageError(\n `[SixbLake] Cannot update dataset '${existing.id}' with definition for '${requested.id}'.`\n )\n }\n}\n\nfunction assertPrimaryKeyUnchanged(\n existing: DatasetDefinition,\n requested: DatasetDefinition\n): void {\n const existingPrimaryKey = existing.primaryKey\n const requestedPrimaryKey = requested.primaryKey\n const unchanged =\n existingPrimaryKey === undefined || requestedPrimaryKey === undefined\n ? existingPrimaryKey === requestedPrimaryKey\n : areDefinitionValuesEqual(existingPrimaryKey, requestedPrimaryKey)\n\n if (!unchanged) {\n throw new LakeStorageError(\n `[SixbLake] Dataset '${requested.id}' cannot be redefined with an incompatible primaryKey. Primary keys are immutable.`\n )\n }\n}\n\nfunction getAddedColumnsAfterValidatingExistingColumns(\n existing: DatasetDefinition,\n requested: DatasetDefinition\n): readonly DatasetColumnDefinition[] {\n const existingColumns = existing.schema.columns\n const requestedColumnsByName = new Map(\n requested.schema.columns.map((column) => [column.name, column])\n )\n\n // Existing columns are matched by name, not position. Developers can reorder\n // declarations for readability without implying a storage-level schema change.\n for (const existingColumn of existingColumns) {\n const requestedColumn = requestedColumnsByName.get(existingColumn.name)\n if (requestedColumn === undefined) {\n throwUnsupportedSchemaUpdate(\n requested.id,\n `dropping column '${existingColumn.name}' is not supported`\n )\n }\n\n assertExistingColumnUnchanged(requested.id, existingColumn, requestedColumn)\n }\n\n const existingColumnNames = new Set(existingColumns.map((column) => column.name))\n return requested.schema.columns.filter((column) => !existingColumnNames.has(column.name))\n}\n\nfunction assertAddedColumnsAreNullable(\n datasetId: string,\n addedColumns: readonly DatasetColumnDefinition[]\n): void {\n for (const column of addedColumns) {\n // Existing rows have no value for a new column. Until DatasetDefinition\n // supports defaults or backfills, only nullable columns are safe to add.\n if (!isNullable(column)) {\n throwUnsupportedSchemaUpdate(\n datasetId,\n `adding required column '${column.name}' is not supported`\n )\n }\n }\n}\n\nfunction assertExistingColumnUnchanged(\n datasetId: string,\n existing: DatasetColumnDefinition,\n requested: DatasetColumnDefinition\n): void {\n if (existing.type !== requested.type) {\n throwUnsupportedSchemaUpdate(\n datasetId,\n `changing column '${existing.name}' type from '${existing.type}' to '${requested.type}' is not supported`\n )\n }\n\n if (isNullable(existing) !== isNullable(requested)) {\n throwUnsupportedSchemaUpdate(\n datasetId,\n `changing column '${existing.name}' nullability is not supported`\n )\n }\n}\n\nfunction toSchemaUpdatePlan(\n addedColumns: readonly DatasetColumnDefinition[]\n): DatasetSchemaUpdatePlan {\n if (addedColumns.length === 0) {\n return { kind: \"none\" }\n }\n\n return {\n kind: \"addNullableColumns\",\n columns: cloneColumns(addedColumns),\n }\n}\n\nfunction mergeDatasetDefinition(\n existing: DatasetDefinition,\n requested: DatasetDefinition,\n addedColumns: readonly DatasetColumnDefinition[]\n): DatasetDefinition {\n assertCompatibleMetadataField(\n requested.id,\n \"description\",\n existing.description,\n requested.description\n )\n assertCompatibleMetadataField(\n requested.id,\n \"partitionBy\",\n existing.partitionBy,\n requested.partitionBy\n )\n\n const columns = [...cloneColumns(existing.schema.columns), ...cloneColumns(addedColumns)]\n const primaryKey = existing.primaryKey\n const partitionBy = requested.partitionBy ?? existing.partitionBy\n const description = requested.description ?? existing.description\n\n return {\n kind: \"dataset\",\n id: requested.id,\n schema: { columns },\n ...(primaryKey !== undefined ? { primaryKey: structuredClone(primaryKey) } : {}),\n ...(partitionBy !== undefined ? { partitionBy: [...partitionBy] } : {}),\n ...(description !== undefined ? { description } : {}),\n }\n}\n\nfunction assertCompatibleMetadataField(\n datasetId: string,\n field: \"description\" | \"partitionBy\",\n existing: string | readonly string[] | undefined,\n requested: string | readonly string[] | undefined\n): void {\n if (\n existing === undefined ||\n requested === undefined ||\n areDefinitionValuesEqual(existing, requested)\n ) {\n return\n }\n\n throw new LakeStorageError(\n `[SixbLake] Dataset '${datasetId}' cannot be redefined with an incompatible ${field}.`\n )\n}\n\nfunction areStringArraysEqual(\n left: readonly string[] | undefined,\n right: readonly string[] | undefined\n): boolean {\n if (left === undefined || right === undefined) {\n return left === right\n }\n\n return left.length === right.length && left.every((value, index) => value === right[index])\n}\n\nfunction areDefinitionValuesEqual(\n left: string | readonly string[],\n right: string | readonly string[]\n): boolean {\n if (typeof left === \"string\" || typeof right === \"string\") {\n return left === right\n }\n\n return areStringArraysEqual(left, right)\n}\n\nfunction isNullable(column: DatasetColumnDefinition): boolean {\n return column.nullable === true\n}\n\nfunction cloneColumns(\n columns: readonly DatasetColumnDefinition[]\n): readonly DatasetColumnDefinition[] {\n return columns.map((column) => ({ ...column }))\n}\n\nfunction throwUnsupportedSchemaUpdate(datasetId: string, detail: string): never {\n throw new LakeStorageError(\n `[SixbLake] Dataset '${datasetId}' cannot apply schema update because ${detail}. ${SCHEMA_UPDATE_V1_POLICY}`\n )\n}\n",
|
|
7
|
-
"import { randomUUID } from \"node:crypto\"\nimport type { DatasetDefinition, DatasetSchema, MergeChange } from \"../datasets\"\nimport { getDatasetRowValidationError } from \"../datasets/validation\"\nimport { mergeStrictDatasetDefinition } from \"./definition-updates\"\nimport { LakeStorageError } from \"./errors\"\nimport type {\n BeginDatasetMergeInput,\n CommitDatasetMergeInput,\n DatasetMergeCommitResult,\n LakeMergeSession,\n} from \"./merge\"\nimport {\n cloneDatasetMergeChange,\n encodeDatasetPrimaryKey,\n getDatasetMergeChangeValidationError,\n getDatasetPrimaryKeyColumns,\n} from \"./merge-validation\"\nimport type {\n BeginDatasetWriteInput,\n CommitDatasetWriteInput,\n DatasetCatalogState,\n DatasetRow,\n DatasetVersion,\n DatasetWriteCommitResult,\n DatasetWriteMode,\n LakeStorage,\n LakeWriteSession,\n ReadDatasetRowsInput,\n} from \"./types\"\n\nfunction cloneDatasetDefinition(definition: DatasetDefinition): DatasetDefinition {\n return structuredClone(definition)\n}\n\nfunction cloneDatasetVersion(version: DatasetVersion): DatasetVersion {\n return {\n ...structuredClone(version),\n createdAt: new Date(version.createdAt),\n }\n}\n\nfunction cloneRow(row: DatasetRow): DatasetRow {\n return structuredClone(row)\n}\n\nfunction selectColumns(row: DatasetRow, columns?: readonly string[]): DatasetRow {\n if (!columns || columns.length === 0) {\n return cloneRow(row)\n }\n\n const selected: Record<string, unknown> = {}\n for (const column of columns) {\n selected[column] = row[column]\n }\n return selected\n}\n\n// Canonical content key for unchanged-write detection. JSON.stringify\n// serializes Date values via toJSON, matching how rows persist as JSON;\n// missing and undefined nullable values normalize to null. The unchanged-write\n// semantics are pinned by the shared lake-storage contract suite.\nfunction rowContentKey(row: DatasetRow, schema: DatasetSchema): string {\n return JSON.stringify(schema.columns.map((column) => row[column.name] ?? null))\n}\n\n// Order-insensitive multiset equality over canonical row keys.\nfunction sameRowContent(left: readonly string[], right: readonly string[]): boolean {\n if (left.length !== right.length) {\n return false\n }\n\n const sortedLeft = [...left].sort()\n const sortedRight = [...right].sort()\n return sortedLeft.every((key, index) => key === sortedRight[index])\n}\n\nfunction assertDatasetId(datasetId: string): void {\n if (datasetId.trim().length === 0) {\n throw new LakeStorageError(\"[LakeStorage] Dataset id must not be empty\")\n }\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error)\n}\n\nclass InMemoryLakeWriteSession implements LakeWriteSession {\n private readonly rows: DatasetRow[] = []\n private readonly primaryKeys = new Set<string>()\n private closed = false\n\n constructor(\n private readonly storage: InMemoryLakeStorage,\n private readonly input: BeginDatasetWriteInput\n ) {}\n\n async writeRows(rows: Iterable<DatasetRow> | AsyncIterable<DatasetRow>): Promise<void> {\n this.assertOpen()\n\n const stagedRows: DatasetRow[] = []\n const stagedPrimaryKeys = new Set<string>()\n for await (const row of rows) {\n const validationError = getDatasetRowValidationError(row, this.input.dataset)\n if (validationError) {\n throw new LakeStorageError(`[LakeStorage] ${validationError}`)\n }\n\n if (getDatasetPrimaryKeyColumns(this.input.dataset) !== null) {\n const primaryKey = encodeDatasetPrimaryKey(this.input.dataset, row)\n if (this.primaryKeys.has(primaryKey) || stagedPrimaryKeys.has(primaryKey)) {\n throw new LakeStorageError(\n `[LakeStorage] Dataset '${this.input.dataset.id}' write contains duplicate primary key ${primaryKey}.`\n )\n }\n stagedPrimaryKeys.add(primaryKey)\n }\n\n stagedRows.push(cloneRow(row))\n }\n\n this.rows.push(...stagedRows)\n for (const primaryKey of stagedPrimaryKeys) {\n this.primaryKeys.add(primaryKey)\n }\n }\n\n async commit(input?: CommitDatasetWriteInput): Promise<DatasetWriteCommitResult> {\n this.assertOpen()\n this.closed = true\n return this.storage.commitWrite({\n write: this.input,\n rows: this.rows,\n commit: input,\n })\n }\n\n async abort(): Promise<void> {\n this.closed = true\n this.rows.length = 0\n }\n\n private assertOpen(): void {\n if (this.closed) {\n throw new LakeStorageError(\"[LakeStorage] Write session is already closed\")\n }\n }\n}\n\nclass InMemoryLakeMergeSession implements LakeMergeSession {\n private readonly changes: MergeChange<DatasetRow, DatasetRow>[] = []\n private closed = false\n\n constructor(\n private readonly storage: InMemoryLakeStorage,\n private readonly input: BeginDatasetMergeInput,\n private readonly baseVersionId: string | null\n ) {}\n\n async writeChanges(\n changes:\n | Iterable<MergeChange<DatasetRow, DatasetRow>>\n | AsyncIterable<MergeChange<DatasetRow, DatasetRow>>\n ): Promise<void> {\n this.assertOpen()\n\n const stagedChanges: MergeChange<DatasetRow, DatasetRow>[] = []\n for await (const change of changes) {\n const validationError = getDatasetMergeChangeValidationError(change, this.input.dataset)\n if (validationError) {\n throw new LakeStorageError(`[LakeStorage] ${validationError}`)\n }\n stagedChanges.push(cloneDatasetMergeChange(change))\n }\n this.changes.push(...stagedChanges)\n }\n\n async commit(input?: CommitDatasetMergeInput): Promise<DatasetMergeCommitResult> {\n this.assertOpen()\n this.closed = true\n return this.storage.commitMerge({\n merge: this.input,\n baseVersionId: this.baseVersionId,\n changes: this.changes,\n commit: input,\n })\n }\n\n async abort(): Promise<void> {\n this.closed = true\n this.changes.length = 0\n }\n\n private assertOpen(): void {\n if (this.closed) {\n throw new LakeStorageError(\"[LakeStorage] Merge session is already closed\")\n }\n }\n}\n\nexport class InMemoryLakeStorage implements LakeStorage {\n private readonly datasets = new Map<string, DatasetDefinition>()\n private readonly versionsByDataset = new Map<string, DatasetVersion[]>()\n private readonly rowsByVersionId = new Map<string, readonly DatasetRow[]>()\n private readonly latestVersionIdByDataset = new Map<string, string>()\n private readonly commitLocks = new Map<string, Promise<void>>()\n\n async createDataset(definition: DatasetDefinition): Promise<DatasetDefinition> {\n assertDatasetId(definition.id)\n const existing = this.datasets.get(definition.id)\n const stored = mergeStrictDatasetDefinition({\n existing,\n next: definition,\n })\n this.datasets.set(definition.id, stored)\n return cloneDatasetDefinition(stored)\n }\n\n async assertDatasetDefinitionsCompatible(\n definitions: readonly DatasetDefinition[]\n ): Promise<void> {\n const failures: string[] = []\n\n for (const definition of definitions) {\n try {\n assertDatasetId(definition.id)\n const existing = this.datasets.get(definition.id)\n if (!existing) {\n continue\n }\n\n mergeStrictDatasetDefinition({\n existing,\n next: definition,\n })\n } catch (error) {\n failures.push(`- ${definition.id}: ${errorMessage(error)}`)\n }\n }\n\n if (failures.length > 0) {\n const details = failures.join(\"\\n\")\n throw new LakeStorageError(\n `[SixbLake] Lake dataset definition check failed for ${failures.length} dataset(s).\\n${details}`\n )\n }\n }\n\n async getDataset(datasetId: string): Promise<DatasetDefinition | null> {\n const definition = this.datasets.get(datasetId)\n return definition ? cloneDatasetDefinition(definition) : null\n }\n\n async listDatasets(): Promise<readonly DatasetDefinition[]> {\n return [...this.datasets.values()].map((definition) => cloneDatasetDefinition(definition))\n }\n\n async listDatasetCatalogState(\n datasetIds: readonly string[]\n ): Promise<readonly DatasetCatalogState[]> {\n return Promise.all(\n datasetIds.map(async (datasetId) => {\n if (!this.datasets.has(datasetId)) {\n return { datasetId, materialized: false, latestVersion: null }\n }\n\n const latest = await this.getLatestVersion(datasetId)\n return {\n datasetId,\n materialized: true,\n latestVersion: latest\n ? {\n datasetId: latest.datasetId,\n versionId: latest.versionId,\n mode: latest.mode,\n createdAt: latest.createdAt,\n ...(latest.rowCount !== undefined ? { rowCount: latest.rowCount } : {}),\n }\n : null,\n }\n })\n )\n }\n\n async listVersions(datasetId: string, limit?: number): Promise<readonly DatasetVersion[]> {\n const versions = [...(this.versionsByDataset.get(datasetId) ?? [])]\n .sort((left, right) => right.createdAt.getTime() - left.createdAt.getTime())\n .map((version) => cloneDatasetVersion(version))\n\n return limit === undefined ? versions : versions.slice(0, Math.max(0, limit))\n }\n\n async beginWrite(input: BeginDatasetWriteInput): Promise<LakeWriteSession> {\n const definition = await this.getDataset(input.dataset.id)\n if (!definition) {\n throw new LakeStorageError(`[LakeStorage] Unknown dataset '${input.dataset.id}'`)\n }\n\n return new InMemoryLakeWriteSession(this, {\n ...input,\n dataset: definition,\n mode: input.mode ?? \"snapshot\",\n })\n }\n\n async beginMerge(input: BeginDatasetMergeInput): Promise<LakeMergeSession> {\n const definition = await this.getDataset(input.dataset.id)\n if (!definition) {\n throw new LakeStorageError(`[LakeStorage] Unknown dataset '${input.dataset.id}'`)\n }\n if (getDatasetPrimaryKeyColumns(definition) === null) {\n throw new LakeStorageError(\n `[LakeStorage] Dataset '${definition.id}' must define a primaryKey before it can be merged.`\n )\n }\n\n const latestVersion = await this.getLatestVersion(definition.id)\n if (\n input.expectedLatestVersionId !== undefined &&\n latestVersion?.versionId !== input.expectedLatestVersionId\n ) {\n throw new LakeStorageError(\n `[LakeStorage] Optimistic merge start failed for dataset '${definition.id}': expected latest version '${input.expectedLatestVersionId}', found '${latestVersion?.versionId ?? \"none\"}'`\n )\n }\n return new InMemoryLakeMergeSession(\n this,\n {\n ...input,\n dataset: definition,\n },\n latestVersion?.versionId ?? null\n )\n }\n\n async getLatestVersion(datasetId: string): Promise<DatasetVersion | null> {\n const latestVersionId = this.latestVersionIdByDataset.get(datasetId)\n if (!latestVersionId) {\n return null\n }\n\n return this.getVersion(datasetId, latestVersionId)\n }\n\n async getVersion(datasetId: string, versionId: string): Promise<DatasetVersion | null> {\n const versions = this.versionsByDataset.get(datasetId) ?? []\n const version = versions.find((candidate) => candidate.versionId === versionId)\n return version ? cloneDatasetVersion(version) : null\n }\n\n async *readRows(input: ReadDatasetRowsInput): AsyncIterable<DatasetRow> {\n const definition = this.datasets.get(input.datasetId)\n if (!definition) {\n throw new LakeStorageError(`[LakeStorage] Unknown dataset '${input.datasetId}'`)\n }\n\n const version =\n input.versionId === undefined\n ? await this.getLatestVersion(input.datasetId)\n : await this.getVersion(input.datasetId, input.versionId)\n\n if (!version) {\n throw new LakeStorageError(\n `[LakeStorage] No committed version found for dataset '${input.datasetId}'`\n )\n }\n\n const offset = Math.max(0, input.offset ?? 0)\n const limit = input.limit === undefined ? undefined : Math.max(0, input.limit)\n const rows = this.rowsByVersionId\n .get(version.versionId)\n ?.slice(offset, limit === undefined ? undefined : offset + limit)\n\n for (const row of rows ?? []) {\n yield selectColumns(row, input.columns)\n }\n }\n\n async commitWrite(options: {\n write: BeginDatasetWriteInput\n rows: readonly DatasetRow[]\n commit?: CommitDatasetWriteInput\n }): Promise<DatasetWriteCommitResult> {\n return this.withDatasetCommitLock(options.write.dataset.id, () =>\n this.commitWriteUnlocked(options)\n )\n }\n\n async commitMerge(options: {\n merge: BeginDatasetMergeInput\n baseVersionId: string | null\n changes: readonly MergeChange<DatasetRow, DatasetRow>[]\n commit?: CommitDatasetMergeInput\n }): Promise<DatasetMergeCommitResult> {\n return this.withDatasetCommitLock(options.merge.dataset.id, async () => {\n const definition = this.datasets.get(options.merge.dataset.id)\n if (!definition) {\n throw new LakeStorageError(`[LakeStorage] Unknown dataset '${options.merge.dataset.id}'`)\n }\n\n const latestVersion = await this.getLatestVersion(options.merge.dataset.id)\n const actualVersionId = latestVersion?.versionId ?? null\n if (actualVersionId !== options.baseVersionId) {\n throw new LakeStorageError(\n `[LakeStorage] Optimistic merge commit failed for dataset '${options.merge.dataset.id}': expected latest version '${options.baseVersionId ?? \"none\"}', found '${actualVersionId ?? \"none\"}'`\n )\n }\n\n const previousRows = this.rowsByVersionId.get(latestVersion?.versionId ?? \"\") ?? []\n const previousByKey = this.rowsByPrimaryKey(previousRows, definition)\n const finalChanges = new Map<string, MergeChange<DatasetRow, DatasetRow>>()\n for (const change of options.changes) {\n const value = change.kind === \"upsert\" ? change.row : change.key\n finalChanges.set(encodeDatasetPrimaryKey(definition, value), change)\n }\n\n const nextByKey = new Map(previousByKey)\n for (const [primaryKey, change] of finalChanges) {\n if (change.kind === \"upsert\") {\n nextByKey.set(primaryKey, cloneRow(change.row))\n } else {\n nextByKey.delete(primaryKey)\n }\n }\n\n if (this.sameKeyedRowContent(previousByKey, nextByKey, definition.schema)) {\n return {\n outcome: \"unchanged\",\n version: latestVersion ? cloneDatasetVersion(latestVersion) : null,\n }\n }\n\n const visibleRows = [...nextByKey.values()]\n const versionId = `ver_${randomUUID()}`\n const version: DatasetVersion = {\n datasetId: options.merge.dataset.id,\n versionId,\n parentVersionId: latestVersion?.versionId,\n mode: \"merge\",\n createdAt: new Date(),\n schema: definition.schema,\n producer: options.merge.producer ? structuredClone(options.merge.producer) : undefined,\n inputs: options.merge.inputs ? structuredClone(options.merge.inputs) : undefined,\n rowCount: visibleRows.length,\n sizeBytes: new TextEncoder().encode(\n visibleRows.map((row) => JSON.stringify(row)).join(\"\\n\")\n ).byteLength,\n }\n\n const versions = this.versionsByDataset.get(options.merge.dataset.id) ?? []\n versions.push(version)\n this.versionsByDataset.set(options.merge.dataset.id, versions)\n this.rowsByVersionId.set(\n versionId,\n visibleRows.map((row) => cloneRow(row))\n )\n this.latestVersionIdByDataset.set(options.merge.dataset.id, versionId)\n\n return { outcome: \"created\", version: cloneDatasetVersion(version) }\n })\n }\n\n private async commitWriteUnlocked(options: {\n write: BeginDatasetWriteInput\n rows: readonly DatasetRow[]\n commit?: CommitDatasetWriteInput\n }): Promise<DatasetWriteCommitResult> {\n const definition = this.datasets.get(options.write.dataset.id)\n if (!definition) {\n throw new LakeStorageError(`[LakeStorage] Unknown dataset '${options.write.dataset.id}'`)\n }\n\n const mode = options.write.mode ?? \"snapshot\"\n const latestVersion = await this.getLatestVersion(options.write.dataset.id)\n\n if (options.commit?.expectedLatestVersionId !== undefined) {\n const actual = latestVersion?.versionId\n if (actual !== options.commit.expectedLatestVersionId) {\n throw new LakeStorageError(\n `[LakeStorage] Optimistic commit failed for dataset '${options.write.dataset.id}': expected latest version '${options.commit.expectedLatestVersionId}', found '${actual ?? \"none\"}'`\n )\n }\n }\n\n this.assertKeyedWriteIsUnique(mode, options.rows, latestVersion, definition)\n\n // Content-identical snapshots and empty appends reuse the latest version\n // instead of creating a new one.\n if (\n latestVersion &&\n this.isUnchangedWrite(mode, latestVersion, options.rows, definition.schema)\n ) {\n return { ...latestVersion, outcome: \"unchanged\" }\n }\n\n const versionId = `ver_${randomUUID()}`\n const visibleRows =\n mode === \"append\"\n ? [...(this.rowsByVersionId.get(latestVersion?.versionId ?? \"\") ?? []), ...options.rows]\n : [...options.rows]\n\n const sizeBytes = new TextEncoder().encode(\n visibleRows.map((row) => JSON.stringify(row)).join(\"\\n\")\n ).byteLength\n\n const version: DatasetVersion = {\n datasetId: options.write.dataset.id,\n versionId,\n parentVersionId: mode === \"append\" ? latestVersion?.versionId : undefined,\n mode,\n createdAt: new Date(),\n schema: definition.schema,\n producer: options.write.producer ? structuredClone(options.write.producer) : undefined,\n inputs: options.write.inputs ? structuredClone(options.write.inputs) : undefined,\n rowCount: visibleRows.length,\n sizeBytes,\n }\n\n const versions = this.versionsByDataset.get(options.write.dataset.id) ?? []\n versions.push(version)\n this.versionsByDataset.set(options.write.dataset.id, versions)\n this.rowsByVersionId.set(\n versionId,\n visibleRows.map((row) => cloneRow(row))\n )\n this.latestVersionIdByDataset.set(options.write.dataset.id, versionId)\n\n return { ...cloneDatasetVersion(version), outcome: \"created\" }\n }\n\n private isUnchangedWrite(\n mode: DatasetWriteMode,\n latestVersion: DatasetVersion,\n rows: readonly DatasetRow[],\n schema: DatasetSchema\n ): boolean {\n if (mode === \"append\") {\n return rows.length === 0\n }\n\n const previousRows = this.rowsByVersionId.get(latestVersion.versionId) ?? []\n return sameRowContent(\n rows.map((row) => rowContentKey(row, schema)),\n previousRows.map((row) => rowContentKey(row, schema))\n )\n }\n\n private assertKeyedWriteIsUnique(\n mode: DatasetWriteMode,\n rows: readonly DatasetRow[],\n latestVersion: DatasetVersion | null,\n definition: DatasetDefinition\n ): void {\n if (getDatasetPrimaryKeyColumns(definition) === null) {\n return\n }\n\n const stagedByKey = this.rowsByPrimaryKey(rows, definition)\n if (mode !== \"append\" || latestVersion === null) {\n return\n }\n\n const previousRows = this.rowsByVersionId.get(latestVersion.versionId) ?? []\n const previousByKey = this.rowsByPrimaryKey(previousRows, definition)\n for (const primaryKey of stagedByKey.keys()) {\n if (previousByKey.has(primaryKey)) {\n throw new LakeStorageError(\n `[LakeStorage] Dataset '${definition.id}' append contains duplicate primary key ${primaryKey}.`\n )\n }\n }\n }\n\n private rowsByPrimaryKey(\n rows: readonly DatasetRow[],\n definition: DatasetDefinition\n ): Map<string, DatasetRow> {\n const byKey = new Map<string, DatasetRow>()\n for (const row of rows) {\n const primaryKey = encodeDatasetPrimaryKey(definition, row)\n if (byKey.has(primaryKey)) {\n throw new LakeStorageError(\n `[LakeStorage] Dataset '${definition.id}' contains duplicate primary key ${primaryKey}.`\n )\n }\n byKey.set(primaryKey, row)\n }\n return byKey\n }\n\n private sameKeyedRowContent(\n left: ReadonlyMap<string, DatasetRow>,\n right: ReadonlyMap<string, DatasetRow>,\n schema: DatasetSchema\n ): boolean {\n if (left.size !== right.size) {\n return false\n }\n for (const [primaryKey, leftRow] of left) {\n const rightRow = right.get(primaryKey)\n if (\n rightRow === undefined ||\n rowContentKey(leftRow, schema) !== rowContentKey(rightRow, schema)\n ) {\n return false\n }\n }\n return true\n }\n\n private async withDatasetCommitLock<T>(datasetId: string, run: () => Promise<T>): Promise<T> {\n const previous = this.commitLocks.get(datasetId) ?? Promise.resolve()\n const ready = previous.catch(() => {})\n let release!: () => void\n const next = new Promise<void>((resolve) => {\n release = resolve\n })\n const current = ready.then(() => next)\n this.commitLocks.set(datasetId, current)\n\n await ready\n try {\n return await run()\n } finally {\n release()\n if (this.commitLocks.get(datasetId) === current) {\n this.commitLocks.delete(datasetId)\n }\n }\n }\n}\n",
|
|
8
|
-
"import type { DatasetDefinition, MergeChange } from \"../datasets\"\nimport { getDatasetRowValidationError } from \"../datasets\"\nimport { isPlainRecord } from \"../json\"\nimport { LakeStorageError } from \"./errors\"\nimport type { DatasetRow } from \"./types\"\n\n/** Return a new ordered primary-key column list, or `null` for an unkeyed dataset. */\nexport function getDatasetPrimaryKeyColumns(dataset: DatasetDefinition): readonly string[] | null {\n if (dataset.primaryKey === undefined) {\n return null\n }\n return typeof dataset.primaryKey === \"string\" ? [dataset.primaryKey] : [...dataset.primaryKey]\n}\n\n/** Collision-safe internal identity for a validated row or delete-key object. */\nexport function encodeDatasetPrimaryKey(dataset: DatasetDefinition, value: DatasetRow): string {\n const columns = getDatasetPrimaryKeyColumns(dataset)\n if (columns === null) {\n throw new LakeStorageError(\n `[SixbLake] Dataset '${dataset.id}' must define a primaryKey before rows can be keyed.`\n )\n }\n\n const values = columns.map((columnName) => {\n const columnValue = value[columnName]\n if (typeof columnValue !== \"string\") {\n throw new LakeStorageError(\n `[SixbLake] Dataset '${dataset.id}' primary-key column '${columnName}' must be a string.`\n )\n }\n return columnValue\n })\n return JSON.stringify(values)\n}\n\nexport function getDatasetMergeChangeValidationError(\n change: unknown,\n dataset: DatasetDefinition\n): string | null {\n const primaryKeyColumns = getDatasetPrimaryKeyColumns(dataset)\n if (primaryKeyColumns === null) {\n return `Dataset '${dataset.id}' must define a primaryKey before it can be merged.`\n }\n if (!isPlainRecord(change)) {\n return `Dataset '${dataset.id}' merge changes must be plain objects.`\n }\n\n if (change.kind === \"upsert\") {\n const shapeError = getChangeShapeError(change, dataset, \"row\")\n if (shapeError) {\n return shapeError\n }\n return getDatasetRowValidationError(change.row, dataset)\n }\n\n if (change.kind === \"delete\") {\n const shapeError = getChangeShapeError(change, dataset, \"key\")\n if (shapeError) {\n return shapeError\n }\n return getDeleteKeyValidationError(change.key, dataset, primaryKeyColumns)\n }\n\n return `Dataset '${dataset.id}' merge change kind must be 'upsert' or 'delete'.`\n}\n\n/** Clone a validated change before a provider stages it beyond the caller's ownership. */\nexport function cloneDatasetMergeChange(\n change: MergeChange<DatasetRow, DatasetRow>\n): MergeChange<DatasetRow, DatasetRow> {\n return change.kind === \"upsert\"\n ? { kind: \"upsert\", row: structuredClone(change.row) }\n : { kind: \"delete\", key: structuredClone(change.key) }\n}\n\nfunction getChangeShapeError(\n change: Record<string, unknown>,\n dataset: DatasetDefinition,\n payloadField: \"row\" | \"key\"\n): string | null {\n const allowedFields = new Set([\"kind\", payloadField])\n for (const field of Object.keys(change)) {\n if (!allowedFields.has(field)) {\n return `Dataset '${dataset.id}' ${change.kind as string} change contains unknown field '${field}'.`\n }\n }\n if (!Object.hasOwn(change, payloadField)) {\n return `Dataset '${dataset.id}' ${change.kind as string} change is missing '${payloadField}'.`\n }\n return null\n}\n\nfunction getDeleteKeyValidationError(\n key: unknown,\n dataset: DatasetDefinition,\n primaryKeyColumns: readonly string[]\n): string | null {\n if (!isPlainRecord(key)) {\n return `Dataset '${dataset.id}' delete keys must be plain objects.`\n }\n\n const expectedColumns = new Set(primaryKeyColumns)\n for (const columnName of Object.keys(key)) {\n if (!expectedColumns.has(columnName)) {\n return `Dataset '${dataset.id}' delete key contains unknown column '${columnName}'.`\n }\n }\n for (const columnName of primaryKeyColumns) {\n if (!Object.hasOwn(key, columnName)) {\n return `Dataset '${dataset.id}' delete key is missing primary-key column '${columnName}'.`\n }\n if (typeof key[columnName] !== \"string\") {\n return `Dataset '${dataset.id}' delete key column '${columnName}' must be a string.`\n }\n }\n return null\n}\n"
|
|
9
|
-
],
|
|
10
|
-
"mappings": "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",
|
|
11
|
-
"debugId": "E501E7BE29735B3664756E2164756E21",
|
|
12
|
-
"names": []
|
|
13
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/storage/operation-scope.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { AsyncLocalStorage } from \"node:async_hooks\"\nimport type { AgentStorage } from \"./agents\"\nimport type { AuthStorage } from \"./auth\"\nimport type { OntologyStorage } from \"./ontology\"\nimport type { WorkflowRunStorage } from \"./workflow-runs\"\n\nexport type StorageOperationRunner = <TResult>(\n run: () => Promise<TResult> | TResult\n) => Promise<TResult>\n\n/** Provider-owned execution boundary for root storage operations. */\nexport interface StorageOperationScope {\n assertAvailable(): void\n run<TResult>(operation: () => Promise<TResult> | TResult): Promise<TResult>\n}\n\nexport function createStorageOperationScope(\n run: StorageOperationRunner,\n assertAvailable: () => void = () => undefined\n): StorageOperationScope {\n const executions = new AsyncLocalStorage<{ active: boolean }>()\n return {\n assertAvailable,\n async run(operation) {\n const inherited = executions.getStore()\n if (inherited?.active) {\n assertAvailable()\n return operation()\n }\n\n const execution = { active: true }\n try {\n return await executions.run(execution, () => run(operation))\n } finally {\n execution.active = false\n }\n },\n }\n}\n\nconst operationScopeTargets = new WeakMap<object, object>()\n\n/**\n * Give every async operation exposed by a store one provider-owned execution scope.\n *\n * Storage contracts use `async` methods for I/O and reserve synchronous methods for local\n * capabilities such as `queryCapabilities()`. Discovering the former from their implementation\n * removes the second, manually synchronized method registry that previously coupled every storage\n * primitive to the SQLite/InMemory lock.\n */\nexport function createOperationScopedFacade<T extends object>(\n target: T,\n scope: StorageOperationScope,\n propertyOverrides: Partial<T> = {}\n): T {\n const methodKinds = discoverMethodKinds(target)\n const overrideKeys = new Set(Reflect.ownKeys(propertyOverrides))\n const methodCache = new Map<\n PropertyKey,\n { implementation: (...args: unknown[]) => unknown; exposed: (...args: unknown[]) => unknown }\n >()\n\n const facade = new Proxy(target, {\n get(current, property) {\n if (overrideKeys.has(property)) {\n return Reflect.get(propertyOverrides, property, propertyOverrides)\n }\n\n const value = Reflect.get(current, property, current)\n const kind = methodKinds.get(property)\n if (!kind || typeof value !== \"function\") return value\n const implementation = value as (...args: unknown[]) => unknown\n\n const cached = methodCache.get(property)\n if (cached?.implementation === implementation) return cached.exposed\n\n const exposed = scopeMethod(implementation, kind, current, scope)\n methodCache.set(property, { implementation, exposed })\n return exposed\n },\n set(current, property, value) {\n if (overrideKeys.has(property)) return false\n return Reflect.set(current, property, value, current)\n },\n defineProperty(current, property, attributes) {\n if (overrideKeys.has(property)) return false\n return Reflect.defineProperty(current, property, attributes)\n },\n deleteProperty(current, property) {\n if (overrideKeys.has(property)) return false\n return Reflect.deleteProperty(current, property)\n },\n })\n operationScopeTargets.set(facade, target)\n return facade\n}\n\ntype StorageMethod = (...args: never[]) => unknown\ntype StorageMethodKey<T> = {\n [TKey in keyof T]-?: T[TKey] extends StorageMethod ? TKey : never\n}[keyof T]\n\n/** Replace a provider method behind its scoped facade without exposing the raw provider. */\nexport function decorateOperationScopedMethodForTesting<\n T extends object,\n TKey extends StorageMethodKey<T>,\n>(\n facade: T,\n property: TKey,\n decorate: (implementation: Extract<T[TKey], StorageMethod>) => Extract<T[TKey], StorageMethod>\n): () => void {\n const target = operationScopeTargets.get(facade)\n if (!target) throw new Error(\"[Sixb] Expected an operation-scoped storage facade.\")\n\n const previousDescriptor = Reflect.getOwnPropertyDescriptor(target, property)\n const implementation = Reflect.get(target, property, target)\n if (typeof implementation !== \"function\") {\n throw new Error(`[Sixb] Storage property '${String(property)}' is not a method.`)\n }\n\n const boundImplementation = ((...args: never[]) =>\n Reflect.apply(implementation, target, args)) as Extract<T[TKey], StorageMethod>\n const decorated = decorate(boundImplementation)\n Reflect.defineProperty(target, property, {\n configurable: true,\n enumerable: previousDescriptor?.enumerable ?? false,\n writable: true,\n value: decorated,\n })\n\n return () => {\n if (previousDescriptor) {\n Reflect.defineProperty(target, property, previousDescriptor)\n } else {\n Reflect.deleteProperty(target, property)\n }\n }\n}\n\ntype StorageMethodKind = \"async\" | \"async-generator\" | \"sync\"\n\nfunction discoverMethodKinds(target: object): ReadonlyMap<PropertyKey, StorageMethodKind> {\n const methodKeys = new Set<PropertyKey>()\n for (\n let current: object | null = target;\n current && current !== Object.prototype;\n current = Object.getPrototypeOf(current)\n ) {\n for (const property of Reflect.ownKeys(current)) {\n if (property !== \"constructor\") methodKeys.add(property)\n }\n }\n\n const methodKinds = new Map<PropertyKey, StorageMethodKind>()\n for (const property of methodKeys) {\n const implementation = Reflect.get(target, property, target)\n if (typeof implementation !== \"function\") continue\n methodKinds.set(property, methodKind(implementation))\n }\n return methodKinds\n}\n\nfunction methodKind(implementation: (...args: unknown[]) => unknown): StorageMethodKind {\n if (isAsyncFunction(implementation)) return \"async\"\n if (isAsyncGeneratorFunction(implementation)) return \"async-generator\"\n return \"sync\"\n}\n\nfunction scopeMethod(\n implementation: (...args: unknown[]) => unknown,\n kind: StorageMethodKind,\n target: object,\n scope: StorageOperationScope\n): (...args: unknown[]) => unknown {\n if (kind === \"async\") {\n return (...args: unknown[]) => scope.run(() => Reflect.apply(implementation, target, args))\n }\n\n if (kind === \"async-generator\") {\n return (...args: unknown[]) => {\n scope.assertAvailable()\n return Reflect.apply(implementation, target, args)\n }\n }\n\n return implementation.bind(target)\n}\n\nexport function createAuthOperationScope<T extends AuthStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<AuthStorage>(target, scope, {\n users: createOperationScopedFacade(target.users, scope),\n identities: createOperationScopedFacade(target.identities, scope),\n serviceAccounts: createOperationScopedFacade(target.serviceAccounts, scope),\n serviceAccountGroupMemberships: createOperationScopedFacade(\n target.serviceAccountGroupMemberships,\n scope\n ),\n sessions: createOperationScopedFacade(target.sessions, scope),\n accessTokens: createOperationScopedFacade(target.accessTokens, scope),\n invitations: createOperationScopedFacade(target.invitations, scope),\n groupMemberships: createOperationScopedFacade(target.groupMemberships, scope),\n magicLinks: createOperationScopedFacade(target.magicLinks, scope),\n oidcAuthorizationAttempts: createOperationScopedFacade(target.oidcAuthorizationAttempts, scope),\n }) as T\n}\n\nexport function createAgentOperationScope<T extends AgentStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<AgentStorage>(target, scope, {\n threads: createOperationScopedFacade(target.threads, scope),\n runs: createOperationScopedFacade(target.runs, scope),\n messages: createOperationScopedFacade(target.messages, scope),\n checkpoints: createOperationScopedFacade(target.checkpoints, scope),\n }) as T\n}\n\nexport function createOntologyOperationScope<T extends OntologyStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<OntologyStorage>(target, scope, {\n commits: createOperationScopedFacade(target.commits, scope),\n sources: createOperationScopedFacade(target.sources, scope),\n materializations: createOperationScopedFacade(target.materializations, scope),\n outbox: createOperationScopedFacade(target.outbox, scope),\n }) as T\n}\n\nexport function createWorkflowRunOperationScope<T extends WorkflowRunStorage>(\n target: T,\n scope: StorageOperationScope\n): T {\n return createOperationScopedFacade<WorkflowRunStorage>(target, scope, {\n nodes: createOperationScopedFacade(target.nodes, scope),\n agentNodes: createOperationScopedFacade(target.agentNodes, scope),\n }) as T\n}\n\nfunction isAsyncFunction(value: unknown): value is (...args: unknown[]) => Promise<unknown> {\n return typeof value === \"function\" && value.constructor.name === \"AsyncFunction\"\n}\n\nfunction isAsyncGeneratorFunction(value: unknown): boolean {\n return typeof value === \"function\" && value.constructor.name === \"AsyncGeneratorFunction\"\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "199E470686426F9664756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|