@sixb/core 0.1.16 → 0.1.18
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/index.js +30 -27
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +1 -1
- package/dist/actions/types/context.d.ts +2 -2
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +6 -2
- package/dist/actions/worker.js.map +3 -3
- package/dist/agents/adapters.d.ts +7 -0
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +7 -0
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/context/entries.d.ts +10 -1
- package/dist/agents/context/entries.d.ts.map +1 -1
- package/dist/agents/context/index.d.ts +1 -1
- package/dist/agents/context/index.d.ts.map +1 -1
- package/dist/agents/context/index.js +4 -2
- package/dist/agents/context/index.js.map +1 -1
- package/dist/agents/context-compaction.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/index.d.ts +6 -4
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +54 -46
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +8 -1
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/request.d.ts +19 -5
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/skills.d.ts +41 -0
- package/dist/agents/skills.d.ts.map +1 -0
- package/dist/agents/streams/index.js +1 -1
- package/dist/agents/streams/internal.js +1 -1
- package/dist/agents/types.d.ts +33 -4
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/auth/index.js +9 -6
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/types.d.ts +6 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.js +5 -3
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +1 -1
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/authorization/types.d.ts +7 -0
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/blob-storage/browser.js +1 -1
- package/dist/blob-storage/download-urls.d.ts +41 -0
- package/dist/blob-storage/download-urls.d.ts.map +1 -0
- package/dist/blob-storage/execution.d.ts +9 -1
- package/dist/blob-storage/execution.d.ts.map +1 -1
- package/dist/blob-storage/file-content.d.ts +18 -0
- package/dist/blob-storage/file-content.d.ts.map +1 -0
- package/dist/blob-storage/index.d.ts +1 -1
- package/dist/blob-storage/index.d.ts.map +1 -1
- package/dist/blob-storage/index.js +6 -4
- package/dist/blob-storage/index.js.map +1 -1
- package/dist/blob-storage/internal.d.ts +4 -0
- package/dist/blob-storage/internal.d.ts.map +1 -0
- package/dist/blob-storage/internal.js +23 -0
- package/dist/blob-storage/internal.js.map +9 -0
- package/dist/blob-storage/media-type.d.ts +8 -0
- package/dist/blob-storage/media-type.d.ts.map +1 -0
- package/dist/blob-storage/types.d.ts +12 -1
- package/dist/blob-storage/types.d.ts.map +1 -1
- package/dist/blob-storage/validation.d.ts +6 -0
- package/dist/blob-storage/validation.d.ts.map +1 -1
- package/dist/bootstrap/agent-context.d.ts +33 -0
- package/dist/bootstrap/agent-context.d.ts.map +1 -0
- package/dist/bootstrap/discovery.d.ts +23 -3
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.d.ts +2 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +287 -75
- package/dist/bootstrap/index.js.map +4 -3
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/{chunk-kttr5ftm.js → chunk-1b1f2d5f.js} +23 -6
- package/dist/chunk-1b1f2d5f.js.map +12 -0
- package/dist/{chunk-hgqpcmyr.js → chunk-1hqwggsn.js} +47 -19
- package/dist/chunk-1hqwggsn.js.map +12 -0
- package/dist/{chunk-9vx5e9g1.js → chunk-1sr8ryzk.js} +3 -3
- package/dist/chunk-1sr8ryzk.js.map +11 -0
- package/dist/{chunk-4gmng3vf.js → chunk-22v5bpz3.js} +1 -1
- package/dist/{chunk-tnvafr7g.js → chunk-29yx306f.js} +124 -9
- package/dist/chunk-29yx306f.js.map +22 -0
- package/dist/{chunk-fj1dvp37.js → chunk-2vhg6ysa.js} +1 -1
- package/dist/chunk-3zxk45er.js +152 -0
- package/dist/chunk-3zxk45er.js.map +11 -0
- package/dist/{chunk-gmdvns8f.js → chunk-48e3cn2d.js} +2 -2
- package/dist/{chunk-jgwb25gc.js → chunk-4as3wt1c.js} +13 -5
- package/dist/chunk-4as3wt1c.js.map +12 -0
- package/dist/{chunk-91kcnbf0.js → chunk-6gmfggss.js} +22 -9
- package/dist/chunk-6gmfggss.js.map +10 -0
- package/dist/{chunk-2xvgy3x5.js → chunk-6h5m9xjx.js} +43 -415
- package/dist/{chunk-2xvgy3x5.js.map → chunk-6h5m9xjx.js.map} +7 -11
- package/dist/{chunk-cq44v1a6.js → chunk-7hpdd6r9.js} +3 -3
- package/dist/{chunk-f85hpqnm.js → chunk-99nd4rc1.js} +3 -3
- package/dist/{chunk-f85hpqnm.js.map → chunk-99nd4rc1.js.map} +3 -3
- package/dist/chunk-b9affek3.js +261 -0
- package/dist/chunk-b9affek3.js.map +12 -0
- package/dist/{chunk-zvmr2hqk.js → chunk-bs7sqkre.js} +10 -4
- package/dist/chunk-bs7sqkre.js.map +12 -0
- package/dist/{chunk-rb143ggb.js → chunk-bwjcehza.js} +1 -1
- package/dist/{chunk-667x4drs.js → chunk-d0eb5yy6.js} +143 -7
- package/dist/chunk-d0eb5yy6.js.map +14 -0
- package/dist/chunk-d62kjtbg.js.map +2 -2
- package/dist/{chunk-gkxsenvp.js → chunk-de4z2bj6.js} +31 -7
- package/dist/{chunk-gkxsenvp.js.map → chunk-de4z2bj6.js.map} +5 -4
- package/dist/{chunk-mdnw7nj8.js → chunk-dnmadg9k.js} +35 -10
- package/dist/chunk-dnmadg9k.js.map +15 -0
- package/dist/chunk-enpsx8k5.js +127 -0
- package/dist/chunk-enpsx8k5.js.map +10 -0
- package/dist/{chunk-xnx96gfy.js → chunk-ere85b8y.js} +17 -8
- package/dist/chunk-ere85b8y.js.map +15 -0
- package/dist/{chunk-k4kkp58d.js → chunk-ewqa58h9.js} +12 -2
- package/dist/chunk-ewqa58h9.js.map +11 -0
- package/dist/{chunk-7g2gjvah.js → chunk-ex496vct.js} +1 -1
- package/dist/{chunk-nvymebc1.js → chunk-f1zxad2t.js} +1 -1
- package/dist/{chunk-3q7z9hd4.js → chunk-fe52eczz.js} +483 -101
- package/dist/chunk-fe52eczz.js.map +49 -0
- package/dist/{chunk-8x74221e.js → chunk-fx93hd2n.js} +79 -32
- package/dist/chunk-fx93hd2n.js.map +20 -0
- package/dist/{chunk-39tqv9hz.js → chunk-gc4ntf7d.js} +6 -7
- package/dist/{chunk-39tqv9hz.js.map → chunk-gc4ntf7d.js.map} +3 -4
- package/dist/chunk-h8teetr0.js +9 -0
- package/dist/chunk-h8teetr0.js.map +10 -0
- package/dist/{chunk-98cw09sw.js → chunk-hkc3jct7.js} +4 -2
- package/dist/chunk-hkc3jct7.js.map +10 -0
- package/dist/chunk-hn2r7z41.js.map +1 -1
- package/dist/{chunk-h044jb97.js → chunk-htr6wjmv.js} +282 -58
- package/dist/chunk-htr6wjmv.js.map +19 -0
- package/dist/{chunk-h3v76ams.js → chunk-jhm3zsa7.js} +25 -2
- package/dist/chunk-jhm3zsa7.js.map +12 -0
- package/dist/{chunk-chdg6eqq.js → chunk-k6hrnf35.js} +5 -5
- package/dist/chunk-k6hrnf35.js.map +10 -0
- package/dist/{chunk-a0073121.js → chunk-kpx7jrmn.js} +3 -1
- package/dist/chunk-kpx7jrmn.js.map +12 -0
- package/dist/{chunk-b9y8hcm2.js → chunk-mfs23znk.js} +1 -1
- package/dist/{chunk-kvysp909.js → chunk-ny3xyvcn.js} +32 -19
- package/dist/chunk-ny3xyvcn.js.map +17 -0
- package/dist/{chunk-h4138ww2.js → chunk-p0dqwj3n.js} +450 -799
- package/dist/chunk-p0dqwj3n.js.map +49 -0
- package/dist/{chunk-f72rbvsb.js → chunk-p844e0rn.js} +23 -8
- package/dist/chunk-p844e0rn.js.map +19 -0
- package/dist/{chunk-dmn70ztd.js → chunk-pfp1txq2.js} +25 -6
- package/dist/chunk-pfp1txq2.js.map +11 -0
- package/dist/chunk-pqajwytd.js.map +3 -3
- package/dist/{chunk-mr60an99.js → chunk-qczk96d9.js} +22 -2
- package/dist/{chunk-mr60an99.js.map → chunk-qczk96d9.js.map} +3 -3
- package/dist/{chunk-69kt9q43.js → chunk-qkbx3tf6.js} +17 -128
- package/dist/{chunk-69kt9q43.js.map → chunk-qkbx3tf6.js.map} +6 -7
- package/dist/{chunk-h866d223.js → chunk-qkvz64nd.js} +2 -2
- package/dist/{chunk-vsvrv7n8.js → chunk-qmnnhde6.js} +4 -8
- package/dist/{chunk-vsvrv7n8.js.map → chunk-qmnnhde6.js.map} +3 -3
- package/dist/{chunk-6z1q7j19.js → chunk-qq90g05n.js} +1128 -782
- package/dist/chunk-qq90g05n.js.map +66 -0
- package/dist/{chunk-40qb8wpe.js → chunk-qxvp5epv.js} +84 -29
- package/dist/{chunk-40qb8wpe.js.map → chunk-qxvp5epv.js.map} +10 -9
- package/dist/chunk-rdghfsss.js.map +2 -2
- package/dist/{chunk-s3csryxe.js → chunk-rj69qcrd.js} +8 -2
- package/dist/chunk-rj69qcrd.js.map +11 -0
- package/dist/{chunk-tkdbge6v.js → chunk-rt9p8m9t.js} +1 -1
- package/dist/{chunk-cd234ba4.js → chunk-rz53yb4v.js} +10 -5
- package/dist/chunk-rz53yb4v.js.map +14 -0
- package/dist/{chunk-a7ne02hk.js → chunk-s4jhg8a3.js} +351 -296
- package/dist/chunk-s4jhg8a3.js.map +15 -0
- package/dist/{chunk-69266efg.js → chunk-s54c868q.js} +12 -4
- package/dist/chunk-s54c868q.js.map +12 -0
- package/dist/{chunk-dsv8kdgk.js → chunk-tffvfy6s.js} +8 -7
- package/dist/{chunk-dsv8kdgk.js.map → chunk-tffvfy6s.js.map} +3 -3
- package/dist/{chunk-sbcm1b92.js → chunk-v6xpd60t.js} +3 -3
- package/dist/{chunk-nj0020ay.js → chunk-vgk3hknm.js} +1 -1
- package/dist/{chunk-qnd7ehe5.js → chunk-vx2yp45y.js} +2 -2
- package/dist/{chunk-vjqt7q3a.js → chunk-vz3gc1tm.js} +607 -45
- package/dist/chunk-vz3gc1tm.js.map +41 -0
- package/dist/{chunk-g4rbm4a6.js → chunk-wt4szfec.js} +379 -331
- package/dist/chunk-wt4szfec.js.map +14 -0
- package/dist/chunk-xt1zt7gv.js +471 -0
- package/dist/chunk-xt1zt7gv.js.map +13 -0
- package/dist/{chunk-swxzncrv.js → chunk-y05543x6.js} +51 -8
- package/dist/{chunk-swxzncrv.js.map → chunk-y05543x6.js.map} +5 -5
- package/dist/{chunk-zdkcdshk.js → chunk-y9jmd7e5.js} +41 -3
- package/dist/{chunk-zdkcdshk.js.map → chunk-y9jmd7e5.js.map} +4 -3
- package/dist/{chunk-nkbev3tr.js → chunk-yv9czyfr.js} +3 -3
- package/dist/{chunk-z5rnrmz1.js → chunk-yw9pyg66.js} +5 -3
- package/dist/chunk-yw9pyg66.js.map +11 -0
- package/dist/{chunk-cxj8y8t0.js → chunk-za5yd58j.js} +2 -2
- package/dist/{chunk-zb47r1c8.js → chunk-zb77kjth.js} +3 -3
- package/dist/{chunk-dp7yk20b.js → chunk-zxawp1n2.js} +1 -1
- package/dist/datasets/builders.d.ts +12 -1
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/execution.d.ts +27 -1
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/index.d.ts +1 -1
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/types.d.ts +2 -0
- package/dist/datasets/types.d.ts.map +1 -1
- package/dist/datasets/write.d.ts +5 -0
- package/dist/datasets/write.d.ts.map +1 -1
- package/dist/datasets/write.js +10 -5
- package/dist/datasets/write.js.map +1 -1
- package/dist/edits/properties.d.ts.map +1 -1
- package/dist/events/execution.d.ts +2 -1
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/types/objects.d.ts +5 -0
- package/dist/events/types/objects.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +10 -0
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +49 -43
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +9 -2
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/primitive.js +45 -41
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.js +46 -42
- package/dist/execution/request.js.map +2 -2
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +16 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -71
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +5 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +1 -1
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +8 -5
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/types.d.ts +26 -0
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts +5 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/maintenance/types.d.ts +1 -4
- package/dist/maintenance/types.d.ts.map +1 -1
- package/dist/materialization/event-envelopes.d.ts +20 -0
- package/dist/materialization/event-envelopes.d.ts.map +1 -0
- package/dist/materialization/events.d.ts +29 -3
- package/dist/materialization/events.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +4 -1
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +9 -3
- package/dist/materialization/index.js.map +1 -1
- package/dist/materializer/edits/plan.d.ts +2 -10
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/effective/build-events.d.ts +5 -21
- package/dist/materializer/effective/build-events.d.ts.map +1 -1
- package/dist/materializer/effective/vector-indexing.d.ts +2 -3
- package/dist/materializer/effective/vector-indexing.d.ts.map +1 -1
- package/dist/materializer/effective/vectors.d.ts +2 -3
- package/dist/materializer/effective/vectors.d.ts.map +1 -1
- package/dist/materializer/execution/scope.d.ts +1 -11
- package/dist/materializer/execution/scope.d.ts.map +1 -1
- package/dist/materializer/execution/work-executor.d.ts +5 -7
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/execution/work-records.d.ts +1 -3
- package/dist/materializer/execution/work-records.d.ts.map +1 -1
- package/dist/materializer/index.js +35 -33
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replace.d.ts.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts +8 -11
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/shared/batching.d.ts +5 -0
- package/dist/materializer/shared/batching.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts +2 -8
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/models/audio/catalog.d.ts +20 -0
- package/dist/models/audio/catalog.d.ts.map +1 -0
- package/dist/models/audio/errors.d.ts +8 -0
- package/dist/models/audio/errors.d.ts.map +1 -0
- package/dist/models/audio/file.d.ts +9 -0
- package/dist/models/audio/file.d.ts.map +1 -0
- package/dist/models/audio/runtime.d.ts +8 -0
- package/dist/models/audio/runtime.d.ts.map +1 -0
- package/dist/models/audio/types.d.ts +60 -0
- package/dist/models/audio/types.d.ts.map +1 -0
- package/dist/models/catalog.d.ts +24 -2
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/definitions.d.ts +1 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/events.d.ts +3 -0
- package/dist/models/events.d.ts.map +1 -1
- package/dist/models/execution/binding.d.ts +6 -0
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/index.js +27 -24
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-admission.d.ts +6 -1
- package/dist/models/execution/model-call-admission.d.ts.map +1 -1
- package/dist/models/execution/model-call-limits.d.ts.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +4 -0
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/reranking.d.ts +4 -0
- package/dist/models/execution/reranking.d.ts.map +1 -0
- package/dist/models/execution/usage.d.ts.map +1 -1
- package/dist/models/execution.d.ts +2 -1
- package/dist/models/execution.d.ts.map +1 -1
- package/dist/models/generation-types.d.ts +2 -0
- package/dist/models/generation-types.d.ts.map +1 -1
- package/dist/models/index.d.ts +7 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +6 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/language-model.d.ts +6 -0
- package/dist/models/language-model.d.ts.map +1 -1
- package/dist/models/pricing.d.ts +2 -2
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/models/reranking-model.d.ts +49 -0
- package/dist/models/reranking-model.d.ts.map +1 -0
- package/dist/objects/context/index.d.ts +1 -1
- package/dist/objects/context/index.d.ts.map +1 -1
- package/dist/objects/context/types.d.ts +6 -0
- package/dist/objects/context/types.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +2 -1
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +31 -27
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/materializer-adapter.d.ts.map +1 -1
- package/dist/objects/object/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/upsert.d.ts.map +1 -1
- package/dist/objects/property-clearance.d.ts +41 -0
- package/dist/objects/property-clearance.d.ts.map +1 -0
- package/dist/objects/query/executor.d.ts +5 -1
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +1 -1
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +27 -24
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +8 -1
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/planner.d.ts +1 -1
- package/dist/objects/query/planner.d.ts.map +1 -1
- package/dist/objects/query/primary-id.d.ts +7 -0
- package/dist/objects/query/primary-id.d.ts.map +1 -0
- package/dist/objects/query/reranking-executor.d.ts +13 -0
- package/dist/objects/query/reranking-executor.d.ts.map +1 -0
- package/dist/objects/query/reranking-limits.d.ts +3 -0
- package/dist/objects/query/reranking-limits.d.ts.map +1 -0
- package/dist/objects/query/reranking-query.d.ts +4 -0
- package/dist/objects/query/reranking-query.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts +10 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/file-handle.d.ts +6 -0
- package/dist/objects/sdk/file-handle.d.ts.map +1 -0
- package/dist/objects/sdk/object-handle.d.ts +2 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -0
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-builder.d.ts +8 -0
- package/dist/objects/sdk/query-builder.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +2 -2
- package/dist/objects/sdk/query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
- package/dist/objects/vectors/indexing-dispatch.d.ts +21 -0
- package/dist/objects/vectors/indexing-dispatch.d.ts.map +1 -0
- package/dist/objects/vectors/query.d.ts.map +1 -1
- package/dist/ontology/builders.d.ts +12 -1
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/docs-markdown.d.ts +35 -0
- package/dist/ontology/docs-markdown.d.ts.map +1 -0
- package/dist/ontology/docs.d.ts +50 -0
- package/dist/ontology/docs.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +1 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +7 -4
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +19 -0
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +3 -1
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +276 -3
- package/dist/ontology/internal.js.map +4 -3
- package/dist/ontology/query-capabilities.d.ts +1 -0
- package/dist/ontology/query-capabilities.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +8 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +25 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/validation/index.d.ts +1 -1
- package/dist/ontology/validation/index.d.ts.map +1 -1
- package/dist/ontology/validation/query.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts +7 -0
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/pipelines/index.js +29 -26
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +27 -24
- package/dist/projections/internal.js.map +1 -1
- package/dist/query.d.ts +4 -2
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +3 -0
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +4 -0
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +11 -2
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +3 -1
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +14 -2
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.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/internal.js +32 -27
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/locale.d.ts +9 -0
- package/dist/runtime/locale.d.ts.map +1 -0
- package/dist/runtime/public-origin.d.ts +10 -0
- package/dist/runtime/public-origin.d.ts.map +1 -0
- package/dist/runtime/resolve-definitions.d.ts +4 -2
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +1 -0
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +42 -5
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/index.js +7 -6
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/scheduler/index.js +1 -1
- package/dist/scheduler/runtime.d.ts +3 -0
- package/dist/scheduler/runtime.d.ts.map +1 -1
- package/dist/security/builders.d.ts +11 -2
- package/dist/security/builders.d.ts.map +1 -1
- package/dist/security/index.d.ts +4 -4
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/markings.d.ts +19 -0
- package/dist/security/markings.d.ts.map +1 -0
- package/dist/security/redactions.d.ts +4 -0
- package/dist/security/redactions.d.ts.map +1 -0
- package/dist/security/registry.d.ts +7 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +25 -0
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +4 -1
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/internal.js +24 -21
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +5 -4
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +15 -9
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +1 -0
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +3 -3
- package/dist/storage/ai-cost/types.d.ts +1 -1
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/validation.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +2 -2
- package/dist/storage/ai-limits/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-limits/provider.d.ts +7 -2
- package/dist/storage/ai-limits/provider.d.ts.map +1 -1
- package/dist/storage/ai-limits/provider.js +4 -2
- package/dist/storage/ai-limits/provider.js.map +1 -1
- package/dist/storage/ai-limits/types.d.ts +3 -0
- package/dist/storage/ai-limits/types.d.ts.map +1 -1
- package/dist/storage/ai-usage/record.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +8 -4
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/ai-usage/usage.d.ts.map +1 -1
- package/dist/storage/file-download-grants/in-memory.d.ts +11 -0
- package/dist/storage/file-download-grants/in-memory.d.ts.map +1 -0
- package/dist/storage/file-download-grants/index.d.ts +3 -0
- package/dist/storage/file-download-grants/index.d.ts.map +1 -0
- package/dist/storage/file-download-grants/record.d.ts +11 -0
- package/dist/storage/file-download-grants/record.d.ts.map +1 -0
- package/dist/storage/file-download-grants/types.d.ts +44 -0
- package/dist/storage/file-download-grants/types.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/provider.js +10 -7
- package/dist/storage/file-upload-sessions/provider.js.map +1 -1
- package/dist/storage/in-memory/index.d.ts +4 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +6 -3
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +35 -32
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +1 -0
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +9 -4
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/migrations/index.d.ts +1 -1
- package/dist/storage/migrations/index.d.ts.map +1 -1
- package/dist/storage/migrations/migrate-storage.d.ts +3 -3
- package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
- package/dist/storage/migrations/types.d.ts +7 -0
- package/dist/storage/migrations/types.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
- package/dist/storage/objects/query-preparation.d.ts +39 -0
- package/dist/storage/objects/query-preparation.d.ts.map +1 -0
- package/dist/storage/objects/types.d.ts +9 -0
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/commits.d.ts +1 -6
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +4 -2
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations-state.d.ts +0 -2
- package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations-work.d.ts +1 -3
- package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +23 -57
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/outbox.d.ts +3 -2
- package/dist/storage/ontology/in-memory/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/replacement-plans.d.ts +104 -0
- package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts +17 -2
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/source-roots.d.ts +3 -1
- package/dist/storage/ontology/in-memory/source-roots.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/sources.d.ts +1 -2
- package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/state-reader.d.ts +25 -0
- package/dist/storage/ontology/in-memory/state-reader.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +6 -3
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/materializations.d.ts +40 -59
- package/dist/storage/ontology/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/outbox.d.ts +4 -6
- package/dist/storage/ontology/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts +114 -3
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +14 -39
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +26 -12
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/ontology/replacement-plans.d.ts +103 -0
- package/dist/storage/ontology/replacement-plans.d.ts.map +1 -0
- package/dist/storage/ontology/sources.d.ts +0 -8
- package/dist/storage/ontology/sources.d.ts.map +1 -1
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/projection-runs/types.d.ts +2 -0
- package/dist/storage/projection-runs/types.d.ts.map +1 -1
- package/dist/storage/types.d.ts +2 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +10 -7
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +30 -27
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/file-download-grant-storage-contract.d.ts +9 -0
- package/dist/testing/file-download-grant-storage-contract.d.ts.map +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2556 -1495
- package/dist/testing/index.js.map +14 -13
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/materializer-storage-contract.d.ts +14 -0
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
- package/dist/testing/ontology-contract-fixture.d.ts +5 -1
- package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +25 -22
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +15 -17
- package/dist/workers/index.js.map +3 -3
- package/dist/workers/queue-worker.d.ts +3 -2
- package/dist/workers/queue-worker.d.ts.map +1 -1
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/index.js +51 -47
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +6 -3
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +2 -1
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/actions/read-facade.ts +2 -1
- package/src/actions/types/context.ts +5 -2
- package/src/actions/validation.ts +4 -1
- package/src/agents/adapters.ts +15 -0
- package/src/agents/authority.ts +15 -0
- package/src/agents/context/entries.ts +48 -4
- package/src/agents/context/index.ts +1 -0
- package/src/agents/context-compaction.ts +6 -0
- package/src/agents/errors.ts +3 -0
- package/src/agents/index.ts +13 -1
- package/src/agents/message.ts +9 -0
- package/src/agents/request.ts +178 -22
- package/src/agents/skills.ts +63 -0
- package/src/agents/types.ts +35 -5
- package/src/auth/runtime.ts +14 -0
- package/src/auth/types.ts +6 -0
- package/src/authorization/resolve.ts +6 -1
- package/src/authorization/types.ts +7 -0
- package/src/blob-storage/download-urls.ts +138 -0
- package/src/blob-storage/execution.ts +44 -1
- package/src/blob-storage/file-content.ts +106 -0
- package/src/blob-storage/index.ts +1 -0
- package/src/blob-storage/internal.ts +8 -0
- package/src/blob-storage/media-type.ts +29 -0
- package/src/blob-storage/types.ts +13 -1
- package/src/blob-storage/validation.ts +13 -0
- package/src/bootstrap/agent-context.ts +356 -0
- package/src/bootstrap/discovery.ts +100 -33
- package/src/bootstrap/index.ts +1 -1
- package/src/bootstrap/ontology-type-manifest.ts +3 -38
- package/src/datasets/builders.ts +17 -1
- package/src/datasets/execution.ts +110 -2
- package/src/datasets/index.ts +7 -1
- package/src/datasets/types.ts +2 -0
- package/src/datasets/write.ts +21 -2
- package/src/edits/properties.ts +3 -0
- package/src/events/execution.ts +15 -16
- package/src/events/types/objects.ts +5 -0
- package/src/execution/agent.ts +27 -0
- package/src/execution/authorization.ts +1 -0
- package/src/execution/authorized-object-reader.ts +104 -35
- package/src/execution/scopes.ts +2 -6
- package/src/http/api-routes.ts +4 -3
- package/src/index.ts +52 -2
- package/src/lake-storage/in-memory.ts +38 -9
- package/src/lake-storage/index.ts +2 -0
- package/src/lake-storage/types.ts +30 -0
- package/src/maintenance/ontology-maintenance.ts +50 -23
- package/src/maintenance/types.ts +1 -4
- package/src/materialization/event-envelopes.ts +168 -0
- package/src/materialization/events.ts +40 -4
- package/src/materialization/index.ts +9 -1
- package/src/materializer/README.md +55 -10
- package/src/materializer/edits/commit.ts +3 -19
- package/src/materializer/edits/plan.ts +20 -71
- package/src/materializer/effective/build-events.ts +42 -136
- package/src/materializer/effective/vector-indexing.ts +2 -3
- package/src/materializer/effective/vectors.ts +2 -3
- package/src/materializer/execution/scope.ts +1 -38
- package/src/materializer/execution/work-executor.ts +21 -115
- package/src/materializer/execution/work-records.ts +0 -15
- package/src/materializer/projections/replace.ts +106 -63
- package/src/materializer/projections/replacement-plan.ts +73 -218
- package/src/materializer/shared/batching.ts +7 -0
- package/src/materializer/telemetry/append.ts +2 -14
- package/src/materializer/telemetry/plan.ts +6 -43
- package/src/models/audio/catalog.ts +90 -0
- package/src/models/audio/errors.ts +19 -0
- package/src/models/audio/file.ts +78 -0
- package/src/models/audio/runtime.ts +182 -0
- package/src/models/audio/types.ts +69 -0
- package/src/models/catalog.ts +78 -7
- package/src/models/definitions.ts +8 -1
- package/src/models/events.ts +3 -0
- package/src/models/execution/README.md +24 -4
- package/src/models/execution/binding.ts +6 -0
- package/src/models/execution/model-call-admission.ts +6 -1
- package/src/models/execution/model-call-limits.ts +21 -11
- package/src/models/execution/model-call-recorder.ts +11 -0
- package/src/models/execution/model-call-recovery.ts +1 -0
- package/src/models/execution/reranking.ts +137 -0
- package/src/models/execution/session.ts +2 -2
- package/src/models/execution/usage.ts +1 -0
- package/src/models/execution.ts +11 -3
- package/src/models/generation-types.ts +2 -0
- package/src/models/index.ts +32 -0
- package/src/models/language-model.ts +6 -0
- package/src/models/pricing.ts +2 -1
- package/src/models/reranking-model.ts +114 -0
- package/src/objects/context/index.ts +1 -0
- package/src/objects/context/types.ts +7 -0
- package/src/objects/execution.ts +4 -1
- package/src/objects/materializer-adapter.ts +3 -0
- package/src/objects/object/upsert-batch.ts +4 -1
- package/src/objects/object/upsert.ts +3 -1
- package/src/objects/property-clearance.ts +209 -0
- package/src/objects/query/executor.ts +85 -38
- package/src/objects/query/explain.ts +8 -0
- package/src/objects/query/index.ts +1 -0
- package/src/objects/query/ir.ts +10 -0
- package/src/objects/query/normalize.ts +2 -0
- package/src/objects/query/planner.ts +12 -1
- package/src/objects/query/primary-id.ts +56 -0
- package/src/objects/query/reranking-executor.ts +91 -0
- package/src/objects/query/reranking-limits.ts +3 -0
- package/src/objects/query/reranking-query.ts +8 -0
- package/src/objects/query/validate.ts +166 -15
- package/src/objects/sdk/file-handle.ts +77 -0
- package/src/objects/sdk/object-handle.ts +8 -4
- package/src/objects/sdk/object-set.ts +5 -2
- package/src/objects/sdk/query-builder.ts +15 -2
- package/src/objects/sdk/query-executor.ts +2 -2
- package/src/objects/sdk/runtime-query-executor.ts +7 -4
- package/src/objects/vectors/README.md +6 -2
- package/src/objects/vectors/indexing-dispatch.ts +83 -0
- package/src/objects/vectors/query.ts +3 -0
- package/src/ontology/builders.ts +19 -2
- package/src/ontology/docs-markdown.ts +394 -0
- package/src/ontology/docs.ts +196 -0
- package/src/ontology/index.ts +2 -0
- package/src/ontology/inference/index.ts +25 -0
- package/src/ontology/internal.ts +7 -0
- package/src/ontology/query-capabilities.ts +1 -1
- package/src/ontology/tokens.ts +13 -2
- package/src/ontology/types.ts +26 -0
- package/src/ontology/validation/index.ts +1 -0
- package/src/ontology/validation/query.ts +57 -0
- package/src/ontology/validation/schema.ts +26 -1
- package/src/query.ts +4 -0
- package/src/queues/in-memory.ts +54 -19
- package/src/queues/types.ts +4 -0
- package/src/runtime/create.ts +34 -4
- package/src/runtime/definitions.ts +3 -1
- package/src/runtime/host.ts +73 -2
- package/src/runtime/index.ts +4 -0
- package/src/runtime/internal.ts +1 -0
- package/src/runtime/locale.ts +26 -0
- package/src/runtime/public-origin.ts +33 -0
- package/src/runtime/resolve-definitions.ts +28 -1
- package/src/runtime/sixb.ts +14 -3
- package/src/runtime/types.ts +51 -5
- package/src/scheduler/runtime.ts +11 -2
- package/src/security/builders.ts +49 -5
- package/src/security/index.ts +6 -1
- package/src/security/markings.ts +313 -0
- package/src/security/redactions.ts +6 -0
- package/src/security/registry.ts +21 -1
- package/src/security/types.ts +26 -0
- package/src/security/validation.ts +59 -2
- package/src/storage/agents/provider.ts +11 -0
- package/src/storage/agents/types.ts +15 -7
- package/src/storage/ai-cost/analytics.ts +2 -0
- package/src/storage/ai-cost/codec.ts +2 -1
- package/src/storage/ai-cost/types.ts +1 -0
- package/src/storage/ai-cost/validation.ts +21 -8
- package/src/storage/ai-limits/in-memory.ts +10 -2
- package/src/storage/ai-limits/provider.ts +29 -2
- package/src/storage/ai-limits/types.ts +3 -0
- package/src/storage/ai-usage/record.ts +9 -0
- package/src/storage/ai-usage/types.ts +8 -4
- package/src/storage/ai-usage/usage.ts +2 -0
- package/src/storage/file-download-grants/in-memory.ts +73 -0
- package/src/storage/file-download-grants/index.ts +8 -0
- package/src/storage/file-download-grants/record.ts +47 -0
- package/src/storage/file-download-grants/types.ts +48 -0
- package/src/storage/in-memory/index.ts +13 -2
- package/src/storage/index.ts +32 -13
- package/src/storage/internal.ts +1 -0
- package/src/storage/migrations/index.ts +1 -0
- package/src/storage/migrations/migrate-storage.ts +36 -12
- package/src/storage/migrations/types.ts +8 -0
- package/src/storage/objects/in-memory/query.ts +2 -0
- package/src/storage/objects/in-memory/selected-reader.ts +1 -0
- package/src/storage/objects/in-memory/storage.ts +1 -0
- package/src/storage/objects/query-preparation.ts +77 -0
- package/src/storage/objects/types.ts +9 -0
- package/src/storage/ontology/commits.ts +1 -6
- package/src/storage/ontology/in-memory/index.ts +28 -9
- package/src/storage/ontology/in-memory/materializations-finalization.ts +35 -68
- package/src/storage/ontology/in-memory/materializations-state.ts +0 -22
- package/src/storage/ontology/in-memory/materializations-work.ts +0 -45
- package/src/storage/ontology/in-memory/materializations.ts +172 -653
- package/src/storage/ontology/in-memory/outbox.ts +37 -29
- package/src/storage/ontology/in-memory/replacement-plans.ts +697 -0
- package/src/storage/ontology/in-memory/shared-state.ts +24 -2
- package/src/storage/ontology/in-memory/source-roots.ts +7 -2
- package/src/storage/ontology/in-memory/sources.ts +7 -33
- package/src/storage/ontology/in-memory/state-reader.ts +245 -0
- package/src/storage/ontology/index.ts +19 -13
- package/src/storage/ontology/materializations.ts +45 -74
- package/src/storage/ontology/outbox.ts +4 -7
- package/src/storage/ontology/provider-header-validation.ts +0 -57
- package/src/storage/ontology/provider-work.ts +381 -90
- package/src/storage/ontology/provider.ts +74 -171
- package/src/storage/ontology/replacement-plans.ts +117 -0
- package/src/storage/ontology/sources.ts +0 -12
- package/src/storage/operation-scope.ts +33 -1
- package/src/storage/projection-runs/in-memory.ts +7 -1
- package/src/storage/projection-runs/types.ts +2 -0
- package/src/storage/types.ts +2 -0
- package/src/testing/ai-cost-storage-contract.ts +1 -0
- package/src/testing/ai-limit-storage-contract.ts +62 -0
- package/src/testing/ai-usage-storage-contract.ts +31 -0
- package/src/testing/file-download-grant-storage-contract.ts +139 -0
- package/src/testing/index.ts +4 -0
- package/src/testing/lake-storage-contract.ts +87 -1
- package/src/testing/materializer-storage-contract.ts +1008 -1
- package/src/testing/object-read-scope-contract.ts +1 -0
- package/src/testing/ontology-contract-fixture.ts +11 -87
- package/src/testing/ontology-storage-contract.ts +70 -39
- package/src/testing/projection-run-storage-contract.ts +14 -0
- package/src/testing/queues-contract.ts +59 -0
- package/src/workers/queue-worker.ts +19 -16
- package/src/workflows/builders.ts +24 -1
- package/src/workflows/request.ts +3 -0
- package/src/workflows/types.ts +6 -3
- package/src/workflows/validation.ts +32 -4
- package/dist/chunk-3q7z9hd4.js.map +0 -46
- package/dist/chunk-667x4drs.js.map +0 -12
- package/dist/chunk-69266efg.js.map +0 -12
- package/dist/chunk-6z1q7j19.js.map +0 -62
- package/dist/chunk-7ytf06d3.js +0 -113
- package/dist/chunk-7ytf06d3.js.map +0 -10
- package/dist/chunk-8x74221e.js.map +0 -20
- package/dist/chunk-91kcnbf0.js.map +0 -10
- package/dist/chunk-98cw09sw.js.map +0 -10
- package/dist/chunk-9vx5e9g1.js.map +0 -11
- package/dist/chunk-a0073121.js.map +0 -12
- package/dist/chunk-a7ne02hk.js.map +0 -15
- package/dist/chunk-cd234ba4.js.map +0 -14
- package/dist/chunk-chdg6eqq.js.map +0 -10
- package/dist/chunk-dmn70ztd.js.map +0 -11
- package/dist/chunk-f72rbvsb.js.map +0 -19
- package/dist/chunk-g4rbm4a6.js.map +0 -15
- package/dist/chunk-h044jb97.js.map +0 -15
- package/dist/chunk-h3v76ams.js.map +0 -11
- package/dist/chunk-h4138ww2.js.map +0 -50
- package/dist/chunk-hgqpcmyr.js.map +0 -12
- package/dist/chunk-jgwb25gc.js.map +0 -12
- package/dist/chunk-k4kkp58d.js.map +0 -11
- package/dist/chunk-kttr5ftm.js.map +0 -12
- package/dist/chunk-kvysp909.js.map +0 -17
- package/dist/chunk-mdnw7nj8.js.map +0 -15
- package/dist/chunk-s3csryxe.js.map +0 -11
- package/dist/chunk-tnvafr7g.js.map +0 -19
- package/dist/chunk-vjqt7q3a.js.map +0 -36
- package/dist/chunk-xnx96gfy.js.map +0 -15
- package/dist/chunk-z5rnrmz1.js.map +0 -11
- package/dist/chunk-zvmr2hqk.js.map +0 -12
- package/dist/materializer/execution/plan-stream.d.ts +0 -8
- package/dist/materializer/execution/plan-stream.d.ts.map +0 -1
- package/src/materializer/execution/plan-stream.ts +0 -121
- /package/dist/{chunk-4gmng3vf.js.map → chunk-22v5bpz3.js.map} +0 -0
- /package/dist/{chunk-fj1dvp37.js.map → chunk-2vhg6ysa.js.map} +0 -0
- /package/dist/{chunk-gmdvns8f.js.map → chunk-48e3cn2d.js.map} +0 -0
- /package/dist/{chunk-cq44v1a6.js.map → chunk-7hpdd6r9.js.map} +0 -0
- /package/dist/{chunk-rb143ggb.js.map → chunk-bwjcehza.js.map} +0 -0
- /package/dist/{chunk-7g2gjvah.js.map → chunk-ex496vct.js.map} +0 -0
- /package/dist/{chunk-nvymebc1.js.map → chunk-f1zxad2t.js.map} +0 -0
- /package/dist/{chunk-b9y8hcm2.js.map → chunk-mfs23znk.js.map} +0 -0
- /package/dist/{chunk-h866d223.js.map → chunk-qkvz64nd.js.map} +0 -0
- /package/dist/{chunk-tkdbge6v.js.map → chunk-rt9p8m9t.js.map} +0 -0
- /package/dist/{chunk-sbcm1b92.js.map → chunk-v6xpd60t.js.map} +0 -0
- /package/dist/{chunk-nj0020ay.js.map → chunk-vgk3hknm.js.map} +0 -0
- /package/dist/{chunk-qnd7ehe5.js.map → chunk-vx2yp45y.js.map} +0 -0
- /package/dist/{chunk-nkbev3tr.js.map → chunk-yv9czyfr.js.map} +0 -0
- /package/dist/{chunk-cxj8y8t0.js.map → chunk-za5yd58j.js.map} +0 -0
- /package/dist/{chunk-zb47r1c8.js.map → chunk-zb77kjth.js.map} +0 -0
- /package/dist/{chunk-dp7yk20b.js.map → chunk-zxawp1n2.js.map} +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { cloneFileDownloadGrantRecord } from "./record"
|
|
2
|
+
import type {
|
|
3
|
+
DeleteExpiredFileDownloadGrantsInput,
|
|
4
|
+
FileDownloadGrantRecord,
|
|
5
|
+
FileDownloadGrantStorage,
|
|
6
|
+
FindFileDownloadGrantInput,
|
|
7
|
+
RevokeFileDownloadGrantInput,
|
|
8
|
+
} from "./types"
|
|
9
|
+
|
|
10
|
+
export class InMemoryFileDownloadGrantStorage implements FileDownloadGrantStorage {
|
|
11
|
+
private rows = new Map<string, FileDownloadGrantRecord>()
|
|
12
|
+
|
|
13
|
+
async create(record: FileDownloadGrantRecord): Promise<void> {
|
|
14
|
+
const duplicate = [...this.rows.values()].some(
|
|
15
|
+
(current) =>
|
|
16
|
+
current.projectId === record.projectId &&
|
|
17
|
+
(current.id === record.id || current.tokenHash === record.tokenHash)
|
|
18
|
+
)
|
|
19
|
+
if (duplicate) {
|
|
20
|
+
throw new Error(`[Sixb] File download grant '${record.id}' conflicts with an existing one.`)
|
|
21
|
+
}
|
|
22
|
+
this.rows.set(rowKey(record.projectId, record.id), cloneFileDownloadGrantRecord(record))
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async findByTokenHash(
|
|
26
|
+
input: FindFileDownloadGrantInput
|
|
27
|
+
): Promise<FileDownloadGrantRecord | null> {
|
|
28
|
+
for (const record of this.rows.values()) {
|
|
29
|
+
if (record.projectId === input.projectId && record.tokenHash === input.tokenHash) {
|
|
30
|
+
return cloneFileDownloadGrantRecord(record)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return null
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async revoke(input: RevokeFileDownloadGrantInput): Promise<FileDownloadGrantRecord | null> {
|
|
37
|
+
const key = rowKey(input.projectId, input.id)
|
|
38
|
+
const current = this.rows.get(key)
|
|
39
|
+
if (!current) return null
|
|
40
|
+
if (!current.revokedAt) {
|
|
41
|
+
this.rows.set(key, { ...current, revokedAt: new Date(input.revokedAt) })
|
|
42
|
+
}
|
|
43
|
+
return cloneFileDownloadGrantRecord(this.rows.get(key) as FileDownloadGrantRecord)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async deleteExpired(input: DeleteExpiredFileDownloadGrantsInput): Promise<number> {
|
|
47
|
+
const expired = [...this.rows.entries()]
|
|
48
|
+
.filter(
|
|
49
|
+
([, record]) =>
|
|
50
|
+
record.projectId === input.projectId &&
|
|
51
|
+
record.expiresAt.getTime() < input.expiredBefore.getTime()
|
|
52
|
+
)
|
|
53
|
+
.slice(0, input.limit)
|
|
54
|
+
for (const [key] of expired) this.rows.delete(key)
|
|
55
|
+
return expired.length
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
snapshot(): ReadonlyMap<string, FileDownloadGrantRecord> {
|
|
59
|
+
return new Map(
|
|
60
|
+
[...this.rows].map(([key, record]) => [key, cloneFileDownloadGrantRecord(record)])
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
restore(snapshot: ReadonlyMap<string, FileDownloadGrantRecord>): void {
|
|
65
|
+
this.rows = new Map(
|
|
66
|
+
[...snapshot].map(([key, record]) => [key, cloneFileDownloadGrantRecord(record)])
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function rowKey(projectId: string, id: string): string {
|
|
72
|
+
return `${projectId}\0${id}`
|
|
73
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { isFileRef } from "../../blob-storage"
|
|
2
|
+
import type { FileDownloadGrantRecord } from "./types"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Rebuilds a grant from a provider row with camelCase keys. `file` may arrive parsed (jsonb) or
|
|
6
|
+
* as text (SQLite), and timestamps as `Date` or ISO text. Fails closed on corruption: a grant that
|
|
7
|
+
* cannot be read must not serve a file.
|
|
8
|
+
*/
|
|
9
|
+
export function parseFileDownloadGrantRow(row: {
|
|
10
|
+
readonly [column: string]: unknown
|
|
11
|
+
}): FileDownloadGrantRecord {
|
|
12
|
+
const id = text(row.id, "id", String(row.id))
|
|
13
|
+
const file = typeof row.file === "string" ? JSON.parse(row.file) : row.file
|
|
14
|
+
if (!isFileRef(file)) throw corrupt(id, "file is not a file reference")
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
id,
|
|
18
|
+
projectId: text(row.projectId, "projectId", id),
|
|
19
|
+
tokenHash: text(row.tokenHash, "tokenHash", id),
|
|
20
|
+
file,
|
|
21
|
+
executionId: text(row.executionId, "executionId", id),
|
|
22
|
+
createdAt: date(row.createdAt, "createdAt", id),
|
|
23
|
+
expiresAt: date(row.expiresAt, "expiresAt", id),
|
|
24
|
+
...(row.revokedAt == null ? {} : { revokedAt: date(row.revokedAt, "revokedAt", id) }),
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function cloneFileDownloadGrantRecord(
|
|
29
|
+
record: FileDownloadGrantRecord
|
|
30
|
+
): FileDownloadGrantRecord {
|
|
31
|
+
return structuredClone(record)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function text(value: unknown, column: string, id: string): string {
|
|
35
|
+
if (typeof value !== "string" || value.length === 0) throw corrupt(id, `${column} is not text`)
|
|
36
|
+
return value
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function date(value: unknown, column: string, id: string): Date {
|
|
40
|
+
const parsed = value instanceof Date || typeof value === "string" ? new Date(value) : null
|
|
41
|
+
if (!parsed || !Number.isFinite(parsed.getTime())) throw corrupt(id, `${column} is not a date`)
|
|
42
|
+
return parsed
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function corrupt(id: string, reason: string): Error {
|
|
46
|
+
return new Error(`[Sixb] Stored file download grant '${id}' is invalid: ${reason}.`)
|
|
47
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { FileRef } from "../../blob-storage"
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* One download URL issued by `blobs.createDownloadUrl()`. Each call issues its own grant, so URLs
|
|
5
|
+
* for the same file expire and are revoked independently.
|
|
6
|
+
*/
|
|
7
|
+
export interface FileDownloadGrantRecord {
|
|
8
|
+
readonly id: string
|
|
9
|
+
readonly projectId: string
|
|
10
|
+
/** SHA-256 hex of the URL token. The token itself is never stored. */
|
|
11
|
+
readonly tokenHash: string
|
|
12
|
+
/** The file the URL serves, without `logicalPath`: serving the bytes does not need it. */
|
|
13
|
+
readonly file: FileRef
|
|
14
|
+
/** The execution that issued the URL, so an exposure can be traced back to its cause. */
|
|
15
|
+
readonly executionId: string
|
|
16
|
+
readonly createdAt: Date
|
|
17
|
+
readonly expiresAt: Date
|
|
18
|
+
readonly revokedAt?: Date
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface FindFileDownloadGrantInput {
|
|
22
|
+
readonly projectId: string
|
|
23
|
+
readonly tokenHash: string
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface RevokeFileDownloadGrantInput {
|
|
27
|
+
readonly projectId: string
|
|
28
|
+
readonly id: string
|
|
29
|
+
readonly revokedAt: Date
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface DeleteExpiredFileDownloadGrantsInput {
|
|
33
|
+
readonly projectId: string
|
|
34
|
+
readonly expiredBefore: Date
|
|
35
|
+
readonly limit: number
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Persistence only: token generation, expiry, and revocation checks live in Core. */
|
|
39
|
+
export interface FileDownloadGrantStorage {
|
|
40
|
+
/** `(projectId, id)` and `(projectId, tokenHash)` are each unique. */
|
|
41
|
+
create(record: FileDownloadGrantRecord): Promise<void>
|
|
42
|
+
/** Returns expired and revoked grants too; the caller decides whether one still serves. */
|
|
43
|
+
findByTokenHash(input: FindFileDownloadGrantInput): Promise<FileDownloadGrantRecord | null>
|
|
44
|
+
/** Keeps the first revocation. Returns the grant, or `null` when it does not exist. */
|
|
45
|
+
revoke(input: RevokeFileDownloadGrantInput): Promise<FileDownloadGrantRecord | null>
|
|
46
|
+
/** Deletes up to `limit` grants that expired before `expiredBefore`, and returns the count. */
|
|
47
|
+
deleteExpired(input: DeleteExpiredFileDownloadGrantsInput): Promise<number>
|
|
48
|
+
}
|
|
@@ -13,6 +13,10 @@ import {
|
|
|
13
13
|
import { StorageTransactionError } from "../errors"
|
|
14
14
|
import { InMemoryExecutionStorage } from "../executions/in-memory"
|
|
15
15
|
import type { ExecutionStorage } from "../executions/types"
|
|
16
|
+
import {
|
|
17
|
+
type FileDownloadGrantStorage,
|
|
18
|
+
InMemoryFileDownloadGrantStorage,
|
|
19
|
+
} from "../file-download-grants"
|
|
16
20
|
import { type FileUploadSessionStore, InMemoryFileUploadSessions } from "../file-upload-sessions"
|
|
17
21
|
import type { ObjectStorage } from "../objects"
|
|
18
22
|
import { InMemoryObjectStorage } from "../objects/in-memory"
|
|
@@ -116,6 +120,7 @@ export class InMemoryStorage implements Storage {
|
|
|
116
120
|
private readonly webhookRunStorage = new InMemoryWebhookRunStorage(this.executionStorage)
|
|
117
121
|
private readonly rulesStorage = new InMemoryRulesStorage()
|
|
118
122
|
private readonly fileUploadSessionStorage = new InMemoryFileUploadSessions()
|
|
123
|
+
private readonly fileDownloadGrantStorage = new InMemoryFileDownloadGrantStorage()
|
|
119
124
|
private readonly connectorConnectionStorage: InMemoryConnectorConnectionStorage
|
|
120
125
|
readonly auth: AuthStorage
|
|
121
126
|
readonly executions: ExecutionStorage
|
|
@@ -134,6 +139,7 @@ export class InMemoryStorage implements Storage {
|
|
|
134
139
|
readonly shareGrants: ShareGrantStorage
|
|
135
140
|
readonly shareSessions: ShareSessionStorage
|
|
136
141
|
readonly fileUploadSessions: FileUploadSessionStore
|
|
142
|
+
readonly fileDownloadGrants: FileDownloadGrantStorage
|
|
137
143
|
readonly connectorConnections: ConnectorConnectionStorage
|
|
138
144
|
|
|
139
145
|
constructor(options: InMemoryStorageOptions = {}) {
|
|
@@ -166,6 +172,7 @@ export class InMemoryStorage implements Storage {
|
|
|
166
172
|
this.shareGrants = createOperationScopedFacade(this.shareGrantStorage, scope)
|
|
167
173
|
this.shareSessions = createOperationScopedFacade(this.shareSessionStorage, scope)
|
|
168
174
|
this.fileUploadSessions = createOperationScopedFacade(this.fileUploadSessionStorage, scope)
|
|
175
|
+
this.fileDownloadGrants = createOperationScopedFacade(this.fileDownloadGrantStorage, scope)
|
|
169
176
|
this.connectorConnections = createOperationScopedFacade(this.connectorConnectionStorage, scope)
|
|
170
177
|
this.ontologyStorage = new InMemoryOntologyStorage(this.objectStorage, this.timeseriesStorage, {
|
|
171
178
|
runRootOperation: async (run) => run(),
|
|
@@ -173,8 +180,8 @@ export class InMemoryStorage implements Storage {
|
|
|
173
180
|
getMaterializationLifecycle: () => this.getActiveMaterializationLifecycle(),
|
|
174
181
|
assertSourceMaterializationExecution: (input) =>
|
|
175
182
|
this.projectionRunStorage.assertSourceMaterializationExecutionUnlocked(input),
|
|
176
|
-
|
|
177
|
-
|
|
183
|
+
readExecution: (projectId, executionId) =>
|
|
184
|
+
this.executionStorage.getById({ projectId, id: executionId }),
|
|
178
185
|
})
|
|
179
186
|
this.ontology = createOntologyOperationScope(this.ontologyStorage, scope)
|
|
180
187
|
this.ontologyStorage.registerTestingAlias(this.ontology)
|
|
@@ -375,6 +382,7 @@ export class InMemoryStorage implements Storage {
|
|
|
375
382
|
shareGrants: this.shareGrantStorage,
|
|
376
383
|
shareSessions: this.shareSessionStorage,
|
|
377
384
|
fileUploadSessions: this.fileUploadSessionStorage,
|
|
385
|
+
fileDownloadGrants: this.fileDownloadGrantStorage,
|
|
378
386
|
connectorConnections: this.connectorConnectionStorage,
|
|
379
387
|
ping: async () => undefined,
|
|
380
388
|
transaction: async <T>(): Promise<T> => {
|
|
@@ -405,6 +413,7 @@ export class InMemoryStorage implements Storage {
|
|
|
405
413
|
shareGrants: this.shareGrantStorage.snapshot(),
|
|
406
414
|
shareSessions: this.shareSessionStorage.snapshot(),
|
|
407
415
|
fileUploadSessions: this.fileUploadSessionStorage.snapshot(),
|
|
416
|
+
fileDownloadGrants: this.fileDownloadGrantStorage.snapshot(),
|
|
408
417
|
connectorConnections: this.connectorConnectionStorage.snapshot(),
|
|
409
418
|
}
|
|
410
419
|
}
|
|
@@ -430,6 +439,7 @@ export class InMemoryStorage implements Storage {
|
|
|
430
439
|
this.shareGrantStorage.restore(snapshot.shareGrants)
|
|
431
440
|
this.shareSessionStorage.restore(snapshot.shareSessions)
|
|
432
441
|
this.fileUploadSessionStorage.restore(snapshot.fileUploadSessions)
|
|
442
|
+
this.fileDownloadGrantStorage.restore(snapshot.fileDownloadGrants)
|
|
433
443
|
this.connectorConnectionStorage.restore(snapshot.connectorConnections)
|
|
434
444
|
}
|
|
435
445
|
}
|
|
@@ -455,5 +465,6 @@ export interface InMemoryStorageSnapshot {
|
|
|
455
465
|
readonly shareGrants: ReturnType<InMemoryShareGrantStorage["snapshot"]>
|
|
456
466
|
readonly shareSessions: ReturnType<InMemoryShareSessionStorage["snapshot"]>
|
|
457
467
|
readonly fileUploadSessions: ReturnType<InMemoryFileUploadSessions["snapshot"]>
|
|
468
|
+
readonly fileDownloadGrants: ReturnType<InMemoryFileDownloadGrantStorage["snapshot"]>
|
|
458
469
|
readonly connectorConnections: ReturnType<InMemoryConnectorConnectionStorage["snapshot"]>
|
|
459
470
|
}
|
package/src/storage/index.ts
CHANGED
|
@@ -12,12 +12,16 @@ export type { StoredRuleResolvedEvent, StoredRuleTriggeredEvent } from "../event
|
|
|
12
12
|
export type { ReadonlyJsonObject } from "../json"
|
|
13
13
|
export { stableJsonStringify } from "../json"
|
|
14
14
|
export type {
|
|
15
|
+
EffectiveChangeCounts,
|
|
15
16
|
PinnedDatasetVersion,
|
|
17
|
+
ProjectionEntityRef,
|
|
16
18
|
ProjectionExecution,
|
|
17
19
|
ProjectionMaterializationIdentity,
|
|
20
|
+
ProjectionSourceRef,
|
|
18
21
|
} from "../materialization/model"
|
|
19
22
|
export type { ModelProviderIds } from "../models/events"
|
|
20
23
|
export type { ObjectRef } from "../ontology"
|
|
24
|
+
export type { RedactionReason, Redactions } from "../security/types"
|
|
21
25
|
export type {
|
|
22
26
|
ShareAccessPlan,
|
|
23
27
|
ShareScopedActionGrant,
|
|
@@ -351,6 +355,13 @@ export type {
|
|
|
351
355
|
TrustedPrimitiveRef,
|
|
352
356
|
} from "./executions"
|
|
353
357
|
export { ExecutionStorageError } from "./executions"
|
|
358
|
+
export type {
|
|
359
|
+
DeleteExpiredFileDownloadGrantsInput,
|
|
360
|
+
FileDownloadGrantRecord,
|
|
361
|
+
FileDownloadGrantStorage,
|
|
362
|
+
FindFileDownloadGrantInput,
|
|
363
|
+
RevokeFileDownloadGrantInput,
|
|
364
|
+
} from "./file-download-grants"
|
|
354
365
|
export type {
|
|
355
366
|
CreateFileUploadSessionInput,
|
|
356
367
|
FileUploadSession,
|
|
@@ -380,6 +391,7 @@ export type {
|
|
|
380
391
|
MigrationStep,
|
|
381
392
|
MigrationStepInfo,
|
|
382
393
|
MigrationStepOptions,
|
|
394
|
+
StorageMigrationOptions,
|
|
383
395
|
StorageMigrationResult,
|
|
384
396
|
StorageMigrator,
|
|
385
397
|
StorageSchemaCheck,
|
|
@@ -448,13 +460,19 @@ export {
|
|
|
448
460
|
objectLinkCursor,
|
|
449
461
|
snapshotObjectReadExecutionLimits,
|
|
450
462
|
} from "./objects"
|
|
463
|
+
export type {
|
|
464
|
+
ObjectQueryPreparationPlan,
|
|
465
|
+
ObjectQueryPreparationResult,
|
|
466
|
+
QueryPreparationCapableStorage,
|
|
467
|
+
} from "./objects/query-preparation"
|
|
451
468
|
export type {
|
|
452
469
|
AbandonRunSourceMaterializationInput,
|
|
453
470
|
AbandonSourceMaterializationCandidateInput,
|
|
454
471
|
AbandonSourceMaterializationInput,
|
|
455
472
|
AdoptedSourceMaterialization,
|
|
456
473
|
AdoptSourceMaterializationInput,
|
|
457
|
-
|
|
474
|
+
AppliedMaterialization,
|
|
475
|
+
ApplyMaterializationInput,
|
|
458
476
|
ApplyMaterializationResult,
|
|
459
477
|
AssertSourceMaterializationExecution,
|
|
460
478
|
AssertSourceMaterializationExecutionInput,
|
|
@@ -469,16 +487,13 @@ export type {
|
|
|
469
487
|
ExactEffectiveLinkWrite,
|
|
470
488
|
ExactEffectiveObjectDelete,
|
|
471
489
|
ExactEffectiveObjectWrite,
|
|
472
|
-
ExactEffectiveWrites,
|
|
473
490
|
ExactLinkOverrideDelete,
|
|
474
491
|
ExactLinkOverrideWrite,
|
|
475
492
|
ExactLinkSlotOverrideDelete,
|
|
476
493
|
ExactLinkSlotOverrideWrite,
|
|
477
494
|
ExactObjectOverrideDelete,
|
|
478
495
|
ExactObjectOverrideWrite,
|
|
479
|
-
ExactOverrideWrites,
|
|
480
496
|
ExactTimeseriesPointWrite,
|
|
481
|
-
ExactTimeseriesWrites,
|
|
482
497
|
ExpectedSourceRevision,
|
|
483
498
|
ExpectedTimeseriesPointRevision,
|
|
484
499
|
FinalizeMaterializationInput,
|
|
@@ -501,7 +516,6 @@ export type {
|
|
|
501
516
|
MaterializationObjectExistence,
|
|
502
517
|
MaterializationObjectExistenceWorkRecord,
|
|
503
518
|
MaterializationObjectState,
|
|
504
|
-
MaterializationPlanChunk,
|
|
505
519
|
MaterializationPlanFinalization,
|
|
506
520
|
MaterializationPlanHeader,
|
|
507
521
|
MaterializationPlanWorkItem,
|
|
@@ -509,8 +523,9 @@ export type {
|
|
|
509
523
|
MaterializationSession,
|
|
510
524
|
MaterializationStatePage,
|
|
511
525
|
MaterializationStateRequestChunk,
|
|
526
|
+
MaterializationVectorChange,
|
|
527
|
+
MaterializationVectorChangePage,
|
|
512
528
|
MaterializationWorkEntityKind,
|
|
513
|
-
MaterializationWorkPage,
|
|
514
529
|
MaterializationWorkRecord,
|
|
515
530
|
ObjectVectorState,
|
|
516
531
|
OntologyCommitOriginSelector,
|
|
@@ -526,22 +541,28 @@ export type {
|
|
|
526
541
|
OntologyOutboxRecord,
|
|
527
542
|
OntologyOutboxStorage,
|
|
528
543
|
OntologyOutboxSummary,
|
|
529
|
-
|
|
544
|
+
OntologyReplacementPlanStorage,
|
|
530
545
|
OntologySourceMaterializationStatus,
|
|
531
546
|
OntologySourceRecord,
|
|
532
547
|
OntologySourceStorage,
|
|
533
548
|
OntologyStorage,
|
|
534
549
|
OntologyVectorStorage,
|
|
550
|
+
OpenedReplacementPlan,
|
|
551
|
+
OpenReplacementPlanInput,
|
|
552
|
+
PlannedReplacementIdentity,
|
|
535
553
|
ProjectionOntologyCommitIntent,
|
|
536
554
|
PurgeAbandonedSourceMaterializationsInput,
|
|
537
555
|
PurgePublishedOntologyOutboxInput,
|
|
538
|
-
|
|
556
|
+
PurgeReplacementPlansInput,
|
|
557
|
+
ReplacementPlanRef,
|
|
558
|
+
ReplacementPlanStatePage,
|
|
559
|
+
ReplacementPlanStatus,
|
|
539
560
|
RescheduleOntologyOutboxLeaseInput,
|
|
540
561
|
SourceActivationWrite,
|
|
541
562
|
SourceReplacementLinkState,
|
|
542
563
|
SourceReplacementObjectState,
|
|
543
|
-
SourceReplacementStatePage,
|
|
544
564
|
StageMaterializationWorkInput,
|
|
565
|
+
StageReplacementPlanInput,
|
|
545
566
|
StageSourceAssertion,
|
|
546
567
|
StageSourceRoot,
|
|
547
568
|
StageSourceRowsInput,
|
|
@@ -555,12 +576,10 @@ export type {
|
|
|
555
576
|
StoredSourceObjectAssertion,
|
|
556
577
|
StoredTelemetryPoint,
|
|
557
578
|
StreamMaterializationStateInput,
|
|
558
|
-
|
|
559
|
-
|
|
579
|
+
StreamMaterializationVectorChangesInput,
|
|
580
|
+
StreamReplacementPlanStateInput,
|
|
560
581
|
SummarizeOntologyOutboxInput,
|
|
561
|
-
SummarizeTerminalSourceMaterializationsInput,
|
|
562
582
|
TelemetryOntologyCommitIntent,
|
|
563
|
-
TerminalSourceMaterializationSummary,
|
|
564
583
|
} from "./ontology"
|
|
565
584
|
export { ONTOLOGY_OUTBOX_FAILURE_CODES } from "./ontology"
|
|
566
585
|
export type {
|
package/src/storage/internal.ts
CHANGED
|
@@ -9,6 +9,7 @@ export {
|
|
|
9
9
|
} from "./action-runs/idempotency"
|
|
10
10
|
export { assertAiUsageExecutionId, normalizeAiModelCallRecord } from "./ai-usage/record"
|
|
11
11
|
export { normalizeAiModelCallUsage } from "./ai-usage/usage"
|
|
12
|
+
export { parseFileDownloadGrantRow } from "./file-download-grants/record"
|
|
12
13
|
export { createFileUploadId, createUploadExpiresAt } from "./file-upload-sessions/utils"
|
|
13
14
|
export { canRequeuePipelineRunAfterEnqueueFailure } from "./pipeline-runs/idempotency"
|
|
14
15
|
export { projectionRunObjectTypesVisible, zeroProjectionRunProgress } from "./projection-runs/types"
|
|
@@ -1,24 +1,48 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isQueryPreparationCapableStorage,
|
|
3
|
+
type ObjectQueryPreparationResult,
|
|
4
|
+
prepareObjectQueries,
|
|
5
|
+
} from "../objects/query-preparation"
|
|
1
6
|
import type { Storage } from "../types"
|
|
2
|
-
import type {
|
|
7
|
+
import type {
|
|
8
|
+
MigrationCapableStorage,
|
|
9
|
+
MigrationReport,
|
|
10
|
+
StorageMigrationOptions,
|
|
11
|
+
StorageMigrationResult,
|
|
12
|
+
} from "./types"
|
|
3
13
|
|
|
4
14
|
export function isMigrationCapableStorage(storage: Storage): storage is MigrationCapableStorage {
|
|
5
15
|
return Array.isArray((storage as { migrators?: unknown }).migrators)
|
|
6
16
|
}
|
|
7
17
|
|
|
8
|
-
/**
|
|
9
|
-
export async function migrateStorage(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
/** Run schema migrations, then prepare query indexes when the provider supports it. */
|
|
19
|
+
export async function migrateStorage(
|
|
20
|
+
storage: Storage,
|
|
21
|
+
options?: StorageMigrationOptions
|
|
22
|
+
): Promise<StorageMigrationResult> {
|
|
14
23
|
const reports: MigrationReport[] = []
|
|
24
|
+
if (isMigrationCapableStorage(storage)) {
|
|
25
|
+
for (const migrator of storage.migrators) {
|
|
26
|
+
reports.push(await migrator.migrate())
|
|
27
|
+
}
|
|
28
|
+
}
|
|
15
29
|
|
|
16
|
-
|
|
17
|
-
|
|
30
|
+
let queries: ObjectQueryPreparationResult | undefined
|
|
31
|
+
if (options && isQueryPreparationCapableStorage(storage)) {
|
|
32
|
+
queries = await prepareObjectQueries({ ...options, storage })
|
|
33
|
+
for (const warning of queries.warnings) {
|
|
34
|
+
console.warn(`[Sixb] ${warning}`)
|
|
35
|
+
}
|
|
18
36
|
}
|
|
19
37
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
38
|
+
let status: StorageMigrationResult["status"] = "skipped"
|
|
39
|
+
if (reports.length > 0 || queries) {
|
|
40
|
+
status = "current"
|
|
23
41
|
}
|
|
42
|
+
if (reports.some((report) => report.status === "migrated") || queries?.status === "prepared") {
|
|
43
|
+
status = "migrated"
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (queries) return { status, reports, queries }
|
|
47
|
+
return { status, reports }
|
|
24
48
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { OntologyDefinitionCatalog } from "../../ontology/registry"
|
|
2
|
+
import type { ObjectQueryPreparationResult } from "../objects/query-preparation"
|
|
1
3
|
import type { Storage } from "../types"
|
|
2
4
|
|
|
3
5
|
export interface MigrationStepInfo {
|
|
@@ -123,7 +125,13 @@ export interface MigrationCapableStorage extends Storage {
|
|
|
123
125
|
readonly migrators: readonly StorageMigrator[]
|
|
124
126
|
}
|
|
125
127
|
|
|
128
|
+
export interface StorageMigrationOptions {
|
|
129
|
+
readonly projectId: string
|
|
130
|
+
readonly ontology: OntologyDefinitionCatalog
|
|
131
|
+
}
|
|
132
|
+
|
|
126
133
|
export interface StorageMigrationResult {
|
|
134
|
+
readonly queries?: ObjectQueryPreparationResult
|
|
127
135
|
readonly status: "migrated" | "current" | "skipped"
|
|
128
136
|
readonly reports: readonly MigrationReport[]
|
|
129
137
|
}
|
|
@@ -117,6 +117,8 @@ export function evaluateObjectQuery(
|
|
|
117
117
|
source: InMemoryReadSource
|
|
118
118
|
): QueryEvaluation {
|
|
119
119
|
switch (query.kind) {
|
|
120
|
+
case "rerank":
|
|
121
|
+
throw new Error("[Sixb] Reranking must execute in the model runtime, not storage.")
|
|
120
122
|
case "start":
|
|
121
123
|
return evaluateStart(query.objectTypeId, source)
|
|
122
124
|
case "refs":
|
|
@@ -105,6 +105,7 @@ export function createInMemorySelectedReader(
|
|
|
105
105
|
const result = evaluateObjectQuery(stripOuterRowShape(input.query), universe)
|
|
106
106
|
return visible(
|
|
107
107
|
structuredClone({
|
|
108
|
+
total: result.entries.length,
|
|
108
109
|
facets: buildFacetResults(
|
|
109
110
|
result.entries.map((entry) => entry.row),
|
|
110
111
|
input.facets
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { QueryScalarKind } from "../../objects/query/ir"
|
|
2
|
+
import {
|
|
3
|
+
queryScalarKindForSchema,
|
|
4
|
+
resolvePropertyQueryCapabilities,
|
|
5
|
+
resolveQuerySchema,
|
|
6
|
+
} from "../../ontology/query-capabilities"
|
|
7
|
+
import type { OntologyDefinitionCatalog } from "../../ontology/registry"
|
|
8
|
+
import type { ObjectQueryIndexDefinition } from "../../ontology/types"
|
|
9
|
+
import type { Storage } from "../types"
|
|
10
|
+
|
|
11
|
+
export interface ObjectQueryPreparationPlan {
|
|
12
|
+
readonly projectId: string
|
|
13
|
+
readonly objectTypes: readonly {
|
|
14
|
+
readonly objectTypeId: string
|
|
15
|
+
readonly properties: readonly {
|
|
16
|
+
readonly propertyId: string
|
|
17
|
+
readonly scalarKind?: QueryScalarKind
|
|
18
|
+
readonly filterable: boolean
|
|
19
|
+
readonly sortable: boolean
|
|
20
|
+
readonly text: boolean
|
|
21
|
+
}[]
|
|
22
|
+
readonly indexes: readonly ObjectQueryIndexDefinition[]
|
|
23
|
+
}[]
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface ObjectQueryPreparationResult {
|
|
27
|
+
readonly status: "prepared" | "current"
|
|
28
|
+
readonly objectTypes: number
|
|
29
|
+
readonly indexes: number
|
|
30
|
+
readonly warnings: readonly string[]
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Optional maintenance capability, separate from object reads and writes. */
|
|
34
|
+
export interface QueryPreparationCapableStorage extends Storage {
|
|
35
|
+
/** Coordinate concurrent callers and skip completed plans. Backfills may block writes. */
|
|
36
|
+
prepareObjectQueries(plan: ObjectQueryPreparationPlan): Promise<ObjectQueryPreparationResult>
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function isQueryPreparationCapableStorage(
|
|
40
|
+
storage: Storage
|
|
41
|
+
): storage is QueryPreparationCapableStorage {
|
|
42
|
+
return "prepareObjectQueries" in storage && typeof storage.prepareObjectQueries === "function"
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Prepare declared query access paths after schema migration. Providers own physical layout;
|
|
46
|
+
* applications describe their ontology, not PostgreSQL expressions or generated columns.
|
|
47
|
+
* This is maintenance: backfills may block writes and must not run in a request handler. */
|
|
48
|
+
export async function prepareObjectQueries(input: {
|
|
49
|
+
projectId: string
|
|
50
|
+
ontology: OntologyDefinitionCatalog
|
|
51
|
+
storage: Storage
|
|
52
|
+
}): Promise<ObjectQueryPreparationResult> {
|
|
53
|
+
if (!isQueryPreparationCapableStorage(input.storage)) {
|
|
54
|
+
throw new Error("[Sixb] This storage provider does not support object query preparation")
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const values = input.ontology.getValueTypesById()
|
|
58
|
+
const objectTypes = input.ontology.listObjectTypes().map((type) => ({
|
|
59
|
+
objectTypeId: type.id,
|
|
60
|
+
properties: type.properties
|
|
61
|
+
.filter((property) => property.mode !== "telemetry" && !property.primary)
|
|
62
|
+
.map((property) => {
|
|
63
|
+
const capabilities = resolvePropertyQueryCapabilities(property, values)
|
|
64
|
+
const schema = resolveQuerySchema(property.schema, values)
|
|
65
|
+
return {
|
|
66
|
+
propertyId: property.id,
|
|
67
|
+
scalarKind: schema ? queryScalarKindForSchema(schema) : undefined,
|
|
68
|
+
filterable: capabilities.operators.includes("eq"),
|
|
69
|
+
sortable: capabilities.sortable,
|
|
70
|
+
text: capabilities.text,
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
.filter((property) => property.filterable || property.sortable || property.text),
|
|
74
|
+
indexes: type.query?.indexes ?? [],
|
|
75
|
+
}))
|
|
76
|
+
return input.storage.prepareObjectQueries({ projectId: input.projectId, objectTypes })
|
|
77
|
+
}
|
|
@@ -6,6 +6,7 @@ import type {
|
|
|
6
6
|
ObjectQuerySortField,
|
|
7
7
|
QueryScalarKind,
|
|
8
8
|
} from "../../objects/query"
|
|
9
|
+
import type { Redactions } from "../../security/types"
|
|
9
10
|
import type { ObjectReadExecutionLimits } from "./execution-limits"
|
|
10
11
|
import type { LinkBatchKey, ObjectBatchKey } from "./keys"
|
|
11
12
|
|
|
@@ -33,6 +34,12 @@ export interface ObjectRow {
|
|
|
33
34
|
* `.links` typing are layered on top of this runtime shape.
|
|
34
35
|
*/
|
|
35
36
|
links?: ObjectRowLinks
|
|
37
|
+
/**
|
|
38
|
+
* Properties omitted because the reader lacks a clearance, keyed by property id.
|
|
39
|
+
*
|
|
40
|
+
* Populated by the authorized object reader; storage providers never read or write it.
|
|
41
|
+
*/
|
|
42
|
+
redactions?: Redactions
|
|
36
43
|
}
|
|
37
44
|
|
|
38
45
|
/** Per-link expansion result keyed by link id (see {@link ObjectQueryExpand}). */
|
|
@@ -261,6 +268,8 @@ export interface FacetObjectsInput {
|
|
|
261
268
|
}
|
|
262
269
|
|
|
263
270
|
export interface FacetObjectsResult {
|
|
271
|
+
/** Exact matching rows, including absent facet values and buckets beyond the limit. */
|
|
272
|
+
total: number
|
|
264
273
|
facets: readonly ObjectFacetResult[]
|
|
265
274
|
}
|
|
266
275
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { AuthorizablePrincipal } from "../../execution/types"
|
|
2
|
-
import type { EventExecutor } from "../../materialization/events"
|
|
3
1
|
import type {
|
|
4
2
|
EditCommitResult,
|
|
5
3
|
OntologyMaterializationOrigin,
|
|
@@ -56,12 +54,9 @@ interface OntologyCommitFields {
|
|
|
56
54
|
readonly id: string
|
|
57
55
|
readonly idempotencyKey: string
|
|
58
56
|
readonly requestHash: string
|
|
57
|
+
/** The execution the commit ran under: who asked for it and what wrote it live there. */
|
|
59
58
|
readonly executionId: string
|
|
60
59
|
readonly origin: OntologyMaterializationOrigin
|
|
61
|
-
/** Principal on whose behalf the execution ran, copied from `ExecutionRecord.requestedBy`. */
|
|
62
|
-
readonly requestedBy?: AuthorizablePrincipal
|
|
63
|
-
/** Workload that wrote the commit, copied from its execution. */
|
|
64
|
-
readonly executor: EventExecutor
|
|
65
60
|
readonly ontologyRevision: string
|
|
66
61
|
readonly projectionRevision?: string
|
|
67
62
|
readonly ownershipHash?: string
|