@sixb/core 0.1.11 → 0.1.12
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.js +29 -28
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/types/params.d.ts +10 -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 +48 -42
- 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/auth/index.js +8 -6
- package/dist/auth/index.js.map +1 -1
- package/dist/authorization/index.js +5 -4
- package/dist/authorization/index.js.map +1 -1
- package/dist/bootstrap/index.js +50 -46
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
- package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
- package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
- package/dist/{chunk-jsy70480.js → chunk-2h63nrde.js} +365 -95
- package/dist/chunk-2h63nrde.js.map +20 -0
- package/dist/{chunk-1yefycb1.js → chunk-3bnt2wna.js} +2 -2
- package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
- package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
- package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
- package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
- package/dist/chunk-4k53sm9e.js.map +12 -0
- package/dist/chunk-4ph94nhd.js +81 -0
- package/dist/chunk-4ph94nhd.js.map +10 -0
- package/dist/chunk-58geavnf.js +29 -0
- package/dist/chunk-58geavnf.js.map +10 -0
- package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
- package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
- package/dist/chunk-69266efg.js.map +12 -0
- package/dist/{chunk-a0e6x5hd.js → chunk-6ma8dvzc.js} +121 -53
- package/dist/chunk-6ma8dvzc.js.map +15 -0
- package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
- package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
- package/dist/{chunk-z0s4axeh.js → chunk-7qnvhtcd.js} +93 -17
- package/dist/{chunk-z0s4axeh.js.map → chunk-7qnvhtcd.js.map} +7 -6
- package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
- package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
- package/dist/chunk-91kcnbf0.js.map +10 -0
- 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-93csa55g.js → chunk-axndsymr.js} +10 -4
- package/dist/chunk-axndsymr.js.map +11 -0
- package/dist/{chunk-4zhmdsx6.js → chunk-b768c93y.js} +61 -23
- package/dist/{chunk-4zhmdsx6.js.map → chunk-b768c93y.js.map} +5 -5
- package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
- package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
- package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
- package/dist/chunk-bet1rb9h.js.map +10 -0
- package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
- package/dist/{chunk-g91qxjj0.js → chunk-bg2bs62d.js} +5 -5
- package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
- package/dist/chunk-cd234ba4.js.map +14 -0
- package/dist/chunk-dmn70ztd.js.map +2 -2
- package/dist/{chunk-d63nnr5b.js → chunk-e1f1sqba.js} +39 -53
- package/dist/{chunk-d63nnr5b.js.map → chunk-e1f1sqba.js.map} +5 -6
- package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
- package/dist/chunk-eyjzgav0.js.map +12 -0
- package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
- package/dist/chunk-f06sf7rr.js.map +11 -0
- package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
- package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
- package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
- package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
- package/dist/{chunk-01kj2pbh.js → chunk-g50nxqs5.js} +53 -66
- package/dist/chunk-g50nxqs5.js.map +18 -0
- package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
- package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
- package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
- package/dist/chunk-hgqpcmyr.js.map +12 -0
- package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
- package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
- package/dist/chunk-hzw7yv5g.js.map +13 -0
- package/dist/{chunk-cfvakeax.js → chunk-jjwhy3rs.js} +5 -5
- package/dist/chunk-kept9cdd.js +29 -0
- package/dist/chunk-kept9cdd.js.map +10 -0
- package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
- package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
- package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
- package/dist/chunk-mdnw7nj8.js.map +15 -0
- package/dist/{chunk-gq8vhakp.js → chunk-nzsy3xrp.js} +249 -86
- package/dist/{chunk-gq8vhakp.js.map → chunk-nzsy3xrp.js.map} +13 -11
- package/dist/chunk-p1683c0v.js +104 -0
- package/dist/chunk-p1683c0v.js.map +11 -0
- package/dist/chunk-p6r1ex7t.js +93 -0
- package/dist/chunk-p6r1ex7t.js.map +10 -0
- package/dist/{chunk-sepyxgpc.js → chunk-qm535afa.js} +10 -10
- package/dist/{chunk-sepyxgpc.js.map → chunk-qm535afa.js.map} +4 -4
- package/dist/chunk-r5zythxp.js +552 -0
- package/dist/chunk-r5zythxp.js.map +17 -0
- package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
- package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
- package/dist/{chunk-3ckk0xfj.js → chunk-sfypc7mk.js} +18 -13
- package/dist/{chunk-3ckk0xfj.js.map → chunk-sfypc7mk.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-x9m9x2eq.js → chunk-t7dzd1tm.js} +3 -3
- package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
- package/dist/chunk-vpxss818.js +56 -0
- package/dist/chunk-vpxss818.js.map +10 -0
- package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
- package/dist/chunk-vsg0g7h9.js.map +17 -0
- package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
- package/dist/{chunk-wf88w4kp.js → chunk-x9tmx3fc.js} +2 -2
- package/dist/{chunk-fh8kgex1.js → chunk-xn686q2e.js} +8 -8
- 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-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
- package/dist/chunk-y0v18c2j.js +363 -0
- package/dist/chunk-y0v18c2j.js.map +14 -0
- package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
- package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
- package/dist/chunk-y3ev53cq.js +84 -0
- package/dist/chunk-y3ev53cq.js.map +10 -0
- package/dist/{chunk-gqm76kse.js → chunk-ybhz3j9g.js} +342 -41
- package/dist/{chunk-gqm76kse.js.map → chunk-ybhz3j9g.js.map} +17 -12
- package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
- package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
- package/dist/chunk-z3y5kg1x.js +14 -0
- package/dist/chunk-z3y5kg1x.js.map +10 -0
- 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/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 +12 -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/index.js +5 -4
- package/dist/events/index.js.map +1 -1
- package/dist/execution/agent.js +44 -41
- 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.js +44 -41
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.js +45 -42
- package/dist/execution/request.js.map +2 -2
- package/dist/execution/types.d.ts +6 -0
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/index.d.ts +15 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -59
- 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/materialization/errors.d.ts +1 -1
- package/dist/materialization/errors.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/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/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/work-executor.d.ts +2 -1
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/index.js +26 -25
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/shared/normalize.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 +29 -26
- 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 +1 -0
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +29 -28
- 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 +34 -24
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +6 -2
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts +5 -0
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.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/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/index.d.ts +2 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +5 -5
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/internal.js +5 -4
- package/dist/ontology/internal.js.map +1 -1
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +8 -9
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/validation/definition.d.ts +3 -0
- package/dist/ontology/validation/definition.d.ts.map +1 -0
- 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 +28 -27
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +24 -23
- package/dist/projections/internal.js.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +2 -1
- 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 +9 -6
- package/dist/runtime/host.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 +47 -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 +9 -4
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +15 -3
- 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 +35 -3
- 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 +47 -0
- package/dist/shared/params/types.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/internal.js +23 -22
- 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/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/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/index.d.ts +5 -3
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +25 -22
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.js +2 -2
- 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 +1 -0
- 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.js +2 -2
- 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 +1 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +9 -7
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +29 -28
- package/dist/syncs/index.js.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/index.js +448 -69
- package/dist/testing/index.js.map +7 -7
- 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/queues-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +24 -23
- package/dist/webhooks/internal.js.map +2 -2
- 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 +47 -43
- package/dist/workflows/index.js.map +1 -1
- package/package.json +1 -1
- package/src/actions/builders/params.ts +1 -48
- package/src/actions/types/params.ts +14 -74
- package/src/actions/validation.ts +7 -84
- 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/datasets/validation.ts +40 -11
- package/src/datasets/write.ts +8 -11
- 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 +12 -0
- package/src/errors/failure-message.ts +15 -0
- package/src/errors/internal.ts +57 -25
- package/src/execution/authorization.ts +12 -5
- package/src/execution/authorized-object-reader.ts +37 -2
- package/src/execution/kernel-operation.ts +27 -0
- package/src/execution/scopes.ts +2 -0
- package/src/execution/types.ts +4 -4
- package/src/index.ts +60 -1
- package/src/lake-storage/in-memory.ts +5 -3
- package/src/materialization/errors.ts +2 -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 +14 -0
- package/src/materializer/context.ts +10 -0
- package/src/materializer/edits/commit.ts +8 -1
- package/src/materializer/edits/vector-authority.ts +108 -0
- package/src/materializer/edits/vectors.ts +100 -0
- 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/work-executor.ts +11 -3
- package/src/materializer/projections/replace.ts +1 -1
- package/src/materializer/shared/normalize.ts +11 -0
- package/src/materializer/telemetry/append.ts +1 -1
- 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 +2 -0
- package/src/objects/query/executor.ts +13 -4
- package/src/objects/query/explain.ts +7 -2
- package/src/objects/query/index.ts +2 -0
- package/src/objects/query/ir.ts +6 -2
- package/src/objects/query/normalize.ts +5 -1
- package/src/objects/query/validate.ts +74 -73
- package/src/objects/sdk/object-handle.ts +3 -0
- package/src/objects/sdk/object-set.ts +1 -0
- package/src/objects/sdk/query-builder.ts +9 -3
- package/src/objects/sdk/query-executor.ts +2 -1
- package/src/objects/sdk/runtime-query-executor.ts +6 -2
- 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/index.ts +2 -0
- package/src/ontology/registry.ts +8 -0
- package/src/ontology/types.ts +9 -9
- package/src/ontology/validation/definition.ts +104 -0
- package/src/ontology/validation/properties.ts +14 -4
- package/src/ontology/validation/query.ts +34 -51
- package/src/ontology/validation/schema.ts +85 -23
- package/src/ontology/vector-profiles.ts +35 -0
- 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 +42 -6
- package/src/runtime/internal.ts +3 -0
- package/src/runtime/resolve-definitions.ts +19 -1
- package/src/runtime/sixb.ts +27 -9
- package/src/runtime/types.ts +16 -4
- 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 +38 -3
- package/src/shared/params/builders.ts +50 -0
- package/src/shared/params/types.ts +84 -0
- package/src/shared/params/validation.ts +114 -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/executions/provider.ts +24 -12
- package/src/storage/executions/types.ts +1 -0
- package/src/storage/executions/validation.ts +7 -3
- package/src/storage/index.ts +15 -1
- package/src/storage/objects/in-memory/query.ts +25 -11
- 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 +1 -0
- package/src/storage/ontology/in-memory/index.ts +20 -0
- package/src/storage/ontology/in-memory/materializations.ts +13 -0
- 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/vector-indexing.ts +98 -0
- package/src/storage/ontology/vectors.ts +48 -0
- package/src/storage/operation-scope.ts +1 -0
- package/src/storage/types.ts +3 -0
- package/src/testing/agent-storage-contract.ts +246 -0
- package/src/testing/ai-cost-storage-contract.ts +134 -0
- package/src/testing/object-query-contract.ts +41 -25
- package/src/testing/object-read-scope-contract.ts +1 -5
- package/src/testing/queues-contract.ts +31 -0
- package/src/workflows/failure.ts +10 -4
- 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-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-f0rwz2vh.js.map +0 -11
- package/dist/chunk-f4w3yp4f.js.map +0 -12
- 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-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-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
- /package/dist/{chunk-1yefycb1.js.map → chunk-3bnt2wna.js.map} +0 -0
- /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
- /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
- /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
- /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
- /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
- /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
- /package/dist/{chunk-g91qxjj0.js.map → chunk-bg2bs62d.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-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
- /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
- /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
- /package/dist/{chunk-cfvakeax.js.map → chunk-jjwhy3rs.js.map} +0 -0
- /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
- /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
- /package/dist/{chunk-x9m9x2eq.js.map → chunk-t7dzd1tm.js.map} +0 -0
- /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
- /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
- /package/dist/{chunk-wf88w4kp.js.map → chunk-x9tmx3fc.js.map} +0 -0
- /package/dist/{chunk-fh8kgex1.js.map → chunk-xn686q2e.js.map} +0 -0
- /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
|
@@ -2,6 +2,8 @@ import type { OntologyCommitStorage } from "./commits"
|
|
|
2
2
|
import type { OntologyMaterializationStorage } from "./materializations"
|
|
3
3
|
import type { OntologyOutboxStorage } from "./outbox"
|
|
4
4
|
import type { OntologySourceStorage } from "./sources"
|
|
5
|
+
import type { OntologyVectorIndexingStorage } from "./vector-indexing"
|
|
6
|
+
import type { OntologyVectorStorage } from "./vectors"
|
|
5
7
|
|
|
6
8
|
export type { ProjectionExecution } from "../../materialization/model"
|
|
7
9
|
export type {
|
|
@@ -119,9 +121,21 @@ export type {
|
|
|
119
121
|
TerminalSourceMaterializationSummary,
|
|
120
122
|
} from "./sources"
|
|
121
123
|
|
|
124
|
+
export type { ObjectVectorState, OntologyVectorStorage, StoredObjectVector } from "./vectors"
|
|
125
|
+
|
|
122
126
|
export interface OntologyStorage {
|
|
127
|
+
readonly vectorIndexing?: OntologyVectorIndexingStorage
|
|
128
|
+
readonly vectors?: OntologyVectorStorage
|
|
123
129
|
readonly commits: OntologyCommitStorage
|
|
124
130
|
readonly sources: OntologySourceStorage
|
|
125
131
|
readonly materializations: OntologyMaterializationStorage
|
|
126
132
|
readonly outbox: OntologyOutboxStorage
|
|
127
133
|
}
|
|
134
|
+
|
|
135
|
+
export type {
|
|
136
|
+
OntologyVectorIndexingStorage,
|
|
137
|
+
VectorIndexingFailureCode,
|
|
138
|
+
VectorIndexingRequest,
|
|
139
|
+
VectorIndexingUpdate,
|
|
140
|
+
VectorIndexingWork,
|
|
141
|
+
} from "./vector-indexing"
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { SixbFailure } from "../../errors/types"
|
|
2
|
+
import type { OntologyObjectRef } from "../../materialization/model"
|
|
3
|
+
import type { MaterializationSession } from "./materializations"
|
|
4
|
+
|
|
5
|
+
export const VECTOR_INDEXING_FAILURE_CODES = [
|
|
6
|
+
"vector.model_unavailable",
|
|
7
|
+
"vector.response_invalid",
|
|
8
|
+
"vector.outcome_unknown",
|
|
9
|
+
"internal.unexpected",
|
|
10
|
+
] as const
|
|
11
|
+
|
|
12
|
+
export type VectorIndexingFailureCode = (typeof VECTOR_INDEXING_FAILURE_CODES)[number]
|
|
13
|
+
|
|
14
|
+
/** Latest desired representation; replacing its id fences every older delivery. */
|
|
15
|
+
export interface VectorIndexingRequest {
|
|
16
|
+
readonly id: string
|
|
17
|
+
/** Set only by projection materialization; a bounded, immediately durable group. */
|
|
18
|
+
readonly batchId?: string
|
|
19
|
+
readonly ref: OntologyObjectRef
|
|
20
|
+
readonly profile: string
|
|
21
|
+
readonly configuration: string
|
|
22
|
+
readonly sourceFingerprint: string
|
|
23
|
+
readonly sourceCommitId: string
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface VectorIndexingWork extends VectorIndexingRequest {
|
|
27
|
+
readonly status: "pending" | "running" | "ready" | "failed"
|
|
28
|
+
readonly availableAt: string
|
|
29
|
+
readonly values?: readonly number[]
|
|
30
|
+
readonly error?: SixbFailure<VectorIndexingFailureCode>
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface VectorIndexingUpdate {
|
|
34
|
+
readonly id: string
|
|
35
|
+
readonly expectedStatus: VectorIndexingWork["status"]
|
|
36
|
+
readonly status: VectorIndexingWork["status"]
|
|
37
|
+
readonly availableAt: string
|
|
38
|
+
readonly values?: readonly number[]
|
|
39
|
+
readonly error?: SixbFailure<VectorIndexingFailureCode>
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Durable intent belongs to ontology storage; delivery leases belong to Queues. */
|
|
43
|
+
export interface OntologyVectorIndexingStorage {
|
|
44
|
+
/** Called inside the transaction that changes the effective object. */
|
|
45
|
+
schedule(input: {
|
|
46
|
+
projectId: string
|
|
47
|
+
session: MaterializationSession
|
|
48
|
+
requests: readonly VectorIndexingRequest[]
|
|
49
|
+
deleted: readonly OntologyObjectRef[]
|
|
50
|
+
availableAt: string
|
|
51
|
+
}): Promise<void>
|
|
52
|
+
/** Clear matching intent atomically with a successful automatic or explicit vector write. */
|
|
53
|
+
complete(input: {
|
|
54
|
+
projectId: string
|
|
55
|
+
session: MaterializationSession
|
|
56
|
+
entries: readonly Pick<
|
|
57
|
+
VectorIndexingRequest,
|
|
58
|
+
"ref" | "profile" | "configuration" | "sourceFingerprint"
|
|
59
|
+
>[]
|
|
60
|
+
}): Promise<void>
|
|
61
|
+
dispatched(input: {
|
|
62
|
+
projectId: string
|
|
63
|
+
ids: readonly string[]
|
|
64
|
+
nextDispatchAt: string
|
|
65
|
+
}): Promise<void>
|
|
66
|
+
get(input: { projectId: string; id: string }): Promise<VectorIndexingWork | null>
|
|
67
|
+
getBatch(input: { projectId: string; batchId: string }): Promise<readonly VectorIndexingWork[]>
|
|
68
|
+
/** Read only the result this kernel batch is allowed to publish. */
|
|
69
|
+
getBatchMember(input: {
|
|
70
|
+
projectId: string
|
|
71
|
+
batchId: string
|
|
72
|
+
ref: OntologyObjectRef
|
|
73
|
+
profile: string
|
|
74
|
+
}): Promise<VectorIndexingWork | null>
|
|
75
|
+
/** Atomic transitions; requireAll prevents admission if any prepared member was superseded. */
|
|
76
|
+
updateBatch(input: {
|
|
77
|
+
projectId: string
|
|
78
|
+
updates: readonly VectorIndexingUpdate[]
|
|
79
|
+
requireAll?: boolean
|
|
80
|
+
}): Promise<boolean>
|
|
81
|
+
/** Bounded fair redispatch scan. Never scans objects or backfills existing data. */
|
|
82
|
+
listDue(input: {
|
|
83
|
+
projectId: string
|
|
84
|
+
now: string
|
|
85
|
+
limit: number
|
|
86
|
+
}): Promise<readonly VectorIndexingWork[]>
|
|
87
|
+
/** CAS also fences concurrent deliveries and source changes. */
|
|
88
|
+
update(input: {
|
|
89
|
+
projectId: string
|
|
90
|
+
id: string
|
|
91
|
+
expectedStatus: VectorIndexingWork["status"]
|
|
92
|
+
status: VectorIndexingWork["status"]
|
|
93
|
+
availableAt: string
|
|
94
|
+
values?: readonly number[]
|
|
95
|
+
error?: SixbFailure<VectorIndexingFailureCode>
|
|
96
|
+
}): Promise<boolean>
|
|
97
|
+
remove(input: { projectId: string; id: string }): Promise<void>
|
|
98
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { OntologyObjectRef } from "../../materialization/model"
|
|
2
|
+
import type { MaterializationSession } from "./materializations"
|
|
3
|
+
|
|
4
|
+
export interface ObjectVectorState {
|
|
5
|
+
readonly ref: OntologyObjectRef
|
|
6
|
+
readonly profile: string
|
|
7
|
+
readonly configuration: string
|
|
8
|
+
readonly source: readonly string[]
|
|
9
|
+
readonly sourceFingerprint: string
|
|
10
|
+
readonly lastCommitId: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface StoredObjectVector extends ObjectVectorState {
|
|
14
|
+
readonly values: readonly number[]
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Transactional derived state. Mutations must run inside an ontology materialization transaction. */
|
|
18
|
+
export interface OntologyVectorStorage {
|
|
19
|
+
list(input: { projectId: string; ref: OntologyObjectRef }): Promise<readonly ObjectVectorState[]>
|
|
20
|
+
listBatch(input: {
|
|
21
|
+
projectId: string
|
|
22
|
+
refs: readonly OntologyObjectRef[]
|
|
23
|
+
}): Promise<readonly ObjectVectorState[]>
|
|
24
|
+
removeBatch(input: {
|
|
25
|
+
session: MaterializationSession
|
|
26
|
+
projectId: string
|
|
27
|
+
entries: readonly { ref: OntologyObjectRef; profile: string; expectedCommitId: string }[]
|
|
28
|
+
}): Promise<void>
|
|
29
|
+
write(input: {
|
|
30
|
+
session: MaterializationSession
|
|
31
|
+
projectId: string
|
|
32
|
+
value: StoredObjectVector
|
|
33
|
+
expectedCommitId: string | null
|
|
34
|
+
}): Promise<void>
|
|
35
|
+
/** Write a validated set inside the materialization transaction; any conflict aborts it. */
|
|
36
|
+
writeBatch(input: {
|
|
37
|
+
session: MaterializationSession
|
|
38
|
+
projectId: string
|
|
39
|
+
entries: readonly { value: StoredObjectVector; expectedCommitId: string | null }[]
|
|
40
|
+
}): Promise<void>
|
|
41
|
+
remove(input: {
|
|
42
|
+
session: MaterializationSession
|
|
43
|
+
projectId: string
|
|
44
|
+
ref: OntologyObjectRef
|
|
45
|
+
profile: string
|
|
46
|
+
expectedCommitId: string
|
|
47
|
+
}): Promise<void>
|
|
48
|
+
}
|
|
@@ -230,6 +230,7 @@ export function createOntologyOperationScope<T extends OntologyStorage>(
|
|
|
230
230
|
sources: createOperationScopedFacade(target.sources, scope),
|
|
231
231
|
materializations: createOperationScopedFacade(target.materializations, scope),
|
|
232
232
|
outbox: createOperationScopedFacade(target.outbox, scope),
|
|
233
|
+
...(target.vectors ? { vectors: createOperationScopedFacade(target.vectors, scope) } : {}),
|
|
233
234
|
}) as T
|
|
234
235
|
}
|
|
235
236
|
|
package/src/storage/types.ts
CHANGED
|
@@ -50,6 +50,8 @@ export type {
|
|
|
50
50
|
AgentRunRecord,
|
|
51
51
|
AgentStorage,
|
|
52
52
|
AgentThreadRecord,
|
|
53
|
+
AgentThreadSandboxParams,
|
|
54
|
+
AgentThreadSandboxState,
|
|
53
55
|
AppendAgentMessageInput,
|
|
54
56
|
ConfirmAgentRunExecutionOwnershipInput,
|
|
55
57
|
ConversationAgentRunRecord,
|
|
@@ -70,6 +72,7 @@ export type {
|
|
|
70
72
|
SubagentRunRecord,
|
|
71
73
|
SubagentRunResult,
|
|
72
74
|
SubagentRunSpec,
|
|
75
|
+
TransitionAgentThreadSandboxInput,
|
|
73
76
|
} from "./agents"
|
|
74
77
|
export { AGENT_RUN_FAILURE_CODES, AgentStorageError } from "./agents"
|
|
75
78
|
export type {
|
|
@@ -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
|
}
|