@sixb/core 0.1.10 → 0.1.12
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/builders/params.d.ts +1 -22
- package/dist/actions/builders/params.d.ts.map +1 -1
- package/dist/actions/index.js +29 -28
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/types/params.d.ts +10 -44
- package/dist/actions/types/params.d.ts.map +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +3 -2
- package/dist/actions/worker.js.map +2 -2
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +15 -9
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/ids.d.ts +2 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +48 -42
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/sandbox.d.ts +5 -0
- package/dist/agents/sandbox.d.ts.map +1 -0
- package/dist/agents/streams/index.js +4 -3
- package/dist/agents/streams/index.js.map +1 -1
- package/dist/agents/streams/internal.js +4 -3
- package/dist/agents/streams/internal.js.map +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/auth/index.js +8 -6
- package/dist/auth/index.js.map +1 -1
- package/dist/authorization/index.js +5 -4
- package/dist/authorization/index.js.map +1 -1
- package/dist/blob-storage/types.d.ts +4 -1
- package/dist/blob-storage/types.d.ts.map +1 -1
- package/dist/bootstrap/index.js +50 -46
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
- package/dist/chunk-2c4j899j.js.map +1 -1
- package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
- package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
- package/dist/{chunk-e0d1rzef.js → chunk-2h63nrde.js} +380 -97
- package/dist/chunk-2h63nrde.js.map +20 -0
- package/dist/{chunk-rtk71jzp.js → chunk-3bnt2wna.js} +2 -2
- package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
- package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
- package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
- package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
- package/dist/chunk-4k53sm9e.js.map +12 -0
- package/dist/chunk-4ph94nhd.js +81 -0
- package/dist/chunk-4ph94nhd.js.map +10 -0
- package/dist/chunk-58geavnf.js +29 -0
- package/dist/chunk-58geavnf.js.map +10 -0
- package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
- package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
- package/dist/chunk-69266efg.js.map +12 -0
- package/dist/{chunk-g7knyczr.js → chunk-6ma8dvzc.js} +121 -53
- package/dist/chunk-6ma8dvzc.js.map +15 -0
- package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
- package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
- package/dist/{chunk-976rxdpx.js → chunk-7qnvhtcd.js} +93 -17
- package/dist/{chunk-976rxdpx.js.map → chunk-7qnvhtcd.js.map} +7 -6
- package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
- package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
- package/dist/chunk-91kcnbf0.js.map +10 -0
- package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
- package/dist/chunk-96yw3pwd.js.map +10 -0
- package/dist/chunk-98cw09sw.js.map +2 -2
- package/dist/{chunk-93csa55g.js → chunk-axndsymr.js} +10 -4
- package/dist/chunk-axndsymr.js.map +11 -0
- package/dist/{chunk-r7fj830t.js → chunk-b768c93y.js} +100 -29
- package/dist/chunk-b768c93y.js.map +36 -0
- package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
- package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
- package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
- package/dist/chunk-bet1rb9h.js.map +10 -0
- package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
- package/dist/{chunk-b0ec55a1.js → chunk-bg2bs62d.js} +5 -5
- package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
- package/dist/chunk-cd234ba4.js.map +14 -0
- package/dist/chunk-d62kjtbg.js.map +1 -1
- package/dist/chunk-dmn70ztd.js.map +2 -2
- package/dist/{chunk-28ja2cjs.js → chunk-e1f1sqba.js} +39 -53
- package/dist/{chunk-28ja2cjs.js.map → chunk-e1f1sqba.js.map} +5 -6
- package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
- package/dist/chunk-eyjzgav0.js.map +12 -0
- package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
- package/dist/chunk-f06sf7rr.js.map +11 -0
- package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
- package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
- package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
- package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
- package/dist/{chunk-nmbxcaqx.js → chunk-g50nxqs5.js} +53 -66
- package/dist/chunk-g50nxqs5.js.map +18 -0
- package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
- package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
- package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
- package/dist/chunk-hgqpcmyr.js.map +12 -0
- package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
- package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
- package/dist/chunk-hzw7yv5g.js.map +13 -0
- package/dist/{chunk-5c7ga8zz.js → chunk-jjwhy3rs.js} +5 -5
- package/dist/chunk-kept9cdd.js +29 -0
- package/dist/chunk-kept9cdd.js.map +10 -0
- package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
- package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
- package/dist/{chunk-qyeptdyv.js → chunk-mdnw7nj8.js} +10 -6
- package/dist/chunk-mdnw7nj8.js.map +15 -0
- package/dist/{chunk-5p1v802y.js → chunk-nzsy3xrp.js} +253 -86
- package/dist/chunk-nzsy3xrp.js.map +46 -0
- package/dist/chunk-p1683c0v.js +104 -0
- package/dist/chunk-p1683c0v.js.map +11 -0
- package/dist/chunk-p6r1ex7t.js +93 -0
- package/dist/chunk-p6r1ex7t.js.map +10 -0
- package/dist/{chunk-p5vcsw9c.js → chunk-qm535afa.js} +10 -10
- package/dist/{chunk-p5vcsw9c.js.map → chunk-qm535afa.js.map} +4 -4
- package/dist/chunk-r5zythxp.js +552 -0
- package/dist/chunk-r5zythxp.js.map +17 -0
- package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
- package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
- package/dist/{chunk-t1f4f1ve.js → chunk-sfypc7mk.js} +18 -13
- package/dist/{chunk-t1f4f1ve.js.map → chunk-sfypc7mk.js.map} +3 -3
- package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
- package/dist/chunk-t6f3tdnr.js.map +10 -0
- package/dist/{chunk-bn138h9w.js → chunk-t7dzd1tm.js} +3 -3
- package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
- package/dist/chunk-vpxss818.js +56 -0
- package/dist/chunk-vpxss818.js.map +10 -0
- package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
- package/dist/chunk-vsg0g7h9.js.map +17 -0
- package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
- package/dist/{chunk-nt99sxd6.js → chunk-x9tmx3fc.js} +18 -24
- package/dist/chunk-x9tmx3fc.js.map +14 -0
- package/dist/{chunk-agbbygvh.js → chunk-xn686q2e.js} +8 -8
- package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
- package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
- package/dist/{chunk-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
- package/dist/chunk-y0v18c2j.js +363 -0
- package/dist/chunk-y0v18c2j.js.map +14 -0
- package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
- package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
- package/dist/chunk-y3ev53cq.js +84 -0
- package/dist/chunk-y3ev53cq.js.map +10 -0
- package/dist/{chunk-p6a4npdx.js → chunk-ybhz3j9g.js} +362 -60
- package/dist/chunk-ybhz3j9g.js.map +63 -0
- package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
- package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
- package/dist/chunk-z3y5kg1x.js +14 -0
- package/dist/chunk-z3y5kg1x.js.map +10 -0
- package/dist/connectors/connections/command-context.d.ts +2 -0
- package/dist/connectors/connections/command-context.d.ts.map +1 -1
- package/dist/connectors/connections/contracts.d.ts +1 -1
- package/dist/connectors/connections/contracts.d.ts.map +1 -1
- package/dist/connectors/connections/execution.d.ts +1 -0
- package/dist/connectors/connections/execution.d.ts.map +1 -1
- package/dist/connectors/connections/runs.d.ts +1 -0
- package/dist/connectors/connections/runs.d.ts.map +1 -1
- package/dist/connectors/connections/service.d.ts +2 -0
- package/dist/connectors/connections/service.d.ts.map +1 -1
- package/dist/datasets/validation.d.ts +4 -0
- package/dist/datasets/validation.d.ts.map +1 -1
- package/dist/datasets/write.d.ts.map +1 -1
- package/dist/datasets/write.js +5 -4
- package/dist/datasets/write.js.map +1 -1
- package/dist/error-reporting/capability.d.ts +3 -2
- package/dist/error-reporting/capability.d.ts.map +1 -1
- package/dist/error-reporting/internal.js +5 -4
- package/dist/error-reporting/internal.js.map +1 -1
- package/dist/error-reporting/reports.d.ts +10 -0
- package/dist/error-reporting/reports.d.ts.map +1 -1
- package/dist/error-reporting/types.d.ts +10 -2
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +12 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/failure-message.d.ts +8 -0
- package/dist/errors/failure-message.d.ts.map +1 -0
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +3 -2
- package/dist/errors/internal.js.map +1 -1
- package/dist/events/index.js +5 -4
- package/dist/events/index.js.map +1 -1
- package/dist/events/outbox-dispatcher.d.ts +2 -2
- package/dist/events/outbox-dispatcher.d.ts.map +1 -1
- package/dist/execution/agent.js +44 -41
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +3 -0
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/kernel-operation.d.ts +4 -0
- package/dist/execution/kernel-operation.d.ts.map +1 -0
- package/dist/execution/primitive.js +44 -41
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.js +45 -42
- package/dist/execution/request.js.map +2 -2
- package/dist/execution/types.d.ts +6 -0
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/index.d.ts +15 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -59
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.js +5 -4
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/types.d.ts +2 -0
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/maintenance/types.d.ts +1 -1
- package/dist/maintenance/types.d.ts.map +1 -1
- package/dist/materialization/errors.d.ts +1 -1
- package/dist/materialization/errors.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +1 -0
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +3 -3
- package/dist/materialization/model.d.ts +2 -0
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materialization/vectors.d.ts +19 -0
- package/dist/materialization/vectors.d.ts.map +1 -0
- package/dist/materializer/context.d.ts.map +1 -1
- package/dist/materializer/edits/commit.d.ts.map +1 -1
- package/dist/materializer/edits/vector-authority.d.ts +6 -0
- package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
- package/dist/materializer/edits/vectors.d.ts +6 -0
- package/dist/materializer/edits/vectors.d.ts.map +1 -0
- package/dist/materializer/effective/validate.d.ts.map +1 -1
- package/dist/materializer/effective/vector-indexing.d.ts +7 -0
- package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
- package/dist/materializer/effective/vectors.d.ts +6 -0
- package/dist/materializer/effective/vectors.d.ts.map +1 -0
- package/dist/materializer/execution/work-executor.d.ts +2 -1
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/index.js +26 -25
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/models/catalog-index.d.ts +15 -0
- package/dist/models/catalog-index.d.ts.map +1 -0
- package/dist/models/catalog.d.ts +27 -6
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/decision/catalog.d.ts +12 -0
- package/dist/models/decision/catalog.d.ts.map +1 -0
- package/dist/models/decision/errors.d.ts +7 -0
- package/dist/models/decision/errors.d.ts.map +1 -0
- package/dist/models/decision/output.d.ts +50 -0
- package/dist/models/decision/output.d.ts.map +1 -0
- package/dist/models/decision/questions.d.ts +14 -0
- package/dist/models/decision/questions.d.ts.map +1 -0
- package/dist/models/decision/runtime.d.ts +7 -0
- package/dist/models/decision/runtime.d.ts.map +1 -0
- package/dist/models/decision/types.d.ts +92 -0
- package/dist/models/decision/types.d.ts.map +1 -0
- package/dist/models/decision/validation.d.ts +7 -0
- package/dist/models/decision/validation.d.ts.map +1 -0
- package/dist/models/definitions.d.ts +8 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/embedding-model.d.ts +60 -0
- package/dist/models/embedding-model.d.ts.map +1 -0
- package/dist/models/execution/binding.d.ts +2 -0
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/embedding.d.ts +5 -0
- package/dist/models/execution/embedding.d.ts.map +1 -0
- package/dist/models/execution/index.js +29 -26
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +5 -1
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/session.d.ts +21 -0
- package/dist/models/execution/session.d.ts.map +1 -0
- 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 +9 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +17 -7
- package/dist/models/index.js.map +1 -1
- package/dist/models/pricing.d.ts +3 -2
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +1 -0
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +29 -28
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/query/executor.d.ts +3 -0
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +2 -0
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +34 -24
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +6 -2
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts +5 -0
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +2 -0
- 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/handle.d.ts +4 -0
- package/dist/objects/vectors/handle.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-batch.d.ts +6 -0
- package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-generate.d.ts +11 -0
- package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
- package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-shared.d.ts +17 -0
- package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-single.d.ts +4 -0
- package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
- package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
- package/dist/objects/vectors/indexing.d.ts +7 -0
- package/dist/objects/vectors/indexing.d.ts.map +1 -0
- package/dist/objects/vectors/profile.d.ts +13 -0
- package/dist/objects/vectors/profile.d.ts.map +1 -0
- package/dist/objects/vectors/query.d.ts +5 -0
- package/dist/objects/vectors/query.d.ts.map +1 -0
- package/dist/objects/vectors/resolve-query.d.ts +6 -0
- package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
- package/dist/objects/vectors/types.d.ts +11 -0
- package/dist/objects/vectors/types.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +2 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +5 -5
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/internal.js +5 -4
- package/dist/ontology/internal.js.map +1 -1
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +8 -9
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/validation/definition.d.ts +3 -0
- package/dist/ontology/validation/definition.d.ts.map +1 -0
- package/dist/ontology/validation/properties.d.ts.map +1 -1
- package/dist/ontology/validation/query.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts +1 -1
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/ontology/vector-profiles.d.ts +4 -0
- package/dist/ontology/vector-profiles.d.ts.map +1 -0
- package/dist/pipelines/index.js +28 -27
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +24 -23
- package/dist/projections/internal.js.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +2 -1
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.d.ts +1 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +5 -0
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +4 -3
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +9 -6
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +3 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +47 -1
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +9 -4
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +15 -3
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/auth.d.ts +16 -0
- package/dist/sandboxes/auth.d.ts.map +1 -0
- package/dist/sandboxes/config.d.ts +5 -0
- package/dist/sandboxes/config.d.ts.map +1 -0
- package/dist/sandboxes/configuration.d.ts +41 -0
- package/dist/sandboxes/configuration.d.ts.map +1 -0
- package/dist/sandboxes/environment.d.ts +13 -0
- package/dist/sandboxes/environment.d.ts.map +1 -0
- package/dist/sandboxes/errors.d.ts +1 -1
- package/dist/sandboxes/errors.d.ts.map +1 -1
- package/dist/sandboxes/index.d.ts +6 -1
- package/dist/sandboxes/index.d.ts.map +1 -1
- package/dist/sandboxes/index.js +16 -3
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/sandboxes/sandbox.d.ts +35 -3
- package/dist/sandboxes/sandbox.d.ts.map +1 -1
- package/dist/shared/params/builders.d.ts +25 -0
- package/dist/shared/params/builders.d.ts.map +1 -0
- package/dist/shared/params/types.d.ts +47 -0
- package/dist/shared/params/types.d.ts.map +1 -0
- package/dist/shared/params/validation.d.ts +15 -0
- package/dist/shared/params/validation.d.ts.map +1 -0
- package/dist/shares/internal.js +23 -22
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +4 -3
- package/dist/storage/action-runs/failure.js.map +1 -1
- package/dist/storage/action-runs/provider.js +1 -1
- package/dist/storage/agents/in-memory.d.ts +2 -1
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +1 -1
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +5 -1
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +8 -4
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +49 -0
- 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/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +2 -2
- package/dist/storage/ai-cost/types.d.ts +14 -2
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +4 -3
- package/dist/storage/ai-limits/enforcement.js.map +1 -1
- package/dist/storage/connector-connections/in-memory.d.ts +1 -0
- package/dist/storage/connector-connections/in-memory.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider/runs.d.ts +1 -0
- package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider/shared.d.ts +1 -0
- package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.d.ts +1 -0
- package/dist/storage/connector-connections/provider.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +12 -17
- package/dist/storage/connector-connections/provider.js.map +6 -6
- package/dist/storage/connector-connections/types.d.ts +3 -1
- package/dist/storage/connector-connections/types.d.ts.map +1 -1
- package/dist/storage/executions/provider.d.ts +3 -3
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +13 -11
- package/dist/storage/executions/provider.js.map +3 -3
- package/dist/storage/executions/types.d.ts +3 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/executions/validation.d.ts.map +1 -1
- package/dist/storage/index.d.ts +5 -3
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +25 -22
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.js +2 -2
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
- package/dist/storage/objects/in-memory/read-source.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 +7 -0
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
- package/dist/storage/objects/types.d.ts +2 -0
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/commits.d.ts +1 -0
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +4 -0
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
- package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
- package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +6 -0
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/outbox.d.ts +1 -0
- package/dist/storage/ontology/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +2 -2
- package/dist/storage/ontology/vector-indexing.d.ts +94 -0
- package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
- package/dist/storage/ontology/vectors.d.ts +56 -0
- package/dist/storage/ontology/vectors.d.ts.map +1 -0
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/provider.js +4 -3
- package/dist/storage/projection-runs/provider.js.map +1 -1
- package/dist/storage/types.d.ts +1 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +9 -7
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +29 -28
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.js +488 -81
- package/dist/testing/index.js.map +10 -10
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-query-contract.d.ts.map +1 -1
- package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +24 -23
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +3 -2
- package/dist/workers/index.js.map +2 -2
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.js +47 -43
- package/dist/workflows/index.js.map +1 -1
- package/package.json +1 -1
- package/src/actions/builders/params.ts +1 -48
- package/src/actions/types/params.ts +14 -74
- package/src/actions/validation.ts +7 -84
- package/src/agents/errors.ts +3 -0
- package/src/agents/execution.ts +67 -15
- package/src/agents/ids.ts +8 -0
- package/src/agents/index.ts +1 -0
- package/src/agents/model-loop.ts +7 -0
- package/src/agents/request.ts +11 -0
- package/src/agents/sandbox.ts +44 -0
- package/src/agents/validation.ts +2 -108
- package/src/blob-storage/types.ts +4 -1
- package/src/connectors/connections/command-context.ts +21 -4
- package/src/connectors/connections/contracts.ts +4 -1
- package/src/connectors/connections/execution.ts +3 -0
- package/src/connectors/connections/runs.ts +38 -1
- package/src/connectors/connections/service.ts +6 -0
- package/src/datasets/validation.ts +40 -11
- package/src/datasets/write.ts +8 -11
- package/src/error-reporting/capability.ts +11 -0
- package/src/error-reporting/reports.ts +23 -0
- package/src/error-reporting/types.ts +12 -1
- package/src/errors/catalog.ts +12 -0
- package/src/errors/failure-message.ts +15 -0
- package/src/errors/internal.ts +57 -25
- package/src/events/outbox-dispatcher.ts +20 -26
- package/src/execution/authorization.ts +12 -5
- package/src/execution/authorized-object-reader.ts +37 -2
- package/src/execution/kernel-operation.ts +27 -0
- package/src/execution/scopes.ts +2 -0
- package/src/execution/types.ts +4 -4
- package/src/index.ts +60 -1
- package/src/lake-storage/in-memory.ts +7 -3
- package/src/lake-storage/types.ts +2 -0
- package/src/maintenance/ontology-maintenance.ts +6 -2
- package/src/maintenance/types.ts +1 -1
- package/src/materialization/errors.ts +2 -2
- package/src/materialization/index.ts +1 -0
- package/src/materialization/model.ts +2 -0
- package/src/materialization/vectors.ts +18 -0
- package/src/materializer/README.md +15 -1
- package/src/materializer/context.ts +10 -0
- package/src/materializer/edits/commit.ts +8 -1
- package/src/materializer/edits/vector-authority.ts +108 -0
- package/src/materializer/edits/vectors.ts +100 -0
- package/src/materializer/effective/validate.ts +10 -3
- package/src/materializer/effective/vector-indexing.ts +84 -0
- package/src/materializer/effective/vectors.ts +47 -0
- package/src/materializer/execution/work-executor.ts +11 -3
- package/src/materializer/projections/replace.ts +1 -1
- package/src/materializer/shared/normalize.ts +11 -0
- package/src/materializer/telemetry/append.ts +1 -1
- package/src/models/catalog-index.ts +38 -0
- package/src/models/catalog.ts +66 -38
- package/src/models/decision/catalog.ts +32 -0
- package/src/models/decision/errors.ts +18 -0
- package/src/models/decision/output.ts +101 -0
- package/src/models/decision/questions.ts +29 -0
- package/src/models/decision/runtime.ts +188 -0
- package/src/models/decision/types.ts +109 -0
- package/src/models/decision/validation.ts +335 -0
- package/src/models/definitions.ts +20 -1
- package/src/models/embedding-model.ts +129 -0
- package/src/models/execution/README.md +63 -0
- package/src/models/execution/binding.ts +2 -0
- package/src/models/execution/embedding.ts +133 -0
- package/src/models/execution/model-call-recorder.ts +42 -30
- package/src/models/execution/session.ts +81 -0
- package/src/models/execution.ts +10 -52
- package/src/models/generation-types.ts +2 -0
- package/src/models/index.ts +37 -0
- package/src/models/pricing.ts +7 -4
- package/src/objects/authorized-ontology-view.ts +12 -8
- package/src/objects/execution.ts +2 -0
- package/src/objects/query/executor.ts +13 -4
- package/src/objects/query/explain.ts +7 -2
- package/src/objects/query/index.ts +2 -0
- package/src/objects/query/ir.ts +6 -2
- package/src/objects/query/normalize.ts +5 -1
- package/src/objects/query/validate.ts +74 -73
- package/src/objects/sdk/object-handle.ts +3 -0
- package/src/objects/sdk/object-set.ts +1 -0
- package/src/objects/sdk/query-builder.ts +9 -3
- package/src/objects/sdk/query-executor.ts +2 -1
- package/src/objects/sdk/runtime-query-executor.ts +6 -2
- package/src/objects/vectors/README.md +59 -0
- package/src/objects/vectors/handle.ts +91 -0
- package/src/objects/vectors/indexing-batch.ts +163 -0
- package/src/objects/vectors/indexing-generate.ts +184 -0
- package/src/objects/vectors/indexing-runtime.ts +17 -0
- package/src/objects/vectors/indexing-shared.ts +188 -0
- package/src/objects/vectors/indexing-single.ts +51 -0
- package/src/objects/vectors/indexing-store-batch.ts +62 -0
- package/src/objects/vectors/indexing.ts +23 -0
- package/src/objects/vectors/profile.ts +64 -0
- package/src/objects/vectors/query.ts +16 -0
- package/src/objects/vectors/resolve-query.ts +89 -0
- package/src/objects/vectors/types.ts +10 -0
- package/src/ontology/index.ts +2 -0
- package/src/ontology/registry.ts +8 -0
- package/src/ontology/types.ts +9 -9
- package/src/ontology/validation/definition.ts +104 -0
- package/src/ontology/validation/properties.ts +14 -4
- package/src/ontology/validation/query.ts +34 -51
- package/src/ontology/validation/schema.ts +85 -23
- package/src/ontology/vector-profiles.ts +35 -0
- package/src/queues/in-memory.ts +5 -0
- package/src/queues/index.ts +1 -0
- package/src/queues/types.ts +10 -0
- package/src/runtime/create.ts +7 -6
- package/src/runtime/host.ts +42 -6
- package/src/runtime/internal.ts +3 -0
- package/src/runtime/resolve-definitions.ts +19 -1
- package/src/runtime/sixb.ts +27 -9
- package/src/runtime/types.ts +16 -4
- package/src/sandboxes/README.md +41 -0
- package/src/sandboxes/auth.ts +17 -0
- package/src/sandboxes/config.ts +37 -0
- package/src/sandboxes/configuration.ts +268 -0
- package/src/sandboxes/environment.ts +107 -0
- package/src/sandboxes/errors.ts +1 -1
- package/src/sandboxes/index.ts +15 -0
- package/src/sandboxes/sandbox.ts +38 -3
- package/src/shared/params/builders.ts +50 -0
- package/src/shared/params/types.ts +84 -0
- package/src/shared/params/validation.ts +114 -0
- package/src/storage/agents/in-memory.ts +25 -1
- package/src/storage/agents/index.ts +3 -0
- package/src/storage/agents/provider.ts +105 -0
- package/src/storage/agents/types.ts +54 -0
- package/src/storage/ai-cost/analytics.ts +59 -21
- package/src/storage/ai-cost/index.ts +1 -0
- package/src/storage/ai-cost/types.ts +19 -2
- package/src/storage/connector-connections/in-memory.ts +16 -18
- package/src/storage/connector-connections/provider/connections.ts +1 -15
- package/src/storage/connector-connections/provider/runs.ts +6 -0
- package/src/storage/connector-connections/provider/shared.ts +2 -3
- package/src/storage/connector-connections/provider.ts +6 -0
- package/src/storage/connector-connections/types.ts +5 -1
- package/src/storage/executions/provider.ts +24 -12
- package/src/storage/executions/types.ts +1 -0
- package/src/storage/executions/validation.ts +7 -3
- package/src/storage/index.ts +15 -1
- package/src/storage/objects/in-memory/query.ts +25 -11
- package/src/storage/objects/in-memory/read-scope.ts +9 -2
- package/src/storage/objects/in-memory/read-source.ts +5 -0
- package/src/storage/objects/in-memory/selected-reader.ts +5 -1
- package/src/storage/objects/in-memory/storage.ts +19 -1
- package/src/storage/objects/types.ts +2 -0
- package/src/storage/ontology/commits.ts +1 -0
- package/src/storage/ontology/in-memory/index.ts +20 -0
- package/src/storage/ontology/in-memory/materializations.ts +13 -0
- package/src/storage/ontology/in-memory/shared-state.ts +19 -3
- package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
- package/src/storage/ontology/in-memory/vectors.ts +73 -0
- package/src/storage/ontology/index.ts +14 -0
- package/src/storage/ontology/outbox.ts +1 -0
- package/src/storage/ontology/vector-indexing.ts +98 -0
- package/src/storage/ontology/vectors.ts +48 -0
- package/src/storage/operation-scope.ts +1 -0
- package/src/storage/types.ts +3 -0
- package/src/testing/agent-storage-contract.ts +246 -0
- package/src/testing/ai-cost-storage-contract.ts +134 -0
- package/src/testing/connector-connection-storage-contract.ts +11 -11
- package/src/testing/lake-storage-contract.ts +29 -0
- package/src/testing/object-query-contract.ts +41 -25
- package/src/testing/object-read-scope-contract.ts +1 -5
- package/src/testing/ontology-storage-contract.ts +8 -3
- package/src/testing/queues-contract.ts +31 -0
- package/src/workflows/failure.ts +10 -4
- package/src/workflows/validation.ts +2 -2
- package/dist/chunk-5hz0fnca.js.map +0 -12
- package/dist/chunk-5p1v802y.js.map +0 -44
- package/dist/chunk-7apz6hg4.js.map +0 -10
- package/dist/chunk-7bs40fe1.js.map +0 -12
- package/dist/chunk-860dwwy0.js.map +0 -14
- package/dist/chunk-93csa55g.js.map +0 -11
- package/dist/chunk-aa6z4a19.js.map +0 -12
- package/dist/chunk-ap0g1g74.js.map +0 -11
- package/dist/chunk-e0d1rzef.js.map +0 -15
- package/dist/chunk-f0rwz2vh.js.map +0 -11
- package/dist/chunk-f4w3yp4f.js.map +0 -12
- package/dist/chunk-g7knyczr.js.map +0 -14
- package/dist/chunk-mrp7k0pw.js.map +0 -10
- package/dist/chunk-ms2tmn1k.js.map +0 -17
- package/dist/chunk-nmbxcaqx.js.map +0 -19
- package/dist/chunk-nt99sxd6.js.map +0 -14
- package/dist/chunk-p6a4npdx.js.map +0 -58
- package/dist/chunk-qyeptdyv.js.map +0 -15
- package/dist/chunk-r7fj830t.js.map +0 -36
- package/dist/chunk-rb1xx120.js.map +0 -11
- package/dist/chunk-yv79ncbv.js.map +0 -10
- package/dist/chunk-z3y411fq.js +0 -99
- package/dist/chunk-z3y411fq.js.map +0 -11
- /package/dist/{chunk-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
- /package/dist/{chunk-rtk71jzp.js.map → chunk-3bnt2wna.js.map} +0 -0
- /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
- /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
- /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
- /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
- /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
- /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
- /package/dist/{chunk-b0ec55a1.js.map → chunk-bg2bs62d.js.map} +0 -0
- /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
- /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
- /package/dist/{chunk-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
- /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
- /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
- /package/dist/{chunk-5c7ga8zz.js.map → chunk-jjwhy3rs.js.map} +0 -0
- /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
- /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
- /package/dist/{chunk-bn138h9w.js.map → chunk-t7dzd1tm.js.map} +0 -0
- /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
- /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
- /package/dist/{chunk-agbbygvh.js.map → chunk-xn686q2e.js.map} +0 -0
- /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { assertAuthorized, isAllowed } from "../authorization"
|
|
2
2
|
import { AuthorizationError } from "../authorization/errors"
|
|
3
3
|
import type { AuthorizationContext } from "../authorization/types"
|
|
4
|
+
import type { EmbeddingModelCatalog } from "../models/catalog"
|
|
4
5
|
import {
|
|
5
6
|
type AuthorizedOntologySelection,
|
|
6
7
|
type AuthorizedOntologyView,
|
|
@@ -84,6 +85,7 @@ class AuthorizedObjectReaderImpl {
|
|
|
84
85
|
readonly #authority: ResolvedExecutionAuthority
|
|
85
86
|
readonly #runtime: RuntimeReadAuthorization
|
|
86
87
|
readonly #ontology: OntologyRegistry
|
|
88
|
+
readonly #embeddingModels?: EmbeddingModelCatalog
|
|
87
89
|
#ontologyView?: AuthorizedOntologyView
|
|
88
90
|
readonly #storage: ObjectReadStorage
|
|
89
91
|
readonly #delegatedObjectTypeIds?: ReadonlySet<string>
|
|
@@ -95,6 +97,7 @@ class AuthorizedObjectReaderImpl {
|
|
|
95
97
|
input: {
|
|
96
98
|
readonly scope: ExecutionScope
|
|
97
99
|
readonly ontology: OntologyRegistry
|
|
100
|
+
readonly embeddingModels?: EmbeddingModelCatalog
|
|
98
101
|
readonly storage: ObjectReadStorage
|
|
99
102
|
readonly authority: ResolvedExecutionAuthority
|
|
100
103
|
}
|
|
@@ -106,6 +109,7 @@ class AuthorizedObjectReaderImpl {
|
|
|
106
109
|
this.#authorization = input.scope.authorization
|
|
107
110
|
this.#authority = input.authority
|
|
108
111
|
this.#ontology = input.ontology
|
|
112
|
+
this.#embeddingModels = input.embeddingModels
|
|
109
113
|
this.#storage = input.storage
|
|
110
114
|
this.#delegatedObjectTypeIds =
|
|
111
115
|
input.authority.type === "delegated"
|
|
@@ -316,6 +320,7 @@ class AuthorizedObjectReaderImpl {
|
|
|
316
320
|
query: executionQuery,
|
|
317
321
|
...(includeTotal === undefined ? {} : { includeTotal }),
|
|
318
322
|
projectId: this.#runtime.projectId,
|
|
323
|
+
signal: input.signal,
|
|
319
324
|
},
|
|
320
325
|
this.#queryExecutorOptions()
|
|
321
326
|
)
|
|
@@ -459,10 +464,15 @@ class AuthorizedObjectReaderImpl {
|
|
|
459
464
|
// The selected storage instance is the private execution capability. Passing the delegated
|
|
460
465
|
// runtime token into the generic executor would either reject this admitted query or tempt a
|
|
461
466
|
// forgeable bypass flag; neither is needed at this nominal boundary.
|
|
462
|
-
return {
|
|
467
|
+
return {
|
|
468
|
+
ontology: this.#ontology,
|
|
469
|
+
storage: this.#storage,
|
|
470
|
+
embeddingModels: this.#embeddingModels,
|
|
471
|
+
}
|
|
463
472
|
}
|
|
464
473
|
return {
|
|
465
474
|
ontology: this.#ontology,
|
|
475
|
+
embeddingModels: this.#embeddingModels,
|
|
466
476
|
storage: this.#storage,
|
|
467
477
|
runtimeAuthorization: this.#runtime.runtimeAuthorization,
|
|
468
478
|
...(this.#runtime.authorization === undefined
|
|
@@ -546,6 +556,7 @@ export type AuthorizedObjectReader = AuthorizedObjectReaderImpl
|
|
|
546
556
|
export function createAuthorizedObjectReader(input: {
|
|
547
557
|
readonly scope: ExecutionScope
|
|
548
558
|
readonly ontology: OntologyRegistry
|
|
559
|
+
readonly embeddingModels?: EmbeddingModelCatalog
|
|
549
560
|
readonly objectStorage: ObjectStorage
|
|
550
561
|
}): AuthorizedObjectReader {
|
|
551
562
|
const scope = captureExecutionScope(input.scope)
|
|
@@ -555,6 +566,7 @@ export function createAuthorizedObjectReader(input: {
|
|
|
555
566
|
const reader = new AuthorizedObjectReaderImpl(readerConstructionKey, {
|
|
556
567
|
scope,
|
|
557
568
|
ontology: input.ontology,
|
|
569
|
+
embeddingModels: input.embeddingModels,
|
|
558
570
|
storage,
|
|
559
571
|
authority,
|
|
560
572
|
})
|
|
@@ -681,7 +693,30 @@ function snapshotFacetRequests(facets: readonly ObjectFacetRequest[]): ObjectFac
|
|
|
681
693
|
/** Capture one serializable query before either authorization or execution sees it. */
|
|
682
694
|
function snapshotAuthoredQuery(query: ObjectQuery): ObjectQuery {
|
|
683
695
|
try {
|
|
684
|
-
|
|
696
|
+
const snapshot = structuredClone(query)
|
|
697
|
+
const pending = [snapshot]
|
|
698
|
+
const seen = new Set<ObjectQuery>()
|
|
699
|
+
for (const node of pending) {
|
|
700
|
+
if (seen.has(node)) continue
|
|
701
|
+
seen.add(node)
|
|
702
|
+
if (
|
|
703
|
+
node.kind === "vector" &&
|
|
704
|
+
(typeof node.vector !== "string" ||
|
|
705
|
+
typeof node.profile !== "string" ||
|
|
706
|
+
"propertyId" in node)
|
|
707
|
+
) {
|
|
708
|
+
throw new ObjectQueryValidationError([
|
|
709
|
+
{
|
|
710
|
+
path: "$",
|
|
711
|
+
code: "invalid_vector_search_input",
|
|
712
|
+
message: "Vector search requires a named profile and search text",
|
|
713
|
+
},
|
|
714
|
+
])
|
|
715
|
+
}
|
|
716
|
+
if ("input" in node) pending.push(node.input)
|
|
717
|
+
if (node.kind === "set") pending.push(...node.inputs)
|
|
718
|
+
}
|
|
719
|
+
return snapshot
|
|
685
720
|
} catch (error) {
|
|
686
721
|
if (error instanceof ObjectQueryValidationError) throw error
|
|
687
722
|
throw new ObjectQueryValidationError([
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { KernelOperation } from "./types"
|
|
2
|
+
|
|
3
|
+
export function kernelOperationId(operation: KernelOperation): string {
|
|
4
|
+
switch (operation.type) {
|
|
5
|
+
case "ontology.recover":
|
|
6
|
+
return operation.recoveryId
|
|
7
|
+
case "ontology.indexVectors":
|
|
8
|
+
return operation.indexingId
|
|
9
|
+
default:
|
|
10
|
+
return unknownOperation(operation)
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function kernelOperationFromId(type: KernelOperation["type"], id: string): KernelOperation {
|
|
15
|
+
switch (type) {
|
|
16
|
+
case "ontology.recover":
|
|
17
|
+
return { type, recoveryId: id }
|
|
18
|
+
case "ontology.indexVectors":
|
|
19
|
+
return { type, indexingId: id }
|
|
20
|
+
default:
|
|
21
|
+
return unknownOperation(type)
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function unknownOperation(_operation: never): never {
|
|
26
|
+
throw new Error("[Sixb] Unknown kernel operation.")
|
|
27
|
+
}
|
package/src/execution/scopes.ts
CHANGED
|
@@ -197,6 +197,8 @@ function sourceIdentifier(source: ExecutionSource): {
|
|
|
197
197
|
readonly value: string
|
|
198
198
|
} {
|
|
199
199
|
switch (source.type) {
|
|
200
|
+
case "ontologyCommit":
|
|
201
|
+
return { label: "Execution source commit id", value: source.commitId }
|
|
200
202
|
case "http":
|
|
201
203
|
return { label: "Execution source request id", value: source.requestId }
|
|
202
204
|
case "webhook":
|
package/src/execution/types.ts
CHANGED
|
@@ -26,10 +26,9 @@ export interface SharedAccessDelegationRef {
|
|
|
26
26
|
readonly sessionId: string
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export type KernelOperation =
|
|
30
|
-
readonly type: "ontology.recover"
|
|
31
|
-
readonly
|
|
32
|
-
}
|
|
29
|
+
export type KernelOperation =
|
|
30
|
+
| { readonly type: "ontology.recover"; readonly recoveryId: string }
|
|
31
|
+
| { readonly type: "ontology.indexVectors"; readonly indexingId: string }
|
|
33
32
|
|
|
34
33
|
/** Workload currently executing. This is provenance and never grants authority by itself. */
|
|
35
34
|
export type ExecutionExecutor =
|
|
@@ -49,6 +48,7 @@ export type ExecutionExecutor =
|
|
|
49
48
|
* An `execution` source is the single logical parent of a nested execution.
|
|
50
49
|
*/
|
|
51
50
|
export type ExecutionSource =
|
|
51
|
+
| { readonly type: "ontologyCommit"; readonly commitId: string }
|
|
52
52
|
| { readonly type: "http"; readonly requestId: string }
|
|
53
53
|
| { readonly type: "webhook"; readonly deliveryId: string }
|
|
54
54
|
| { readonly type: "schedule"; readonly eventId: string }
|
package/src/index.ts
CHANGED
|
@@ -27,6 +27,7 @@ export type {
|
|
|
27
27
|
ObjectTypeSearchMetadata,
|
|
28
28
|
ObjectTypeWithPropertyTokens,
|
|
29
29
|
ObjectTypeWithTokens,
|
|
30
|
+
ObjectVectorSearchProfile,
|
|
30
31
|
Ontology,
|
|
31
32
|
OntologyDefinitionCatalog,
|
|
32
33
|
OntologyRegistryOptions,
|
|
@@ -600,6 +601,7 @@ export type {
|
|
|
600
601
|
SandboxFileRecord,
|
|
601
602
|
SandboxNetworkPolicy,
|
|
602
603
|
SandboxNetworkTarget,
|
|
604
|
+
SandboxRequestCredential,
|
|
603
605
|
SandboxSessionOptions,
|
|
604
606
|
SandboxStatus,
|
|
605
607
|
} from "./sandboxes"
|
|
@@ -897,6 +899,7 @@ export type {
|
|
|
897
899
|
SixbRunFailedContext,
|
|
898
900
|
SixbRunFailureByKind,
|
|
899
901
|
SixbRunIdentityByKind,
|
|
902
|
+
SixbVectorIndexingFailedContext,
|
|
900
903
|
} from "./error-reporting/types"
|
|
901
904
|
export type { SixbErrorCode, SixbFailure } from "./errors/types"
|
|
902
905
|
export type { EventsRuntime } from "./events/execution"
|
|
@@ -922,6 +925,10 @@ export type {
|
|
|
922
925
|
ObjectQueryLinksResult,
|
|
923
926
|
ObjectsRuntime,
|
|
924
927
|
} from "./objects/execution"
|
|
928
|
+
export type {
|
|
929
|
+
ObjectVectorHandle,
|
|
930
|
+
VectorProfileName,
|
|
931
|
+
} from "./objects/vectors/types"
|
|
925
932
|
export type { PipelineRunsRuntime, PipelinesRuntime } from "./pipelines/execution"
|
|
926
933
|
export type {
|
|
927
934
|
ProjectionRunsRuntime,
|
|
@@ -990,6 +997,7 @@ export type {
|
|
|
990
997
|
WebhookRunFailureCode,
|
|
991
998
|
WorkflowRunFailureCode,
|
|
992
999
|
} from "./storage"
|
|
1000
|
+
export type { VectorIndexingFailureCode } from "./storage/ontology/vector-indexing"
|
|
993
1001
|
export type { SyncRunsRuntime, SyncsRuntime } from "./syncs/execution"
|
|
994
1002
|
export type {
|
|
995
1003
|
LatestWorkflowRunListResult,
|
|
@@ -1066,16 +1074,51 @@ export {
|
|
|
1066
1074
|
MAX_AGENT_APP_STATE_TOTAL_BYTES,
|
|
1067
1075
|
MAX_AGENT_CONTEXT_ENTRIES,
|
|
1068
1076
|
} from "./agents"
|
|
1069
|
-
export type {
|
|
1077
|
+
export type { SandboxSourceAuth, SandboxSourceCredentials } from "./sandboxes/auth"
|
|
1078
|
+
export type {
|
|
1079
|
+
SandboxConfig,
|
|
1080
|
+
SandboxDefinition,
|
|
1081
|
+
SandboxEnvironment,
|
|
1082
|
+
SandboxResolveContext,
|
|
1083
|
+
SandboxSource,
|
|
1084
|
+
} from "./sandboxes/configuration"
|
|
1085
|
+
export type { ParamOptions } from "./shared/params/builders"
|
|
1086
|
+
export type { InferParams, ParamConfig, ParamsConfig } from "./shared/params/types"
|
|
1087
|
+
export type {
|
|
1088
|
+
AgentThreadRecord,
|
|
1089
|
+
AgentThreadSandboxParams,
|
|
1090
|
+
AgentThreadSandboxState,
|
|
1091
|
+
ListAgentThreadsResult,
|
|
1092
|
+
} from "./storage/agents"
|
|
1070
1093
|
|
|
1071
1094
|
// ── Models ──────────────────────────────────────────────────
|
|
1072
1095
|
|
|
1073
1096
|
export type {
|
|
1097
|
+
EmbeddingBatchLimits,
|
|
1098
|
+
EmbeddingModel,
|
|
1099
|
+
EmbeddingModelCatalog,
|
|
1100
|
+
EmbeddingModelDefinition,
|
|
1101
|
+
EmbeddingModelEntry,
|
|
1102
|
+
EmbeddingModelRef,
|
|
1103
|
+
EmbeddingModelRequest,
|
|
1104
|
+
EmbeddingModelResponseMetadata,
|
|
1105
|
+
EmbeddingModelResult,
|
|
1074
1106
|
LanguageModelCatalog,
|
|
1075
1107
|
LanguageModelEntry,
|
|
1076
1108
|
LanguageModelRef,
|
|
1109
|
+
ModelCallCost,
|
|
1077
1110
|
ModelCatalog,
|
|
1078
1111
|
ModelCatalogInput,
|
|
1112
|
+
ModelCostComponent,
|
|
1113
|
+
ModelCostEstimate,
|
|
1114
|
+
ModelCostEstimator,
|
|
1115
|
+
ModelCostMeter,
|
|
1116
|
+
ModelMoney,
|
|
1117
|
+
ModelProviderIds,
|
|
1118
|
+
ModelRef,
|
|
1119
|
+
ModelReportedCost,
|
|
1120
|
+
ModelRoute,
|
|
1121
|
+
ModelUsage,
|
|
1079
1122
|
} from "./models"
|
|
1080
1123
|
export type {
|
|
1081
1124
|
InferLanguageModelOutput,
|
|
@@ -1098,6 +1141,22 @@ export type {
|
|
|
1098
1141
|
ActionParamDescriptor,
|
|
1099
1142
|
ActionPhaseDescriptor,
|
|
1100
1143
|
} from "./actions/descriptor"
|
|
1144
|
+
export type { DecisionAnswerSchema, DecisionOutputShape } from "./models/decision/output"
|
|
1145
|
+
export { decisionOutput } from "./models/decision/output"
|
|
1146
|
+
export { question } from "./models/decision/questions"
|
|
1147
|
+
export type {
|
|
1148
|
+
ChoiceQuestion,
|
|
1149
|
+
DecisionAnswer,
|
|
1150
|
+
DecisionAnswers,
|
|
1151
|
+
DecisionContent,
|
|
1152
|
+
DecisionEvaluateInput,
|
|
1153
|
+
DecisionEvaluateResult,
|
|
1154
|
+
DecisionModelsRuntime,
|
|
1155
|
+
DecisionQuestion,
|
|
1156
|
+
DecisionQuestions,
|
|
1157
|
+
ProbabilityQuestion,
|
|
1158
|
+
ScoreQuestion,
|
|
1159
|
+
} from "./models/decision/types"
|
|
1101
1160
|
export type {
|
|
1102
1161
|
ForeignKeyDescriptor,
|
|
1103
1162
|
LinkProjectionDefinition,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto"
|
|
2
2
|
import { isDeepStrictEqual } from "node:util"
|
|
3
3
|
import type { DatasetDefinition, DatasetSchema, MergeChange } from "../datasets"
|
|
4
|
-
import {
|
|
4
|
+
import { getDatasetRowValidationFailure } from "../datasets/validation"
|
|
5
5
|
import { resolveDatasetChangeColumns } from "./changes"
|
|
6
6
|
import { mergeStrictDatasetDefinition } from "./definition-updates"
|
|
7
7
|
import { LakeConcurrencyError, LakeStorageError } from "./errors"
|
|
@@ -113,9 +113,11 @@ class InMemoryLakeWriteSession implements LakeWriteSession {
|
|
|
113
113
|
const stagedRows: DatasetRow[] = []
|
|
114
114
|
const stagedPrimaryKeys = new Set<string>()
|
|
115
115
|
for await (const row of rows) {
|
|
116
|
-
const validationError =
|
|
116
|
+
const validationError = getDatasetRowValidationFailure(row, this.input.dataset)
|
|
117
117
|
if (validationError) {
|
|
118
|
-
throw new LakeStorageError(`[LakeStorage] ${validationError}
|
|
118
|
+
throw new LakeStorageError(`[LakeStorage] ${validationError.message}`, {
|
|
119
|
+
cause: validationError,
|
|
120
|
+
})
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
if (getDatasetPrimaryKeyColumns(this.input.dataset) !== null) {
|
|
@@ -367,6 +369,7 @@ export class InMemoryLakeStorage implements LakeStorage {
|
|
|
367
369
|
}
|
|
368
370
|
|
|
369
371
|
async *readRows(input: ReadDatasetRowsInput): AsyncIterable<DatasetRow> {
|
|
372
|
+
input.signal?.throwIfAborted()
|
|
370
373
|
const definition = this.datasets.get(input.datasetId)
|
|
371
374
|
if (!definition) {
|
|
372
375
|
throw new LakeStorageError(`[LakeStorage] Unknown dataset '${input.datasetId}'`)
|
|
@@ -390,6 +393,7 @@ export class InMemoryLakeStorage implements LakeStorage {
|
|
|
390
393
|
?.slice(offset, limit === undefined ? undefined : offset + limit)
|
|
391
394
|
|
|
392
395
|
for (const row of rows ?? []) {
|
|
396
|
+
input.signal?.throwIfAborted()
|
|
393
397
|
yield selectColumns(row, input.columns)
|
|
394
398
|
}
|
|
395
399
|
}
|
|
@@ -71,6 +71,8 @@ export interface ReadDatasetRowsInput {
|
|
|
71
71
|
readonly columns?: readonly string[]
|
|
72
72
|
readonly limit?: number
|
|
73
73
|
readonly offset?: number
|
|
74
|
+
/** Cancel an active read or a read waiting for provider capacity. */
|
|
75
|
+
readonly signal?: AbortSignal
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
export interface ReadDatasetChangesInput {
|
|
@@ -93,6 +93,7 @@ export class OntologyMaintenance {
|
|
|
93
93
|
|
|
94
94
|
/** Runs one coalesced pass. Exposed for deterministic hosting and tests. */
|
|
95
95
|
runNow(): Promise<void> {
|
|
96
|
+
if (this.stopping) return this.stopping
|
|
96
97
|
this.pass ??= this.runPass().finally(() => {
|
|
97
98
|
this.pass = null
|
|
98
99
|
})
|
|
@@ -244,12 +245,15 @@ export class OntologyMaintenance {
|
|
|
244
245
|
this.timer = null
|
|
245
246
|
}
|
|
246
247
|
const activePass = this.pass ?? Promise.resolve()
|
|
247
|
-
const stopping = settlesWithin(activePass, this.shutdownTimeoutMs).then((settled) => {
|
|
248
|
+
const stopping = settlesWithin(activePass, this.shutdownTimeoutMs).then(async (settled) => {
|
|
248
249
|
if (!settled) {
|
|
249
250
|
this.reportError(
|
|
250
|
-
new Error(
|
|
251
|
+
new Error(
|
|
252
|
+
`[Sixb] Ontology maintenance is still stopping after ${this.shutdownTimeoutMs}ms; waiting for active storage operations.`
|
|
253
|
+
)
|
|
251
254
|
)
|
|
252
255
|
}
|
|
256
|
+
await activePass
|
|
253
257
|
})
|
|
254
258
|
this.stopping = stopping.finally(() => {
|
|
255
259
|
this.stopping = null
|
package/src/maintenance/types.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface OntologyMaintenanceOptions {
|
|
|
7
7
|
readonly terminalSourceRetentionMs?: number
|
|
8
8
|
/** Maximum deletions attempted per cleanup domain and pass. Defaults to 1,000. */
|
|
9
9
|
readonly cleanupLimit?: number
|
|
10
|
-
/**
|
|
10
|
+
/** Warn after this shutdown grace period, then wait for active operations. Defaults to 30 seconds. */
|
|
11
11
|
readonly shutdownTimeoutMs?: number
|
|
12
12
|
}
|
|
13
13
|
|
|
@@ -24,8 +24,8 @@ function prefixMessage(message: string): string {
|
|
|
24
24
|
export class MaterializationValidationError extends OntologyValidationError {
|
|
25
25
|
readonly name: string = "MaterializationValidationError"
|
|
26
26
|
|
|
27
|
-
constructor(message: string) {
|
|
28
|
-
super(prefixMessage(message))
|
|
27
|
+
constructor(message: string, options?: ErrorOptions) {
|
|
28
|
+
super(prefixMessage(message), options)
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -3,6 +3,7 @@ import type { EventOrigin } from "../events/envelope"
|
|
|
3
3
|
import type { PropertyChange, PropertyChangeMap } from "../events/property-changes"
|
|
4
4
|
import type { JsonValue } from "../json"
|
|
5
5
|
import type { ProjectionProtocolIdentity, ProjectionRunFailureCode } from "../projections/types"
|
|
6
|
+
import type { ObjectVectorWrite } from "./vectors"
|
|
6
7
|
|
|
7
8
|
export type { ProjectionProtocolIdentity } from "../projections/types"
|
|
8
9
|
|
|
@@ -125,6 +126,7 @@ export type OntologyEditCommit =
|
|
|
125
126
|
readonly source:
|
|
126
127
|
| { readonly kind: "action"; readonly actionId: string; readonly runId: string }
|
|
127
128
|
| { readonly kind: "runtime"; readonly requestId: string }
|
|
129
|
+
readonly vectorWrites?: readonly ObjectVectorWrite[]
|
|
128
130
|
readonly expectedObjects: readonly ExpectedObjectRevision[]
|
|
129
131
|
readonly expectedLinks: readonly ExpectedLinkRevision[]
|
|
130
132
|
readonly expectedLinkScopes: readonly ExpectedLinkScopeRevision[]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ExpectedObjectRevision, OntologyObjectRef } from "./model"
|
|
2
|
+
|
|
3
|
+
/** Internal observation captured before embedding and fenced by the atomic vector write. */
|
|
4
|
+
export interface PreparedObjectVector {
|
|
5
|
+
readonly projectId: string
|
|
6
|
+
readonly ref: OntologyObjectRef
|
|
7
|
+
readonly profile: string
|
|
8
|
+
readonly configuration: string
|
|
9
|
+
readonly text: string
|
|
10
|
+
readonly sourceFingerprint: string
|
|
11
|
+
readonly expectedObject: Extract<ExpectedObjectRevision, { exists: true }>
|
|
12
|
+
readonly expectedVectorCommitId: string | null
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ObjectVectorWrite {
|
|
16
|
+
readonly input: PreparedObjectVector
|
|
17
|
+
readonly values: readonly number[]
|
|
18
|
+
}
|
|
@@ -17,7 +17,7 @@ runtime telemetry -> telemetry.append (origin: telemetry/runtime)
|
|
|
17
17
|
|
|
18
18
|
Committed facts are published from the transactional outbox after the commit resolves.
|
|
19
19
|
`OntologyOutboxDispatcher` owns that protocol: ingresses call `notify()` for prompt, non-blocking
|
|
20
|
-
in-process delivery
|
|
20
|
+
in-process delivery; `OntologyMaintenance` hosts recovery catch-up. Publication is
|
|
21
21
|
best effort — delivery may lag, but a committed fact is never lost.
|
|
22
22
|
|
|
23
23
|
## Common commit pipeline
|
|
@@ -124,3 +124,17 @@ finish still commit atomically.
|
|
|
124
124
|
Keep use-case entrypoints explicit. Share mechanics only after they have identical semantics; do
|
|
125
125
|
not hide projection candidate lifecycle, edit continuation, or telemetry batching behind a generic
|
|
126
126
|
workflow engine.
|
|
127
|
+
|
|
128
|
+
## Vector profiles
|
|
129
|
+
|
|
130
|
+
The SDK's explicit `index()` captures an internal `PreparedObjectVector`: object/profile identity,
|
|
131
|
+
configuration and source fingerprints, canonical input text, object revision and current vector
|
|
132
|
+
commit id. Source values stay local to preparation rather than being copied into the write payload.
|
|
133
|
+
Text is ordered JSON pairs of source names and values; missing/null values become `null`, while
|
|
134
|
+
empty strings remain distinct. The configuration includes an encoding version.
|
|
135
|
+
|
|
136
|
+
The configured model runs outside the transaction. Atomic edits then verify the object revision,
|
|
137
|
+
source/configuration fingerprints and vector commit id before storing validated float32 values.
|
|
138
|
+
An unrelated edit may conservatively reject in-flight indexing even when an existing vector remains
|
|
139
|
+
valid. A provider failure leaves the current representation untouched and is never retried here.
|
|
140
|
+
Effective-state changes invalidate affected profiles in the same transaction as the object write.
|
|
@@ -49,6 +49,16 @@ export function createMaterializerContext(input: {
|
|
|
49
49
|
"Materializer Ontology does not match the Ontology pinned by its projection registry."
|
|
50
50
|
)
|
|
51
51
|
}
|
|
52
|
+
if (
|
|
53
|
+
(!input.storage.ontology.vectors || !input.storage.ontology.vectorIndexing) &&
|
|
54
|
+
input.ontology
|
|
55
|
+
.listObjectTypes()
|
|
56
|
+
.some((type) => Object.keys(type.search?.vectors ?? {}).length > 0)
|
|
57
|
+
) {
|
|
58
|
+
throw new MaterializationValidationError(
|
|
59
|
+
"Storage does not support transactional vector profiles and automatic indexing."
|
|
60
|
+
)
|
|
61
|
+
}
|
|
52
62
|
const dependencies = input.dependencies ?? {}
|
|
53
63
|
const maxSerializationRetries = dependencies.maxSerializationRetries ?? 2
|
|
54
64
|
if (!Number.isSafeInteger(maxSerializationRetries) || maxSerializationRetries < 0) {
|
|
@@ -34,6 +34,8 @@ import { compileEditExecutionUnits, type EditExecutionUnit } from "./execution-u
|
|
|
34
34
|
import { loadEditWorkingState } from "./load-state"
|
|
35
35
|
import { applyEditOperation, type EditUndoJournal, undoEditJournal } from "./operations"
|
|
36
36
|
import { stageEditPlan } from "./plan"
|
|
37
|
+
import { authorizeVectorIndexingCommit } from "./vector-authority"
|
|
38
|
+
import { commitVectorWrites } from "./vectors"
|
|
37
39
|
import type { EditWorkingState } from "./working-state"
|
|
38
40
|
|
|
39
41
|
type NormalizedEditCommit = ReturnType<typeof normalizeOntologyEditCommit>
|
|
@@ -106,6 +108,7 @@ async function validateMutationExecution(
|
|
|
106
108
|
input: NormalizedEditCommit,
|
|
107
109
|
execution: MaterializerExecution
|
|
108
110
|
): Promise<void> {
|
|
111
|
+
if (await authorizeVectorIndexingCommit(storage, projectId, input, execution)) return
|
|
109
112
|
if (input.source.kind !== "action") {
|
|
110
113
|
assertRuntimeMutationExecution(execution)
|
|
111
114
|
return
|
|
@@ -182,7 +185,8 @@ async function executeEditTransaction(
|
|
|
182
185
|
workingState,
|
|
183
186
|
editPlanContext(command)
|
|
184
187
|
)
|
|
185
|
-
await drainStagedWork(context, storage
|
|
188
|
+
await drainStagedWork(context, storage, session)
|
|
189
|
+
await commitVectorWrites(context, storage, command.input, command.identity.commitId, session)
|
|
186
190
|
const eventCount = await drainStagedEvents(
|
|
187
191
|
context,
|
|
188
192
|
storage.ontology.materializations,
|
|
@@ -234,6 +238,9 @@ function buildEditCommit(
|
|
|
234
238
|
kind: "edit",
|
|
235
239
|
mode: command.input.mode,
|
|
236
240
|
operationCount: command.input.operations.length,
|
|
241
|
+
...(command.input.mode === "atomic" && command.input.vectorWrites?.length
|
|
242
|
+
? { vectorWriteCount: command.input.vectorWrites.length }
|
|
243
|
+
: {}),
|
|
237
244
|
},
|
|
238
245
|
committedAt: command.identity.committedAt,
|
|
239
246
|
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MaterializationConflictError,
|
|
3
|
+
MaterializationValidationError,
|
|
4
|
+
} from "../../materialization/errors"
|
|
5
|
+
import type { OntologyEditCommit } from "../../materialization/model"
|
|
6
|
+
import { objectRefKey } from "../../materialization/refs"
|
|
7
|
+
import type { ObjectVectorWrite } from "../../materialization/vectors"
|
|
8
|
+
import type { Storage } from "../../storage"
|
|
9
|
+
import type { VectorIndexingWork } from "../../storage/ontology/vector-indexing"
|
|
10
|
+
import type { MaterializerExecution } from "../execution/scope"
|
|
11
|
+
|
|
12
|
+
/** Kernel indexing can publish only its persisted results, never change business data. */
|
|
13
|
+
export async function authorizeVectorIndexingCommit(
|
|
14
|
+
storage: Storage,
|
|
15
|
+
projectId: string,
|
|
16
|
+
input: OntologyEditCommit,
|
|
17
|
+
execution: MaterializerExecution
|
|
18
|
+
): Promise<boolean> {
|
|
19
|
+
const executor = execution.scope.execution.executor
|
|
20
|
+
if (executor.type !== "kernel" || executor.operation.type !== "ontology.indexVectors")
|
|
21
|
+
return false
|
|
22
|
+
if (
|
|
23
|
+
input.mode !== "atomic" ||
|
|
24
|
+
input.source.kind !== "runtime" ||
|
|
25
|
+
input.operations.length ||
|
|
26
|
+
!input.vectorWrites?.length ||
|
|
27
|
+
input.expectedLinks.length ||
|
|
28
|
+
input.expectedLinkScopes.length
|
|
29
|
+
) {
|
|
30
|
+
throw new MaterializationValidationError(
|
|
31
|
+
"Vector indexing authority only permits its persisted vector writes."
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
const writes = input.vectorWrites!
|
|
35
|
+
const refs = new Set(writes.map((write) => objectRefKey(write.input.ref)))
|
|
36
|
+
if (
|
|
37
|
+
input.expectedObjects.length !== refs.size ||
|
|
38
|
+
input.expectedObjects.some((expected) => !refs.has(objectRefKey(expected.ref)))
|
|
39
|
+
) {
|
|
40
|
+
throw new MaterializationValidationError(
|
|
41
|
+
"Vector indexing must fence exactly its written objects."
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const indexing = storage.ontology.vectorIndexing
|
|
46
|
+
const indexingId = executor.operation.indexingId
|
|
47
|
+
const single = await indexing?.get({ projectId, id: indexingId })
|
|
48
|
+
if (single && writes.length !== 1) {
|
|
49
|
+
throw new MaterializationValidationError(
|
|
50
|
+
"Individual indexing authority only permits one vector write."
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Multi-object publication reads membership/results once, not once per object.
|
|
55
|
+
let members: readonly VectorIndexingWork[]
|
|
56
|
+
if (single) {
|
|
57
|
+
members = [single]
|
|
58
|
+
} else if (writes.length === 1) {
|
|
59
|
+
const member = await indexing?.getBatchMember({
|
|
60
|
+
projectId,
|
|
61
|
+
batchId: indexingId,
|
|
62
|
+
ref: writes[0]!.input.ref,
|
|
63
|
+
profile: writes[0]!.input.profile,
|
|
64
|
+
})
|
|
65
|
+
members = member ? [member] : []
|
|
66
|
+
} else {
|
|
67
|
+
members = (await indexing?.getBatch({ projectId, batchId: indexingId })) ?? []
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const byProfile = new Map(
|
|
71
|
+
members.map((work) => [JSON.stringify([objectRefKey(work.ref), work.profile]), work])
|
|
72
|
+
)
|
|
73
|
+
const source = execution.scope.execution.source
|
|
74
|
+
|
|
75
|
+
for (const write of writes) {
|
|
76
|
+
const work = byProfile.get(JSON.stringify([objectRefKey(write.input.ref), write.input.profile]))
|
|
77
|
+
if (!work || work.status !== "ready") {
|
|
78
|
+
throw new MaterializationConflictError(
|
|
79
|
+
"effective-state",
|
|
80
|
+
"Vector indexing work is no longer ready."
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
if (
|
|
84
|
+
source.type !== "ontologyCommit" ||
|
|
85
|
+
source.commitId !== work.sourceCommitId ||
|
|
86
|
+
!matchesStoredResult(write, work)
|
|
87
|
+
) {
|
|
88
|
+
throw new MaterializationValidationError(
|
|
89
|
+
"Vector indexing authority only permits its current prepared representation."
|
|
90
|
+
)
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return true
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function matchesStoredResult(write: ObjectVectorWrite, work: VectorIndexingWork): boolean {
|
|
97
|
+
const prepared = write.input
|
|
98
|
+
return (
|
|
99
|
+
prepared.ref.objectTypeId === work.ref.objectTypeId &&
|
|
100
|
+
prepared.ref.primaryId === work.ref.primaryId &&
|
|
101
|
+
prepared.profile === work.profile &&
|
|
102
|
+
prepared.configuration === work.configuration &&
|
|
103
|
+
prepared.sourceFingerprint === work.sourceFingerprint &&
|
|
104
|
+
work.values !== undefined &&
|
|
105
|
+
work.values.length === write.values.length &&
|
|
106
|
+
work.values.every((value, index) => value === write.values[index])
|
|
107
|
+
)
|
|
108
|
+
}
|