@sixb/core 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/builders/params.d.ts +1 -22
- package/dist/actions/builders/params.d.ts.map +1 -1
- package/dist/actions/index.d.ts +2 -2
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +33 -30
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +14 -16
- package/dist/actions/read-facade.d.ts.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-dispatch.d.ts +2 -0
- package/dist/actions/run-dispatch.d.ts.map +1 -1
- package/dist/actions/types/context.d.ts +18 -31
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/types/params.d.ts +11 -44
- package/dist/actions/types/params.d.ts.map +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +3 -2
- package/dist/actions/worker.js.map +2 -2
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +15 -9
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/ids.d.ts +2 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +52 -44
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/sandbox.d.ts +5 -0
- package/dist/agents/sandbox.d.ts.map +1 -0
- package/dist/agents/streams/index.js +4 -3
- package/dist/agents/streams/index.js.map +1 -1
- package/dist/agents/streams/internal.js +4 -3
- package/dist/agents/streams/internal.js.map +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/assert-never.d.ts +6 -0
- package/dist/assert-never.d.ts.map +1 -0
- package/dist/auth/client-address.d.ts +3 -0
- package/dist/auth/client-address.d.ts.map +1 -0
- package/dist/auth/csrf.d.ts +5 -1
- package/dist/auth/csrf.d.ts.map +1 -1
- package/dist/auth/index.d.ts +3 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +15 -7
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +58 -41
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/session-cache.d.ts +10 -3
- package/dist/auth/session-cache.d.ts.map +1 -1
- package/dist/auth/sessions.d.ts +12 -0
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/strategy.js +1 -1
- package/dist/auth/types.d.ts +8 -15
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.js +5 -4
- package/dist/authorization/index.js.map +1 -1
- package/dist/bootstrap/index.d.ts +1 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +54 -48
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/ontology-type-manifest.d.ts +8 -0
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/{chunk-q5gz3g2j.js → chunk-0321g649.js} +2 -16
- package/dist/{chunk-q5gz3g2j.js.map → chunk-0321g649.js.map} +2 -2
- package/dist/{chunk-d63nnr5b.js → chunk-04h4t2b5.js} +39 -53
- package/dist/{chunk-d63nnr5b.js.map → chunk-04h4t2b5.js.map} +5 -6
- package/dist/chunk-2fv8sajb.js +84 -0
- package/dist/chunk-2fv8sajb.js.map +10 -0
- package/dist/{chunk-1yefycb1.js → chunk-2hbhn1ff.js} +2 -2
- package/dist/{chunk-ap0g1g74.js → chunk-3nx8vj5a.js} +43 -6
- package/dist/chunk-3nx8vj5a.js.map +12 -0
- package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
- package/dist/{chunk-0y39rgsb.js → chunk-4tnrzqqh.js} +1 -1
- package/dist/chunk-58geavnf.js +29 -0
- package/dist/chunk-58geavnf.js.map +10 -0
- package/dist/{chunk-01kj2pbh.js → chunk-63fp9x3q.js} +97 -67
- package/dist/chunk-63fp9x3q.js.map +20 -0
- package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
- package/dist/chunk-69266efg.js.map +12 -0
- package/dist/{chunk-sepyxgpc.js → chunk-693f3zn8.js} +70 -28
- package/dist/chunk-693f3zn8.js.map +15 -0
- package/dist/{chunk-7zgecwy1.js → chunk-6x0pqh32.js} +12 -1
- package/dist/{chunk-7zgecwy1.js.map → chunk-6x0pqh32.js.map} +3 -3
- package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
- package/dist/{chunk-a0e6x5hd.js → chunk-898y24dd.js} +165 -90
- package/dist/chunk-898y24dd.js.map +15 -0
- package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
- package/dist/chunk-91kcnbf0.js.map +10 -0
- package/dist/{chunk-z0s4axeh.js → chunk-91wthfwe.js} +97 -21
- package/dist/{chunk-z0s4axeh.js.map → chunk-91wthfwe.js.map} +8 -7
- package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
- package/dist/chunk-96yw3pwd.js.map +10 -0
- package/dist/chunk-98cw09sw.js.map +2 -2
- package/dist/{chunk-g00bfdq6.js → chunk-9pfw47qx.js} +318 -257
- package/dist/chunk-9pfw47qx.js.map +44 -0
- package/dist/{chunk-5hz0fnca.js → chunk-a0073121.js} +64 -60
- package/dist/chunk-a0073121.js.map +12 -0
- package/dist/{chunk-cfvakeax.js → chunk-a69fkrtr.js} +5 -5
- package/dist/{chunk-72w2pxk7.js → chunk-bdhfn0ww.js} +11 -3
- package/dist/{chunk-72w2pxk7.js.map → chunk-bdhfn0ww.js.map} +3 -3
- package/dist/chunk-bep5rrdq.js +81 -0
- package/dist/chunk-bep5rrdq.js.map +10 -0
- package/dist/chunk-bxx3ms5t.js +29 -0
- package/dist/chunk-bxx3ms5t.js.map +10 -0
- package/dist/{chunk-v2vcg0w6.js → chunk-cbn96bve.js} +2 -2
- package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
- package/dist/chunk-cd234ba4.js.map +14 -0
- package/dist/{chunk-gq8vhakp.js → chunk-cvrbhvtr.js} +292 -104
- package/dist/chunk-cvrbhvtr.js.map +46 -0
- package/dist/{chunk-ms2tmn1k.js → chunk-d8yes9yx.js} +355 -100
- package/dist/chunk-d8yes9yx.js.map +20 -0
- package/dist/{chunk-pr2h4bv4.js → chunk-darm7eeg.js} +9 -9
- package/dist/{chunk-pr2h4bv4.js.map → chunk-darm7eeg.js.map} +3 -3
- package/dist/chunk-dmn70ztd.js.map +2 -2
- package/dist/chunk-drz59ve0.js +57 -0
- package/dist/chunk-drz59ve0.js.map +10 -0
- package/dist/{chunk-skz0hst3.js → chunk-dsfw1bdr.js} +6 -86
- package/dist/{chunk-skz0hst3.js.map → chunk-dsfw1bdr.js.map} +3 -3
- package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
- package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
- package/dist/chunk-ffwvdgk1.js +85 -0
- package/dist/chunk-ffwvdgk1.js.map +10 -0
- package/dist/chunk-gbcrz0gr.js +552 -0
- package/dist/chunk-gbcrz0gr.js.map +17 -0
- package/dist/{chunk-gqm76kse.js → chunk-gc226ten.js} +434 -177
- package/dist/chunk-gc226ten.js.map +62 -0
- package/dist/{chunk-awbhdqyc.js → chunk-gmt22nxx.js} +10 -16
- package/dist/chunk-gmt22nxx.js.map +10 -0
- package/dist/chunk-h89wz928.js +42 -0
- package/dist/chunk-h89wz928.js.map +10 -0
- package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
- package/dist/chunk-hgqpcmyr.js.map +12 -0
- package/dist/{chunk-gqh45d2n.js → chunk-ht4a7mjg.js} +76 -6
- package/dist/chunk-ht4a7mjg.js.map +15 -0
- package/dist/{chunk-x9m9x2eq.js → chunk-jhyc777j.js} +3 -3
- package/dist/{chunk-fh8kgex1.js → chunk-jmwy25mf.js} +76 -58
- package/dist/{chunk-fh8kgex1.js.map → chunk-jmwy25mf.js.map} +3 -3
- package/dist/{chunk-rb1xx120.js → chunk-k4kkp58d.js} +25 -8
- package/dist/chunk-k4kkp58d.js.map +11 -0
- package/dist/{chunk-jsy70480.js → chunk-ky7zpbtt.js} +366 -98
- package/dist/chunk-ky7zpbtt.js.map +19 -0
- package/dist/chunk-m4ehq95f.js +9 -0
- package/dist/chunk-m4ehq95f.js.map +10 -0
- package/dist/{chunk-17kfctj6.js → chunk-m8zkvep1.js} +2 -2
- package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
- package/dist/chunk-mdnw7nj8.js.map +15 -0
- package/dist/{chunk-4zhmdsx6.js → chunk-mf6hwpzh.js} +121 -28
- package/dist/{chunk-4zhmdsx6.js.map → chunk-mf6hwpzh.js.map} +6 -6
- package/dist/{chunk-z30bv4ga.js → chunk-mr60an99.js} +5 -3
- package/dist/{chunk-z30bv4ga.js.map → chunk-mr60an99.js.map} +3 -3
- package/dist/chunk-n33e8dz8.js +191 -0
- package/dist/chunk-n33e8dz8.js.map +11 -0
- package/dist/chunk-p1683c0v.js +104 -0
- package/dist/chunk-p1683c0v.js.map +11 -0
- package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
- package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
- package/dist/chunk-rdghfsss.js.map +10 -0
- package/dist/{chunk-ftv470j8.js → chunk-rqtdtm43.js} +365 -67
- package/dist/chunk-rqtdtm43.js.map +50 -0
- package/dist/{chunk-dz5h08xv.js → chunk-rzcjp5m2.js} +28 -9
- package/dist/chunk-rzcjp5m2.js.map +25 -0
- package/dist/{chunk-f4w3yp4f.js → chunk-rzkr70gr.js} +108 -21
- package/dist/chunk-rzkr70gr.js.map +13 -0
- package/dist/{chunk-3ckk0xfj.js → chunk-s24qbp32.js} +18 -13
- package/dist/{chunk-3ckk0xfj.js.map → chunk-s24qbp32.js.map} +3 -3
- package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
- package/dist/chunk-t6f3tdnr.js.map +10 -0
- package/dist/{chunk-93csa55g.js → chunk-tw03bsmb.js} +11 -5
- package/dist/chunk-tw03bsmb.js.map +11 -0
- package/dist/chunk-vef6qa14.js +363 -0
- package/dist/chunk-vef6qa14.js.map +14 -0
- package/dist/{chunk-92vk7gta.js → chunk-vn3yh259.js} +1 -1
- package/dist/{chunk-g91qxjj0.js → chunk-w9bp61e7.js} +5 -5
- package/dist/{chunk-b19g04jk.js → chunk-xgptywp0.js} +4 -3
- package/dist/chunk-xgptywp0.js.map +11 -0
- package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
- package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
- package/dist/{chunk-1824gssz.js → chunk-y487ywrv.js} +4 -4
- package/dist/{chunk-7apz6hg4.js → chunk-y6vnvayj.js} +8 -4
- package/dist/chunk-y6vnvayj.js.map +10 -0
- package/dist/{chunk-wf88w4kp.js → chunk-ypj2wqtj.js} +3 -6
- package/dist/{chunk-wf88w4kp.js.map → chunk-ypj2wqtj.js.map} +4 -4
- package/dist/chunk-z3y5kg1x.js +14 -0
- package/dist/chunk-z3y5kg1x.js.map +10 -0
- package/dist/{chunk-38zv5rkr.js → chunk-z9h698s8.js} +1 -1
- package/dist/{chunk-38zv5rkr.js.map → chunk-z9h698s8.js.map} +2 -2
- package/dist/{chunk-8vj0rjgs.js → chunk-zdkcdshk.js} +3 -36
- package/dist/{chunk-8vj0rjgs.js.map → chunk-zdkcdshk.js.map} +3 -4
- package/dist/{chunk-358caqf5.js → chunk-znw0zvy4.js} +2 -2
- package/dist/datasets/validation.d.ts +4 -0
- package/dist/datasets/validation.d.ts.map +1 -1
- package/dist/datasets/write.d.ts.map +1 -1
- package/dist/datasets/write.js +5 -4
- package/dist/datasets/write.js.map +1 -1
- package/dist/edits/types.d.ts +19 -19
- package/dist/edits/types.d.ts.map +1 -1
- package/dist/error-reporting/capability.d.ts +3 -2
- package/dist/error-reporting/capability.d.ts.map +1 -1
- package/dist/error-reporting/internal.js +5 -4
- package/dist/error-reporting/internal.js.map +1 -1
- package/dist/error-reporting/reports.d.ts +10 -0
- package/dist/error-reporting/reports.d.ts.map +1 -1
- package/dist/error-reporting/types.d.ts +10 -2
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +16 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/failure-message.d.ts +8 -0
- package/dist/errors/failure-message.d.ts.map +1 -0
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +3 -2
- package/dist/errors/internal.js.map +1 -1
- package/dist/events/envelope.d.ts +0 -12
- package/dist/events/envelope.d.ts.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -4
- package/dist/events/index.js.map +1 -1
- package/dist/events/service.d.ts +1 -2
- package/dist/events/service.d.ts.map +1 -1
- package/dist/events/toStoredEvent.d.ts +1 -2
- package/dist/events/toStoredEvent.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +2 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +1 -2
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +48 -43
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +3 -0
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/kernel-operation.d.ts +4 -0
- package/dist/execution/kernel-operation.d.ts.map +1 -0
- package/dist/execution/primitive.d.ts +1 -2
- package/dist/execution/primitive.d.ts.map +1 -1
- package/dist/execution/primitive.js +47 -42
- package/dist/execution/primitive.js.map +3 -3
- package/dist/execution/request.d.ts +1 -2
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +48 -43
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/types.d.ts +6 -0
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/index.d.ts +20 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +77 -62
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.js +5 -4
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts +11 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/materialization/errors.d.ts +4 -2
- package/dist/materialization/errors.d.ts.map +1 -1
- package/dist/materialization/events.d.ts +27 -2
- package/dist/materialization/events.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +1 -0
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +3 -3
- package/dist/materialization/model.d.ts +2 -0
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materialization/vectors.d.ts +19 -0
- package/dist/materialization/vectors.d.ts.map +1 -0
- package/dist/materializer/context.d.ts.map +1 -1
- package/dist/materializer/edits/commit.d.ts.map +1 -1
- package/dist/materializer/edits/operations.d.ts +2 -1
- package/dist/materializer/edits/operations.d.ts.map +1 -1
- package/dist/materializer/edits/plan.d.ts +2 -2
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/edits/user-refs.d.ts +30 -0
- package/dist/materializer/edits/user-refs.d.ts.map +1 -0
- package/dist/materializer/edits/vector-authority.d.ts +6 -0
- package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
- package/dist/materializer/edits/vectors.d.ts +6 -0
- package/dist/materializer/edits/vectors.d.ts.map +1 -0
- package/dist/materializer/effective/build-events.d.ts +2 -2
- package/dist/materializer/effective/build-events.d.ts.map +1 -1
- package/dist/materializer/effective/validate.d.ts.map +1 -1
- package/dist/materializer/effective/vector-indexing.d.ts +7 -0
- package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
- package/dist/materializer/effective/vectors.d.ts +6 -0
- package/dist/materializer/effective/vectors.d.ts.map +1 -0
- package/dist/materializer/execution/scope.d.ts +11 -3
- package/dist/materializer/execution/scope.d.ts.map +1 -1
- package/dist/materializer/execution/work-executor.d.ts +2 -1
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/index.js +30 -27
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts +2 -0
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts +2 -2
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/models/catalog-index.d.ts +15 -0
- package/dist/models/catalog-index.d.ts.map +1 -0
- package/dist/models/catalog.d.ts +27 -6
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/decision/catalog.d.ts +12 -0
- package/dist/models/decision/catalog.d.ts.map +1 -0
- package/dist/models/decision/errors.d.ts +7 -0
- package/dist/models/decision/errors.d.ts.map +1 -0
- package/dist/models/decision/output.d.ts +50 -0
- package/dist/models/decision/output.d.ts.map +1 -0
- package/dist/models/decision/questions.d.ts +14 -0
- package/dist/models/decision/questions.d.ts.map +1 -0
- package/dist/models/decision/runtime.d.ts +7 -0
- package/dist/models/decision/runtime.d.ts.map +1 -0
- package/dist/models/decision/types.d.ts +92 -0
- package/dist/models/decision/types.d.ts.map +1 -0
- package/dist/models/decision/validation.d.ts +7 -0
- package/dist/models/decision/validation.d.ts.map +1 -0
- package/dist/models/definitions.d.ts +1 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/embedding-model.d.ts +60 -0
- package/dist/models/embedding-model.d.ts.map +1 -0
- package/dist/models/execution/binding.d.ts +2 -0
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/embedding.d.ts +5 -0
- package/dist/models/execution/embedding.d.ts.map +1 -0
- package/dist/models/execution/index.js +32 -27
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +5 -1
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/session.d.ts +21 -0
- package/dist/models/execution/session.d.ts.map +1 -0
- package/dist/models/execution.d.ts.map +1 -1
- package/dist/models/generation-types.d.ts +2 -0
- package/dist/models/generation-types.d.ts.map +1 -1
- package/dist/models/index.d.ts +9 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +17 -7
- package/dist/models/index.js.map +1 -1
- package/dist/models/pricing.d.ts +3 -2
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +21 -26
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +33 -30
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/query/executor.d.ts +3 -0
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +2 -0
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +42 -30
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +14 -3
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/scalar-values.d.ts.map +1 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts +6 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -3
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-builder.d.ts +8 -10
- package/dist/objects/sdk/query-builder.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +2 -0
- package/dist/objects/sdk/query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/telemetry-channel.d.ts +1 -2
- package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
- package/dist/objects/sdk/where.d.ts +2 -3
- package/dist/objects/sdk/where.d.ts.map +1 -1
- package/dist/objects/vectors/handle.d.ts +4 -0
- package/dist/objects/vectors/handle.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-batch.d.ts +6 -0
- package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-generate.d.ts +11 -0
- package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
- package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-shared.d.ts +17 -0
- package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-single.d.ts +4 -0
- package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
- package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
- package/dist/objects/vectors/indexing.d.ts +7 -0
- package/dist/objects/vectors/indexing.d.ts.map +1 -0
- package/dist/objects/vectors/profile.d.ts +13 -0
- package/dist/objects/vectors/profile.d.ts.map +1 -0
- package/dist/objects/vectors/query.d.ts +5 -0
- package/dist/objects/vectors/query.d.ts.map +1 -0
- package/dist/objects/vectors/resolve-query.d.ts +6 -0
- package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
- package/dist/objects/vectors/types.d.ts +11 -0
- package/dist/objects/vectors/types.d.ts.map +1 -0
- package/dist/ontology/builders.d.ts +11 -10
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/index.d.ts +5 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +7 -5
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +34 -22
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +1 -0
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +10 -7
- package/dist/ontology/internal.js.map +1 -1
- package/dist/ontology/primitives.d.ts +38 -0
- package/dist/ontology/primitives.d.ts.map +1 -0
- package/dist/ontology/query-capabilities.d.ts +38 -0
- package/dist/ontology/query-capabilities.d.ts.map +1 -0
- package/dist/ontology/refs.d.ts +23 -2
- package/dist/ontology/refs.d.ts.map +1 -1
- package/dist/ontology/registered.d.ts +16 -0
- package/dist/ontology/registered.d.ts.map +1 -0
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +35 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +26 -13
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/user-ref.d.ts +35 -0
- package/dist/ontology/user-ref.d.ts.map +1 -0
- package/dist/ontology/validation/definition.d.ts +3 -0
- package/dist/ontology/validation/definition.d.ts.map +1 -0
- package/dist/ontology/validation/index.d.ts +1 -1
- package/dist/ontology/validation/index.d.ts.map +1 -1
- package/dist/ontology/validation/normalize.d.ts.map +1 -1
- package/dist/ontology/validation/properties.d.ts +6 -1
- package/dist/ontology/validation/properties.d.ts.map +1 -1
- package/dist/ontology/validation/query.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts +1 -1
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/ontology/vector-profiles.d.ts +4 -0
- package/dist/ontology/vector-profiles.d.ts.map +1 -0
- package/dist/pipelines/index.js +32 -29
- package/dist/pipelines/index.js.map +1 -1
- package/dist/predicates/types.d.ts +53 -3
- package/dist/predicates/types.d.ts.map +1 -1
- package/dist/projections/builders.d.ts +19 -1
- package/dist/projections/builders.d.ts.map +1 -1
- package/dist/projections/internal.js +28 -25
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/validation.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +3 -2
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.d.ts +1 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +5 -0
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +4 -3
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +10 -7
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +3 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +49 -1
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +11 -6
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +182 -187
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/auth.d.ts +16 -0
- package/dist/sandboxes/auth.d.ts.map +1 -0
- package/dist/sandboxes/config.d.ts +5 -0
- package/dist/sandboxes/config.d.ts.map +1 -0
- package/dist/sandboxes/configuration.d.ts +41 -0
- package/dist/sandboxes/configuration.d.ts.map +1 -0
- package/dist/sandboxes/environment.d.ts +13 -0
- package/dist/sandboxes/environment.d.ts.map +1 -0
- package/dist/sandboxes/errors.d.ts +1 -1
- package/dist/sandboxes/errors.d.ts.map +1 -1
- package/dist/sandboxes/index.d.ts +6 -1
- package/dist/sandboxes/index.d.ts.map +1 -1
- package/dist/sandboxes/index.js +16 -3
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/sandboxes/sandbox.d.ts +39 -4
- package/dist/sandboxes/sandbox.d.ts.map +1 -1
- package/dist/shared/params/builders.d.ts +25 -0
- package/dist/shared/params/builders.d.ts.map +1 -0
- package/dist/shared/params/types.d.ts +48 -0
- package/dist/shared/params/types.d.ts.map +1 -0
- package/dist/shared/params/user-refs.d.ts +19 -0
- package/dist/shared/params/user-refs.d.ts.map +1 -0
- package/dist/shared/params/validation.d.ts +15 -0
- package/dist/shared/params/validation.d.ts.map +1 -0
- package/dist/shares/compiler.d.ts.map +1 -1
- package/dist/shares/internal.js +29 -26
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +4 -3
- package/dist/storage/action-runs/failure.js.map +1 -1
- package/dist/storage/action-runs/provider.js +1 -1
- package/dist/storage/action-runs/types.d.ts +1 -1
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/agents/in-memory.d.ts +2 -1
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +1 -1
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +5 -1
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +8 -4
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +49 -0
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +1 -0
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +2 -2
- package/dist/storage/ai-cost/types.d.ts +14 -2
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +4 -3
- package/dist/storage/ai-limits/enforcement.js.map +1 -1
- package/dist/storage/auth/in-memory/access-tokens.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/sessions.d.ts +8 -1
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +1 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +62 -13
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +3 -2
- package/dist/storage/connector-connections/provider.js.map +2 -2
- package/dist/storage/executions/provider.d.ts +3 -3
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +13 -11
- package/dist/storage/executions/provider.js.map +3 -3
- package/dist/storage/executions/types.d.ts +3 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/executions/validation.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/in-memory.d.ts +9 -18
- package/dist/storage/file-upload-sessions/in-memory.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/index.d.ts +1 -1
- package/dist/storage/file-upload-sessions/index.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.d.ts +52 -0
- package/dist/storage/file-upload-sessions/provider.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/provider.js +24 -0
- package/dist/storage/file-upload-sessions/provider.js.map +9 -0
- package/dist/storage/file-upload-sessions/types.d.ts +19 -1
- package/dist/storage/file-upload-sessions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/utils.d.ts +8 -2
- package/dist/storage/file-upload-sessions/utils.d.ts.map +1 -1
- package/dist/storage/index.d.ts +8 -6
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +37 -30
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.js +11 -9
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
- package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/storage.d.ts +7 -0
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
- package/dist/storage/objects/types.d.ts +2 -0
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/commits.d.ts +7 -2
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +4 -0
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
- package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
- package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +6 -0
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +14 -1
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +9 -3
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/ontology/vector-indexing.d.ts +94 -0
- package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
- package/dist/storage/ontology/vectors.d.ts +56 -0
- package/dist/storage/ontology/vectors.d.ts.map +1 -0
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/provider.js +4 -3
- package/dist/storage/projection-runs/provider.js.map +1 -1
- package/dist/storage/types.d.ts +2 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-interventions/index.d.ts +1 -1
- package/dist/storage/workflow-interventions/index.d.ts.map +1 -1
- package/dist/storage/workflow-interventions/types.d.ts +5 -8
- package/dist/storage/workflow-interventions/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +10 -8
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +33 -30
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/action-execution.d.ts +4 -0
- package/dist/testing/action-execution.d.ts.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution.d.ts +1 -2
- package/dist/testing/execution.d.ts.map +1 -1
- package/dist/testing/file-upload-session-storage-contract.d.ts +12 -0
- package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -0
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2351 -1263
- package/dist/testing/index.js.map +19 -17
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-query-contract.d.ts.map +1 -1
- package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
- package/dist/testing/ontology-contract-fixture.d.ts +8 -0
- package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/testing/sandboxes-contract.d.ts.map +1 -1
- package/dist/testing/workflow-intervention-storage-contract.d.ts +8 -0
- package/dist/testing/workflow-intervention-storage-contract.d.ts.map +1 -0
- package/dist/webhooks/internal.js +29 -26
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/webhooks/types.d.ts +2 -2
- package/dist/webhooks/types.d.ts.map +1 -1
- package/dist/workers/index.js +3 -2
- package/dist/workers/index.js.map +2 -2
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.js +51 -45
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/run-dispatch.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +2 -2
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/actions/builders/params.ts +1 -48
- package/src/actions/index.ts +0 -3
- package/src/actions/read-facade.ts +102 -62
- package/src/actions/request.ts +13 -0
- package/src/actions/run-dispatch.ts +3 -0
- package/src/actions/types/context.ts +17 -65
- package/src/actions/types/params.ts +16 -75
- package/src/actions/validation.ts +7 -84
- package/src/agents/authority.ts +1 -1
- package/src/agents/errors.ts +3 -0
- package/src/agents/execution.ts +67 -15
- package/src/agents/ids.ts +8 -0
- package/src/agents/index.ts +1 -0
- package/src/agents/request.ts +11 -0
- package/src/agents/sandbox.ts +44 -0
- package/src/agents/validation.ts +2 -108
- package/src/assert-never.ts +7 -0
- package/src/auth/client-address.ts +12 -0
- package/src/auth/csrf.ts +14 -5
- package/src/auth/index.ts +3 -2
- package/src/auth/runtime.ts +299 -277
- package/src/auth/session-cache.ts +18 -6
- package/src/auth/sessions.ts +30 -0
- package/src/auth/types.ts +7 -17
- package/src/bootstrap/index.ts +1 -0
- package/src/bootstrap/ontology-type-manifest.ts +112 -60
- package/src/datasets/validation.ts +40 -11
- package/src/datasets/write.ts +8 -11
- package/src/edits/types.ts +47 -63
- package/src/error-reporting/capability.ts +11 -0
- package/src/error-reporting/reports.ts +23 -0
- package/src/error-reporting/types.ts +12 -1
- package/src/errors/catalog.ts +16 -0
- package/src/errors/failure-message.ts +15 -0
- package/src/errors/internal.ts +57 -25
- package/src/events/envelope.ts +0 -13
- package/src/events/index.ts +1 -1
- package/src/events/service.ts +1 -11
- package/src/events/toStoredEvent.ts +1 -3
- package/src/events/types/index.ts +1 -1
- package/src/execution/agent.ts +1 -2
- package/src/execution/authorization.ts +12 -5
- package/src/execution/authorized-object-reader.ts +42 -9
- package/src/execution/kernel-operation.ts +27 -0
- package/src/execution/primitive.ts +1 -2
- package/src/execution/request.ts +1 -2
- package/src/execution/scopes.ts +2 -0
- package/src/execution/types.ts +4 -4
- package/src/index.ts +68 -8
- package/src/lake-storage/in-memory.ts +5 -3
- package/src/maintenance/ontology-maintenance.ts +77 -1
- package/src/materialization/errors.ts +4 -2
- package/src/materialization/events.ts +27 -2
- package/src/materialization/index.ts +1 -0
- package/src/materialization/model.ts +2 -0
- package/src/materialization/vectors.ts +18 -0
- package/src/materializer/README.md +16 -0
- package/src/materializer/context.ts +10 -0
- package/src/materializer/edits/commit.ts +29 -13
- package/src/materializer/edits/operations.ts +32 -4
- package/src/materializer/edits/plan.ts +4 -5
- package/src/materializer/edits/user-refs.ts +115 -0
- package/src/materializer/edits/vector-authority.ts +108 -0
- package/src/materializer/edits/vectors.ts +100 -0
- package/src/materializer/effective/build-events.ts +4 -5
- package/src/materializer/effective/validate.ts +10 -3
- package/src/materializer/effective/vector-indexing.ts +84 -0
- package/src/materializer/effective/vectors.ts +47 -0
- package/src/materializer/execution/scope.ts +40 -7
- package/src/materializer/execution/work-executor.ts +11 -3
- package/src/materializer/projections/replace.ts +3 -1
- package/src/materializer/projections/replacement-plan.ts +4 -0
- package/src/materializer/shared/normalize.ts +11 -0
- package/src/materializer/telemetry/append.ts +5 -13
- package/src/materializer/telemetry/plan.ts +4 -5
- package/src/models/catalog-index.ts +38 -0
- package/src/models/catalog.ts +66 -38
- package/src/models/decision/catalog.ts +32 -0
- package/src/models/decision/errors.ts +18 -0
- package/src/models/decision/output.ts +101 -0
- package/src/models/decision/questions.ts +29 -0
- package/src/models/decision/runtime.ts +188 -0
- package/src/models/decision/types.ts +109 -0
- package/src/models/decision/validation.ts +335 -0
- package/src/models/definitions.ts +1 -1
- package/src/models/embedding-model.ts +129 -0
- package/src/models/execution/README.md +63 -0
- package/src/models/execution/binding.ts +2 -0
- package/src/models/execution/embedding.ts +133 -0
- package/src/models/execution/model-call-recorder.ts +42 -30
- package/src/models/execution/session.ts +81 -0
- package/src/models/execution.ts +10 -52
- package/src/models/generation-types.ts +2 -0
- package/src/models/index.ts +37 -0
- package/src/models/pricing.ts +1 -2
- package/src/objects/authorized-ontology-view.ts +12 -8
- package/src/objects/execution.ts +34 -61
- package/src/objects/query/executor.ts +25 -7
- package/src/objects/query/explain.ts +7 -2
- package/src/objects/query/index.ts +2 -0
- package/src/objects/query/ir.ts +13 -2
- package/src/objects/query/normalize.ts +5 -1
- package/src/objects/query/planner.ts +1 -0
- package/src/objects/query/scalar-values.ts +19 -0
- package/src/objects/query/validate.ts +129 -117
- package/src/objects/sdk/object-handle.ts +11 -8
- package/src/objects/sdk/object-set.ts +9 -15
- package/src/objects/sdk/query-builder.ts +66 -72
- package/src/objects/sdk/query-executor.ts +2 -1
- package/src/objects/sdk/runtime-query-executor.ts +6 -2
- package/src/objects/sdk/telemetry-channel.ts +6 -7
- package/src/objects/sdk/where.ts +6 -13
- package/src/objects/vectors/README.md +59 -0
- package/src/objects/vectors/handle.ts +91 -0
- package/src/objects/vectors/indexing-batch.ts +163 -0
- package/src/objects/vectors/indexing-generate.ts +184 -0
- package/src/objects/vectors/indexing-runtime.ts +17 -0
- package/src/objects/vectors/indexing-shared.ts +188 -0
- package/src/objects/vectors/indexing-single.ts +51 -0
- package/src/objects/vectors/indexing-store-batch.ts +62 -0
- package/src/objects/vectors/indexing.ts +23 -0
- package/src/objects/vectors/profile.ts +64 -0
- package/src/objects/vectors/query.ts +16 -0
- package/src/objects/vectors/resolve-query.ts +89 -0
- package/src/objects/vectors/types.ts +10 -0
- package/src/ontology/builders.ts +15 -11
- package/src/ontology/index.ts +6 -0
- package/src/ontology/inference/index.ts +56 -36
- package/src/ontology/internal.ts +1 -0
- package/src/ontology/json-schema.ts +12 -0
- package/src/ontology/primitives.ts +91 -0
- package/src/ontology/query-capabilities.ts +136 -0
- package/src/ontology/refs.ts +33 -6
- package/src/ontology/registered.ts +22 -0
- package/src/ontology/registry.ts +14 -3
- package/src/ontology/tokens.ts +41 -2
- package/src/ontology/types.ts +28 -12
- package/src/ontology/user-ref.ts +120 -0
- package/src/ontology/validation/definition.ts +93 -0
- package/src/ontology/validation/index.ts +1 -0
- package/src/ontology/validation/normalize.ts +39 -3
- package/src/ontology/validation/properties.ts +109 -23
- package/src/ontology/validation/query.ts +44 -92
- package/src/ontology/validation/schema.ts +101 -23
- package/src/ontology/vector-profiles.ts +35 -0
- package/src/predicates/types.ts +43 -33
- package/src/projections/builders.ts +24 -3
- package/src/projections/validation.ts +15 -1
- package/src/queues/in-memory.ts +5 -0
- package/src/queues/index.ts +1 -0
- package/src/queues/types.ts +10 -0
- package/src/runtime/create.ts +7 -6
- package/src/runtime/host.ts +44 -10
- package/src/runtime/index.ts +3 -2
- package/src/runtime/internal.ts +3 -0
- package/src/runtime/resolve-definitions.ts +19 -1
- package/src/runtime/sixb.ts +25 -17
- package/src/runtime/types.ts +288 -478
- package/src/sandboxes/README.md +41 -0
- package/src/sandboxes/auth.ts +17 -0
- package/src/sandboxes/config.ts +37 -0
- package/src/sandboxes/configuration.ts +268 -0
- package/src/sandboxes/environment.ts +107 -0
- package/src/sandboxes/errors.ts +1 -1
- package/src/sandboxes/index.ts +15 -0
- package/src/sandboxes/sandbox.ts +42 -4
- package/src/shared/params/builders.ts +50 -0
- package/src/shared/params/types.ts +85 -0
- package/src/shared/params/user-refs.ts +48 -0
- package/src/shared/params/validation.ts +114 -0
- package/src/shares/compiler.ts +6 -16
- package/src/storage/action-runs/types.ts +1 -0
- package/src/storage/agents/in-memory.ts +25 -1
- package/src/storage/agents/index.ts +3 -0
- package/src/storage/agents/provider.ts +105 -0
- package/src/storage/agents/types.ts +54 -0
- package/src/storage/ai-cost/analytics.ts +59 -21
- package/src/storage/ai-cost/index.ts +1 -0
- package/src/storage/ai-cost/types.ts +19 -2
- package/src/storage/auth/in-memory/access-tokens.ts +5 -2
- package/src/storage/auth/in-memory/auth-storage.ts +5 -8
- package/src/storage/auth/in-memory/device-authorizations.ts +0 -2
- package/src/storage/auth/in-memory/sessions.ts +69 -1
- package/src/storage/auth/in-memory/shared.ts +13 -7
- package/src/storage/auth/index.ts +2 -1
- package/src/storage/auth/types.ts +57 -13
- package/src/storage/executions/provider.ts +24 -12
- package/src/storage/executions/types.ts +1 -0
- package/src/storage/executions/validation.ts +8 -4
- package/src/storage/file-upload-sessions/in-memory.ts +64 -113
- package/src/storage/file-upload-sessions/index.ts +1 -0
- package/src/storage/file-upload-sessions/provider.ts +258 -0
- package/src/storage/file-upload-sessions/types.ts +20 -1
- package/src/storage/file-upload-sessions/utils.ts +25 -9
- package/src/storage/index.ts +18 -3
- package/src/storage/objects/in-memory/query.ts +38 -14
- package/src/storage/objects/in-memory/read-scope.ts +9 -2
- package/src/storage/objects/in-memory/read-source.ts +5 -0
- package/src/storage/objects/in-memory/selected-reader.ts +5 -1
- package/src/storage/objects/in-memory/storage.ts +19 -1
- package/src/storage/objects/types.ts +2 -0
- package/src/storage/ontology/commits.ts +7 -2
- package/src/storage/ontology/in-memory/index.ts +20 -0
- package/src/storage/ontology/in-memory/materializations.ts +19 -34
- package/src/storage/ontology/in-memory/shared-state.ts +9 -0
- package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
- package/src/storage/ontology/in-memory/vectors.ts +73 -0
- package/src/storage/ontology/index.ts +14 -0
- package/src/storage/ontology/provider-header-validation.ts +57 -0
- package/src/storage/ontology/provider-work.ts +15 -3
- package/src/storage/ontology/provider.ts +59 -1
- package/src/storage/ontology/vector-indexing.ts +98 -0
- package/src/storage/ontology/vectors.ts +48 -0
- package/src/storage/operation-scope.ts +2 -0
- package/src/storage/types.ts +3 -1
- package/src/storage/workflow-interventions/index.ts +0 -1
- package/src/storage/workflow-interventions/types.ts +5 -9
- package/src/testing/action-execution.ts +13 -3
- package/src/testing/agent-storage-contract.ts +246 -0
- package/src/testing/ai-cost-storage-contract.ts +134 -0
- package/src/testing/auth-storage-contract.ts +149 -62
- package/src/testing/execution-storage-contract.ts +1 -2
- package/src/testing/execution.ts +4 -7
- package/src/testing/file-upload-session-storage-contract.ts +335 -0
- package/src/testing/index.ts +8 -0
- package/src/testing/materializer-storage-contract.ts +86 -4
- package/src/testing/object-query-contract.ts +162 -27
- package/src/testing/object-read-scope-contract.ts +1 -5
- package/src/testing/ontology-contract-fixture.ts +23 -3
- package/src/testing/ontology-storage-contract.ts +58 -0
- package/src/testing/queues-contract.ts +31 -0
- package/src/testing/sandboxes-contract.ts +27 -0
- package/src/testing/workflow-intervention-storage-contract.ts +203 -0
- package/src/webhooks/types.ts +2 -2
- package/src/workflows/failure.ts +10 -4
- package/src/workflows/run-dispatch.ts +12 -1
- package/src/workflows/snapshot.ts +16 -7
- package/src/workflows/types.ts +2 -2
- package/src/workflows/validation.ts +2 -2
- package/dist/chunk-01kj2pbh.js.map +0 -19
- package/dist/chunk-5hz0fnca.js.map +0 -12
- package/dist/chunk-653vwrzr.js.map +0 -10
- package/dist/chunk-7apz6hg4.js.map +0 -10
- package/dist/chunk-7bs40fe1.js.map +0 -12
- package/dist/chunk-860dwwy0.js.map +0 -14
- package/dist/chunk-93csa55g.js.map +0 -11
- package/dist/chunk-a0e6x5hd.js.map +0 -14
- package/dist/chunk-aa6z4a19.js.map +0 -12
- package/dist/chunk-ap0g1g74.js.map +0 -11
- package/dist/chunk-awbhdqyc.js.map +0 -10
- package/dist/chunk-b19g04jk.js.map +0 -11
- package/dist/chunk-dz5h08xv.js.map +0 -25
- package/dist/chunk-f0rwz2vh.js.map +0 -11
- package/dist/chunk-f4w3yp4f.js.map +0 -12
- package/dist/chunk-ftv470j8.js.map +0 -45
- package/dist/chunk-g00bfdq6.js.map +0 -43
- package/dist/chunk-gq8vhakp.js.map +0 -44
- package/dist/chunk-gqh45d2n.js.map +0 -15
- package/dist/chunk-gqm76kse.js.map +0 -58
- package/dist/chunk-jsy70480.js.map +0 -15
- package/dist/chunk-mrp7k0pw.js.map +0 -10
- package/dist/chunk-ms2tmn1k.js.map +0 -17
- package/dist/chunk-rb1xx120.js.map +0 -11
- package/dist/chunk-sepyxgpc.js.map +0 -15
- package/dist/chunk-yv79ncbv.js.map +0 -10
- package/dist/chunk-z0271qkp.js.map +0 -15
- package/dist/chunk-z3y411fq.js +0 -99
- package/dist/chunk-z3y411fq.js.map +0 -11
- /package/dist/{chunk-1yefycb1.js.map → chunk-2hbhn1ff.js.map} +0 -0
- /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
- /package/dist/{chunk-0y39rgsb.js.map → chunk-4tnrzqqh.js.map} +0 -0
- /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
- /package/dist/{chunk-cfvakeax.js.map → chunk-a69fkrtr.js.map} +0 -0
- /package/dist/{chunk-v2vcg0w6.js.map → chunk-cbn96bve.js.map} +0 -0
- /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
- /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
- /package/dist/{chunk-x9m9x2eq.js.map → chunk-jhyc777j.js.map} +0 -0
- /package/dist/{chunk-17kfctj6.js.map → chunk-m8zkvep1.js.map} +0 -0
- /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
- /package/dist/{chunk-92vk7gta.js.map → chunk-vn3yh259.js.map} +0 -0
- /package/dist/{chunk-g91qxjj0.js.map → chunk-w9bp61e7.js.map} +0 -0
- /package/dist/{chunk-1824gssz.js.map → chunk-y487ywrv.js.map} +0 -0
- /package/dist/{chunk-358caqf5.js.map → chunk-znw0zvy4.js.map} +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query rules for a schema whose `valueTypeRef`s are already resolved. Registration uses them to
|
|
3
|
+
* accept declared `query` flags, query validation to accept operators, and the ontology API to
|
|
4
|
+
* report both, so the three cannot drift.
|
|
5
|
+
*/
|
|
6
|
+
import type { QueryScalarKind } from "../objects/query/ir"
|
|
7
|
+
import { primitiveTraits } from "./primitives"
|
|
8
|
+
import type { Property, Schema, ValueType } from "./types"
|
|
9
|
+
|
|
10
|
+
/** `eq`/`neq`/`in`/`exists` predicates. */
|
|
11
|
+
export function isExactSchema(schema: Schema): boolean {
|
|
12
|
+
if (typeof schema === "string") return primitiveTraits(schema)?.exact === true
|
|
13
|
+
return schema.type === "enum"
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** `query.exact`, and through it `search.exact`: matched against search input. */
|
|
17
|
+
export function isExactSearchSchema(schema: Schema): boolean {
|
|
18
|
+
if (typeof schema === "string") return primitiveTraits(schema)?.exactSearch === true
|
|
19
|
+
return schema.type === "enum"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** `query.filterable`: exact matching, or `contains` over a collection. */
|
|
23
|
+
export function isFilterableSchema(schema: Schema): boolean {
|
|
24
|
+
return (
|
|
25
|
+
isExactSchema(schema) ||
|
|
26
|
+
(typeof schema !== "string" && (schema.type === "array" || schema.type === "map"))
|
|
27
|
+
)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Range predicates and `query.sortable`. */
|
|
31
|
+
export function isSortableSchema(schema: Schema): boolean {
|
|
32
|
+
if (typeof schema === "string") return primitiveTraits(schema)?.sortable === true
|
|
33
|
+
return schema.type === "enum"
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Keyword search. */
|
|
37
|
+
export function isTextSchema(schema: Schema): boolean {
|
|
38
|
+
if (typeof schema === "string") return primitiveTraits(schema)?.text === true
|
|
39
|
+
return schema.type === "enum" && schema.valueType === "string"
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** `contains`: substring for scalars, item for arrays, key for maps. */
|
|
43
|
+
export function isContainsSchema(schema: Schema): boolean {
|
|
44
|
+
if (typeof schema === "string") return primitiveTraits(schema)?.contains === true
|
|
45
|
+
return schema.type === "array" || schema.type === "map"
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** `query.facet`. */
|
|
49
|
+
export function isFacetSchema(schema: Schema): boolean {
|
|
50
|
+
if (typeof schema === "string") return primitiveTraits(schema)?.facet === true
|
|
51
|
+
return schema.type === "enum"
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function queryScalarKindForSchema(schema: Schema): QueryScalarKind | undefined {
|
|
55
|
+
if (typeof schema === "string") return primitiveTraits(schema)?.queryScalarKind
|
|
56
|
+
if (schema.type === "enum") return schema.valueType === "integer" ? "integer" : "string"
|
|
57
|
+
return undefined
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** Predicate operators a property may use in an object query. */
|
|
61
|
+
export type PropertyQueryOperator =
|
|
62
|
+
| "eq"
|
|
63
|
+
| "neq"
|
|
64
|
+
| "lt"
|
|
65
|
+
| "lte"
|
|
66
|
+
| "gt"
|
|
67
|
+
| "gte"
|
|
68
|
+
| "in"
|
|
69
|
+
| "exists"
|
|
70
|
+
| "contains"
|
|
71
|
+
|
|
72
|
+
/** What an object query can do with one property, resolved from its schema and `query` flags. */
|
|
73
|
+
export interface PropertyQueryCapabilities {
|
|
74
|
+
readonly operators: readonly PropertyQueryOperator[]
|
|
75
|
+
readonly sortable: boolean
|
|
76
|
+
readonly facet: boolean
|
|
77
|
+
readonly text: boolean
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const PRIMARY_OPERATORS: readonly PropertyQueryOperator[] = ["eq", "in"]
|
|
81
|
+
const EXACT_OPERATORS: readonly PropertyQueryOperator[] = ["eq", "neq", "in", "exists"]
|
|
82
|
+
const RANGE_OPERATORS: readonly PropertyQueryOperator[] = ["lt", "lte", "gt", "gte"]
|
|
83
|
+
const OPERATOR_ORDER: readonly PropertyQueryOperator[] = [
|
|
84
|
+
"eq",
|
|
85
|
+
"neq",
|
|
86
|
+
"lt",
|
|
87
|
+
"lte",
|
|
88
|
+
"gt",
|
|
89
|
+
"gte",
|
|
90
|
+
"in",
|
|
91
|
+
"contains",
|
|
92
|
+
"exists",
|
|
93
|
+
]
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Resolve what object queries accept for a property, applying the same rules as query validation:
|
|
97
|
+
* primary ids always accept `eq`/`in`; other predicates, sorting, faceting, and keyword search need
|
|
98
|
+
* `query.searchable` plus the matching flag and a schema that supports it.
|
|
99
|
+
*/
|
|
100
|
+
export function resolvePropertyQueryCapabilities(
|
|
101
|
+
property: Property,
|
|
102
|
+
valueTypesById: ReadonlyMap<string, ValueType>
|
|
103
|
+
): PropertyQueryCapabilities {
|
|
104
|
+
const query = property.query?.searchable === true ? property.query : undefined
|
|
105
|
+
const schema = resolveQuerySchema(property.schema, valueTypesById)
|
|
106
|
+
const operators = new Set<PropertyQueryOperator>(property.primary ? PRIMARY_OPERATORS : [])
|
|
107
|
+
|
|
108
|
+
if (query?.filterable === true && schema) {
|
|
109
|
+
if (isExactSchema(schema)) for (const op of EXACT_OPERATORS) operators.add(op)
|
|
110
|
+
if (isSortableSchema(schema)) for (const op of RANGE_OPERATORS) operators.add(op)
|
|
111
|
+
if (isContainsSchema(schema)) operators.add("contains")
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return {
|
|
115
|
+
operators: OPERATOR_ORDER.filter((op) => operators.has(op)),
|
|
116
|
+
sortable: query?.sortable === true && schema !== undefined && isSortableSchema(schema),
|
|
117
|
+
facet: query?.facet === true && schema !== undefined && isFacetSchema(schema),
|
|
118
|
+
text:
|
|
119
|
+
query?.text === true &&
|
|
120
|
+
property.mode !== "telemetry" &&
|
|
121
|
+
schema !== undefined &&
|
|
122
|
+
isTextSchema(schema),
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function resolveQuerySchema(
|
|
127
|
+
schema: Schema,
|
|
128
|
+
valueTypesById: ReadonlyMap<string, ValueType>,
|
|
129
|
+
seen = new Set<string>()
|
|
130
|
+
): Schema | undefined {
|
|
131
|
+
if (typeof schema === "string" || schema.type !== "valueTypeRef") return schema
|
|
132
|
+
if (seen.has(schema.valueTypeId)) return undefined
|
|
133
|
+
seen.add(schema.valueTypeId)
|
|
134
|
+
const resolved = schema._resolved ?? valueTypesById.get(schema.valueTypeId)?.schema
|
|
135
|
+
return resolved ? resolveQuerySchema(resolved, valueTypesById, seen) : undefined
|
|
136
|
+
}
|
package/src/ontology/refs.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OntologyValidationError } from "./errors"
|
|
2
2
|
import type { InferSchema } from "./inference"
|
|
3
|
+
import type { RegisteredValueTypes } from "./registered"
|
|
3
4
|
import type { ObjectType, Schema, ValueType } from "./types"
|
|
4
5
|
import { isRecord, validateSchemaValue } from "./validation"
|
|
5
6
|
|
|
@@ -17,7 +18,7 @@ export type SchemaOrRef = Schema | ObjectRefSchema
|
|
|
17
18
|
|
|
18
19
|
export type InferSchemaOrRef<
|
|
19
20
|
TSchema extends SchemaOrRef,
|
|
20
|
-
TValueTypes extends readonly ValueType[] =
|
|
21
|
+
TValueTypes extends readonly ValueType[] = RegisteredValueTypes,
|
|
21
22
|
> =
|
|
22
23
|
TSchema extends ObjectRefSchema<infer TObjectTypeId>
|
|
23
24
|
? ObjectRef<TObjectTypeId>
|
|
@@ -25,14 +26,40 @@ export type InferSchemaOrRef<
|
|
|
25
26
|
? InferSchema<TSchema, TValueTypes>
|
|
26
27
|
: never
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
interface RefBuilder {
|
|
30
|
+
/**
|
|
31
|
+
* Reference to one object of `objectType`, for Action and Workflow parameters.
|
|
32
|
+
*
|
|
33
|
+
* Object properties point at other objects with `link(...)` instead: a link is traversable,
|
|
34
|
+
* queryable from both ends, and kept consistent when its target is deleted.
|
|
35
|
+
*/
|
|
36
|
+
<const TObjectType extends ObjectType>(
|
|
37
|
+
objectType: TObjectType
|
|
38
|
+
): ObjectRefSchema<TObjectType["id"]>
|
|
39
|
+
/** Reference to a Sixb user, valued `{ type: "user", id }`. Serialized as `"userRef"`. */
|
|
40
|
+
user(): "userRef"
|
|
41
|
+
/** Reference to a stored file, valued as a `FileRef`. Serialized as `"fileRef"`. */
|
|
42
|
+
file(): "fileRef"
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Schemas that point outside the value itself.
|
|
47
|
+
*
|
|
48
|
+
* Scalars are plain strings (`"string"`, `"timestamp"`); anything that points elsewhere or takes
|
|
49
|
+
* parameters is a builder: `ref(Customer)`, `ref.user()`, `ref.file()`.
|
|
50
|
+
*/
|
|
51
|
+
export const ref: RefBuilder = Object.assign(
|
|
52
|
+
<const TObjectType extends ObjectType>(
|
|
53
|
+
objectType: TObjectType
|
|
54
|
+
): ObjectRefSchema<TObjectType["id"]> => ({
|
|
32
55
|
type: "objectRef",
|
|
33
56
|
objectTypeId: objectType.id,
|
|
57
|
+
}),
|
|
58
|
+
{
|
|
59
|
+
user: (): "userRef" => "userRef",
|
|
60
|
+
file: (): "fileRef" => "fileRef",
|
|
34
61
|
}
|
|
35
|
-
|
|
62
|
+
)
|
|
36
63
|
|
|
37
64
|
/** Build an exact, typed reference to one object instance. */
|
|
38
65
|
export function objectRef<const TObjectType extends ObjectType>(
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ObjectTypeWithPropertyTokens } from "./tokens"
|
|
2
|
+
import type { SixbObjectTypeMap, SixbValueTypeMap, ValueType } from "./types"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Every object type the generated ontology manifest registers.
|
|
6
|
+
*
|
|
7
|
+
* It is the one registry every typed surface resolves string link targets against, so the same
|
|
8
|
+
* query is typed the same way in an Action, a Workflow and the browser. Without a manifest it is the
|
|
9
|
+
* loose base type: id-only link targets then degrade gracefully instead of failing.
|
|
10
|
+
*
|
|
11
|
+
* Deliberately not generic. A registry parameterized per call site gives each site its own type
|
|
12
|
+
* identity, and TypeScript then has to compare otherwise identical SDK types structurally.
|
|
13
|
+
*/
|
|
14
|
+
export type RegisteredObjectType = [keyof SixbObjectTypeMap] extends [never]
|
|
15
|
+
? ObjectTypeWithPropertyTokens
|
|
16
|
+
: Extract<SixbObjectTypeMap[keyof SixbObjectTypeMap], ObjectTypeWithPropertyTokens>
|
|
17
|
+
|
|
18
|
+
/** Every value type the generated ontology manifest registers, for string-only `valueTypeRef`s. */
|
|
19
|
+
export type RegisteredValueTypes = readonly Extract<
|
|
20
|
+
SixbValueTypeMap[keyof SixbValueTypeMap],
|
|
21
|
+
ValueType
|
|
22
|
+
>[]
|
package/src/ontology/registry.ts
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
validatePropertyDefinitions,
|
|
20
20
|
validateQueryMetadata,
|
|
21
21
|
} from "./validation"
|
|
22
|
+
import { snapshotVectorProfiles } from "./vector-profiles"
|
|
22
23
|
|
|
23
24
|
// ── Input types ──────────────────────────────────────────────
|
|
24
25
|
|
|
@@ -67,9 +68,11 @@ function isOntologyDocumentSource(
|
|
|
67
68
|
* via `valueTypeRef` nodes that carry a `_resolved` schema.
|
|
68
69
|
*
|
|
69
70
|
* This enables auto-registration: when codegen emits `valueTypeRef(VT)`,
|
|
70
|
-
* it stores the resolved schema
|
|
71
|
-
* `valueTypesById` registry is populated
|
|
72
|
-
* ValueTypes explicitly.
|
|
71
|
+
* it stores the resolved schema (and the semantic type, if any) inline. We
|
|
72
|
+
* extract them here so the runtime `valueTypesById` registry is populated
|
|
73
|
+
* without requiring users to pass ValueTypes explicitly. Unit validation reads
|
|
74
|
+
* the semantic type from that registry, so dropping it would make a
|
|
75
|
+
* unit-bearing value type reject every unit.
|
|
73
76
|
*/
|
|
74
77
|
function extractValueTypesFromSchema(
|
|
75
78
|
schema: Schema,
|
|
@@ -88,6 +91,7 @@ function extractValueTypesFromSchema(
|
|
|
88
91
|
id: schema.valueTypeId,
|
|
89
92
|
name: localName,
|
|
90
93
|
schema: schema._resolved,
|
|
94
|
+
...(schema._semanticType === undefined ? {} : { semanticType: schema._semanticType }),
|
|
91
95
|
})
|
|
92
96
|
extractValueTypesFromSchema(schema._resolved, collected, seen)
|
|
93
97
|
}
|
|
@@ -197,6 +201,13 @@ export class OntologyRegistry implements OntologyDefinitionCatalog {
|
|
|
197
201
|
this.resolveInheritedProperties()
|
|
198
202
|
validatePropertyDefinitions(this.objectTypesById, this.valueTypesById)
|
|
199
203
|
validateQueryMetadata(this.objectTypesById, this.valueTypesById)
|
|
204
|
+
for (const [id, type] of this.objectTypesById) {
|
|
205
|
+
if (type.search?.vectors)
|
|
206
|
+
this.objectTypesById.set(id, {
|
|
207
|
+
...type,
|
|
208
|
+
search: { ...type.search, vectors: snapshotVectorProfiles(type.search.vectors) },
|
|
209
|
+
})
|
|
210
|
+
}
|
|
200
211
|
this.primaryByTypeId = validatePrimaryProperties(this.objectTypesById)
|
|
201
212
|
}
|
|
202
213
|
|
package/src/ontology/tokens.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { InferObjectProperties } from "./inference"
|
|
1
2
|
import {
|
|
2
3
|
createLinkPathSelection,
|
|
3
4
|
type LinkPathSelectionBuilder,
|
|
@@ -7,6 +8,7 @@ import type { ObjectLink, ObjectType, Property } from "./types"
|
|
|
7
8
|
|
|
8
9
|
declare const propertyTokenBrand: unique symbol
|
|
9
10
|
declare const linkTokenBrand: unique symbol
|
|
11
|
+
declare const objectPropertiesBrand: unique symbol
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* Strongly-typed handle to a property on a specific object type.
|
|
@@ -57,12 +59,49 @@ export type LinkTokenMap<TObjectType extends ObjectType> = {
|
|
|
57
59
|
/**
|
|
58
60
|
* Object type with property tokens (`p.*`).
|
|
59
61
|
*
|
|
60
|
-
* The original ontology shape is preserved; this only adds typed handles
|
|
62
|
+
* The original ontology shape is preserved; this only adds typed handles, and the type-only
|
|
63
|
+
* property values every row of this object type carries.
|
|
61
64
|
*/
|
|
62
65
|
export type ObjectTypeWithPropertyTokens<TObjectType extends ObjectType = ObjectType> =
|
|
63
66
|
TObjectType & {
|
|
64
67
|
readonly p: PropertyTokenMap<TObjectType>
|
|
65
|
-
}
|
|
68
|
+
} & ObjectPropertiesMetadata<TObjectType>
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Type-only property values of an object type, inferred once where the type is defined so SDK types
|
|
72
|
+
* read them back by indexed access instead of re-deriving them from `properties`.
|
|
73
|
+
*
|
|
74
|
+
* Exported only so declaration files can name it, like the token maps.
|
|
75
|
+
*/
|
|
76
|
+
export type ObjectPropertiesMetadata<TObjectType extends ObjectType> = {
|
|
77
|
+
readonly [objectPropertiesBrand]?: string extends TObjectType["id"]
|
|
78
|
+
? { readonly properties: Record<string, unknown> }
|
|
79
|
+
: ObjectPropertiesCarrier<TObjectType>
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Carrier of an object type's inferred property values.
|
|
84
|
+
*
|
|
85
|
+
* When TypeScript relates, or infers between, two instantiations of a generic type it has not been
|
|
86
|
+
* told the variance of, it measures that variance by probing the type with marker types. A probe
|
|
87
|
+
* that reached the schema inference over a marker overflowed its depth limits (TS2589), in code as
|
|
88
|
+
* ordinary as reassigning a query. Declaring this carrier invariant stops every probe here, so an
|
|
89
|
+
* object type costs no more to relate than its tokens. The loose base type carries a plain record
|
|
90
|
+
* instead, which a concrete object type's carrier relates to structurally.
|
|
91
|
+
*/
|
|
92
|
+
interface ObjectPropertiesCarrier<in out TObjectType extends ObjectType> {
|
|
93
|
+
readonly properties: InferObjectProperties<TObjectType>
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* The property values of an object type, as its rows carry them.
|
|
98
|
+
*
|
|
99
|
+
* Reads the type computed once by {@link ObjectTypeWithPropertyTokens}. For the loose base type,
|
|
100
|
+
* whose property ids are not statically known, it is `Record<string, unknown>`.
|
|
101
|
+
*/
|
|
102
|
+
export type ObjectTypeProperties<TObjectType extends ObjectTypeWithPropertyTokens> = NonNullable<
|
|
103
|
+
TObjectType[typeof objectPropertiesBrand]
|
|
104
|
+
>["properties"]
|
|
66
105
|
|
|
67
106
|
/**
|
|
68
107
|
* Object type with property tokens (`p.*`) and link tokens (`l.*`).
|
package/src/ontology/types.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* This file defines the value-shape side of that model.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type { EmbeddingModelRef } from "../models/embedding-model"
|
|
12
13
|
import type { QuantitativeTypeId } from "./units"
|
|
13
14
|
|
|
14
15
|
/**
|
|
@@ -21,6 +22,7 @@ import type { QuantitativeTypeId } from "./units"
|
|
|
21
22
|
* - `"uuid"` for an external system identifier.
|
|
22
23
|
* - `"timestamp"` for `lastObservedAt`.
|
|
23
24
|
* - `"fileRef"` for blob-backed documents, images, and attachments.
|
|
25
|
+
* - `"userRef"` for a Sixb user, such as a task's assignee (author it with `ref.user()`).
|
|
24
26
|
* - `"double"` for telemetry such as temperature or humidity.
|
|
25
27
|
*/
|
|
26
28
|
export type PrimitiveSchema =
|
|
@@ -33,12 +35,18 @@ export type PrimitiveSchema =
|
|
|
33
35
|
| "timestamp"
|
|
34
36
|
| "uuid"
|
|
35
37
|
| "fileRef"
|
|
38
|
+
| "userRef"
|
|
36
39
|
|
|
37
40
|
export interface ValueTypeRefSchema {
|
|
38
41
|
type: "valueTypeRef"
|
|
39
42
|
valueTypeId: string
|
|
40
43
|
/** Type-level: fully resolved schema for direct inference. Populated by codegen. */
|
|
41
44
|
_resolved?: Schema
|
|
45
|
+
/**
|
|
46
|
+
* The referenced value type's `semanticType`, carried next to `_resolved` so a value type that
|
|
47
|
+
* is registered only through this ref keeps its unit constraint. Populated by `valueTypeRef(VT)`.
|
|
48
|
+
*/
|
|
49
|
+
_semanticType?: QuantitativeTypeId
|
|
42
50
|
}
|
|
43
51
|
|
|
44
52
|
/**
|
|
@@ -190,8 +198,6 @@ export interface PropertyQueryMetadata {
|
|
|
190
198
|
exact?: boolean
|
|
191
199
|
/** Enables faceting/grouping in search results. */
|
|
192
200
|
facet?: boolean
|
|
193
|
-
/** Enables vector search when the property stores numeric embedding arrays. */
|
|
194
|
-
vector?: boolean
|
|
195
201
|
/** Relative text-search weight. Only meaningful with `text: true`. */
|
|
196
202
|
weight?: number
|
|
197
203
|
}
|
|
@@ -202,20 +208,21 @@ export interface PropertyQueryMetadata {
|
|
|
202
208
|
* Search profiles decide which fields a global or type-scoped search uses.
|
|
203
209
|
* Primary ids remain exact-matchable even if omitted here.
|
|
204
210
|
*/
|
|
211
|
+
export interface ObjectVectorSearchProfile {
|
|
212
|
+
/** Ordered text sources. Sixb prepares their input deterministically. */
|
|
213
|
+
readonly source: readonly string[]
|
|
214
|
+
readonly model: EmbeddingModelRef
|
|
215
|
+
}
|
|
216
|
+
|
|
205
217
|
export interface ObjectTypeSearchMetadata {
|
|
218
|
+
/** Independent named representations; each query targets exactly one profile. */
|
|
219
|
+
readonly vectors?: Readonly<Record<string, ObjectVectorSearchProfile>>
|
|
206
220
|
/** Display/title property used in search results. */
|
|
207
221
|
title?: string
|
|
208
222
|
/** Default keyword-search fields for this object type. */
|
|
209
223
|
defaultText?: readonly string[]
|
|
210
224
|
/** Exact-match fields such as external ids, slugs, or emails. */
|
|
211
225
|
exact?: readonly string[]
|
|
212
|
-
/** Vector-search configuration for semantic retrieval. */
|
|
213
|
-
vector?: {
|
|
214
|
-
/** Property that stores the embedding vector. */
|
|
215
|
-
property: string
|
|
216
|
-
/** Source text properties used to produce the embedding. */
|
|
217
|
-
source: readonly string[]
|
|
218
|
-
}
|
|
219
226
|
}
|
|
220
227
|
|
|
221
228
|
/**
|
|
@@ -414,13 +421,22 @@ export interface ObjectType {
|
|
|
414
421
|
* Ambient id-to-object-type index for app ontology definitions.
|
|
415
422
|
*
|
|
416
423
|
* Sixb generates a `.sixb/types/ontology.d.ts` module augmentation that adds
|
|
417
|
-
* entries here
|
|
418
|
-
*
|
|
419
|
-
* runtime ontology shape.
|
|
424
|
+
* entries here. Every typed surface — `sixb.objects(...)`, Action reads, the
|
|
425
|
+
* client query builder — resolves string link targets like `"Customer"` through
|
|
426
|
+
* it, without changing the runtime ontology shape.
|
|
420
427
|
*/
|
|
421
428
|
// biome-ignore lint/suspicious/noEmptyInterface: App code augments this interface.
|
|
422
429
|
export interface SixbObjectTypeMap {}
|
|
423
430
|
|
|
431
|
+
/**
|
|
432
|
+
* Ambient id-to-value-type index, generated alongside {@link SixbObjectTypeMap}.
|
|
433
|
+
*
|
|
434
|
+
* It types properties declared with a string-only `valueTypeRef("id")`, whose
|
|
435
|
+
* schema is not carried by the reference itself.
|
|
436
|
+
*/
|
|
437
|
+
// biome-ignore lint/suspicious/noEmptyInterface: App code augments this interface.
|
|
438
|
+
export interface SixbValueTypeMap {}
|
|
439
|
+
|
|
424
440
|
/**
|
|
425
441
|
* Root ontology document for object type modeling.
|
|
426
442
|
*
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { Principal } from "../auth/types"
|
|
2
|
+
import type { UserStatus } from "../storage/auth/types"
|
|
3
|
+
import { OntologyValidationError } from "./errors"
|
|
4
|
+
import type { Schema, ValueType } from "./types"
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Value of a `ref.user()` (`"userRef"`) schema: the principal shape, narrowed to users.
|
|
8
|
+
*
|
|
9
|
+
* It carries no display data on purpose: a name or avatar supplied by the writer would be
|
|
10
|
+
* spoofable. It grants or restricts nothing by itself either; only an explicit policy gives it a
|
|
11
|
+
* security meaning.
|
|
12
|
+
*/
|
|
13
|
+
export type UserRef = Extract<Principal, { readonly type: "user" }>
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Build a reference to one user, for writes and query predicates:
|
|
17
|
+
* `where(({ p }) => p.assignee.eq(userRef(userId)))`.
|
|
18
|
+
*/
|
|
19
|
+
export function userRef(id: string): UserRef {
|
|
20
|
+
if (typeof id !== "string" || !id.trim()) {
|
|
21
|
+
throw new OntologyValidationError("[Sixb] User reference id must not be empty.")
|
|
22
|
+
}
|
|
23
|
+
return Object.freeze({ type: "user" as const, id })
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** Exactly `{ type: "user", id }` with a nonblank id and no other field. */
|
|
27
|
+
export function isUserRef(value: unknown): value is UserRef {
|
|
28
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) return false
|
|
29
|
+
const record = value as Record<string, unknown>
|
|
30
|
+
return (
|
|
31
|
+
Object.keys(record).every((key) => key === "type" || key === "id") &&
|
|
32
|
+
record.type === "user" &&
|
|
33
|
+
typeof record.id === "string" &&
|
|
34
|
+
record.id.trim().length > 0
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Collect the user ids a value holds at `userRef` positions of its schema, however deeply nested.
|
|
40
|
+
*
|
|
41
|
+
* Positions whose value does not match the schema are skipped: shape validation reports them.
|
|
42
|
+
*/
|
|
43
|
+
export function collectUserRefIds(
|
|
44
|
+
schema: Schema,
|
|
45
|
+
value: unknown,
|
|
46
|
+
valueTypesById: ReadonlyMap<string, ValueType>,
|
|
47
|
+
into: Set<string>,
|
|
48
|
+
seenValueTypeIds: ReadonlySet<string> = new Set()
|
|
49
|
+
): Set<string> {
|
|
50
|
+
if (value === null || value === undefined) return into
|
|
51
|
+
if (typeof schema === "string") {
|
|
52
|
+
if (schema === "userRef" && isUserRef(value)) into.add(value.id)
|
|
53
|
+
return into
|
|
54
|
+
}
|
|
55
|
+
switch (schema.type) {
|
|
56
|
+
case "array":
|
|
57
|
+
if (Array.isArray(value)) {
|
|
58
|
+
for (const item of value) {
|
|
59
|
+
collectUserRefIds(schema.items, item, valueTypesById, into, seenValueTypeIds)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return into
|
|
63
|
+
case "map":
|
|
64
|
+
if (isRecord(value)) {
|
|
65
|
+
for (const item of Object.values(value)) {
|
|
66
|
+
collectUserRefIds(schema.valueSchema, item, valueTypesById, into, seenValueTypeIds)
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return into
|
|
70
|
+
case "object":
|
|
71
|
+
if (isRecord(value)) {
|
|
72
|
+
for (const [fieldId, field] of Object.entries(schema.properties)) {
|
|
73
|
+
collectUserRefIds(field.schema, value[fieldId], valueTypesById, into, seenValueTypeIds)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return into
|
|
77
|
+
case "valueTypeRef": {
|
|
78
|
+
if (seenValueTypeIds.has(schema.valueTypeId)) return into
|
|
79
|
+
const resolved = schema._resolved ?? valueTypesById.get(schema.valueTypeId)?.schema
|
|
80
|
+
if (!resolved) return into
|
|
81
|
+
return collectUserRefIds(
|
|
82
|
+
resolved,
|
|
83
|
+
value,
|
|
84
|
+
valueTypesById,
|
|
85
|
+
into,
|
|
86
|
+
new Set([...seenValueTypeIds, schema.valueTypeId])
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
case "enum":
|
|
90
|
+
return into
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Why `path` cannot newly reference user `id`, or `undefined` when it can.
|
|
96
|
+
*
|
|
97
|
+
* `status` is the user's status, `null` for an unknown id, or `"unverifiable"` without auth
|
|
98
|
+
* storage. Unknown and suspended users get distinct messages: the writer already holds the id, and
|
|
99
|
+
* telling "wrong id" from "suspended member" is what makes the error actionable.
|
|
100
|
+
*/
|
|
101
|
+
export function userReferenceProblem(
|
|
102
|
+
path: string,
|
|
103
|
+
id: string,
|
|
104
|
+
status: UserStatus | null | "unverifiable"
|
|
105
|
+
): string | undefined {
|
|
106
|
+
switch (status) {
|
|
107
|
+
case "active":
|
|
108
|
+
return undefined
|
|
109
|
+
case null:
|
|
110
|
+
return `[Sixb] ${path} references user '${id}', which does not exist.`
|
|
111
|
+
case "unverifiable":
|
|
112
|
+
return `[Sixb] ${path} references user '${id}', but this runtime has no auth storage to verify users. Configure storage with auth to write user references.`
|
|
113
|
+
default:
|
|
114
|
+
return `[Sixb] ${path} references user '${id}', who is ${status}. Only active users can be newly referenced; existing references are kept.`
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
119
|
+
return typeof value === "object" && value !== null && !Array.isArray(value)
|
|
120
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { isPlainRecord } from "../../json"
|
|
2
|
+
import { isPrimitiveSchema } from "../primitives"
|
|
3
|
+
|
|
4
|
+
/** Validate a declarative schema's shape independently of the primitive that consumes it. */
|
|
5
|
+
export function assertValidSchema(
|
|
6
|
+
schema: unknown,
|
|
7
|
+
path: string,
|
|
8
|
+
invalid: (path: string) => Error,
|
|
9
|
+
visiting: Set<object> = new Set()
|
|
10
|
+
): void {
|
|
11
|
+
if (typeof schema === "string") {
|
|
12
|
+
if (isPrimitiveSchema(schema)) {
|
|
13
|
+
return
|
|
14
|
+
}
|
|
15
|
+
throw invalid(path)
|
|
16
|
+
}
|
|
17
|
+
if (!isPlainRecord(schema) || typeof schema.type !== "string" || visiting.has(schema)) {
|
|
18
|
+
throw invalid(path)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
visiting.add(schema)
|
|
22
|
+
switch (schema.type) {
|
|
23
|
+
case "enum": {
|
|
24
|
+
const values = schema.values
|
|
25
|
+
const validValues = isValidEnumValues(values, schema.valueType)
|
|
26
|
+
if (!validValues || new Set(values).size !== values.length) {
|
|
27
|
+
throw invalid(path)
|
|
28
|
+
}
|
|
29
|
+
break
|
|
30
|
+
}
|
|
31
|
+
case "array":
|
|
32
|
+
assertValidSchema(schema.items, `${path}.items`, invalid, visiting)
|
|
33
|
+
break
|
|
34
|
+
case "map":
|
|
35
|
+
if (schema.keySchema !== "string") {
|
|
36
|
+
throw invalid(path)
|
|
37
|
+
}
|
|
38
|
+
assertValidSchema(schema.valueSchema, `${path}.valueSchema`, invalid, visiting)
|
|
39
|
+
break
|
|
40
|
+
case "object": {
|
|
41
|
+
if (!isPlainRecord(schema.properties)) {
|
|
42
|
+
throw invalid(path)
|
|
43
|
+
}
|
|
44
|
+
for (const [fieldId, field] of Object.entries(schema.properties)) {
|
|
45
|
+
if (!fieldId.trim() || !isPlainRecord(field) || !("schema" in field)) {
|
|
46
|
+
throw invalid(`${path}.properties.${fieldId}`)
|
|
47
|
+
}
|
|
48
|
+
if (
|
|
49
|
+
(field.required !== undefined && typeof field.required !== "boolean") ||
|
|
50
|
+
(field.nullable !== undefined && typeof field.nullable !== "boolean") ||
|
|
51
|
+
(field.description !== undefined &&
|
|
52
|
+
(typeof field.description !== "string" || !field.description.trim()))
|
|
53
|
+
) {
|
|
54
|
+
throw invalid(`${path}.properties.${fieldId}`)
|
|
55
|
+
}
|
|
56
|
+
assertValidSchema(field.schema, `${path}.properties.${fieldId}.schema`, invalid, visiting)
|
|
57
|
+
}
|
|
58
|
+
break
|
|
59
|
+
}
|
|
60
|
+
case "valueTypeRef":
|
|
61
|
+
if (typeof schema.valueTypeId !== "string" || !schema.valueTypeId.trim()) {
|
|
62
|
+
throw invalid(path)
|
|
63
|
+
}
|
|
64
|
+
if (schema._resolved !== undefined) {
|
|
65
|
+
assertValidSchema(schema._resolved, `${path}._resolved`, invalid, visiting)
|
|
66
|
+
}
|
|
67
|
+
break
|
|
68
|
+
default:
|
|
69
|
+
throw invalid(path)
|
|
70
|
+
}
|
|
71
|
+
visiting.delete(schema)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function isValidEnumValues(values: unknown, valueType: unknown): values is unknown[] {
|
|
75
|
+
if (!Array.isArray(values) || values.length === 0) {
|
|
76
|
+
return false
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
for (let index = 0; index < values.length; index += 1) {
|
|
80
|
+
if (!Object.hasOwn(values, index)) {
|
|
81
|
+
return false
|
|
82
|
+
}
|
|
83
|
+
const value = values[index]
|
|
84
|
+
if (
|
|
85
|
+
valueType === "string"
|
|
86
|
+
? typeof value !== "string"
|
|
87
|
+
: valueType !== "integer" || typeof value !== "number" || !Number.isInteger(value)
|
|
88
|
+
) {
|
|
89
|
+
return false
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return true
|
|
93
|
+
}
|