@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
package/src/testing/index.ts
CHANGED
|
@@ -59,6 +59,10 @@ export {
|
|
|
59
59
|
type ExecutionStorageContractSuiteOptions,
|
|
60
60
|
runExecutionStorageContractSuite,
|
|
61
61
|
} from "./execution-storage-contract"
|
|
62
|
+
export {
|
|
63
|
+
type FileUploadSessionStorageContractSuiteOptions,
|
|
64
|
+
runFileUploadSessionStorageContractSuite,
|
|
65
|
+
} from "./file-upload-session-storage-contract"
|
|
62
66
|
export { runLakeChangesContractSuite } from "./lake-changes-contract"
|
|
63
67
|
export {
|
|
64
68
|
type LakeMergeStorageContractSuiteOptions,
|
|
@@ -151,3 +155,7 @@ export {
|
|
|
151
155
|
createTestAutomaticWorkflowExecution,
|
|
152
156
|
createTestWorkflowExecution,
|
|
153
157
|
} from "./workflow-execution"
|
|
158
|
+
export {
|
|
159
|
+
runWorkflowInterventionStorageContractSuite,
|
|
160
|
+
type WorkflowInterventionStorageContractSuiteOptions,
|
|
161
|
+
} from "./workflow-intervention-storage-contract"
|
|
@@ -13,7 +13,11 @@ import {
|
|
|
13
13
|
import type { TrustedPrimitiveRef } from "../execution"
|
|
14
14
|
import { restoreTrustedPrimitiveExecutionScope } from "../execution/durable"
|
|
15
15
|
import { createTestingScope } from "../execution/scopes"
|
|
16
|
-
import type {
|
|
16
|
+
import type {
|
|
17
|
+
ExpectedLinkRevision,
|
|
18
|
+
ExpectedObjectRevision,
|
|
19
|
+
OntologyMaterializer,
|
|
20
|
+
} from "../materializer"
|
|
17
21
|
import {
|
|
18
22
|
createLinkScopeFingerprint,
|
|
19
23
|
createOntologyMaterializer,
|
|
@@ -747,6 +751,84 @@ export function runMaterializerStorageContractSuite<TStorage extends Storage>(
|
|
|
747
751
|
}
|
|
748
752
|
})
|
|
749
753
|
|
|
754
|
+
test(`${name} rejects stale object and link expectations as expectation conflicts`, async () => {
|
|
755
|
+
// Action runs report exactly this conflict kind as `action.read_conflict`. Throw a stale
|
|
756
|
+
// expectation as another kind from any provider and this fails for that provider.
|
|
757
|
+
const createdStorage = await provider.createStorage()
|
|
758
|
+
const storage = requireContractStorage(createdStorage)
|
|
759
|
+
const runtimeMaterializer = createOntologyMaterializer({
|
|
760
|
+
projectId: "materializer-storage-contract",
|
|
761
|
+
ontology,
|
|
762
|
+
projections,
|
|
763
|
+
storage,
|
|
764
|
+
dependencies: { clock: () => new Date("2026-02-01T12:00:00.000Z") },
|
|
765
|
+
}).withScope(runtimeScope())
|
|
766
|
+
const device = { objectTypeId: Device.id, primaryId: "device" }
|
|
767
|
+
const peerLink = {
|
|
768
|
+
source: device,
|
|
769
|
+
linkId: "peers",
|
|
770
|
+
target: { objectTypeId: Device.id, primaryId: "peer" },
|
|
771
|
+
}
|
|
772
|
+
const commitExpecting = (
|
|
773
|
+
requestId: string,
|
|
774
|
+
expected: {
|
|
775
|
+
readonly expectedObjects: readonly ExpectedObjectRevision[]
|
|
776
|
+
readonly expectedLinks: readonly ExpectedLinkRevision[]
|
|
777
|
+
}
|
|
778
|
+
) =>
|
|
779
|
+
runtimeMaterializer.edits.commit({
|
|
780
|
+
mode: "atomic",
|
|
781
|
+
source: { kind: "runtime", requestId },
|
|
782
|
+
operations: [
|
|
783
|
+
{
|
|
784
|
+
id: "rename",
|
|
785
|
+
kind: "object.patch",
|
|
786
|
+
ref: device,
|
|
787
|
+
set: { name: requestId },
|
|
788
|
+
unset: [],
|
|
789
|
+
reset: [],
|
|
790
|
+
},
|
|
791
|
+
],
|
|
792
|
+
...expected,
|
|
793
|
+
expectedLinkScopes: [],
|
|
794
|
+
})
|
|
795
|
+
|
|
796
|
+
try {
|
|
797
|
+
await runtimeMaterializer.edits.commit({
|
|
798
|
+
mode: "atomic",
|
|
799
|
+
source: { kind: "runtime", requestId: "expectation-setup" },
|
|
800
|
+
operations: [
|
|
801
|
+
{ id: "device", kind: "object.create", ref: device, properties: { name: "device" } },
|
|
802
|
+
{
|
|
803
|
+
id: "peer",
|
|
804
|
+
kind: "object.create",
|
|
805
|
+
ref: peerLink.target,
|
|
806
|
+
properties: { name: "peer" },
|
|
807
|
+
},
|
|
808
|
+
{ id: "link", kind: "link.upsert", ref: peerLink },
|
|
809
|
+
],
|
|
810
|
+
expectedObjects: [],
|
|
811
|
+
expectedLinks: [],
|
|
812
|
+
expectedLinkScopes: [],
|
|
813
|
+
})
|
|
814
|
+
|
|
815
|
+
await expect(
|
|
816
|
+
commitExpecting("stale-object", {
|
|
817
|
+
expectedObjects: [{ ref: device, exists: false }],
|
|
818
|
+
expectedLinks: [],
|
|
819
|
+
})
|
|
820
|
+
).rejects.toMatchObject({ kind: "expectation" })
|
|
821
|
+
await expect(
|
|
822
|
+
commitExpecting("stale-link", {
|
|
823
|
+
expectedObjects: [],
|
|
824
|
+
expectedLinks: [{ ref: peerLink, exists: false }],
|
|
825
|
+
})
|
|
826
|
+
).rejects.toMatchObject({ kind: "expectation" })
|
|
827
|
+
} finally {
|
|
828
|
+
await provider.cleanup?.(createdStorage)
|
|
829
|
+
}
|
|
830
|
+
})
|
|
831
|
+
|
|
750
832
|
test(`${name} fences projected cardinality-many link scopes by fingerprint`, async () => {
|
|
751
833
|
const createdStorage = await provider.createStorage()
|
|
752
834
|
const storage = requireContractStorage(createdStorage)
|
|
@@ -886,9 +968,9 @@ export function runMaterializerStorageContractSuite<TStorage extends Storage>(
|
|
|
886
968
|
expectedLinkScopes: [],
|
|
887
969
|
})
|
|
888
970
|
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
)
|
|
971
|
+
const stale = commitObservation("stale-many-scope-action", "must not commit")
|
|
972
|
+
await expect(stale).rejects.toThrow("Expected link scope changed")
|
|
973
|
+
await expect(stale).rejects.toMatchObject({ kind: "expectation" })
|
|
892
974
|
expect(
|
|
893
975
|
await storage.objects.getByPrimaryId({
|
|
894
976
|
projectId: "materializer-storage-contract",
|
|
@@ -10,9 +10,11 @@ import {
|
|
|
10
10
|
normalizeObjectQuery,
|
|
11
11
|
type ObjectQuery,
|
|
12
12
|
ObjectQueryPlanningError,
|
|
13
|
+
type ObjectQueryPredicate,
|
|
14
|
+
planObjectQuery,
|
|
13
15
|
validateObjectQuery,
|
|
14
16
|
} from "../objects/query"
|
|
15
|
-
import { defineObjectType, link, OntologyRegistry, prop, stringEnum } from "../ontology"
|
|
17
|
+
import { defineObjectType, link, OntologyRegistry, prop, ref, stringEnum } from "../ontology"
|
|
16
18
|
import type { ObjectStorage, QueryObjectsResult } from "../storage/objects"
|
|
17
19
|
import type { Storage } from "../storage/types"
|
|
18
20
|
import {
|
|
@@ -85,16 +87,11 @@ const Room = defineObjectType({
|
|
|
85
87
|
{ type: "map", keySchema: "string", valueSchema: "string" },
|
|
86
88
|
{ query: { searchable: true, filterable: true } }
|
|
87
89
|
),
|
|
88
|
-
prop(
|
|
89
|
-
"embedding",
|
|
90
|
-
{ type: "array", items: "double" },
|
|
91
|
-
{ query: { searchable: true, vector: true } }
|
|
92
|
-
),
|
|
90
|
+
prop("embedding", { type: "array", items: "double" }, { query: { searchable: true } }),
|
|
93
91
|
],
|
|
94
92
|
links: [link("hasDevice", Device)],
|
|
95
93
|
search: {
|
|
96
94
|
defaultText: ["name", "description"],
|
|
97
|
-
vector: { property: "embedding", source: ["name", "description"] },
|
|
98
95
|
},
|
|
99
96
|
})
|
|
100
97
|
|
|
@@ -137,8 +134,29 @@ const DefaultTextChild = defineObjectType({
|
|
|
137
134
|
search: { defaultText: ["alias"] },
|
|
138
135
|
})
|
|
139
136
|
|
|
137
|
+
const Task = defineObjectType({
|
|
138
|
+
id: "ContractTask",
|
|
139
|
+
name: "Contract Task",
|
|
140
|
+
properties: [
|
|
141
|
+
prop("id", "string", {
|
|
142
|
+
required: true,
|
|
143
|
+
primary: true,
|
|
144
|
+
query: { searchable: true, sortable: true },
|
|
145
|
+
}),
|
|
146
|
+
prop("assignee", ref.user(), {
|
|
147
|
+
nullable: true,
|
|
148
|
+
query: { searchable: true, filterable: true, facet: true },
|
|
149
|
+
}),
|
|
150
|
+
prop(
|
|
151
|
+
"reviewers",
|
|
152
|
+
{ type: "array", items: ref.user() },
|
|
153
|
+
{ query: { searchable: true, filterable: true } }
|
|
154
|
+
),
|
|
155
|
+
],
|
|
156
|
+
})
|
|
157
|
+
|
|
140
158
|
export const objectQueryContractOntology = new OntologyRegistry({
|
|
141
|
-
sources: [Room, Device, Zone, Asset, LaptopAsset, DefaultTextBase, DefaultTextChild],
|
|
159
|
+
sources: [Room, Device, Zone, Asset, LaptopAsset, DefaultTextBase, DefaultTextChild, Task],
|
|
142
160
|
})
|
|
143
161
|
|
|
144
162
|
/**
|
|
@@ -155,6 +173,7 @@ export function runObjectQueryProviderContractSuite<TStorage extends Storage>(
|
|
|
155
173
|
): void {
|
|
156
174
|
const withStorage = async (
|
|
157
175
|
body: (context: {
|
|
176
|
+
readonly storage: TStorage
|
|
158
177
|
readonly objects: TStorage["objects"]
|
|
159
178
|
readonly fixture: MaterializerTestFixture
|
|
160
179
|
}) => Promise<void>
|
|
@@ -162,6 +181,7 @@ export function runObjectQueryProviderContractSuite<TStorage extends Storage>(
|
|
|
162
181
|
const storage = await options.createStorage()
|
|
163
182
|
try {
|
|
164
183
|
await body({
|
|
184
|
+
storage,
|
|
165
185
|
objects: storage.objects,
|
|
166
186
|
fixture: createMaterializerTestFixture({
|
|
167
187
|
projectId,
|
|
@@ -839,6 +859,101 @@ export function runObjectQueryProviderContractSuite<TStorage extends Storage>(
|
|
|
839
859
|
})
|
|
840
860
|
})
|
|
841
861
|
|
|
862
|
+
test("matches user references on type and id, and groups facets by user", async () => {
|
|
863
|
+
await withStorage(async ({ storage: complete, objects: storage, fixture }) => {
|
|
864
|
+
const auth = complete.auth
|
|
865
|
+
if (!auth) throw new Error("The object query contract requires auth storage.")
|
|
866
|
+
for (const id of ["usr_alice", "usr_bob", "usr_carol"]) {
|
|
867
|
+
await auth.users.create({ projectId, id, email: `${id}@example.com` })
|
|
868
|
+
}
|
|
869
|
+
const alice = { type: "user", id: "usr_alice" }
|
|
870
|
+
const bob = { type: "user", id: "usr_bob" }
|
|
871
|
+
const carol = { type: "user", id: "usr_carol" }
|
|
872
|
+
await fixture.seed({
|
|
873
|
+
objects: [
|
|
874
|
+
objectSeed(Task.id, "t1", { assignee: alice, reviewers: [bob] }),
|
|
875
|
+
objectSeed(Task.id, "t2", { assignee: alice, reviewers: [bob, carol] }),
|
|
876
|
+
objectSeed(Task.id, "t3", { assignee: alice, reviewers: [] }),
|
|
877
|
+
objectSeed(Task.id, "t4", { assignee: bob, reviewers: [alice] }),
|
|
878
|
+
objectSeed(Task.id, "t5", { assignee: bob, reviewers: [carol] }),
|
|
879
|
+
objectSeed(Task.id, "t6", { assignee: null, reviewers: [] }),
|
|
880
|
+
objectSeed(Task.id, "t7", { reviewers: [] }),
|
|
881
|
+
],
|
|
882
|
+
})
|
|
883
|
+
|
|
884
|
+
const ids = async (predicate: ObjectQueryPredicate) => {
|
|
885
|
+
const result = await executeObjectQuery(
|
|
886
|
+
{
|
|
887
|
+
projectId,
|
|
888
|
+
query: {
|
|
889
|
+
kind: "sort",
|
|
890
|
+
fields: [{ kind: "property", propertyId: "id" }],
|
|
891
|
+
input: {
|
|
892
|
+
kind: "filter",
|
|
893
|
+
predicate,
|
|
894
|
+
input: { kind: "start", objectTypeId: Task.id },
|
|
895
|
+
},
|
|
896
|
+
},
|
|
897
|
+
},
|
|
898
|
+
{ ontology: objectQueryContractOntology, storage }
|
|
899
|
+
)
|
|
900
|
+
expect(result.plan.mode).toBe("pushdown")
|
|
901
|
+
return result.objects.map((object) => object.primaryId)
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
expect(await ids({ op: "eq", propertyId: "assignee", value: alice })).toEqual([
|
|
905
|
+
"t1",
|
|
906
|
+
"t2",
|
|
907
|
+
"t3",
|
|
908
|
+
])
|
|
909
|
+
// Field order is not part of the value.
|
|
910
|
+
expect(
|
|
911
|
+
await ids({ op: "eq", propertyId: "assignee", value: { id: "usr_alice", type: "user" } })
|
|
912
|
+
).toEqual(["t1", "t2", "t3"])
|
|
913
|
+
expect(await ids({ op: "neq", propertyId: "assignee", value: alice })).toEqual([
|
|
914
|
+
"t4",
|
|
915
|
+
"t5",
|
|
916
|
+
"t6",
|
|
917
|
+
"t7",
|
|
918
|
+
])
|
|
919
|
+
expect(await ids({ op: "in", propertyId: "assignee", values: [bob, null] })).toEqual([
|
|
920
|
+
"t4",
|
|
921
|
+
"t5",
|
|
922
|
+
"t6",
|
|
923
|
+
])
|
|
924
|
+
expect(await ids({ op: "exists", propertyId: "assignee", value: false })).toEqual(["t7"])
|
|
925
|
+
expect(await ids({ op: "contains", propertyId: "reviewers", value: bob })).toEqual([
|
|
926
|
+
"t1",
|
|
927
|
+
"t2",
|
|
928
|
+
])
|
|
929
|
+
expect(await ids({ op: "contains", propertyId: "reviewers", value: carol })).toEqual([
|
|
930
|
+
"t2",
|
|
931
|
+
"t5",
|
|
932
|
+
])
|
|
933
|
+
expect(await ids({ op: "contains", propertyId: "reviewers", value: alice })).toEqual(["t4"])
|
|
934
|
+
|
|
935
|
+
const facets = await facetObjects(
|
|
936
|
+
{
|
|
937
|
+
projectId,
|
|
938
|
+
query: { kind: "start", objectTypeId: Task.id },
|
|
939
|
+
facets: [{ propertyId: "assignee", limit: 10 }],
|
|
940
|
+
},
|
|
941
|
+
{ ontology: objectQueryContractOntology, storage }
|
|
942
|
+
)
|
|
943
|
+
expect(facets.plan.mode).toBe("pushdown")
|
|
944
|
+
expect(facets.facets).toEqual([
|
|
945
|
+
{
|
|
946
|
+
propertyId: "assignee",
|
|
947
|
+
buckets: [
|
|
948
|
+
{ value: alice, count: 3 },
|
|
949
|
+
{ value: bob, count: 2 },
|
|
950
|
+
{ value: null, count: 1 },
|
|
951
|
+
],
|
|
952
|
+
},
|
|
953
|
+
])
|
|
954
|
+
})
|
|
955
|
+
})
|
|
956
|
+
|
|
842
957
|
test("counts matching objects by facetable properties without returning rows", async () => {
|
|
843
958
|
await withStorage(async ({ objects: storage, fixture }) => {
|
|
844
959
|
await seedObjectQueryContractData(fixture)
|
|
@@ -1174,34 +1289,54 @@ export function runObjectQueryProviderContractSuite<TStorage extends Storage>(
|
|
|
1174
1289
|
})
|
|
1175
1290
|
})
|
|
1176
1291
|
|
|
1177
|
-
test("
|
|
1178
|
-
await withStorage(async ({ objects: storage
|
|
1179
|
-
|
|
1292
|
+
test("plans or rejects vector search according to provider capabilities", async () => {
|
|
1293
|
+
await withStorage(async ({ objects: storage }) => {
|
|
1294
|
+
// Keep generic fixture writes usable by providers without vector persistence.
|
|
1295
|
+
const ontology = new OntologyRegistry({
|
|
1296
|
+
sources: [
|
|
1297
|
+
Device,
|
|
1298
|
+
defineObjectType({
|
|
1299
|
+
...Room,
|
|
1300
|
+
search: {
|
|
1301
|
+
vectors: {
|
|
1302
|
+
content: {
|
|
1303
|
+
source: ["name", "description"],
|
|
1304
|
+
model: {
|
|
1305
|
+
providerId: "test",
|
|
1306
|
+
modelId: "embedding",
|
|
1307
|
+
definition: {
|
|
1308
|
+
kind: "embedding",
|
|
1309
|
+
providerId: "test",
|
|
1310
|
+
modelId: "embedding",
|
|
1311
|
+
dimensions: 2,
|
|
1312
|
+
},
|
|
1313
|
+
},
|
|
1314
|
+
},
|
|
1315
|
+
},
|
|
1316
|
+
},
|
|
1317
|
+
}),
|
|
1318
|
+
],
|
|
1319
|
+
})
|
|
1180
1320
|
const query: ObjectQuery = {
|
|
1181
1321
|
kind: "vector",
|
|
1182
|
-
|
|
1322
|
+
profile: "content",
|
|
1183
1323
|
vector: [1, 0],
|
|
1184
1324
|
k: 2,
|
|
1185
1325
|
input: { kind: "start", objectTypeId: Room.id },
|
|
1186
1326
|
}
|
|
1187
1327
|
|
|
1328
|
+
// Native vector execution is covered by the dedicated vector-search suite.
|
|
1329
|
+
const validated = validateObjectQuery(query, { ontology })
|
|
1330
|
+
const plan = planObjectQuery(validated.query, {
|
|
1331
|
+
capabilities: storage.queryCapabilities(),
|
|
1332
|
+
hasQueryObjects: typeof storage.queryObjects === "function",
|
|
1333
|
+
})
|
|
1188
1334
|
if (storage.queryCapabilities().nodes?.vector === true) {
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
)
|
|
1193
|
-
expect(result.plan.mode).toBe("pushdown")
|
|
1194
|
-
expect(ids(result)).toEqual(["room-alpha", "room-beta"])
|
|
1195
|
-
return
|
|
1335
|
+
expect(plan.mode).toBe("pushdown")
|
|
1336
|
+
} else {
|
|
1337
|
+
expect(plan.mode).toBe("rejected")
|
|
1338
|
+
expect(plan.issues.map((issue) => issue.code)).toContain("query_node_not_supported")
|
|
1196
1339
|
}
|
|
1197
|
-
|
|
1198
|
-
await expectPlanningIssue(
|
|
1199
|
-
executeObjectQuery(
|
|
1200
|
-
{ projectId, query },
|
|
1201
|
-
{ ontology: objectQueryContractOntology, storage }
|
|
1202
|
-
),
|
|
1203
|
-
"query_node_not_supported"
|
|
1204
|
-
)
|
|
1205
1340
|
})
|
|
1206
1341
|
})
|
|
1207
1342
|
|
|
@@ -70,11 +70,7 @@ const Proposal = defineObjectType({
|
|
|
70
70
|
}),
|
|
71
71
|
prop("rank", "double", { query: { searchable: true, filterable: true, sortable: true } }),
|
|
72
72
|
prop("category", "string", { query: { searchable: true, filterable: true, facet: true } }),
|
|
73
|
-
prop(
|
|
74
|
-
"embedding",
|
|
75
|
-
{ type: "array", items: "double" },
|
|
76
|
-
{ query: { searchable: true, vector: true } }
|
|
77
|
-
),
|
|
73
|
+
prop("embedding", { type: "array", items: "double" }, { query: { searchable: true } }),
|
|
78
74
|
prop("secret", "string", { query: { searchable: true, filterable: true, facet: true } }),
|
|
79
75
|
],
|
|
80
76
|
links: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AuthorizablePrincipal } from "../execution/types"
|
|
1
2
|
import { createEventId } from "../materialization/identity"
|
|
2
3
|
import type {
|
|
3
4
|
MaterializationPlanHeader,
|
|
@@ -29,6 +30,11 @@ const emptyChunk = {
|
|
|
29
30
|
outbox: [],
|
|
30
31
|
} as const
|
|
31
32
|
|
|
33
|
+
/** The request executor `ensureContractExecution` records for a contract commit. */
|
|
34
|
+
export function contractExecutor(id: string) {
|
|
35
|
+
return { type: "request" as const, requestId: `contract-request:${id}` }
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
export function contractEditHeader(id: string): MaterializationPlanHeader {
|
|
33
39
|
return {
|
|
34
40
|
commit: {
|
|
@@ -38,6 +44,7 @@ export function contractEditHeader(id: string): MaterializationPlanHeader {
|
|
|
38
44
|
requestHash: `hash:${id}`,
|
|
39
45
|
executionId: `contract-execution:${id}`,
|
|
40
46
|
origin: { kind: "runtime", requestId: id },
|
|
47
|
+
executor: contractExecutor(id),
|
|
41
48
|
ontologyRevision: "ontology-contract-revision",
|
|
42
49
|
intent: { kind: "edit", mode: "atomic", operationCount: 0 },
|
|
43
50
|
committedAt: CONTRACT_COMMITTED_AT,
|
|
@@ -90,9 +97,15 @@ export async function commitExactObject(
|
|
|
90
97
|
readonly primaryId?: string
|
|
91
98
|
readonly omitFinalize?: boolean
|
|
92
99
|
readonly throwAfterFinalize?: boolean
|
|
100
|
+
/** Must name an existing auth principal: SQL providers reference it from the execution. */
|
|
101
|
+
readonly requestedBy?: AuthorizablePrincipal
|
|
93
102
|
} = {}
|
|
94
103
|
): Promise<{ readonly eventId: string }> {
|
|
95
|
-
const
|
|
104
|
+
const defaultHeader = contractEditHeader(id)
|
|
105
|
+
const header: MaterializationPlanHeader =
|
|
106
|
+
options.requestedBy === undefined
|
|
107
|
+
? defaultHeader
|
|
108
|
+
: { ...defaultHeader, commit: { ...defaultHeader.commit, requestedBy: options.requestedBy } }
|
|
96
109
|
const ref = { objectTypeId: "ContractDevice", primaryId: options.primaryId ?? id }
|
|
97
110
|
const row = {
|
|
98
111
|
ref,
|
|
@@ -109,6 +122,8 @@ export async function commitExactObject(
|
|
|
109
122
|
occurredAt: header.commit.committedAt,
|
|
110
123
|
correlationId: `contract-correlation:${id}`,
|
|
111
124
|
origin: header.commit.origin,
|
|
125
|
+
...(header.commit.requestedBy === undefined ? {} : { requestedBy: header.commit.requestedBy }),
|
|
126
|
+
executor: header.commit.executor,
|
|
112
127
|
commitId: id,
|
|
113
128
|
type: "object.created" as const,
|
|
114
129
|
topic: "objects" as const,
|
|
@@ -214,12 +229,17 @@ export async function ensureContractExecution(
|
|
|
214
229
|
) {
|
|
215
230
|
return
|
|
216
231
|
}
|
|
232
|
+
const { requestedBy } = header.commit
|
|
217
233
|
await storage.executions.create({
|
|
218
234
|
id: header.commit.executionId,
|
|
219
235
|
projectId: header.commit.projectId,
|
|
220
|
-
|
|
236
|
+
...(requestedBy === undefined ? {} : { requestedBy }),
|
|
237
|
+
executor: contractExecutor(header.commit.id),
|
|
221
238
|
source: { type: "http", requestId: `contract-request:${header.commit.id}` },
|
|
222
239
|
correlationId: `contract-correlation:${header.commit.id}`,
|
|
223
|
-
authorizationRef:
|
|
240
|
+
authorizationRef:
|
|
241
|
+
requestedBy === undefined
|
|
242
|
+
? { type: "disabled" }
|
|
243
|
+
: { type: "principal", principal: requestedBy },
|
|
224
244
|
})
|
|
225
245
|
}
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
commitExactObject,
|
|
17
17
|
contractEditHeader,
|
|
18
18
|
contractEditResult,
|
|
19
|
+
contractExecutor,
|
|
19
20
|
ensureContractExecution,
|
|
20
21
|
type OntologyContractStorage,
|
|
21
22
|
} from "./ontology-contract-fixture"
|
|
@@ -148,6 +149,51 @@ export function runOntologyStorageContractSuite<TStorage extends OntologyStorage
|
|
|
148
149
|
})
|
|
149
150
|
})
|
|
150
151
|
|
|
152
|
+
test("round-trips commit and event attribution exactly", async () => {
|
|
153
|
+
await withStorage(async (storage) => {
|
|
154
|
+
// The requester is a real principal: SQL executions reference it by foreign key.
|
|
155
|
+
if (!storage.auth) throw new Error("The attribution contract requires auth storage.")
|
|
156
|
+
await storage.auth.users.create({
|
|
157
|
+
projectId: "contract-project",
|
|
158
|
+
id: "contract-requester",
|
|
159
|
+
email: "requester@example.com",
|
|
160
|
+
})
|
|
161
|
+
const requestedBy = { type: "user", id: "contract-requester" } as const
|
|
162
|
+
await commitExactObject(storage, "attributed", { requestedBy })
|
|
163
|
+
await commitExactObject(storage, "unattributed", { primaryId: "unattributed-device" })
|
|
164
|
+
|
|
165
|
+
const attributed = await storage.ontology.commits.getById({
|
|
166
|
+
projectId: "contract-project",
|
|
167
|
+
id: "attributed",
|
|
168
|
+
})
|
|
169
|
+
expect(attributed?.requestedBy).toEqual(requestedBy)
|
|
170
|
+
expect(attributed?.executor).toEqual(contractExecutor("attributed"))
|
|
171
|
+
expect(attributed).not.toHaveProperty("actor")
|
|
172
|
+
const unattributed = await storage.ontology.commits.getById({
|
|
173
|
+
projectId: "contract-project",
|
|
174
|
+
id: "unattributed",
|
|
175
|
+
})
|
|
176
|
+
expect(unattributed).not.toHaveProperty("requestedBy")
|
|
177
|
+
expect(unattributed?.executor).toEqual(contractExecutor("unattributed"))
|
|
178
|
+
|
|
179
|
+
const claimed = await storage.ontology.outbox.claim({
|
|
180
|
+
projectId: "contract-project",
|
|
181
|
+
now: "2027-01-01T00:00:00.000Z",
|
|
182
|
+
limit: 10,
|
|
183
|
+
leaseId: "attribution-check",
|
|
184
|
+
leaseExpiresAt: "2027-01-01T01:00:00.000Z",
|
|
185
|
+
})
|
|
186
|
+
const envelopes = new Map(claimed.map((record) => [record.envelope.commitId, record]))
|
|
187
|
+
expect(envelopes.get("attributed")?.envelope).toMatchObject({
|
|
188
|
+
requestedBy,
|
|
189
|
+
executor: contractExecutor("attributed"),
|
|
190
|
+
})
|
|
191
|
+
const unattributedEnvelope = envelopes.get("unattributed")?.envelope
|
|
192
|
+
expect(unattributedEnvelope?.executor).toEqual(contractExecutor("unattributed"))
|
|
193
|
+
expect(unattributedEnvelope).not.toHaveProperty("requestedBy")
|
|
194
|
+
})
|
|
195
|
+
})
|
|
196
|
+
|
|
151
197
|
test("rejects an ontology commit whose execution does not exist", async () => {
|
|
152
198
|
await withStorage(async (storage) => {
|
|
153
199
|
const header = contractEditHeader("missing-execution")
|
|
@@ -883,6 +929,12 @@ async function activateEmptyCandidate(
|
|
|
883
929
|
datasetId: candidate.identity.datasetVersion.datasetId,
|
|
884
930
|
datasetVersionId: candidate.identity.datasetVersion.versionId,
|
|
885
931
|
},
|
|
932
|
+
executor: {
|
|
933
|
+
type: "primitive",
|
|
934
|
+
kind: "projection",
|
|
935
|
+
id: candidate.source.projectionId,
|
|
936
|
+
runId: candidate.execution.projectionRunId,
|
|
937
|
+
},
|
|
886
938
|
ontologyRevision: candidate.identity.ontologyRevision,
|
|
887
939
|
projectionRevision: candidate.identity.projectionRevision,
|
|
888
940
|
ownershipHash: candidate.identity.ownershipHash,
|
|
@@ -971,6 +1023,12 @@ function telemetryHeader(
|
|
|
971
1023
|
batchOrdinal: 0,
|
|
972
1024
|
},
|
|
973
1025
|
},
|
|
1026
|
+
executor: {
|
|
1027
|
+
type: "primitive",
|
|
1028
|
+
kind: "projection",
|
|
1029
|
+
id: identity.projectionId,
|
|
1030
|
+
runId: projectionRunId,
|
|
1031
|
+
},
|
|
974
1032
|
ontologyRevision: identity.ontologyRevision,
|
|
975
1033
|
projectionRevision: identity.projectionRevision,
|
|
976
1034
|
ownershipHash: identity.ownershipHash,
|
|
@@ -54,6 +54,37 @@ export function runQueueContractSuite(label: string, options: QueueContractSuite
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
describe(label, () => {
|
|
57
|
+
test("vector indexing has independent delivery capacity and idempotent generation ids", async () => {
|
|
58
|
+
await withQueues(async (queues) => {
|
|
59
|
+
const jobs = [
|
|
60
|
+
{
|
|
61
|
+
id: "generation-1",
|
|
62
|
+
type: "vector.index.requested" as const,
|
|
63
|
+
payload: { indexingId: "generation-1" },
|
|
64
|
+
},
|
|
65
|
+
]
|
|
66
|
+
await queues.vectorIndexing.enqueue({ projectId: "project-a", jobs })
|
|
67
|
+
await queues.vectorIndexing.enqueue({ projectId: "project-a", jobs })
|
|
68
|
+
expect(
|
|
69
|
+
await queues.projections.claim({ projectId: "project-a", workerId: "projection" })
|
|
70
|
+
).toHaveLength(0)
|
|
71
|
+
const claimed = await queues.vectorIndexing.claim({
|
|
72
|
+
projectId: "project-a",
|
|
73
|
+
workerId: "indexing",
|
|
74
|
+
limit: 2,
|
|
75
|
+
})
|
|
76
|
+
expect(claimed).toHaveLength(1)
|
|
77
|
+
expect(claimed[0]!.job.payload).toEqual({ indexingId: "generation-1" })
|
|
78
|
+
await queues.vectorIndexing.complete({
|
|
79
|
+
projectId: "project-a",
|
|
80
|
+
jobId: claimed[0]!.job.id,
|
|
81
|
+
leaseId: claimed[0]!.leaseId,
|
|
82
|
+
})
|
|
83
|
+
expect(
|
|
84
|
+
await queues.vectorIndexing.claim({ projectId: "project-a", workerId: "indexing" })
|
|
85
|
+
).toHaveLength(0)
|
|
86
|
+
})
|
|
87
|
+
})
|
|
57
88
|
describe("enqueue", () => {
|
|
58
89
|
test("returns envelopes with generated id, createdAt, availableAt, attempt=0", async () => {
|
|
59
90
|
await withQueues(async (queues) => {
|
|
@@ -129,6 +129,33 @@ export function runSandboxesContractSuite(
|
|
|
129
129
|
})
|
|
130
130
|
|
|
131
131
|
describe("working directory", () => {
|
|
132
|
+
// Regression check: remove the provider's cwd resolution, leaving only
|
|
133
|
+
// `options.cwd ?? this.workingDirectory`; these relative file reads must fail.
|
|
134
|
+
test.each([
|
|
135
|
+
[".", "root"],
|
|
136
|
+
["nested", "child"],
|
|
137
|
+
["./nested/..", "root"],
|
|
138
|
+
])("resolves relative cwd %s against the workspace", async (cwd, expected) => {
|
|
139
|
+
const sandbox = await factory.create()
|
|
140
|
+
try {
|
|
141
|
+
await sandbox.writeFiles([
|
|
142
|
+
{ path: "cwd-probe.txt", contents: "root" },
|
|
143
|
+
{ path: "nested/cwd-probe.txt", contents: "child" },
|
|
144
|
+
])
|
|
145
|
+
|
|
146
|
+
const result = await sandbox.runCommand("cat", ["cwd-probe.txt"], { cwd })
|
|
147
|
+
expect(result.exitCode).toBe(0)
|
|
148
|
+
expect(result.stdout).toBe(expected)
|
|
149
|
+
|
|
150
|
+
// A per-call override must not change the next command's default directory.
|
|
151
|
+
const next = await sandbox.runCommand("cat", ["cwd-probe.txt"])
|
|
152
|
+
expect(next.exitCode).toBe(0)
|
|
153
|
+
expect(next.stdout).toBe("root")
|
|
154
|
+
} finally {
|
|
155
|
+
await sandbox.destroy()
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
|
|
132
159
|
test("pwd reflects the configured workingDirectory", async () => {
|
|
133
160
|
const sandbox = await factory.create()
|
|
134
161
|
try {
|