@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
package/src/agents/index.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { PropertyClearance } from "../objects/property-clearance"
|
|
1
2
|
export type {
|
|
2
3
|
AgentFileDataProjection,
|
|
3
4
|
AgentFileDataResolverInput,
|
|
@@ -18,6 +19,7 @@ export {
|
|
|
18
19
|
agentServiceAccountId,
|
|
19
20
|
ensureManagedAgentExecutionIdentity,
|
|
20
21
|
resolveAgentExecutionAuthorization,
|
|
22
|
+
resolveAgentPropertyClearance,
|
|
21
23
|
resolveInheritedAgentExecutionAuthorization,
|
|
22
24
|
} from "./authority"
|
|
23
25
|
export { defineAgentTool } from "./builders"
|
|
@@ -84,6 +86,7 @@ export {
|
|
|
84
86
|
} from "./ids"
|
|
85
87
|
export {
|
|
86
88
|
AGENT_MESSAGE_CONTENT_VERSION,
|
|
89
|
+
type AgentContinuationPart,
|
|
87
90
|
type AgentFilePart,
|
|
88
91
|
type AgentMessage,
|
|
89
92
|
type AgentMessagePart,
|
|
@@ -105,11 +108,19 @@ export type {
|
|
|
105
108
|
export { runModelLoop } from "./model-loop"
|
|
106
109
|
export { agent } from "./reference"
|
|
107
110
|
export {
|
|
111
|
+
isRetryableAgentRun,
|
|
108
112
|
type RequestAgentRunInput,
|
|
109
113
|
type RequestAgentRunResult,
|
|
110
114
|
requestAgentRun,
|
|
111
115
|
retryAgentRun,
|
|
112
116
|
} from "./request"
|
|
117
|
+
export type {
|
|
118
|
+
AgentDefinitions,
|
|
119
|
+
AgentDefinitionsInput,
|
|
120
|
+
AgentProjectFile,
|
|
121
|
+
AgentSkillCatalog,
|
|
122
|
+
AgentSkillDefinition,
|
|
123
|
+
} from "./skills"
|
|
113
124
|
export type {
|
|
114
125
|
AgentCompactionFailureCode,
|
|
115
126
|
AgentRunControlStreamId,
|
|
@@ -144,11 +155,11 @@ export { isAgentToolResult } from "./tool-result"
|
|
|
144
155
|
export type {
|
|
145
156
|
AgentDescriptor,
|
|
146
157
|
AgentReasoning,
|
|
147
|
-
AgentReasoningLevel,
|
|
148
158
|
AgentReference,
|
|
149
159
|
AgentToolArtifact,
|
|
150
160
|
AgentToolArtifactPutInput,
|
|
151
161
|
AgentToolArtifacts,
|
|
162
|
+
AgentToolAttachments,
|
|
152
163
|
AgentToolContent,
|
|
153
164
|
AgentToolDefinition,
|
|
154
165
|
AgentToolDescriptionBuilder,
|
|
@@ -161,6 +172,7 @@ export type {
|
|
|
161
172
|
AgentToolRunBuilder,
|
|
162
173
|
AgentToolRunContext,
|
|
163
174
|
AgentToolRunInfo,
|
|
175
|
+
AgentToolRuntimeFacade,
|
|
164
176
|
AgentToolTextContent,
|
|
165
177
|
AgentUsageReference,
|
|
166
178
|
InferAgentToolInput,
|
package/src/agents/message.ts
CHANGED
|
@@ -60,6 +60,14 @@ interface AgentToolCallBase {
|
|
|
60
60
|
readonly providerMetadata?: ProviderData
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
/**
|
|
64
|
+
* The user asked the Agent to continue an answer the turn limit cut short. Sixb writes the
|
|
65
|
+
* instruction the model reads; chats show no message for it.
|
|
66
|
+
*/
|
|
67
|
+
export interface AgentContinuationPart {
|
|
68
|
+
readonly type: "continuation"
|
|
69
|
+
}
|
|
70
|
+
|
|
63
71
|
/** Ordered, hidden provider state required to replay a model response losslessly. */
|
|
64
72
|
export interface AgentProviderStatePart {
|
|
65
73
|
readonly type: "provider-state"
|
|
@@ -84,6 +92,7 @@ export type AgentMessagePart =
|
|
|
84
92
|
| AgentStepStartPart
|
|
85
93
|
| AgentFilePart
|
|
86
94
|
| AgentContextPart
|
|
95
|
+
| AgentContinuationPart
|
|
87
96
|
| AgentToolCallPart
|
|
88
97
|
| AgentProviderStatePart
|
|
89
98
|
|
package/src/agents/request.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { Principal } from "../auth"
|
|
|
3
3
|
import { SYSTEM_PRINCIPAL } from "../auth"
|
|
4
4
|
import { assertAuthorized } from "../authorization"
|
|
5
5
|
import type { FileRef } from "../blob-storage"
|
|
6
|
+
import { isValidFileRef } from "../blob-storage/validation"
|
|
6
7
|
import {
|
|
7
8
|
canInheritAgentRequestAuthorization,
|
|
8
9
|
createInheritedAgentExecutionRecord,
|
|
@@ -10,8 +11,10 @@ import {
|
|
|
10
11
|
import { resolveExecutionScopeAuthorization } from "../execution/authorization"
|
|
11
12
|
import { ensureExecutionRecord, executionRecordInputFromRuntime } from "../execution/durable"
|
|
12
13
|
import type { ExecutionContext } from "../execution/types"
|
|
13
|
-
import type { LanguageModelCatalog, LanguageModelRef } from "../models"
|
|
14
|
-
import { isModelReasoning } from "../models/language-model"
|
|
14
|
+
import type { LanguageModelCatalog, LanguageModelEntry, LanguageModelRef } from "../models"
|
|
15
|
+
import { isModelReasoning, modelReasoningSupportIssue } from "../models/language-model"
|
|
16
|
+
import { resolveLanguageModel } from "../models/resolve"
|
|
17
|
+
import { canonicalLocale, canonicalTimeZone } from "../runtime/locale"
|
|
15
18
|
import type { SixbRuntimeContext } from "../runtime/types"
|
|
16
19
|
import {
|
|
17
20
|
type AgentStorage,
|
|
@@ -33,13 +36,19 @@ import { resolveAgentContextParts } from "./context-resolution"
|
|
|
33
36
|
import { dispatchQueuedAgentRuns } from "./dispatch"
|
|
34
37
|
import { AgentRequestError } from "./errors"
|
|
35
38
|
import { createAgentMessageId, createAgentRunId, createAgentThreadId } from "./ids"
|
|
39
|
+
import type { AgentMessagePart } from "./message"
|
|
36
40
|
import { assertNoAgentSelector } from "./retired-config"
|
|
37
41
|
import { publishAgentRunActivity } from "./streams/protocol"
|
|
38
|
-
import { AGENT_REASONING_LEVELS, type
|
|
42
|
+
import { AGENT_REASONING_LEVELS, type AgentReasoning } from "./types"
|
|
39
43
|
|
|
40
44
|
export interface RequestAgentRunInput {
|
|
41
|
-
/** The user's message that triggers the turn. */
|
|
42
|
-
readonly text
|
|
45
|
+
/** The user's message that triggers the turn. Omitted only to {@link continue}. */
|
|
46
|
+
readonly text?: string
|
|
47
|
+
/**
|
|
48
|
+
* Continue an answer the turn limit cut short, in an existing thread. Sixb writes the
|
|
49
|
+
* instruction the model reads, so the request carries no text, attachments, or context.
|
|
50
|
+
*/
|
|
51
|
+
readonly continue?: boolean
|
|
43
52
|
/** Blob-backed files attached to the trigger message. */
|
|
44
53
|
readonly attachments?: readonly FileRef[]
|
|
45
54
|
/** Structured page/object context snapshotted onto the triggering user message. */
|
|
@@ -48,8 +57,15 @@ export interface RequestAgentRunInput {
|
|
|
48
57
|
readonly threadId?: string
|
|
49
58
|
/** Configured language model selected for this turn. Omitted uses the agent default. */
|
|
50
59
|
readonly model?: LanguageModelRef
|
|
51
|
-
/**
|
|
52
|
-
readonly reasoning?:
|
|
60
|
+
/** Reasoning effort or token budget for this turn. Omitted uses the model's default. */
|
|
61
|
+
readonly reasoning?: AgentReasoning
|
|
62
|
+
/**
|
|
63
|
+
* IANA time zone of the person asking, such as their browser's. The Agent presents dates and
|
|
64
|
+
* times in it. Omitted uses the project time zone.
|
|
65
|
+
*/
|
|
66
|
+
readonly timeZone?: string
|
|
67
|
+
/** BCP 47 language of the person asking. Omitted uses the project locale. */
|
|
68
|
+
readonly locale?: string
|
|
53
69
|
/** Title to stamp on the thread when one is created. */
|
|
54
70
|
readonly title?: string
|
|
55
71
|
/** Explicit id for the trigger (user) message. Defaults to a generated id. */
|
|
@@ -88,7 +104,17 @@ export async function requestAgentRun(
|
|
|
88
104
|
assertNoAgentSelector(input)
|
|
89
105
|
assertAuthorized(runtime, { kind: "agent.run" })
|
|
90
106
|
assertRequestAuthorityCanRunAgent(runtime)
|
|
91
|
-
const
|
|
107
|
+
const trigger = triggerParts(input)
|
|
108
|
+
const continued = input.continue ? await continuedSelection(runtime, models, input) : {}
|
|
109
|
+
const spec = await resolveConversationRunSpec({
|
|
110
|
+
models,
|
|
111
|
+
input: {
|
|
112
|
+
...input,
|
|
113
|
+
model: input.model ?? continued.model,
|
|
114
|
+
reasoning: input.reasoning ?? continued.reasoning,
|
|
115
|
+
},
|
|
116
|
+
})
|
|
117
|
+
assertAttachments(input.attachments)
|
|
92
118
|
|
|
93
119
|
// Resolve context before creating a thread: invalid or inaccessible references must not leave an
|
|
94
120
|
// empty conversation behind. The resulting parts are the exact snapshot persisted below.
|
|
@@ -142,7 +168,7 @@ export async function requestAgentRun(
|
|
|
142
168
|
role: "user",
|
|
143
169
|
parts: [
|
|
144
170
|
...contextParts,
|
|
145
|
-
|
|
171
|
+
...trigger,
|
|
146
172
|
...(input.attachments ?? []).map((fileRef) => ({ type: "file" as const, fileRef })),
|
|
147
173
|
],
|
|
148
174
|
authorPrincipal: principal,
|
|
@@ -173,6 +199,15 @@ export async function requestAgentRun(
|
|
|
173
199
|
}
|
|
174
200
|
}
|
|
175
201
|
|
|
202
|
+
/** A failed turn, or one its worker died during, can run again from the same trigger message. */
|
|
203
|
+
export function isRetryableAgentRun(
|
|
204
|
+
run: Pick<ConversationAgentRunRecord, "status" | "finishReason">
|
|
205
|
+
): boolean {
|
|
206
|
+
return (
|
|
207
|
+
run.status === "failed" || (run.status === "cancelled" && run.finishReason === "interrupted")
|
|
208
|
+
)
|
|
209
|
+
}
|
|
210
|
+
|
|
176
211
|
/** Retry a failed turn as a new child execution while reusing its immutable trigger message. */
|
|
177
212
|
export async function retryAgentRun(
|
|
178
213
|
runtime: SixbRuntimeContext,
|
|
@@ -186,10 +221,10 @@ export async function retryAgentRun(
|
|
|
186
221
|
})
|
|
187
222
|
assertAuthorized(runtime, { kind: "agent.run" })
|
|
188
223
|
assertRequestAuthorityCanRunAgent(runtime)
|
|
189
|
-
if (failedRun
|
|
224
|
+
if (!isRetryableAgentRun(failedRun)) {
|
|
190
225
|
throw new AgentRequestError(
|
|
191
226
|
"run_not_retryable",
|
|
192
|
-
`[Sixb] Only failed Agent runs can be retried.`
|
|
227
|
+
`[Sixb] Only failed or interrupted Agent runs can be retried.`
|
|
193
228
|
)
|
|
194
229
|
}
|
|
195
230
|
|
|
@@ -227,10 +262,10 @@ export async function retryAgentRun(
|
|
|
227
262
|
triggerMessageId: failedRun.triggerMessageId,
|
|
228
263
|
spec:
|
|
229
264
|
failedRun.spec ??
|
|
230
|
-
resolveConversationRunSpec({
|
|
265
|
+
(await resolveConversationRunSpec({
|
|
231
266
|
models,
|
|
232
267
|
input: {},
|
|
233
|
-
}),
|
|
268
|
+
})),
|
|
234
269
|
})
|
|
235
270
|
})
|
|
236
271
|
await publishRunActivity(runtime, run)
|
|
@@ -238,6 +273,70 @@ export async function retryAgentRun(
|
|
|
238
273
|
return { run, ...(jobId ? { jobId } : {}), createdThread: false }
|
|
239
274
|
}
|
|
240
275
|
|
|
276
|
+
/**
|
|
277
|
+
* A continuation picks up where the cut-short turn stopped, with its model and reasoning unless the
|
|
278
|
+
* request chooses others. A model that has since left the catalog falls back to the defaults.
|
|
279
|
+
*/
|
|
280
|
+
async function continuedSelection(
|
|
281
|
+
runtime: SixbRuntimeContext,
|
|
282
|
+
models: LanguageModelCatalog | undefined,
|
|
283
|
+
input: RequestAgentRunInput
|
|
284
|
+
): Promise<Pick<RequestAgentRunInput, "model" | "reasoning">> {
|
|
285
|
+
const agents = requireAgentStorage(runtime)
|
|
286
|
+
const threadId = input.threadId ?? ""
|
|
287
|
+
if (!(await agents.threads.getById({ projectId: runtime.projectId, id: threadId }))) {
|
|
288
|
+
throw new AgentRequestError(
|
|
289
|
+
"thread_not_found",
|
|
290
|
+
"[Sixb] An Agent continuation needs an existing thread."
|
|
291
|
+
)
|
|
292
|
+
}
|
|
293
|
+
if (input.model !== undefined || input.reasoning !== undefined) return {}
|
|
294
|
+
const { runs } = await agents.runs.list({
|
|
295
|
+
projectId: runtime.projectId,
|
|
296
|
+
threadId,
|
|
297
|
+
kinds: ["conversation"],
|
|
298
|
+
order: "desc",
|
|
299
|
+
limit: 1,
|
|
300
|
+
})
|
|
301
|
+
const spec = runs[0]?.kind === "conversation" ? runs[0].spec : undefined
|
|
302
|
+
if (!spec || !models?.getByRef(spec.model)) return {}
|
|
303
|
+
return {
|
|
304
|
+
model: spec.model,
|
|
305
|
+
...(spec.reasoning === undefined ? {} : { reasoning: spec.reasoning }),
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/** The words of the user, or the continuation Sixb words for them. */
|
|
310
|
+
function triggerParts(input: RequestAgentRunInput): readonly AgentMessagePart[] {
|
|
311
|
+
if (input.continue === true) {
|
|
312
|
+
if (input.text !== undefined || input.attachments?.length || input.context?.length) {
|
|
313
|
+
throw new AgentRequestError(
|
|
314
|
+
"invalid_message",
|
|
315
|
+
"[Sixb] An Agent continuation carries no text, attachments, or context."
|
|
316
|
+
)
|
|
317
|
+
}
|
|
318
|
+
return [{ type: "continuation" }]
|
|
319
|
+
}
|
|
320
|
+
if (typeof input.text !== "string" || input.text.trim().length === 0) {
|
|
321
|
+
throw new AgentRequestError(
|
|
322
|
+
"invalid_message",
|
|
323
|
+
"[Sixb] An Agent message needs text, or `continue: true` to continue the previous answer."
|
|
324
|
+
)
|
|
325
|
+
}
|
|
326
|
+
return [{ type: "text", text: input.text }]
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
function assertAttachments(attachments: readonly FileRef[] | undefined): void {
|
|
330
|
+
for (const [index, attachment] of (attachments ?? []).entries()) {
|
|
331
|
+
if (!isValidFileRef(attachment)) {
|
|
332
|
+
throw new AgentRequestError(
|
|
333
|
+
"invalid_attachment",
|
|
334
|
+
`[Sixb] Attachment ${index} is not a valid file reference.`
|
|
335
|
+
)
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
241
340
|
function assertSandboxExecutionAvailable(thread: AgentThreadRecord): void {
|
|
242
341
|
if (thread.sandboxState && !["new", "ready"].includes(thread.sandboxState.status)) {
|
|
243
342
|
throw new AgentRequestError(
|
|
@@ -281,10 +380,14 @@ async function assertAiLimitPreflight(
|
|
|
281
380
|
}
|
|
282
381
|
}
|
|
283
382
|
|
|
284
|
-
|
|
383
|
+
/**
|
|
384
|
+
* Freeze the model selection of a turn. The model's default reasoning is resolved here, not by the
|
|
385
|
+
* worker, so a retry runs with the reasoning the turn was admitted with.
|
|
386
|
+
*/
|
|
387
|
+
async function resolveConversationRunSpec(input: {
|
|
285
388
|
readonly models?: LanguageModelCatalog
|
|
286
|
-
readonly input: Pick<RequestAgentRunInput, "model" | "reasoning">
|
|
287
|
-
}): ConversationAgentRunSpec {
|
|
389
|
+
readonly input: Pick<RequestAgentRunInput, "model" | "reasoning" | "timeZone" | "locale">
|
|
390
|
+
}): Promise<ConversationAgentRunSpec> {
|
|
288
391
|
if (!input.models) {
|
|
289
392
|
throw new AgentRequestError(
|
|
290
393
|
"model_not_found",
|
|
@@ -300,20 +403,73 @@ function resolveConversationRunSpec(input: {
|
|
|
300
403
|
)
|
|
301
404
|
}
|
|
302
405
|
|
|
303
|
-
const
|
|
304
|
-
if (
|
|
305
|
-
|
|
306
|
-
"invalid_model_selection",
|
|
307
|
-
`[Sixb] Agent reasoning must be one of: ${AGENT_REASONING_LEVELS.join(", ")}, or a nonnegative budgetTokens object.`
|
|
308
|
-
)
|
|
406
|
+
const explicitReasoning = input.input.reasoning
|
|
407
|
+
if (explicitReasoning !== undefined) {
|
|
408
|
+
await assertModelSupportsReasoning(model, explicitReasoning)
|
|
309
409
|
}
|
|
410
|
+
const reasoning = explicitReasoning ?? model.model.defaultReasoning
|
|
411
|
+
const timeZone = requestedSetting(
|
|
412
|
+
"timeZone",
|
|
413
|
+
input.input.timeZone,
|
|
414
|
+
canonicalTimeZone,
|
|
415
|
+
"an IANA time zone"
|
|
416
|
+
)
|
|
417
|
+
const locale = requestedSetting(
|
|
418
|
+
"locale",
|
|
419
|
+
input.input.locale,
|
|
420
|
+
canonicalLocale,
|
|
421
|
+
"a BCP 47 language tag"
|
|
422
|
+
)
|
|
310
423
|
|
|
311
424
|
return Object.freeze({
|
|
312
425
|
model: Object.freeze({ provider: selected.provider, modelId: selected.modelId }),
|
|
313
426
|
...(reasoning === undefined ? {} : { reasoning }),
|
|
427
|
+
...(timeZone === undefined ? {} : { timeZone }),
|
|
428
|
+
...(locale === undefined ? {} : { locale }),
|
|
314
429
|
})
|
|
315
430
|
}
|
|
316
431
|
|
|
432
|
+
function requestedSetting(
|
|
433
|
+
field: "timeZone" | "locale",
|
|
434
|
+
value: string | undefined,
|
|
435
|
+
canonical: (value: unknown) => string | undefined,
|
|
436
|
+
expected: string
|
|
437
|
+
): string | undefined {
|
|
438
|
+
if (value === undefined) return undefined
|
|
439
|
+
const resolved = canonical(value)
|
|
440
|
+
if (resolved === undefined) {
|
|
441
|
+
throw new AgentRequestError(
|
|
442
|
+
"invalid_locale",
|
|
443
|
+
`[Sixb] Agent request '${field}' must be ${expected}; received ${JSON.stringify(value)}.`
|
|
444
|
+
)
|
|
445
|
+
}
|
|
446
|
+
return resolved
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
// Checked against the model's resolved capabilities, as `GET /api/models` reports them (its
|
|
450
|
+
// configured ones when the provider catalog is unavailable). Undeclared capabilities accept any
|
|
451
|
+
// level; the provider then falls back to its own default.
|
|
452
|
+
async function assertModelSupportsReasoning(
|
|
453
|
+
entry: LanguageModelEntry,
|
|
454
|
+
reasoning: unknown
|
|
455
|
+
): Promise<void> {
|
|
456
|
+
if (!isModelReasoning(reasoning)) {
|
|
457
|
+
throw new AgentRequestError(
|
|
458
|
+
"invalid_model_selection",
|
|
459
|
+
`[Sixb] Agent reasoning must be one of: ${AGENT_REASONING_LEVELS.join(", ")}, or a nonnegative budgetTokens object.`
|
|
460
|
+
)
|
|
461
|
+
}
|
|
462
|
+
if (reasoning === "provider-default") return
|
|
463
|
+
const model = await resolveLanguageModel(entry.model)
|
|
464
|
+
const issue = modelReasoningSupportIssue(model.definition.capabilities.reasoning, reasoning)
|
|
465
|
+
if (issue !== undefined) {
|
|
466
|
+
throw new AgentRequestError(
|
|
467
|
+
"invalid_model_selection",
|
|
468
|
+
`[Sixb] Language model '${entry.provider}/${entry.modelId}' cannot use this reasoning: ${issue}.`
|
|
469
|
+
)
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
317
473
|
async function prepareDurableAgentExecution(
|
|
318
474
|
runtime: SixbRuntimeContext,
|
|
319
475
|
execution: ExecutionContext,
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { OntologyDocsCatalog, OntologyDocsInput } from "../ontology/docs"
|
|
2
|
+
import { RuntimeError } from "../runtime/errors"
|
|
3
|
+
|
|
4
|
+
/** A project file the Agent receives byte-for-byte in its sandbox. */
|
|
5
|
+
export interface AgentProjectFile {
|
|
6
|
+
/** POSIX path, relative to the directory the file is installed in. */
|
|
7
|
+
readonly path: string
|
|
8
|
+
readonly contents: string | Uint8Array
|
|
9
|
+
/** Permission bits, kept only for executable files. */
|
|
10
|
+
readonly mode?: number
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** An Agent Skill read from `skills/<name>/SKILL.md` and the files next to it. */
|
|
14
|
+
export interface AgentSkillDefinition {
|
|
15
|
+
readonly name: string
|
|
16
|
+
readonly description: string
|
|
17
|
+
/** Every file of the skill directory, `SKILL.md` included. */
|
|
18
|
+
readonly files: readonly AgentProjectFile[]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Immutable catalog of the Agent Skills registered with a Sixb host. */
|
|
22
|
+
export interface AgentSkillCatalog {
|
|
23
|
+
list(): readonly AgentSkillDefinition[]
|
|
24
|
+
getByName(name: string): AgentSkillDefinition | null
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** The project files the Agent reads. createSixb() discovers them; tests may pass them directly. */
|
|
28
|
+
export interface AgentDefinitionsInput {
|
|
29
|
+
/** Agent Skills, from `skills/`. */
|
|
30
|
+
readonly skills?: readonly AgentSkillDefinition[]
|
|
31
|
+
/** The conversational Agent's instructions, from `SIXB.md`. */
|
|
32
|
+
readonly instructions?: string
|
|
33
|
+
/** The modules, docs, and scripts of `ontology/`. */
|
|
34
|
+
readonly ontologyDocs?: OntologyDocsInput
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** The project files the Agent reads, validated with the other definitions. */
|
|
38
|
+
export interface AgentDefinitions {
|
|
39
|
+
readonly skills: AgentSkillCatalog
|
|
40
|
+
/** Absent without `SIXB.md`. */
|
|
41
|
+
readonly instructions?: string
|
|
42
|
+
/** Where each object type's reference doc lives, with the docs and scripts of `ontology/`. */
|
|
43
|
+
readonly ontologyDocs: OntologyDocsCatalog
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Index skills by name. Discovery validates each skill; names must also be unique. */
|
|
47
|
+
export function createAgentSkillCatalog(
|
|
48
|
+
definitions: readonly AgentSkillDefinition[] | undefined
|
|
49
|
+
): AgentSkillCatalog {
|
|
50
|
+
const skills = Object.freeze([...(definitions ?? [])])
|
|
51
|
+
const skillsByName = new Map<string, AgentSkillDefinition>()
|
|
52
|
+
for (const skill of skills) {
|
|
53
|
+
if (skillsByName.has(skill.name)) {
|
|
54
|
+
throw new RuntimeError(`[Sixb] Duplicate Agent Skill name: ${skill.name}`)
|
|
55
|
+
}
|
|
56
|
+
skillsByName.set(skill.name, skill)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return Object.freeze({
|
|
60
|
+
list: () => skills,
|
|
61
|
+
getByName: (name: string) => skillsByName.get(name) ?? null,
|
|
62
|
+
})
|
|
63
|
+
}
|
package/src/agents/types.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ActionsRuntime } from "../actions/execution"
|
|
2
|
+
import type { BlobBody, FileRef, OpenedFileRef } from "../blob-storage"
|
|
2
3
|
import type { ConnectorRuntime } from "../connectors"
|
|
3
4
|
import type { JsonPrimitive, JsonValue, ReadonlyJsonValue } from "../json"
|
|
4
5
|
import type { Logger } from "../logging"
|
|
5
6
|
import { type LanguageModelRef, MODEL_REASONING_LEVELS, type ModelReasoning } from "../models"
|
|
7
|
+
import type { ModelsRuntime } from "../models/generation-types"
|
|
6
8
|
import type { InferSchema } from "../ontology/inference"
|
|
7
9
|
import type { Schema } from "../ontology/types"
|
|
10
|
+
import type { ObjectReader } from "../runtime/types"
|
|
8
11
|
|
|
9
12
|
export type {
|
|
10
13
|
AgentContextEntryInput,
|
|
@@ -32,9 +35,6 @@ export interface AgentDescriptor {
|
|
|
32
35
|
|
|
33
36
|
export type AgentReasoning = ModelReasoning
|
|
34
37
|
|
|
35
|
-
/** @deprecated Use {@link AgentReasoning}. */
|
|
36
|
-
export type AgentReasoningLevel = AgentReasoning
|
|
37
|
-
|
|
38
38
|
export const AGENT_REASONING_LEVELS = MODEL_REASONING_LEVELS
|
|
39
39
|
|
|
40
40
|
type Simplify<T> = { [K in keyof T]: T[K] } & {}
|
|
@@ -98,6 +98,19 @@ export interface AgentToolArtifacts {
|
|
|
98
98
|
put(input: AgentToolArtifactPutInput): Promise<AgentToolArtifact>
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
/**
|
|
102
|
+
* The files attached to the run that invoked a tool: the messages of a chat's thread, or the input
|
|
103
|
+
* files of a workflow AI task. A child Agent has none.
|
|
104
|
+
*/
|
|
105
|
+
export interface AgentToolAttachments {
|
|
106
|
+
/**
|
|
107
|
+
* Open an attachment by the `key` the Agent sees in `$SIXB_ATTACHMENTS`. Returns null when its
|
|
108
|
+
* stored file is gone, and throws an `AgentToolPublicError` for a key that is not one of this
|
|
109
|
+
* run's attachments.
|
|
110
|
+
*/
|
|
111
|
+
open(key: string): Promise<OpenedFileRef | null>
|
|
112
|
+
}
|
|
113
|
+
|
|
101
114
|
export type AgentToolTextContent = {
|
|
102
115
|
readonly type: "text"
|
|
103
116
|
readonly text: string
|
|
@@ -120,6 +133,22 @@ export type AgentToolResult = {
|
|
|
120
133
|
readonly content: readonly AgentToolContent[]
|
|
121
134
|
}
|
|
122
135
|
|
|
136
|
+
/**
|
|
137
|
+
* The run's domain SDK as an agent tool sees it. Unlike workflow steps and actions, it acts as the
|
|
138
|
+
* run's requester: the signed-in user in a chat, that same user in a child Agent, and the step's
|
|
139
|
+
* groups in a workflow AI task.
|
|
140
|
+
*
|
|
141
|
+
* A structural view of the public `Sixb` SDK, like `WorkflowRuntimeFacade`: the handler receives the
|
|
142
|
+
* run's bound SDK, and this type guides it to what a tool should do. It reads objects and changes
|
|
143
|
+
* them by requesting actions, which validate and record the change. Authority comes from the run,
|
|
144
|
+
* not from this view.
|
|
145
|
+
*/
|
|
146
|
+
export interface AgentToolRuntimeFacade extends ObjectReader {
|
|
147
|
+
readonly actions: ActionsRuntime
|
|
148
|
+
readonly models: ModelsRuntime
|
|
149
|
+
readonly connector: ConnectorRuntime
|
|
150
|
+
}
|
|
151
|
+
|
|
123
152
|
/** The narrow, run-scoped surface passed to an agent tool handler. */
|
|
124
153
|
export interface AgentToolRunContext<
|
|
125
154
|
TInput extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>,
|
|
@@ -128,9 +157,10 @@ export interface AgentToolRunContext<
|
|
|
128
157
|
readonly toolCallId: string
|
|
129
158
|
readonly signal: AbortSignal
|
|
130
159
|
readonly run: AgentToolRunInfo
|
|
131
|
-
readonly
|
|
160
|
+
readonly sixb: AgentToolRuntimeFacade
|
|
132
161
|
readonly logger: Logger
|
|
133
162
|
readonly artifacts: AgentToolArtifacts
|
|
163
|
+
readonly attachments: AgentToolAttachments
|
|
134
164
|
}
|
|
135
165
|
|
|
136
166
|
/** Agent tool handlers may return only values safe to persist in agent messages. */
|
package/src/auth/runtime.ts
CHANGED
|
@@ -655,6 +655,7 @@ export class AuthRuntime {
|
|
|
655
655
|
caller: AuthenticatedUserRequestSession,
|
|
656
656
|
input: CreatePersonalAccessTokenInput
|
|
657
657
|
): Promise<CreateAccessTokenResult> {
|
|
658
|
+
assertSessionCaller(caller)
|
|
658
659
|
const storage = this.requireAuthStorage()
|
|
659
660
|
// A personal token can only carry groups the caller currently belongs to.
|
|
660
661
|
const groupIds = constrainRequestedGroupIds(input.groupIds, caller.groupIds, {
|
|
@@ -815,6 +816,7 @@ export class AuthRuntime {
|
|
|
815
816
|
caller: AuthenticatedUserRequestSession,
|
|
816
817
|
input: CreateServiceAccountAccessTokenInput
|
|
817
818
|
): Promise<CreateServiceAccountAccessTokenResult> {
|
|
819
|
+
assertSessionCaller(caller)
|
|
818
820
|
const storage = this.requireAuthStorage()
|
|
819
821
|
const { serviceAccount, groupIds: serviceAccountGroupIds } =
|
|
820
822
|
await this.requireManageableServiceAccount(storage, caller.groupIds, input.serviceAccountId)
|
|
@@ -1564,6 +1566,18 @@ function callerSessionId(caller: AuthenticatedRequestAuthSession): string | unde
|
|
|
1564
1566
|
return caller.credentialSource === "session" ? caller.session.id : undefined
|
|
1565
1567
|
}
|
|
1566
1568
|
|
|
1569
|
+
// Access tokens are created only by a signed-in person, never by another access token. A token
|
|
1570
|
+
// minting one could hand out more groups or a later expiry than it carries, and what it minted
|
|
1571
|
+
// would outlive its own revocation.
|
|
1572
|
+
function assertSessionCaller(caller: AuthenticatedUserRequestSession): void {
|
|
1573
|
+
if (caller.credentialSource !== "session") {
|
|
1574
|
+
throw new AuthRuntimeError(
|
|
1575
|
+
"authorization_denied",
|
|
1576
|
+
"[Sixb] Access tokens can only be created from a signed-in session, not with another access token."
|
|
1577
|
+
)
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1567
1581
|
function constrainTokenGroupIds(
|
|
1568
1582
|
principalGroupIds: readonly string[],
|
|
1569
1583
|
accessToken: AccessTokenRecord
|
package/src/auth/types.ts
CHANGED
|
@@ -190,6 +190,12 @@ export interface OidcStartSignInInput {
|
|
|
190
190
|
|
|
191
191
|
export interface OidcStartSignInResult {
|
|
192
192
|
readonly redirectTo: string
|
|
193
|
+
/**
|
|
194
|
+
* The `state` sent to the provider. The server keeps it in a cookie until `expiresAt` and
|
|
195
|
+
* completes the callback only in the browser that holds it.
|
|
196
|
+
*/
|
|
197
|
+
readonly state: string
|
|
198
|
+
readonly expiresAt: Date
|
|
193
199
|
}
|
|
194
200
|
|
|
195
201
|
export interface OidcCallbackInput {
|
|
@@ -70,7 +70,7 @@ function expandSelection(
|
|
|
70
70
|
*
|
|
71
71
|
* Pure set-union over pre-resolved roles: roles match when their grantedTo
|
|
72
72
|
* groups intersect the principal's memberships, and their concrete id sets
|
|
73
|
-
* union into the principal's
|
|
73
|
+
* and clearances union into the principal's context.
|
|
74
74
|
*/
|
|
75
75
|
export function resolveAuthorizationContext(input: {
|
|
76
76
|
readonly principal: Principal
|
|
@@ -81,6 +81,7 @@ export function resolveAuthorizationContext(input: {
|
|
|
81
81
|
const memberGroupIds = new Set(input.groupIds)
|
|
82
82
|
const roleIds: string[] = []
|
|
83
83
|
const grants = emptyGrantSets()
|
|
84
|
+
const clearances = new Set<string>()
|
|
84
85
|
|
|
85
86
|
for (const role of input.roles) {
|
|
86
87
|
if (!role.grantedToGroupIds.some((groupId) => memberGroupIds.has(groupId))) {
|
|
@@ -96,6 +97,9 @@ export function resolveAuthorizationContext(input: {
|
|
|
96
97
|
grants[kind].add(id)
|
|
97
98
|
}
|
|
98
99
|
}
|
|
100
|
+
for (const markingId of role.clearances ?? []) {
|
|
101
|
+
clearances.add(markingId)
|
|
102
|
+
}
|
|
99
103
|
}
|
|
100
104
|
|
|
101
105
|
return {
|
|
@@ -104,5 +108,6 @@ export function resolveAuthorizationContext(input: {
|
|
|
104
108
|
groupIds: input.groupIds,
|
|
105
109
|
roleIds,
|
|
106
110
|
grants,
|
|
111
|
+
clearances,
|
|
107
112
|
}
|
|
108
113
|
}
|
|
@@ -42,6 +42,8 @@ export interface ResolvedRole {
|
|
|
42
42
|
readonly id: string
|
|
43
43
|
readonly grantedToGroupIds: readonly string[]
|
|
44
44
|
readonly grants: GrantIndex
|
|
45
|
+
/** Marking ids this role clears. Absent means none. */
|
|
46
|
+
readonly clearances?: ReadonlySet<string>
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
export interface AuthorizationContext {
|
|
@@ -51,4 +53,9 @@ export interface AuthorizationContext {
|
|
|
51
53
|
/** Roles whose grantedTo groups intersect the principal's memberships. */
|
|
52
54
|
readonly roleIds: readonly string[]
|
|
53
55
|
readonly grants: GrantIndex
|
|
56
|
+
/**
|
|
57
|
+
* Marking ids the principal may read, unioned from its roles. Absent means none: a context built
|
|
58
|
+
* without clearances reads no marked property.
|
|
59
|
+
*/
|
|
60
|
+
readonly clearances?: ReadonlySet<string>
|
|
54
61
|
}
|