@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
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
import {
|
|
3
|
+
supportsDirectUpload2
|
|
4
|
+
} from "./chunk-jhm3zsa7.js";
|
|
5
|
+
import {
|
|
6
|
+
SecurityValidationError2
|
|
7
|
+
} from "./chunk-xt1zt7gv.js";
|
|
2
8
|
import {
|
|
3
9
|
OntologyRegistry2
|
|
4
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-bs7sqkre.js";
|
|
5
11
|
import {
|
|
6
12
|
ProjectionRegistry2,
|
|
7
13
|
createOntologyMaterializer2
|
|
8
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-p0dqwj3n.js";
|
|
9
15
|
import {
|
|
10
16
|
captureSixbFailure2,
|
|
11
17
|
isSixbError2
|
|
@@ -13,40 +19,45 @@ import {
|
|
|
13
19
|
import {
|
|
14
20
|
SecurityRegistry,
|
|
15
21
|
AuthRuntime2
|
|
16
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-6h5m9xjx.js";
|
|
17
23
|
import {
|
|
18
24
|
captureExecutionScope,
|
|
19
25
|
resolveExecutionScopeAuthorization,
|
|
20
26
|
AuthorizationError2
|
|
21
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-qkbx3tf6.js";
|
|
22
28
|
import {
|
|
23
29
|
AuthRuntimeError2,
|
|
24
30
|
isMagicLinkAuthStrategy2,
|
|
25
31
|
isOidcAuthStrategy2
|
|
26
32
|
} from "./chunk-2jntasmh.js";
|
|
27
33
|
import {
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
indexModelBindings,
|
|
35
|
+
assertRerankingModel,
|
|
36
|
+
validateRerankingResults,
|
|
37
|
+
RerankingModelResponseError2,
|
|
38
|
+
createModelCatalog2,
|
|
39
|
+
estimateModelCall
|
|
40
|
+
} from "./chunk-29yx306f.js";
|
|
30
41
|
import {
|
|
31
42
|
FileUploadSessionError2
|
|
32
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-zxawp1n2.js";
|
|
33
44
|
import {
|
|
34
45
|
isMigrationCapableStorage2,
|
|
35
46
|
checkStorageSchema2
|
|
36
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-qq90g05n.js";
|
|
37
48
|
import {
|
|
38
49
|
createAuthorizedObjectReader
|
|
39
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-fx93hd2n.js";
|
|
40
51
|
import {
|
|
41
52
|
attachSixbErrorReporter2,
|
|
42
53
|
shareSixbErrorReporter2
|
|
43
54
|
} from "./chunk-vjcd8d27.js";
|
|
44
55
|
import {
|
|
45
56
|
ActionRegistry2
|
|
46
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-tffvfy6s.js";
|
|
47
58
|
import {
|
|
48
59
|
assertDatasetDefinition2
|
|
49
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-rz53yb4v.js";
|
|
50
61
|
import {
|
|
51
62
|
OntologyOutboxDispatcher2,
|
|
52
63
|
createDomainEventService2
|
|
@@ -56,7 +67,7 @@ import {
|
|
|
56
67
|
} from "./chunk-e1c18xjx.js";
|
|
57
68
|
import {
|
|
58
69
|
createSandboxDefinition
|
|
59
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-48e3cn2d.js";
|
|
60
71
|
import {
|
|
61
72
|
ConnectorError2,
|
|
62
73
|
ConnectorNotFoundError2,
|
|
@@ -68,16 +79,20 @@ import {
|
|
|
68
79
|
isConnectorStorageError,
|
|
69
80
|
storageBoundaryError,
|
|
70
81
|
recoverConnectorFailure
|
|
71
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-f1zxad2t.js";
|
|
72
83
|
import {
|
|
73
84
|
toolsFromProjectConfig
|
|
74
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-p844e0rn.js";
|
|
75
86
|
import {
|
|
76
87
|
assertNoAgentDefinitions,
|
|
77
88
|
validateWorkflowsAtStartup2,
|
|
78
89
|
validateWorkflowAgentStepGroupReferences2,
|
|
79
|
-
createBoundSixb
|
|
80
|
-
|
|
90
|
+
createBoundSixb,
|
|
91
|
+
DEFAULT_PROJECT_LOCALE,
|
|
92
|
+
DEFAULT_PROJECT_TIME_ZONE,
|
|
93
|
+
canonicalLocale,
|
|
94
|
+
canonicalTimeZone
|
|
95
|
+
} from "./chunk-fe52eczz.js";
|
|
81
96
|
import {
|
|
82
97
|
registerConnectorConnectionCallbackProcess
|
|
83
98
|
} from "./chunk-5a4a52tq.js";
|
|
@@ -87,36 +102,40 @@ import {
|
|
|
87
102
|
} from "./chunk-85cd7e8c.js";
|
|
88
103
|
import {
|
|
89
104
|
SchedulerRuntime2
|
|
90
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-yw9pyg66.js";
|
|
91
106
|
import {
|
|
107
|
+
discoverOntologyFiles,
|
|
108
|
+
discoverAgentSkills,
|
|
109
|
+
discoverProjectInstructions,
|
|
92
110
|
validateRulesAtStartup,
|
|
93
111
|
validateSharesAtStartup,
|
|
94
|
-
|
|
112
|
+
discoverOntologySources,
|
|
95
113
|
discoverProjectDefinitions2
|
|
96
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-s4jhg8a3.js";
|
|
97
115
|
import {
|
|
98
116
|
LoggingService2
|
|
99
117
|
} from "./chunk-3qms4nax.js";
|
|
100
118
|
import {
|
|
101
119
|
bindEmbeddingModels,
|
|
102
120
|
createVectorIndexingRuntime,
|
|
103
|
-
registerVectorIndexingRuntime
|
|
104
|
-
|
|
121
|
+
registerVectorIndexingRuntime,
|
|
122
|
+
getApiPublicOrigin
|
|
123
|
+
} from "./chunk-de4z2bj6.js";
|
|
105
124
|
import {
|
|
106
125
|
registerProjectionRegistry2
|
|
107
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-7hpdd6r9.js";
|
|
108
127
|
import {
|
|
109
128
|
SyncValidationError2
|
|
110
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-yv9czyfr.js";
|
|
111
130
|
import {
|
|
112
131
|
ModelExecutionSession
|
|
113
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-k6hrnf35.js";
|
|
114
133
|
import {
|
|
115
134
|
isOAuthConnectorDefinition2
|
|
116
135
|
} from "./chunk-9x8dybsb.js";
|
|
117
136
|
import {
|
|
118
137
|
ensureExecutionRecord2
|
|
119
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-ex496vct.js";
|
|
120
139
|
import {
|
|
121
140
|
ConnectorConnectionStorageError2,
|
|
122
141
|
CONNECTOR_CONNECTION_RUN_FAILURE_CODES2
|
|
@@ -130,9 +149,6 @@ import {
|
|
|
130
149
|
import {
|
|
131
150
|
sameEmbeddingModel
|
|
132
151
|
} from "./chunk-kyjcwqz6.js";
|
|
133
|
-
import {
|
|
134
|
-
supportsDirectUpload2
|
|
135
|
-
} from "./chunk-h3v76ams.js";
|
|
136
152
|
import {
|
|
137
153
|
isJsonObject2
|
|
138
154
|
} from "./chunk-wy0qdqfm.js";
|
|
@@ -2701,11 +2717,13 @@ var DEGRADED_FAILURE_THRESHOLD = 2;
|
|
|
2701
2717
|
var ABANDONED_UPLOAD_SWEEP_DELAY_MS = 5 * 60000;
|
|
2702
2718
|
var ABANDONED_UPLOAD_ABORT_GRACE_MS = 15 * 60000;
|
|
2703
2719
|
var ABANDONED_SOURCE_PURGE_BATCH = 50000;
|
|
2720
|
+
var EXPIRED_FILE_DOWNLOAD_RETENTION_MS = 7 * 24 * 60 * 60000;
|
|
2704
2721
|
|
|
2705
2722
|
class OntologyMaintenance {
|
|
2706
2723
|
projectId;
|
|
2707
2724
|
storage;
|
|
2708
2725
|
dispatcher;
|
|
2726
|
+
vectorIndexing;
|
|
2709
2727
|
blobStorage;
|
|
2710
2728
|
intervalMs;
|
|
2711
2729
|
publishedOutboxRetentionMs;
|
|
@@ -2725,6 +2743,7 @@ class OntologyMaintenance {
|
|
|
2725
2743
|
this.projectId = dependencies.projectId;
|
|
2726
2744
|
this.storage = dependencies.storage;
|
|
2727
2745
|
this.dispatcher = dependencies.dispatcher;
|
|
2746
|
+
this.vectorIndexing = dependencies.vectorIndexing;
|
|
2728
2747
|
this.blobStorage = dependencies.blobStorage;
|
|
2729
2748
|
this.intervalMs = positiveInteger(options.intervalMs ?? DEFAULT_INTERVAL_MS, "intervalMs");
|
|
2730
2749
|
this.publishedOutboxRetentionMs = nonnegativeInteger(options.publishedOutboxRetentionMs ?? DEFAULT_RETENTION_MS, "publishedOutboxRetentionMs");
|
|
@@ -2788,9 +2807,12 @@ class OntologyMaintenance {
|
|
|
2788
2807
|
this.snapshot = { ...this.snapshot, running: true, lastStartedAt: started.toISOString() };
|
|
2789
2808
|
const failures = [];
|
|
2790
2809
|
await captureFailure(() => this.dispatcher.drain(), failures);
|
|
2810
|
+
const vectorIndexing = this.vectorIndexing;
|
|
2811
|
+
if (vectorIndexing)
|
|
2812
|
+
await captureFailure(() => vectorIndexing.drain(), failures);
|
|
2791
2813
|
const cleanup = await this.cleanupExpiredRows(started, failures);
|
|
2792
|
-
const
|
|
2793
|
-
this.completePass({ started, failures, cleanup, outbox
|
|
2814
|
+
const outbox = await captureFailure(() => this.storage.ontology.outbox.summarize({ projectId: this.projectId }), failures, this.snapshot.outbox);
|
|
2815
|
+
this.completePass({ started, failures, cleanup, outbox });
|
|
2794
2816
|
}
|
|
2795
2817
|
async cleanupExpiredRows(started, failures) {
|
|
2796
2818
|
const publishedOutboxRowsDeleted = await captureFailure(() => this.storage.ontology.outbox.purgePublished({
|
|
@@ -2798,6 +2820,7 @@ class OntologyMaintenance {
|
|
|
2798
2820
|
publishedBefore: new Date(started.getTime() - this.publishedOutboxRetentionMs).toISOString(),
|
|
2799
2821
|
limit: this.cleanupLimit
|
|
2800
2822
|
}), failures, 0);
|
|
2823
|
+
const spentPlanRows = await captureFailure(() => this.purgeSpentPlans(started), failures, 0);
|
|
2801
2824
|
const terminalSources = await captureFailure(() => this.storage.ontology.sources.cleanupTerminal({
|
|
2802
2825
|
projectId: this.projectId,
|
|
2803
2826
|
terminalBefore: new Date(started.getTime() - this.terminalSourceRetentionMs).toISOString(),
|
|
@@ -2809,9 +2832,17 @@ class OntologyMaintenance {
|
|
|
2809
2832
|
await captureFailure(() => this.retireAbandonedUploads(uploads, started, failures), failures);
|
|
2810
2833
|
await captureFailure(() => uploads.cleanupExpired(started), failures, 0);
|
|
2811
2834
|
}
|
|
2835
|
+
const downloads = this.storage.fileDownloadGrants;
|
|
2836
|
+
if (downloads) {
|
|
2837
|
+
await captureFailure(() => downloads.deleteExpired({
|
|
2838
|
+
projectId: this.projectId,
|
|
2839
|
+
expiredBefore: new Date(started.getTime() - EXPIRED_FILE_DOWNLOAD_RETENTION_MS),
|
|
2840
|
+
limit: this.cleanupLimit
|
|
2841
|
+
}), failures, 0);
|
|
2842
|
+
}
|
|
2812
2843
|
return {
|
|
2813
2844
|
publishedOutboxRowsDeleted,
|
|
2814
|
-
terminalSourceRowsDeleted: terminalSources.rowsDeleted + abandonedSources.rowsDeleted,
|
|
2845
|
+
terminalSourceRowsDeleted: terminalSources.rowsDeleted + abandonedSources.rowsDeleted + spentPlanRows,
|
|
2815
2846
|
terminalSourceMaterializationsDeleted: terminalSources.materializationsDeleted + abandonedSources.materializationsDeleted
|
|
2816
2847
|
};
|
|
2817
2848
|
}
|
|
@@ -2831,6 +2862,19 @@ class OntologyMaintenance {
|
|
|
2831
2862
|
}
|
|
2832
2863
|
}
|
|
2833
2864
|
}
|
|
2865
|
+
async purgeSpentPlans(started) {
|
|
2866
|
+
let rowsDeleted = 0;
|
|
2867
|
+
while (true) {
|
|
2868
|
+
const purged = await this.storage.ontology.replacementPlans.purge({
|
|
2869
|
+
projectId: this.projectId,
|
|
2870
|
+
limit: ABANDONED_SOURCE_PURGE_BATCH
|
|
2871
|
+
});
|
|
2872
|
+
rowsDeleted += purged;
|
|
2873
|
+
if (purged < ABANDONED_SOURCE_PURGE_BATCH || this.now().getTime() - started.getTime() >= this.intervalMs) {
|
|
2874
|
+
return rowsDeleted;
|
|
2875
|
+
}
|
|
2876
|
+
}
|
|
2877
|
+
}
|
|
2834
2878
|
async retireAbandonedUploads(uploads, now, failures) {
|
|
2835
2879
|
const abandoned = await uploads.listAbandoned({
|
|
2836
2880
|
projectId: this.projectId,
|
|
@@ -2868,11 +2912,6 @@ class OntologyMaintenance {
|
|
|
2868
2912
|
if (abortFailure !== undefined)
|
|
2869
2913
|
throw abortFailure;
|
|
2870
2914
|
}
|
|
2871
|
-
async readOperationalSummaries(failures) {
|
|
2872
|
-
const outbox = await captureFailure(() => this.storage.ontology.outbox.summarize({ projectId: this.projectId }), failures, this.snapshot.outbox);
|
|
2873
|
-
const terminalSummary = await captureFailure(() => this.storage.ontology.sources.summarizeTerminal({ projectId: this.projectId }), failures, this.snapshot.terminalSources);
|
|
2874
|
-
return { outbox, terminalSources: terminalSummary };
|
|
2875
|
-
}
|
|
2876
2915
|
completePass(input) {
|
|
2877
2916
|
const completed = this.now();
|
|
2878
2917
|
const failure = input.failures.length > 0 ? new AggregateError(input.failures, "Maintenance pass failed.") : null;
|
|
@@ -2885,7 +2924,6 @@ class OntologyMaintenance {
|
|
|
2885
2924
|
consecutiveFailures: failure ? this.snapshot.consecutiveFailures + 1 : 0,
|
|
2886
2925
|
lastError: failure ? errorMessage(failure) : null,
|
|
2887
2926
|
outbox: input.outbox,
|
|
2888
|
-
terminalSources: input.terminalSources,
|
|
2889
2927
|
cleanup: input.cleanup
|
|
2890
2928
|
};
|
|
2891
2929
|
if (failure)
|
|
@@ -2937,7 +2975,6 @@ function emptySnapshot(intervalMs) {
|
|
|
2937
2975
|
consecutiveFailures: 0,
|
|
2938
2976
|
lastError: null,
|
|
2939
2977
|
outbox: null,
|
|
2940
|
-
terminalSources: null,
|
|
2941
2978
|
cleanup: null
|
|
2942
2979
|
};
|
|
2943
2980
|
}
|
|
@@ -2993,6 +3030,179 @@ async function captureFailure(run, failures, fallback) {
|
|
|
2993
3030
|
return fallback;
|
|
2994
3031
|
}
|
|
2995
3032
|
}
|
|
3033
|
+
// src/models/execution/reranking.ts
|
|
3034
|
+
import { randomUUID as randomUUID6 } from "crypto";
|
|
3035
|
+
function bindRerankingModels(catalog, session) {
|
|
3036
|
+
if (!catalog)
|
|
3037
|
+
return;
|
|
3038
|
+
return indexModelBindings(catalog.list().map(({ model }) => Object.freeze({
|
|
3039
|
+
providerId: model.providerId,
|
|
3040
|
+
modelId: model.modelId,
|
|
3041
|
+
definition: model.definition,
|
|
3042
|
+
rerank: (input) => executeReranking(session, model, input)
|
|
3043
|
+
})), "reranking", assertRerankingModel);
|
|
3044
|
+
}
|
|
3045
|
+
async function executeReranking(session, binding, input) {
|
|
3046
|
+
const query = input.query;
|
|
3047
|
+
if (typeof query !== "string" || !query.trim() || !Array.isArray(input.documents) || input.documents.some((text) => typeof text !== "string" || !text.trim())) {
|
|
3048
|
+
throw new TypeError("[SixbModels] Reranking requires a query and nonempty document strings.");
|
|
3049
|
+
}
|
|
3050
|
+
const documents = [...input.documents];
|
|
3051
|
+
const signal = AbortSignal.any([session.signal(input.signal), AbortSignal.timeout(30000)]);
|
|
3052
|
+
signal.throwIfAborted();
|
|
3053
|
+
if (documents.length === 0)
|
|
3054
|
+
return { results: [] };
|
|
3055
|
+
const accounting = await session.accounting();
|
|
3056
|
+
accounting.assertHealthy();
|
|
3057
|
+
const model = await binding.resolve?.() ?? binding;
|
|
3058
|
+
assertRerankingModel(model);
|
|
3059
|
+
if (model.providerId !== binding.providerId || model.modelId !== binding.modelId) {
|
|
3060
|
+
throw new TypeError("[SixbModels] Resolved reranking model identity does not match its binding.");
|
|
3061
|
+
}
|
|
3062
|
+
signal.throwIfAborted();
|
|
3063
|
+
const encoder = new TextEncoder;
|
|
3064
|
+
const queryBytes = encoder.encode(query).byteLength;
|
|
3065
|
+
const tokens = documents.reduce((sum, text) => sum + Math.ceil((queryBytes + encoder.encode(text).byteLength) / 4), 0);
|
|
3066
|
+
const callId = `call_${randomUUID6()}`;
|
|
3067
|
+
await accounting.admitCall({
|
|
3068
|
+
callId,
|
|
3069
|
+
providerId: model.providerId,
|
|
3070
|
+
modelId: model.modelId,
|
|
3071
|
+
modelKind: "reranking",
|
|
3072
|
+
costEstimator: model.costEstimator,
|
|
3073
|
+
inputTokens: { status: "estimated", tokens, method: "utf8BytesDividedByFour" },
|
|
3074
|
+
outputTokenAllowance: 0,
|
|
3075
|
+
estimatedTotalTokens: tokens
|
|
3076
|
+
});
|
|
3077
|
+
let result;
|
|
3078
|
+
try {
|
|
3079
|
+
signal.throwIfAborted();
|
|
3080
|
+
result = await model.rerank({ query, documents, signal });
|
|
3081
|
+
} catch (error) {
|
|
3082
|
+
const metadata = error instanceof RerankingModelResponseError2 ? error.metadata : {};
|
|
3083
|
+
await recordReranking(accounting, model, callId, metadata);
|
|
3084
|
+
throw error;
|
|
3085
|
+
}
|
|
3086
|
+
await recordReranking(accounting, model, callId, result ?? {});
|
|
3087
|
+
signal.throwIfAborted();
|
|
3088
|
+
try {
|
|
3089
|
+
return { ...result, results: validateRerankingResults(result?.results, documents.length) };
|
|
3090
|
+
} catch (cause) {
|
|
3091
|
+
throw new RerankingModelResponseError2("[SixbModels] Invalid reranking response.", model.providerId, model.modelId, result ?? {}, { cause });
|
|
3092
|
+
}
|
|
3093
|
+
}
|
|
3094
|
+
async function recordReranking(accounting, model, callId, metadata) {
|
|
3095
|
+
const usage = { ...metadata.usage, outputTokens: metadata.usage?.outputTokens ?? 0 };
|
|
3096
|
+
const estimate = estimateModelCall(model, {
|
|
3097
|
+
usage,
|
|
3098
|
+
route: metadata.route,
|
|
3099
|
+
responseModelId: metadata.responseModelId
|
|
3100
|
+
});
|
|
3101
|
+
await accounting.onModelCallEnd({
|
|
3102
|
+
callId,
|
|
3103
|
+
modelKind: "reranking",
|
|
3104
|
+
providerId: model.providerId,
|
|
3105
|
+
modelId: model.modelId,
|
|
3106
|
+
responseId: metadata.providerIds?.responseId ?? callId,
|
|
3107
|
+
responseModelId: metadata.responseModelId,
|
|
3108
|
+
providerIds: metadata.providerIds,
|
|
3109
|
+
usage,
|
|
3110
|
+
cost: metadata.reportedCost ? { status: "reported", ...metadata.reportedCost } : estimate,
|
|
3111
|
+
...metadata.reportedCost ? { estimate } : {},
|
|
3112
|
+
route: metadata.route
|
|
3113
|
+
});
|
|
3114
|
+
}
|
|
3115
|
+
|
|
3116
|
+
// src/objects/vectors/indexing-dispatch.ts
|
|
3117
|
+
var PAGE_SIZE = 100;
|
|
3118
|
+
var REDISPATCH_DELAY_MS = 30000;
|
|
3119
|
+
|
|
3120
|
+
class VectorIndexingDispatcher {
|
|
3121
|
+
projectId;
|
|
3122
|
+
indexing;
|
|
3123
|
+
queue;
|
|
3124
|
+
running = null;
|
|
3125
|
+
next = null;
|
|
3126
|
+
stopped = false;
|
|
3127
|
+
constructor(projectId, indexing, queue) {
|
|
3128
|
+
this.projectId = projectId;
|
|
3129
|
+
this.indexing = indexing;
|
|
3130
|
+
this.queue = queue;
|
|
3131
|
+
}
|
|
3132
|
+
notify() {
|
|
3133
|
+
this.drain().catch((error) => console.error("[Sixb] Could not dispatch vector indexing; maintenance will retry:", error));
|
|
3134
|
+
}
|
|
3135
|
+
drain() {
|
|
3136
|
+
this.next ??= settled(this.running).then(() => {
|
|
3137
|
+
this.next = null;
|
|
3138
|
+
if (this.stopped)
|
|
3139
|
+
return;
|
|
3140
|
+
this.running = this.pass().finally(() => {
|
|
3141
|
+
this.running = null;
|
|
3142
|
+
});
|
|
3143
|
+
return this.running;
|
|
3144
|
+
});
|
|
3145
|
+
return this.next;
|
|
3146
|
+
}
|
|
3147
|
+
async stop() {
|
|
3148
|
+
this.stopped = true;
|
|
3149
|
+
await settled(this.next);
|
|
3150
|
+
await settled(this.running);
|
|
3151
|
+
}
|
|
3152
|
+
async pass() {
|
|
3153
|
+
for (;; ) {
|
|
3154
|
+
const now = new Date;
|
|
3155
|
+
const work = await this.indexing.listDue({
|
|
3156
|
+
projectId: this.projectId,
|
|
3157
|
+
now: now.toISOString(),
|
|
3158
|
+
limit: PAGE_SIZE
|
|
3159
|
+
});
|
|
3160
|
+
if (work.length) {
|
|
3161
|
+
const jobs = [...new Map(work.map((item) => [item.batchId ?? item.id, item])).entries()];
|
|
3162
|
+
await this.queue.enqueue({
|
|
3163
|
+
projectId: this.projectId,
|
|
3164
|
+
jobs: jobs.map(([id, item]) => ({
|
|
3165
|
+
id,
|
|
3166
|
+
type: "vector.index.requested",
|
|
3167
|
+
payload: { indexingId: id },
|
|
3168
|
+
availableAt: item.availableAt
|
|
3169
|
+
}))
|
|
3170
|
+
});
|
|
3171
|
+
await this.indexing.dispatched({
|
|
3172
|
+
projectId: this.projectId,
|
|
3173
|
+
ids: work.map((item) => item.id),
|
|
3174
|
+
nextDispatchAt: new Date(now.getTime() + REDISPATCH_DELAY_MS).toISOString()
|
|
3175
|
+
});
|
|
3176
|
+
}
|
|
3177
|
+
if (work.length < PAGE_SIZE || this.stopped)
|
|
3178
|
+
return;
|
|
3179
|
+
}
|
|
3180
|
+
}
|
|
3181
|
+
}
|
|
3182
|
+
function settled(promise) {
|
|
3183
|
+
return (promise ?? Promise.resolve()).then(() => {
|
|
3184
|
+
return;
|
|
3185
|
+
}, () => {
|
|
3186
|
+
return;
|
|
3187
|
+
});
|
|
3188
|
+
}
|
|
3189
|
+
|
|
3190
|
+
// src/agents/skills.ts
|
|
3191
|
+
function createAgentSkillCatalog(definitions) {
|
|
3192
|
+
const skills = Object.freeze([...definitions ?? []]);
|
|
3193
|
+
const skillsByName = new Map;
|
|
3194
|
+
for (const skill of skills) {
|
|
3195
|
+
if (skillsByName.has(skill.name)) {
|
|
3196
|
+
throw new RuntimeError2(`[Sixb] Duplicate Agent Skill name: ${skill.name}`);
|
|
3197
|
+
}
|
|
3198
|
+
skillsByName.set(skill.name, skill);
|
|
3199
|
+
}
|
|
3200
|
+
return Object.freeze({
|
|
3201
|
+
list: () => skills,
|
|
3202
|
+
getByName: (name) => skillsByName.get(name) ?? null
|
|
3203
|
+
});
|
|
3204
|
+
}
|
|
3205
|
+
|
|
2996
3206
|
// src/agents/tool-catalog.ts
|
|
2997
3207
|
function createAgentToolCatalog(definitions) {
|
|
2998
3208
|
const tools = toolsFromProjectConfig(definitions);
|
|
@@ -3003,6 +3213,290 @@ function createAgentToolCatalog(definitions) {
|
|
|
3003
3213
|
});
|
|
3004
3214
|
}
|
|
3005
3215
|
|
|
3216
|
+
// src/ontology/docs.ts
|
|
3217
|
+
function createOntologyDocsCatalog(input) {
|
|
3218
|
+
const modules = input.docs?.modules ?? [];
|
|
3219
|
+
const scripts = Object.freeze([...input.docs?.scripts ?? []]);
|
|
3220
|
+
const claimedPaths = new Map(scripts.map((script) => [script.path.toLowerCase(), `script 'ontology/${script.path}'`]));
|
|
3221
|
+
const claim = (path, owner) => {
|
|
3222
|
+
const claimedBy = claimedPaths.get(path.toLowerCase());
|
|
3223
|
+
if (claimedBy !== undefined) {
|
|
3224
|
+
throw new RuntimeError2(`[Sixb] The ${owner} at 'ontology/${path}' collides with ${claimedBy}, which only differs ` + "by case or not at all. Rename one of them.");
|
|
3225
|
+
}
|
|
3226
|
+
claimedPaths.set(path.toLowerCase(), `the ${owner}`);
|
|
3227
|
+
};
|
|
3228
|
+
const docPathByType = new Map;
|
|
3229
|
+
const typeIdsByNotesPath = new Map;
|
|
3230
|
+
const addNotesPath = (path, objectTypeIds) => {
|
|
3231
|
+
const typeIds = typeIdsByNotesPath.get(path.toLowerCase()) ?? new Set;
|
|
3232
|
+
for (const objectTypeId of objectTypeIds)
|
|
3233
|
+
typeIds.add(objectTypeId);
|
|
3234
|
+
typeIdsByNotesPath.set(path.toLowerCase(), typeIds);
|
|
3235
|
+
};
|
|
3236
|
+
for (const objectType of input.objectTypes) {
|
|
3237
|
+
const path = docPathFor(objectType.id, modules);
|
|
3238
|
+
claim(path, `doc of object type '${objectType.id}'`);
|
|
3239
|
+
docPathByType.set(objectType.id, path);
|
|
3240
|
+
addNotesPath(path, [objectType.id]);
|
|
3241
|
+
}
|
|
3242
|
+
for (const module of modules) {
|
|
3243
|
+
if (module.objectTypeIds.length > 0) {
|
|
3244
|
+
addNotesPath(`${withoutExtension(module.path)}.md`, module.objectTypeIds);
|
|
3245
|
+
}
|
|
3246
|
+
}
|
|
3247
|
+
const notesByType = new Map;
|
|
3248
|
+
const docs = [];
|
|
3249
|
+
const docPaths = new Map;
|
|
3250
|
+
for (const doc of input.docs?.docs ?? []) {
|
|
3251
|
+
const sameName = docPaths.get(doc.path.toLowerCase());
|
|
3252
|
+
if (sameName !== undefined) {
|
|
3253
|
+
throw new RuntimeError2(`[Sixb] The ontology docs 'ontology/${sameName}' and 'ontology/${doc.path}' only differ ` + "by case. Rename one of them.");
|
|
3254
|
+
}
|
|
3255
|
+
docPaths.set(doc.path.toLowerCase(), doc.path);
|
|
3256
|
+
const objectTypeIds = typeIdsByNotesPath.get(doc.path.toLowerCase());
|
|
3257
|
+
if (objectTypeIds === undefined) {
|
|
3258
|
+
docs.push(doc);
|
|
3259
|
+
continue;
|
|
3260
|
+
}
|
|
3261
|
+
for (const objectTypeId of objectTypeIds) {
|
|
3262
|
+
notesByType.set(objectTypeId, [...notesByType.get(objectTypeId) ?? [], doc]);
|
|
3263
|
+
}
|
|
3264
|
+
}
|
|
3265
|
+
for (const notes of notesByType.values())
|
|
3266
|
+
notes.sort(byPath);
|
|
3267
|
+
Object.freeze(docs);
|
|
3268
|
+
const wildcardLinks = new Set(input.objectTypes.flatMap((objectType) => objectType.links.filter((link) => link.targetObjectTypeId === "*").map((link) => linkKey(objectType.id, link.id))));
|
|
3269
|
+
return Object.freeze({
|
|
3270
|
+
docPathFor: (objectTypeId) => {
|
|
3271
|
+
const path = docPathByType.get(objectTypeId);
|
|
3272
|
+
if (path === undefined) {
|
|
3273
|
+
throw new RuntimeError2(`[Sixb] Object type '${objectTypeId}' is not registered.`);
|
|
3274
|
+
}
|
|
3275
|
+
return path;
|
|
3276
|
+
},
|
|
3277
|
+
notesFor: (objectTypeId) => notesByType.get(objectTypeId) ?? [],
|
|
3278
|
+
listDocs: () => docs,
|
|
3279
|
+
listScripts: () => scripts,
|
|
3280
|
+
isWildcardLink: (objectTypeId, linkId) => wildcardLinks.has(linkKey(objectTypeId, linkId))
|
|
3281
|
+
});
|
|
3282
|
+
}
|
|
3283
|
+
function docPathFor(objectTypeId, modules) {
|
|
3284
|
+
const rank = (module) => {
|
|
3285
|
+
const name = basename(withoutExtension(module.path));
|
|
3286
|
+
return [
|
|
3287
|
+
kebabCase(name) === kebabCase(objectTypeId) ? 0 : 1,
|
|
3288
|
+
name === "index" ? 1 : 0,
|
|
3289
|
+
module.objectTypeIds.length
|
|
3290
|
+
];
|
|
3291
|
+
};
|
|
3292
|
+
let owner;
|
|
3293
|
+
for (const module of modules) {
|
|
3294
|
+
if (!module.objectTypeIds.includes(objectTypeId))
|
|
3295
|
+
continue;
|
|
3296
|
+
if (owner === undefined || compareRanks(rank(module), rank(owner)) < 0)
|
|
3297
|
+
owner = module;
|
|
3298
|
+
}
|
|
3299
|
+
const fileName = `${objectTypeId.replaceAll(/[^A-Za-z0-9._-]/g, "_")}.md`;
|
|
3300
|
+
if (owner === undefined)
|
|
3301
|
+
return fileName;
|
|
3302
|
+
const base = withoutExtension(owner.path);
|
|
3303
|
+
return owner.objectTypeIds.length === 1 ? `${base}.md` : `${base}/${fileName}`;
|
|
3304
|
+
}
|
|
3305
|
+
function compareRanks(left, right) {
|
|
3306
|
+
for (const [index, value] of left.entries()) {
|
|
3307
|
+
const difference = value - (right[index] ?? 0);
|
|
3308
|
+
if (difference !== 0)
|
|
3309
|
+
return difference;
|
|
3310
|
+
}
|
|
3311
|
+
return 0;
|
|
3312
|
+
}
|
|
3313
|
+
function kebabCase(name) {
|
|
3314
|
+
return name.replaceAll(/([a-z0-9])([A-Z])/g, "$1-$2").replaceAll(/([A-Z]+)([A-Z][a-z])/g, "$1-$2").replaceAll(/[\s_]+/g, "-").toLowerCase();
|
|
3315
|
+
}
|
|
3316
|
+
function withoutExtension(path) {
|
|
3317
|
+
return path.replace(/\.[^./]+$/, "");
|
|
3318
|
+
}
|
|
3319
|
+
function basename(path) {
|
|
3320
|
+
return path.slice(path.lastIndexOf("/") + 1);
|
|
3321
|
+
}
|
|
3322
|
+
function linkKey(objectTypeId, linkId) {
|
|
3323
|
+
return JSON.stringify([objectTypeId, linkId]);
|
|
3324
|
+
}
|
|
3325
|
+
function byPath(left, right) {
|
|
3326
|
+
return left.path < right.path ? -1 : left.path > right.path ? 1 : 0;
|
|
3327
|
+
}
|
|
3328
|
+
|
|
3329
|
+
// src/security/markings.ts
|
|
3330
|
+
function validateMarkingsAtStartup(input) {
|
|
3331
|
+
validatePropertyMarkings(input.ontology, input.markingIds);
|
|
3332
|
+
validateColumnMarkings(input.datasetsById, input.markingIds);
|
|
3333
|
+
rejectPipelineStepsOverMarkedColumns(input.pipelines, input.datasetsById);
|
|
3334
|
+
validateProjectionMarkings(input.projections, input.ontology, input.datasetsById);
|
|
3335
|
+
}
|
|
3336
|
+
function validatePropertyMarkings(ontology, markingIds) {
|
|
3337
|
+
for (const objectType of ontology.listObjectTypes()) {
|
|
3338
|
+
for (const property of objectType.properties) {
|
|
3339
|
+
validateProperty(objectType, property, markingIds);
|
|
3340
|
+
}
|
|
3341
|
+
for (const link of objectType.links) {
|
|
3342
|
+
for (const property of link.properties ?? []) {
|
|
3343
|
+
if (property.markings !== undefined) {
|
|
3344
|
+
throw new SecurityValidationError2(`[Sixb] Link property '${objectType.id}.${link.id}.${property.id}' cannot carry markings. Mark object properties instead.`);
|
|
3345
|
+
}
|
|
3346
|
+
}
|
|
3347
|
+
}
|
|
3348
|
+
assertSubtypeKeepsParentMarkings(objectType, ontology);
|
|
3349
|
+
}
|
|
3350
|
+
}
|
|
3351
|
+
function validateProperty(objectType, property, markingIds) {
|
|
3352
|
+
if (property.markings === undefined)
|
|
3353
|
+
return;
|
|
3354
|
+
const path = `${objectType.id}.${property.id}`;
|
|
3355
|
+
assertMarkingList(property.markings, `Property '${path}'`, markingIds);
|
|
3356
|
+
if (property.primary) {
|
|
3357
|
+
throw new SecurityValidationError2(`[Sixb] Primary property '${path}' cannot carry markings: it identifies the object.`);
|
|
3358
|
+
}
|
|
3359
|
+
if (property.mode === "telemetry") {
|
|
3360
|
+
throw new SecurityValidationError2(`[Sixb] Telemetry property '${path}' cannot carry markings yet.`);
|
|
3361
|
+
}
|
|
3362
|
+
}
|
|
3363
|
+
function assertSubtypeKeepsParentMarkings(objectType, ontology) {
|
|
3364
|
+
if (!objectType.extends)
|
|
3365
|
+
return;
|
|
3366
|
+
const parent = ontology.getObjectTypeById(objectType.extends);
|
|
3367
|
+
if (!parent)
|
|
3368
|
+
return;
|
|
3369
|
+
for (const parentProperty of parent.properties) {
|
|
3370
|
+
const property = objectType.properties.find((candidate) => candidate.id === parentProperty.id);
|
|
3371
|
+
const missing = missingMarkings(parentProperty.markings, property?.markings);
|
|
3372
|
+
if (missing.length > 0) {
|
|
3373
|
+
throw new SecurityValidationError2(`[Sixb] Property '${objectType.id}.${parentProperty.id}' must keep the markings of '${parent.id}.${parentProperty.id}': add ${missing.map((markingId) => `'${markingId}'`).join(", ")}.`);
|
|
3374
|
+
}
|
|
3375
|
+
}
|
|
3376
|
+
}
|
|
3377
|
+
function validateColumnMarkings(datasetsById, markingIds) {
|
|
3378
|
+
for (const dataset of datasetsById.values()) {
|
|
3379
|
+
for (const column of dataset.schema.columns) {
|
|
3380
|
+
if (column.markings === undefined)
|
|
3381
|
+
continue;
|
|
3382
|
+
assertMarkingList(column.markings, `Dataset column '${dataset.id}.${column.name}'`, markingIds);
|
|
3383
|
+
}
|
|
3384
|
+
}
|
|
3385
|
+
}
|
|
3386
|
+
function assertMarkingList(markings, subject, markingIds) {
|
|
3387
|
+
if (!Array.isArray(markings) || markings.length === 0) {
|
|
3388
|
+
throw new SecurityValidationError2(`[Sixb] ${subject} markings must be a non-empty list of marking ids.`);
|
|
3389
|
+
}
|
|
3390
|
+
if (new Set(markings).size !== markings.length) {
|
|
3391
|
+
throw new SecurityValidationError2(`[Sixb] ${subject} lists the same marking twice.`);
|
|
3392
|
+
}
|
|
3393
|
+
for (const markingId of markings) {
|
|
3394
|
+
if (typeof markingId !== "string" || !markingIds.has(markingId)) {
|
|
3395
|
+
throw new SecurityValidationError2(`[Sixb] ${subject} references unknown marking '${String(markingId)}'. Add it to 'security/markings/' or pass it to createSixb({ markings }).`);
|
|
3396
|
+
}
|
|
3397
|
+
}
|
|
3398
|
+
}
|
|
3399
|
+
function rejectPipelineStepsOverMarkedColumns(pipelines, datasetsById) {
|
|
3400
|
+
for (const pipeline of pipelines) {
|
|
3401
|
+
for (const { step } of pipeline.graph.nodes) {
|
|
3402
|
+
for (const input of Object.values(step.inputs)) {
|
|
3403
|
+
const dataset = datasetsById.get(input.id);
|
|
3404
|
+
const column = dataset?.schema.columns.find((candidate) => candidate.markings);
|
|
3405
|
+
if (!dataset || !column)
|
|
3406
|
+
continue;
|
|
3407
|
+
throw new SecurityValidationError2(`[Sixb] Pipeline '${pipeline.id}' step '${step.id}' reads column '${dataset.id}.${column.name}', which carries ${markingList(column.markings)}. Pipeline steps cannot read marked columns yet.`);
|
|
3408
|
+
}
|
|
3409
|
+
}
|
|
3410
|
+
}
|
|
3411
|
+
}
|
|
3412
|
+
function validateProjectionMarkings(projections, ontology, datasetsById) {
|
|
3413
|
+
for (const projection of projections.listObjects()) {
|
|
3414
|
+
const objectType = ontology.getObjectTypeById(projection.objectTypeId);
|
|
3415
|
+
if (objectType)
|
|
3416
|
+
validateObjectProjection(projection, objectType, datasetsById);
|
|
3417
|
+
}
|
|
3418
|
+
for (const projection of projections.listLinks()) {
|
|
3419
|
+
const role = `keys link '${projection.sourceObjectTypeId}.${projection.linkId}'`;
|
|
3420
|
+
for (const columnName of [projection.sourceField, projection.targetField]) {
|
|
3421
|
+
assertUnmarkedColumn(projection, sourceColumn(projection, columnName, datasetsById), role);
|
|
3422
|
+
}
|
|
3423
|
+
}
|
|
3424
|
+
for (const projection of projections.listTelemetry()) {
|
|
3425
|
+
const columnNames = [
|
|
3426
|
+
projection.objectIdField,
|
|
3427
|
+
projection.atField,
|
|
3428
|
+
...Object.values(projection.properties).flatMap((mapping) => mapping.unitField === undefined ? [mapping.valueField] : [mapping.valueField, mapping.unitField])
|
|
3429
|
+
];
|
|
3430
|
+
for (const columnName of columnNames) {
|
|
3431
|
+
const column = sourceColumn(projection, columnName, datasetsById);
|
|
3432
|
+
if (!column.markings)
|
|
3433
|
+
continue;
|
|
3434
|
+
throw new SecurityValidationError2(`[Sixb] Projection '${projection.id}' reads column '${column.path}', which carries ${markingList(column.markings)}. Telemetry projections cannot read marked columns yet.`);
|
|
3435
|
+
}
|
|
3436
|
+
}
|
|
3437
|
+
}
|
|
3438
|
+
function validateObjectProjection(projection, objectType, datasetsById) {
|
|
3439
|
+
const keyRoles = objectProjectionKeyRoles(projection, objectType);
|
|
3440
|
+
for (const [propertyId, columnName] of Object.entries(projection.properties)) {
|
|
3441
|
+
const column = sourceColumn(projection, columnName, datasetsById);
|
|
3442
|
+
const property = objectType.properties.find((candidate) => candidate.id === propertyId);
|
|
3443
|
+
const path = `${objectType.id}.${propertyId}`;
|
|
3444
|
+
const keyRole = keyRoles.get(propertyId);
|
|
3445
|
+
if (keyRole) {
|
|
3446
|
+
assertUnmarkedColumn(projection, column, keyRole);
|
|
3447
|
+
if (property?.markings) {
|
|
3448
|
+
throw new SecurityValidationError2(`[Sixb] Projection '${projection.id}': property '${path}' ${keyRole} and cannot carry markings.`);
|
|
3449
|
+
}
|
|
3450
|
+
continue;
|
|
3451
|
+
}
|
|
3452
|
+
const missing = missingMarkings(column.markings, property?.markings);
|
|
3453
|
+
if (missing.length > 0) {
|
|
3454
|
+
throw new SecurityValidationError2(`[Sixb] Projection '${projection.id}': property '${path}' is projected from column '${column.path}', which carries ${markingList(column.markings)}. Add markings: ${markingList(missing)} to the property.`);
|
|
3455
|
+
}
|
|
3456
|
+
}
|
|
3457
|
+
for (const [linkId, link] of Object.entries(projection.links)) {
|
|
3458
|
+
if (link.sourceField === undefined)
|
|
3459
|
+
continue;
|
|
3460
|
+
assertUnmarkedColumn(projection, sourceColumn(projection, link.sourceField, datasetsById), `keys link '${objectType.id}.${linkId}'`);
|
|
3461
|
+
}
|
|
3462
|
+
const conflictResolution = projection.conflictResolution;
|
|
3463
|
+
if (conflictResolution?.strategy === "mostRecent") {
|
|
3464
|
+
assertUnmarkedColumn(projection, sourceColumn(projection, conflictResolution.sourceTimestamp, datasetsById), "decides which value wins under 'mostRecent'");
|
|
3465
|
+
}
|
|
3466
|
+
}
|
|
3467
|
+
function objectProjectionKeyRoles(projection, objectType) {
|
|
3468
|
+
const roles = new Map;
|
|
3469
|
+
for (const property of objectType.properties) {
|
|
3470
|
+
if (property.primary)
|
|
3471
|
+
roles.set(property.id, `becomes the id of '${objectType.id}'`);
|
|
3472
|
+
}
|
|
3473
|
+
for (const [linkId, link] of Object.entries(projection.links)) {
|
|
3474
|
+
if (link.sourcePropertyId === undefined)
|
|
3475
|
+
continue;
|
|
3476
|
+
roles.set(link.sourcePropertyId, `keys link '${objectType.id}.${linkId}'`);
|
|
3477
|
+
}
|
|
3478
|
+
return roles;
|
|
3479
|
+
}
|
|
3480
|
+
function sourceColumn(projection, columnName, datasetsById) {
|
|
3481
|
+
const column = datasetsById.get(projection.datasetId)?.schema.columns.find((candidate) => candidate.name === columnName);
|
|
3482
|
+
if (!column) {
|
|
3483
|
+
throw new Error(`[Sixb] Projection '${projection.id}' maps unknown column '${columnName}'.`);
|
|
3484
|
+
}
|
|
3485
|
+
return { path: `${projection.datasetId}.${columnName}`, markings: column.markings };
|
|
3486
|
+
}
|
|
3487
|
+
function assertUnmarkedColumn(projection, column, role) {
|
|
3488
|
+
if (!column.markings)
|
|
3489
|
+
return;
|
|
3490
|
+
throw new SecurityValidationError2(`[Sixb] Projection '${projection.id}': column '${column.path}' ${role} and cannot carry markings.`);
|
|
3491
|
+
}
|
|
3492
|
+
function missingMarkings(required, declared) {
|
|
3493
|
+
const present = new Set(declared ?? []);
|
|
3494
|
+
return (required ?? []).filter((markingId) => !present.has(markingId));
|
|
3495
|
+
}
|
|
3496
|
+
function markingList(markings) {
|
|
3497
|
+
return `[${(markings ?? []).join(", ")}]`;
|
|
3498
|
+
}
|
|
3499
|
+
|
|
3006
3500
|
// src/syncs/validation.ts
|
|
3007
3501
|
function validateKeyedDatasetWriterTopology(input) {
|
|
3008
3502
|
for (const sync of input.syncs) {
|
|
@@ -3079,6 +3573,11 @@ function resolveDefinitions(options) {
|
|
|
3079
3573
|
}
|
|
3080
3574
|
}
|
|
3081
3575
|
const tools = createAgentToolCatalog(options.tools);
|
|
3576
|
+
const skills = createAgentSkillCatalog(options.agent?.skills);
|
|
3577
|
+
const ontologyDocs = createOntologyDocsCatalog({
|
|
3578
|
+
objectTypes: ontology.listObjectTypes(),
|
|
3579
|
+
...options.agent?.ontologyDocs === undefined ? {} : { docs: options.agent.ontologyDocs }
|
|
3580
|
+
});
|
|
3082
3581
|
const connectorsById = indexUniqueDefinitions("connector", options.connectors ?? []);
|
|
3083
3582
|
const datasetsById = new Map;
|
|
3084
3583
|
for (const dataset of options.datasets ?? []) {
|
|
@@ -3126,10 +3625,12 @@ function resolveDefinitions(options) {
|
|
|
3126
3625
|
registeredSchedules: schedulesById,
|
|
3127
3626
|
registeredActionIds,
|
|
3128
3627
|
...models === undefined ? {} : { models },
|
|
3129
|
-
tools
|
|
3628
|
+
tools,
|
|
3629
|
+
skills
|
|
3130
3630
|
});
|
|
3131
3631
|
const workflowsById = indexUniqueDefinitions("workflow", workflows);
|
|
3132
3632
|
const security = new SecurityRegistry({
|
|
3633
|
+
markings: options.markings ?? [],
|
|
3133
3634
|
groups: options.groups ?? [],
|
|
3134
3635
|
roles: options.roles ?? [],
|
|
3135
3636
|
membershipPolicies: options.membershipPolicies ?? [],
|
|
@@ -3154,10 +3655,22 @@ function resolveDefinitions(options) {
|
|
|
3154
3655
|
syncs,
|
|
3155
3656
|
telemetryProjections: projectionRegistry.listTelemetry()
|
|
3156
3657
|
});
|
|
3658
|
+
validateMarkingsAtStartup({
|
|
3659
|
+
markingIds: new Set(security.listMarkings().map((marking) => marking.id)),
|
|
3660
|
+
ontology,
|
|
3661
|
+
datasetsById,
|
|
3662
|
+
pipelines,
|
|
3663
|
+
projections: projectionRegistry
|
|
3664
|
+
});
|
|
3157
3665
|
return Object.freeze({
|
|
3158
3666
|
ontology,
|
|
3159
3667
|
actions: actionRegistry,
|
|
3160
3668
|
tools,
|
|
3669
|
+
agent: Object.freeze({
|
|
3670
|
+
skills,
|
|
3671
|
+
...options.agent?.instructions === undefined ? {} : { instructions: options.agent.instructions },
|
|
3672
|
+
ontologyDocs
|
|
3673
|
+
}),
|
|
3161
3674
|
connectors: createDefinitionCatalog(connectorsById),
|
|
3162
3675
|
datasets: createDefinitionCatalog(datasetsById),
|
|
3163
3676
|
...models === undefined ? {} : { models },
|
|
@@ -3277,9 +3790,12 @@ function positiveInteger2(value, name) {
|
|
|
3277
3790
|
// src/runtime/host.ts
|
|
3278
3791
|
class SixbHost2 {
|
|
3279
3792
|
projectId;
|
|
3793
|
+
locale;
|
|
3794
|
+
timeZone;
|
|
3280
3795
|
webhookRegistry;
|
|
3281
3796
|
hostContext;
|
|
3282
3797
|
committedFacts;
|
|
3798
|
+
vectorIndexing;
|
|
3283
3799
|
eventService;
|
|
3284
3800
|
ontologyMaintenance;
|
|
3285
3801
|
storageReadiness;
|
|
@@ -3301,6 +3817,8 @@ class SixbHost2 {
|
|
|
3301
3817
|
constructor(options) {
|
|
3302
3818
|
const errorReporter = attachSixbErrorReporter2(this, options.onError);
|
|
3303
3819
|
this.projectId = options.id ?? "default";
|
|
3820
|
+
this.locale = resolveProjectLocale(options.locale);
|
|
3821
|
+
this.timeZone = resolveProjectTimeZone(options.timeZone);
|
|
3304
3822
|
this.broker = options.broker;
|
|
3305
3823
|
this.eventService = createDomainEventService2({
|
|
3306
3824
|
projectId: this.projectId,
|
|
@@ -3359,15 +3877,21 @@ class SixbHost2 {
|
|
|
3359
3877
|
...failure
|
|
3360
3878
|
})
|
|
3361
3879
|
});
|
|
3880
|
+
const vectorIndexing = this.storage.ontology.vectorIndexing;
|
|
3881
|
+
if (vectorIndexing && definitions.ontology.listObjectTypes().some((type) => Object.keys(type.search?.vectors ?? {}).length > 0)) {
|
|
3882
|
+
this.vectorIndexing = new VectorIndexingDispatcher(this.projectId, vectorIndexing, this.queues.vectorIndexing);
|
|
3883
|
+
}
|
|
3362
3884
|
this.ontologyMaintenance = new OntologyMaintenance({
|
|
3363
3885
|
projectId: this.projectId,
|
|
3364
3886
|
storage: this.storage,
|
|
3365
3887
|
dispatcher: this.committedFacts,
|
|
3888
|
+
vectorIndexing: this.vectorIndexing,
|
|
3366
3889
|
blobStorage: this.blobStorage,
|
|
3367
3890
|
options: options.ontologyMaintenance
|
|
3368
3891
|
});
|
|
3369
3892
|
this.hostContext = {
|
|
3370
3893
|
embeddingModels: definitions.models?.embedding,
|
|
3894
|
+
rerankingModels: definitions.models?.reranking,
|
|
3371
3895
|
projectId: this.projectId,
|
|
3372
3896
|
broker: this.broker,
|
|
3373
3897
|
ontology: definitions.ontology,
|
|
@@ -3381,7 +3905,8 @@ class SixbHost2 {
|
|
|
3381
3905
|
registerVectorIndexingRuntime(this, createVectorIndexingRuntime(this.hostContext, this.materializer));
|
|
3382
3906
|
this.scheduler = new SchedulerRuntime2({
|
|
3383
3907
|
schedules: definitions.schedules.list(),
|
|
3384
|
-
events: this.eventService
|
|
3908
|
+
events: this.eventService,
|
|
3909
|
+
timeZone: this.timeZone
|
|
3385
3910
|
});
|
|
3386
3911
|
}
|
|
3387
3912
|
withScope(scope) {
|
|
@@ -3392,15 +3917,18 @@ class SixbHost2 {
|
|
|
3392
3917
|
}
|
|
3393
3918
|
const modelExecution = new ModelExecutionSession({ ...this.hostContext, runtimeAuthorization: capturedScope.authorization }, capturedScope.execution);
|
|
3394
3919
|
const embeddingModels = bindEmbeddingModels(this.hostContext.embeddingModels, modelExecution);
|
|
3920
|
+
const rerankingModels = bindRerankingModels(this.hostContext.rerankingModels, modelExecution);
|
|
3395
3921
|
const objectReader = createAuthorizedObjectReader({
|
|
3396
3922
|
scope: capturedScope,
|
|
3397
3923
|
ontology: this.hostContext.ontology,
|
|
3398
3924
|
objectStorage: this.storage.objects,
|
|
3399
|
-
embeddingModels
|
|
3925
|
+
embeddingModels,
|
|
3926
|
+
rerankingModels
|
|
3400
3927
|
});
|
|
3401
3928
|
const runtime = {
|
|
3402
3929
|
...this.hostContext,
|
|
3403
3930
|
embeddingModels,
|
|
3931
|
+
rerankingModels,
|
|
3404
3932
|
modelExecution,
|
|
3405
3933
|
runtimeAuthorization: capturedScope.authorization,
|
|
3406
3934
|
objectReader,
|
|
@@ -3408,7 +3936,10 @@ class SixbHost2 {
|
|
|
3408
3936
|
};
|
|
3409
3937
|
registerOntologyMutationRuntime2(runtime, createOntologyMutationRuntime2({
|
|
3410
3938
|
materializer: this.materializer.withScope(capturedScope),
|
|
3411
|
-
notifyCommittedFacts: () =>
|
|
3939
|
+
notifyCommittedFacts: () => {
|
|
3940
|
+
this.committedFacts.notify();
|
|
3941
|
+
this.vectorIndexing?.notify();
|
|
3942
|
+
}
|
|
3412
3943
|
}));
|
|
3413
3944
|
return createBoundSixb(runtime, this.sixbDependencies(), capturedScope.execution);
|
|
3414
3945
|
}
|
|
@@ -3442,6 +3973,7 @@ class SixbHost2 {
|
|
|
3442
3973
|
}
|
|
3443
3974
|
async closeBroker() {
|
|
3444
3975
|
await this.committedFacts.stop();
|
|
3976
|
+
await this.vectorIndexing?.stop();
|
|
3445
3977
|
await this.ontologyMaintenance.stop();
|
|
3446
3978
|
await this.broker.close?.();
|
|
3447
3979
|
}
|
|
@@ -3456,10 +3988,29 @@ class SixbHost2 {
|
|
|
3456
3988
|
connectorService: this.connectorService,
|
|
3457
3989
|
...this.connectorService.connectionProcess === undefined ? {} : { connectorConnections: this.connectorService.connectionProcess },
|
|
3458
3990
|
blobStorage: this.blobStorage,
|
|
3991
|
+
apiPublicOrigin: () => getApiPublicOrigin(this),
|
|
3459
3992
|
lakeStorage: this.lakeStorage
|
|
3460
3993
|
};
|
|
3461
3994
|
}
|
|
3462
3995
|
}
|
|
3996
|
+
function resolveProjectLocale(locale) {
|
|
3997
|
+
if (locale === undefined)
|
|
3998
|
+
return DEFAULT_PROJECT_LOCALE;
|
|
3999
|
+
const canonical = canonicalLocale(locale);
|
|
4000
|
+
if (canonical === undefined) {
|
|
4001
|
+
throw new RuntimeError2(`[Sixb] 'locale' must be a BCP 47 language tag such as "fr-FR"; received ${JSON.stringify(locale)}.`);
|
|
4002
|
+
}
|
|
4003
|
+
return canonical;
|
|
4004
|
+
}
|
|
4005
|
+
function resolveProjectTimeZone(timeZone) {
|
|
4006
|
+
if (timeZone === undefined)
|
|
4007
|
+
return DEFAULT_PROJECT_TIME_ZONE;
|
|
4008
|
+
const canonical = canonicalTimeZone(timeZone);
|
|
4009
|
+
if (canonical === undefined) {
|
|
4010
|
+
throw new RuntimeError2(`[Sixb] 'timeZone' must be an IANA time zone such as "Europe/Paris"; received ${JSON.stringify(timeZone)}.`);
|
|
4011
|
+
}
|
|
4012
|
+
return canonical;
|
|
4013
|
+
}
|
|
3463
4014
|
function validateAuthStrategySecurityReferences(strategy, security) {
|
|
3464
4015
|
if (!isMagicLinkAuthStrategy2(strategy) && !isOidcAuthStrategy2(strategy)) {
|
|
3465
4016
|
return;
|
|
@@ -3486,14 +4037,19 @@ function assertWebhookRunStorage(connectors, storage) {
|
|
|
3486
4037
|
async function createSixb2(options) {
|
|
3487
4038
|
assertNoAgentDefinitions(options);
|
|
3488
4039
|
const projectRoot = resolve2(options.projectRoot ?? process.cwd());
|
|
3489
|
-
const discoveredOntology = await
|
|
3490
|
-
const allSources = [...options.ontologies ?? [], ...discoveredOntology];
|
|
4040
|
+
const discoveredOntology = await discoverOntologySources(projectRoot);
|
|
4041
|
+
const allSources = [...options.ontologies ?? [], ...discoveredOntology.sources];
|
|
3491
4042
|
if (allSources.length === 0) {
|
|
3492
4043
|
throw new RuntimeError2("No ontology found. Create an 'ontology/' folder or pass 'ontologies' to createSixb().");
|
|
3493
4044
|
}
|
|
3494
4045
|
const definitions = await discoverProjectDefinitions2(projectRoot);
|
|
4046
|
+
const skills = await discoverAgentSkills(projectRoot);
|
|
4047
|
+
const instructions = await discoverProjectInstructions(projectRoot);
|
|
4048
|
+
const ontologyFiles = await discoverOntologyFiles(projectRoot);
|
|
3495
4049
|
return new SixbHost2({
|
|
3496
4050
|
id: options.id,
|
|
4051
|
+
locale: options.locale,
|
|
4052
|
+
timeZone: options.timeZone,
|
|
3497
4053
|
ontology: allSources,
|
|
3498
4054
|
broker: options.broker,
|
|
3499
4055
|
storage: options.storage,
|
|
@@ -3516,15 +4072,21 @@ async function createSixb2(options) {
|
|
|
3516
4072
|
projections: [...options.projections ?? [], ...definitions.projections],
|
|
3517
4073
|
rules: [...options.rules ?? [], ...definitions.rules],
|
|
3518
4074
|
workflows: [...options.workflows ?? [], ...definitions.workflows],
|
|
4075
|
+
markings: [...options.markings ?? [], ...definitions.markings],
|
|
3519
4076
|
groups: [...options.groups ?? [], ...definitions.groups],
|
|
3520
4077
|
roles: [...options.roles ?? [], ...definitions.roles],
|
|
3521
4078
|
membershipPolicies: [...options.membershipPolicies ?? [], ...definitions.membershipPolicies],
|
|
3522
4079
|
models: options.models,
|
|
3523
4080
|
tools: options.tools,
|
|
4081
|
+
agent: {
|
|
4082
|
+
skills,
|
|
4083
|
+
...instructions === undefined ? {} : { instructions },
|
|
4084
|
+
ontologyDocs: { modules: discoveredOntology.modules, ...ontologyFiles }
|
|
4085
|
+
},
|
|
3524
4086
|
shares: [...options.shares ?? [], ...definitions.shares],
|
|
3525
4087
|
auth: options.auth
|
|
3526
4088
|
});
|
|
3527
4089
|
}
|
|
3528
4090
|
export { WebhookValidationError2, defineWebhook2, webhookConnector2, UnverifiedWebhookError2, resolveWebhookVerification2, warnUnverifiedWebhook2, SixbHost2, createSixb2 };
|
|
3529
4091
|
|
|
3530
|
-
//# debugId=
|
|
4092
|
+
//# debugId=F00D1642A2671DB564756E2164756E21
|