@sixb/core 0.1.11 → 0.1.13
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.d.ts +2 -2
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +33 -30
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +14 -16
- package/dist/actions/read-facade.d.ts.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-dispatch.d.ts +2 -0
- package/dist/actions/run-dispatch.d.ts.map +1 -1
- package/dist/actions/types/context.d.ts +18 -31
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/types/params.d.ts +11 -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 +52 -44
- 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/assert-never.d.ts +6 -0
- package/dist/assert-never.d.ts.map +1 -0
- package/dist/auth/client-address.d.ts +3 -0
- package/dist/auth/client-address.d.ts.map +1 -0
- package/dist/auth/csrf.d.ts +5 -1
- package/dist/auth/csrf.d.ts.map +1 -1
- package/dist/auth/index.d.ts +3 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +15 -7
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +58 -41
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/session-cache.d.ts +10 -3
- package/dist/auth/session-cache.d.ts.map +1 -1
- package/dist/auth/sessions.d.ts +12 -0
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/strategy.js +1 -1
- package/dist/auth/types.d.ts +8 -15
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.js +5 -4
- package/dist/authorization/index.js.map +1 -1
- package/dist/bootstrap/index.d.ts +1 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +54 -48
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/ontology-type-manifest.d.ts +8 -0
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/{chunk-q5gz3g2j.js → chunk-0321g649.js} +2 -16
- package/dist/{chunk-q5gz3g2j.js.map → chunk-0321g649.js.map} +2 -2
- package/dist/{chunk-d63nnr5b.js → chunk-04h4t2b5.js} +39 -53
- package/dist/{chunk-d63nnr5b.js.map → chunk-04h4t2b5.js.map} +5 -6
- package/dist/chunk-2fv8sajb.js +84 -0
- package/dist/chunk-2fv8sajb.js.map +10 -0
- package/dist/{chunk-1yefycb1.js → chunk-2hbhn1ff.js} +2 -2
- package/dist/{chunk-ap0g1g74.js → chunk-3nx8vj5a.js} +43 -6
- package/dist/chunk-3nx8vj5a.js.map +12 -0
- package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
- package/dist/{chunk-0y39rgsb.js → chunk-4tnrzqqh.js} +1 -1
- package/dist/chunk-58geavnf.js +29 -0
- package/dist/chunk-58geavnf.js.map +10 -0
- package/dist/{chunk-01kj2pbh.js → chunk-63fp9x3q.js} +97 -67
- package/dist/chunk-63fp9x3q.js.map +20 -0
- package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
- package/dist/chunk-69266efg.js.map +12 -0
- package/dist/{chunk-sepyxgpc.js → chunk-693f3zn8.js} +70 -28
- package/dist/chunk-693f3zn8.js.map +15 -0
- package/dist/{chunk-7zgecwy1.js → chunk-6x0pqh32.js} +12 -1
- package/dist/{chunk-7zgecwy1.js.map → chunk-6x0pqh32.js.map} +3 -3
- package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
- package/dist/{chunk-a0e6x5hd.js → chunk-898y24dd.js} +165 -90
- package/dist/chunk-898y24dd.js.map +15 -0
- package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
- package/dist/chunk-91kcnbf0.js.map +10 -0
- package/dist/{chunk-z0s4axeh.js → chunk-91wthfwe.js} +97 -21
- package/dist/{chunk-z0s4axeh.js.map → chunk-91wthfwe.js.map} +8 -7
- 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-g00bfdq6.js → chunk-9pfw47qx.js} +318 -257
- package/dist/chunk-9pfw47qx.js.map +44 -0
- package/dist/{chunk-5hz0fnca.js → chunk-a0073121.js} +64 -60
- package/dist/chunk-a0073121.js.map +12 -0
- package/dist/{chunk-cfvakeax.js → chunk-a69fkrtr.js} +5 -5
- package/dist/{chunk-72w2pxk7.js → chunk-bdhfn0ww.js} +11 -3
- package/dist/{chunk-72w2pxk7.js.map → chunk-bdhfn0ww.js.map} +3 -3
- package/dist/chunk-bep5rrdq.js +81 -0
- package/dist/chunk-bep5rrdq.js.map +10 -0
- package/dist/chunk-bxx3ms5t.js +29 -0
- package/dist/chunk-bxx3ms5t.js.map +10 -0
- package/dist/{chunk-v2vcg0w6.js → chunk-cbn96bve.js} +2 -2
- package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
- package/dist/chunk-cd234ba4.js.map +14 -0
- package/dist/{chunk-gq8vhakp.js → chunk-cvrbhvtr.js} +292 -104
- package/dist/chunk-cvrbhvtr.js.map +46 -0
- package/dist/{chunk-ms2tmn1k.js → chunk-d8yes9yx.js} +355 -100
- package/dist/chunk-d8yes9yx.js.map +20 -0
- package/dist/{chunk-pr2h4bv4.js → chunk-darm7eeg.js} +9 -9
- package/dist/{chunk-pr2h4bv4.js.map → chunk-darm7eeg.js.map} +3 -3
- package/dist/chunk-dmn70ztd.js.map +2 -2
- package/dist/chunk-drz59ve0.js +57 -0
- package/dist/chunk-drz59ve0.js.map +10 -0
- package/dist/{chunk-skz0hst3.js → chunk-dsfw1bdr.js} +6 -86
- package/dist/{chunk-skz0hst3.js.map → chunk-dsfw1bdr.js.map} +3 -3
- package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
- package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
- package/dist/chunk-ffwvdgk1.js +85 -0
- package/dist/chunk-ffwvdgk1.js.map +10 -0
- package/dist/chunk-gbcrz0gr.js +552 -0
- package/dist/chunk-gbcrz0gr.js.map +17 -0
- package/dist/{chunk-gqm76kse.js → chunk-gc226ten.js} +434 -177
- package/dist/chunk-gc226ten.js.map +62 -0
- package/dist/{chunk-awbhdqyc.js → chunk-gmt22nxx.js} +10 -16
- package/dist/chunk-gmt22nxx.js.map +10 -0
- package/dist/chunk-h89wz928.js +42 -0
- package/dist/chunk-h89wz928.js.map +10 -0
- package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
- package/dist/chunk-hgqpcmyr.js.map +12 -0
- package/dist/{chunk-gqh45d2n.js → chunk-ht4a7mjg.js} +76 -6
- package/dist/chunk-ht4a7mjg.js.map +15 -0
- package/dist/{chunk-x9m9x2eq.js → chunk-jhyc777j.js} +3 -3
- package/dist/{chunk-fh8kgex1.js → chunk-jmwy25mf.js} +76 -58
- package/dist/{chunk-fh8kgex1.js.map → chunk-jmwy25mf.js.map} +3 -3
- package/dist/{chunk-rb1xx120.js → chunk-k4kkp58d.js} +25 -8
- package/dist/chunk-k4kkp58d.js.map +11 -0
- package/dist/{chunk-jsy70480.js → chunk-ky7zpbtt.js} +366 -98
- package/dist/chunk-ky7zpbtt.js.map +19 -0
- package/dist/chunk-m4ehq95f.js +9 -0
- package/dist/chunk-m4ehq95f.js.map +10 -0
- package/dist/{chunk-17kfctj6.js → chunk-m8zkvep1.js} +2 -2
- package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
- package/dist/chunk-mdnw7nj8.js.map +15 -0
- package/dist/{chunk-4zhmdsx6.js → chunk-mf6hwpzh.js} +121 -28
- package/dist/{chunk-4zhmdsx6.js.map → chunk-mf6hwpzh.js.map} +6 -6
- package/dist/{chunk-z30bv4ga.js → chunk-mr60an99.js} +5 -3
- package/dist/{chunk-z30bv4ga.js.map → chunk-mr60an99.js.map} +3 -3
- package/dist/chunk-n33e8dz8.js +191 -0
- package/dist/chunk-n33e8dz8.js.map +11 -0
- package/dist/chunk-p1683c0v.js +104 -0
- package/dist/chunk-p1683c0v.js.map +11 -0
- package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
- package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
- package/dist/chunk-rdghfsss.js.map +10 -0
- package/dist/{chunk-ftv470j8.js → chunk-rqtdtm43.js} +365 -67
- package/dist/chunk-rqtdtm43.js.map +50 -0
- package/dist/{chunk-dz5h08xv.js → chunk-rzcjp5m2.js} +28 -9
- package/dist/chunk-rzcjp5m2.js.map +25 -0
- package/dist/{chunk-f4w3yp4f.js → chunk-rzkr70gr.js} +108 -21
- package/dist/chunk-rzkr70gr.js.map +13 -0
- package/dist/{chunk-3ckk0xfj.js → chunk-s24qbp32.js} +18 -13
- package/dist/{chunk-3ckk0xfj.js.map → chunk-s24qbp32.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-93csa55g.js → chunk-tw03bsmb.js} +11 -5
- package/dist/chunk-tw03bsmb.js.map +11 -0
- package/dist/chunk-vef6qa14.js +363 -0
- package/dist/chunk-vef6qa14.js.map +14 -0
- package/dist/{chunk-92vk7gta.js → chunk-vn3yh259.js} +1 -1
- package/dist/{chunk-g91qxjj0.js → chunk-w9bp61e7.js} +5 -5
- package/dist/{chunk-b19g04jk.js → chunk-xgptywp0.js} +4 -3
- package/dist/chunk-xgptywp0.js.map +11 -0
- 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-1824gssz.js → chunk-y487ywrv.js} +4 -4
- package/dist/{chunk-7apz6hg4.js → chunk-y6vnvayj.js} +8 -4
- package/dist/chunk-y6vnvayj.js.map +10 -0
- package/dist/{chunk-wf88w4kp.js → chunk-ypj2wqtj.js} +3 -6
- package/dist/{chunk-wf88w4kp.js.map → chunk-ypj2wqtj.js.map} +4 -4
- package/dist/chunk-z3y5kg1x.js +14 -0
- package/dist/chunk-z3y5kg1x.js.map +10 -0
- package/dist/{chunk-38zv5rkr.js → chunk-z9h698s8.js} +1 -1
- package/dist/{chunk-38zv5rkr.js.map → chunk-z9h698s8.js.map} +2 -2
- package/dist/{chunk-8vj0rjgs.js → chunk-zdkcdshk.js} +3 -36
- package/dist/{chunk-8vj0rjgs.js.map → chunk-zdkcdshk.js.map} +3 -4
- package/dist/{chunk-358caqf5.js → chunk-znw0zvy4.js} +2 -2
- 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/edits/types.d.ts +19 -19
- package/dist/edits/types.d.ts.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 +16 -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/envelope.d.ts +0 -12
- package/dist/events/envelope.d.ts.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -4
- package/dist/events/index.js.map +1 -1
- package/dist/events/service.d.ts +1 -2
- package/dist/events/service.d.ts.map +1 -1
- package/dist/events/toStoredEvent.d.ts +1 -2
- package/dist/events/toStoredEvent.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +2 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +1 -2
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +48 -43
- 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.d.ts +1 -2
- package/dist/execution/primitive.d.ts.map +1 -1
- package/dist/execution/primitive.js +47 -42
- package/dist/execution/primitive.js.map +3 -3
- package/dist/execution/request.d.ts +1 -2
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +48 -43
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/types.d.ts +6 -0
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/index.d.ts +20 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +77 -62
- 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/maintenance/ontology-maintenance.d.ts +11 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/materialization/errors.d.ts +4 -2
- package/dist/materialization/errors.d.ts.map +1 -1
- package/dist/materialization/events.d.ts +27 -2
- package/dist/materialization/events.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/operations.d.ts +2 -1
- package/dist/materializer/edits/operations.d.ts.map +1 -1
- package/dist/materializer/edits/plan.d.ts +2 -2
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/edits/user-refs.d.ts +30 -0
- package/dist/materializer/edits/user-refs.d.ts.map +1 -0
- 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/build-events.d.ts +2 -2
- package/dist/materializer/effective/build-events.d.ts.map +1 -1
- 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/scope.d.ts +11 -3
- package/dist/materializer/execution/scope.d.ts.map +1 -1
- 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 +30 -27
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts +2 -0
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts +2 -2
- package/dist/materializer/telemetry/plan.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 +1 -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 +32 -27
- 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 +21 -26
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +33 -30
- 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 +42 -30
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +14 -3
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/scalar-values.d.ts.map +1 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts +6 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -3
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-builder.d.ts +8 -10
- package/dist/objects/sdk/query-builder.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/sdk/telemetry-channel.d.ts +1 -2
- package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
- package/dist/objects/sdk/where.d.ts +2 -3
- package/dist/objects/sdk/where.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/builders.d.ts +11 -10
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/index.d.ts +5 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +7 -5
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +34 -22
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +1 -0
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +10 -7
- package/dist/ontology/internal.js.map +1 -1
- package/dist/ontology/primitives.d.ts +38 -0
- package/dist/ontology/primitives.d.ts.map +1 -0
- package/dist/ontology/query-capabilities.d.ts +38 -0
- package/dist/ontology/query-capabilities.d.ts.map +1 -0
- package/dist/ontology/refs.d.ts +23 -2
- package/dist/ontology/refs.d.ts.map +1 -1
- package/dist/ontology/registered.d.ts +16 -0
- package/dist/ontology/registered.d.ts.map +1 -0
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +35 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +26 -13
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/user-ref.d.ts +35 -0
- package/dist/ontology/user-ref.d.ts.map +1 -0
- package/dist/ontology/validation/definition.d.ts +3 -0
- package/dist/ontology/validation/definition.d.ts.map +1 -0
- package/dist/ontology/validation/index.d.ts +1 -1
- package/dist/ontology/validation/index.d.ts.map +1 -1
- package/dist/ontology/validation/normalize.d.ts.map +1 -1
- package/dist/ontology/validation/properties.d.ts +6 -1
- 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 +32 -29
- package/dist/pipelines/index.js.map +1 -1
- package/dist/predicates/types.d.ts +53 -3
- package/dist/predicates/types.d.ts.map +1 -1
- package/dist/projections/builders.d.ts +19 -1
- package/dist/projections/builders.d.ts.map +1 -1
- package/dist/projections/internal.js +28 -25
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/validation.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +3 -2
- 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 +10 -7
- 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 +3 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +49 -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 +11 -6
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +182 -187
- 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 +39 -4
- 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 +48 -0
- package/dist/shared/params/types.d.ts.map +1 -0
- package/dist/shared/params/user-refs.d.ts +19 -0
- package/dist/shared/params/user-refs.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/compiler.d.ts.map +1 -1
- package/dist/shares/internal.js +29 -26
- 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/action-runs/types.d.ts +1 -1
- package/dist/storage/action-runs/types.d.ts.map +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/auth/in-memory/access-tokens.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/sessions.d.ts +8 -1
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +1 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +62 -13
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +3 -2
- package/dist/storage/connector-connections/provider.js.map +2 -2
- 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/file-upload-sessions/in-memory.d.ts +9 -18
- package/dist/storage/file-upload-sessions/in-memory.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/index.d.ts +1 -1
- package/dist/storage/file-upload-sessions/index.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.d.ts +52 -0
- package/dist/storage/file-upload-sessions/provider.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/provider.js +24 -0
- package/dist/storage/file-upload-sessions/provider.js.map +9 -0
- package/dist/storage/file-upload-sessions/types.d.ts +19 -1
- package/dist/storage/file-upload-sessions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/utils.d.ts +8 -2
- package/dist/storage/file-upload-sessions/utils.d.ts.map +1 -1
- package/dist/storage/index.d.ts +8 -6
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +37 -30
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.js +11 -9
- package/dist/storage/internal.js.map +1 -1
- 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 +7 -2
- 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/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +14 -1
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +9 -3
- package/dist/storage/ontology/provider.js.map +1 -1
- 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 +2 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-interventions/index.d.ts +1 -1
- package/dist/storage/workflow-interventions/index.d.ts.map +1 -1
- package/dist/storage/workflow-interventions/types.d.ts +5 -8
- package/dist/storage/workflow-interventions/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +10 -8
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +33 -30
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/action-execution.d.ts +4 -0
- package/dist/testing/action-execution.d.ts.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/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution.d.ts +1 -2
- package/dist/testing/execution.d.ts.map +1 -1
- package/dist/testing/file-upload-session-storage-contract.d.ts +12 -0
- package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -0
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2351 -1263
- package/dist/testing/index.js.map +19 -17
- package/dist/testing/materializer-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-contract-fixture.d.ts +8 -0
- 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/queues-contract.d.ts.map +1 -1
- package/dist/testing/sandboxes-contract.d.ts.map +1 -1
- package/dist/testing/workflow-intervention-storage-contract.d.ts +8 -0
- package/dist/testing/workflow-intervention-storage-contract.d.ts.map +1 -0
- package/dist/webhooks/internal.js +29 -26
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/webhooks/types.d.ts +2 -2
- package/dist/webhooks/types.d.ts.map +1 -1
- 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 +51 -45
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/run-dispatch.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +2 -2
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/actions/builders/params.ts +1 -48
- package/src/actions/index.ts +0 -3
- package/src/actions/read-facade.ts +102 -62
- package/src/actions/request.ts +13 -0
- package/src/actions/run-dispatch.ts +3 -0
- package/src/actions/types/context.ts +17 -65
- package/src/actions/types/params.ts +16 -75
- package/src/actions/validation.ts +7 -84
- package/src/agents/authority.ts +1 -1
- 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/request.ts +11 -0
- package/src/agents/sandbox.ts +44 -0
- package/src/agents/validation.ts +2 -108
- package/src/assert-never.ts +7 -0
- package/src/auth/client-address.ts +12 -0
- package/src/auth/csrf.ts +14 -5
- package/src/auth/index.ts +3 -2
- package/src/auth/runtime.ts +299 -277
- package/src/auth/session-cache.ts +18 -6
- package/src/auth/sessions.ts +30 -0
- package/src/auth/types.ts +7 -17
- package/src/bootstrap/index.ts +1 -0
- package/src/bootstrap/ontology-type-manifest.ts +112 -60
- package/src/datasets/validation.ts +40 -11
- package/src/datasets/write.ts +8 -11
- package/src/edits/types.ts +47 -63
- 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 +16 -0
- package/src/errors/failure-message.ts +15 -0
- package/src/errors/internal.ts +57 -25
- package/src/events/envelope.ts +0 -13
- package/src/events/index.ts +1 -1
- package/src/events/service.ts +1 -11
- package/src/events/toStoredEvent.ts +1 -3
- package/src/events/types/index.ts +1 -1
- package/src/execution/agent.ts +1 -2
- package/src/execution/authorization.ts +12 -5
- package/src/execution/authorized-object-reader.ts +42 -9
- package/src/execution/kernel-operation.ts +27 -0
- package/src/execution/primitive.ts +1 -2
- package/src/execution/request.ts +1 -2
- package/src/execution/scopes.ts +2 -0
- package/src/execution/types.ts +4 -4
- package/src/index.ts +68 -8
- package/src/lake-storage/in-memory.ts +5 -3
- package/src/maintenance/ontology-maintenance.ts +77 -1
- package/src/materialization/errors.ts +4 -2
- package/src/materialization/events.ts +27 -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 +16 -0
- package/src/materializer/context.ts +10 -0
- package/src/materializer/edits/commit.ts +29 -13
- package/src/materializer/edits/operations.ts +32 -4
- package/src/materializer/edits/plan.ts +4 -5
- package/src/materializer/edits/user-refs.ts +115 -0
- package/src/materializer/edits/vector-authority.ts +108 -0
- package/src/materializer/edits/vectors.ts +100 -0
- package/src/materializer/effective/build-events.ts +4 -5
- 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/scope.ts +40 -7
- package/src/materializer/execution/work-executor.ts +11 -3
- package/src/materializer/projections/replace.ts +3 -1
- package/src/materializer/projections/replacement-plan.ts +4 -0
- package/src/materializer/shared/normalize.ts +11 -0
- package/src/materializer/telemetry/append.ts +5 -13
- package/src/materializer/telemetry/plan.ts +4 -5
- 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 +1 -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 +1 -2
- package/src/objects/authorized-ontology-view.ts +12 -8
- package/src/objects/execution.ts +34 -61
- package/src/objects/query/executor.ts +25 -7
- package/src/objects/query/explain.ts +7 -2
- package/src/objects/query/index.ts +2 -0
- package/src/objects/query/ir.ts +13 -2
- package/src/objects/query/normalize.ts +5 -1
- package/src/objects/query/planner.ts +1 -0
- package/src/objects/query/scalar-values.ts +19 -0
- package/src/objects/query/validate.ts +129 -117
- package/src/objects/sdk/object-handle.ts +11 -8
- package/src/objects/sdk/object-set.ts +9 -15
- package/src/objects/sdk/query-builder.ts +66 -72
- package/src/objects/sdk/query-executor.ts +2 -1
- package/src/objects/sdk/runtime-query-executor.ts +6 -2
- package/src/objects/sdk/telemetry-channel.ts +6 -7
- package/src/objects/sdk/where.ts +6 -13
- 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/builders.ts +15 -11
- package/src/ontology/index.ts +6 -0
- package/src/ontology/inference/index.ts +56 -36
- package/src/ontology/internal.ts +1 -0
- package/src/ontology/json-schema.ts +12 -0
- package/src/ontology/primitives.ts +91 -0
- package/src/ontology/query-capabilities.ts +136 -0
- package/src/ontology/refs.ts +33 -6
- package/src/ontology/registered.ts +22 -0
- package/src/ontology/registry.ts +14 -3
- package/src/ontology/tokens.ts +41 -2
- package/src/ontology/types.ts +28 -12
- package/src/ontology/user-ref.ts +120 -0
- package/src/ontology/validation/definition.ts +93 -0
- package/src/ontology/validation/index.ts +1 -0
- package/src/ontology/validation/normalize.ts +39 -3
- package/src/ontology/validation/properties.ts +109 -23
- package/src/ontology/validation/query.ts +44 -92
- package/src/ontology/validation/schema.ts +101 -23
- package/src/ontology/vector-profiles.ts +35 -0
- package/src/predicates/types.ts +43 -33
- package/src/projections/builders.ts +24 -3
- package/src/projections/validation.ts +15 -1
- 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 +44 -10
- package/src/runtime/index.ts +3 -2
- package/src/runtime/internal.ts +3 -0
- package/src/runtime/resolve-definitions.ts +19 -1
- package/src/runtime/sixb.ts +25 -17
- package/src/runtime/types.ts +288 -478
- 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 +42 -4
- package/src/shared/params/builders.ts +50 -0
- package/src/shared/params/types.ts +85 -0
- package/src/shared/params/user-refs.ts +48 -0
- package/src/shared/params/validation.ts +114 -0
- package/src/shares/compiler.ts +6 -16
- package/src/storage/action-runs/types.ts +1 -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/auth/in-memory/access-tokens.ts +5 -2
- package/src/storage/auth/in-memory/auth-storage.ts +5 -8
- package/src/storage/auth/in-memory/device-authorizations.ts +0 -2
- package/src/storage/auth/in-memory/sessions.ts +69 -1
- package/src/storage/auth/in-memory/shared.ts +13 -7
- package/src/storage/auth/index.ts +2 -1
- package/src/storage/auth/types.ts +57 -13
- package/src/storage/executions/provider.ts +24 -12
- package/src/storage/executions/types.ts +1 -0
- package/src/storage/executions/validation.ts +8 -4
- package/src/storage/file-upload-sessions/in-memory.ts +64 -113
- package/src/storage/file-upload-sessions/index.ts +1 -0
- package/src/storage/file-upload-sessions/provider.ts +258 -0
- package/src/storage/file-upload-sessions/types.ts +20 -1
- package/src/storage/file-upload-sessions/utils.ts +25 -9
- package/src/storage/index.ts +18 -3
- package/src/storage/objects/in-memory/query.ts +38 -14
- 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 +7 -2
- package/src/storage/ontology/in-memory/index.ts +20 -0
- package/src/storage/ontology/in-memory/materializations.ts +19 -34
- package/src/storage/ontology/in-memory/shared-state.ts +9 -0
- 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/provider-header-validation.ts +57 -0
- package/src/storage/ontology/provider-work.ts +15 -3
- package/src/storage/ontology/provider.ts +59 -1
- package/src/storage/ontology/vector-indexing.ts +98 -0
- package/src/storage/ontology/vectors.ts +48 -0
- package/src/storage/operation-scope.ts +2 -0
- package/src/storage/types.ts +3 -1
- package/src/storage/workflow-interventions/index.ts +0 -1
- package/src/storage/workflow-interventions/types.ts +5 -9
- package/src/testing/action-execution.ts +13 -3
- package/src/testing/agent-storage-contract.ts +246 -0
- package/src/testing/ai-cost-storage-contract.ts +134 -0
- package/src/testing/auth-storage-contract.ts +149 -62
- package/src/testing/execution-storage-contract.ts +1 -2
- package/src/testing/execution.ts +4 -7
- package/src/testing/file-upload-session-storage-contract.ts +335 -0
- package/src/testing/index.ts +8 -0
- package/src/testing/materializer-storage-contract.ts +86 -4
- package/src/testing/object-query-contract.ts +162 -27
- package/src/testing/object-read-scope-contract.ts +1 -5
- package/src/testing/ontology-contract-fixture.ts +23 -3
- package/src/testing/ontology-storage-contract.ts +58 -0
- package/src/testing/queues-contract.ts +31 -0
- package/src/testing/sandboxes-contract.ts +27 -0
- package/src/testing/workflow-intervention-storage-contract.ts +203 -0
- package/src/webhooks/types.ts +2 -2
- package/src/workflows/failure.ts +10 -4
- package/src/workflows/run-dispatch.ts +12 -1
- package/src/workflows/snapshot.ts +16 -7
- package/src/workflows/types.ts +2 -2
- package/src/workflows/validation.ts +2 -2
- package/dist/chunk-01kj2pbh.js.map +0 -19
- package/dist/chunk-5hz0fnca.js.map +0 -12
- package/dist/chunk-653vwrzr.js.map +0 -10
- 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-a0e6x5hd.js.map +0 -14
- package/dist/chunk-aa6z4a19.js.map +0 -12
- package/dist/chunk-ap0g1g74.js.map +0 -11
- package/dist/chunk-awbhdqyc.js.map +0 -10
- package/dist/chunk-b19g04jk.js.map +0 -11
- package/dist/chunk-dz5h08xv.js.map +0 -25
- package/dist/chunk-f0rwz2vh.js.map +0 -11
- package/dist/chunk-f4w3yp4f.js.map +0 -12
- package/dist/chunk-ftv470j8.js.map +0 -45
- package/dist/chunk-g00bfdq6.js.map +0 -43
- package/dist/chunk-gq8vhakp.js.map +0 -44
- package/dist/chunk-gqh45d2n.js.map +0 -15
- package/dist/chunk-gqm76kse.js.map +0 -58
- package/dist/chunk-jsy70480.js.map +0 -15
- package/dist/chunk-mrp7k0pw.js.map +0 -10
- package/dist/chunk-ms2tmn1k.js.map +0 -17
- package/dist/chunk-rb1xx120.js.map +0 -11
- package/dist/chunk-sepyxgpc.js.map +0 -15
- package/dist/chunk-yv79ncbv.js.map +0 -10
- package/dist/chunk-z0271qkp.js.map +0 -15
- package/dist/chunk-z3y411fq.js +0 -99
- package/dist/chunk-z3y411fq.js.map +0 -11
- /package/dist/{chunk-1yefycb1.js.map → chunk-2hbhn1ff.js.map} +0 -0
- /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
- /package/dist/{chunk-0y39rgsb.js.map → chunk-4tnrzqqh.js.map} +0 -0
- /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
- /package/dist/{chunk-cfvakeax.js.map → chunk-a69fkrtr.js.map} +0 -0
- /package/dist/{chunk-v2vcg0w6.js.map → chunk-cbn96bve.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-x9m9x2eq.js.map → chunk-jhyc777j.js.map} +0 -0
- /package/dist/{chunk-17kfctj6.js.map → chunk-m8zkvep1.js.map} +0 -0
- /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
- /package/dist/{chunk-92vk7gta.js.map → chunk-vn3yh259.js.map} +0 -0
- /package/dist/{chunk-g91qxjj0.js.map → chunk-w9bp61e7.js.map} +0 -0
- /package/dist/{chunk-1824gssz.js.map → chunk-y487ywrv.js.map} +0 -0
- /package/dist/{chunk-358caqf5.js.map → chunk-znw0zvy4.js.map} +0 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import type { OntologyMaterializerContract } from "../../materializer/materializer"
|
|
2
|
+
import type { EmbeddingBatchLimits } from "../../models/embedding-model"
|
|
3
|
+
import type { SixbHostContext } from "../../runtime/types"
|
|
4
|
+
import type { VectorIndexingWork } from "../../storage/ontology/vector-indexing"
|
|
5
|
+
import { generateVectors, type PreparedIndexingWork } from "./indexing-generate"
|
|
6
|
+
import { indexingScope, prepare, VectorIndexingDeferred } from "./indexing-shared"
|
|
7
|
+
import { processVector } from "./indexing-single"
|
|
8
|
+
import { storeVectorBatch } from "./indexing-store-batch"
|
|
9
|
+
|
|
10
|
+
/** Membership was persisted by one projection commit; there is no fill timer or memory queue. */
|
|
11
|
+
export async function processVectorBatch(
|
|
12
|
+
runtime: SixbHostContext,
|
|
13
|
+
materializer: OntologyMaterializerContract,
|
|
14
|
+
batchId: string,
|
|
15
|
+
batch: readonly VectorIndexingWork[],
|
|
16
|
+
attempt: number,
|
|
17
|
+
signal: AbortSignal
|
|
18
|
+
): Promise<void> {
|
|
19
|
+
if (batch.some((work) => work.status !== "pending")) {
|
|
20
|
+
await resumeBatch(runtime, materializer, batchId, batch, attempt, signal)
|
|
21
|
+
return
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const entries = await prepareBatch(runtime, batch, signal)
|
|
25
|
+
const first = entries[0]
|
|
26
|
+
if (!first) return
|
|
27
|
+
|
|
28
|
+
const limits = getBatchLimits(runtime, first.work)
|
|
29
|
+
if (!limits) {
|
|
30
|
+
// Unknown provider batch limits: embed each object/profile individually.
|
|
31
|
+
for (const { work } of entries) {
|
|
32
|
+
await processVector(runtime, materializer, work.id, attempt, signal)
|
|
33
|
+
}
|
|
34
|
+
return
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
assertCompatibleEntries(entries, first.work)
|
|
38
|
+
const scope = await indexingScope(runtime, first.work, batchId)
|
|
39
|
+
|
|
40
|
+
for (const group of partition(entries, limits)) {
|
|
41
|
+
if (group.length === 1) {
|
|
42
|
+
await processVector(runtime, materializer, group[0]!.work.id, attempt, signal)
|
|
43
|
+
} else {
|
|
44
|
+
await generateVectors(runtime, group, scope, attempt, signal)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
await storeVectorBatch(runtime, materializer, batchId, scope, signal)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** Resume storage or terminalize interrupted calls; never repeat paid inference. */
|
|
52
|
+
async function resumeBatch(
|
|
53
|
+
runtime: SixbHostContext,
|
|
54
|
+
materializer: OntologyMaterializerContract,
|
|
55
|
+
batchId: string,
|
|
56
|
+
batch: readonly VectorIndexingWork[],
|
|
57
|
+
attempt: number,
|
|
58
|
+
signal: AbortSignal
|
|
59
|
+
): Promise<void> {
|
|
60
|
+
const ready = batch.find((work) => work.status === "ready")
|
|
61
|
+
if (ready) {
|
|
62
|
+
const scope = await indexingScope(runtime, ready, batchId)
|
|
63
|
+
await storeVectorBatch(runtime, materializer, batchId, scope, signal)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
for (const work of batch) {
|
|
67
|
+
if (work.status !== "ready") {
|
|
68
|
+
await processVector(runtime, materializer, work.id, attempt, signal)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async function prepareBatch(
|
|
74
|
+
runtime: SixbHostContext,
|
|
75
|
+
batch: readonly VectorIndexingWork[],
|
|
76
|
+
signal: AbortSignal
|
|
77
|
+
): Promise<PreparedIndexingWork[]> {
|
|
78
|
+
const availableAt = batch.reduce(
|
|
79
|
+
(latest, work) => (work.availableAt > latest ? work.availableAt : latest),
|
|
80
|
+
""
|
|
81
|
+
)
|
|
82
|
+
if (Date.parse(availableAt) > Date.now()) {
|
|
83
|
+
throw new VectorIndexingDeferred(availableAt)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const entries: PreparedIndexingWork[] = []
|
|
87
|
+
const indexing = runtime.storage.ontology.vectorIndexing!
|
|
88
|
+
|
|
89
|
+
for (const work of batch) {
|
|
90
|
+
signal.throwIfAborted()
|
|
91
|
+
const input = await prepare(runtime, work)
|
|
92
|
+
|
|
93
|
+
if (input) {
|
|
94
|
+
entries.push({ work, input })
|
|
95
|
+
} else {
|
|
96
|
+
await indexing.remove({ projectId: runtime.projectId, id: work.id })
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return entries
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function getBatchLimits(
|
|
104
|
+
runtime: SixbHostContext,
|
|
105
|
+
work: VectorIndexingWork
|
|
106
|
+
): EmbeddingBatchLimits | undefined {
|
|
107
|
+
const profile = runtime.ontology.resolveObjectType(work.ref.objectTypeId).search!.vectors![
|
|
108
|
+
work.profile
|
|
109
|
+
]!
|
|
110
|
+
|
|
111
|
+
return runtime.embeddingModels?.getByRef({
|
|
112
|
+
provider: profile.model.providerId,
|
|
113
|
+
modelId: profile.model.modelId,
|
|
114
|
+
})?.model.batching
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/** Do not mix commits or configurations, even with malformed storage membership. */
|
|
118
|
+
function assertCompatibleEntries(
|
|
119
|
+
entries: readonly PreparedIndexingWork[],
|
|
120
|
+
reference: VectorIndexingWork
|
|
121
|
+
): void {
|
|
122
|
+
const incompatible = entries.some(
|
|
123
|
+
({ work }) =>
|
|
124
|
+
work.sourceCommitId !== reference.sourceCommitId ||
|
|
125
|
+
work.ref.objectTypeId !== reference.ref.objectTypeId ||
|
|
126
|
+
work.profile !== reference.profile ||
|
|
127
|
+
work.configuration !== reference.configuration
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
if (incompatible) {
|
|
131
|
+
throw new Error("[Sixb] Incompatible vector batch membership.")
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/** Split an already durable, bounded page; never wait for more work or truncate input. */
|
|
136
|
+
function* partition(entries: readonly PreparedIndexingWork[], limits: EmbeddingBatchLimits) {
|
|
137
|
+
let group: PreparedIndexingWork[] = []
|
|
138
|
+
let bytes = 0
|
|
139
|
+
|
|
140
|
+
for (const entry of entries) {
|
|
141
|
+
const size = Buffer.byteLength(entry.input.text)
|
|
142
|
+
const exceedsGroupLimit =
|
|
143
|
+
group.length >= limits.maxInputs ||
|
|
144
|
+
bytes + size > limits.maxTotalInputBytes ||
|
|
145
|
+
size > limits.maxInputBytes
|
|
146
|
+
|
|
147
|
+
if (group.length > 0 && exceedsGroupLimit) {
|
|
148
|
+
yield group
|
|
149
|
+
group = []
|
|
150
|
+
bytes = 0
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (size > limits.maxInputBytes || size > limits.maxTotalInputBytes) {
|
|
154
|
+
yield [entry]
|
|
155
|
+
continue
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
group.push(entry)
|
|
159
|
+
bytes += size
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (group.length > 0) yield group
|
|
163
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { createSixbError, isSixbError } from "../../errors/internal"
|
|
2
|
+
import type { ExecutionScope } from "../../execution/types"
|
|
3
|
+
import type { PreparedObjectVector } from "../../materialization/vectors"
|
|
4
|
+
import {
|
|
5
|
+
EmbeddingModelResponseError,
|
|
6
|
+
type EmbeddingModelResult,
|
|
7
|
+
sameEmbeddingModel,
|
|
8
|
+
} from "../../models/embedding-model"
|
|
9
|
+
import { bindEmbeddingModels } from "../../models/execution/embedding"
|
|
10
|
+
import { ModelExecutionSession } from "../../models/execution/session"
|
|
11
|
+
import type { SixbHostContext } from "../../runtime/types"
|
|
12
|
+
import type { VectorIndexingWork } from "../../storage/ontology/vector-indexing"
|
|
13
|
+
import { fail, retryAt, VectorIndexingDeferred } from "./indexing-shared"
|
|
14
|
+
import { normalizeVector } from "./profile"
|
|
15
|
+
|
|
16
|
+
export interface PreparedIndexingWork {
|
|
17
|
+
readonly work: VectorIndexingWork
|
|
18
|
+
readonly input: PreparedObjectVector
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
interface GenerationAttempt {
|
|
22
|
+
readonly runtime: SixbHostContext
|
|
23
|
+
readonly entries: readonly PreparedIndexingWork[]
|
|
24
|
+
readonly signal: AbortSignal
|
|
25
|
+
/** Running means the durable claim succeeded; budget admission may still be pending. */
|
|
26
|
+
phase: "pending" | "claiming" | "running"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** One accounted provider call, with durable admission and atomic result persistence. */
|
|
30
|
+
export async function generateVectors(
|
|
31
|
+
runtime: SixbHostContext,
|
|
32
|
+
entries: readonly PreparedIndexingWork[],
|
|
33
|
+
scope: ExecutionScope,
|
|
34
|
+
attempt: number,
|
|
35
|
+
signal: AbortSignal
|
|
36
|
+
): Promise<void> {
|
|
37
|
+
const first = entries[0]!
|
|
38
|
+
const profile = runtime.ontology.resolveObjectType(first.work.ref.objectTypeId).search!.vectors![
|
|
39
|
+
first.work.profile
|
|
40
|
+
]!
|
|
41
|
+
const generation: GenerationAttempt = { runtime, entries, signal, phase: "pending" }
|
|
42
|
+
|
|
43
|
+
const session = new ModelExecutionSession(
|
|
44
|
+
{ ...runtime, runtimeAuthorization: scope.authorization },
|
|
45
|
+
scope.execution
|
|
46
|
+
)
|
|
47
|
+
session.bind({
|
|
48
|
+
attempt,
|
|
49
|
+
signal,
|
|
50
|
+
embeddingAdmission: (admit) => admitGeneration(generation, admit),
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
try {
|
|
54
|
+
const model = bindEmbeddingModels(runtime.embeddingModels, session)?.getByRef({
|
|
55
|
+
provider: profile.model.providerId,
|
|
56
|
+
modelId: profile.model.modelId,
|
|
57
|
+
})?.model
|
|
58
|
+
|
|
59
|
+
if (!model || !sameEmbeddingModel(model, profile.model)) {
|
|
60
|
+
throw createSixbError(
|
|
61
|
+
"vector.model_unavailable",
|
|
62
|
+
"[Sixb] Vector indexing requires the profile's configured embedding model."
|
|
63
|
+
)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const result = await model.embed({ texts: entries.map((entry) => entry.input.text), signal })
|
|
67
|
+
const values = normalizeEmbeddingResult(
|
|
68
|
+
result,
|
|
69
|
+
entries.length,
|
|
70
|
+
profile.model.definition.dimensions
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
// Persist every surviving result atomically before any vector is published.
|
|
74
|
+
await runtime.storage.ontology.vectorIndexing!.updateBatch({
|
|
75
|
+
projectId: runtime.projectId,
|
|
76
|
+
updates: entries.map(({ work }, index) => ({
|
|
77
|
+
id: work.id,
|
|
78
|
+
expectedStatus: "running",
|
|
79
|
+
status: "ready",
|
|
80
|
+
values: values[index]!,
|
|
81
|
+
availableAt: new Date().toISOString(),
|
|
82
|
+
})),
|
|
83
|
+
})
|
|
84
|
+
} catch (error) {
|
|
85
|
+
await handleGenerationFailure(generation, error)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async function admitGeneration(
|
|
90
|
+
generation: GenerationAttempt,
|
|
91
|
+
admit: () => Promise<void>
|
|
92
|
+
): Promise<void> {
|
|
93
|
+
generation.signal.throwIfAborted()
|
|
94
|
+
generation.phase = "claiming"
|
|
95
|
+
|
|
96
|
+
const claimed = await transitionWork(generation, "pending", "running", { requireAll: true })
|
|
97
|
+
generation.phase = claimed ? "running" : "pending"
|
|
98
|
+
|
|
99
|
+
if (!claimed) {
|
|
100
|
+
if (generation.entries.length === 1) {
|
|
101
|
+
throw new Error("[Sixb] Vector indexing request was superseded.")
|
|
102
|
+
}
|
|
103
|
+
throw new VectorIndexingDeferred(new Date().toISOString())
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
try {
|
|
107
|
+
await admit()
|
|
108
|
+
} catch (error) {
|
|
109
|
+
await transitionWork(generation, "running", "pending")
|
|
110
|
+
generation.phase = "pending"
|
|
111
|
+
throw error
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function normalizeEmbeddingResult(
|
|
116
|
+
result: EmbeddingModelResult,
|
|
117
|
+
count: number,
|
|
118
|
+
dimensions: number
|
|
119
|
+
): readonly (readonly number[])[] {
|
|
120
|
+
try {
|
|
121
|
+
if (!Array.isArray(result?.vectors) || result.vectors.length !== count) {
|
|
122
|
+
throw new Error("Unexpected vector count")
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return result.vectors.map((vector) => normalizeVector(vector, dimensions))
|
|
126
|
+
} catch (cause) {
|
|
127
|
+
throw createSixbError("vector.response_invalid", "[Sixb] Invalid embedding batch response.", {
|
|
128
|
+
cause,
|
|
129
|
+
})
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
async function handleGenerationFailure(
|
|
134
|
+
generation: GenerationAttempt,
|
|
135
|
+
error: unknown
|
|
136
|
+
): Promise<void> {
|
|
137
|
+
// No provider call can start while the storage claim is unresolved. Retry delivery,
|
|
138
|
+
// not inference; an ambiguously committed claim will be fenced as running on redelivery.
|
|
139
|
+
if (generation.phase === "claiming" || error instanceof VectorIndexingDeferred) {
|
|
140
|
+
throw error
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (generation.phase === "pending") {
|
|
144
|
+
if (
|
|
145
|
+
isSixbError(error) &&
|
|
146
|
+
(error.code === "ai.usage_limit_exceeded" || error.code === "ai.usage_limit_unavailable")
|
|
147
|
+
) {
|
|
148
|
+
const availableAt = retryAt(error.details)
|
|
149
|
+
await transitionWork(generation, "pending", "pending", { availableAt })
|
|
150
|
+
throw new VectorIndexingDeferred(availableAt)
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (generation.signal.aborted) throw error
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const failure =
|
|
157
|
+
error instanceof EmbeddingModelResponseError
|
|
158
|
+
? createSixbError("vector.response_invalid", "[Sixb] Invalid embedding batch response.", {
|
|
159
|
+
cause: error,
|
|
160
|
+
})
|
|
161
|
+
: error
|
|
162
|
+
const { runtime, entries } = generation
|
|
163
|
+
const indexing = runtime.storage.ontology.vectorIndexing!
|
|
164
|
+
|
|
165
|
+
for (const { work } of entries) {
|
|
166
|
+
await fail(runtime, indexing, { ...work, status: generation.phase }, failure)
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function transitionWork(
|
|
171
|
+
generation: GenerationAttempt,
|
|
172
|
+
expectedStatus: VectorIndexingWork["status"],
|
|
173
|
+
status: VectorIndexingWork["status"],
|
|
174
|
+
options: { availableAt?: string; requireAll?: boolean } = {}
|
|
175
|
+
): Promise<boolean> {
|
|
176
|
+
const { runtime, entries } = generation
|
|
177
|
+
const availableAt = options.availableAt ?? new Date().toISOString()
|
|
178
|
+
|
|
179
|
+
return runtime.storage.ontology.vectorIndexing!.updateBatch({
|
|
180
|
+
projectId: runtime.projectId,
|
|
181
|
+
requireAll: options.requireAll ?? false,
|
|
182
|
+
updates: entries.map(({ work }) => ({ id: work.id, expectedStatus, status, availableAt })),
|
|
183
|
+
})
|
|
184
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Internal worker entry point; it does not expose the host context or domain SDK. */
|
|
2
|
+
export interface VectorIndexingRuntime {
|
|
3
|
+
process(id: string, attempt: number, signal: AbortSignal): Promise<void>
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
// Associates each host with its service. Durable work lives in ontology storage, not this map.
|
|
7
|
+
const runtimes = new WeakMap<object, VectorIndexingRuntime>()
|
|
8
|
+
|
|
9
|
+
export function registerVectorIndexingRuntime(host: object, runtime: VectorIndexingRuntime): void {
|
|
10
|
+
runtimes.set(host, runtime)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function getVectorIndexingRuntime(host: object): VectorIndexingRuntime {
|
|
14
|
+
const runtime = runtimes.get(host)
|
|
15
|
+
if (!runtime) throw new Error("[Sixb] Vector indexing requires a configured Sixb host.")
|
|
16
|
+
return runtime
|
|
17
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto"
|
|
2
|
+
import { reportVectorIndexingFailure } from "../../error-reporting/capability"
|
|
3
|
+
import { captureSixbFailure } from "../../errors/internal"
|
|
4
|
+
import { createKernelRuntimeAuthorization } from "../../execution/authorization"
|
|
5
|
+
import { ensureExecutionRecord, executionRecordInputFromRuntime } from "../../execution/durable"
|
|
6
|
+
import type { ExecutionContext, ExecutionScope } from "../../execution/types"
|
|
7
|
+
import { MaterializationConflictError } from "../../materialization/errors"
|
|
8
|
+
import type { ObjectVectorWrite, PreparedObjectVector } from "../../materialization/vectors"
|
|
9
|
+
import type { OntologyMaterializerContract } from "../../materializer/materializer"
|
|
10
|
+
import type { SixbHostContext } from "../../runtime/types"
|
|
11
|
+
import {
|
|
12
|
+
type OntologyVectorIndexingStorage,
|
|
13
|
+
VECTOR_INDEXING_FAILURE_CODES,
|
|
14
|
+
type VectorIndexingWork,
|
|
15
|
+
} from "../../storage/ontology/vector-indexing"
|
|
16
|
+
import { vectorConfiguration, vectorSources } from "./profile"
|
|
17
|
+
|
|
18
|
+
/** Return null when the requested representation is obsolete or already stored. */
|
|
19
|
+
export async function prepare(
|
|
20
|
+
runtime: SixbHostContext,
|
|
21
|
+
work: VectorIndexingWork
|
|
22
|
+
): Promise<PreparedObjectVector | null> {
|
|
23
|
+
const profile = runtime.ontology.getObjectTypeById(work.ref.objectTypeId)?.search?.vectors?.[
|
|
24
|
+
work.profile
|
|
25
|
+
]
|
|
26
|
+
if (!profile || vectorConfiguration(profile) !== work.configuration) return null
|
|
27
|
+
|
|
28
|
+
const row = await runtime.storage.objects.getByPrimaryId({
|
|
29
|
+
projectId: runtime.projectId,
|
|
30
|
+
...work.ref,
|
|
31
|
+
})
|
|
32
|
+
if (!row) return null
|
|
33
|
+
|
|
34
|
+
const sources = vectorSources(profile.source, row.properties)
|
|
35
|
+
if (sources.sourceFingerprint !== work.sourceFingerprint) return null
|
|
36
|
+
|
|
37
|
+
const storedVectors = await runtime.storage.ontology.vectors!.list({
|
|
38
|
+
projectId: runtime.projectId,
|
|
39
|
+
ref: work.ref,
|
|
40
|
+
})
|
|
41
|
+
const currentVector = storedVectors.find((entry) => entry.profile === work.profile)
|
|
42
|
+
const alreadyIndexed =
|
|
43
|
+
currentVector?.configuration === work.configuration &&
|
|
44
|
+
currentVector.sourceFingerprint === work.sourceFingerprint
|
|
45
|
+
|
|
46
|
+
if (alreadyIndexed) return null
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
projectId: runtime.projectId,
|
|
50
|
+
ref: work.ref,
|
|
51
|
+
profile: work.profile,
|
|
52
|
+
configuration: work.configuration,
|
|
53
|
+
...sources,
|
|
54
|
+
expectedObject: {
|
|
55
|
+
ref: work.ref,
|
|
56
|
+
exists: true,
|
|
57
|
+
version: row.version,
|
|
58
|
+
lastCommitId: row.lastCommitId,
|
|
59
|
+
},
|
|
60
|
+
expectedVectorCommitId: currentVector?.lastCommitId ?? null,
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export async function storeVector(
|
|
65
|
+
runtime: SixbHostContext,
|
|
66
|
+
materializer: OntologyMaterializerContract,
|
|
67
|
+
work: VectorIndexingWork,
|
|
68
|
+
scope: ExecutionScope,
|
|
69
|
+
signal: AbortSignal
|
|
70
|
+
): Promise<void> {
|
|
71
|
+
const indexing = runtime.storage.ontology.vectorIndexing!
|
|
72
|
+
const identity = { projectId: runtime.projectId, id: work.id }
|
|
73
|
+
|
|
74
|
+
// Unrelated property changes renew the object fence without repeating a paid inference.
|
|
75
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
76
|
+
signal.throwIfAborted()
|
|
77
|
+
const prepared = await prepare(runtime, work)
|
|
78
|
+
|
|
79
|
+
if (!prepared) {
|
|
80
|
+
await indexing.remove(identity)
|
|
81
|
+
return
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
try {
|
|
85
|
+
await commitPreparedVectors(materializer, scope, [{ input: prepared, values: work.values! }])
|
|
86
|
+
await indexing.remove(identity)
|
|
87
|
+
return
|
|
88
|
+
} catch (error) {
|
|
89
|
+
if (!(error instanceof MaterializationConflictError)) throw error
|
|
90
|
+
|
|
91
|
+
const currentWork = await indexing.get(identity)
|
|
92
|
+
if (!currentWork) return
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
throw new VectorIndexingDeferred(new Date(Date.now() + 1000).toISOString())
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export async function commitPreparedVectors(
|
|
100
|
+
materializer: OntologyMaterializerContract,
|
|
101
|
+
scope: ExecutionScope,
|
|
102
|
+
writes: readonly ObjectVectorWrite[]
|
|
103
|
+
): Promise<void> {
|
|
104
|
+
await materializer.edits.commit({
|
|
105
|
+
scope,
|
|
106
|
+
input: {
|
|
107
|
+
mode: "atomic",
|
|
108
|
+
source: { kind: "runtime", requestId: randomUUID() },
|
|
109
|
+
operations: [],
|
|
110
|
+
vectorWrites: writes,
|
|
111
|
+
expectedObjects: writes.map((write) => write.input.expectedObject),
|
|
112
|
+
expectedLinks: [],
|
|
113
|
+
expectedLinkScopes: [],
|
|
114
|
+
},
|
|
115
|
+
})
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export async function indexingScope(
|
|
119
|
+
runtime: SixbHostContext,
|
|
120
|
+
work: VectorIndexingWork,
|
|
121
|
+
indexingId = work.id
|
|
122
|
+
): Promise<ExecutionScope> {
|
|
123
|
+
const operation = { type: "ontology.indexVectors", indexingId } as const
|
|
124
|
+
const execution: ExecutionContext = {
|
|
125
|
+
id: `exec_vector_${indexingId}`,
|
|
126
|
+
projectId: runtime.projectId,
|
|
127
|
+
executor: { type: "kernel", operation },
|
|
128
|
+
source: { type: "ontologyCommit", commitId: work.sourceCommitId },
|
|
129
|
+
correlationId: `vector_${indexingId}`,
|
|
130
|
+
}
|
|
131
|
+
const authorization = createKernelRuntimeAuthorization({ execution, operation })
|
|
132
|
+
|
|
133
|
+
await ensureExecutionRecord(runtime.storage.executions, {
|
|
134
|
+
...executionRecordInputFromRuntime({ execution, runtimeAuthorization: authorization }),
|
|
135
|
+
requesterGroupIds: [],
|
|
136
|
+
})
|
|
137
|
+
|
|
138
|
+
return { execution, authorization }
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export async function fail(
|
|
142
|
+
runtime: SixbHostContext,
|
|
143
|
+
indexing: OntologyVectorIndexingStorage,
|
|
144
|
+
work: VectorIndexingWork,
|
|
145
|
+
error: unknown
|
|
146
|
+
): Promise<void> {
|
|
147
|
+
const failure = captureSixbFailure(error, {
|
|
148
|
+
allowedCodes: VECTOR_INDEXING_FAILURE_CODES,
|
|
149
|
+
defaultCode: "internal.unexpected",
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
const recorded = await indexing.update({
|
|
153
|
+
projectId: runtime.projectId,
|
|
154
|
+
id: work.id,
|
|
155
|
+
expectedStatus: work.status,
|
|
156
|
+
status: "failed",
|
|
157
|
+
availableAt: new Date().toISOString(),
|
|
158
|
+
error: failure,
|
|
159
|
+
})
|
|
160
|
+
|
|
161
|
+
if (!recorded) return
|
|
162
|
+
|
|
163
|
+
reportVectorIndexingFailure(runtime, error, {
|
|
164
|
+
projectId: runtime.projectId,
|
|
165
|
+
indexingId: work.id,
|
|
166
|
+
failure,
|
|
167
|
+
...work.ref,
|
|
168
|
+
profile: work.profile,
|
|
169
|
+
})
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export function retryAt(details: unknown): string {
|
|
173
|
+
const resetAt =
|
|
174
|
+
details && typeof details === "object" && "resetAt" in details ? details.resetAt : undefined
|
|
175
|
+
const resetTimestamp = typeof resetAt === "string" ? Date.parse(resetAt) : Number.NaN
|
|
176
|
+
|
|
177
|
+
const minimumRetryTimestamp = Date.now() + 60_000
|
|
178
|
+
const budgetResetTimestamp = Number.isFinite(resetTimestamp) ? resetTimestamp : 0
|
|
179
|
+
const retryTimestamp = Math.max(minimumRetryTimestamp, budgetResetTimestamp)
|
|
180
|
+
|
|
181
|
+
return new Date(retryTimestamp).toISOString()
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export class VectorIndexingDeferred extends Error {
|
|
185
|
+
constructor(readonly availableAt: string) {
|
|
186
|
+
super("[Sixb] Vector indexing is deferred.")
|
|
187
|
+
}
|
|
188
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createSixbError } from "../../errors/internal"
|
|
2
|
+
import type { OntologyMaterializerContract } from "../../materializer/materializer"
|
|
3
|
+
import type { SixbHostContext } from "../../runtime/types"
|
|
4
|
+
import { generateVectors } from "./indexing-generate"
|
|
5
|
+
import {
|
|
6
|
+
fail,
|
|
7
|
+
indexingScope,
|
|
8
|
+
prepare,
|
|
9
|
+
storeVector,
|
|
10
|
+
VectorIndexingDeferred,
|
|
11
|
+
} from "./indexing-shared"
|
|
12
|
+
|
|
13
|
+
export async function processVector(
|
|
14
|
+
runtime: SixbHostContext,
|
|
15
|
+
materializer: OntologyMaterializerContract,
|
|
16
|
+
id: string,
|
|
17
|
+
attempt: number,
|
|
18
|
+
signal: AbortSignal
|
|
19
|
+
): Promise<void> {
|
|
20
|
+
const indexing = runtime.storage.ontology.vectorIndexing
|
|
21
|
+
if (!indexing) throw new Error("[Sixb] Storage does not support automatic vector indexing.")
|
|
22
|
+
const projectId = runtime.projectId
|
|
23
|
+
const work = await indexing.get({ projectId, id })
|
|
24
|
+
if (!work || work.status === "failed") return
|
|
25
|
+
if (work.status === "running") {
|
|
26
|
+
await fail(
|
|
27
|
+
runtime,
|
|
28
|
+
indexing,
|
|
29
|
+
work,
|
|
30
|
+
createSixbError(
|
|
31
|
+
"vector.outcome_unknown",
|
|
32
|
+
"[Sixb] Interrupted embedding call has an unknown outcome; inference was not repeated."
|
|
33
|
+
)
|
|
34
|
+
)
|
|
35
|
+
return
|
|
36
|
+
}
|
|
37
|
+
if (Date.parse(work.availableAt) > Date.now()) throw new VectorIndexingDeferred(work.availableAt)
|
|
38
|
+
const prepared = await prepare(runtime, work)
|
|
39
|
+
if (!prepared) {
|
|
40
|
+
await indexing.remove({ projectId, id })
|
|
41
|
+
return
|
|
42
|
+
}
|
|
43
|
+
const scope = await indexingScope(runtime, work, work.batchId ?? work.id)
|
|
44
|
+
if (work.status === "ready") {
|
|
45
|
+
await storeVector(runtime, materializer, work, scope, signal)
|
|
46
|
+
return
|
|
47
|
+
}
|
|
48
|
+
await generateVectors(runtime, [{ work, input: prepared }], scope, attempt, signal)
|
|
49
|
+
const ready = await indexing.get({ projectId, id })
|
|
50
|
+
if (ready?.status === "ready") await storeVector(runtime, materializer, ready, scope, signal)
|
|
51
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { ExecutionScope } from "../../execution/types"
|
|
2
|
+
import { MaterializationConflictError } from "../../materialization/errors"
|
|
3
|
+
import type { ObjectVectorWrite } from "../../materialization/vectors"
|
|
4
|
+
import type { OntologyMaterializerContract } from "../../materializer/materializer"
|
|
5
|
+
import type { SixbHostContext } from "../../runtime/types"
|
|
6
|
+
import {
|
|
7
|
+
commitPreparedVectors,
|
|
8
|
+
prepare,
|
|
9
|
+
storeVector,
|
|
10
|
+
VectorIndexingDeferred,
|
|
11
|
+
} from "./indexing-shared"
|
|
12
|
+
|
|
13
|
+
/** Publish a current subset atomically; reprepare conflicts without repeating inference. */
|
|
14
|
+
export async function storeVectorBatch(
|
|
15
|
+
runtime: SixbHostContext,
|
|
16
|
+
materializer: OntologyMaterializerContract,
|
|
17
|
+
batchId: string,
|
|
18
|
+
scope: ExecutionScope,
|
|
19
|
+
signal: AbortSignal
|
|
20
|
+
): Promise<void> {
|
|
21
|
+
const indexing = runtime.storage.ontology.vectorIndexing!
|
|
22
|
+
const identity = { projectId: runtime.projectId, batchId }
|
|
23
|
+
|
|
24
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
25
|
+
const ready = (await indexing.getBatch(identity)).filter((work) => work.status === "ready")
|
|
26
|
+
const writes: ObjectVectorWrite[] = []
|
|
27
|
+
|
|
28
|
+
for (const work of ready) {
|
|
29
|
+
signal.throwIfAborted()
|
|
30
|
+
const input = await prepare(runtime, work)
|
|
31
|
+
if (input) {
|
|
32
|
+
writes.push({ input, values: work.values! })
|
|
33
|
+
} else {
|
|
34
|
+
await indexing.remove({ projectId: runtime.projectId, id: work.id })
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!writes.length) return
|
|
39
|
+
|
|
40
|
+
try {
|
|
41
|
+
signal.throwIfAborted()
|
|
42
|
+
await commitPreparedVectors(materializer, scope, writes)
|
|
43
|
+
return
|
|
44
|
+
} catch (error) {
|
|
45
|
+
if (!(error instanceof MaterializationConflictError)) throw error
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// A continuously changing object must not keep stable peers from becoming searchable.
|
|
50
|
+
let deferred = false
|
|
51
|
+
for (const work of await indexing.getBatch(identity)) {
|
|
52
|
+
if (work.status !== "ready") continue
|
|
53
|
+
try {
|
|
54
|
+
await storeVector(runtime, materializer, work, scope, signal)
|
|
55
|
+
} catch (error) {
|
|
56
|
+
if (!(error instanceof VectorIndexingDeferred)) throw error
|
|
57
|
+
deferred = true
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (deferred) throw new VectorIndexingDeferred(new Date(Date.now() + 1000).toISOString())
|
|
62
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { OntologyMaterializerContract } from "../../materializer/materializer"
|
|
2
|
+
import type { SixbHostContext } from "../../runtime/types"
|
|
3
|
+
import { processVectorBatch } from "./indexing-batch"
|
|
4
|
+
import type { VectorIndexingRuntime } from "./indexing-runtime"
|
|
5
|
+
import { processVector } from "./indexing-single"
|
|
6
|
+
|
|
7
|
+
export { VectorIndexingDeferred } from "./indexing-shared"
|
|
8
|
+
|
|
9
|
+
/** Internal processing port; durable projection groups and individual requests share delivery. */
|
|
10
|
+
export function createVectorIndexingRuntime(
|
|
11
|
+
runtime: SixbHostContext,
|
|
12
|
+
materializer: OntologyMaterializerContract
|
|
13
|
+
): VectorIndexingRuntime {
|
|
14
|
+
return {
|
|
15
|
+
async process(id, attempt, signal) {
|
|
16
|
+
const indexing = runtime.storage.ontology.vectorIndexing
|
|
17
|
+
if (!indexing) throw new Error("[Sixb] Storage does not support automatic vector indexing.")
|
|
18
|
+
const batch = await indexing.getBatch({ projectId: runtime.projectId, batchId: id })
|
|
19
|
+
if (batch.length) await processVectorBatch(runtime, materializer, id, batch, attempt, signal)
|
|
20
|
+
else await processVector(runtime, materializer, id, attempt, signal)
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
}
|