@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
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type AiModelCallUsage,
|
|
3
|
-
type AiModelCallUsageRecord,
|
|
4
|
-
aggregateAiModelCallUsage,
|
|
5
|
-
normalizeAiModelCallUsage,
|
|
6
|
-
} from "../ai-usage"
|
|
1
|
+
import { type AiModelCallUsageRecord, normalizeAiModelCallUsage } from "../ai-usage"
|
|
7
2
|
import type {
|
|
8
3
|
AiAccountingAgentBreakdown,
|
|
9
4
|
AiAccountingAggregate,
|
|
@@ -65,6 +60,7 @@ export interface AiAccountingAggregateFragment {
|
|
|
65
60
|
readonly modelCallCount: string
|
|
66
61
|
readonly usage: {
|
|
67
62
|
readonly reportedCallCount: string
|
|
63
|
+
readonly completeCallCount: string
|
|
68
64
|
readonly inputTokens: AiAccountingUsageMeterFragment
|
|
69
65
|
readonly outputTokens: AiAccountingUsageMeterFragment
|
|
70
66
|
readonly uncachedInputTokens: AiAccountingUsageMeterFragment
|
|
@@ -358,9 +354,21 @@ export function aiAccountingBucketStart(at: Date, bucket: AiAccountingBucket): D
|
|
|
358
354
|
function aggregateAccountingItems(
|
|
359
355
|
items: readonly AiAccountingRecordSetItem[]
|
|
360
356
|
): AiAccountingAggregate {
|
|
357
|
+
const value = aggregateFragmentAccumulator()
|
|
358
|
+
value.modelCallCount = BigInt(items.length)
|
|
359
|
+
for (const item of items) {
|
|
360
|
+
const usage = normalizeAiModelCallUsage(item.usage.usage)
|
|
361
|
+
if (usage.reportingStatus !== "unavailable") value.reportedUsageCallCount += 1n
|
|
362
|
+
if (usage.reportingStatus === "complete") value.completeUsageCallCount += 1n
|
|
363
|
+
for (const field of AGGREGATE_USAGE_FIELDS) {
|
|
364
|
+
if (usage[field] === undefined) continue
|
|
365
|
+
value.usage[field].presentCallCount += 1n
|
|
366
|
+
value.usage[field].total += BigInt(usage[field])
|
|
367
|
+
}
|
|
368
|
+
}
|
|
361
369
|
return {
|
|
362
370
|
modelCallCount: items.length,
|
|
363
|
-
|
|
371
|
+
...finishAggregateUsage(value),
|
|
364
372
|
costs: aggregateCosts(items),
|
|
365
373
|
}
|
|
366
374
|
}
|
|
@@ -405,6 +413,7 @@ type AggregateUsageField = (typeof AGGREGATE_USAGE_FIELDS)[number]
|
|
|
405
413
|
interface AggregateFragmentAccumulator {
|
|
406
414
|
modelCallCount: bigint
|
|
407
415
|
reportedUsageCallCount: bigint
|
|
416
|
+
completeUsageCallCount: bigint
|
|
408
417
|
usage: Record<AggregateUsageField, { presentCallCount: bigint; total: bigint }>
|
|
409
418
|
amounts: Map<string, bigint>
|
|
410
419
|
ratedCallCount: bigint
|
|
@@ -416,6 +425,7 @@ function aggregateFragmentAccumulator(): AggregateFragmentAccumulator {
|
|
|
416
425
|
return {
|
|
417
426
|
modelCallCount: 0n,
|
|
418
427
|
reportedUsageCallCount: 0n,
|
|
428
|
+
completeUsageCallCount: 0n,
|
|
419
429
|
usage: Object.fromEntries(
|
|
420
430
|
AGGREGATE_USAGE_FIELDS.map((field) => [field, { presentCallCount: 0n, total: 0n }])
|
|
421
431
|
) as AggregateFragmentAccumulator["usage"],
|
|
@@ -446,6 +456,10 @@ function appendAggregateFragment(
|
|
|
446
456
|
fragment.usage.reportedCallCount,
|
|
447
457
|
"reported usage call count"
|
|
448
458
|
)
|
|
459
|
+
target.completeUsageCallCount += naturalBigInt(
|
|
460
|
+
fragment.usage.completeCallCount,
|
|
461
|
+
"complete usage call count"
|
|
462
|
+
)
|
|
449
463
|
for (const field of AGGREGATE_USAGE_FIELDS) {
|
|
450
464
|
const source = fragment.usage[field]
|
|
451
465
|
const presentCallCount = naturalBigInt(source.presentCallCount, `${field} call count`)
|
|
@@ -473,6 +487,7 @@ function finishAggregateFragment(value: AggregateFragmentAccumulator): AiAccount
|
|
|
473
487
|
if (
|
|
474
488
|
classifiedCallCount !== value.modelCallCount ||
|
|
475
489
|
value.reportedUsageCallCount > value.modelCallCount ||
|
|
490
|
+
value.completeUsageCallCount > value.reportedUsageCallCount ||
|
|
476
491
|
AGGREGATE_USAGE_FIELDS.some(
|
|
477
492
|
(field) => value.usage[field].presentCallCount > value.modelCallCount
|
|
478
493
|
)
|
|
@@ -480,22 +495,9 @@ function finishAggregateFragment(value: AggregateFragmentAccumulator): AiAccount
|
|
|
480
495
|
throw new TypeError("[Sixb] AI accounting SQL aggregate counts are inconsistent.")
|
|
481
496
|
}
|
|
482
497
|
const modelCallCount = safeAggregateNumber(value.modelCallCount, "model-call count")
|
|
483
|
-
const usageInput: Partial<Record<AggregateUsageField, number>> = {}
|
|
484
|
-
if (value.modelCallCount > 0n) {
|
|
485
|
-
for (const field of AGGREGATE_USAGE_FIELDS) {
|
|
486
|
-
const aggregate = value.usage[field]
|
|
487
|
-
if (aggregate.presentCallCount === value.modelCallCount) {
|
|
488
|
-
usageInput[field] = safeAggregateNumber(aggregate.total, field)
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
let usage: AiModelCallUsage = normalizeAiModelCallUsage(usageInput)
|
|
493
|
-
if (usage.reportingStatus === "unavailable" && value.reportedUsageCallCount > 0n) {
|
|
494
|
-
usage = { ...usage, reportingStatus: "partial" }
|
|
495
|
-
}
|
|
496
498
|
return {
|
|
497
499
|
modelCallCount,
|
|
498
|
-
|
|
500
|
+
...finishAggregateUsage(value),
|
|
499
501
|
costs: {
|
|
500
502
|
amounts: [...value.amounts]
|
|
501
503
|
.sort(([left], [right]) => left.localeCompare(right))
|
|
@@ -510,6 +512,42 @@ function finishAggregateFragment(value: AggregateFragmentAccumulator): AiAccount
|
|
|
510
512
|
}
|
|
511
513
|
}
|
|
512
514
|
|
|
515
|
+
function finishAggregateUsage(
|
|
516
|
+
value: AggregateFragmentAccumulator
|
|
517
|
+
): Pick<AiAccountingAggregate, "usage" | "usageCoverage"> {
|
|
518
|
+
const counts: Partial<Record<AggregateUsageField | "totalTokens", number>> = {}
|
|
519
|
+
const fieldCallCounts = {} as Record<AggregateUsageField, number>
|
|
520
|
+
for (const field of AGGREGATE_USAGE_FIELDS) {
|
|
521
|
+
const aggregate = value.usage[field]
|
|
522
|
+
fieldCallCounts[field] = safeAggregateNumber(aggregate.presentCallCount, `${field} call count`)
|
|
523
|
+
if (aggregate.presentCallCount > 0n) {
|
|
524
|
+
counts[field] = safeAggregateNumber(aggregate.total, field)
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
// Only the top-level meters contribute: cache/reasoning partitions overlap them.
|
|
528
|
+
if (counts.inputTokens !== undefined || counts.outputTokens !== undefined) {
|
|
529
|
+
counts.totalTokens = safeAggregateNumber(
|
|
530
|
+
value.usage.inputTokens.total + value.usage.outputTokens.total,
|
|
531
|
+
"totalTokens"
|
|
532
|
+
)
|
|
533
|
+
}
|
|
534
|
+
return {
|
|
535
|
+
usage: {
|
|
536
|
+
...counts,
|
|
537
|
+
reportingStatus:
|
|
538
|
+
value.reportedUsageCallCount === 0n
|
|
539
|
+
? "unavailable"
|
|
540
|
+
: value.completeUsageCallCount === value.modelCallCount
|
|
541
|
+
? "complete"
|
|
542
|
+
: "partial",
|
|
543
|
+
},
|
|
544
|
+
usageCoverage: {
|
|
545
|
+
completeCallCount: safeAggregateNumber(value.completeUsageCallCount, "complete call count"),
|
|
546
|
+
fieldCallCounts,
|
|
547
|
+
},
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
|
|
513
551
|
function naturalBigInt(value: string, field: string): bigint {
|
|
514
552
|
if (!/^(0|[1-9]\d*)$/.test(value)) {
|
|
515
553
|
throw new TypeError(`[Sixb] AI accounting SQL ${field} must be a natural integer.`)
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
AiModelCallUsageInput,
|
|
3
|
+
AiModelCallUsageRecord,
|
|
4
|
+
AiUsageReportingStatus,
|
|
5
|
+
} from "../ai-usage"
|
|
2
6
|
|
|
3
7
|
/** Token meters supported by deterministic local rate cards. */
|
|
4
8
|
export type AiBillableMeter =
|
|
@@ -141,9 +145,22 @@ export interface ListAiModelCallAccountingInput extends AiAccountingRange {
|
|
|
141
145
|
readonly offset?: number
|
|
142
146
|
}
|
|
143
147
|
|
|
148
|
+
/** Observed meter sums. Unreported meters are absent; incomplete sums are lower bounds. */
|
|
149
|
+
export interface AiAccountingUsage extends AiModelCallUsageInput {
|
|
150
|
+
/** Sum of available input and output counts, including one-sided reports. */
|
|
151
|
+
readonly totalTokens?: number
|
|
152
|
+
/** Complete only when every call reports both input and output; details have separate coverage. */
|
|
153
|
+
readonly reportingStatus: AiUsageReportingStatus
|
|
154
|
+
}
|
|
155
|
+
|
|
144
156
|
export interface AiAccountingAggregate {
|
|
145
157
|
readonly modelCallCount: number
|
|
146
|
-
readonly usage:
|
|
158
|
+
readonly usage: AiAccountingUsage
|
|
159
|
+
readonly usageCoverage: {
|
|
160
|
+
/** Calls reporting both inputTokens and outputTokens. */
|
|
161
|
+
readonly completeCallCount: number
|
|
162
|
+
readonly fieldCallCounts: Readonly<Record<keyof AiModelCallUsageInput, number>>
|
|
163
|
+
}
|
|
147
164
|
readonly costs: AiCostSummary
|
|
148
165
|
}
|
|
149
166
|
|
|
@@ -38,8 +38,11 @@ export class InMemoryAuthAccessTokenStore implements AuthAccessTokenStore {
|
|
|
38
38
|
const rows = [...this.state.accessTokens.values()]
|
|
39
39
|
.filter((token) => token.projectId === input.projectId)
|
|
40
40
|
.filter((token) => input.kind === undefined || token.kind === input.kind)
|
|
41
|
-
.filter(
|
|
42
|
-
|
|
41
|
+
.filter(
|
|
42
|
+
(token) =>
|
|
43
|
+
input.subject === undefined ||
|
|
44
|
+
(token.subject.type === input.subject.type && token.subject.id === input.subject.id)
|
|
45
|
+
)
|
|
43
46
|
.filter((token) => input.includeRevoked || !token.revokedAt)
|
|
44
47
|
.sort((a, b) => compareByCreatedAt(a, b, order))
|
|
45
48
|
const page = rows.slice(offset, input.limit === undefined ? undefined : offset + input.limit)
|
|
@@ -30,7 +30,6 @@ import {
|
|
|
30
30
|
cloneRecord,
|
|
31
31
|
consumeMagicLinkRecord,
|
|
32
32
|
consumeOidcAttemptRecord,
|
|
33
|
-
createAccessTokenRecord,
|
|
34
33
|
createAuthStorageState,
|
|
35
34
|
createSessionRecord,
|
|
36
35
|
deviceAuthorizationKey,
|
|
@@ -138,24 +137,22 @@ export class InMemoryAuthStorage implements AuthStorage {
|
|
|
138
137
|
)
|
|
139
138
|
}
|
|
140
139
|
if (
|
|
141
|
-
input.
|
|
142
|
-
input.
|
|
143
|
-
input.accessToken.subjectId !== authorization.approvedUserId ||
|
|
144
|
-
input.accessToken.createdBySessionId !== authorization.approvedSessionId
|
|
140
|
+
input.session.projectId !== input.projectId ||
|
|
141
|
+
input.session.userId !== authorization.approvedUserId
|
|
145
142
|
) {
|
|
146
143
|
throw new AuthStorageError(
|
|
147
144
|
"invalid_device_authorization",
|
|
148
|
-
"[Sixb] Device
|
|
145
|
+
"[Sixb] Device session is invalid."
|
|
149
146
|
)
|
|
150
147
|
}
|
|
151
|
-
const
|
|
148
|
+
const session = createSessionRecord(this.state, input.session)
|
|
152
149
|
const consumed = {
|
|
153
150
|
...authorization,
|
|
154
151
|
status: "consumed" as const,
|
|
155
152
|
consumedAt: new Date(input.completedAt),
|
|
156
153
|
}
|
|
157
154
|
this.state.deviceAuthorizations.set(key, cloneRecord(consumed))
|
|
158
|
-
return { authorization: cloneRecord(consumed),
|
|
155
|
+
return { authorization: cloneRecord(consumed), session: cloneRecord(session) }
|
|
159
156
|
}
|
|
160
157
|
|
|
161
158
|
async completeMagicLinkSignIn(
|
|
@@ -45,8 +45,6 @@ export class InMemoryAuthDeviceAuthorizationStore implements AuthDeviceAuthoriza
|
|
|
45
45
|
deviceCodeHash: assertNonEmpty(input.deviceCodeHash, "Device code hash"),
|
|
46
46
|
userCode: assertNonEmpty(input.userCode, "User code"),
|
|
47
47
|
clientName: assertNonEmpty(input.clientName, "Client name"),
|
|
48
|
-
tokenName: assertNonEmpty(input.tokenName, "Token name"),
|
|
49
|
-
tokenExpiresAt: new Date(input.tokenExpiresAt),
|
|
50
48
|
status: "pending",
|
|
51
49
|
createdAt: new Date(input.createdAt),
|
|
52
50
|
expiresAt: new Date(input.expiresAt),
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { AuthSessionAudience } from "../../../auth/audience"
|
|
2
2
|
import { AuthStorageError } from "../errors"
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
AuthSessionStore,
|
|
5
|
+
CreateAuthSessionInput,
|
|
6
|
+
RotateSessionRefreshTokenResult,
|
|
7
|
+
SessionRecord,
|
|
8
|
+
} from "../types"
|
|
4
9
|
import type { AuthStorageState } from "./shared"
|
|
5
10
|
import {
|
|
6
11
|
cloneDate,
|
|
@@ -73,6 +78,7 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
|
|
|
73
78
|
const session = this.state.sessions.get(sessionKey(params.projectId, params.id))
|
|
74
79
|
if (
|
|
75
80
|
!session ||
|
|
81
|
+
session.bearer ||
|
|
76
82
|
session.audience !== params.audience ||
|
|
77
83
|
session.tokenHash !== params.tokenHash ||
|
|
78
84
|
!isActiveSession(session, params.now)
|
|
@@ -83,6 +89,67 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
|
|
|
83
89
|
return cloneRecord(session)
|
|
84
90
|
}
|
|
85
91
|
|
|
92
|
+
async findValidByAccessTokenHash(params: {
|
|
93
|
+
readonly projectId: string
|
|
94
|
+
readonly id: string
|
|
95
|
+
readonly tokenHash: string
|
|
96
|
+
readonly now: Date
|
|
97
|
+
}): Promise<SessionRecord | null> {
|
|
98
|
+
const session = this.state.sessions.get(sessionKey(params.projectId, params.id))
|
|
99
|
+
if (
|
|
100
|
+
!session?.bearer ||
|
|
101
|
+
session.tokenHash !== params.tokenHash ||
|
|
102
|
+
session.bearer.accessExpiresAt <= params.now ||
|
|
103
|
+
!isActiveSession(session, params.now)
|
|
104
|
+
) {
|
|
105
|
+
return null
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return cloneRecord(session)
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
async rotateRefreshToken(
|
|
112
|
+
params: Parameters<AuthSessionStore["rotateRefreshToken"]>[0]
|
|
113
|
+
): Promise<RotateSessionRefreshTokenResult> {
|
|
114
|
+
const key = sessionKey(params.projectId, params.id)
|
|
115
|
+
const session = this.state.sessions.get(key)
|
|
116
|
+
if (!session?.bearer || !isActiveSession(session, params.now)) {
|
|
117
|
+
return { status: "invalid" }
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const { bearer } = session
|
|
121
|
+
const replacedRecently =
|
|
122
|
+
bearer.previousRefreshTokenHash === params.refreshTokenHash &&
|
|
123
|
+
bearer.refreshedAt !== undefined &&
|
|
124
|
+
params.now.getTime() - bearer.refreshedAt.getTime() <= params.reuseGraceMs
|
|
125
|
+
if (bearer.refreshTokenHash !== params.refreshTokenHash && !replacedRecently) {
|
|
126
|
+
if (bearer.previousRefreshTokenHash !== params.refreshTokenHash) {
|
|
127
|
+
return { status: "invalid" }
|
|
128
|
+
}
|
|
129
|
+
this.state.sessions.set(key, cloneRecord({ ...session, revokedAt: cloneDate(params.now) }))
|
|
130
|
+
return { status: "reused" }
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const requestedExpiresAt = session.absoluteExpiresAt
|
|
134
|
+
? new Date(Math.min(params.next.expiresAt.getTime(), session.absoluteExpiresAt.getTime()))
|
|
135
|
+
: params.next.expiresAt
|
|
136
|
+
const next: SessionRecord = {
|
|
137
|
+
...session,
|
|
138
|
+
tokenHash: params.next.tokenHash,
|
|
139
|
+
expiresAt: new Date(Math.max(session.expiresAt.getTime(), requestedExpiresAt.getTime())),
|
|
140
|
+
lastSeenAt: cloneDate(params.now),
|
|
141
|
+
bearer: {
|
|
142
|
+
clientName: bearer.clientName,
|
|
143
|
+
accessExpiresAt: cloneDate(params.next.accessExpiresAt),
|
|
144
|
+
refreshTokenHash: params.next.refreshTokenHash,
|
|
145
|
+
previousRefreshTokenHash: bearer.refreshTokenHash,
|
|
146
|
+
refreshedAt: cloneDate(params.now),
|
|
147
|
+
},
|
|
148
|
+
}
|
|
149
|
+
this.state.sessions.set(key, cloneRecord(next))
|
|
150
|
+
return { status: "rotated", session: cloneRecord(next) }
|
|
151
|
+
}
|
|
152
|
+
|
|
86
153
|
async renewIfValid(params: {
|
|
87
154
|
readonly projectId: string
|
|
88
155
|
readonly id: string
|
|
@@ -95,6 +162,7 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
|
|
|
95
162
|
const session = this.state.sessions.get(key)
|
|
96
163
|
if (
|
|
97
164
|
!session ||
|
|
165
|
+
session.bearer ||
|
|
98
166
|
session.audience !== params.audience ||
|
|
99
167
|
session.tokenHash !== params.tokenHash ||
|
|
100
168
|
!isActiveSession(session, params.now)
|
|
@@ -320,6 +320,13 @@ export function createSessionRecord(
|
|
|
320
320
|
absoluteExpiresAt: input.absoluteExpiresAt ? cloneDate(input.absoluteExpiresAt) : undefined,
|
|
321
321
|
userAgent: input.userAgent,
|
|
322
322
|
ipAddress: input.ipAddress,
|
|
323
|
+
bearer: input.bearer
|
|
324
|
+
? {
|
|
325
|
+
clientName: assertNonEmpty(input.bearer.clientName, "Session client name"),
|
|
326
|
+
accessExpiresAt: cloneDate(input.bearer.accessExpiresAt),
|
|
327
|
+
refreshTokenHash: assertNonEmpty(input.bearer.refreshTokenHash, "Refresh token hash"),
|
|
328
|
+
}
|
|
329
|
+
: undefined,
|
|
323
330
|
}
|
|
324
331
|
|
|
325
332
|
state.sessions.set(sessionKey(projectId, id), cloneRecord(session))
|
|
@@ -398,11 +405,11 @@ export function createAccessTokenRecord(
|
|
|
398
405
|
const id = assertNonEmpty(input.id, "Access token id")
|
|
399
406
|
const projectId = assertNonEmpty(input.projectId, "Project id")
|
|
400
407
|
const name = assertNonEmpty(input.name, "Access token name")
|
|
401
|
-
const subjectId = assertNonEmpty(input.
|
|
408
|
+
const subjectId = assertNonEmpty(input.subject.id, "Access token subject id")
|
|
402
409
|
const tokenHash = assertNonEmpty(input.tokenHash, "Access token hash")
|
|
403
410
|
|
|
404
|
-
assertAccessTokenSubject(input.kind, input.
|
|
405
|
-
assertAccessTokenSubjectExists(state, projectId, input.
|
|
411
|
+
assertAccessTokenSubject(input.kind, input.subject.type)
|
|
412
|
+
assertAccessTokenSubjectExists(state, projectId, input.subject.type, subjectId)
|
|
406
413
|
|
|
407
414
|
const key = accessTokenKey(projectId, id)
|
|
408
415
|
if (state.accessTokens.has(key)) {
|
|
@@ -417,8 +424,7 @@ export function createAccessTokenRecord(
|
|
|
417
424
|
projectId,
|
|
418
425
|
name,
|
|
419
426
|
kind: input.kind,
|
|
420
|
-
|
|
421
|
-
subjectId,
|
|
427
|
+
subject: { type: input.subject.type, id: subjectId },
|
|
422
428
|
tokenHash,
|
|
423
429
|
groupIds: normalizeOptionalGroupIds(input.groupIds),
|
|
424
430
|
createdByPrincipal: input.createdByPrincipal,
|
|
@@ -484,7 +490,7 @@ export function removeGroupMembershipRecord(
|
|
|
484
490
|
|
|
485
491
|
function assertAccessTokenSubject(
|
|
486
492
|
kind: CreateAuthAccessTokenInput["kind"],
|
|
487
|
-
subjectType: CreateAuthAccessTokenInput["
|
|
493
|
+
subjectType: CreateAuthAccessTokenInput["subject"]["type"]
|
|
488
494
|
): void {
|
|
489
495
|
if (
|
|
490
496
|
(kind === "personal" && subjectType === "user") ||
|
|
@@ -502,7 +508,7 @@ function assertAccessTokenSubject(
|
|
|
502
508
|
function assertAccessTokenSubjectExists(
|
|
503
509
|
state: AuthStorageState,
|
|
504
510
|
projectId: string,
|
|
505
|
-
subjectType: CreateAuthAccessTokenInput["
|
|
511
|
+
subjectType: CreateAuthAccessTokenInput["subject"]["type"],
|
|
506
512
|
subjectId: string
|
|
507
513
|
): void {
|
|
508
514
|
if (subjectType === "user") {
|
|
@@ -3,7 +3,6 @@ export { AuthStorageError } from "./errors"
|
|
|
3
3
|
export { InMemoryAuthStorage } from "./in-memory"
|
|
4
4
|
export type {
|
|
5
5
|
AccessTokenRecord,
|
|
6
|
-
AccessTokenSubjectType,
|
|
7
6
|
AuthAccessTokenStore,
|
|
8
7
|
AuthDeviceAuthorizationStore,
|
|
9
8
|
AuthGroupMembershipStore,
|
|
@@ -16,6 +15,7 @@ export type {
|
|
|
16
15
|
AuthStorage,
|
|
17
16
|
AuthUserIdentityStore,
|
|
18
17
|
AuthUserStore,
|
|
18
|
+
BearerSessionState,
|
|
19
19
|
CompleteAuthSessionInput,
|
|
20
20
|
CompleteDeviceAuthorizationInput,
|
|
21
21
|
CompleteDeviceAuthorizationResult,
|
|
@@ -47,6 +47,7 @@ export type {
|
|
|
47
47
|
MagicLinkRecord,
|
|
48
48
|
OidcAuthorizationAttemptRecord,
|
|
49
49
|
ReconcileAuthServiceAccountGroupMembershipsInput,
|
|
50
|
+
RotateSessionRefreshTokenResult,
|
|
50
51
|
ServiceAccountGroupMembershipRecord,
|
|
51
52
|
ServiceAccountRecord,
|
|
52
53
|
ServiceAccountStatus,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { AccessTokenKind, AuthSessionAudience, Principal } from "../../auth"
|
|
2
|
+
import type { AuthorizablePrincipal } from "../../execution/types"
|
|
2
3
|
|
|
3
4
|
export type UserStatus = "active" | "suspended"
|
|
4
5
|
export type ServiceAccountStatus = "active" | "suspended"
|
|
5
6
|
export type InvitationStatus = "pending" | "accepted" | "revoked"
|
|
6
7
|
export type GroupMembershipSource = "invitation" | "manual" | "agent"
|
|
7
|
-
export type AccessTokenSubjectType = "user" | "serviceAccount"
|
|
8
8
|
export type DeviceAuthorizationStatus = "pending" | "approved" | "denied" | "consumed"
|
|
9
9
|
export const MAX_PENDING_DEVICE_AUTHORIZATIONS = 100
|
|
10
10
|
|
|
@@ -54,6 +54,7 @@ export interface SessionRecord {
|
|
|
54
54
|
readonly projectId: string
|
|
55
55
|
readonly userId: string
|
|
56
56
|
readonly strategyId: string
|
|
57
|
+
/** The web app a browser session belongs to. A bearer session belongs to none and ignores it. */
|
|
57
58
|
readonly audience: AuthSessionAudience
|
|
58
59
|
readonly tokenHash: string
|
|
59
60
|
readonly createdAt: Date
|
|
@@ -65,15 +66,36 @@ export interface SessionRecord {
|
|
|
65
66
|
// view. Display only — never used for authorization.
|
|
66
67
|
readonly userAgent?: string
|
|
67
68
|
readonly ipAddress?: string
|
|
69
|
+
/** Present when a native client holds the session as bearer tokens instead of a cookie. */
|
|
70
|
+
readonly bearer?: BearerSessionState
|
|
68
71
|
}
|
|
69
72
|
|
|
73
|
+
/**
|
|
74
|
+
* A native client's credentials for its session. `tokenHash` on the session is the current access
|
|
75
|
+
* token's hash; the refresh token rotates on every refresh.
|
|
76
|
+
*/
|
|
77
|
+
export interface BearerSessionState {
|
|
78
|
+
/** Self-reported client label, such as "sixb CLI on alex-mbp". Display only. */
|
|
79
|
+
readonly clientName: string
|
|
80
|
+
readonly accessExpiresAt: Date
|
|
81
|
+
readonly refreshTokenHash: string
|
|
82
|
+
/** The refresh token the last rotation replaced, accepted briefly in case its response was lost. */
|
|
83
|
+
readonly previousRefreshTokenHash?: string
|
|
84
|
+
readonly refreshedAt?: Date
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export type RotateSessionRefreshTokenResult =
|
|
88
|
+
| { readonly status: "rotated"; readonly session: SessionRecord }
|
|
89
|
+
/** A replaced refresh token came back after the grace window; the session is now revoked. */
|
|
90
|
+
| { readonly status: "reused" }
|
|
91
|
+
| { readonly status: "invalid" }
|
|
92
|
+
|
|
70
93
|
export interface AccessTokenRecord {
|
|
71
94
|
readonly id: string
|
|
72
95
|
readonly projectId: string
|
|
73
96
|
readonly name: string
|
|
74
97
|
readonly kind: AccessTokenKind
|
|
75
|
-
readonly
|
|
76
|
-
readonly subjectId: string
|
|
98
|
+
readonly subject: AuthorizablePrincipal
|
|
77
99
|
readonly tokenHash: string
|
|
78
100
|
/**
|
|
79
101
|
* Optional group constraint. Undefined means "inherit every current group";
|
|
@@ -148,8 +170,6 @@ export interface DeviceAuthorizationRecord {
|
|
|
148
170
|
readonly deviceCodeHash: string
|
|
149
171
|
readonly userCode: string
|
|
150
172
|
readonly clientName: string
|
|
151
|
-
readonly tokenName: string
|
|
152
|
-
readonly tokenExpiresAt: Date
|
|
153
173
|
readonly status: DeviceAuthorizationStatus
|
|
154
174
|
readonly approvedUserId?: string
|
|
155
175
|
readonly approvedSessionId?: string
|
|
@@ -273,6 +293,7 @@ export interface CreateAuthSessionInput {
|
|
|
273
293
|
readonly absoluteExpiresAt?: Date
|
|
274
294
|
readonly userAgent?: string
|
|
275
295
|
readonly ipAddress?: string
|
|
296
|
+
readonly bearer?: Pick<BearerSessionState, "clientName" | "accessExpiresAt" | "refreshTokenHash">
|
|
276
297
|
}
|
|
277
298
|
|
|
278
299
|
export interface CreateAuthAccessTokenInput {
|
|
@@ -280,8 +301,7 @@ export interface CreateAuthAccessTokenInput {
|
|
|
280
301
|
readonly projectId: string
|
|
281
302
|
readonly name: string
|
|
282
303
|
readonly kind: AccessTokenKind
|
|
283
|
-
readonly
|
|
284
|
-
readonly subjectId: string
|
|
304
|
+
readonly subject: AuthorizablePrincipal
|
|
285
305
|
readonly tokenHash: string
|
|
286
306
|
readonly groupIds?: readonly string[]
|
|
287
307
|
readonly createdByPrincipal?: Principal
|
|
@@ -293,8 +313,7 @@ export interface CreateAuthAccessTokenInput {
|
|
|
293
313
|
export interface ListAuthAccessTokensInput {
|
|
294
314
|
readonly projectId: string
|
|
295
315
|
readonly kind?: AccessTokenKind
|
|
296
|
-
readonly
|
|
297
|
-
readonly subjectId?: string
|
|
316
|
+
readonly subject?: AuthorizablePrincipal
|
|
298
317
|
readonly includeRevoked?: boolean
|
|
299
318
|
readonly limit?: number
|
|
300
319
|
readonly offset?: number
|
|
@@ -385,8 +404,6 @@ export interface CreateDeviceAuthorizationInput {
|
|
|
385
404
|
readonly deviceCodeHash: string
|
|
386
405
|
readonly userCode: string
|
|
387
406
|
readonly clientName: string
|
|
388
|
-
readonly tokenName: string
|
|
389
|
-
readonly tokenExpiresAt: Date
|
|
390
407
|
readonly createdAt: Date
|
|
391
408
|
readonly expiresAt: Date
|
|
392
409
|
}
|
|
@@ -395,13 +412,14 @@ export interface CompleteDeviceAuthorizationInput {
|
|
|
395
412
|
readonly projectId: string
|
|
396
413
|
readonly id: string
|
|
397
414
|
readonly deviceCodeHash: string
|
|
398
|
-
|
|
415
|
+
/** The bearer session to start for the approving user. */
|
|
416
|
+
readonly session: CreateAuthSessionInput & { readonly bearer: BearerSessionState }
|
|
399
417
|
readonly completedAt: Date
|
|
400
418
|
}
|
|
401
419
|
|
|
402
420
|
export interface CompleteDeviceAuthorizationResult {
|
|
403
421
|
readonly authorization: DeviceAuthorizationRecord
|
|
404
|
-
readonly
|
|
422
|
+
readonly session: SessionRecord
|
|
405
423
|
}
|
|
406
424
|
|
|
407
425
|
export interface CompleteMagicLinkSignInInput {
|
|
@@ -523,6 +541,7 @@ export interface AuthSessionStore {
|
|
|
523
541
|
readonly userId: string
|
|
524
542
|
readonly now: Date
|
|
525
543
|
}): Promise<readonly SessionRecord[]>
|
|
544
|
+
/** A live browser (cookie) session whose secret hashes to `tokenHash`. */
|
|
526
545
|
findValidByTokenHash(params: {
|
|
527
546
|
readonly projectId: string
|
|
528
547
|
readonly id: string
|
|
@@ -530,6 +549,31 @@ export interface AuthSessionStore {
|
|
|
530
549
|
readonly tokenHash: string
|
|
531
550
|
readonly now: Date
|
|
532
551
|
}): Promise<SessionRecord | null>
|
|
552
|
+
/** A live bearer session whose current, unexpired access token hashes to `tokenHash`. */
|
|
553
|
+
findValidByAccessTokenHash(params: {
|
|
554
|
+
readonly projectId: string
|
|
555
|
+
readonly id: string
|
|
556
|
+
readonly tokenHash: string
|
|
557
|
+
readonly now: Date
|
|
558
|
+
}): Promise<SessionRecord | null>
|
|
559
|
+
/**
|
|
560
|
+
* Atomically replace a live bearer session's tokens. The current refresh token rotates; the one
|
|
561
|
+
* it replaced also rotates within `reuseGraceMs` of that replacement. Presenting it later revokes
|
|
562
|
+
* the session. `next.expiresAt` extends the idle deadline, never past the absolute one.
|
|
563
|
+
*/
|
|
564
|
+
rotateRefreshToken(params: {
|
|
565
|
+
readonly projectId: string
|
|
566
|
+
readonly id: string
|
|
567
|
+
readonly refreshTokenHash: string
|
|
568
|
+
readonly now: Date
|
|
569
|
+
readonly reuseGraceMs: number
|
|
570
|
+
readonly next: {
|
|
571
|
+
readonly tokenHash: string
|
|
572
|
+
readonly accessExpiresAt: Date
|
|
573
|
+
readonly refreshTokenHash: string
|
|
574
|
+
readonly expiresAt: Date
|
|
575
|
+
}
|
|
576
|
+
}): Promise<RotateSessionRefreshTokenResult>
|
|
533
577
|
renewIfValid(params: {
|
|
534
578
|
readonly projectId: string
|
|
535
579
|
readonly id: string
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { kernelOperationFromId, kernelOperationId } from "../../execution/kernel-operation"
|
|
2
|
+
import type { KernelOperation, TrustedPrimitiveKind } from "../../execution/types"
|
|
2
3
|
import { ExecutionStorageError } from "./errors"
|
|
3
4
|
import type { CreateExecutionInput, ExecutionRecord } from "./types"
|
|
4
5
|
import { normalizeExecutionRecord } from "./validation"
|
|
@@ -16,7 +17,14 @@ export interface ExecutionStorageRow {
|
|
|
16
17
|
readonly id: string
|
|
17
18
|
readonly executorKind: "agent" | "kernel" | "request" | TrustedPrimitiveKind
|
|
18
19
|
readonly executorId: string
|
|
19
|
-
readonly sourceKind:
|
|
20
|
+
readonly sourceKind:
|
|
21
|
+
| "ontologyCommit"
|
|
22
|
+
| "datasetVersion"
|
|
23
|
+
| "event"
|
|
24
|
+
| "execution"
|
|
25
|
+
| "http"
|
|
26
|
+
| "schedule"
|
|
27
|
+
| "webhook"
|
|
20
28
|
readonly sourceId: string
|
|
21
29
|
readonly requestedByUserId: string | null
|
|
22
30
|
readonly requestedByServiceAccountId: string | null
|
|
@@ -31,7 +39,7 @@ export interface ExecutionStorageRow {
|
|
|
31
39
|
readonly authorityAccessTokenId: string | null
|
|
32
40
|
readonly authorityPrimitiveKind: TrustedPrimitiveKind | null
|
|
33
41
|
readonly authorityPrimitiveId: string | null
|
|
34
|
-
readonly authorityKernelOperation: "
|
|
42
|
+
readonly authorityKernelOperation: KernelOperation["type"] | null
|
|
35
43
|
readonly authorityDelegationKind: "share" | null
|
|
36
44
|
readonly authorityDelegationId: string | null
|
|
37
45
|
readonly authorityDelegationSessionId: string | null
|
|
@@ -108,7 +116,7 @@ function flattenExecutor(
|
|
|
108
116
|
case "agent":
|
|
109
117
|
return { executorKind: "agent", executorId: record.executor.runId }
|
|
110
118
|
case "kernel":
|
|
111
|
-
return { executorKind: "kernel", executorId: record.executor.operation
|
|
119
|
+
return { executorKind: "kernel", executorId: kernelOperationId(record.executor.operation) }
|
|
112
120
|
}
|
|
113
121
|
}
|
|
114
122
|
|
|
@@ -116,6 +124,8 @@ function flattenSource(
|
|
|
116
124
|
record: ExecutionRecord
|
|
117
125
|
): Pick<ExecutionStorageRow, "sourceId" | "sourceKind"> {
|
|
118
126
|
switch (record.source.type) {
|
|
127
|
+
case "ontologyCommit":
|
|
128
|
+
return { sourceKind: "ontologyCommit", sourceId: record.source.commitId }
|
|
119
129
|
case "http":
|
|
120
130
|
return { sourceKind: "http", sourceId: record.source.requestId }
|
|
121
131
|
case "webhook":
|
|
@@ -219,10 +229,10 @@ function inflateExecutor(row: ExecutionStorageRow): CreateExecutionInput["execut
|
|
|
219
229
|
case "kernel":
|
|
220
230
|
return {
|
|
221
231
|
type: "kernel",
|
|
222
|
-
operation:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
232
|
+
operation: kernelOperationFromId(
|
|
233
|
+
requireValue(row.authorityKernelOperation, "authority kernel operation"),
|
|
234
|
+
row.executorId
|
|
235
|
+
),
|
|
226
236
|
}
|
|
227
237
|
default:
|
|
228
238
|
return { type: "primitive", kind: row.executorKind, runId: row.executorId }
|
|
@@ -231,6 +241,8 @@ function inflateExecutor(row: ExecutionStorageRow): CreateExecutionInput["execut
|
|
|
231
241
|
|
|
232
242
|
function inflateSource(row: ExecutionStorageRow): CreateExecutionInput["source"] {
|
|
233
243
|
switch (row.sourceKind) {
|
|
244
|
+
case "ontologyCommit":
|
|
245
|
+
return { type: "ontologyCommit", commitId: row.sourceId }
|
|
234
246
|
case "http":
|
|
235
247
|
return { type: "http", requestId: row.sourceId }
|
|
236
248
|
case "webhook":
|
|
@@ -307,10 +319,10 @@ function inflateAuthority(row: ExecutionStorageRow): CreateExecutionInput["autho
|
|
|
307
319
|
case "kernel":
|
|
308
320
|
return {
|
|
309
321
|
type: "kernel",
|
|
310
|
-
operation:
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
322
|
+
operation: kernelOperationFromId(
|
|
323
|
+
requireValue(row.authorityKernelOperation, "authority kernel operation"),
|
|
324
|
+
row.executorId
|
|
325
|
+
),
|
|
314
326
|
}
|
|
315
327
|
case "disabled":
|
|
316
328
|
return { type: "disabled" }
|
|
@@ -17,6 +17,7 @@ export type DurableExecutionExecutor =
|
|
|
17
17
|
* is attempt transport and is never persisted here.
|
|
18
18
|
*/
|
|
19
19
|
export type DurableExecutionSource =
|
|
20
|
+
| { readonly type: "ontologyCommit"; readonly commitId: string }
|
|
20
21
|
| { readonly type: "http"; readonly requestId: string }
|
|
21
22
|
| { readonly type: "webhook"; readonly deliveryId: string }
|
|
22
23
|
| { readonly type: "schedule"; readonly eventId: string }
|