@sixb/core 0.1.16 → 0.1.18
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/index.js +30 -27
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +1 -1
- package/dist/actions/types/context.d.ts +2 -2
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +6 -2
- package/dist/actions/worker.js.map +3 -3
- package/dist/agents/adapters.d.ts +7 -0
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +7 -0
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/context/entries.d.ts +10 -1
- package/dist/agents/context/entries.d.ts.map +1 -1
- package/dist/agents/context/index.d.ts +1 -1
- package/dist/agents/context/index.d.ts.map +1 -1
- package/dist/agents/context/index.js +4 -2
- package/dist/agents/context/index.js.map +1 -1
- package/dist/agents/context-compaction.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/index.d.ts +6 -4
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +54 -46
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +8 -1
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/request.d.ts +19 -5
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/skills.d.ts +41 -0
- package/dist/agents/skills.d.ts.map +1 -0
- package/dist/agents/streams/index.js +1 -1
- package/dist/agents/streams/internal.js +1 -1
- package/dist/agents/types.d.ts +33 -4
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/auth/index.js +9 -6
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/types.d.ts +6 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.js +5 -3
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +1 -1
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/authorization/types.d.ts +7 -0
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/blob-storage/browser.js +1 -1
- package/dist/blob-storage/download-urls.d.ts +41 -0
- package/dist/blob-storage/download-urls.d.ts.map +1 -0
- package/dist/blob-storage/execution.d.ts +9 -1
- package/dist/blob-storage/execution.d.ts.map +1 -1
- package/dist/blob-storage/file-content.d.ts +18 -0
- package/dist/blob-storage/file-content.d.ts.map +1 -0
- package/dist/blob-storage/index.d.ts +1 -1
- package/dist/blob-storage/index.d.ts.map +1 -1
- package/dist/blob-storage/index.js +6 -4
- package/dist/blob-storage/index.js.map +1 -1
- package/dist/blob-storage/internal.d.ts +4 -0
- package/dist/blob-storage/internal.d.ts.map +1 -0
- package/dist/blob-storage/internal.js +23 -0
- package/dist/blob-storage/internal.js.map +9 -0
- package/dist/blob-storage/media-type.d.ts +8 -0
- package/dist/blob-storage/media-type.d.ts.map +1 -0
- package/dist/blob-storage/types.d.ts +12 -1
- package/dist/blob-storage/types.d.ts.map +1 -1
- package/dist/blob-storage/validation.d.ts +6 -0
- package/dist/blob-storage/validation.d.ts.map +1 -1
- package/dist/bootstrap/agent-context.d.ts +33 -0
- package/dist/bootstrap/agent-context.d.ts.map +1 -0
- package/dist/bootstrap/discovery.d.ts +23 -3
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.d.ts +2 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +287 -75
- package/dist/bootstrap/index.js.map +4 -3
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/{chunk-kttr5ftm.js → chunk-1b1f2d5f.js} +23 -6
- package/dist/chunk-1b1f2d5f.js.map +12 -0
- package/dist/{chunk-hgqpcmyr.js → chunk-1hqwggsn.js} +47 -19
- package/dist/chunk-1hqwggsn.js.map +12 -0
- package/dist/{chunk-9vx5e9g1.js → chunk-1sr8ryzk.js} +3 -3
- package/dist/chunk-1sr8ryzk.js.map +11 -0
- package/dist/{chunk-4gmng3vf.js → chunk-22v5bpz3.js} +1 -1
- package/dist/{chunk-tnvafr7g.js → chunk-29yx306f.js} +124 -9
- package/dist/chunk-29yx306f.js.map +22 -0
- package/dist/{chunk-fj1dvp37.js → chunk-2vhg6ysa.js} +1 -1
- package/dist/chunk-3zxk45er.js +152 -0
- package/dist/chunk-3zxk45er.js.map +11 -0
- package/dist/{chunk-gmdvns8f.js → chunk-48e3cn2d.js} +2 -2
- package/dist/{chunk-jgwb25gc.js → chunk-4as3wt1c.js} +13 -5
- package/dist/chunk-4as3wt1c.js.map +12 -0
- package/dist/{chunk-91kcnbf0.js → chunk-6gmfggss.js} +22 -9
- package/dist/chunk-6gmfggss.js.map +10 -0
- package/dist/{chunk-2xvgy3x5.js → chunk-6h5m9xjx.js} +43 -415
- package/dist/{chunk-2xvgy3x5.js.map → chunk-6h5m9xjx.js.map} +7 -11
- package/dist/{chunk-cq44v1a6.js → chunk-7hpdd6r9.js} +3 -3
- package/dist/{chunk-f85hpqnm.js → chunk-99nd4rc1.js} +3 -3
- package/dist/{chunk-f85hpqnm.js.map → chunk-99nd4rc1.js.map} +3 -3
- package/dist/chunk-b9affek3.js +261 -0
- package/dist/chunk-b9affek3.js.map +12 -0
- package/dist/{chunk-zvmr2hqk.js → chunk-bs7sqkre.js} +10 -4
- package/dist/chunk-bs7sqkre.js.map +12 -0
- package/dist/{chunk-rb143ggb.js → chunk-bwjcehza.js} +1 -1
- package/dist/{chunk-667x4drs.js → chunk-d0eb5yy6.js} +143 -7
- package/dist/chunk-d0eb5yy6.js.map +14 -0
- package/dist/chunk-d62kjtbg.js.map +2 -2
- package/dist/{chunk-gkxsenvp.js → chunk-de4z2bj6.js} +31 -7
- package/dist/{chunk-gkxsenvp.js.map → chunk-de4z2bj6.js.map} +5 -4
- package/dist/{chunk-mdnw7nj8.js → chunk-dnmadg9k.js} +35 -10
- package/dist/chunk-dnmadg9k.js.map +15 -0
- package/dist/chunk-enpsx8k5.js +127 -0
- package/dist/chunk-enpsx8k5.js.map +10 -0
- package/dist/{chunk-xnx96gfy.js → chunk-ere85b8y.js} +17 -8
- package/dist/chunk-ere85b8y.js.map +15 -0
- package/dist/{chunk-k4kkp58d.js → chunk-ewqa58h9.js} +12 -2
- package/dist/chunk-ewqa58h9.js.map +11 -0
- package/dist/{chunk-7g2gjvah.js → chunk-ex496vct.js} +1 -1
- package/dist/{chunk-nvymebc1.js → chunk-f1zxad2t.js} +1 -1
- package/dist/{chunk-3q7z9hd4.js → chunk-fe52eczz.js} +483 -101
- package/dist/chunk-fe52eczz.js.map +49 -0
- package/dist/{chunk-8x74221e.js → chunk-fx93hd2n.js} +79 -32
- package/dist/chunk-fx93hd2n.js.map +20 -0
- package/dist/{chunk-39tqv9hz.js → chunk-gc4ntf7d.js} +6 -7
- package/dist/{chunk-39tqv9hz.js.map → chunk-gc4ntf7d.js.map} +3 -4
- package/dist/chunk-h8teetr0.js +9 -0
- package/dist/chunk-h8teetr0.js.map +10 -0
- package/dist/{chunk-98cw09sw.js → chunk-hkc3jct7.js} +4 -2
- package/dist/chunk-hkc3jct7.js.map +10 -0
- package/dist/chunk-hn2r7z41.js.map +1 -1
- package/dist/{chunk-h044jb97.js → chunk-htr6wjmv.js} +282 -58
- package/dist/chunk-htr6wjmv.js.map +19 -0
- package/dist/{chunk-h3v76ams.js → chunk-jhm3zsa7.js} +25 -2
- package/dist/chunk-jhm3zsa7.js.map +12 -0
- package/dist/{chunk-chdg6eqq.js → chunk-k6hrnf35.js} +5 -5
- package/dist/chunk-k6hrnf35.js.map +10 -0
- package/dist/{chunk-a0073121.js → chunk-kpx7jrmn.js} +3 -1
- package/dist/chunk-kpx7jrmn.js.map +12 -0
- package/dist/{chunk-b9y8hcm2.js → chunk-mfs23znk.js} +1 -1
- package/dist/{chunk-kvysp909.js → chunk-ny3xyvcn.js} +32 -19
- package/dist/chunk-ny3xyvcn.js.map +17 -0
- package/dist/{chunk-h4138ww2.js → chunk-p0dqwj3n.js} +450 -799
- package/dist/chunk-p0dqwj3n.js.map +49 -0
- package/dist/{chunk-f72rbvsb.js → chunk-p844e0rn.js} +23 -8
- package/dist/chunk-p844e0rn.js.map +19 -0
- package/dist/{chunk-dmn70ztd.js → chunk-pfp1txq2.js} +25 -6
- package/dist/chunk-pfp1txq2.js.map +11 -0
- package/dist/chunk-pqajwytd.js.map +3 -3
- package/dist/{chunk-mr60an99.js → chunk-qczk96d9.js} +22 -2
- package/dist/{chunk-mr60an99.js.map → chunk-qczk96d9.js.map} +3 -3
- package/dist/{chunk-69kt9q43.js → chunk-qkbx3tf6.js} +17 -128
- package/dist/{chunk-69kt9q43.js.map → chunk-qkbx3tf6.js.map} +6 -7
- package/dist/{chunk-h866d223.js → chunk-qkvz64nd.js} +2 -2
- package/dist/{chunk-vsvrv7n8.js → chunk-qmnnhde6.js} +4 -8
- package/dist/{chunk-vsvrv7n8.js.map → chunk-qmnnhde6.js.map} +3 -3
- package/dist/{chunk-6z1q7j19.js → chunk-qq90g05n.js} +1128 -782
- package/dist/chunk-qq90g05n.js.map +66 -0
- package/dist/{chunk-40qb8wpe.js → chunk-qxvp5epv.js} +84 -29
- package/dist/{chunk-40qb8wpe.js.map → chunk-qxvp5epv.js.map} +10 -9
- package/dist/chunk-rdghfsss.js.map +2 -2
- package/dist/{chunk-s3csryxe.js → chunk-rj69qcrd.js} +8 -2
- package/dist/chunk-rj69qcrd.js.map +11 -0
- package/dist/{chunk-tkdbge6v.js → chunk-rt9p8m9t.js} +1 -1
- package/dist/{chunk-cd234ba4.js → chunk-rz53yb4v.js} +10 -5
- package/dist/chunk-rz53yb4v.js.map +14 -0
- package/dist/{chunk-a7ne02hk.js → chunk-s4jhg8a3.js} +351 -296
- package/dist/chunk-s4jhg8a3.js.map +15 -0
- package/dist/{chunk-69266efg.js → chunk-s54c868q.js} +12 -4
- package/dist/chunk-s54c868q.js.map +12 -0
- package/dist/{chunk-dsv8kdgk.js → chunk-tffvfy6s.js} +8 -7
- package/dist/{chunk-dsv8kdgk.js.map → chunk-tffvfy6s.js.map} +3 -3
- package/dist/{chunk-sbcm1b92.js → chunk-v6xpd60t.js} +3 -3
- package/dist/{chunk-nj0020ay.js → chunk-vgk3hknm.js} +1 -1
- package/dist/{chunk-qnd7ehe5.js → chunk-vx2yp45y.js} +2 -2
- package/dist/{chunk-vjqt7q3a.js → chunk-vz3gc1tm.js} +607 -45
- package/dist/chunk-vz3gc1tm.js.map +41 -0
- package/dist/{chunk-g4rbm4a6.js → chunk-wt4szfec.js} +379 -331
- package/dist/chunk-wt4szfec.js.map +14 -0
- package/dist/chunk-xt1zt7gv.js +471 -0
- package/dist/chunk-xt1zt7gv.js.map +13 -0
- package/dist/{chunk-swxzncrv.js → chunk-y05543x6.js} +51 -8
- package/dist/{chunk-swxzncrv.js.map → chunk-y05543x6.js.map} +5 -5
- package/dist/{chunk-zdkcdshk.js → chunk-y9jmd7e5.js} +41 -3
- package/dist/{chunk-zdkcdshk.js.map → chunk-y9jmd7e5.js.map} +4 -3
- package/dist/{chunk-nkbev3tr.js → chunk-yv9czyfr.js} +3 -3
- package/dist/{chunk-z5rnrmz1.js → chunk-yw9pyg66.js} +5 -3
- package/dist/chunk-yw9pyg66.js.map +11 -0
- package/dist/{chunk-cxj8y8t0.js → chunk-za5yd58j.js} +2 -2
- package/dist/{chunk-zb47r1c8.js → chunk-zb77kjth.js} +3 -3
- package/dist/{chunk-dp7yk20b.js → chunk-zxawp1n2.js} +1 -1
- package/dist/datasets/builders.d.ts +12 -1
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/execution.d.ts +27 -1
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/index.d.ts +1 -1
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/types.d.ts +2 -0
- package/dist/datasets/types.d.ts.map +1 -1
- package/dist/datasets/write.d.ts +5 -0
- package/dist/datasets/write.d.ts.map +1 -1
- package/dist/datasets/write.js +10 -5
- package/dist/datasets/write.js.map +1 -1
- package/dist/edits/properties.d.ts.map +1 -1
- package/dist/events/execution.d.ts +2 -1
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/types/objects.d.ts +5 -0
- package/dist/events/types/objects.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +10 -0
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +49 -43
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +9 -2
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/primitive.js +45 -41
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.js +46 -42
- package/dist/execution/request.js.map +2 -2
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +16 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -71
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +5 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +1 -1
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +8 -5
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/types.d.ts +26 -0
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts +5 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/maintenance/types.d.ts +1 -4
- package/dist/maintenance/types.d.ts.map +1 -1
- package/dist/materialization/event-envelopes.d.ts +20 -0
- package/dist/materialization/event-envelopes.d.ts.map +1 -0
- package/dist/materialization/events.d.ts +29 -3
- package/dist/materialization/events.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +4 -1
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +9 -3
- package/dist/materialization/index.js.map +1 -1
- package/dist/materializer/edits/plan.d.ts +2 -10
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/effective/build-events.d.ts +5 -21
- package/dist/materializer/effective/build-events.d.ts.map +1 -1
- package/dist/materializer/effective/vector-indexing.d.ts +2 -3
- package/dist/materializer/effective/vector-indexing.d.ts.map +1 -1
- package/dist/materializer/effective/vectors.d.ts +2 -3
- package/dist/materializer/effective/vectors.d.ts.map +1 -1
- package/dist/materializer/execution/scope.d.ts +1 -11
- package/dist/materializer/execution/scope.d.ts.map +1 -1
- package/dist/materializer/execution/work-executor.d.ts +5 -7
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/execution/work-records.d.ts +1 -3
- package/dist/materializer/execution/work-records.d.ts.map +1 -1
- package/dist/materializer/index.js +35 -33
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replace.d.ts.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts +8 -11
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/shared/batching.d.ts +5 -0
- package/dist/materializer/shared/batching.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts +2 -8
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/models/audio/catalog.d.ts +20 -0
- package/dist/models/audio/catalog.d.ts.map +1 -0
- package/dist/models/audio/errors.d.ts +8 -0
- package/dist/models/audio/errors.d.ts.map +1 -0
- package/dist/models/audio/file.d.ts +9 -0
- package/dist/models/audio/file.d.ts.map +1 -0
- package/dist/models/audio/runtime.d.ts +8 -0
- package/dist/models/audio/runtime.d.ts.map +1 -0
- package/dist/models/audio/types.d.ts +60 -0
- package/dist/models/audio/types.d.ts.map +1 -0
- package/dist/models/catalog.d.ts +24 -2
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/definitions.d.ts +1 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/events.d.ts +3 -0
- package/dist/models/events.d.ts.map +1 -1
- package/dist/models/execution/binding.d.ts +6 -0
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/index.js +27 -24
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-admission.d.ts +6 -1
- package/dist/models/execution/model-call-admission.d.ts.map +1 -1
- package/dist/models/execution/model-call-limits.d.ts.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +4 -0
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/reranking.d.ts +4 -0
- package/dist/models/execution/reranking.d.ts.map +1 -0
- package/dist/models/execution/usage.d.ts.map +1 -1
- package/dist/models/execution.d.ts +2 -1
- 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 +7 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +6 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/language-model.d.ts +6 -0
- package/dist/models/language-model.d.ts.map +1 -1
- package/dist/models/pricing.d.ts +2 -2
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/models/reranking-model.d.ts +49 -0
- package/dist/models/reranking-model.d.ts.map +1 -0
- package/dist/objects/context/index.d.ts +1 -1
- package/dist/objects/context/index.d.ts.map +1 -1
- package/dist/objects/context/types.d.ts +6 -0
- package/dist/objects/context/types.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +2 -1
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +31 -27
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/materializer-adapter.d.ts.map +1 -1
- package/dist/objects/object/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/upsert.d.ts.map +1 -1
- package/dist/objects/property-clearance.d.ts +41 -0
- package/dist/objects/property-clearance.d.ts.map +1 -0
- package/dist/objects/query/executor.d.ts +5 -1
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +1 -1
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +27 -24
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +8 -1
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/planner.d.ts +1 -1
- package/dist/objects/query/planner.d.ts.map +1 -1
- package/dist/objects/query/primary-id.d.ts +7 -0
- package/dist/objects/query/primary-id.d.ts.map +1 -0
- package/dist/objects/query/reranking-executor.d.ts +13 -0
- package/dist/objects/query/reranking-executor.d.ts.map +1 -0
- package/dist/objects/query/reranking-limits.d.ts +3 -0
- package/dist/objects/query/reranking-limits.d.ts.map +1 -0
- package/dist/objects/query/reranking-query.d.ts +4 -0
- package/dist/objects/query/reranking-query.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts +10 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/file-handle.d.ts +6 -0
- package/dist/objects/sdk/file-handle.d.ts.map +1 -0
- package/dist/objects/sdk/object-handle.d.ts +2 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -0
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-builder.d.ts +8 -0
- package/dist/objects/sdk/query-builder.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +2 -2
- 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/indexing-dispatch.d.ts +21 -0
- package/dist/objects/vectors/indexing-dispatch.d.ts.map +1 -0
- package/dist/objects/vectors/query.d.ts.map +1 -1
- package/dist/ontology/builders.d.ts +12 -1
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/docs-markdown.d.ts +35 -0
- package/dist/ontology/docs-markdown.d.ts.map +1 -0
- package/dist/ontology/docs.d.ts +50 -0
- package/dist/ontology/docs.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +1 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +7 -4
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +19 -0
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +3 -1
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +276 -3
- package/dist/ontology/internal.js.map +4 -3
- package/dist/ontology/query-capabilities.d.ts +1 -0
- package/dist/ontology/query-capabilities.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +8 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +25 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/validation/index.d.ts +1 -1
- package/dist/ontology/validation/index.d.ts.map +1 -1
- package/dist/ontology/validation/query.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts +7 -0
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/pipelines/index.js +29 -26
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +27 -24
- package/dist/projections/internal.js.map +1 -1
- package/dist/query.d.ts +4 -2
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +3 -0
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +4 -0
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +11 -2
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +3 -1
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +14 -2
- 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 +1 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +32 -27
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/locale.d.ts +9 -0
- package/dist/runtime/locale.d.ts.map +1 -0
- package/dist/runtime/public-origin.d.ts +10 -0
- package/dist/runtime/public-origin.d.ts.map +1 -0
- package/dist/runtime/resolve-definitions.d.ts +4 -2
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +1 -0
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +42 -5
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/index.js +7 -6
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/scheduler/index.js +1 -1
- package/dist/scheduler/runtime.d.ts +3 -0
- package/dist/scheduler/runtime.d.ts.map +1 -1
- package/dist/security/builders.d.ts +11 -2
- package/dist/security/builders.d.ts.map +1 -1
- package/dist/security/index.d.ts +4 -4
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/markings.d.ts +19 -0
- package/dist/security/markings.d.ts.map +1 -0
- package/dist/security/redactions.d.ts +4 -0
- package/dist/security/redactions.d.ts.map +1 -0
- package/dist/security/registry.d.ts +7 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +25 -0
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +4 -1
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/internal.js +24 -21
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +5 -4
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +15 -9
- 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/provider.js +3 -3
- package/dist/storage/ai-cost/types.d.ts +1 -1
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/validation.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +2 -2
- package/dist/storage/ai-limits/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-limits/provider.d.ts +7 -2
- package/dist/storage/ai-limits/provider.d.ts.map +1 -1
- package/dist/storage/ai-limits/provider.js +4 -2
- package/dist/storage/ai-limits/provider.js.map +1 -1
- package/dist/storage/ai-limits/types.d.ts +3 -0
- package/dist/storage/ai-limits/types.d.ts.map +1 -1
- package/dist/storage/ai-usage/record.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +8 -4
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/ai-usage/usage.d.ts.map +1 -1
- package/dist/storage/file-download-grants/in-memory.d.ts +11 -0
- package/dist/storage/file-download-grants/in-memory.d.ts.map +1 -0
- package/dist/storage/file-download-grants/index.d.ts +3 -0
- package/dist/storage/file-download-grants/index.d.ts.map +1 -0
- package/dist/storage/file-download-grants/record.d.ts +11 -0
- package/dist/storage/file-download-grants/record.d.ts.map +1 -0
- package/dist/storage/file-download-grants/types.d.ts +44 -0
- package/dist/storage/file-download-grants/types.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/provider.js +10 -7
- package/dist/storage/file-upload-sessions/provider.js.map +1 -1
- package/dist/storage/in-memory/index.d.ts +4 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +6 -3
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +35 -32
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +1 -0
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +9 -4
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/migrations/index.d.ts +1 -1
- package/dist/storage/migrations/index.d.ts.map +1 -1
- package/dist/storage/migrations/migrate-storage.d.ts +3 -3
- package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
- package/dist/storage/migrations/types.d.ts +7 -0
- package/dist/storage/migrations/types.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/query.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.map +1 -1
- package/dist/storage/objects/query-preparation.d.ts +39 -0
- package/dist/storage/objects/query-preparation.d.ts.map +1 -0
- package/dist/storage/objects/types.d.ts +9 -0
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/commits.d.ts +1 -6
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +4 -2
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations-state.d.ts +0 -2
- package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations-work.d.ts +1 -3
- package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +23 -57
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/outbox.d.ts +3 -2
- package/dist/storage/ontology/in-memory/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/replacement-plans.d.ts +104 -0
- package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts +17 -2
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/source-roots.d.ts +3 -1
- package/dist/storage/ontology/in-memory/source-roots.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/sources.d.ts +1 -2
- package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/state-reader.d.ts +25 -0
- package/dist/storage/ontology/in-memory/state-reader.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +6 -3
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/materializations.d.ts +40 -59
- package/dist/storage/ontology/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/outbox.d.ts +4 -6
- package/dist/storage/ontology/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts +114 -3
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +14 -39
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +26 -12
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/ontology/replacement-plans.d.ts +103 -0
- package/dist/storage/ontology/replacement-plans.d.ts.map +1 -0
- package/dist/storage/ontology/sources.d.ts +0 -8
- package/dist/storage/ontology/sources.d.ts.map +1 -1
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/projection-runs/types.d.ts +2 -0
- package/dist/storage/projection-runs/types.d.ts.map +1 -1
- package/dist/storage/types.d.ts +2 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +10 -7
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +30 -27
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/file-download-grant-storage-contract.d.ts +9 -0
- package/dist/testing/file-download-grant-storage-contract.d.ts.map +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2556 -1495
- package/dist/testing/index.js.map +14 -13
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/materializer-storage-contract.d.ts +14 -0
- package/dist/testing/materializer-storage-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 +5 -1
- 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/projection-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +25 -22
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +15 -17
- package/dist/workers/index.js.map +3 -3
- package/dist/workers/queue-worker.d.ts +3 -2
- package/dist/workers/queue-worker.d.ts.map +1 -1
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/index.js +51 -47
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +6 -3
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +2 -1
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/actions/read-facade.ts +2 -1
- package/src/actions/types/context.ts +5 -2
- package/src/actions/validation.ts +4 -1
- package/src/agents/adapters.ts +15 -0
- package/src/agents/authority.ts +15 -0
- package/src/agents/context/entries.ts +48 -4
- package/src/agents/context/index.ts +1 -0
- package/src/agents/context-compaction.ts +6 -0
- package/src/agents/errors.ts +3 -0
- package/src/agents/index.ts +13 -1
- package/src/agents/message.ts +9 -0
- package/src/agents/request.ts +178 -22
- package/src/agents/skills.ts +63 -0
- package/src/agents/types.ts +35 -5
- package/src/auth/runtime.ts +14 -0
- package/src/auth/types.ts +6 -0
- package/src/authorization/resolve.ts +6 -1
- package/src/authorization/types.ts +7 -0
- package/src/blob-storage/download-urls.ts +138 -0
- package/src/blob-storage/execution.ts +44 -1
- package/src/blob-storage/file-content.ts +106 -0
- package/src/blob-storage/index.ts +1 -0
- package/src/blob-storage/internal.ts +8 -0
- package/src/blob-storage/media-type.ts +29 -0
- package/src/blob-storage/types.ts +13 -1
- package/src/blob-storage/validation.ts +13 -0
- package/src/bootstrap/agent-context.ts +356 -0
- package/src/bootstrap/discovery.ts +100 -33
- package/src/bootstrap/index.ts +1 -1
- package/src/bootstrap/ontology-type-manifest.ts +3 -38
- package/src/datasets/builders.ts +17 -1
- package/src/datasets/execution.ts +110 -2
- package/src/datasets/index.ts +7 -1
- package/src/datasets/types.ts +2 -0
- package/src/datasets/write.ts +21 -2
- package/src/edits/properties.ts +3 -0
- package/src/events/execution.ts +15 -16
- package/src/events/types/objects.ts +5 -0
- package/src/execution/agent.ts +27 -0
- package/src/execution/authorization.ts +1 -0
- package/src/execution/authorized-object-reader.ts +104 -35
- package/src/execution/scopes.ts +2 -6
- package/src/http/api-routes.ts +4 -3
- package/src/index.ts +52 -2
- package/src/lake-storage/in-memory.ts +38 -9
- package/src/lake-storage/index.ts +2 -0
- package/src/lake-storage/types.ts +30 -0
- package/src/maintenance/ontology-maintenance.ts +50 -23
- package/src/maintenance/types.ts +1 -4
- package/src/materialization/event-envelopes.ts +168 -0
- package/src/materialization/events.ts +40 -4
- package/src/materialization/index.ts +9 -1
- package/src/materializer/README.md +55 -10
- package/src/materializer/edits/commit.ts +3 -19
- package/src/materializer/edits/plan.ts +20 -71
- package/src/materializer/effective/build-events.ts +42 -136
- package/src/materializer/effective/vector-indexing.ts +2 -3
- package/src/materializer/effective/vectors.ts +2 -3
- package/src/materializer/execution/scope.ts +1 -38
- package/src/materializer/execution/work-executor.ts +21 -115
- package/src/materializer/execution/work-records.ts +0 -15
- package/src/materializer/projections/replace.ts +106 -63
- package/src/materializer/projections/replacement-plan.ts +73 -218
- package/src/materializer/shared/batching.ts +7 -0
- package/src/materializer/telemetry/append.ts +2 -14
- package/src/materializer/telemetry/plan.ts +6 -43
- package/src/models/audio/catalog.ts +90 -0
- package/src/models/audio/errors.ts +19 -0
- package/src/models/audio/file.ts +78 -0
- package/src/models/audio/runtime.ts +182 -0
- package/src/models/audio/types.ts +69 -0
- package/src/models/catalog.ts +78 -7
- package/src/models/definitions.ts +8 -1
- package/src/models/events.ts +3 -0
- package/src/models/execution/README.md +24 -4
- package/src/models/execution/binding.ts +6 -0
- package/src/models/execution/model-call-admission.ts +6 -1
- package/src/models/execution/model-call-limits.ts +21 -11
- package/src/models/execution/model-call-recorder.ts +11 -0
- package/src/models/execution/model-call-recovery.ts +1 -0
- package/src/models/execution/reranking.ts +137 -0
- package/src/models/execution/session.ts +2 -2
- package/src/models/execution/usage.ts +1 -0
- package/src/models/execution.ts +11 -3
- package/src/models/generation-types.ts +2 -0
- package/src/models/index.ts +32 -0
- package/src/models/language-model.ts +6 -0
- package/src/models/pricing.ts +2 -1
- package/src/models/reranking-model.ts +114 -0
- package/src/objects/context/index.ts +1 -0
- package/src/objects/context/types.ts +7 -0
- package/src/objects/execution.ts +4 -1
- package/src/objects/materializer-adapter.ts +3 -0
- package/src/objects/object/upsert-batch.ts +4 -1
- package/src/objects/object/upsert.ts +3 -1
- package/src/objects/property-clearance.ts +209 -0
- package/src/objects/query/executor.ts +85 -38
- package/src/objects/query/explain.ts +8 -0
- package/src/objects/query/index.ts +1 -0
- package/src/objects/query/ir.ts +10 -0
- package/src/objects/query/normalize.ts +2 -0
- package/src/objects/query/planner.ts +12 -1
- package/src/objects/query/primary-id.ts +56 -0
- package/src/objects/query/reranking-executor.ts +91 -0
- package/src/objects/query/reranking-limits.ts +3 -0
- package/src/objects/query/reranking-query.ts +8 -0
- package/src/objects/query/validate.ts +166 -15
- package/src/objects/sdk/file-handle.ts +77 -0
- package/src/objects/sdk/object-handle.ts +8 -4
- package/src/objects/sdk/object-set.ts +5 -2
- package/src/objects/sdk/query-builder.ts +15 -2
- package/src/objects/sdk/query-executor.ts +2 -2
- package/src/objects/sdk/runtime-query-executor.ts +7 -4
- package/src/objects/vectors/README.md +6 -2
- package/src/objects/vectors/indexing-dispatch.ts +83 -0
- package/src/objects/vectors/query.ts +3 -0
- package/src/ontology/builders.ts +19 -2
- package/src/ontology/docs-markdown.ts +394 -0
- package/src/ontology/docs.ts +196 -0
- package/src/ontology/index.ts +2 -0
- package/src/ontology/inference/index.ts +25 -0
- package/src/ontology/internal.ts +7 -0
- package/src/ontology/query-capabilities.ts +1 -1
- package/src/ontology/tokens.ts +13 -2
- package/src/ontology/types.ts +26 -0
- package/src/ontology/validation/index.ts +1 -0
- package/src/ontology/validation/query.ts +57 -0
- package/src/ontology/validation/schema.ts +26 -1
- package/src/query.ts +4 -0
- package/src/queues/in-memory.ts +54 -19
- package/src/queues/types.ts +4 -0
- package/src/runtime/create.ts +34 -4
- package/src/runtime/definitions.ts +3 -1
- package/src/runtime/host.ts +73 -2
- package/src/runtime/index.ts +4 -0
- package/src/runtime/internal.ts +1 -0
- package/src/runtime/locale.ts +26 -0
- package/src/runtime/public-origin.ts +33 -0
- package/src/runtime/resolve-definitions.ts +28 -1
- package/src/runtime/sixb.ts +14 -3
- package/src/runtime/types.ts +51 -5
- package/src/scheduler/runtime.ts +11 -2
- package/src/security/builders.ts +49 -5
- package/src/security/index.ts +6 -1
- package/src/security/markings.ts +313 -0
- package/src/security/redactions.ts +6 -0
- package/src/security/registry.ts +21 -1
- package/src/security/types.ts +26 -0
- package/src/security/validation.ts +59 -2
- package/src/storage/agents/provider.ts +11 -0
- package/src/storage/agents/types.ts +15 -7
- package/src/storage/ai-cost/analytics.ts +2 -0
- package/src/storage/ai-cost/codec.ts +2 -1
- package/src/storage/ai-cost/types.ts +1 -0
- package/src/storage/ai-cost/validation.ts +21 -8
- package/src/storage/ai-limits/in-memory.ts +10 -2
- package/src/storage/ai-limits/provider.ts +29 -2
- package/src/storage/ai-limits/types.ts +3 -0
- package/src/storage/ai-usage/record.ts +9 -0
- package/src/storage/ai-usage/types.ts +8 -4
- package/src/storage/ai-usage/usage.ts +2 -0
- package/src/storage/file-download-grants/in-memory.ts +73 -0
- package/src/storage/file-download-grants/index.ts +8 -0
- package/src/storage/file-download-grants/record.ts +47 -0
- package/src/storage/file-download-grants/types.ts +48 -0
- package/src/storage/in-memory/index.ts +13 -2
- package/src/storage/index.ts +32 -13
- package/src/storage/internal.ts +1 -0
- package/src/storage/migrations/index.ts +1 -0
- package/src/storage/migrations/migrate-storage.ts +36 -12
- package/src/storage/migrations/types.ts +8 -0
- package/src/storage/objects/in-memory/query.ts +2 -0
- package/src/storage/objects/in-memory/selected-reader.ts +1 -0
- package/src/storage/objects/in-memory/storage.ts +1 -0
- package/src/storage/objects/query-preparation.ts +77 -0
- package/src/storage/objects/types.ts +9 -0
- package/src/storage/ontology/commits.ts +1 -6
- package/src/storage/ontology/in-memory/index.ts +28 -9
- package/src/storage/ontology/in-memory/materializations-finalization.ts +35 -68
- package/src/storage/ontology/in-memory/materializations-state.ts +0 -22
- package/src/storage/ontology/in-memory/materializations-work.ts +0 -45
- package/src/storage/ontology/in-memory/materializations.ts +172 -653
- package/src/storage/ontology/in-memory/outbox.ts +37 -29
- package/src/storage/ontology/in-memory/replacement-plans.ts +697 -0
- package/src/storage/ontology/in-memory/shared-state.ts +24 -2
- package/src/storage/ontology/in-memory/source-roots.ts +7 -2
- package/src/storage/ontology/in-memory/sources.ts +7 -33
- package/src/storage/ontology/in-memory/state-reader.ts +245 -0
- package/src/storage/ontology/index.ts +19 -13
- package/src/storage/ontology/materializations.ts +45 -74
- package/src/storage/ontology/outbox.ts +4 -7
- package/src/storage/ontology/provider-header-validation.ts +0 -57
- package/src/storage/ontology/provider-work.ts +381 -90
- package/src/storage/ontology/provider.ts +74 -171
- package/src/storage/ontology/replacement-plans.ts +117 -0
- package/src/storage/ontology/sources.ts +0 -12
- package/src/storage/operation-scope.ts +33 -1
- package/src/storage/projection-runs/in-memory.ts +7 -1
- package/src/storage/projection-runs/types.ts +2 -0
- package/src/storage/types.ts +2 -0
- package/src/testing/ai-cost-storage-contract.ts +1 -0
- package/src/testing/ai-limit-storage-contract.ts +62 -0
- package/src/testing/ai-usage-storage-contract.ts +31 -0
- package/src/testing/file-download-grant-storage-contract.ts +139 -0
- package/src/testing/index.ts +4 -0
- package/src/testing/lake-storage-contract.ts +87 -1
- package/src/testing/materializer-storage-contract.ts +1008 -1
- package/src/testing/object-read-scope-contract.ts +1 -0
- package/src/testing/ontology-contract-fixture.ts +11 -87
- package/src/testing/ontology-storage-contract.ts +70 -39
- package/src/testing/projection-run-storage-contract.ts +14 -0
- package/src/testing/queues-contract.ts +59 -0
- package/src/workers/queue-worker.ts +19 -16
- package/src/workflows/builders.ts +24 -1
- package/src/workflows/request.ts +3 -0
- package/src/workflows/types.ts +6 -3
- package/src/workflows/validation.ts +32 -4
- package/dist/chunk-3q7z9hd4.js.map +0 -46
- package/dist/chunk-667x4drs.js.map +0 -12
- package/dist/chunk-69266efg.js.map +0 -12
- package/dist/chunk-6z1q7j19.js.map +0 -62
- package/dist/chunk-7ytf06d3.js +0 -113
- package/dist/chunk-7ytf06d3.js.map +0 -10
- package/dist/chunk-8x74221e.js.map +0 -20
- package/dist/chunk-91kcnbf0.js.map +0 -10
- package/dist/chunk-98cw09sw.js.map +0 -10
- package/dist/chunk-9vx5e9g1.js.map +0 -11
- package/dist/chunk-a0073121.js.map +0 -12
- package/dist/chunk-a7ne02hk.js.map +0 -15
- package/dist/chunk-cd234ba4.js.map +0 -14
- package/dist/chunk-chdg6eqq.js.map +0 -10
- package/dist/chunk-dmn70ztd.js.map +0 -11
- package/dist/chunk-f72rbvsb.js.map +0 -19
- package/dist/chunk-g4rbm4a6.js.map +0 -15
- package/dist/chunk-h044jb97.js.map +0 -15
- package/dist/chunk-h3v76ams.js.map +0 -11
- package/dist/chunk-h4138ww2.js.map +0 -50
- package/dist/chunk-hgqpcmyr.js.map +0 -12
- package/dist/chunk-jgwb25gc.js.map +0 -12
- package/dist/chunk-k4kkp58d.js.map +0 -11
- package/dist/chunk-kttr5ftm.js.map +0 -12
- package/dist/chunk-kvysp909.js.map +0 -17
- package/dist/chunk-mdnw7nj8.js.map +0 -15
- package/dist/chunk-s3csryxe.js.map +0 -11
- package/dist/chunk-tnvafr7g.js.map +0 -19
- package/dist/chunk-vjqt7q3a.js.map +0 -36
- package/dist/chunk-xnx96gfy.js.map +0 -15
- package/dist/chunk-z5rnrmz1.js.map +0 -11
- package/dist/chunk-zvmr2hqk.js.map +0 -12
- package/dist/materializer/execution/plan-stream.d.ts +0 -8
- package/dist/materializer/execution/plan-stream.d.ts.map +0 -1
- package/src/materializer/execution/plan-stream.ts +0 -121
- /package/dist/{chunk-4gmng3vf.js.map → chunk-22v5bpz3.js.map} +0 -0
- /package/dist/{chunk-fj1dvp37.js.map → chunk-2vhg6ysa.js.map} +0 -0
- /package/dist/{chunk-gmdvns8f.js.map → chunk-48e3cn2d.js.map} +0 -0
- /package/dist/{chunk-cq44v1a6.js.map → chunk-7hpdd6r9.js.map} +0 -0
- /package/dist/{chunk-rb143ggb.js.map → chunk-bwjcehza.js.map} +0 -0
- /package/dist/{chunk-7g2gjvah.js.map → chunk-ex496vct.js.map} +0 -0
- /package/dist/{chunk-nvymebc1.js.map → chunk-f1zxad2t.js.map} +0 -0
- /package/dist/{chunk-b9y8hcm2.js.map → chunk-mfs23znk.js.map} +0 -0
- /package/dist/{chunk-h866d223.js.map → chunk-qkvz64nd.js.map} +0 -0
- /package/dist/{chunk-tkdbge6v.js.map → chunk-rt9p8m9t.js.map} +0 -0
- /package/dist/{chunk-sbcm1b92.js.map → chunk-v6xpd60t.js.map} +0 -0
- /package/dist/{chunk-nj0020ay.js.map → chunk-vgk3hknm.js.map} +0 -0
- /package/dist/{chunk-qnd7ehe5.js.map → chunk-vx2yp45y.js.map} +0 -0
- /package/dist/{chunk-nkbev3tr.js.map → chunk-yv9czyfr.js.map} +0 -0
- /package/dist/{chunk-cxj8y8t0.js.map → chunk-za5yd58j.js.map} +0 -0
- /package/dist/{chunk-zb47r1c8.js.map → chunk-zb77kjth.js.map} +0 -0
- /package/dist/{chunk-dp7yk20b.js.map → chunk-zxawp1n2.js.map} +0 -0
|
@@ -3,7 +3,10 @@ import {
|
|
|
3
3
|
isActionDefinition2,
|
|
4
4
|
SYSTEM_PRINCIPAL2,
|
|
5
5
|
principalsEqual2
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6h5m9xjx.js";
|
|
7
|
+
import {
|
|
8
|
+
captureSixbFailure2
|
|
9
|
+
} from "./chunk-6fsr7y93.js";
|
|
7
10
|
import {
|
|
8
11
|
agentServiceAccountId2,
|
|
9
12
|
assertObjectReadOutputWithinLimit2,
|
|
@@ -15,6 +18,7 @@ import {
|
|
|
15
18
|
isAllowed2,
|
|
16
19
|
assertAuthorized2,
|
|
17
20
|
isRuntimeAllowed2,
|
|
21
|
+
assertRuntimeAuthorizationBound2,
|
|
18
22
|
assertCanManageConnector2,
|
|
19
23
|
assertPrivileged2,
|
|
20
24
|
assertProviderAccess2,
|
|
@@ -25,25 +29,38 @@ import {
|
|
|
25
29
|
canViewPipelineRun2,
|
|
26
30
|
canViewProjectionRun2,
|
|
27
31
|
canViewProjection2
|
|
28
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-qkbx3tf6.js";
|
|
29
33
|
import {
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
canonicalMediaType2,
|
|
35
|
+
isFileRef2,
|
|
36
|
+
isValidFileRef,
|
|
37
|
+
supportsDirectUpload2,
|
|
38
|
+
supportsRangeRead2
|
|
39
|
+
} from "./chunk-jhm3zsa7.js";
|
|
32
40
|
import {
|
|
41
|
+
assertValidFileRefs2,
|
|
33
42
|
isRecord2,
|
|
34
43
|
normalizeSchemaValue2,
|
|
35
44
|
coerceSchemaValueToTyped2,
|
|
36
45
|
assertObjectTypeRegistered2
|
|
37
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-y05543x6.js";
|
|
38
47
|
import {
|
|
39
48
|
isObjectRefSchema2,
|
|
40
49
|
validateSchemaOrRefValue2
|
|
41
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-rt9p8m9t.js";
|
|
51
|
+
import {
|
|
52
|
+
WorkflowRunError2,
|
|
53
|
+
missingClearanceRedactions,
|
|
54
|
+
resolvePropertyClearance,
|
|
55
|
+
redactDomainEvent
|
|
56
|
+
} from "./chunk-d0eb5yy6.js";
|
|
42
57
|
import {
|
|
43
58
|
isModelReasoning2,
|
|
44
59
|
modelReasoningSupportIssue2
|
|
45
60
|
} from "./chunk-pqajwytd.js";
|
|
46
61
|
import {
|
|
62
|
+
TranscriptionModelResponseError2,
|
|
63
|
+
assertTranscriptionModel,
|
|
47
64
|
assertDecisionContent,
|
|
48
65
|
assertDecisionQuestions,
|
|
49
66
|
assertDecisionModel,
|
|
@@ -52,20 +69,17 @@ import {
|
|
|
52
69
|
DecisionModelResponseError2,
|
|
53
70
|
estimateModelCall,
|
|
54
71
|
rateModelCall2
|
|
55
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-29yx306f.js";
|
|
56
73
|
import {
|
|
57
74
|
AgentStorageError2,
|
|
58
75
|
AGENT_REASONING_LEVELS2
|
|
59
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-s54c868q.js";
|
|
60
77
|
import {
|
|
61
78
|
ExecutionStorageError2
|
|
62
79
|
} from "./chunk-tw03bsmb.js";
|
|
63
80
|
import {
|
|
64
81
|
WORKFLOW_RUN_FAILURE_CODES2
|
|
65
|
-
} from "./chunk-
|
|
66
|
-
import {
|
|
67
|
-
WorkflowRunError2
|
|
68
|
-
} from "./chunk-667x4drs.js";
|
|
82
|
+
} from "./chunk-qq90g05n.js";
|
|
69
83
|
import {
|
|
70
84
|
assertParamUsersActive,
|
|
71
85
|
assertAuthorizedObjectReaderBinding,
|
|
@@ -73,7 +87,7 @@ import {
|
|
|
73
87
|
canDelegationAccessActionRun,
|
|
74
88
|
requestAction3,
|
|
75
89
|
requestActionAndWait2
|
|
76
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-fx93hd2n.js";
|
|
77
91
|
import {
|
|
78
92
|
shareSixbErrorReporter2,
|
|
79
93
|
reportRunFailure2
|
|
@@ -83,43 +97,51 @@ import {
|
|
|
83
97
|
applicableAiLimitPolicyStatuses2,
|
|
84
98
|
aiUsageLimitExceededError2,
|
|
85
99
|
aiUsageLimitUnavailableError2
|
|
86
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-2vhg6ysa.js";
|
|
87
101
|
import {
|
|
88
102
|
AgentRequestError2,
|
|
89
103
|
normalizeAgentContextEntries2
|
|
90
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-pfp1txq2.js";
|
|
91
105
|
import {
|
|
92
106
|
publishAgentRunActivity2
|
|
93
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-22v5bpz3.js";
|
|
108
|
+
import {
|
|
109
|
+
createFileDownloadUrl,
|
|
110
|
+
revokeFileDownloadUrl
|
|
111
|
+
} from "./chunk-3zxk45er.js";
|
|
94
112
|
import {
|
|
95
113
|
registerConnectorConnectionsRuntime
|
|
96
114
|
} from "./chunk-5a4a52tq.js";
|
|
97
115
|
import {
|
|
98
116
|
createConnectorRuntime
|
|
99
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-f1zxad2t.js";
|
|
100
118
|
import {
|
|
101
119
|
writeDataset2
|
|
102
|
-
} from "./chunk-
|
|
120
|
+
} from "./chunk-6gmfggss.js";
|
|
103
121
|
import {
|
|
104
122
|
shareOntologyMutationRuntime2
|
|
105
123
|
} from "./chunk-85cd7e8c.js";
|
|
106
124
|
import {
|
|
107
125
|
SyncValidationError2,
|
|
108
126
|
requestSyncRun2
|
|
109
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-yv9czyfr.js";
|
|
110
128
|
import {
|
|
111
129
|
compileShareAccessPlan
|
|
112
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-za5yd58j.js";
|
|
131
|
+
import {
|
|
132
|
+
PipelineError2,
|
|
133
|
+
requestPipelineRun2
|
|
134
|
+
} from "./chunk-v6xpd60t.js";
|
|
113
135
|
import {
|
|
114
136
|
ModelExecutionSession
|
|
115
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-k6hrnf35.js";
|
|
116
138
|
import {
|
|
117
139
|
resolveLanguageModel2
|
|
118
|
-
} from "./chunk-
|
|
140
|
+
} from "./chunk-mfs23znk.js";
|
|
119
141
|
import {
|
|
120
142
|
AI_MODEL_CALL_OUTPUT_TOKEN_ALLOWANCE,
|
|
121
143
|
aiModelCallOutputTokenAllowance
|
|
122
|
-
} from "./chunk-
|
|
144
|
+
} from "./chunk-ny3xyvcn.js";
|
|
123
145
|
import {
|
|
124
146
|
getTelemetryHistoryBatch2,
|
|
125
147
|
getLatestTelemetryPoint,
|
|
@@ -131,47 +153,39 @@ import {
|
|
|
131
153
|
upsertObject3,
|
|
132
154
|
upsertObjectBatch3,
|
|
133
155
|
appendTelemetry
|
|
134
|
-
} from "./chunk-
|
|
156
|
+
} from "./chunk-qxvp5epv.js";
|
|
135
157
|
import {
|
|
136
158
|
schemaRecordToJsonSchema2
|
|
137
159
|
} from "./chunk-6x0pqh32.js";
|
|
138
|
-
import {
|
|
139
|
-
PipelineError2,
|
|
140
|
-
requestPipelineRun2
|
|
141
|
-
} from "./chunk-sbcm1b92.js";
|
|
142
160
|
import {
|
|
143
161
|
getDatasetPrimaryKeyColumns2
|
|
144
|
-
} from "./chunk-
|
|
162
|
+
} from "./chunk-bwjcehza.js";
|
|
145
163
|
import {
|
|
146
164
|
executionRecordInputFromRuntime,
|
|
147
165
|
ensureExecutionRecord2,
|
|
148
166
|
createPrimitiveExecutionRecord
|
|
149
|
-
} from "./chunk-
|
|
167
|
+
} from "./chunk-ex496vct.js";
|
|
150
168
|
import {
|
|
151
169
|
ShareGrantStorageError2
|
|
152
170
|
} from "./chunk-br3k6qbf.js";
|
|
153
171
|
import {
|
|
154
172
|
ObjectNotFoundError2
|
|
155
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-y9jmd7e5.js";
|
|
156
174
|
import {
|
|
157
175
|
RuntimeError2
|
|
158
176
|
} from "./chunk-m4ehq95f.js";
|
|
159
177
|
import {
|
|
160
178
|
normalizeParams
|
|
161
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-vx2yp45y.js";
|
|
180
|
+
import {
|
|
181
|
+
OntologyValidationError2
|
|
182
|
+
} from "./chunk-cqr3acm1.js";
|
|
162
183
|
import {
|
|
163
184
|
ModelProviderError2,
|
|
164
185
|
ModelStreamError2,
|
|
165
186
|
UnsupportedModelFeatureError2,
|
|
166
187
|
StructuredOutputError2
|
|
167
188
|
} from "./chunk-kyjcwqz6.js";
|
|
168
|
-
import {
|
|
169
|
-
OntologyValidationError2
|
|
170
|
-
} from "./chunk-cqr3acm1.js";
|
|
171
|
-
import {
|
|
172
|
-
supportsDirectUpload2,
|
|
173
|
-
supportsRangeRead2
|
|
174
|
-
} from "./chunk-h3v76ams.js";
|
|
175
189
|
import {
|
|
176
190
|
isJsonValue2,
|
|
177
191
|
assertJsonValue2,
|
|
@@ -181,6 +195,22 @@ import {
|
|
|
181
195
|
isPlainRecord
|
|
182
196
|
} from "./chunk-wy0qdqfm.js";
|
|
183
197
|
|
|
198
|
+
// src/models/execution/binding.ts
|
|
199
|
+
var bindings = new WeakMap;
|
|
200
|
+
function registerModelExecutionBinding(models, bind) {
|
|
201
|
+
bindings.set(models, bind);
|
|
202
|
+
}
|
|
203
|
+
function bindModelExecutionAttempt(models, input) {
|
|
204
|
+
const bind = bindings.get(models);
|
|
205
|
+
if (!bind)
|
|
206
|
+
throw new Error("[SixbModels] Model runtime has no execution binding.");
|
|
207
|
+
if (!Number.isSafeInteger(input.attempt) || input.attempt < 1) {
|
|
208
|
+
throw new TypeError("[SixbModels] Execution attempt must be a positive safe integer.");
|
|
209
|
+
}
|
|
210
|
+
bind(input);
|
|
211
|
+
bindings.delete(models);
|
|
212
|
+
}
|
|
213
|
+
|
|
184
214
|
// src/actions/descriptor.ts
|
|
185
215
|
function snapshotActionDescriptor(action) {
|
|
186
216
|
const params = Object.fromEntries(Object.entries(action.params).map(([id, config]) => [id, structuredClone(config)]));
|
|
@@ -347,6 +377,29 @@ function createAgentRunExecutionToken2() {
|
|
|
347
377
|
// src/agents/request.ts
|
|
348
378
|
import { randomUUID as randomUUID2 } from "crypto";
|
|
349
379
|
|
|
380
|
+
// src/runtime/locale.ts
|
|
381
|
+
var DEFAULT_PROJECT_LOCALE = "en";
|
|
382
|
+
var DEFAULT_PROJECT_TIME_ZONE = "UTC";
|
|
383
|
+
function canonicalLocale(value) {
|
|
384
|
+
if (typeof value !== "string")
|
|
385
|
+
return;
|
|
386
|
+
try {
|
|
387
|
+
const [locale] = Intl.getCanonicalLocales(value);
|
|
388
|
+
return locale;
|
|
389
|
+
} catch {
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
function canonicalTimeZone(value) {
|
|
394
|
+
if (typeof value !== "string" || value.trim() !== value || value === "")
|
|
395
|
+
return;
|
|
396
|
+
try {
|
|
397
|
+
return new Intl.DateTimeFormat("en-US", { timeZone: value }).resolvedOptions().timeZone;
|
|
398
|
+
} catch {
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
350
403
|
// src/agents/context-resolution.ts
|
|
351
404
|
async function resolveAgentContextParts2(runtime, input) {
|
|
352
405
|
const entries = normalizeAgentContextEntries2(input);
|
|
@@ -496,7 +549,17 @@ async function requestAgentRun2(runtime, execution, models, input) {
|
|
|
496
549
|
assertNoAgentSelector(input);
|
|
497
550
|
assertAuthorized2(runtime, { kind: "agent.run" });
|
|
498
551
|
assertRequestAuthorityCanRunAgent(runtime);
|
|
499
|
-
const
|
|
552
|
+
const trigger = triggerParts(input);
|
|
553
|
+
const continued = input.continue ? await continuedSelection(runtime, models, input) : {};
|
|
554
|
+
const spec = await resolveConversationRunSpec({
|
|
555
|
+
models,
|
|
556
|
+
input: {
|
|
557
|
+
...input,
|
|
558
|
+
model: input.model ?? continued.model,
|
|
559
|
+
reasoning: input.reasoning ?? continued.reasoning
|
|
560
|
+
}
|
|
561
|
+
});
|
|
562
|
+
assertAttachments(input.attachments);
|
|
500
563
|
const contextParts = await resolveAgentContextParts2(runtime, input.context);
|
|
501
564
|
const agents = requireAgentStorage(runtime);
|
|
502
565
|
const projectId = runtime.projectId;
|
|
@@ -531,7 +594,7 @@ async function requestAgentRun2(runtime, execution, models, input) {
|
|
|
531
594
|
role: "user",
|
|
532
595
|
parts: [
|
|
533
596
|
...contextParts,
|
|
534
|
-
|
|
597
|
+
...trigger,
|
|
535
598
|
...(input.attachments ?? []).map((fileRef) => ({ type: "file", fileRef }))
|
|
536
599
|
],
|
|
537
600
|
authorPrincipal: principal
|
|
@@ -559,6 +622,9 @@ async function requestAgentRun2(runtime, execution, models, input) {
|
|
|
559
622
|
createdThread
|
|
560
623
|
};
|
|
561
624
|
}
|
|
625
|
+
function isRetryableAgentRun2(run) {
|
|
626
|
+
return run.status === "failed" || run.status === "cancelled" && run.finishReason === "interrupted";
|
|
627
|
+
}
|
|
562
628
|
async function retryAgentRun2(runtime, execution, models, failedRun) {
|
|
563
629
|
resolveExecutionScopeAuthorization(runtime.projectId, {
|
|
564
630
|
execution,
|
|
@@ -566,8 +632,8 @@ async function retryAgentRun2(runtime, execution, models, failedRun) {
|
|
|
566
632
|
});
|
|
567
633
|
assertAuthorized2(runtime, { kind: "agent.run" });
|
|
568
634
|
assertRequestAuthorityCanRunAgent(runtime);
|
|
569
|
-
if (failedRun
|
|
570
|
-
throw new AgentRequestError2("run_not_retryable", `[Sixb] Only failed Agent runs can be retried.`);
|
|
635
|
+
if (!isRetryableAgentRun2(failedRun)) {
|
|
636
|
+
throw new AgentRequestError2("run_not_retryable", `[Sixb] Only failed or interrupted Agent runs can be retried.`);
|
|
571
637
|
}
|
|
572
638
|
const agents = requireAgentStorage(runtime);
|
|
573
639
|
const thread = await agents.threads.getById({
|
|
@@ -598,7 +664,7 @@ async function retryAgentRun2(runtime, execution, models, failedRun) {
|
|
|
598
664
|
executionId: durableExecution.id,
|
|
599
665
|
threadId: failedRun.threadId,
|
|
600
666
|
triggerMessageId: failedRun.triggerMessageId,
|
|
601
|
-
spec: failedRun.spec ?? resolveConversationRunSpec({
|
|
667
|
+
spec: failedRun.spec ?? await resolveConversationRunSpec({
|
|
602
668
|
models,
|
|
603
669
|
input: {}
|
|
604
670
|
})
|
|
@@ -608,6 +674,48 @@ async function retryAgentRun2(runtime, execution, models, failedRun) {
|
|
|
608
674
|
const jobId = await dispatchAgentRun(runtime, agents, runId);
|
|
609
675
|
return { run, ...jobId ? { jobId } : {}, createdThread: false };
|
|
610
676
|
}
|
|
677
|
+
async function continuedSelection(runtime, models, input) {
|
|
678
|
+
const agents = requireAgentStorage(runtime);
|
|
679
|
+
const threadId = input.threadId ?? "";
|
|
680
|
+
if (!await agents.threads.getById({ projectId: runtime.projectId, id: threadId })) {
|
|
681
|
+
throw new AgentRequestError2("thread_not_found", "[Sixb] An Agent continuation needs an existing thread.");
|
|
682
|
+
}
|
|
683
|
+
if (input.model !== undefined || input.reasoning !== undefined)
|
|
684
|
+
return {};
|
|
685
|
+
const { runs } = await agents.runs.list({
|
|
686
|
+
projectId: runtime.projectId,
|
|
687
|
+
threadId,
|
|
688
|
+
kinds: ["conversation"],
|
|
689
|
+
order: "desc",
|
|
690
|
+
limit: 1
|
|
691
|
+
});
|
|
692
|
+
const spec = runs[0]?.kind === "conversation" ? runs[0].spec : undefined;
|
|
693
|
+
if (!spec || !models?.getByRef(spec.model))
|
|
694
|
+
return {};
|
|
695
|
+
return {
|
|
696
|
+
model: spec.model,
|
|
697
|
+
...spec.reasoning === undefined ? {} : { reasoning: spec.reasoning }
|
|
698
|
+
};
|
|
699
|
+
}
|
|
700
|
+
function triggerParts(input) {
|
|
701
|
+
if (input.continue === true) {
|
|
702
|
+
if (input.text !== undefined || input.attachments?.length || input.context?.length) {
|
|
703
|
+
throw new AgentRequestError2("invalid_message", "[Sixb] An Agent continuation carries no text, attachments, or context.");
|
|
704
|
+
}
|
|
705
|
+
return [{ type: "continuation" }];
|
|
706
|
+
}
|
|
707
|
+
if (typeof input.text !== "string" || input.text.trim().length === 0) {
|
|
708
|
+
throw new AgentRequestError2("invalid_message", "[Sixb] An Agent message needs text, or `continue: true` to continue the previous answer.");
|
|
709
|
+
}
|
|
710
|
+
return [{ type: "text", text: input.text }];
|
|
711
|
+
}
|
|
712
|
+
function assertAttachments(attachments) {
|
|
713
|
+
for (const [index, attachment] of (attachments ?? []).entries()) {
|
|
714
|
+
if (!isValidFileRef(attachment)) {
|
|
715
|
+
throw new AgentRequestError2("invalid_attachment", `[Sixb] Attachment ${index} is not a valid file reference.`);
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
}
|
|
611
719
|
function assertSandboxExecutionAvailable(thread) {
|
|
612
720
|
if (thread.sandboxState && !["new", "ready"].includes(thread.sandboxState.status)) {
|
|
613
721
|
throw new AgentRequestError2("sandbox_execution_unavailable", "[Sixb] Sandbox recovery is required before another run. Reload the thread and explicitly recreate it to start fresh.");
|
|
@@ -634,7 +742,7 @@ async function assertAiLimitPreflight(runtime, execution) {
|
|
|
634
742
|
throw aiUsageLimitExceededError2(resetAt);
|
|
635
743
|
}
|
|
636
744
|
}
|
|
637
|
-
function resolveConversationRunSpec(input) {
|
|
745
|
+
async function resolveConversationRunSpec(input) {
|
|
638
746
|
if (!input.models) {
|
|
639
747
|
throw new AgentRequestError2("model_not_found", "[Sixb] Configure models.language before starting the Agent.");
|
|
640
748
|
}
|
|
@@ -643,15 +751,41 @@ function resolveConversationRunSpec(input) {
|
|
|
643
751
|
if (model === null) {
|
|
644
752
|
throw new AgentRequestError2("model_not_found", `[Sixb] Language model '${selected.provider}/${selected.modelId}' is not in the project model catalog.`);
|
|
645
753
|
}
|
|
646
|
-
const
|
|
647
|
-
if (
|
|
648
|
-
|
|
754
|
+
const explicitReasoning = input.input.reasoning;
|
|
755
|
+
if (explicitReasoning !== undefined) {
|
|
756
|
+
await assertModelSupportsReasoning(model, explicitReasoning);
|
|
649
757
|
}
|
|
758
|
+
const reasoning = explicitReasoning ?? model.model.defaultReasoning;
|
|
759
|
+
const timeZone = requestedSetting("timeZone", input.input.timeZone, canonicalTimeZone, "an IANA time zone");
|
|
760
|
+
const locale = requestedSetting("locale", input.input.locale, canonicalLocale, "a BCP 47 language tag");
|
|
650
761
|
return Object.freeze({
|
|
651
762
|
model: Object.freeze({ provider: selected.provider, modelId: selected.modelId }),
|
|
652
|
-
...reasoning === undefined ? {} : { reasoning }
|
|
763
|
+
...reasoning === undefined ? {} : { reasoning },
|
|
764
|
+
...timeZone === undefined ? {} : { timeZone },
|
|
765
|
+
...locale === undefined ? {} : { locale }
|
|
653
766
|
});
|
|
654
767
|
}
|
|
768
|
+
function requestedSetting(field, value, canonical, expected) {
|
|
769
|
+
if (value === undefined)
|
|
770
|
+
return;
|
|
771
|
+
const resolved = canonical(value);
|
|
772
|
+
if (resolved === undefined) {
|
|
773
|
+
throw new AgentRequestError2("invalid_locale", `[Sixb] Agent request '${field}' must be ${expected}; received ${JSON.stringify(value)}.`);
|
|
774
|
+
}
|
|
775
|
+
return resolved;
|
|
776
|
+
}
|
|
777
|
+
async function assertModelSupportsReasoning(entry, reasoning) {
|
|
778
|
+
if (!isModelReasoning2(reasoning)) {
|
|
779
|
+
throw new AgentRequestError2("invalid_model_selection", `[Sixb] Agent reasoning must be one of: ${AGENT_REASONING_LEVELS2.join(", ")}, or a nonnegative budgetTokens object.`);
|
|
780
|
+
}
|
|
781
|
+
if (reasoning === "provider-default")
|
|
782
|
+
return;
|
|
783
|
+
const model = await resolveLanguageModel2(entry.model);
|
|
784
|
+
const issue = modelReasoningSupportIssue2(model.definition.capabilities.reasoning, reasoning);
|
|
785
|
+
if (issue !== undefined) {
|
|
786
|
+
throw new AgentRequestError2("invalid_model_selection", `[Sixb] Language model '${entry.provider}/${entry.modelId}' cannot use this reasoning: ${issue}.`);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
655
789
|
async function prepareDurableAgentExecution(runtime, execution, runId) {
|
|
656
790
|
const parent = await ensureExecutionRecord2(runtime.storage.executions, executionRecordInputFromRuntime({
|
|
657
791
|
execution,
|
|
@@ -1038,11 +1172,19 @@ function createAiUsageRuntime(runtime, security) {
|
|
|
1038
1172
|
};
|
|
1039
1173
|
}
|
|
1040
1174
|
// src/blob-storage/execution.ts
|
|
1041
|
-
function createBlobsRuntime(runtime, execution, blobStorage) {
|
|
1175
|
+
function createBlobsRuntime(runtime, execution, blobStorage, apiPublicOrigin) {
|
|
1042
1176
|
const assertAccess = () => assertProviderAccess2(runtime, execution, "blobs.access");
|
|
1177
|
+
const downloadUrlContext = () => ({
|
|
1178
|
+
projectId: runtime.projectId,
|
|
1179
|
+
storage: runtime.storage,
|
|
1180
|
+
blobStorage,
|
|
1181
|
+
executionId: execution.id,
|
|
1182
|
+
apiPublicOrigin: apiPublicOrigin()
|
|
1183
|
+
});
|
|
1043
1184
|
const executionBlobs = {
|
|
1044
1185
|
put: (input) => {
|
|
1045
1186
|
assertAccess();
|
|
1187
|
+
assertMediaType("put", input.mediaType);
|
|
1046
1188
|
return blobStorage.put(input);
|
|
1047
1189
|
},
|
|
1048
1190
|
open: (blobId) => {
|
|
@@ -1052,6 +1194,14 @@ function createBlobsRuntime(runtime, execution, blobStorage) {
|
|
|
1052
1194
|
stat: (blobId) => {
|
|
1053
1195
|
assertAccess();
|
|
1054
1196
|
return blobStorage.stat(blobId);
|
|
1197
|
+
},
|
|
1198
|
+
createDownloadUrl: async (file, options) => {
|
|
1199
|
+
assertAccess();
|
|
1200
|
+
return createFileDownloadUrl(downloadUrlContext(), file, options);
|
|
1201
|
+
},
|
|
1202
|
+
revokeDownloadUrl: async (id) => {
|
|
1203
|
+
assertAccess();
|
|
1204
|
+
return revokeFileDownloadUrl(downloadUrlContext(), id);
|
|
1055
1205
|
}
|
|
1056
1206
|
};
|
|
1057
1207
|
if (supportsRangeRead2(blobStorage)) {
|
|
@@ -1063,6 +1213,7 @@ function createBlobsRuntime(runtime, execution, blobStorage) {
|
|
|
1063
1213
|
if (supportsDirectUpload2(blobStorage)) {
|
|
1064
1214
|
executionBlobs.createUpload = (input) => {
|
|
1065
1215
|
assertAccess();
|
|
1216
|
+
assertMediaType("createUpload", input.mediaType);
|
|
1066
1217
|
return blobStorage.createUpload(input);
|
|
1067
1218
|
};
|
|
1068
1219
|
executionBlobs.signUploadPart = (input) => {
|
|
@@ -1071,6 +1222,7 @@ function createBlobsRuntime(runtime, execution, blobStorage) {
|
|
|
1071
1222
|
};
|
|
1072
1223
|
executionBlobs.completeUpload = (input) => {
|
|
1073
1224
|
assertAccess();
|
|
1225
|
+
assertMediaType("completeUpload", input.mediaType);
|
|
1074
1226
|
return blobStorage.completeUpload(input);
|
|
1075
1227
|
};
|
|
1076
1228
|
executionBlobs.abortUpload = (input) => {
|
|
@@ -1080,6 +1232,11 @@ function createBlobsRuntime(runtime, execution, blobStorage) {
|
|
|
1080
1232
|
}
|
|
1081
1233
|
return Object.freeze(executionBlobs);
|
|
1082
1234
|
}
|
|
1235
|
+
function assertMediaType(method, mediaType) {
|
|
1236
|
+
if (mediaType !== undefined && canonicalMediaType2(mediaType) === null) {
|
|
1237
|
+
throw new Error(`[Sixb] blobs.${method}() mediaType must be one media type, such as "application/pdf". Received ${JSON.stringify(mediaType)}.`);
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1083
1240
|
|
|
1084
1241
|
// src/connectors/connections/execution.ts
|
|
1085
1242
|
function createConnectorConnectionsRuntime(runtime, execution, process) {
|
|
@@ -1133,6 +1290,33 @@ function createDatasetsRuntime(runtime, execution, source, lakeStorage, blobStor
|
|
|
1133
1290
|
const dataset = source.getById(datasetId);
|
|
1134
1291
|
return dataset && allowed(datasetId) ? dataset : null;
|
|
1135
1292
|
},
|
|
1293
|
+
async readRows(dataset, input = {}) {
|
|
1294
|
+
assertAuthorized2(runtime, { kind: "dataset.view", datasetId: dataset.id });
|
|
1295
|
+
const registered = source.getById(dataset.id);
|
|
1296
|
+
if (!registered)
|
|
1297
|
+
throw new Error(`[Sixb] Dataset '${dataset.id}' is not registered.`);
|
|
1298
|
+
const version = input.versionId === undefined ? await lakeStorage.getLatestVersion(registered.id) : await lakeStorage.getVersion(registered.id, input.versionId);
|
|
1299
|
+
if (!version)
|
|
1300
|
+
return null;
|
|
1301
|
+
const redacted = redactedColumns(registered, assertRuntimeAuthorizationBound2(runtime));
|
|
1302
|
+
const selected = selectColumns(version, input.columns);
|
|
1303
|
+
const columns = selected.filter((column) => !redacted.has(column));
|
|
1304
|
+
const read = (readColumns) => lakeStorage.readRows({
|
|
1305
|
+
datasetId: registered.id,
|
|
1306
|
+
versionId: version.versionId,
|
|
1307
|
+
columns: readColumns,
|
|
1308
|
+
limit: input.limit,
|
|
1309
|
+
offset: input.offset,
|
|
1310
|
+
signal: input.signal
|
|
1311
|
+
});
|
|
1312
|
+
const rows = columns.length === selected.length ? read(input.columns) : columns.length > 0 ? read(columns) : emptyRows(read(selected.slice(0, 1)));
|
|
1313
|
+
return {
|
|
1314
|
+
version,
|
|
1315
|
+
columns,
|
|
1316
|
+
...redacted.size > 0 ? { redactions: missingClearanceRedactions(redacted) } : {},
|
|
1317
|
+
rows
|
|
1318
|
+
};
|
|
1319
|
+
},
|
|
1136
1320
|
async ingest(dataset, input) {
|
|
1137
1321
|
assertPrivileged2(runtime, "datasets.ingest");
|
|
1138
1322
|
const registered = source.getById(dataset.id);
|
|
@@ -1177,33 +1361,48 @@ function createDatasetsRuntime(runtime, execution, source, lakeStorage, blobStor
|
|
|
1177
1361
|
}
|
|
1178
1362
|
};
|
|
1179
1363
|
}
|
|
1364
|
+
function selectColumns(version, requested) {
|
|
1365
|
+
const available = version.schema.columns.map((column) => column.name);
|
|
1366
|
+
if (requested === undefined || requested.length === 0)
|
|
1367
|
+
return available;
|
|
1368
|
+
for (const column of requested) {
|
|
1369
|
+
if (!available.includes(column)) {
|
|
1370
|
+
throw new Error(`[Sixb] Dataset '${version.datasetId}' does not have column '${column}' at version '${version.versionId}'.`);
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1373
|
+
return [...requested];
|
|
1374
|
+
}
|
|
1375
|
+
function redactedColumns(dataset, authority) {
|
|
1376
|
+
if (authority.type === "unrestricted")
|
|
1377
|
+
return new Set;
|
|
1378
|
+
const clearances = authority.type === "principal" ? authority.context.clearances ?? new Set : new Set;
|
|
1379
|
+
return new Set(dataset.schema.columns.filter((column) => column.markings?.some((markingId) => !clearances.has(markingId))).map((column) => column.name));
|
|
1380
|
+
}
|
|
1381
|
+
async function* emptyRows(rows) {
|
|
1382
|
+
for await (const _row of rows)
|
|
1383
|
+
yield {};
|
|
1384
|
+
}
|
|
1180
1385
|
|
|
1181
1386
|
// src/events/execution.ts
|
|
1182
1387
|
function createEventsRuntime(runtime) {
|
|
1183
1388
|
const authority = resolveRuntimeAuthorizationForProject(runtime);
|
|
1184
|
-
const
|
|
1389
|
+
const clearance = authority.type === "principal" ? resolvePropertyClearance(runtime.ontology, authority.context.clearances ?? new Set) : undefined;
|
|
1390
|
+
const readable = (event) => {
|
|
1185
1391
|
switch (authority.type) {
|
|
1186
1392
|
case "denied":
|
|
1187
1393
|
case "delegated":
|
|
1188
|
-
return
|
|
1394
|
+
return;
|
|
1189
1395
|
case "principal":
|
|
1190
|
-
|
|
1396
|
+
if (!canViewEvent2(authority.context, event))
|
|
1397
|
+
return;
|
|
1398
|
+
return clearance ? redactDomainEvent(event, clearance) : event;
|
|
1191
1399
|
case "unrestricted":
|
|
1192
|
-
return
|
|
1400
|
+
return event;
|
|
1193
1401
|
}
|
|
1194
1402
|
};
|
|
1403
|
+
const visibleEvents = (events) => events.flatMap((event) => readable(event) ?? []);
|
|
1195
1404
|
return {
|
|
1196
|
-
|
|
1197
|
-
switch (authority.type) {
|
|
1198
|
-
case "denied":
|
|
1199
|
-
case "delegated":
|
|
1200
|
-
return false;
|
|
1201
|
-
case "principal":
|
|
1202
|
-
return canViewEvent2(authority.context, event);
|
|
1203
|
-
case "unrestricted":
|
|
1204
|
-
return true;
|
|
1205
|
-
}
|
|
1206
|
-
},
|
|
1405
|
+
readable,
|
|
1207
1406
|
append: (input) => {
|
|
1208
1407
|
assertPrivileged2(runtime, "events.append");
|
|
1209
1408
|
return runtime.events.append(input);
|
|
@@ -2041,8 +2240,179 @@ function isAbortError(error) {
|
|
|
2041
2240
|
return error instanceof DOMException && error.name === "AbortError" || error instanceof Error && error.name === "AbortError";
|
|
2042
2241
|
}
|
|
2043
2242
|
|
|
2044
|
-
// src/models/
|
|
2243
|
+
// src/models/audio/runtime.ts
|
|
2045
2244
|
import { randomUUID as randomUUID5 } from "crypto";
|
|
2245
|
+
|
|
2246
|
+
// src/models/audio/file.ts
|
|
2247
|
+
import { createHash as createHash2 } from "crypto";
|
|
2248
|
+
function prepareTranscriptionFile(input) {
|
|
2249
|
+
if (!isFileRef2(input) || !Number.isSafeInteger(input.sizeBytes) || input.sizeBytes <= 0) {
|
|
2250
|
+
throw new TypeError("[SixbModels] Transcription requires a nonempty FileRef.");
|
|
2251
|
+
}
|
|
2252
|
+
const audio = { ...input };
|
|
2253
|
+
const mediaType = audio.mediaType?.split(";", 1)[0]?.trim().toLowerCase();
|
|
2254
|
+
if (!mediaType || !/^audio\/[a-z0-9.+-]+$/.test(mediaType)) {
|
|
2255
|
+
throw new TypeError("[SixbModels] Audio FileRef must declare an audio mediaType.");
|
|
2256
|
+
}
|
|
2257
|
+
return { audio, mediaType };
|
|
2258
|
+
}
|
|
2259
|
+
async function readTranscriptionFile(storage, file, signal) {
|
|
2260
|
+
const info = await storage.stat(file.blobId);
|
|
2261
|
+
signal.throwIfAborted();
|
|
2262
|
+
if (!info || info.blobId !== file.blobId || info.digest !== file.digest || info.sizeBytes !== file.sizeBytes) {
|
|
2263
|
+
throw new Error("[SixbModels] Audio reference does not match the stored file.");
|
|
2264
|
+
}
|
|
2265
|
+
const stream = await storage.open(file.blobId);
|
|
2266
|
+
const reader = stream.getReader();
|
|
2267
|
+
const cancel = () => {
|
|
2268
|
+
reader.cancel(signal.reason).catch(() => {
|
|
2269
|
+
return;
|
|
2270
|
+
});
|
|
2271
|
+
};
|
|
2272
|
+
signal.addEventListener("abort", cancel, { once: true });
|
|
2273
|
+
let complete = false;
|
|
2274
|
+
try {
|
|
2275
|
+
signal.throwIfAborted();
|
|
2276
|
+
const bytes = new Uint8Array(file.sizeBytes);
|
|
2277
|
+
const hash = createHash2("sha256");
|
|
2278
|
+
let offset = 0;
|
|
2279
|
+
while (true) {
|
|
2280
|
+
const { value, done } = await reader.read();
|
|
2281
|
+
signal.throwIfAborted();
|
|
2282
|
+
if (done)
|
|
2283
|
+
break;
|
|
2284
|
+
if (!(value instanceof Uint8Array) || value.byteLength > bytes.byteLength - offset) {
|
|
2285
|
+
throw new Error("[SixbModels] Audio stream exceeds its declared size.");
|
|
2286
|
+
}
|
|
2287
|
+
bytes.set(value, offset);
|
|
2288
|
+
hash.update(value);
|
|
2289
|
+
offset += value.byteLength;
|
|
2290
|
+
}
|
|
2291
|
+
if (offset !== file.sizeBytes || `sha256:${hash.digest("hex")}` !== file.digest) {
|
|
2292
|
+
throw new Error("[SixbModels] Audio stream does not match its content-addressed reference.");
|
|
2293
|
+
}
|
|
2294
|
+
complete = true;
|
|
2295
|
+
return bytes;
|
|
2296
|
+
} finally {
|
|
2297
|
+
signal.removeEventListener("abort", cancel);
|
|
2298
|
+
if (!complete) {
|
|
2299
|
+
reader.cancel().catch(() => {
|
|
2300
|
+
return;
|
|
2301
|
+
});
|
|
2302
|
+
}
|
|
2303
|
+
reader.releaseLock();
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
|
|
2307
|
+
// src/models/audio/runtime.ts
|
|
2308
|
+
function createAudioRuntime(runtime, execution, catalog, session, blobs) {
|
|
2309
|
+
return {
|
|
2310
|
+
async transcribe(input) {
|
|
2311
|
+
assertProviderAccess2(runtime, execution, "models.audio.transcribe");
|
|
2312
|
+
const { audio, mediaType } = prepareTranscriptionFile(input.audio);
|
|
2313
|
+
if (!blobs) {
|
|
2314
|
+
throw new Error("[SixbModels] Transcription requires blob storage.");
|
|
2315
|
+
}
|
|
2316
|
+
const signal = session.signal(input.signal);
|
|
2317
|
+
signal.throwIfAborted();
|
|
2318
|
+
const binding = selectModel(catalog, input.model);
|
|
2319
|
+
assertTranscriptionModel(binding);
|
|
2320
|
+
assertFileSupport(binding, audio.sizeBytes, mediaType);
|
|
2321
|
+
const accounting = await session.accounting();
|
|
2322
|
+
accounting.assertHealthy();
|
|
2323
|
+
const model = binding.resolve ? await binding.resolve() : binding;
|
|
2324
|
+
assertTranscriptionModel(model);
|
|
2325
|
+
if (model.providerId !== binding.providerId || model.modelId !== binding.modelId) {
|
|
2326
|
+
throw new TypeError("[SixbModels] Resolved transcription model identity does not match the selected model.");
|
|
2327
|
+
}
|
|
2328
|
+
assertFileSupport(model, audio.sizeBytes, mediaType);
|
|
2329
|
+
signal.throwIfAborted();
|
|
2330
|
+
const bytes = await readTranscriptionFile(blobs, audio, signal);
|
|
2331
|
+
accounting.assertHealthy();
|
|
2332
|
+
const reservationCost = estimateReservationCost(model, bytes.byteLength, mediaType);
|
|
2333
|
+
const callId = `call_${randomUUID5()}`;
|
|
2334
|
+
await accounting.admitCall({
|
|
2335
|
+
callId,
|
|
2336
|
+
providerId: model.providerId,
|
|
2337
|
+
modelId: model.modelId,
|
|
2338
|
+
modelKind: "transcription",
|
|
2339
|
+
inputTokens: { status: "unavailable", reason: "nonTextInput" },
|
|
2340
|
+
outputTokenAllowance: 0,
|
|
2341
|
+
reservationCost
|
|
2342
|
+
});
|
|
2343
|
+
let result;
|
|
2344
|
+
try {
|
|
2345
|
+
signal.throwIfAborted();
|
|
2346
|
+
result = await model.transcribe({ audio: bytes, mediaType, signal });
|
|
2347
|
+
} catch (error) {
|
|
2348
|
+
await recordTranscription(accounting, model, callId, error instanceof TranscriptionModelResponseError2 ? error.metadata : {});
|
|
2349
|
+
throw error;
|
|
2350
|
+
}
|
|
2351
|
+
const event = await recordTranscription(accounting, model, callId, result ?? {});
|
|
2352
|
+
signal.throwIfAborted();
|
|
2353
|
+
if (typeof result?.output?.text !== "string") {
|
|
2354
|
+
throw new TranscriptionModelResponseError2("[SixbModels] Invalid transcription response.", model.providerId, model.modelId, result ?? {});
|
|
2355
|
+
}
|
|
2356
|
+
return {
|
|
2357
|
+
output: { text: result.output.text },
|
|
2358
|
+
usage: event.usage,
|
|
2359
|
+
cost: event.cost,
|
|
2360
|
+
callId
|
|
2361
|
+
};
|
|
2362
|
+
}
|
|
2363
|
+
};
|
|
2364
|
+
}
|
|
2365
|
+
function selectModel(catalog, requested) {
|
|
2366
|
+
if (!catalog && requested)
|
|
2367
|
+
return requested;
|
|
2368
|
+
const transcribers = catalog?.audio?.transcription;
|
|
2369
|
+
const selected = requested ? transcribers?.getByRef({ provider: requested.providerId, modelId: requested.modelId })?.model : transcribers?.default.model;
|
|
2370
|
+
if (!selected) {
|
|
2371
|
+
throw new Error("[SixbModels] Configure the selected model in models.audio.transcription, or supply a model when no catalog is configured.");
|
|
2372
|
+
}
|
|
2373
|
+
return selected;
|
|
2374
|
+
}
|
|
2375
|
+
function assertFileSupport(model, sizeBytes, mediaType) {
|
|
2376
|
+
if (sizeBytes > model.definition.maxInputBytes) {
|
|
2377
|
+
throw new RangeError(`[SixbModels] Audio exceeds the model's ${model.definition.maxInputBytes}-byte input limit.`);
|
|
2378
|
+
}
|
|
2379
|
+
if (model.definition.mediaTypes && !model.definition.mediaTypes.includes(mediaType)) {
|
|
2380
|
+
throw new TypeError(`[SixbModels] Audio media type '${mediaType}' is not supported by the selected model.`);
|
|
2381
|
+
}
|
|
2382
|
+
}
|
|
2383
|
+
function estimateReservationCost(model, sizeBytes, mediaType) {
|
|
2384
|
+
try {
|
|
2385
|
+
return model.costEstimator?.estimateReservation?.({ sizeBytes, mediaType });
|
|
2386
|
+
} catch {
|
|
2387
|
+
return;
|
|
2388
|
+
}
|
|
2389
|
+
}
|
|
2390
|
+
async function recordTranscription(accounting, model, callId, metadata) {
|
|
2391
|
+
const usage = metadata.usage ?? {};
|
|
2392
|
+
const estimate = estimateModelCall(model, {
|
|
2393
|
+
usage,
|
|
2394
|
+
route: metadata.route,
|
|
2395
|
+
responseModelId: metadata.responseModelId
|
|
2396
|
+
});
|
|
2397
|
+
const event = {
|
|
2398
|
+
callId,
|
|
2399
|
+
modelKind: "transcription",
|
|
2400
|
+
providerId: model.providerId,
|
|
2401
|
+
modelId: model.modelId,
|
|
2402
|
+
responseId: metadata.providerIds?.responseId ?? callId,
|
|
2403
|
+
providerIds: metadata.providerIds,
|
|
2404
|
+
responseModelId: metadata.responseModelId,
|
|
2405
|
+
usage,
|
|
2406
|
+
cost: metadata.reportedCost ? { status: "reported", ...metadata.reportedCost } : estimate,
|
|
2407
|
+
...metadata.reportedCost ? { estimate } : {},
|
|
2408
|
+
route: metadata.route
|
|
2409
|
+
};
|
|
2410
|
+
await accounting.onModelCallEnd(event);
|
|
2411
|
+
return event;
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
// src/models/decision/runtime.ts
|
|
2415
|
+
import { randomUUID as randomUUID6 } from "crypto";
|
|
2046
2416
|
function createDecisionRuntime(runtime, execution, catalog, session) {
|
|
2047
2417
|
return {
|
|
2048
2418
|
async evaluate(input) {
|
|
@@ -2116,7 +2486,7 @@ function resolveDecisionModel(catalog, requested) {
|
|
|
2116
2486
|
return entry.model;
|
|
2117
2487
|
}
|
|
2118
2488
|
async function admitDecisionCall(accounting, model, request) {
|
|
2119
|
-
const callId = `call_${
|
|
2489
|
+
const callId = `call_${randomUUID6()}`;
|
|
2120
2490
|
const serialized = JSON.stringify({ input: request.input, questions: request.questions });
|
|
2121
2491
|
const tokens = Math.ceil(new TextEncoder().encode(serialized).byteLength / 4);
|
|
2122
2492
|
const outputTokenAllowance = AI_MODEL_CALL_OUTPUT_TOKEN_ALLOWANCE;
|
|
@@ -2154,22 +2524,6 @@ async function recordDecision(accounting, model, callId, metadata) {
|
|
|
2154
2524
|
return event;
|
|
2155
2525
|
}
|
|
2156
2526
|
|
|
2157
|
-
// src/models/execution/binding.ts
|
|
2158
|
-
var bindings = new WeakMap;
|
|
2159
|
-
function registerModelExecutionBinding(models, bind) {
|
|
2160
|
-
bindings.set(models, bind);
|
|
2161
|
-
}
|
|
2162
|
-
function bindModelExecutionAttempt(models, input) {
|
|
2163
|
-
const bind = bindings.get(models);
|
|
2164
|
-
if (!bind)
|
|
2165
|
-
throw new Error("[SixbModels] Model runtime has no execution binding.");
|
|
2166
|
-
if (!Number.isSafeInteger(input.attempt) || input.attempt < 1) {
|
|
2167
|
-
throw new TypeError("[SixbModels] Execution attempt must be a positive safe integer.");
|
|
2168
|
-
}
|
|
2169
|
-
bind(input);
|
|
2170
|
-
bindings.delete(models);
|
|
2171
|
-
}
|
|
2172
|
-
|
|
2173
2527
|
// src/models/output.ts
|
|
2174
2528
|
function languageModelOutput(shape, valueTypesById) {
|
|
2175
2529
|
if (!isRecord2(shape))
|
|
@@ -2200,7 +2554,7 @@ function languageModelOutput(shape, valueTypesById) {
|
|
|
2200
2554
|
}
|
|
2201
2555
|
|
|
2202
2556
|
// src/models/execution.ts
|
|
2203
|
-
function createModelsRuntime(runtime, execution, catalog) {
|
|
2557
|
+
function createModelsRuntime(runtime, execution, catalog, blobs) {
|
|
2204
2558
|
const session = runtime.modelExecution ?? new ModelExecutionSession(runtime, execution);
|
|
2205
2559
|
async function generate(input) {
|
|
2206
2560
|
assertProviderAccess2(runtime, execution, "models.language.generate");
|
|
@@ -2219,11 +2573,12 @@ function createModelsRuntime(runtime, execution, catalog) {
|
|
|
2219
2573
|
const reasoningIssue = modelReasoningSupportIssue2(model.definition.capabilities.reasoning, input.reasoning);
|
|
2220
2574
|
if (reasoningIssue)
|
|
2221
2575
|
throw new UnsupportedModelFeatureError2(`[SixbModels] ${reasoningIssue}.`);
|
|
2576
|
+
const reasoning = input.reasoning ?? selected.defaultReasoning;
|
|
2222
2577
|
if (output && model.definition.capabilities.nativeStructuredOutput === false) {
|
|
2223
2578
|
throw new UnsupportedModelFeatureError2("[SixbModels] Model does not support native structured output.");
|
|
2224
2579
|
}
|
|
2225
2580
|
const maxOutputTokens = Math.min(aiModelCallOutputTokenAllowance(input.maxOutputTokens ?? model.definition.maxOutputTokens), model.definition.maxOutputTokens ?? Infinity);
|
|
2226
|
-
if (typeof
|
|
2581
|
+
if (typeof reasoning === "object" && reasoning.budgetTokens >= maxOutputTokens) {
|
|
2227
2582
|
throw new TypeError("[SixbModels] Output allowance must exceed the reasoning token budget.");
|
|
2228
2583
|
}
|
|
2229
2584
|
const accounting = await session.accounting();
|
|
@@ -2236,7 +2591,7 @@ function createModelsRuntime(runtime, execution, catalog) {
|
|
|
2236
2591
|
maxSteps: 1,
|
|
2237
2592
|
rejectLocalToolCalls: true,
|
|
2238
2593
|
maxOutputTokens,
|
|
2239
|
-
reasoning
|
|
2594
|
+
reasoning,
|
|
2240
2595
|
caching: input.caching,
|
|
2241
2596
|
signal,
|
|
2242
2597
|
onModelCallEnd: async (completed) => {
|
|
@@ -2264,7 +2619,8 @@ function createModelsRuntime(runtime, execution, catalog) {
|
|
|
2264
2619
|
}
|
|
2265
2620
|
const models = {
|
|
2266
2621
|
language: { generate },
|
|
2267
|
-
decision: createDecisionRuntime(runtime, execution, catalog, session)
|
|
2622
|
+
decision: createDecisionRuntime(runtime, execution, catalog, session),
|
|
2623
|
+
audio: createAudioRuntime(runtime, execution, catalog, session, blobs)
|
|
2268
2624
|
};
|
|
2269
2625
|
registerModelExecutionBinding(models, (input) => {
|
|
2270
2626
|
session.bind(input);
|
|
@@ -2297,7 +2653,7 @@ function generationMessages(input) {
|
|
|
2297
2653
|
}
|
|
2298
2654
|
|
|
2299
2655
|
// src/objects/execution.ts
|
|
2300
|
-
function createObjectsRuntime(runtime, execution) {
|
|
2656
|
+
function createObjectsRuntime(runtime, execution, blobStorage) {
|
|
2301
2657
|
const runtimeAuthorization = runtime.runtimeAuthorization;
|
|
2302
2658
|
const objectReader = runtime.objectReader;
|
|
2303
2659
|
assertAuthorizedObjectReaderBinding({
|
|
@@ -2327,7 +2683,8 @@ function createObjectsRuntime(runtime, execution) {
|
|
|
2327
2683
|
return createObjectSet2({
|
|
2328
2684
|
...capturedRuntime,
|
|
2329
2685
|
execution,
|
|
2330
|
-
objectType
|
|
2686
|
+
objectType,
|
|
2687
|
+
blobStorage
|
|
2331
2688
|
});
|
|
2332
2689
|
}, {
|
|
2333
2690
|
listTypes: () => ontologyView().listObjectTypes(),
|
|
@@ -2628,7 +2985,7 @@ function createSchedulesRuntime(runtime, schedules) {
|
|
|
2628
2985
|
}
|
|
2629
2986
|
|
|
2630
2987
|
// src/shares/execution.ts
|
|
2631
|
-
import { createHash as
|
|
2988
|
+
import { createHash as createHash3, randomBytes, randomUUID as randomUUID7 } from "crypto";
|
|
2632
2989
|
var MAX_CREATE_ATTEMPTS = 5;
|
|
2633
2990
|
|
|
2634
2991
|
class ShareError2 extends Error {
|
|
@@ -2695,7 +3052,7 @@ function createSharesRuntime(runtime, execution, definitions) {
|
|
|
2695
3052
|
const secret = randomBytes(32).toString("base64url");
|
|
2696
3053
|
try {
|
|
2697
3054
|
const grant = await storage.create({
|
|
2698
|
-
id: `shr_${
|
|
3055
|
+
id: `shr_${randomUUID7()}`,
|
|
2699
3056
|
projectId: runtime.projectId,
|
|
2700
3057
|
definitionId: definition.id,
|
|
2701
3058
|
target,
|
|
@@ -2860,7 +3217,7 @@ function validFutureDate(value, now) {
|
|
|
2860
3217
|
return new Date(value);
|
|
2861
3218
|
}
|
|
2862
3219
|
function sha256(value) {
|
|
2863
|
-
return
|
|
3220
|
+
return createHash3("sha256").update(value).digest("hex");
|
|
2864
3221
|
}
|
|
2865
3222
|
function publicGrant(record) {
|
|
2866
3223
|
const {
|
|
@@ -2951,7 +3308,7 @@ class WorkflowValidationError2 extends Error {
|
|
|
2951
3308
|
}
|
|
2952
3309
|
|
|
2953
3310
|
// src/workflows/run-dispatch.ts
|
|
2954
|
-
import { randomUUID as
|
|
3311
|
+
import { randomUUID as randomUUID8 } from "crypto";
|
|
2955
3312
|
import { isDeepStrictEqual } from "util";
|
|
2956
3313
|
|
|
2957
3314
|
// src/workflows/validation.ts
|
|
@@ -2964,7 +3321,7 @@ function isStepDefinition2(value) {
|
|
|
2964
3321
|
return isRecord(value) && value.kind === "step" && typeof value.id === "string" && isRecord(value.input) && isRecord(value.output) && typeof value.handler === "function";
|
|
2965
3322
|
}
|
|
2966
3323
|
function isAgentStepDefinition2(value) {
|
|
2967
|
-
return isRecord(value) && value.kind === "agentStep" && typeof value.id === "string" && (value.model === undefined || isLanguageModel(value.model)) && (value.reasoning === undefined || isModelReasoning2(value.reasoning)) && typeof value.instructions === "string" && isStringArray(value.groupIds) && isStringArray(value.toolNames) && isRecord(value.input) && isRecord(value.output) && typeof value.prompt === "function";
|
|
3324
|
+
return isRecord(value) && value.kind === "agentStep" && typeof value.id === "string" && (value.model === undefined || isLanguageModel(value.model)) && (value.reasoning === undefined || isModelReasoning2(value.reasoning)) && typeof value.instructions === "string" && isStringArray(value.groupIds) && isStringArray(value.toolNames) && isStringArray(value.skillNames) && isRecord(value.input) && isRecord(value.output) && typeof value.prompt === "function";
|
|
2968
3325
|
}
|
|
2969
3326
|
function isInterventionDefinition2(value) {
|
|
2970
3327
|
return isRecord(value) && value.kind === "intervention" && typeof value.id === "string" && isRecord(value.input) && isRecord(value.response) && (value.defaults === undefined || typeof value.defaults === "function");
|
|
@@ -3034,11 +3391,23 @@ function validateWorkflowAgentStepRuntimeReferences(workflowId, step, options) {
|
|
|
3034
3391
|
throw new WorkflowDefinitionError2(`Workflow "${workflowId}" agent step "${step.id}" uses unknown language model "${ref.provider}/${ref.modelId}". Add it to 'models.language' in createSixb().`);
|
|
3035
3392
|
}
|
|
3036
3393
|
}
|
|
3394
|
+
const model = step.model ?? options.models?.language?.default?.model;
|
|
3395
|
+
if (step.reasoning !== undefined && model !== undefined) {
|
|
3396
|
+
const issue = modelReasoningSupportIssue2(model.definition.capabilities.reasoning, step.reasoning);
|
|
3397
|
+
if (issue !== undefined) {
|
|
3398
|
+
throw new WorkflowDefinitionError2(`Workflow "${workflowId}" agent step "${step.id}" cannot use its reasoning with language model "${model.providerId}/${model.modelId}": ${issue}.`);
|
|
3399
|
+
}
|
|
3400
|
+
}
|
|
3037
3401
|
for (const toolName of step.toolNames) {
|
|
3038
3402
|
if (options.tools.getByName(toolName) === null) {
|
|
3039
3403
|
throw new WorkflowDefinitionError2(`Workflow "${workflowId}" agent step "${step.id}" uses unknown project tool "${toolName}". Add it to 'tools' in createSixb().`);
|
|
3040
3404
|
}
|
|
3041
3405
|
}
|
|
3406
|
+
for (const skillName of step.skillNames) {
|
|
3407
|
+
if (options.skills.getByName(skillName) === null) {
|
|
3408
|
+
throw new WorkflowDefinitionError2(`Workflow "${workflowId}" agent step "${step.id}" uses unknown Agent Skill "${skillName}". Add it as 'skills/${skillName}/SKILL.md'.`);
|
|
3409
|
+
}
|
|
3410
|
+
}
|
|
3042
3411
|
}
|
|
3043
3412
|
function validateWorkflowInput2(params) {
|
|
3044
3413
|
return validateWorkflowContractRecord({
|
|
@@ -3154,6 +3523,7 @@ function validateAgentNodeDefinition(workflowId, node) {
|
|
|
3154
3523
|
}
|
|
3155
3524
|
assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "group", node.agentStep.groupIds);
|
|
3156
3525
|
assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "tool", node.agentStep.toolNames);
|
|
3526
|
+
assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "skill", node.agentStep.skillNames);
|
|
3157
3527
|
if (node.mapper !== undefined && typeof node.mapper !== "function") {
|
|
3158
3528
|
throw new WorkflowDefinitionError2(`Workflow "${workflowId}" agent node "${node.id}" mapper must be a function.`);
|
|
3159
3529
|
}
|
|
@@ -3659,7 +4029,7 @@ async function persistWorkflowRun(input, request) {
|
|
|
3659
4029
|
describe: (fieldId) => `Workflow "${input.workflow.id}" input '${fieldId}'`,
|
|
3660
4030
|
invalid: (message) => new WorkflowValidationError2(message)
|
|
3661
4031
|
});
|
|
3662
|
-
const execution = await input.createExecution(`exec_${
|
|
4032
|
+
const execution = await input.createExecution(`exec_${randomUUID8()}`, request.runId);
|
|
3663
4033
|
const queuedAt = new Date;
|
|
3664
4034
|
try {
|
|
3665
4035
|
return await input.storage.transaction(async (tx) => {
|
|
@@ -3772,7 +4142,7 @@ async function failWorkflowRunPublication(input, run, error) {
|
|
|
3772
4142
|
}
|
|
3773
4143
|
function resolveWorkflowRunId(runId) {
|
|
3774
4144
|
if (runId === undefined)
|
|
3775
|
-
return `run_${
|
|
4145
|
+
return `run_${randomUUID8()}`;
|
|
3776
4146
|
if (!runId.trim()) {
|
|
3777
4147
|
throw new WorkflowValidationError2("[Sixb] Workflow run id must not be empty");
|
|
3778
4148
|
}
|
|
@@ -3819,6 +4189,7 @@ async function requestWorkflowRun2(runtime, execution, workflow, options = {}) {
|
|
|
3819
4189
|
authorization: runtime.runtimeAuthorization
|
|
3820
4190
|
});
|
|
3821
4191
|
assertAuthorized2(runtime, { kind: "workflow.run", workflowId: workflow.id });
|
|
4192
|
+
assertValidFileRefs2(options.input, `Workflow "${workflow.id}" input`);
|
|
3822
4193
|
return dispatchWorkflowRun({
|
|
3823
4194
|
errorReporterHost: runtime,
|
|
3824
4195
|
projectId: runtime.projectId,
|
|
@@ -4071,7 +4442,7 @@ function isBoundSixb(value) {
|
|
|
4071
4442
|
}
|
|
4072
4443
|
function createExecutionFacades(runtime, execution, dependencies) {
|
|
4073
4444
|
return {
|
|
4074
|
-
objects: createObjectsRuntime(runtime, execution),
|
|
4445
|
+
objects: createObjectsRuntime(runtime, execution, dependencies.blobStorage),
|
|
4075
4446
|
actions: createActionsRuntime(runtime, execution),
|
|
4076
4447
|
datasets: createDatasetsRuntime(runtime, execution, dependencies.definitions.datasets, dependencies.lakeStorage, dependencies.blobStorage),
|
|
4077
4448
|
workflows: createWorkflowsRuntime(runtime, execution, dependencies.definitions.workflows),
|
|
@@ -4080,14 +4451,14 @@ function createExecutionFacades(runtime, execution, dependencies) {
|
|
|
4080
4451
|
projections: createProjectionsRuntime(runtime, dependencies.definitions.projections),
|
|
4081
4452
|
rules: createRulesRuntime(runtime, dependencies.definitions.rules),
|
|
4082
4453
|
agent: createAgentRuntime(runtime, execution, dependencies.definitions.models, dependencies.sandbox),
|
|
4083
|
-
models: createModelsRuntime(runtime, execution, dependencies.definitions.models),
|
|
4454
|
+
models: createModelsRuntime(runtime, execution, dependencies.definitions.models, dependencies.blobStorage),
|
|
4084
4455
|
aiUsage: createAiUsageRuntime(runtime, dependencies.definitions.security),
|
|
4085
4456
|
events: createEventsRuntime(runtime),
|
|
4086
4457
|
logs: createLogsRuntime(runtime, dependencies.logging),
|
|
4087
4458
|
schedules: createSchedulesRuntime(runtime, dependencies.definitions.schedules),
|
|
4088
4459
|
shares: createSharesRuntime(runtime, execution, dependencies.definitions.shares),
|
|
4089
4460
|
connector: createConnectorRuntime(runtime, execution, dependencies.connectorService),
|
|
4090
|
-
blobs: createBlobsRuntime(runtime, execution, dependencies.blobStorage)
|
|
4461
|
+
blobs: createBlobsRuntime(runtime, execution, dependencies.blobStorage, dependencies.apiPublicOrigin)
|
|
4091
4462
|
};
|
|
4092
4463
|
}
|
|
4093
4464
|
// src/execution/agent.ts
|
|
@@ -4135,6 +4506,17 @@ function bindDurableAgentExecution2(host, input) {
|
|
|
4135
4506
|
}
|
|
4136
4507
|
return sixb;
|
|
4137
4508
|
}
|
|
4509
|
+
function bindAgentModelExecution2(sixb, input) {
|
|
4510
|
+
const { accounting } = input;
|
|
4511
|
+
if (accounting.executionId !== sixb.execution.id) {
|
|
4512
|
+
throw new Error(`[Sixb] Agent execution '${sixb.execution.id}' cannot account its model calls to execution '${accounting.executionId}'.`);
|
|
4513
|
+
}
|
|
4514
|
+
bindModelExecutionAttempt(sixb.models, {
|
|
4515
|
+
attempt: accounting.attempt,
|
|
4516
|
+
signal: input.signal,
|
|
4517
|
+
accounting
|
|
4518
|
+
});
|
|
4519
|
+
}
|
|
4138
4520
|
function restoreAgentExecutionScope2(input) {
|
|
4139
4521
|
assertAgentExecutionRecord2(input);
|
|
4140
4522
|
const context = Object.freeze({
|
|
@@ -4200,6 +4582,6 @@ function invalidAgentExecution(executionId, runId) {
|
|
|
4200
4582
|
throw new ExecutionStorageError2("invalid_input", `[Sixb] Execution '${executionId}' does not authorize Agent run '${runId}'.`);
|
|
4201
4583
|
}
|
|
4202
4584
|
|
|
4203
|
-
export { resolveAgentContextParts2, agentRunQueueJobId2, subagentRunQueueJobId2, workflowAgentNodeQueueJobId2, dispatchQueuedAgentRuns2, dispatchQueuedSubagentRuns2, createAgentThreadId2, createAgentThreadSandboxName2, createAgentRunId2, createSubagentRunId2, createSubagentExecutionId2, createAgentMessageId2, agentContextCheckpointId2, createAgentRunExecutionToken2, runModelLoop2,
|
|
4585
|
+
export { resolveAgentContextParts2, agentRunQueueJobId2, subagentRunQueueJobId2, workflowAgentNodeQueueJobId2, dispatchQueuedAgentRuns2, dispatchQueuedSubagentRuns2, createAgentThreadId2, createAgentThreadSandboxName2, createAgentRunId2, createSubagentRunId2, createSubagentExecutionId2, createAgentMessageId2, agentContextCheckpointId2, createAgentRunExecutionToken2, runModelLoop2, bindModelExecutionAttempt, assertNoAgentDefinitions, ShareError2, WorkflowDefinitionError2, WorkflowValidationError2, assertNonEmpty, isStepDefinition2, isAgentStepDefinition2, isInterventionDefinition2, isWorkflowDefinition2, validateWorkflowDefinition2, validateWorkflowsAtStartup2, validateWorkflowAgentStepGroupReferences2, validateWorkflowInput2, validateWorkflowStepInput2, validateWorkflowStepOutput2, validateWorkflowInterventionInput2, validateWorkflowInterventionResponse2, validateWorkflowInterventionDefaultResponse2, validateWorkflowAgentStepInput2, validateWorkflowAgentStepOutput2, snapshotWorkflowAgentStepInput2, snapshotWorkflowAgentStepOutput2, snapshotWorkflowInput2, snapshotWorkflowStepInput2, snapshotWorkflowStepOutput2, snapshotWorkflowInterventionInput2, snapshotWorkflowInterventionResponse2, snapshotWorkflowInterventionDefaultResponse2, snapshotWorkflowActionInput2, WorkflowRunDispatcher2, requestWorkflowRun2, createBoundSixb, isBoundSixb, canInheritAgentRequestAuthorization2, createAgentExecutionRecord2, createInheritedAgentExecutionRecord2, bindDurableAgentExecution2, bindAgentModelExecution2, restoreAgentExecutionScope2, assertAgentExecutionRecord2, DEFAULT_PROJECT_LOCALE, DEFAULT_PROJECT_TIME_ZONE, canonicalLocale, canonicalTimeZone, requestAgentRun2, isRetryableAgentRun2, retryAgentRun2 };
|
|
4204
4586
|
|
|
4205
|
-
//# debugId=
|
|
4587
|
+
//# debugId=E150F65F48DA7B0364756E2164756E21
|