@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
|
@@ -3,6 +3,7 @@ import type { AuthenticatedAuthSession } from "./types"
|
|
|
3
3
|
|
|
4
4
|
interface SessionCacheEntry {
|
|
5
5
|
readonly tokenHash: string
|
|
6
|
+
readonly transport: "cookie" | "bearer"
|
|
6
7
|
readonly audience: AuthSessionAudience
|
|
7
8
|
readonly session: AuthenticatedAuthSession
|
|
8
9
|
readonly expiresAtMs: number
|
|
@@ -11,11 +12,18 @@ interface SessionCacheEntry {
|
|
|
11
12
|
export interface SessionCacheGetInput {
|
|
12
13
|
readonly sessionId: string
|
|
13
14
|
readonly tokenHash: string
|
|
14
|
-
|
|
15
|
+
/** A cookie is only ever answered from a cookie entry, and a bearer token from a bearer entry. */
|
|
16
|
+
readonly transport: "cookie" | "bearer"
|
|
17
|
+
/** The browser audience a cookie was read for. Bearer sessions carry their own. */
|
|
18
|
+
readonly audience?: AuthSessionAudience
|
|
15
19
|
readonly nowMs: number
|
|
16
20
|
}
|
|
17
21
|
|
|
18
|
-
export interface SessionCacheSetInput
|
|
22
|
+
export interface SessionCacheSetInput {
|
|
23
|
+
readonly sessionId: string
|
|
24
|
+
readonly tokenHash: string
|
|
25
|
+
readonly audience: AuthSessionAudience
|
|
26
|
+
readonly nowMs: number
|
|
19
27
|
readonly session: AuthenticatedAuthSession
|
|
20
28
|
readonly sessionExpiresAtMs: number
|
|
21
29
|
readonly sessionAbsoluteExpiresAtMs?: number
|
|
@@ -30,7 +38,7 @@ export interface SessionCacheSetInput extends SessionCacheGetInput {
|
|
|
30
38
|
* API stalls. Caching the resolved result for a short TTL collapses those reads to one
|
|
31
39
|
* per session per window.
|
|
32
40
|
*
|
|
33
|
-
* Safety: entries are pinned to the exact token hash
|
|
41
|
+
* Safety: entries are pinned to the exact token hash, transport, and audience that produced them and
|
|
34
42
|
* are never served past the session's rolling or absolute deadline. The short TTL bounds how long
|
|
35
43
|
* a revoked session can linger; sign-out additionally invalidates eagerly via
|
|
36
44
|
* {@link SessionCache.invalidate}.
|
|
@@ -52,7 +60,8 @@ export class SessionCache {
|
|
|
52
60
|
if (
|
|
53
61
|
entry.expiresAtMs <= input.nowMs ||
|
|
54
62
|
entry.tokenHash !== input.tokenHash ||
|
|
55
|
-
entry.
|
|
63
|
+
entry.transport !== input.transport ||
|
|
64
|
+
(input.audience !== undefined && entry.audience !== input.audience)
|
|
56
65
|
) {
|
|
57
66
|
this.entries.delete(input.sessionId)
|
|
58
67
|
return undefined
|
|
@@ -62,11 +71,13 @@ export class SessionCache {
|
|
|
62
71
|
}
|
|
63
72
|
|
|
64
73
|
set(input: SessionCacheSetInput): void {
|
|
65
|
-
// Never let a cached session outlive the real session
|
|
74
|
+
// Never let a cached session outlive the real session, or a bearer session its access token.
|
|
75
|
+
const bearer = input.session.session.bearer
|
|
66
76
|
const expiresAtMs = Math.min(
|
|
67
77
|
input.nowMs + this.ttlMs,
|
|
68
78
|
input.sessionExpiresAtMs,
|
|
69
|
-
input.sessionAbsoluteExpiresAtMs ?? Number.POSITIVE_INFINITY
|
|
79
|
+
input.sessionAbsoluteExpiresAtMs ?? Number.POSITIVE_INFINITY,
|
|
80
|
+
bearer?.accessExpiresAt.getTime() ?? Number.POSITIVE_INFINITY
|
|
70
81
|
)
|
|
71
82
|
if (expiresAtMs <= input.nowMs) {
|
|
72
83
|
return
|
|
@@ -76,6 +87,7 @@ export class SessionCache {
|
|
|
76
87
|
this.entries.delete(input.sessionId)
|
|
77
88
|
this.entries.set(input.sessionId, {
|
|
78
89
|
tokenHash: input.tokenHash,
|
|
90
|
+
transport: bearer ? "bearer" : "cookie",
|
|
79
91
|
audience: input.audience,
|
|
80
92
|
session: input.session,
|
|
81
93
|
expiresAtMs,
|
package/src/auth/sessions.ts
CHANGED
|
@@ -53,3 +53,33 @@ export function createSessionCredential(sessionId = `ses_${randomUUID()}`): Sess
|
|
|
53
53
|
cookieValue: formatSessionCookieValue(sessionId, sessionSecret),
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
|
|
57
|
+
export const SESSION_ACCESS_TOKEN_PREFIX = "sixb_at_"
|
|
58
|
+
export const SESSION_REFRESH_TOKEN_PREFIX = "sixb_rt_"
|
|
59
|
+
|
|
60
|
+
export interface BearerSessionTokens {
|
|
61
|
+
readonly accessToken: string
|
|
62
|
+
readonly refreshToken: string
|
|
63
|
+
readonly tokenHash: string
|
|
64
|
+
readonly refreshTokenHash: string
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** Fresh access and refresh tokens for a native client's session. Only their hashes are stored. */
|
|
68
|
+
export function createBearerSessionTokens(sessionId: string): BearerSessionTokens {
|
|
69
|
+
const accessSecret = generateSessionSecret()
|
|
70
|
+
const refreshSecret = generateSessionSecret()
|
|
71
|
+
return {
|
|
72
|
+
accessToken: `${SESSION_ACCESS_TOKEN_PREFIX}${formatSessionCookieValue(sessionId, accessSecret)}`,
|
|
73
|
+
refreshToken: `${SESSION_REFRESH_TOKEN_PREFIX}${formatSessionCookieValue(sessionId, refreshSecret)}`,
|
|
74
|
+
tokenHash: hashSessionSecret(accessSecret),
|
|
75
|
+
refreshTokenHash: hashSessionSecret(refreshSecret),
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/** The session id and secret in a bearer session token, or null when it is not one. */
|
|
80
|
+
export function parseBearerSessionToken(
|
|
81
|
+
prefix: typeof SESSION_ACCESS_TOKEN_PREFIX | typeof SESSION_REFRESH_TOKEN_PREFIX,
|
|
82
|
+
value: string
|
|
83
|
+
): SessionCookieParts | null {
|
|
84
|
+
return value.startsWith(prefix) ? parseSessionCookieValue(value.slice(prefix.length)) : null
|
|
85
|
+
}
|
package/src/auth/types.ts
CHANGED
|
@@ -30,13 +30,6 @@ export function principalsEqual(left: Principal, right: Principal): boolean {
|
|
|
30
30
|
return left.type === right.type && left.id === right.id
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
export interface SecurityContext {
|
|
34
|
-
readonly principal: Principal
|
|
35
|
-
readonly sessionId?: string
|
|
36
|
-
readonly projectId: string
|
|
37
|
-
readonly correlationId: string
|
|
38
|
-
}
|
|
39
|
-
|
|
40
33
|
export type AuthStrategyKind = "magicLink" | "oidc" | "dev" | "disabled"
|
|
41
34
|
|
|
42
35
|
export interface AuthStrategy {
|
|
@@ -225,7 +218,6 @@ export interface InviteUserInput {
|
|
|
225
218
|
readonly groups?: readonly GroupDefinition[]
|
|
226
219
|
readonly groupIds?: readonly string[]
|
|
227
220
|
readonly expiresAt?: Date
|
|
228
|
-
readonly returnTo?: string
|
|
229
221
|
/** Reveal the delivered link once in the result. Defaults to false. */
|
|
230
222
|
readonly revealLink?: boolean
|
|
231
223
|
}
|
|
@@ -368,7 +360,8 @@ export interface ReactivateMemberResult {
|
|
|
368
360
|
readonly groupIds: readonly string[]
|
|
369
361
|
}
|
|
370
362
|
|
|
371
|
-
|
|
363
|
+
/** `"session"` reads only the cookie; `"any"` reads a bearer access token, else the cookie. */
|
|
364
|
+
export type AuthCredentialSource = "session" | "any"
|
|
372
365
|
|
|
373
366
|
export interface AuthSessionResolutionOptions extends AuthSessionAudienceOptions {
|
|
374
367
|
readonly credentialSource?: AuthCredentialSource
|
|
@@ -376,12 +369,11 @@ export interface AuthSessionResolutionOptions extends AuthSessionAudienceOptions
|
|
|
376
369
|
readonly sessionActivity?: "foreground"
|
|
377
370
|
}
|
|
378
371
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
}
|
|
372
|
+
/** Where an invitation link sends its recipient. */
|
|
373
|
+
export interface InvitationDestination {
|
|
374
|
+
readonly audience: AuthSessionAudience
|
|
375
|
+
readonly requestOrigin: string
|
|
376
|
+
readonly returnTo: string
|
|
385
377
|
}
|
|
386
378
|
|
|
387
379
|
export interface RevokeInvitationInput {
|
|
@@ -521,9 +513,7 @@ export type SixbAuthConfig =
|
|
|
521
513
|
|
|
522
514
|
export type AuthSessionFailureReason =
|
|
523
515
|
| "auth_disabled"
|
|
524
|
-
| "missing_credentials"
|
|
525
516
|
| "missing_cookie"
|
|
526
|
-
| "missing_access_token"
|
|
527
517
|
| "invalid_cookie"
|
|
528
518
|
| "invalid_access_token"
|
|
529
519
|
| "invalid_session"
|
package/src/bootstrap/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { dirname, extname, join, relative, resolve, sep } from "node:path"
|
|
|
3
3
|
import { pathToFileURL } from "node:url"
|
|
4
4
|
import type { OntologyDocumentInput } from "../ontology/registry"
|
|
5
5
|
import type { ObjectTypeWithPropertyTokens } from "../ontology/tokens"
|
|
6
|
+
import type { ValueType } from "../ontology/types"
|
|
6
7
|
import { RuntimeError } from "../runtime/errors"
|
|
7
8
|
|
|
8
9
|
const moduleExtensions = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"])
|
|
@@ -14,8 +15,17 @@ export interface OntologyTypeManifestEntry {
|
|
|
14
15
|
readonly typeExpression: string
|
|
15
16
|
}
|
|
16
17
|
|
|
18
|
+
/** A value type the manifest registers, so a string-only `valueTypeRef("id")` is typed. */
|
|
19
|
+
export interface OntologyValueTypeManifestEntry {
|
|
20
|
+
readonly valueTypeId: string
|
|
21
|
+
readonly modulePath: string
|
|
22
|
+
readonly exportName: string
|
|
23
|
+
readonly typeExpression: string
|
|
24
|
+
}
|
|
25
|
+
|
|
17
26
|
export interface OntologyTypeManifestDiscovery {
|
|
18
27
|
readonly entries: readonly OntologyTypeManifestEntry[]
|
|
28
|
+
readonly valueTypeEntries: readonly OntologyValueTypeManifestEntry[]
|
|
19
29
|
readonly moduleCount: number
|
|
20
30
|
}
|
|
21
31
|
|
|
@@ -37,7 +47,8 @@ export async function discoverOntologyTypeManifest(
|
|
|
37
47
|
const ontologyDir = join(resolvedProjectRoot, "ontology")
|
|
38
48
|
const modulePaths = await listModuleFiles(ontologyDir)
|
|
39
49
|
const entries = new Map<string, OntologyTypeManifestEntry>()
|
|
40
|
-
const
|
|
50
|
+
const valueTypeEntries = new Map<string, OntologyValueTypeManifestEntry>()
|
|
51
|
+
const seen = new Set<unknown>()
|
|
41
52
|
|
|
42
53
|
for (const modulePath of modulePaths) {
|
|
43
54
|
const moduleSpecifier = toGeneratedModuleSpecifier({
|
|
@@ -56,13 +67,17 @@ export async function discoverOntologyTypeManifest(
|
|
|
56
67
|
modulePath,
|
|
57
68
|
moduleSpecifier,
|
|
58
69
|
entries,
|
|
59
|
-
|
|
70
|
+
valueTypeEntries,
|
|
71
|
+
seen,
|
|
60
72
|
})
|
|
61
73
|
}
|
|
62
74
|
}
|
|
63
75
|
|
|
64
76
|
return {
|
|
65
77
|
entries: [...entries.values()].sort((a, b) => a.objectTypeId.localeCompare(b.objectTypeId)),
|
|
78
|
+
valueTypeEntries: [...valueTypeEntries.values()].sort((a, b) =>
|
|
79
|
+
a.valueTypeId.localeCompare(b.valueTypeId)
|
|
80
|
+
),
|
|
66
81
|
moduleCount: modulePaths.length,
|
|
67
82
|
}
|
|
68
83
|
}
|
|
@@ -89,7 +104,7 @@ export async function generateOntologyTypeManifest(
|
|
|
89
104
|
}
|
|
90
105
|
}
|
|
91
106
|
|
|
92
|
-
const content = renderOntologyTypeManifest(discovery
|
|
107
|
+
const content = renderOntologyTypeManifest(discovery)
|
|
93
108
|
await mkdir(dirname(outFile), { recursive: true })
|
|
94
109
|
const written = await writeFileIfChanged(outFile, content)
|
|
95
110
|
|
|
@@ -101,98 +116,114 @@ export async function generateOntologyTypeManifest(
|
|
|
101
116
|
}
|
|
102
117
|
}
|
|
103
118
|
|
|
119
|
+
/**
|
|
120
|
+
* Mirrors what runtime discovery registers from an `ontology/` module: exported object types and
|
|
121
|
+
* value types, the ones an exported ontology document carries, and those inside exported arrays.
|
|
122
|
+
*/
|
|
104
123
|
function collectManifestEntries(input: {
|
|
105
124
|
readonly exportedValue: unknown
|
|
106
125
|
readonly exportName: string
|
|
107
126
|
readonly modulePath: string
|
|
108
127
|
readonly moduleSpecifier: string
|
|
109
128
|
readonly entries: Map<string, OntologyTypeManifestEntry>
|
|
110
|
-
readonly
|
|
129
|
+
readonly valueTypeEntries: Map<string, OntologyValueTypeManifestEntry>
|
|
130
|
+
readonly seen: Set<unknown>
|
|
111
131
|
}): void {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
132
|
+
const exported = `(typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(
|
|
133
|
+
input.exportName
|
|
134
|
+
)}])`
|
|
135
|
+
const add = (value: unknown, typeExpression: (id: string) => string): void => {
|
|
136
|
+
if (isObjectTypeWithPropertyTokens(value)) {
|
|
137
|
+
addManifestEntry({
|
|
138
|
+
kind: "object type",
|
|
139
|
+
definition: value,
|
|
140
|
+
entry: {
|
|
141
|
+
objectTypeId: value.id,
|
|
142
|
+
modulePath: input.modulePath,
|
|
143
|
+
exportName: input.exportName,
|
|
144
|
+
typeExpression: typeExpression(value.id),
|
|
145
|
+
},
|
|
146
|
+
idOf: (entry) => entry.objectTypeId,
|
|
147
|
+
entries: input.entries,
|
|
148
|
+
seen: input.seen,
|
|
149
|
+
})
|
|
150
|
+
} else if (isValueType(value)) {
|
|
151
|
+
addManifestEntry({
|
|
152
|
+
kind: "value type",
|
|
153
|
+
definition: value,
|
|
154
|
+
entry: {
|
|
155
|
+
valueTypeId: value.id,
|
|
156
|
+
modulePath: input.modulePath,
|
|
157
|
+
exportName: input.exportName,
|
|
158
|
+
typeExpression: typeExpression(value.id),
|
|
159
|
+
},
|
|
160
|
+
idOf: (entry) => entry.valueTypeId,
|
|
161
|
+
entries: input.valueTypeEntries,
|
|
162
|
+
seen: input.seen,
|
|
163
|
+
})
|
|
164
|
+
}
|
|
124
165
|
}
|
|
125
166
|
|
|
126
167
|
if (isOntologyDocumentInput(input.exportedValue)) {
|
|
127
168
|
for (const objectType of input.exportedValue.objectTypes) {
|
|
128
|
-
|
|
169
|
+
add(
|
|
129
170
|
objectType,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
)} }
|
|
137
|
-
|
|
138
|
-
seenObjectTypes: input.seenObjectTypes,
|
|
139
|
-
})
|
|
171
|
+
(id) => `Extract<${exported}["objectTypes"][number], { id: ${JSON.stringify(id)} }>`
|
|
172
|
+
)
|
|
173
|
+
}
|
|
174
|
+
for (const valueType of input.exportedValue.valueTypes ?? []) {
|
|
175
|
+
add(
|
|
176
|
+
valueType,
|
|
177
|
+
(id) => `Extract<${exported}["valueTypes"][number], { id: ${JSON.stringify(id)} }>`
|
|
178
|
+
)
|
|
140
179
|
}
|
|
141
180
|
return
|
|
142
181
|
}
|
|
143
182
|
|
|
144
183
|
if (Array.isArray(input.exportedValue)) {
|
|
145
184
|
for (const item of input.exportedValue) {
|
|
146
|
-
|
|
147
|
-
addManifestEntry({
|
|
148
|
-
objectType: item,
|
|
149
|
-
modulePath: input.modulePath,
|
|
150
|
-
exportName: input.exportName,
|
|
151
|
-
typeExpression: `Extract<(typeof import(${JSON.stringify(
|
|
152
|
-
input.moduleSpecifier
|
|
153
|
-
)})[${JSON.stringify(input.exportName)}])[number], { id: ${JSON.stringify(item.id)} }>`,
|
|
154
|
-
entries: input.entries,
|
|
155
|
-
seenObjectTypes: input.seenObjectTypes,
|
|
156
|
-
})
|
|
185
|
+
add(item, (id) => `Extract<${exported}[number], { id: ${JSON.stringify(id)} }>`)
|
|
157
186
|
}
|
|
187
|
+
return
|
|
158
188
|
}
|
|
189
|
+
|
|
190
|
+
add(
|
|
191
|
+
input.exportedValue,
|
|
192
|
+
() =>
|
|
193
|
+
`typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}]`
|
|
194
|
+
)
|
|
159
195
|
}
|
|
160
196
|
|
|
161
|
-
function addManifestEntry(input: {
|
|
162
|
-
readonly
|
|
163
|
-
readonly
|
|
164
|
-
readonly
|
|
165
|
-
readonly
|
|
166
|
-
readonly entries: Map<string,
|
|
167
|
-
readonly
|
|
197
|
+
function addManifestEntry<TEntry extends { readonly modulePath: string }>(input: {
|
|
198
|
+
readonly kind: "object type" | "value type"
|
|
199
|
+
readonly definition: unknown
|
|
200
|
+
readonly entry: TEntry
|
|
201
|
+
readonly idOf: (entry: TEntry) => string
|
|
202
|
+
readonly entries: Map<string, TEntry>
|
|
203
|
+
readonly seen: Set<unknown>
|
|
168
204
|
}): void {
|
|
169
|
-
|
|
205
|
+
// The same definition re-exported from several places is one registration.
|
|
206
|
+
if (input.seen.has(input.definition)) {
|
|
170
207
|
return
|
|
171
208
|
}
|
|
172
|
-
input.
|
|
173
|
-
|
|
174
|
-
const existing = input.entries.get(input.objectType.id)
|
|
175
|
-
const entry: OntologyTypeManifestEntry = {
|
|
176
|
-
objectTypeId: input.objectType.id,
|
|
177
|
-
modulePath: input.modulePath,
|
|
178
|
-
exportName: input.exportName,
|
|
179
|
-
typeExpression: input.typeExpression,
|
|
180
|
-
}
|
|
209
|
+
input.seen.add(input.definition)
|
|
181
210
|
|
|
211
|
+
const id = input.idOf(input.entry)
|
|
212
|
+
const existing = input.entries.get(id)
|
|
182
213
|
if (!existing) {
|
|
183
|
-
input.entries.set(
|
|
214
|
+
input.entries.set(id, input.entry)
|
|
184
215
|
return
|
|
185
216
|
}
|
|
186
217
|
|
|
187
218
|
throw new RuntimeError(
|
|
188
|
-
`[Sixb] Duplicate ontology
|
|
219
|
+
`[Sixb] Duplicate ontology ${input.kind} id "${id}" while generating `.concat(
|
|
189
220
|
`the type manifest: ${relative(process.cwd(), existing.modulePath)} and `,
|
|
190
|
-
`${relative(process.cwd(), input.modulePath)}.`
|
|
221
|
+
`${relative(process.cwd(), input.entry.modulePath)}.`
|
|
191
222
|
)
|
|
192
223
|
)
|
|
193
224
|
}
|
|
194
225
|
|
|
195
|
-
function renderOntologyTypeManifest(
|
|
226
|
+
function renderOntologyTypeManifest(discovery: OntologyTypeManifestDiscovery): string {
|
|
196
227
|
const lines = [
|
|
197
228
|
"// This file is auto-generated by Sixb.",
|
|
198
229
|
"// Do not edit this file directly.",
|
|
@@ -201,10 +232,16 @@ function renderOntologyTypeManifest(entries: readonly OntologyTypeManifestEntry[
|
|
|
201
232
|
" interface SixbObjectTypeMap {",
|
|
202
233
|
]
|
|
203
234
|
|
|
204
|
-
for (const entry of entries) {
|
|
235
|
+
for (const entry of discovery.entries) {
|
|
205
236
|
lines.push(` ${JSON.stringify(entry.objectTypeId)}: ${entry.typeExpression}`)
|
|
206
237
|
}
|
|
207
238
|
|
|
239
|
+
lines.push(" }", " interface SixbValueTypeMap {")
|
|
240
|
+
|
|
241
|
+
for (const entry of discovery.valueTypeEntries) {
|
|
242
|
+
lines.push(` ${JSON.stringify(entry.valueTypeId)}: ${entry.typeExpression}`)
|
|
243
|
+
}
|
|
244
|
+
|
|
208
245
|
lines.push(" }", "}", "", "export {}", "")
|
|
209
246
|
return lines.join("\n")
|
|
210
247
|
}
|
|
@@ -309,6 +346,21 @@ function isObjectTypeWithPropertyTokens(value: unknown): value is ObjectTypeWith
|
|
|
309
346
|
)
|
|
310
347
|
}
|
|
311
348
|
|
|
349
|
+
/** Same shape test runtime discovery applies to an exported value type. */
|
|
350
|
+
function isValueType(value: unknown): value is ValueType {
|
|
351
|
+
if (!isRecord(value)) {
|
|
352
|
+
return false
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
return (
|
|
356
|
+
typeof value.id === "string" &&
|
|
357
|
+
typeof value.name === "string" &&
|
|
358
|
+
"schema" in value &&
|
|
359
|
+
!Array.isArray(value.properties) &&
|
|
360
|
+
!Array.isArray(value.objectTypes)
|
|
361
|
+
)
|
|
362
|
+
}
|
|
363
|
+
|
|
312
364
|
function isOntologyDocumentInput(value: unknown): value is OntologyDocumentInput {
|
|
313
365
|
if (!isRecord(value)) {
|
|
314
366
|
return false
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isFileRef } from "../blob-storage"
|
|
2
|
+
import { withFailureMessage } from "../errors/failure-message"
|
|
2
3
|
import { isJsonValue, isPlainRecord } from "../json"
|
|
3
4
|
import { isDecimalString } from "../ontology/decimal"
|
|
4
5
|
import { DatasetValidationError } from "./errors"
|
|
@@ -233,8 +234,17 @@ export function getDatasetRowValidationError(
|
|
|
233
234
|
dataset: DatasetDefinition,
|
|
234
235
|
options?: { readonly columns?: Iterable<string> }
|
|
235
236
|
): string | null {
|
|
237
|
+
return getDatasetRowValidationFailure(row, dataset, options)?.message ?? null
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/** Internal form retains a value-free explanation for the durable failure boundary. */
|
|
241
|
+
export function getDatasetRowValidationFailure(
|
|
242
|
+
row: unknown,
|
|
243
|
+
dataset: DatasetDefinition,
|
|
244
|
+
options?: { readonly columns?: Iterable<string> }
|
|
245
|
+
): Error | null {
|
|
236
246
|
if (!isPlainRecord(row)) {
|
|
237
|
-
return `Dataset '${dataset.id}' rows must be plain objects.`
|
|
247
|
+
return rowFailure(`Dataset '${dataset.id}' rows must be plain objects.`)
|
|
238
248
|
}
|
|
239
249
|
|
|
240
250
|
const columnsByName = new Map(
|
|
@@ -251,7 +261,7 @@ export function getDatasetRowValidationError(
|
|
|
251
261
|
continue
|
|
252
262
|
}
|
|
253
263
|
|
|
254
|
-
const error =
|
|
264
|
+
const error = getColumnValidationFailure(row, column, dataset)
|
|
255
265
|
if (error) {
|
|
256
266
|
return error
|
|
257
267
|
}
|
|
@@ -262,12 +272,15 @@ export function getDatasetRowValidationError(
|
|
|
262
272
|
|
|
263
273
|
for (const columnName of Object.keys(row)) {
|
|
264
274
|
if (!columnsByName.has(columnName)) {
|
|
265
|
-
return
|
|
275
|
+
return rowFailure(
|
|
276
|
+
`Dataset '${dataset.id}' row contains unknown column '${columnName}'.`,
|
|
277
|
+
`Dataset '${dataset.id}' row contains an undeclared column.`
|
|
278
|
+
)
|
|
266
279
|
}
|
|
267
280
|
}
|
|
268
281
|
|
|
269
282
|
for (const column of dataset.schema.columns) {
|
|
270
|
-
const error =
|
|
283
|
+
const error = getColumnValidationFailure(row, column, dataset)
|
|
271
284
|
if (error) {
|
|
272
285
|
return error
|
|
273
286
|
}
|
|
@@ -276,29 +289,37 @@ export function getDatasetRowValidationError(
|
|
|
276
289
|
return null
|
|
277
290
|
}
|
|
278
291
|
|
|
279
|
-
function
|
|
292
|
+
function getColumnValidationFailure(
|
|
280
293
|
row: Record<string, unknown>,
|
|
281
294
|
column: DatasetColumnDefinition,
|
|
282
295
|
dataset: DatasetDefinition
|
|
283
|
-
):
|
|
296
|
+
): Error | null {
|
|
284
297
|
const hasValue = Object.hasOwn(row, column.name)
|
|
285
298
|
const value = row[column.name]
|
|
286
299
|
if (column.name === dataset.sequenceBy) {
|
|
287
|
-
|
|
300
|
+
const message = getDatasetSequenceValidationError(dataset, value)
|
|
301
|
+
return message === null
|
|
302
|
+
? null
|
|
303
|
+
: rowFailure(
|
|
304
|
+
message,
|
|
305
|
+
`Dataset '${dataset.id}' sequence column '${column.name}' must contain a valid ${column.type} source sequence.`
|
|
306
|
+
)
|
|
288
307
|
}
|
|
289
308
|
|
|
290
309
|
// Treat `undefined` the same as an omitted field so callers either send a real
|
|
291
310
|
// value or use `null` explicitly on nullable columns.
|
|
292
311
|
if (!hasValue || value === undefined) {
|
|
293
312
|
if (!column.nullable) {
|
|
294
|
-
return `Dataset '${dataset.id}' row is missing required column '${column.name}'.`
|
|
313
|
+
return rowFailure(`Dataset '${dataset.id}' row is missing required column '${column.name}'.`)
|
|
295
314
|
}
|
|
296
315
|
return null
|
|
297
316
|
}
|
|
298
317
|
|
|
299
318
|
if (value === null) {
|
|
300
319
|
if (!column.nullable) {
|
|
301
|
-
return
|
|
320
|
+
return rowFailure(
|
|
321
|
+
`Dataset '${dataset.id}' column '${column.name}' does not allow null values.`
|
|
322
|
+
)
|
|
302
323
|
}
|
|
303
324
|
return null
|
|
304
325
|
}
|
|
@@ -307,13 +328,21 @@ function getColumnValidationError(
|
|
|
307
328
|
// Reject ambiguous or lossy values before staging, even when another column orders the row.
|
|
308
329
|
if (dataset.sequenceBy !== undefined && column.type === "timestamp") {
|
|
309
330
|
return parseDatasetTimestamp(value) === null
|
|
310
|
-
?
|
|
331
|
+
? rowFailure(
|
|
332
|
+
`Dataset '${dataset.id}' column '${column.name}' must be a valid Date or ISO timestamp with an explicit timezone and at most millisecond precision.`
|
|
333
|
+
)
|
|
311
334
|
: null
|
|
312
335
|
}
|
|
313
336
|
|
|
314
337
|
if (!matchesColumnType(value, column.type)) {
|
|
315
|
-
return
|
|
338
|
+
return rowFailure(
|
|
339
|
+
`Dataset '${dataset.id}' column '${column.name}' must match type '${column.type}'.`
|
|
340
|
+
)
|
|
316
341
|
}
|
|
317
342
|
|
|
318
343
|
return null
|
|
319
344
|
}
|
|
345
|
+
|
|
346
|
+
function rowFailure(message: string, publicMessage = message): Error {
|
|
347
|
+
return withFailureMessage(new DatasetValidationError(message), publicMessage)
|
|
348
|
+
}
|
package/src/datasets/write.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { BlobStorage, FileRef } from "../blob-storage"
|
|
2
2
|
import { isFileRef } from "../blob-storage"
|
|
3
|
-
import { isPlainRecord } from "../json"
|
|
4
3
|
import type { DatasetMergeCommitResult } from "../lake-storage/merge"
|
|
5
4
|
import { getDatasetMergeChangeValidationError } from "../lake-storage/merge-validation"
|
|
6
5
|
import type {
|
|
@@ -11,7 +10,7 @@ import type {
|
|
|
11
10
|
} from "../lake-storage/types"
|
|
12
11
|
import type { MergeChange } from "./changes"
|
|
13
12
|
import type { DatasetDefinition } from "./types"
|
|
14
|
-
import {
|
|
13
|
+
import { getDatasetRowValidationFailure } from "./validation"
|
|
15
14
|
|
|
16
15
|
export interface DatasetWriteValue {
|
|
17
16
|
readonly value: unknown
|
|
@@ -161,19 +160,17 @@ async function validateRow(
|
|
|
161
160
|
input: WriteDatasetInput,
|
|
162
161
|
itemIndex: number
|
|
163
162
|
): Promise<DatasetRow> {
|
|
164
|
-
|
|
165
|
-
throw new Error(
|
|
166
|
-
`${sourceLabel(input)} returned an invalid row at item ${itemIndex}. Dataset rows must be plain objects.`
|
|
167
|
-
)
|
|
168
|
-
}
|
|
169
|
-
const validationError = getDatasetRowValidationError(value, input.dataset)
|
|
163
|
+
const validationError = getDatasetRowValidationFailure(value, input.dataset)
|
|
170
164
|
if (validationError) {
|
|
171
165
|
throw new Error(
|
|
172
|
-
`${sourceLabel(input)} returned an invalid row at item ${itemIndex}. ${validationError}
|
|
166
|
+
`${sourceLabel(input)} returned an invalid row at item ${itemIndex}. ${validationError.message}`,
|
|
167
|
+
{ cause: validationError }
|
|
173
168
|
)
|
|
174
169
|
}
|
|
175
|
-
|
|
176
|
-
|
|
170
|
+
// The validator above establishes the row shape.
|
|
171
|
+
const row = value as DatasetRow
|
|
172
|
+
await verifyRowFileRefs(row, input, itemIndex)
|
|
173
|
+
return row
|
|
177
174
|
}
|
|
178
175
|
|
|
179
176
|
async function validateMergeChange(
|