@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
|
@@ -51,6 +51,8 @@ Materializer -> semantic planning and cross-store transaction orchestration
|
|
|
51
51
|
|
|
52
52
|
Every ontology commit references its immutable execution through `executionId`. Storage providers enforce that reference. `origin` remains the semantic idempotency and run-correlation key: it says which runtime request, Action, projection replacement, or telemetry batch the commit represents; the execution says under which durable authority it ran. Neither field duplicates the other.
|
|
53
53
|
|
|
54
|
+
A commit and each of its events also carry a copy of two execution facts, so consumers can answer "who changed this" without reading the execution: `requestedBy`, the principal on whose behalf the execution chain runs (absent for automatic, anonymous, or auth-disabled work), and `executor`, the request, primitive run, Agent run, or kernel operation that wrote. Both are derived from the bound scope in `execution/scope.ts`, which is already proven identical to the durable record, so they are a pure function of `executionId` and never caller input. Authority is deliberately not copied: it stays on the execution's `authorizationRef`. Header validation requires an Action or projection origin to name the exact primitive run in `executor`, and provider work requires every event to carry its commit's attribution.
|
|
55
|
+
|
|
54
56
|
Run records do not duplicate ontology commit ids or semantic commit history. Replacement projections need no resume checkpoint; projection telemetry stores only its next batch/row checkpoint on the run.
|
|
55
57
|
|
|
56
58
|
Logical origins are unique in the ontology ledger: one commit per Action run, one per replacement
|
|
@@ -124,3 +126,17 @@ finish still commit atomically.
|
|
|
124
126
|
Keep use-case entrypoints explicit. Share mechanics only after they have identical semantics; do
|
|
125
127
|
not hide projection candidate lifecycle, edit continuation, or telemetry batching behind a generic
|
|
126
128
|
workflow engine.
|
|
129
|
+
|
|
130
|
+
## Vector profiles
|
|
131
|
+
|
|
132
|
+
The SDK's explicit `index()` captures an internal `PreparedObjectVector`: object/profile identity,
|
|
133
|
+
configuration and source fingerprints, canonical input text, object revision and current vector
|
|
134
|
+
commit id. Source values stay local to preparation rather than being copied into the write payload.
|
|
135
|
+
Text is ordered JSON pairs of source names and values; missing/null values become `null`, while
|
|
136
|
+
empty strings remain distinct. The configuration includes an encoding version.
|
|
137
|
+
|
|
138
|
+
The configured model runs outside the transaction. Atomic edits then verify the object revision,
|
|
139
|
+
source/configuration fingerprints and vector commit id before storing validated float32 values.
|
|
140
|
+
An unrelated edit may conservatively reject in-flight indexing even when an existing vector remains
|
|
141
|
+
valid. A provider failure leaves the current representation untouched and is never retried here.
|
|
142
|
+
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,9 @@ 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 { loadReferencedUsers, type ReferencedUsers } from "./user-refs"
|
|
38
|
+
import { authorizeVectorIndexingCommit } from "./vector-authority"
|
|
39
|
+
import { commitVectorWrites } from "./vectors"
|
|
37
40
|
import type { EditWorkingState } from "./working-state"
|
|
38
41
|
|
|
39
42
|
type NormalizedEditCommit = ReturnType<typeof normalizeOntologyEditCommit>
|
|
@@ -43,20 +46,22 @@ interface PreparedEditCommit {
|
|
|
43
46
|
readonly identity: TimedCommitIdentity
|
|
44
47
|
readonly origin: OntologyMaterializationOrigin
|
|
45
48
|
readonly execution: MaterializerExecution
|
|
49
|
+
/** Read before the transaction opens; see `user-refs.ts`. */
|
|
50
|
+
readonly users: ReferencedUsers
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
export async function commitEdits(
|
|
49
54
|
context: MaterializerContext,
|
|
50
55
|
raw: MaterializerCommand<OntologyEditCommit>
|
|
51
56
|
): Promise<EditCommitResult> {
|
|
52
|
-
const command = prepareEditCommit(context, raw)
|
|
57
|
+
const command = await prepareEditCommit(context, raw)
|
|
53
58
|
return executeEditCommit(context, command)
|
|
54
59
|
}
|
|
55
60
|
|
|
56
|
-
function prepareEditCommit(
|
|
57
|
-
context: Pick<MaterializerContext, "projectId" | "clock">,
|
|
61
|
+
async function prepareEditCommit(
|
|
62
|
+
context: Pick<MaterializerContext, "projectId" | "clock" | "ontology" | "storage">,
|
|
58
63
|
raw: MaterializerCommand<OntologyEditCommit>
|
|
59
|
-
): PreparedEditCommit {
|
|
64
|
+
): Promise<PreparedEditCommit> {
|
|
60
65
|
const input = normalizeOntologyEditCommit(raw.input)
|
|
61
66
|
const idempotencyKey = editIdempotencyKey(input)
|
|
62
67
|
const identity = createTimedCommitIdentity({
|
|
@@ -70,6 +75,7 @@ function prepareEditCommit(
|
|
|
70
75
|
identity,
|
|
71
76
|
origin: input.source,
|
|
72
77
|
execution: prepareMaterializerExecution(context.projectId, raw.scope),
|
|
78
|
+
users: await loadReferencedUsers(context, input.operations),
|
|
73
79
|
}
|
|
74
80
|
}
|
|
75
81
|
|
|
@@ -106,6 +112,7 @@ async function validateMutationExecution(
|
|
|
106
112
|
input: NormalizedEditCommit,
|
|
107
113
|
execution: MaterializerExecution
|
|
108
114
|
): Promise<void> {
|
|
115
|
+
if (await authorizeVectorIndexingCommit(storage, projectId, input, execution)) return
|
|
109
116
|
if (input.source.kind !== "action") {
|
|
110
117
|
assertRuntimeMutationExecution(execution)
|
|
111
118
|
return
|
|
@@ -182,7 +189,8 @@ async function executeEditTransaction(
|
|
|
182
189
|
workingState,
|
|
183
190
|
editPlanContext(command)
|
|
184
191
|
)
|
|
185
|
-
await drainStagedWork(context, storage
|
|
192
|
+
await drainStagedWork(context, storage, session)
|
|
193
|
+
await commitVectorWrites(context, storage, command.input, command.identity.commitId, session)
|
|
186
194
|
const eventCount = await drainStagedEvents(
|
|
187
195
|
context,
|
|
188
196
|
storage.ontology.materializations,
|
|
@@ -222,23 +230,25 @@ function buildEditCommit(
|
|
|
222
230
|
context: Pick<MaterializerContext, "projectId" | "projectionRegistry">,
|
|
223
231
|
command: PreparedEditCommit
|
|
224
232
|
): OntologyCommitWrite {
|
|
225
|
-
|
|
233
|
+
return {
|
|
226
234
|
projectId: context.projectId,
|
|
227
235
|
id: command.identity.commitId,
|
|
228
236
|
idempotencyKey: command.identity.idempotencyKey,
|
|
229
237
|
requestHash: command.identity.requestHash,
|
|
230
238
|
executionId: command.execution.executionId,
|
|
231
239
|
origin: command.origin,
|
|
240
|
+
...command.execution.attribution,
|
|
232
241
|
ontologyRevision: context.projectionRegistry.ontologyRevision,
|
|
233
242
|
intent: {
|
|
234
243
|
kind: "edit",
|
|
235
244
|
mode: command.input.mode,
|
|
236
245
|
operationCount: command.input.operations.length,
|
|
246
|
+
...(command.input.mode === "atomic" && command.input.vectorWrites?.length
|
|
247
|
+
? { vectorWriteCount: command.input.vectorWrites.length }
|
|
248
|
+
: {}),
|
|
237
249
|
},
|
|
238
250
|
committedAt: command.identity.committedAt,
|
|
239
251
|
}
|
|
240
|
-
if (command.execution.actor === undefined) return commit
|
|
241
|
-
return { ...commit, actor: command.execution.actor }
|
|
242
252
|
}
|
|
243
253
|
|
|
244
254
|
function editExpectations(input: NormalizedEditCommit) {
|
|
@@ -284,7 +294,7 @@ function applyOneEditOperation(
|
|
|
284
294
|
command: PreparedEditCommit
|
|
285
295
|
): OntologyOperationOutcome {
|
|
286
296
|
try {
|
|
287
|
-
return applyEditOperation(context, state, operation, command.identity)
|
|
297
|
+
return applyEditOperation(context, state, operation, command.identity, command.users)
|
|
288
298
|
} catch (error) {
|
|
289
299
|
if (!isRecoverableEditValidation(command.input, error)) throw error
|
|
290
300
|
return { id: operation.id, ok: false, error: { code: "validation", message: error.message } }
|
|
@@ -310,7 +320,14 @@ function applyEditOperationGroup(
|
|
|
310
320
|
for (const operation of group) {
|
|
311
321
|
let outcome: OntologyOperationOutcome
|
|
312
322
|
try {
|
|
313
|
-
outcome = applyEditOperation(
|
|
323
|
+
outcome = applyEditOperation(
|
|
324
|
+
context,
|
|
325
|
+
state,
|
|
326
|
+
operation,
|
|
327
|
+
command.identity,
|
|
328
|
+
command.users,
|
|
329
|
+
journal
|
|
330
|
+
)
|
|
314
331
|
} catch (error) {
|
|
315
332
|
if (!isRecoverableEditValidation(command.input, error)) throw error
|
|
316
333
|
undoEditJournal(journal)
|
|
@@ -346,13 +363,12 @@ function isRecoverableEditValidation(
|
|
|
346
363
|
}
|
|
347
364
|
|
|
348
365
|
function editPlanContext(command: PreparedEditCommit) {
|
|
349
|
-
|
|
366
|
+
return {
|
|
350
367
|
identity: command.identity,
|
|
351
368
|
origin: command.origin,
|
|
352
369
|
correlationId: command.execution.correlationId,
|
|
370
|
+
attribution: command.execution.attribution,
|
|
353
371
|
}
|
|
354
|
-
if (command.execution.actor === undefined) return context
|
|
355
|
-
return { ...context, actor: command.execution.actor }
|
|
356
372
|
}
|
|
357
373
|
|
|
358
374
|
async function finalizeEditMaterialization(
|
|
@@ -4,6 +4,7 @@ import type { OntologyEditOperation, OntologyOperationOutcome } from "../../mate
|
|
|
4
4
|
import { linkRefKey, linkScopeKey, objectRefKey } from "../../materialization/refs"
|
|
5
5
|
import type { MaterializerContext } from "../context"
|
|
6
6
|
import { diffEffectiveObject } from "../effective/diff"
|
|
7
|
+
import type { ResolvedObjectValue } from "../effective/resolve"
|
|
7
8
|
import {
|
|
8
9
|
validateEffectiveObject,
|
|
9
10
|
validateLinkAuthorityProperties,
|
|
@@ -15,6 +16,7 @@ import {
|
|
|
15
16
|
import type { TimedCommitIdentity } from "../shared/identity"
|
|
16
17
|
import { applyLinkEdit, applyObjectEdit } from "./apply"
|
|
17
18
|
import { linkCardinality } from "./read-set"
|
|
19
|
+
import { assertIntroducedUsersActive, type ReferencedUsers } from "./user-refs"
|
|
18
20
|
import {
|
|
19
21
|
type EditWorkingState,
|
|
20
22
|
resolveLinkEdge,
|
|
@@ -53,11 +55,12 @@ export function applyEditOperation(
|
|
|
53
55
|
state: EditWorkingState,
|
|
54
56
|
operation: OntologyEditOperation,
|
|
55
57
|
identity: TimedCommitIdentity,
|
|
58
|
+
users: ReferencedUsers,
|
|
56
59
|
journal?: EditUndoJournal
|
|
57
60
|
): OntologyOperationOutcome {
|
|
58
61
|
validateOperationRef(context, operation)
|
|
59
62
|
if (isObjectOperation(operation)) {
|
|
60
|
-
return applyObjectOperation(context, state, operation, identity, journal)
|
|
63
|
+
return applyObjectOperation(context, state, operation, identity, users, journal)
|
|
61
64
|
}
|
|
62
65
|
return applyLinkOperation(
|
|
63
66
|
context,
|
|
@@ -84,6 +87,7 @@ function applyObjectOperation(
|
|
|
84
87
|
state: EditWorkingState,
|
|
85
88
|
operation: ObjectOperation,
|
|
86
89
|
identity: TimedCommitIdentity,
|
|
90
|
+
users: ReferencedUsers,
|
|
87
91
|
journal?: EditUndoJournal
|
|
88
92
|
): OntologyOperationOutcome {
|
|
89
93
|
const working = requireWorkingObject(state, operation)
|
|
@@ -99,7 +103,27 @@ function applyObjectOperation(
|
|
|
99
103
|
...normalized,
|
|
100
104
|
})
|
|
101
105
|
|
|
102
|
-
|
|
106
|
+
// Restore brings back values the object already held; only caller-written values are new.
|
|
107
|
+
const assertUsers =
|
|
108
|
+
operation.kind === "object.restore"
|
|
109
|
+
? undefined
|
|
110
|
+
: (resolved: ResolvedObjectValue) =>
|
|
111
|
+
assertIntroducedUsersActive(
|
|
112
|
+
context.ontology,
|
|
113
|
+
operation.ref.objectTypeId,
|
|
114
|
+
currentEffective?.properties,
|
|
115
|
+
resolved.properties,
|
|
116
|
+
users
|
|
117
|
+
)
|
|
118
|
+
applyObjectTransition(
|
|
119
|
+
context,
|
|
120
|
+
state,
|
|
121
|
+
working,
|
|
122
|
+
transition.next,
|
|
123
|
+
transition.editedAt,
|
|
124
|
+
journal,
|
|
125
|
+
assertUsers
|
|
126
|
+
)
|
|
103
127
|
|
|
104
128
|
return objectOperationOutcome(operation, working, transition.changed, context, identity)
|
|
105
129
|
}
|
|
@@ -149,7 +173,8 @@ function applyObjectTransition(
|
|
|
149
173
|
working: WorkingObject,
|
|
150
174
|
next: WorkingObject["override"],
|
|
151
175
|
nextEditedAt: Readonly<Record<string, string>>,
|
|
152
|
-
journal?: EditUndoJournal
|
|
176
|
+
journal?: EditUndoJournal,
|
|
177
|
+
validateResolved?: (resolved: ResolvedObjectValue) => void
|
|
153
178
|
): void {
|
|
154
179
|
const previous = working.override
|
|
155
180
|
const previousEditedAt = working.editedAt
|
|
@@ -157,7 +182,10 @@ function applyObjectTransition(
|
|
|
157
182
|
working.editedAt = { ...nextEditedAt }
|
|
158
183
|
try {
|
|
159
184
|
const resolved = resolveObject(context.ontology, working)
|
|
160
|
-
if (resolved)
|
|
185
|
+
if (resolved) {
|
|
186
|
+
validateEffectiveObject(context.ontology, resolved.ref, resolved.properties)
|
|
187
|
+
validateResolved?.(resolved)
|
|
188
|
+
}
|
|
161
189
|
validateWorkingCardinality(state.links.slots)
|
|
162
190
|
} catch (error) {
|
|
163
191
|
working.override = previous
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { EventActor } from "../../events/envelope"
|
|
2
1
|
import type {
|
|
3
2
|
EffectiveLinkChange,
|
|
4
3
|
EffectiveObjectChange,
|
|
@@ -27,6 +26,7 @@ import {
|
|
|
27
26
|
} from "../effective/build-events"
|
|
28
27
|
import { diffEffectiveLink, diffEffectiveLinkSlot, diffEffectiveObject } from "../effective/diff"
|
|
29
28
|
import { validateEffectiveObject } from "../effective/validate"
|
|
29
|
+
import type { MaterializerAttribution } from "../execution/scope"
|
|
30
30
|
import { stageWorkBounded } from "../execution/work-executor"
|
|
31
31
|
import {
|
|
32
32
|
appendEffectiveLinkWork,
|
|
@@ -59,7 +59,7 @@ interface EditPlanContext {
|
|
|
59
59
|
readonly identity: TimedCommitIdentity
|
|
60
60
|
readonly origin: OntologyMaterializationOrigin
|
|
61
61
|
readonly correlationId: string
|
|
62
|
-
readonly
|
|
62
|
+
readonly attribution: MaterializerAttribution
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
export async function stageEditPlan(
|
|
@@ -237,15 +237,14 @@ function materializationEventContext(
|
|
|
237
237
|
context: Pick<MaterializerContext, "projectId">,
|
|
238
238
|
planContext: EditPlanContext
|
|
239
239
|
) {
|
|
240
|
-
|
|
240
|
+
return {
|
|
241
241
|
projectId: context.projectId,
|
|
242
242
|
commitId: planContext.identity.commitId,
|
|
243
243
|
committedAt: planContext.identity.committedAt,
|
|
244
244
|
origin: planContext.origin,
|
|
245
245
|
correlationId: planContext.correlationId,
|
|
246
|
+
attribution: planContext.attribution,
|
|
246
247
|
}
|
|
247
|
-
if (planContext.actor === undefined) return base
|
|
248
|
-
return { ...base, actor: planContext.actor }
|
|
249
248
|
}
|
|
250
249
|
|
|
251
250
|
function sortedObjects(objects: EditWorkingState["objects"]): WorkingObject[] {
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Existence checks for `userRef` values written by managed edits.
|
|
3
|
+
*
|
|
4
|
+
* Auth storage is read once per commit, before the serializable transaction opens: every user id
|
|
5
|
+
* the operations carry is looked up, deduplicated, and the statuses travel into the synchronous
|
|
6
|
+
* edit pass. There, an operation may only introduce a user that exists and is active. A value the
|
|
7
|
+
* object already held is never re-checked, so suspending a user leaves the objects that reference
|
|
8
|
+
* them writable. Users are never deleted, so a check at write time stays true for existence.
|
|
9
|
+
*/
|
|
10
|
+
import type { JsonValue } from "../../json"
|
|
11
|
+
import { MaterializationValidationError } from "../../materialization/errors"
|
|
12
|
+
import type { OntologyEditOperation } from "../../materialization/model"
|
|
13
|
+
import type { OntologyRegistry } from "../../ontology"
|
|
14
|
+
import { collectUserRefIds, userReferenceProblem } from "../../ontology/user-ref"
|
|
15
|
+
import type { UserStatus } from "../../storage/auth/types"
|
|
16
|
+
import type { MaterializerContext } from "../context"
|
|
17
|
+
|
|
18
|
+
/** Statuses of the users a commit's operations reference; `null` marks an unknown id. */
|
|
19
|
+
export type ReferencedUsers =
|
|
20
|
+
| { readonly kind: "loaded"; readonly statuses: ReadonlyMap<string, UserStatus | null> }
|
|
21
|
+
| { readonly kind: "unavailable" }
|
|
22
|
+
|
|
23
|
+
const NO_REFERENCED_USERS: ReferencedUsers = { kind: "loaded", statuses: new Map() }
|
|
24
|
+
|
|
25
|
+
export async function loadReferencedUsers(
|
|
26
|
+
context: Pick<MaterializerContext, "projectId" | "ontology" | "storage">,
|
|
27
|
+
operations: readonly OntologyEditOperation[]
|
|
28
|
+
): Promise<ReferencedUsers> {
|
|
29
|
+
const ids = new Set<string>()
|
|
30
|
+
for (const operation of operations) {
|
|
31
|
+
switch (operation.kind) {
|
|
32
|
+
case "object.create":
|
|
33
|
+
case "object.upsert":
|
|
34
|
+
collectObjectUserRefIds(
|
|
35
|
+
context.ontology,
|
|
36
|
+
operation.ref.objectTypeId,
|
|
37
|
+
operation.properties,
|
|
38
|
+
ids
|
|
39
|
+
)
|
|
40
|
+
break
|
|
41
|
+
case "object.patch":
|
|
42
|
+
collectObjectUserRefIds(context.ontology, operation.ref.objectTypeId, operation.set, ids)
|
|
43
|
+
break
|
|
44
|
+
default:
|
|
45
|
+
break
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (ids.size === 0) return NO_REFERENCED_USERS
|
|
49
|
+
|
|
50
|
+
const users = context.storage.auth?.users
|
|
51
|
+
if (!users) return { kind: "unavailable" }
|
|
52
|
+
const entries = await Promise.all(
|
|
53
|
+
[...ids].map(async (id) => {
|
|
54
|
+
const user = await users.getById({ projectId: context.projectId, id })
|
|
55
|
+
return [id, user?.status ?? null] as const
|
|
56
|
+
})
|
|
57
|
+
)
|
|
58
|
+
return { kind: "loaded", statuses: new Map(entries) }
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Reject user references an object operation introduces unless the user exists and is active.
|
|
63
|
+
*
|
|
64
|
+
* `before` is the effective object the operation started from; ids it already held under the same
|
|
65
|
+
* property are accepted as they are.
|
|
66
|
+
*/
|
|
67
|
+
export function assertIntroducedUsersActive(
|
|
68
|
+
ontology: OntologyRegistry,
|
|
69
|
+
objectTypeId: string,
|
|
70
|
+
before: Readonly<Record<string, JsonValue>> | undefined,
|
|
71
|
+
after: Readonly<Record<string, JsonValue>>,
|
|
72
|
+
users: ReferencedUsers
|
|
73
|
+
): void {
|
|
74
|
+
const objectType = ontology.resolveObjectType(objectTypeId)
|
|
75
|
+
const valueTypesById = ontology.getValueTypesById()
|
|
76
|
+
for (const property of objectType.properties) {
|
|
77
|
+
const introduced = collectUserRefIds(
|
|
78
|
+
property.schema,
|
|
79
|
+
after[property.id],
|
|
80
|
+
valueTypesById,
|
|
81
|
+
new Set()
|
|
82
|
+
)
|
|
83
|
+
if (introduced.size === 0) continue
|
|
84
|
+
const held = collectUserRefIds(
|
|
85
|
+
property.schema,
|
|
86
|
+
before?.[property.id],
|
|
87
|
+
valueTypesById,
|
|
88
|
+
new Set()
|
|
89
|
+
)
|
|
90
|
+
for (const id of introduced) {
|
|
91
|
+
if (held.has(id)) continue
|
|
92
|
+
const problem = userReferenceProblem(
|
|
93
|
+
`Property '${objectTypeId}.${property.id}'`,
|
|
94
|
+
id,
|
|
95
|
+
users.kind === "unavailable" ? "unverifiable" : (users.statuses.get(id) ?? null)
|
|
96
|
+
)
|
|
97
|
+
if (problem) throw new MaterializationValidationError(problem)
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function collectObjectUserRefIds(
|
|
103
|
+
ontology: OntologyRegistry,
|
|
104
|
+
objectTypeId: string,
|
|
105
|
+
properties: Readonly<Record<string, JsonValue>>,
|
|
106
|
+
into: Set<string>
|
|
107
|
+
): void {
|
|
108
|
+
// Unknown types and properties are rejected by the edit pass; nothing to look up for them.
|
|
109
|
+
const objectType = ontology.getObjectTypeById(objectTypeId)
|
|
110
|
+
if (!objectType) return
|
|
111
|
+
const valueTypesById = ontology.getValueTypesById()
|
|
112
|
+
for (const property of objectType.properties) {
|
|
113
|
+
collectUserRefIds(property.schema, properties[property.id], valueTypesById, into)
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
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 { normalizeVector, vectorConfiguration, vectorSources } from "../../objects/vectors/profile"
|
|
8
|
+
import type { Storage } from "../../storage"
|
|
9
|
+
import { objectBatchKey } from "../../storage/objects/keys"
|
|
10
|
+
import type { MaterializationSession, OntologyVectorStorage } from "../../storage/ontology"
|
|
11
|
+
import type { MaterializerContext } from "../context"
|
|
12
|
+
|
|
13
|
+
export async function commitVectorWrites(
|
|
14
|
+
context: MaterializerContext,
|
|
15
|
+
storage: Storage,
|
|
16
|
+
input: OntologyEditCommit,
|
|
17
|
+
commitId: string,
|
|
18
|
+
session: MaterializationSession
|
|
19
|
+
): Promise<void> {
|
|
20
|
+
if (input.mode !== "atomic" || !input.vectorWrites?.length) return
|
|
21
|
+
const vectors = storage.ontology.vectors
|
|
22
|
+
if (!vectors)
|
|
23
|
+
throw new MaterializationValidationError("Storage does not support vector profiles.")
|
|
24
|
+
const rows = await storage.objects.getByPrimaryIdBatch({
|
|
25
|
+
projectId: context.projectId,
|
|
26
|
+
items: input.vectorWrites.map((write) => write.input.ref),
|
|
27
|
+
})
|
|
28
|
+
const expectations = new Map(
|
|
29
|
+
input.expectedObjects.map((expected) => [objectRefKey(expected.ref), expected])
|
|
30
|
+
)
|
|
31
|
+
const entries: Parameters<OntologyVectorStorage["writeBatch"]>[0]["entries"][number][] = []
|
|
32
|
+
const seen = new Set<string>()
|
|
33
|
+
for (const write of input.vectorWrites) {
|
|
34
|
+
const prepared = write.input
|
|
35
|
+
const key = JSON.stringify([objectRefKey(prepared.ref), prepared.profile])
|
|
36
|
+
if (seen.has(key)) throw new MaterializationValidationError(`Duplicate vector write: ${key}`)
|
|
37
|
+
seen.add(key)
|
|
38
|
+
const profileDefinition = context.ontology.resolveObjectType(prepared.ref.objectTypeId).search
|
|
39
|
+
?.vectors?.[prepared.profile]
|
|
40
|
+
if (
|
|
41
|
+
prepared.projectId !== context.projectId ||
|
|
42
|
+
!profileDefinition ||
|
|
43
|
+
vectorConfiguration(profileDefinition) !== prepared.configuration
|
|
44
|
+
) {
|
|
45
|
+
throw new MaterializationConflictError(
|
|
46
|
+
"effective-state",
|
|
47
|
+
"Vector profile configuration changed; index it again."
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
const expected = expectations.get(objectRefKey(prepared.ref))
|
|
51
|
+
if (
|
|
52
|
+
!expected?.exists ||
|
|
53
|
+
!prepared.expectedObject?.exists ||
|
|
54
|
+
objectRefKey(prepared.expectedObject.ref) !== objectRefKey(prepared.ref) ||
|
|
55
|
+
expected.version !== prepared.expectedObject.version ||
|
|
56
|
+
expected.lastCommitId !== prepared.expectedObject.lastCommitId
|
|
57
|
+
) {
|
|
58
|
+
throw new MaterializationValidationError(
|
|
59
|
+
"Vector writes must fence their prepared object revision."
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
const row = rows.get(objectBatchKey(prepared.ref.objectTypeId, prepared.ref.primaryId))
|
|
63
|
+
if (
|
|
64
|
+
!row ||
|
|
65
|
+
row.version !== expected.version ||
|
|
66
|
+
row.lastCommitId !== expected.lastCommitId ||
|
|
67
|
+
vectorSources(profileDefinition.source, row.properties).sourceFingerprint !==
|
|
68
|
+
prepared.sourceFingerprint
|
|
69
|
+
) {
|
|
70
|
+
throw new MaterializationConflictError(
|
|
71
|
+
"effective-state",
|
|
72
|
+
"Vector sources changed; index the profile again."
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
entries.push({
|
|
76
|
+
expectedCommitId: prepared.expectedVectorCommitId,
|
|
77
|
+
value: {
|
|
78
|
+
ref: prepared.ref,
|
|
79
|
+
profile: prepared.profile,
|
|
80
|
+
configuration: prepared.configuration,
|
|
81
|
+
source: profileDefinition.source,
|
|
82
|
+
sourceFingerprint: prepared.sourceFingerprint,
|
|
83
|
+
values: normalizeVector(write.values, profileDefinition.model.definition.dimensions),
|
|
84
|
+
lastCommitId: commitId,
|
|
85
|
+
},
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
await vectors.writeBatch({ session, projectId: context.projectId, entries })
|
|
90
|
+
await storage.ontology.vectorIndexing?.complete({
|
|
91
|
+
session,
|
|
92
|
+
projectId: context.projectId,
|
|
93
|
+
entries: input.vectorWrites.map(({ input: prepared }) => ({
|
|
94
|
+
ref: prepared.ref,
|
|
95
|
+
profile: prepared.profile,
|
|
96
|
+
configuration: prepared.configuration,
|
|
97
|
+
sourceFingerprint: prepared.sourceFingerprint,
|
|
98
|
+
})),
|
|
99
|
+
})
|
|
100
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { EventActor } from "../../events/envelope"
|
|
2
1
|
import type {
|
|
3
2
|
EffectiveLinkChange,
|
|
4
3
|
EffectiveObjectChange,
|
|
@@ -10,6 +9,7 @@ import type {
|
|
|
10
9
|
OntologyMaterializationEvent,
|
|
11
10
|
OntologyMaterializationEventDraft,
|
|
12
11
|
} from "../../storage/ontology"
|
|
12
|
+
import type { MaterializerAttribution } from "../execution/scope"
|
|
13
13
|
import { createEventId, materializationEventKindOrdinal } from "../shared/identity"
|
|
14
14
|
|
|
15
15
|
export interface OrderedMaterializationEventDraft {
|
|
@@ -24,7 +24,7 @@ export interface MaterializationEventDraftContext {
|
|
|
24
24
|
readonly committedAt: string
|
|
25
25
|
readonly correlationId: string
|
|
26
26
|
readonly origin: OntologyMaterializationOrigin
|
|
27
|
-
readonly
|
|
27
|
+
readonly attribution: MaterializerAttribution
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
export function buildObjectMaterializationEventDraft(
|
|
@@ -162,16 +162,15 @@ function buildTelemetryEventDraft(
|
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
function eventDraftBase(context: MaterializationEventDraftContext) {
|
|
165
|
-
|
|
165
|
+
return {
|
|
166
166
|
schemaVersion: 1 as const,
|
|
167
167
|
projectId: context.projectId,
|
|
168
168
|
occurredAt: context.committedAt,
|
|
169
169
|
correlationId: context.correlationId,
|
|
170
170
|
origin: context.origin,
|
|
171
|
+
...context.attribution,
|
|
171
172
|
commitId: context.commitId,
|
|
172
173
|
}
|
|
173
|
-
if (context.actor === undefined) return base
|
|
174
|
-
return { ...base, actor: context.actor }
|
|
175
174
|
}
|
|
176
175
|
|
|
177
176
|
function orderedDraft(
|