@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,12 +1,8 @@
|
|
|
1
|
+
import type { Principal } from "../../auth"
|
|
1
2
|
import type { WorkflowIOSnapshot } from "../workflow-runs"
|
|
2
3
|
|
|
3
4
|
export type WorkflowInterventionStatus = "pending" | "submitted" | "cancelled" | "expired"
|
|
4
5
|
|
|
5
|
-
export interface WorkflowInterventionActor {
|
|
6
|
-
readonly principalType: "user" | "serviceAccount" | "system"
|
|
7
|
-
readonly principalId: string
|
|
8
|
-
}
|
|
9
|
-
|
|
10
6
|
export interface WorkflowInterventionRecord {
|
|
11
7
|
readonly id: string
|
|
12
8
|
readonly projectId: string
|
|
@@ -23,10 +19,10 @@ export interface WorkflowInterventionRecord {
|
|
|
23
19
|
readonly requestedAt: Date
|
|
24
20
|
readonly expiresAt?: Date
|
|
25
21
|
readonly submittedAt?: Date
|
|
26
|
-
readonly submittedBy?:
|
|
22
|
+
readonly submittedBy?: Principal
|
|
27
23
|
readonly response?: WorkflowIOSnapshot
|
|
28
24
|
readonly cancelledAt?: Date
|
|
29
|
-
readonly cancelledBy?:
|
|
25
|
+
readonly cancelledBy?: Principal
|
|
30
26
|
readonly expiredAt?: Date
|
|
31
27
|
}
|
|
32
28
|
|
|
@@ -51,14 +47,14 @@ export interface SubmitWorkflowInterventionInput {
|
|
|
51
47
|
readonly id: string
|
|
52
48
|
readonly response: WorkflowIOSnapshot
|
|
53
49
|
readonly submittedAt?: Date
|
|
54
|
-
readonly submittedBy?:
|
|
50
|
+
readonly submittedBy?: Principal
|
|
55
51
|
}
|
|
56
52
|
|
|
57
53
|
export interface CancelWorkflowInterventionInput {
|
|
58
54
|
readonly projectId: string
|
|
59
55
|
readonly id: string
|
|
60
56
|
readonly cancelledAt?: Date
|
|
61
|
-
readonly cancelledBy?:
|
|
57
|
+
readonly cancelledBy?: Principal
|
|
62
58
|
}
|
|
63
59
|
|
|
64
60
|
export interface ExpireWorkflowInterventionInput {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TrustedPrimitiveRef } from "../execution"
|
|
1
|
+
import type { AuthorizablePrincipal, TrustedPrimitiveRef } from "../execution"
|
|
2
2
|
import type { ActionRunRecord, QueueActionRunInput, Storage } from "../storage"
|
|
3
3
|
import type { ExecutionStorage } from "../storage/executions"
|
|
4
4
|
|
|
@@ -11,6 +11,8 @@ export async function createTestActionExecution(
|
|
|
11
11
|
readonly runId: string
|
|
12
12
|
readonly executionId?: string
|
|
13
13
|
readonly requesterGroupIds?: readonly string[]
|
|
14
|
+
/** Must name an existing auth principal. The parent request then carries its authority. */
|
|
15
|
+
readonly requestedBy?: AuthorizablePrincipal
|
|
14
16
|
}
|
|
15
17
|
): Promise<string> {
|
|
16
18
|
const parentExecutionId = `test_request_execution:${input.runId}`
|
|
@@ -24,22 +26,28 @@ export async function createTestActionExecution(
|
|
|
24
26
|
const existing = await executions.getById({ projectId: input.projectId, id: executionId })
|
|
25
27
|
if (existing) return executionId
|
|
26
28
|
|
|
29
|
+
const requestedBy = input.requestedBy
|
|
27
30
|
const parent = await executions.getById({ projectId: input.projectId, id: parentExecutionId })
|
|
28
31
|
if (!parent) {
|
|
29
32
|
await executions.create({
|
|
30
33
|
id: parentExecutionId,
|
|
31
34
|
requesterGroupIds: input.requesterGroupIds ?? [],
|
|
32
35
|
projectId: input.projectId,
|
|
36
|
+
...(requestedBy === undefined ? {} : { requestedBy }),
|
|
33
37
|
executor: { type: "request", requestId: `test_request:${input.runId}` },
|
|
34
38
|
source: { type: "http", requestId: `test_request:${input.runId}` },
|
|
35
39
|
correlationId: `test_correlation:${input.runId}`,
|
|
36
|
-
authorizationRef:
|
|
40
|
+
authorizationRef:
|
|
41
|
+
requestedBy === undefined
|
|
42
|
+
? { type: "disabled" }
|
|
43
|
+
: { type: "principal", principal: requestedBy },
|
|
37
44
|
})
|
|
38
45
|
}
|
|
39
46
|
await executions.create({
|
|
40
47
|
id: executionId,
|
|
41
48
|
requesterGroupIds: input.requesterGroupIds ?? [],
|
|
42
49
|
projectId: input.projectId,
|
|
50
|
+
...(requestedBy === undefined ? {} : { requestedBy }),
|
|
43
51
|
executor: { type: "primitive", kind: primitive.kind, runId: primitive.runId },
|
|
44
52
|
source: { type: "execution", executionId: parentExecutionId },
|
|
45
53
|
correlationId: `test_correlation:${input.runId}`,
|
|
@@ -54,6 +62,7 @@ export async function queueTestActionRun(
|
|
|
54
62
|
storage: Pick<Storage, "actionRuns" | "executions">,
|
|
55
63
|
input: Omit<QueueActionRunInput, "executionId"> & {
|
|
56
64
|
readonly requesterGroupIds?: readonly string[]
|
|
65
|
+
readonly requestedBy?: AuthorizablePrincipal
|
|
57
66
|
}
|
|
58
67
|
): Promise<ActionRunRecord> {
|
|
59
68
|
if (!storage.actionRuns) throw new Error("Action run storage is not configured for this test.")
|
|
@@ -62,7 +71,8 @@ export async function queueTestActionRun(
|
|
|
62
71
|
actionId: input.actionId,
|
|
63
72
|
runId: input.id,
|
|
64
73
|
requesterGroupIds: input.requesterGroupIds,
|
|
74
|
+
...(input.requestedBy === undefined ? {} : { requestedBy: input.requestedBy }),
|
|
65
75
|
})
|
|
66
|
-
const { requesterGroupIds: _groups, ...run } = input
|
|
76
|
+
const { requesterGroupIds: _groups, requestedBy: _requestedBy, ...run } = input
|
|
67
77
|
return storage.actionRuns.queue({ ...run, executionId })
|
|
68
78
|
}
|
|
@@ -290,6 +290,252 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorageContra
|
|
|
290
290
|
}
|
|
291
291
|
|
|
292
292
|
describe(label, () => {
|
|
293
|
+
test("replaces lost state only under its current execution fence", async () => {
|
|
294
|
+
// Regression proof: remove replace's name/owner guards; the stale attempts succeed.
|
|
295
|
+
await withStorage(async (storage, fixture) => {
|
|
296
|
+
await storage.threads.create(threadInput({ sandboxParams: {} }))
|
|
297
|
+
const run = runInput({ execution: execution("first", new Date("2099-01-01")) })
|
|
298
|
+
await createAndStartRun(storage, fixture, run)
|
|
299
|
+
const acquire = {
|
|
300
|
+
projectId,
|
|
301
|
+
id: "thr_1",
|
|
302
|
+
action: "acquire" as const,
|
|
303
|
+
runId: run.id,
|
|
304
|
+
executionToken: "first",
|
|
305
|
+
name: "name-1",
|
|
306
|
+
sourceFingerprint: "a".repeat(64),
|
|
307
|
+
}
|
|
308
|
+
await storage.threads.transitionSandbox(acquire)
|
|
309
|
+
const replace = { ...acquire, action: "replace" as const, nextName: "name-2" }
|
|
310
|
+
await expectAgentError(storage.threads.transitionSandbox(replace), "invalid_state")
|
|
311
|
+
await storage.threads.transitionSandbox({
|
|
312
|
+
...acquire,
|
|
313
|
+
action: "settle",
|
|
314
|
+
status: "ready",
|
|
315
|
+
initialized: true,
|
|
316
|
+
})
|
|
317
|
+
await expectAgentError(storage.threads.transitionSandbox(replace), "invalid_state")
|
|
318
|
+
await storage.threads.transitionSandbox(acquire)
|
|
319
|
+
for (const nextName of ["name-1", "../invalid", ""]) {
|
|
320
|
+
await expectAgentError(
|
|
321
|
+
storage.threads.transitionSandbox({ ...replace, nextName }),
|
|
322
|
+
"invalid_state"
|
|
323
|
+
)
|
|
324
|
+
}
|
|
325
|
+
await expectAgentError(
|
|
326
|
+
storage.threads.transitionSandbox({ ...replace, executionToken: "stale" }),
|
|
327
|
+
"execution_lost"
|
|
328
|
+
)
|
|
329
|
+
const replacement = await storage.threads.transitionSandbox(replace)
|
|
330
|
+
const resetAt = replacement.resetAt
|
|
331
|
+
expect(replacement).toMatchObject({
|
|
332
|
+
name: "name-2",
|
|
333
|
+
status: "busy",
|
|
334
|
+
initialized: false,
|
|
335
|
+
owner: { runId: run.id, executionToken: "first" },
|
|
336
|
+
sourceFingerprint: acquire.sourceFingerprint,
|
|
337
|
+
resetAt: expect.any(String),
|
|
338
|
+
})
|
|
339
|
+
await expectAgentError(storage.threads.transitionSandbox(replace), "invalid_state")
|
|
340
|
+
await expectAgentError(
|
|
341
|
+
storage.threads.transitionSandbox({
|
|
342
|
+
...acquire,
|
|
343
|
+
action: "settle",
|
|
344
|
+
status: "ready",
|
|
345
|
+
initialized: true,
|
|
346
|
+
}),
|
|
347
|
+
"invalid_state"
|
|
348
|
+
)
|
|
349
|
+
await storage.threads.transitionSandbox({
|
|
350
|
+
...acquire,
|
|
351
|
+
name: "name-2",
|
|
352
|
+
action: "settle",
|
|
353
|
+
status: "ready",
|
|
354
|
+
initialized: true,
|
|
355
|
+
})
|
|
356
|
+
const resumed = await storage.threads.transitionSandbox({
|
|
357
|
+
...acquire,
|
|
358
|
+
name: "name-2",
|
|
359
|
+
})
|
|
360
|
+
expect(resumed.resetAt).toBe(resetAt)
|
|
361
|
+
expect((await storage.threads.getById({ projectId, id: "thr_1" }))?.sandboxState).toEqual(
|
|
362
|
+
resumed
|
|
363
|
+
)
|
|
364
|
+
})
|
|
365
|
+
})
|
|
366
|
+
|
|
367
|
+
test("fences workspace ownership across reclamation and explicit recreation", async () => {
|
|
368
|
+
// Regression proof: remove the busy-state or owner-token checks in transitionAgentThreadSandbox.
|
|
369
|
+
await withStorage(async (storage, fixture) => {
|
|
370
|
+
await storage.threads.create(threadInput({ sandboxParams: {} }))
|
|
371
|
+
const input = runInput({ execution: execution("first", new Date("2099-01-01")) })
|
|
372
|
+
await createTestAgentExecution(fixture, {
|
|
373
|
+
projectId,
|
|
374
|
+
runId: input.id,
|
|
375
|
+
executionId: input.executionId,
|
|
376
|
+
authority: "inherited",
|
|
377
|
+
})
|
|
378
|
+
await storage.runs.create(input)
|
|
379
|
+
await storage.runs.start(input)
|
|
380
|
+
const acquire = {
|
|
381
|
+
projectId,
|
|
382
|
+
id: "thr_1",
|
|
383
|
+
action: "acquire" as const,
|
|
384
|
+
runId: input.id,
|
|
385
|
+
executionToken: "first",
|
|
386
|
+
name: "name-1",
|
|
387
|
+
sourceFingerprint: "a".repeat(64),
|
|
388
|
+
}
|
|
389
|
+
const attempts = await Promise.allSettled([
|
|
390
|
+
storage.threads.transitionSandbox(acquire),
|
|
391
|
+
storage.threads.transitionSandbox(acquire),
|
|
392
|
+
])
|
|
393
|
+
expect(attempts.filter((attempt) => attempt.status === "fulfilled")).toHaveLength(1)
|
|
394
|
+
expect(
|
|
395
|
+
(await storage.threads.getById({ projectId, id: "thr_1" }))?.sandboxState
|
|
396
|
+
).toMatchObject({ status: "busy", initialized: false })
|
|
397
|
+
await expectAgentError(storage.threads.transitionSandbox(acquire), "invalid_state")
|
|
398
|
+
await storage.runs.reclaim({
|
|
399
|
+
projectId,
|
|
400
|
+
id: input.id,
|
|
401
|
+
execution: execution("second", new Date("2099-01-01")),
|
|
402
|
+
})
|
|
403
|
+
await expectAgentError(
|
|
404
|
+
storage.threads.transitionSandbox({
|
|
405
|
+
...acquire,
|
|
406
|
+
executionToken: "second",
|
|
407
|
+
}),
|
|
408
|
+
"invalid_state"
|
|
409
|
+
)
|
|
410
|
+
await expectAgentError(
|
|
411
|
+
storage.threads.transitionSandbox({
|
|
412
|
+
...acquire,
|
|
413
|
+
action: "settle",
|
|
414
|
+
status: "ready",
|
|
415
|
+
initialized: true,
|
|
416
|
+
}),
|
|
417
|
+
"execution_lost"
|
|
418
|
+
)
|
|
419
|
+
const recreate = {
|
|
420
|
+
projectId,
|
|
421
|
+
id: "thr_1",
|
|
422
|
+
action: "recreate" as const,
|
|
423
|
+
expectedSandboxName: "name-1",
|
|
424
|
+
name: "name-2",
|
|
425
|
+
}
|
|
426
|
+
await expectAgentError(storage.threads.transitionSandbox(recreate), "invalid_state")
|
|
427
|
+
await storage.runs.finish({
|
|
428
|
+
projectId,
|
|
429
|
+
id: input.id,
|
|
430
|
+
executionToken: "second",
|
|
431
|
+
status: "failed",
|
|
432
|
+
})
|
|
433
|
+
expect(await storage.threads.transitionSandbox(recreate)).toEqual({
|
|
434
|
+
name: "name-2",
|
|
435
|
+
status: "new",
|
|
436
|
+
initialized: false,
|
|
437
|
+
resetAt: expect.any(String),
|
|
438
|
+
})
|
|
439
|
+
await expectAgentError(storage.threads.transitionSandbox(recreate), "invalid_state")
|
|
440
|
+
})
|
|
441
|
+
})
|
|
442
|
+
|
|
443
|
+
test("resumes only confirmed workspace state with the pinned source", async () => {
|
|
444
|
+
await withStorage(async (storage, fixture) => {
|
|
445
|
+
await storage.threads.create(threadInput({ sandboxParams: {} }))
|
|
446
|
+
const input = runInput({ execution: execution("owner", new Date("2099-01-01")) })
|
|
447
|
+
await createTestAgentExecution(fixture, {
|
|
448
|
+
projectId,
|
|
449
|
+
runId: input.id,
|
|
450
|
+
executionId: input.executionId,
|
|
451
|
+
authority: "inherited",
|
|
452
|
+
})
|
|
453
|
+
await storage.runs.create(input)
|
|
454
|
+
await storage.runs.start(input)
|
|
455
|
+
const acquire = {
|
|
456
|
+
projectId,
|
|
457
|
+
id: "thr_1",
|
|
458
|
+
action: "acquire" as const,
|
|
459
|
+
runId: input.id,
|
|
460
|
+
executionToken: "owner",
|
|
461
|
+
name: "name",
|
|
462
|
+
sourceFingerprint: "b".repeat(64),
|
|
463
|
+
}
|
|
464
|
+
await storage.threads.transitionSandbox(acquire)
|
|
465
|
+
await storage.threads.transitionSandbox({
|
|
466
|
+
...acquire,
|
|
467
|
+
action: "settle",
|
|
468
|
+
status: "ready",
|
|
469
|
+
initialized: true,
|
|
470
|
+
})
|
|
471
|
+
await expectAgentError(
|
|
472
|
+
storage.threads.transitionSandbox({
|
|
473
|
+
...acquire,
|
|
474
|
+
sourceFingerprint: "c".repeat(64),
|
|
475
|
+
}),
|
|
476
|
+
"invalid_state"
|
|
477
|
+
)
|
|
478
|
+
expect(await storage.threads.transitionSandbox(acquire)).toMatchObject({
|
|
479
|
+
status: "busy",
|
|
480
|
+
initialized: true,
|
|
481
|
+
})
|
|
482
|
+
})
|
|
483
|
+
})
|
|
484
|
+
|
|
485
|
+
test("snapshots workspace bindings without accepting runtime state or credentials", async () => {
|
|
486
|
+
// Regression proof: remove snapshotAgentThreadSandboxParams from a provider's thread create.
|
|
487
|
+
await withStorage(async (storage) => {
|
|
488
|
+
const sandboxParams = { clientId: "acme", nested: { branch: "main" } }
|
|
489
|
+
const record = await storage.threads.create(threadInput({ sandboxParams }))
|
|
490
|
+
sandboxParams.nested.branch = "changed"
|
|
491
|
+
const read = await storage.threads.getById({ projectId, id: record.id })
|
|
492
|
+
expect(read?.sandboxParams).toEqual({ clientId: "acme", nested: { branch: "main" } })
|
|
493
|
+
const mutable = record.sandboxParams?.nested
|
|
494
|
+
if (mutable && typeof mutable === "object" && !Array.isArray(mutable))
|
|
495
|
+
mutable.branch = "tampered"
|
|
496
|
+
expect((await storage.threads.list({ projectId })).threads[0]?.sandboxParams).toEqual(
|
|
497
|
+
read?.sandboxParams
|
|
498
|
+
)
|
|
499
|
+
await expectAgentError(
|
|
500
|
+
storage.threads.create(
|
|
501
|
+
threadInput({
|
|
502
|
+
id: "unsafe",
|
|
503
|
+
// @ts-expect-error storage requires a JSON object
|
|
504
|
+
sandboxParams: [],
|
|
505
|
+
})
|
|
506
|
+
),
|
|
507
|
+
"invalid_input"
|
|
508
|
+
)
|
|
509
|
+
await expectAgentError(
|
|
510
|
+
storage.threads.create(
|
|
511
|
+
threadInput({
|
|
512
|
+
id: "non-json",
|
|
513
|
+
// @ts-expect-error storage accepts normalized JSON, not typed Dates
|
|
514
|
+
sandboxParams: { at: new Date() },
|
|
515
|
+
})
|
|
516
|
+
),
|
|
517
|
+
"invalid_input"
|
|
518
|
+
)
|
|
519
|
+
})
|
|
520
|
+
})
|
|
521
|
+
|
|
522
|
+
test("keeps delimiter-containing project and sandbox thread ids distinct", async () => {
|
|
523
|
+
// Regression proof: change the memory store key back to projectId + ":" + id.
|
|
524
|
+
await withStorage(async (storage) => {
|
|
525
|
+
await storage.threads.create(
|
|
526
|
+
threadInput({ projectId: "a:b", id: "c", sandboxParams: { repo: "one" } })
|
|
527
|
+
)
|
|
528
|
+
await storage.threads.create(
|
|
529
|
+
threadInput({ projectId: "a", id: "b:c", sandboxParams: { repo: "two" } })
|
|
530
|
+
)
|
|
531
|
+
expect(
|
|
532
|
+
(await storage.threads.getById({ projectId: "a:b", id: "c" }))?.sandboxParams?.repo
|
|
533
|
+
).toBe("one")
|
|
534
|
+
expect(
|
|
535
|
+
(await storage.threads.getById({ projectId: "a", id: "b:c" }))?.sandboxParams?.repo
|
|
536
|
+
).toBe("two")
|
|
537
|
+
})
|
|
538
|
+
})
|
|
293
539
|
// ── threads ───────────────────────────────────────────────────────────────────────────────
|
|
294
540
|
|
|
295
541
|
test("creates threads, isolates projects, and rejects duplicate ids", async () => {
|
|
@@ -236,8 +236,22 @@ export function runAiCostStorageContractSuite<TStorage extends AiCostStorage>(
|
|
|
236
236
|
inputTokens: 15,
|
|
237
237
|
outputTokens: 12,
|
|
238
238
|
totalTokens: 27,
|
|
239
|
+
uncachedInputTokens: 12,
|
|
240
|
+
cacheReadInputTokens: 0,
|
|
239
241
|
reportingStatus: "complete",
|
|
240
242
|
},
|
|
243
|
+
usageCoverage: {
|
|
244
|
+
completeCallCount: 3,
|
|
245
|
+
fieldCallCounts: {
|
|
246
|
+
inputTokens: 3,
|
|
247
|
+
outputTokens: 3,
|
|
248
|
+
uncachedInputTokens: 1,
|
|
249
|
+
cacheReadInputTokens: 1,
|
|
250
|
+
cacheWriteInputTokens: 0,
|
|
251
|
+
textOutputTokens: 0,
|
|
252
|
+
reasoningOutputTokens: 0,
|
|
253
|
+
},
|
|
254
|
+
},
|
|
241
255
|
costs: {
|
|
242
256
|
amounts: [{ currency: "USD", amountNanos: "95000" }],
|
|
243
257
|
ratedCallCount: 1,
|
|
@@ -290,6 +304,85 @@ export function runAiCostStorageContractSuite<TStorage extends AiCostStorage>(
|
|
|
290
304
|
}
|
|
291
305
|
})
|
|
292
306
|
|
|
307
|
+
test("retains known tokens and coverage across incomplete periods", async () => {
|
|
308
|
+
// Removal proof: require presentCallCount === modelCallCount in finishAggregateUsage.
|
|
309
|
+
// Both the in-memory and SQL-backed contract runs then lose the Sep 16/18 totals.
|
|
310
|
+
const storage = await fixture()
|
|
311
|
+
try {
|
|
312
|
+
// Currency fragments must merge coverage and usage exactly once per call.
|
|
313
|
+
for (const [index, currency] of ["USD", "EUR"].entries()) {
|
|
314
|
+
await storage.recordModelCallCost(
|
|
315
|
+
ratedCost(`partial_16_${index}`, {
|
|
316
|
+
components: [],
|
|
317
|
+
money: { currency, amountNanos: "1" },
|
|
318
|
+
priceSource: { ...priceSource(`partial_${index}`), sourceId: "provider-reported" },
|
|
319
|
+
})
|
|
320
|
+
)
|
|
321
|
+
}
|
|
322
|
+
const overview = await storage.queryProjectOverview({
|
|
323
|
+
projectId,
|
|
324
|
+
from: new Date("2026-09-16"),
|
|
325
|
+
to: new Date("2026-09-19"),
|
|
326
|
+
bucket: "day",
|
|
327
|
+
})
|
|
328
|
+
expect(
|
|
329
|
+
overview.series.map((period) => ({
|
|
330
|
+
calls: period.modelCallCount,
|
|
331
|
+
total: period.usage.totalTokens,
|
|
332
|
+
complete: period.usageCoverage.completeCallCount,
|
|
333
|
+
}))
|
|
334
|
+
).toEqual([
|
|
335
|
+
{ calls: 87, total: 4_013_782, complete: 84 },
|
|
336
|
+
{ calls: 0, total: undefined, complete: 0 },
|
|
337
|
+
{ calls: 29, total: 334_815, complete: 28 },
|
|
338
|
+
])
|
|
339
|
+
for (const aggregate of [overview.totals, ...overview.models, ...overview.workflows]) {
|
|
340
|
+
expect(aggregate.usage).toEqual({
|
|
341
|
+
inputTokens: 4_348_597,
|
|
342
|
+
outputTokens: 0,
|
|
343
|
+
totalTokens: 4_348_597,
|
|
344
|
+
reportingStatus: "partial",
|
|
345
|
+
})
|
|
346
|
+
expect(aggregate.usageCoverage).toMatchObject({
|
|
347
|
+
completeCallCount: 112,
|
|
348
|
+
fieldCallCounts: { inputTokens: 112, outputTokens: 112, cacheReadInputTokens: 0 },
|
|
349
|
+
})
|
|
350
|
+
}
|
|
351
|
+
expect(overview.totals.costs.amounts).toEqual([
|
|
352
|
+
{ currency: "EUR", amountNanos: "1" },
|
|
353
|
+
{ currency: "USD", amountNanos: "1" },
|
|
354
|
+
])
|
|
355
|
+
const edges = await storage.queryProjectOverview({
|
|
356
|
+
projectId,
|
|
357
|
+
from: new Date("2026-09-19"),
|
|
358
|
+
to: new Date("2026-09-22"),
|
|
359
|
+
bucket: "day",
|
|
360
|
+
providerId: "gateway",
|
|
361
|
+
modelId: "partial/model",
|
|
362
|
+
})
|
|
363
|
+
expect(edges.series[0]).toMatchObject({
|
|
364
|
+
usage: { inputTokens: 3, outputTokens: 4, totalTokens: 7, reportingStatus: "partial" },
|
|
365
|
+
usageCoverage: {
|
|
366
|
+
completeCallCount: 0,
|
|
367
|
+
fieldCallCounts: { inputTokens: 1, outputTokens: 1 },
|
|
368
|
+
},
|
|
369
|
+
})
|
|
370
|
+
expect(edges.series[1]).toMatchObject({
|
|
371
|
+
modelCallCount: 1,
|
|
372
|
+
usage: { reportingStatus: "unavailable" },
|
|
373
|
+
usageCoverage: { completeCallCount: 0 },
|
|
374
|
+
})
|
|
375
|
+
expect(edges.series[1]?.usage.totalTokens).toBeUndefined()
|
|
376
|
+
expect(edges.series[2]).toMatchObject({
|
|
377
|
+
usage: { inputTokens: 0, totalTokens: 0, reportingStatus: "partial" },
|
|
378
|
+
usageCoverage: { completeCallCount: 0 },
|
|
379
|
+
})
|
|
380
|
+
expect(edges.series[2]?.usage.outputTokens).toBeUndefined()
|
|
381
|
+
} finally {
|
|
382
|
+
await options.cleanup?.(storage)
|
|
383
|
+
}
|
|
384
|
+
})
|
|
385
|
+
|
|
293
386
|
test("rejects missing usage and mismatched billed quantities", async () => {
|
|
294
387
|
const storage = await fixture()
|
|
295
388
|
try {
|
|
@@ -405,4 +498,45 @@ export async function seedAiCostStorageContractUsage(
|
|
|
405
498
|
occurredAt: new Date("2026-08-03T12:00:00.000Z"),
|
|
406
499
|
recordedAt: new Date("2026-08-03T12:00:00.100Z"),
|
|
407
500
|
})
|
|
501
|
+
|
|
502
|
+
for (const [day, calls, complete, tokens] of [
|
|
503
|
+
[16, 87, 84, 4_013_782],
|
|
504
|
+
[18, 29, 28, 334_815],
|
|
505
|
+
] as const) {
|
|
506
|
+
for (let index = 0; index < calls; index++) {
|
|
507
|
+
await usage.recordModelCall({
|
|
508
|
+
id: `partial_${day}_${index}`,
|
|
509
|
+
projectId,
|
|
510
|
+
executionId: otherExecutionId,
|
|
511
|
+
attempt: 1,
|
|
512
|
+
callId: `partial_${day}_${index}`,
|
|
513
|
+
responseId: `response_partial_${day}_${index}`,
|
|
514
|
+
requesterGroupIds: [],
|
|
515
|
+
providerId: "gateway",
|
|
516
|
+
requestedModelId: "partial/model",
|
|
517
|
+
usage: index < complete ? { inputTokens: index === 0 ? tokens : 0, outputTokens: 0 } : {},
|
|
518
|
+
occurredAt: new Date(`2026-09-${day}T12:00:00Z`),
|
|
519
|
+
})
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
for (const [index, day, counts] of [
|
|
523
|
+
[0, 19, { inputTokens: 3 }],
|
|
524
|
+
[1, 19, { outputTokens: 4 }],
|
|
525
|
+
[2, 20, {}],
|
|
526
|
+
[3, 21, { inputTokens: 0 }],
|
|
527
|
+
] as const) {
|
|
528
|
+
await usage.recordModelCall({
|
|
529
|
+
id: `edge_${index}`,
|
|
530
|
+
projectId,
|
|
531
|
+
executionId: otherExecutionId,
|
|
532
|
+
attempt: 1,
|
|
533
|
+
callId: `edge_${index}`,
|
|
534
|
+
responseId: `response_edge_${index}`,
|
|
535
|
+
requesterGroupIds: [],
|
|
536
|
+
providerId: "gateway",
|
|
537
|
+
requestedModelId: "partial/model",
|
|
538
|
+
usage: counts,
|
|
539
|
+
occurredAt: new Date(`2026-09-${day}T12:00:00Z`),
|
|
540
|
+
})
|
|
541
|
+
}
|
|
408
542
|
}
|