@sixb/core 0.1.6 → 0.1.7
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 +37 -33
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/worker.js +3 -3
- package/dist/agents/adapters.d.ts +33 -76
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +22 -6
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/builders.d.ts +3 -11
- package/dist/agents/builders.d.ts.map +1 -1
- package/dist/agents/context.js +2 -2
- package/dist/agents/dispatch.d.ts +9 -1
- package/dist/agents/dispatch.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +2 -2
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +9 -10
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/ids.d.ts +4 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +13 -9
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +80 -68
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +17 -10
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/model-loop.d.ts +56 -0
- package/dist/agents/model-loop.d.ts.map +1 -0
- package/dist/agents/reference.d.ts +4 -0
- package/dist/agents/reference.d.ts.map +1 -0
- package/dist/agents/request.d.ts +10 -8
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/retired-config.d.ts +4 -0
- package/dist/agents/retired-config.d.ts.map +1 -0
- package/dist/agents/streams.d.ts +13 -8
- package/dist/agents/streams.d.ts.map +1 -1
- package/dist/agents/streams.js +7 -5
- package/dist/agents/streams.js.map +1 -1
- package/dist/agents/tool-catalog.d.ts +9 -0
- package/dist/agents/tool-catalog.d.ts.map +1 -0
- package/dist/agents/tool-definition.d.ts +1 -0
- package/dist/agents/tool-definition.d.ts.map +1 -1
- package/dist/agents/types.d.ts +31 -68
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +4 -10
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/ai-usage/execution.d.ts +53 -0
- package/dist/ai-usage/execution.d.ts.map +1 -0
- package/dist/ai-usage/index.d.ts +3 -0
- package/dist/ai-usage/index.d.ts.map +1 -0
- package/dist/auth/index.js +7 -7
- package/dist/authorization/decision.d.ts +5 -2
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +24 -8
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +8 -6
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +3 -3
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/authorization/types.d.ts +7 -5
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/blob-storage/browser.js +2 -2
- package/dist/blob-storage/index.js +3 -3
- package/dist/bootstrap/discovery.d.ts +1 -7
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.js +52 -48
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/broker/index.js +2 -2
- package/dist/{chunk-zqysyfjt.js → chunk-08m3b6w8.js} +1 -1
- package/dist/{chunk-1g8negke.js → chunk-08twe8m6.js} +93 -8
- package/dist/chunk-08twe8m6.js.map +12 -0
- package/dist/{chunk-xkthy56g.js → chunk-1kamz6j0.js} +1 -1
- package/dist/{chunk-dy311asx.js → chunk-2b5qtban.js} +12 -12
- package/dist/{chunk-dy311asx.js.map → chunk-2b5qtban.js.map} +3 -3
- package/dist/{chunk-0172wgm9.js → chunk-2xns679x.js} +10 -2
- package/dist/{chunk-0172wgm9.js.map → chunk-2xns679x.js.map} +3 -3
- package/dist/{chunk-f83ka50g.js → chunk-37wk412q.js} +86 -28
- package/dist/{chunk-f83ka50g.js.map → chunk-37wk412q.js.map} +8 -8
- package/dist/{chunk-md8k0r54.js → chunk-3fqt22c4.js} +4 -4
- package/dist/{chunk-t9xghkva.js → chunk-3kv70xwp.js} +3 -2
- package/dist/{chunk-t9xghkva.js.map → chunk-3kv70xwp.js.map} +3 -3
- package/dist/{chunk-z3zp0bj1.js → chunk-407j3msh.js} +1 -1
- package/dist/{chunk-rhrbz7d4.js → chunk-4a849fr1.js} +1 -1
- package/dist/{chunk-62c7t4jc.js → chunk-4nxeacx7.js} +1 -1
- package/dist/{chunk-cy0n5dms.js → chunk-5jcdmjam.js} +1 -1
- package/dist/{chunk-819wnjz8.js → chunk-64sr682n.js} +7 -7
- package/dist/{chunk-t624af60.js → chunk-6ed5bwnd.js} +646 -67
- package/dist/{chunk-t624af60.js.map → chunk-6ed5bwnd.js.map} +10 -9
- package/dist/{chunk-x2yw73hy.js → chunk-7ds9620f.js} +1 -1
- package/dist/{chunk-dm72y8wt.js → chunk-7y0f6rf1.js} +29 -16
- package/dist/chunk-7y0f6rf1.js.map +10 -0
- package/dist/{chunk-72q2y8hn.js → chunk-8tsf6dmc.js} +2 -2
- package/dist/{chunk-nkbfrt0c.js → chunk-9aehf39w.js} +7 -7
- package/dist/{chunk-ezake7g1.js → chunk-agsvg9ar.js} +1 -1
- package/dist/{chunk-rdeagz6b.js → chunk-atmkaf60.js} +1 -1
- package/dist/{chunk-rdeagz6b.js.map → chunk-atmkaf60.js.map} +2 -2
- package/dist/chunk-c15dr03f.js +43 -0
- package/dist/chunk-c15dr03f.js.map +10 -0
- package/dist/{chunk-0hc5j867.js → chunk-d2ndstdf.js} +8 -6
- package/dist/{chunk-0hc5j867.js.map → chunk-d2ndstdf.js.map} +2 -2
- package/dist/{chunk-rnshztfq.js → chunk-d63tybny.js} +2 -2
- package/dist/{chunk-t0jjkep3.js → chunk-d8qkxt2v.js} +4 -2
- package/dist/chunk-d8qkxt2v.js.map +10 -0
- package/dist/{chunk-vybf6pkp.js → chunk-dbc80ad7.js} +1 -1
- package/dist/{chunk-4gz41why.js → chunk-dqn23610.js} +1 -1
- package/dist/{chunk-5sxb1168.js → chunk-e4rvtvpw.js} +13 -11
- package/dist/{chunk-5sxb1168.js.map → chunk-e4rvtvpw.js.map} +2 -2
- package/dist/{chunk-h9kxd41f.js → chunk-gbrpsx4m.js} +19 -6
- package/dist/chunk-gbrpsx4m.js.map +11 -0
- package/dist/{chunk-nva1xkjz.js → chunk-h0knpbz5.js} +468 -1236
- package/dist/chunk-h0knpbz5.js.map +38 -0
- package/dist/{chunk-tg5mee00.js → chunk-ha58tjtt.js} +6 -6
- package/dist/{chunk-f6erf2vv.js → chunk-hdz94br2.js} +2 -2
- package/dist/chunk-jecn6t54.js +307 -0
- package/dist/chunk-jecn6t54.js.map +12 -0
- package/dist/{chunk-dsrkgtnh.js → chunk-jq43kdvk.js} +1 -1
- package/dist/{chunk-wtmzkcht.js → chunk-k34z5rvh.js} +1 -1
- package/dist/{chunk-htq0qh7z.js → chunk-ka3a2ft3.js} +2 -2
- package/dist/{chunk-znagycq7.js → chunk-kt81c11h.js} +2 -2
- package/dist/chunk-n2arzn6e.js +1745 -0
- package/dist/chunk-n2arzn6e.js.map +20 -0
- package/dist/{chunk-f2rt4vkh.js → chunk-n2w475r0.js} +3 -3
- package/dist/{chunk-t8t39h7v.js → chunk-n6jxh8sw.js} +10 -2
- package/dist/chunk-n6jxh8sw.js.map +10 -0
- package/dist/{chunk-drjqm1aa.js → chunk-p03r0h5s.js} +310 -28
- package/dist/chunk-p03r0h5s.js.map +16 -0
- package/dist/chunk-p2vqaxkc.js +528 -0
- package/dist/chunk-p2vqaxkc.js.map +15 -0
- package/dist/{chunk-n4spznws.js → chunk-qjycjdj6.js} +84 -11
- package/dist/chunk-qjycjdj6.js.map +12 -0
- package/dist/chunk-qjzp9xyb.js +286 -0
- package/dist/chunk-qjzp9xyb.js.map +12 -0
- package/dist/{chunk-5gynx4xn.js → chunk-qv38twt8.js} +50 -69
- package/dist/{chunk-5gynx4xn.js.map → chunk-qv38twt8.js.map} +8 -8
- package/dist/{chunk-bhxaq2nn.js → chunk-qw9gvjv5.js} +1 -1
- package/dist/{chunk-8gv5z0zm.js → chunk-rp1mvzb4.js} +6 -6
- package/dist/{chunk-1e8m6yn3.js → chunk-rre42skh.js} +182 -18
- package/dist/chunk-rre42skh.js.map +39 -0
- package/dist/{chunk-ghteq96b.js → chunk-s5y30bc9.js} +2 -2
- package/dist/{chunk-a31h57d5.js → chunk-tn7xcs2n.js} +2 -2
- package/dist/{chunk-6gjqgd3d.js → chunk-tpnd31c1.js} +2 -1
- package/dist/chunk-tpnd31c1.js.map +11 -0
- package/dist/chunk-trxxmgnf.js +68 -0
- package/dist/chunk-trxxmgnf.js.map +11 -0
- package/dist/{chunk-e42bc6m3.js → chunk-vjjv9mrb.js} +2 -2
- package/dist/{chunk-8b55ygje.js → chunk-w3e09qqk.js} +1 -1
- package/dist/{chunk-ckxfnx7f.js → chunk-wjgm6jjt.js} +2 -2
- package/dist/{chunk-3j7573mj.js → chunk-x0qhkqje.js} +2 -2
- package/dist/{chunk-dysw7nsm.js → chunk-xdpwpkha.js} +2 -2
- package/dist/{chunk-a44d5zgd.js → chunk-y35ma3mj.js} +11 -16
- package/dist/{chunk-a44d5zgd.js.map → chunk-y35ma3mj.js.map} +3 -4
- package/dist/{chunk-qewtks41.js → chunk-z2sery1b.js} +64 -1
- package/dist/{chunk-qewtks41.js.map → chunk-z2sery1b.js.map} +3 -3
- package/dist/error-reporting/internal.js +4 -4
- package/dist/error-reporting/types.d.ts +7 -2
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +8 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/internal.js +2 -2
- package/dist/events/index.js +4 -4
- package/dist/execution/agent.d.ts +18 -9
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +52 -43
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts +14 -4
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/primitive.js +45 -43
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.d.ts +3 -1
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +46 -44
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/types.d.ts +1 -1
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +9 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +82 -77
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts +2 -0
- package/dist/json.d.ts.map +1 -1
- package/dist/lake-storage/index.js +5 -5
- package/dist/logging/index.js +3 -3
- package/dist/logging/types.js +2 -2
- package/dist/materialization/index.js +2 -2
- package/dist/materializer/index.js +33 -29
- package/dist/materializer/index.js.map +1 -1
- package/dist/models/catalog.d.ts +40 -0
- package/dist/models/catalog.d.ts.map +1 -0
- package/dist/models/definitions.d.ts +25 -0
- package/dist/models/definitions.d.ts.map +1 -0
- package/dist/models/errors.d.ts +52 -0
- package/dist/models/errors.d.ts.map +1 -0
- package/dist/models/events.d.ts +192 -0
- package/dist/models/events.d.ts.map +1 -0
- package/dist/models/index.d.ts +17 -39
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +50 -0
- package/dist/models/index.js.map +9 -0
- package/dist/models/language-model.d.ts +90 -0
- package/dist/models/language-model.d.ts.map +1 -0
- package/dist/models/messages.d.ts +74 -0
- package/dist/models/messages.d.ts.map +1 -0
- package/dist/models/pricing.d.ts +69 -0
- package/dist/models/pricing.d.ts.map +1 -0
- package/dist/models/rate-card.d.ts +24 -0
- package/dist/models/rate-card.d.ts.map +1 -0
- package/dist/models/tools.d.ts +24 -0
- package/dist/models/tools.d.ts.map +1 -0
- package/dist/objects/index.js +38 -34
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/query/index.js +32 -28
- package/dist/objects/query/index.js.map +1 -1
- package/dist/ontology/index.js +5 -5
- package/dist/ontology/internal.js +4 -4
- package/dist/pipelines/index.js +37 -35
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +35 -31
- package/dist/projections/internal.js.map +1 -1
- package/dist/queues/in-memory.d.ts +3 -2
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.d.ts +3 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +15 -3
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +4 -4
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +2 -2
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +3 -2
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts +2 -2
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +4 -2
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/security/every.d.ts +1 -4
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +6 -5
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/registry.d.ts +1 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +13 -5
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +4 -2
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/storage/action-runs/failure.js +3 -3
- package/dist/storage/action-runs/provider.js +2 -2
- package/dist/storage/agents/errors.d.ts +1 -1
- package/dist/storage/agents/errors.d.ts.map +1 -1
- package/dist/storage/agents/in-memory.d.ts +3 -2
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +1 -1
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +11 -4
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +18 -15
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +65 -17
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +2 -1
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/codec.d.ts +3 -2
- package/dist/storage/ai-cost/codec.d.ts.map +1 -1
- package/dist/storage/ai-cost/groups.d.ts +51 -0
- package/dist/storage/ai-cost/groups.d.ts.map +1 -0
- package/dist/storage/ai-cost/in-memory.d.ts +11 -1
- package/dist/storage/ai-cost/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-cost/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.d.ts +2 -0
- package/dist/storage/ai-cost/provider.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +29 -13
- package/dist/storage/ai-cost/provider.js.map +3 -3
- package/dist/storage/ai-cost/types.d.ts +64 -15
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/validation.d.ts +2 -1
- package/dist/storage/ai-cost/validation.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.d.ts +14 -0
- package/dist/storage/ai-limits/enforcement.d.ts.map +1 -0
- package/dist/storage/ai-limits/enforcement.js +21 -0
- package/dist/storage/ai-limits/enforcement.js.map +9 -0
- package/dist/storage/ai-limits/errors.d.ts +8 -0
- package/dist/storage/ai-limits/errors.d.ts.map +1 -0
- package/dist/storage/ai-limits/in-memory.d.ts +78 -0
- package/dist/storage/ai-limits/in-memory.d.ts.map +1 -0
- package/dist/storage/ai-limits/index.d.ts +7 -0
- package/dist/storage/ai-limits/index.d.ts.map +1 -0
- package/dist/storage/ai-limits/period.d.ts +4 -0
- package/dist/storage/ai-limits/period.d.ts.map +1 -0
- package/dist/storage/ai-limits/provider.d.ts +85 -0
- package/dist/storage/ai-limits/provider.d.ts.map +1 -0
- package/dist/storage/ai-limits/provider.js +62 -0
- package/dist/storage/ai-limits/provider.js.map +9 -0
- package/dist/storage/ai-limits/types.d.ts +175 -0
- package/dist/storage/ai-limits/types.d.ts.map +1 -0
- package/dist/storage/ai-usage/in-memory.d.ts +4 -0
- package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-usage/record.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +6 -2
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/auth/errors.d.ts +1 -1
- package/dist/storage/auth/errors.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts +4 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/device-authorizations.d.ts +29 -0
- package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/shared.d.ts +3 -1
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +2 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +66 -0
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +2 -2
- package/dist/storage/executions/provider.js +1 -1
- package/dist/storage/executions/run-link.d.ts +7 -2
- package/dist/storage/executions/run-link.d.ts.map +1 -1
- package/dist/storage/executions/validation.d.ts.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 +7 -4
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +51 -38
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/ontology/provider.js +3 -3
- package/dist/storage/pipeline-runs/provider.js +2 -2
- package/dist/storage/projection-runs/provider.js +4 -4
- package/dist/storage/sync-runs/provider.js +2 -2
- package/dist/storage/types.d.ts +5 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/webhook-runs/provider.js +2 -2
- package/dist/storage/workflow-runs/provider.d.ts +1 -1
- package/dist/storage/workflow-runs/provider.js +10 -11
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/storage/workflow-runs/types.d.ts +5 -4
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/index.js +37 -35
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/agent-execution.d.ts +3 -1
- package/dist/testing/agent-execution.d.ts.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-limit-storage-contract.d.ts +18 -0
- package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -0
- package/dist/testing/ai-model-call-groups-contract.d.ts +6 -0
- package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -0
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3637 -1962
- package/dist/testing/index.js.map +14 -12
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +32 -28
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +2 -2
- package/dist/workflows/agent-step-identity.d.ts +3 -0
- package/dist/workflows/agent-step-identity.d.ts.map +1 -0
- package/dist/workflows/builders.d.ts +2 -3
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/execution.d.ts +1 -1
- package/dist/workflows/execution.d.ts.map +1 -1
- package/dist/workflows/failure.d.ts +1 -1
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.d.ts +3 -2
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +53 -45
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/types.d.ts +26 -11
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +7 -1
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +19 -4
- package/src/agents/adapters.ts +109 -115
- package/src/agents/authority.ts +214 -32
- package/src/agents/builders.ts +3 -50
- package/src/agents/context-compaction.ts +4 -0
- package/src/agents/dispatch.ts +59 -2
- package/src/agents/errors.ts +5 -2
- package/src/agents/execution.ts +53 -52
- package/src/agents/ids.ts +16 -1
- package/src/agents/index.ts +23 -11
- package/src/agents/message.ts +18 -9
- package/src/agents/model-loop.ts +1023 -0
- package/src/agents/reference.ts +7 -0
- package/src/agents/request.ts +141 -74
- package/src/agents/retired-config.ts +20 -0
- package/src/agents/streams.ts +45 -19
- package/src/agents/tool-catalog.ts +21 -0
- package/src/agents/tool-definition.ts +23 -0
- package/src/agents/types.ts +39 -81
- package/src/agents/validation.ts +34 -180
- package/src/ai-usage/execution.ts +196 -0
- package/src/ai-usage/index.ts +15 -0
- package/src/authorization/decision.ts +27 -10
- package/src/authorization/grant-kinds.ts +62 -15
- package/src/authorization/index.ts +1 -0
- package/src/authorization/resolve.ts +12 -5
- package/src/authorization/types.ts +7 -5
- package/src/bootstrap/discovery.ts +0 -3
- package/src/error-reporting/types.ts +4 -2
- package/src/errors/catalog.ts +8 -0
- package/src/execution/agent.ts +129 -22
- package/src/execution/authorization.ts +48 -18
- package/src/execution/request.ts +4 -1
- package/src/execution/types.ts +1 -1
- package/src/http/api-routes.ts +63 -0
- package/src/index.ts +36 -7
- package/src/json.ts +9 -0
- package/src/models/catalog.ts +137 -0
- package/src/models/definitions.ts +202 -0
- package/src/models/errors.ts +83 -0
- package/src/models/events.ts +198 -0
- package/src/models/index.ts +89 -71
- package/src/models/language-model.ts +143 -0
- package/src/models/messages.ts +78 -0
- package/src/models/pricing.ts +390 -0
- package/src/models/rate-card.ts +101 -0
- package/src/models/tools.ts +29 -0
- package/src/queues/in-memory.ts +5 -0
- package/src/queues/index.ts +11 -0
- package/src/queues/types.ts +20 -3
- package/src/runtime/create.ts +7 -5
- package/src/runtime/definitions.ts +2 -2
- package/src/runtime/host.ts +3 -2
- package/src/runtime/resolve-definitions.ts +13 -36
- package/src/runtime/sixb.ts +6 -8
- package/src/security/every.ts +0 -4
- package/src/security/grants.ts +55 -11
- package/src/security/index.ts +2 -0
- package/src/security/registry.ts +6 -5
- package/src/security/types.ts +15 -4
- package/src/security/validation.ts +30 -9
- package/src/storage/agents/errors.ts +1 -0
- package/src/storage/agents/in-memory.ts +121 -11
- package/src/storage/agents/index.ts +7 -0
- package/src/storage/agents/provider.ts +150 -6
- package/src/storage/agents/types.ts +73 -16
- package/src/storage/ai-cost/analytics.ts +63 -6
- package/src/storage/ai-cost/codec.ts +37 -12
- package/src/storage/ai-cost/groups.ts +248 -0
- package/src/storage/ai-cost/in-memory.ts +42 -0
- package/src/storage/ai-cost/index.ts +6 -0
- package/src/storage/ai-cost/provider.ts +7 -0
- package/src/storage/ai-cost/types.ts +76 -14
- package/src/storage/ai-cost/validation.ts +147 -17
- package/src/storage/ai-limits/enforcement.ts +68 -0
- package/src/storage/ai-limits/errors.ts +23 -0
- package/src/storage/ai-limits/in-memory.ts +671 -0
- package/src/storage/ai-limits/index.ts +31 -0
- package/src/storage/ai-limits/period.ts +11 -0
- package/src/storage/ai-limits/provider.ts +430 -0
- package/src/storage/ai-limits/types.ts +195 -0
- package/src/storage/ai-usage/in-memory.ts +13 -0
- package/src/storage/ai-usage/record.ts +17 -0
- package/src/storage/ai-usage/types.ts +6 -2
- package/src/storage/auth/errors.ts +6 -0
- package/src/storage/auth/in-memory/auth-storage.ts +69 -0
- package/src/storage/auth/in-memory/device-authorizations.ts +145 -0
- package/src/storage/auth/in-memory/shared.ts +7 -0
- package/src/storage/auth/index.ts +7 -0
- package/src/storage/auth/types.ts +73 -0
- package/src/storage/executions/run-link.ts +16 -6
- package/src/storage/executions/validation.ts +36 -6
- package/src/storage/in-memory/index.ts +48 -4
- package/src/storage/index.ts +51 -1
- package/src/storage/types.ts +37 -0
- package/src/storage/workflow-runs/in-memory.ts +3 -3
- package/src/storage/workflow-runs/provider.ts +2 -2
- package/src/storage/workflow-runs/types.ts +6 -3
- package/src/testing/agent-execution.ts +40 -28
- package/src/testing/agent-storage-contract.ts +249 -28
- package/src/testing/ai-cost-storage-contract.ts +96 -8
- package/src/testing/ai-limit-storage-contract.ts +1134 -0
- package/src/testing/ai-model-call-groups-contract.ts +353 -0
- package/src/testing/ai-usage-storage-contract.ts +31 -0
- package/src/testing/auth-storage-contract.ts +85 -0
- package/src/testing/execution-storage-contract.ts +2 -2
- package/src/testing/index.ts +10 -0
- package/src/testing/queues-contract.ts +36 -1
- package/src/workflows/agent-step-identity.ts +4 -0
- package/src/workflows/builders.ts +95 -9
- package/src/workflows/execution.ts +2 -2
- package/src/workflows/failure.ts +2 -2
- package/src/workflows/index.ts +3 -0
- package/src/workflows/types.ts +23 -11
- package/src/workflows/validation.ts +100 -7
- package/dist/chunk-1e8m6yn3.js.map +0 -37
- package/dist/chunk-1g8negke.js.map +0 -11
- package/dist/chunk-6gjqgd3d.js.map +0 -11
- package/dist/chunk-dm72y8wt.js.map +0 -10
- package/dist/chunk-drjqm1aa.js.map +0 -15
- package/dist/chunk-fe5ev6mr.js +0 -55
- package/dist/chunk-fe5ev6mr.js.map +0 -11
- package/dist/chunk-h9kxd41f.js.map +0 -11
- package/dist/chunk-hceck7dq.js +0 -137
- package/dist/chunk-hceck7dq.js.map +0 -10
- package/dist/chunk-n4spznws.js.map +0 -11
- package/dist/chunk-nva1xkjz.js.map +0 -46
- package/dist/chunk-t0jjkep3.js.map +0 -10
- package/dist/chunk-t8t39h7v.js.map +0 -10
- /package/dist/{chunk-zqysyfjt.js.map → chunk-08m3b6w8.js.map} +0 -0
- /package/dist/{chunk-xkthy56g.js.map → chunk-1kamz6j0.js.map} +0 -0
- /package/dist/{chunk-md8k0r54.js.map → chunk-3fqt22c4.js.map} +0 -0
- /package/dist/{chunk-z3zp0bj1.js.map → chunk-407j3msh.js.map} +0 -0
- /package/dist/{chunk-rhrbz7d4.js.map → chunk-4a849fr1.js.map} +0 -0
- /package/dist/{chunk-62c7t4jc.js.map → chunk-4nxeacx7.js.map} +0 -0
- /package/dist/{chunk-cy0n5dms.js.map → chunk-5jcdmjam.js.map} +0 -0
- /package/dist/{chunk-819wnjz8.js.map → chunk-64sr682n.js.map} +0 -0
- /package/dist/{chunk-x2yw73hy.js.map → chunk-7ds9620f.js.map} +0 -0
- /package/dist/{chunk-72q2y8hn.js.map → chunk-8tsf6dmc.js.map} +0 -0
- /package/dist/{chunk-nkbfrt0c.js.map → chunk-9aehf39w.js.map} +0 -0
- /package/dist/{chunk-ezake7g1.js.map → chunk-agsvg9ar.js.map} +0 -0
- /package/dist/{chunk-rnshztfq.js.map → chunk-d63tybny.js.map} +0 -0
- /package/dist/{chunk-vybf6pkp.js.map → chunk-dbc80ad7.js.map} +0 -0
- /package/dist/{chunk-4gz41why.js.map → chunk-dqn23610.js.map} +0 -0
- /package/dist/{chunk-tg5mee00.js.map → chunk-ha58tjtt.js.map} +0 -0
- /package/dist/{chunk-f6erf2vv.js.map → chunk-hdz94br2.js.map} +0 -0
- /package/dist/{chunk-dsrkgtnh.js.map → chunk-jq43kdvk.js.map} +0 -0
- /package/dist/{chunk-wtmzkcht.js.map → chunk-k34z5rvh.js.map} +0 -0
- /package/dist/{chunk-htq0qh7z.js.map → chunk-ka3a2ft3.js.map} +0 -0
- /package/dist/{chunk-znagycq7.js.map → chunk-kt81c11h.js.map} +0 -0
- /package/dist/{chunk-f2rt4vkh.js.map → chunk-n2w475r0.js.map} +0 -0
- /package/dist/{chunk-bhxaq2nn.js.map → chunk-qw9gvjv5.js.map} +0 -0
- /package/dist/{chunk-8gv5z0zm.js.map → chunk-rp1mvzb4.js.map} +0 -0
- /package/dist/{chunk-ghteq96b.js.map → chunk-s5y30bc9.js.map} +0 -0
- /package/dist/{chunk-a31h57d5.js.map → chunk-tn7xcs2n.js.map} +0 -0
- /package/dist/{chunk-e42bc6m3.js.map → chunk-vjjv9mrb.js.map} +0 -0
- /package/dist/{chunk-8b55ygje.js.map → chunk-w3e09qqk.js.map} +0 -0
- /package/dist/{chunk-ckxfnx7f.js.map → chunk-wjgm6jjt.js.map} +0 -0
- /package/dist/{chunk-3j7573mj.js.map → chunk-x0qhkqje.js.map} +0 -0
- /package/dist/{chunk-dysw7nsm.js.map → chunk-xdpwpkha.js.map} +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MODEL_REASONING_EFFORTS,
|
|
3
|
+
type ModelCapabilities,
|
|
4
|
+
type ModelReasoningBudgetCapabilities,
|
|
5
|
+
type ModelReasoningCapabilities,
|
|
6
|
+
} from "./language-model"
|
|
7
|
+
|
|
8
|
+
export type ModelKind = "language" | "image" | "video" | "embedding"
|
|
9
|
+
|
|
10
|
+
/** Common catalog identity shared by every present and future model runtime. */
|
|
11
|
+
export interface ModelDefinition {
|
|
12
|
+
readonly kind: ModelKind
|
|
13
|
+
readonly providerId: string
|
|
14
|
+
readonly modelId: string
|
|
15
|
+
readonly name?: string
|
|
16
|
+
readonly description?: string
|
|
17
|
+
readonly family?: string
|
|
18
|
+
readonly tags?: readonly string[]
|
|
19
|
+
readonly releaseDate?: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Serializable facts about one concrete model offering from one provider. */
|
|
23
|
+
export interface LanguageModelDefinition extends ModelDefinition {
|
|
24
|
+
readonly kind: "language"
|
|
25
|
+
readonly knowledgeCutoff?: string
|
|
26
|
+
readonly contextWindow?: number
|
|
27
|
+
/** Maximum input tokens, distinct from a shared input/output context window. */
|
|
28
|
+
readonly maxInputTokens?: number
|
|
29
|
+
readonly maxOutputTokens?: number
|
|
30
|
+
readonly capabilities: ModelCapabilities
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function defineLanguageModel(definition: LanguageModelDefinition): LanguageModelDefinition {
|
|
34
|
+
if (definition.kind !== "language") {
|
|
35
|
+
throw new TypeError("[Sixb] Language model definitions must use kind 'language'.")
|
|
36
|
+
}
|
|
37
|
+
assertModelId(definition.providerId, "providerId")
|
|
38
|
+
assertModelId(definition.modelId, "modelId")
|
|
39
|
+
assertOptionalString(definition.name, "name")
|
|
40
|
+
assertOptionalString(definition.description, "description")
|
|
41
|
+
assertOptionalString(definition.family, "family")
|
|
42
|
+
assertOptionalString(definition.releaseDate, "releaseDate")
|
|
43
|
+
assertOptionalString(definition.knowledgeCutoff, "knowledgeCutoff")
|
|
44
|
+
const tags = freezeStrings(definition.tags, "tags")
|
|
45
|
+
const capabilities = defineModelCapabilities(definition.capabilities)
|
|
46
|
+
assertOptionalPositiveInteger(definition.contextWindow, "contextWindow")
|
|
47
|
+
assertOptionalPositiveInteger(definition.maxInputTokens, "maxInputTokens")
|
|
48
|
+
assertOptionalPositiveInteger(definition.maxOutputTokens, "maxOutputTokens")
|
|
49
|
+
return Object.freeze({
|
|
50
|
+
kind: "language",
|
|
51
|
+
providerId: definition.providerId,
|
|
52
|
+
modelId: definition.modelId,
|
|
53
|
+
...(definition.name === undefined ? {} : { name: definition.name }),
|
|
54
|
+
...(definition.description === undefined ? {} : { description: definition.description }),
|
|
55
|
+
...(definition.family === undefined ? {} : { family: definition.family }),
|
|
56
|
+
...(tags === undefined ? {} : { tags }),
|
|
57
|
+
...(definition.releaseDate === undefined ? {} : { releaseDate: definition.releaseDate }),
|
|
58
|
+
...(definition.knowledgeCutoff === undefined
|
|
59
|
+
? {}
|
|
60
|
+
: { knowledgeCutoff: definition.knowledgeCutoff }),
|
|
61
|
+
...(definition.contextWindow === undefined ? {} : { contextWindow: definition.contextWindow }),
|
|
62
|
+
...(definition.maxInputTokens === undefined
|
|
63
|
+
? {}
|
|
64
|
+
: { maxInputTokens: definition.maxInputTokens }),
|
|
65
|
+
...(definition.maxOutputTokens === undefined
|
|
66
|
+
? {}
|
|
67
|
+
: { maxOutputTokens: definition.maxOutputTokens }),
|
|
68
|
+
capabilities,
|
|
69
|
+
})
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function defineModelCapabilities(capabilities: unknown): ModelCapabilities {
|
|
73
|
+
assertRecord(capabilities, "capabilities")
|
|
74
|
+
const inputMediaTypes =
|
|
75
|
+
capabilities.inputMediaTypes === "any"
|
|
76
|
+
? "any"
|
|
77
|
+
: freezeStrings(capabilities.inputMediaTypes, "capabilities.inputMediaTypes")
|
|
78
|
+
for (const [field, value] of Object.entries(capabilities)) {
|
|
79
|
+
if (field === "inputMediaTypes" || field === "reasoning") continue
|
|
80
|
+
if (value !== undefined && typeof value !== "boolean") {
|
|
81
|
+
throw new TypeError(`[Sixb] Model capability '${field}' must be boolean.`)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const reasoning = freezeReasoningCapabilities(capabilities.reasoning)
|
|
85
|
+
const flags: {
|
|
86
|
+
localTools?: boolean
|
|
87
|
+
parallelToolCalls?: boolean
|
|
88
|
+
nativeStructuredOutput?: boolean
|
|
89
|
+
providerExecutedTools?: boolean
|
|
90
|
+
} = {}
|
|
91
|
+
for (const key of [
|
|
92
|
+
"localTools",
|
|
93
|
+
"parallelToolCalls",
|
|
94
|
+
"nativeStructuredOutput",
|
|
95
|
+
"providerExecutedTools",
|
|
96
|
+
] as const) {
|
|
97
|
+
const value = capabilities[key]
|
|
98
|
+
if (typeof value === "boolean") flags[key] = value
|
|
99
|
+
}
|
|
100
|
+
return Object.freeze({
|
|
101
|
+
...(inputMediaTypes === undefined ? {} : { inputMediaTypes }),
|
|
102
|
+
...(reasoning === undefined ? {} : { reasoning }),
|
|
103
|
+
...flags,
|
|
104
|
+
})
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function freezeReasoningCapabilities(reasoning: unknown): ModelCapabilities["reasoning"] {
|
|
108
|
+
if (reasoning === undefined || reasoning === false) return reasoning
|
|
109
|
+
assertRecord(reasoning, "reasoning")
|
|
110
|
+
if (reasoning.canDisable !== undefined && typeof reasoning.canDisable !== "boolean") {
|
|
111
|
+
throw new TypeError("[Sixb] Model reasoning capability 'canDisable' must be boolean.")
|
|
112
|
+
}
|
|
113
|
+
const efforts = freezeReasoningEfforts(reasoning.efforts)
|
|
114
|
+
const budgetTokens = freezeReasoningBudgetCapabilities(reasoning.budgetTokens)
|
|
115
|
+
return Object.freeze({
|
|
116
|
+
...(reasoning.canDisable === undefined ? {} : { canDisable: reasoning.canDisable }),
|
|
117
|
+
...(efforts === undefined ? {} : { efforts }),
|
|
118
|
+
...(budgetTokens === undefined ? {} : { budgetTokens }),
|
|
119
|
+
} satisfies ModelReasoningCapabilities)
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function freezeReasoningEfforts(
|
|
123
|
+
efforts: unknown
|
|
124
|
+
): readonly (typeof MODEL_REASONING_EFFORTS)[number][] | undefined {
|
|
125
|
+
if (efforts === undefined) return undefined
|
|
126
|
+
if (!Array.isArray(efforts)) {
|
|
127
|
+
throw new TypeError("[Sixb] Model reasoning capability 'efforts' must be an array.")
|
|
128
|
+
}
|
|
129
|
+
const seen = new Set<string>()
|
|
130
|
+
return Object.freeze(
|
|
131
|
+
efforts.map((value: unknown) => {
|
|
132
|
+
const effort = MODEL_REASONING_EFFORTS.find((allowed) => allowed === value)
|
|
133
|
+
if (effort === undefined) {
|
|
134
|
+
throw new TypeError(`[Sixb] Model reasoning effort '${String(value)}' is invalid.`)
|
|
135
|
+
}
|
|
136
|
+
if (seen.has(effort)) {
|
|
137
|
+
throw new TypeError(`[Sixb] Model reasoning effort '${effort}' is duplicated.`)
|
|
138
|
+
}
|
|
139
|
+
seen.add(effort)
|
|
140
|
+
return effort
|
|
141
|
+
})
|
|
142
|
+
)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
function freezeReasoningBudgetCapabilities(
|
|
146
|
+
budget: unknown
|
|
147
|
+
): ModelReasoningBudgetCapabilities | undefined {
|
|
148
|
+
if (budget === undefined) return undefined
|
|
149
|
+
assertRecord(budget, "reasoning budgetTokens")
|
|
150
|
+
assertOptionalNonnegativeInteger(budget.min, "capabilities.reasoning.budgetTokens.min")
|
|
151
|
+
assertOptionalNonnegativeInteger(budget.max, "capabilities.reasoning.budgetTokens.max")
|
|
152
|
+
if (budget.min !== undefined && budget.max !== undefined && budget.max < budget.min) {
|
|
153
|
+
throw new TypeError(
|
|
154
|
+
"[Sixb] Model reasoning token budget maximum must not be below its minimum."
|
|
155
|
+
)
|
|
156
|
+
}
|
|
157
|
+
return Object.freeze({
|
|
158
|
+
...(budget.min === undefined ? {} : { min: budget.min }),
|
|
159
|
+
...(budget.max === undefined ? {} : { max: budget.max }),
|
|
160
|
+
})
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
function assertModelId(value: string, field: string): void {
|
|
164
|
+
if (!value.trim()) throw new TypeError(`[Sixb] Model ${field} must not be empty.`)
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
function assertOptionalPositiveInteger(value: number | undefined, field: string): void {
|
|
168
|
+
if (value !== undefined && (!Number.isSafeInteger(value) || value <= 0)) {
|
|
169
|
+
throw new TypeError(`[Sixb] Model ${field} must be a positive safe integer.`)
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function assertOptionalNonnegativeInteger(
|
|
174
|
+
value: unknown,
|
|
175
|
+
field: string
|
|
176
|
+
): asserts value is number | undefined {
|
|
177
|
+
if (
|
|
178
|
+
value !== undefined &&
|
|
179
|
+
(typeof value !== "number" || !Number.isSafeInteger(value) || value < 0)
|
|
180
|
+
) {
|
|
181
|
+
throw new TypeError(`[Sixb] Model ${field} must be a nonnegative safe integer.`)
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
function assertOptionalString(value: string | undefined, field: string): void {
|
|
186
|
+
if (value !== undefined && typeof value !== "string") {
|
|
187
|
+
throw new TypeError(`[Sixb] Model ${field} must be a string.`)
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
function freezeStrings(value: unknown, field: string): readonly string[] | undefined {
|
|
192
|
+
if (value === undefined) return undefined
|
|
193
|
+
if (!Array.isArray(value) || value.some((entry) => typeof entry !== "string" || !entry.trim())) {
|
|
194
|
+
throw new TypeError(`[Sixb] Model ${field} must contain nonempty strings.`)
|
|
195
|
+
}
|
|
196
|
+
return Object.freeze([...value])
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
function assertRecord(value: unknown, field: string): asserts value is Record<string, unknown> {
|
|
200
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
201
|
+
throw new TypeError(`[Sixb] Model ${field} must be an object.`)
|
|
202
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { ModelFinishReason, ModelUsage } from "./events"
|
|
2
|
+
import type { ModelCallCost } from "./pricing"
|
|
3
|
+
|
|
4
|
+
/** Catalog transport/access failed; callers may use local metadata without masking invalid definitions. */
|
|
5
|
+
export class ModelCatalogUnavailableError extends Error {
|
|
6
|
+
readonly name = "ModelCatalogUnavailableError"
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/** A provider or provider protocol rejected a model request. */
|
|
10
|
+
export class ModelProviderError extends Error {
|
|
11
|
+
readonly name = "ModelProviderError"
|
|
12
|
+
|
|
13
|
+
constructor(
|
|
14
|
+
message: string,
|
|
15
|
+
readonly providerId: string,
|
|
16
|
+
readonly modelId: string,
|
|
17
|
+
options?: ErrorOptions & {
|
|
18
|
+
readonly status?: number
|
|
19
|
+
readonly code?: string
|
|
20
|
+
readonly requestId?: string
|
|
21
|
+
readonly retryAfterMs?: number
|
|
22
|
+
readonly retryable?: boolean
|
|
23
|
+
}
|
|
24
|
+
) {
|
|
25
|
+
super(message, options)
|
|
26
|
+
this.status = options?.status
|
|
27
|
+
this.code = options?.code
|
|
28
|
+
this.requestId = options?.requestId
|
|
29
|
+
this.retryAfterMs = options?.retryAfterMs
|
|
30
|
+
this.retryable = options?.retryable ?? false
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
readonly status?: number
|
|
34
|
+
readonly code?: string
|
|
35
|
+
readonly requestId?: string
|
|
36
|
+
readonly retryAfterMs?: number
|
|
37
|
+
readonly retryable: boolean
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export class ModelStreamError extends Error {
|
|
41
|
+
readonly name = "ModelStreamError"
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export class UnsupportedModelFeatureError extends Error {
|
|
45
|
+
readonly name = "UnsupportedModelFeatureError"
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export class StructuredOutputError extends Error {
|
|
49
|
+
readonly name = "StructuredOutputError"
|
|
50
|
+
|
|
51
|
+
constructor(
|
|
52
|
+
message: string,
|
|
53
|
+
options?: ErrorOptions & {
|
|
54
|
+
readonly text?: string
|
|
55
|
+
readonly providerId?: string
|
|
56
|
+
readonly modelId?: string
|
|
57
|
+
readonly responseId?: string
|
|
58
|
+
readonly responseModelId?: string
|
|
59
|
+
readonly finishReason?: ModelFinishReason
|
|
60
|
+
readonly usage?: ModelUsage
|
|
61
|
+
readonly cost?: ModelCallCost
|
|
62
|
+
}
|
|
63
|
+
) {
|
|
64
|
+
super(message, options)
|
|
65
|
+
this.text = options?.text
|
|
66
|
+
this.providerId = options?.providerId
|
|
67
|
+
this.modelId = options?.modelId
|
|
68
|
+
this.responseId = options?.responseId
|
|
69
|
+
this.responseModelId = options?.responseModelId
|
|
70
|
+
this.finishReason = options?.finishReason
|
|
71
|
+
this.usage = options?.usage
|
|
72
|
+
this.cost = options?.cost
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
readonly text?: string
|
|
76
|
+
readonly providerId?: string
|
|
77
|
+
readonly modelId?: string
|
|
78
|
+
readonly responseId?: string
|
|
79
|
+
readonly responseModelId?: string
|
|
80
|
+
readonly finishReason?: ModelFinishReason
|
|
81
|
+
readonly usage?: ModelUsage
|
|
82
|
+
readonly cost?: ModelCallCost
|
|
83
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import type { JsonObject, JsonValue } from "../json"
|
|
2
|
+
import type { ModelReasoning } from "./language-model"
|
|
3
|
+
import type {
|
|
4
|
+
ModelAssistantPart,
|
|
5
|
+
ModelToolCallPart,
|
|
6
|
+
ModelToolResultPart,
|
|
7
|
+
ProviderData,
|
|
8
|
+
} from "./messages"
|
|
9
|
+
import type { ModelCallCost, ModelCostEstimate, ModelReportedCost } from "./pricing"
|
|
10
|
+
|
|
11
|
+
export interface ModelRoute {
|
|
12
|
+
/** Provider selected by a routing gateway, when it differs from the provider being called. */
|
|
13
|
+
readonly providerId?: string
|
|
14
|
+
readonly modelId?: string
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Only identifiers supplied by the provider. Internal call/response fallback IDs never belong here. */
|
|
18
|
+
export type ModelProviderIds = {
|
|
19
|
+
readonly requestId?: string
|
|
20
|
+
readonly responseId?: string
|
|
21
|
+
readonly generationId?: string
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function normalizeModelProviderIds(value: unknown): ModelProviderIds {
|
|
25
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
26
|
+
throw new TypeError("[Sixb] Provider identifiers must be an object.")
|
|
27
|
+
const result: { requestId?: string; responseId?: string; generationId?: string } = {}
|
|
28
|
+
for (const [key, id] of Object.entries(value)) {
|
|
29
|
+
if (key !== "requestId" && key !== "responseId" && key !== "generationId") continue
|
|
30
|
+
if (id === undefined) continue
|
|
31
|
+
if (typeof id !== "string" || !id.trim())
|
|
32
|
+
throw new TypeError(`[Sixb] Provider ${key} must be nonblank.`)
|
|
33
|
+
result[key] = id
|
|
34
|
+
}
|
|
35
|
+
return Object.freeze(result)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type ModelFinishReason =
|
|
39
|
+
| "stop"
|
|
40
|
+
| "length"
|
|
41
|
+
| "content-filter"
|
|
42
|
+
| "tool-calls"
|
|
43
|
+
| "pause"
|
|
44
|
+
| "error"
|
|
45
|
+
| "other"
|
|
46
|
+
| "unknown"
|
|
47
|
+
|
|
48
|
+
export interface ModelUsage {
|
|
49
|
+
readonly inputTokens?: number
|
|
50
|
+
readonly outputTokens?: number
|
|
51
|
+
readonly uncachedInputTokens?: number
|
|
52
|
+
readonly cacheReadInputTokens?: number
|
|
53
|
+
readonly cacheWriteInputTokens?: number
|
|
54
|
+
readonly cacheWrite5mInputTokens?: number
|
|
55
|
+
readonly cacheWrite1hInputTokens?: number
|
|
56
|
+
readonly textOutputTokens?: number
|
|
57
|
+
readonly reasoningOutputTokens?: number
|
|
58
|
+
readonly raw?: JsonObject
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export type LanguageModelStreamEvent =
|
|
62
|
+
| { readonly type: "stream-start" }
|
|
63
|
+
| {
|
|
64
|
+
readonly type: "response-metadata"
|
|
65
|
+
readonly providerIds?: ModelProviderIds
|
|
66
|
+
readonly id?: string
|
|
67
|
+
readonly modelId?: string
|
|
68
|
+
}
|
|
69
|
+
| { readonly type: "text-start"; readonly id: string; readonly providerData?: ProviderData }
|
|
70
|
+
| { readonly type: "text-delta"; readonly id: string; readonly delta: string }
|
|
71
|
+
| { readonly type: "text-end"; readonly id: string; readonly providerData?: ProviderData }
|
|
72
|
+
| {
|
|
73
|
+
readonly type: "reasoning-start"
|
|
74
|
+
readonly id: string
|
|
75
|
+
readonly providerData?: ProviderData
|
|
76
|
+
}
|
|
77
|
+
| { readonly type: "reasoning-delta"; readonly id: string; readonly delta: string }
|
|
78
|
+
| { readonly type: "reasoning-end"; readonly id: string; readonly providerData?: ProviderData }
|
|
79
|
+
| {
|
|
80
|
+
readonly type: "tool-input-start"
|
|
81
|
+
readonly id: string
|
|
82
|
+
readonly toolName: string
|
|
83
|
+
readonly providerData?: ProviderData
|
|
84
|
+
readonly providerExecuted?: boolean
|
|
85
|
+
readonly dynamic?: boolean
|
|
86
|
+
}
|
|
87
|
+
| { readonly type: "tool-input-delta"; readonly id: string; readonly delta: string }
|
|
88
|
+
| { readonly type: "tool-input-end"; readonly id: string; readonly providerData?: ProviderData }
|
|
89
|
+
| {
|
|
90
|
+
readonly type: "tool-call"
|
|
91
|
+
readonly toolCallId: string
|
|
92
|
+
readonly toolName: string
|
|
93
|
+
readonly input: string
|
|
94
|
+
readonly providerData?: ProviderData
|
|
95
|
+
readonly providerExecuted?: boolean
|
|
96
|
+
readonly dynamic?: boolean
|
|
97
|
+
}
|
|
98
|
+
| {
|
|
99
|
+
readonly type: "tool-result"
|
|
100
|
+
readonly toolCallId: string
|
|
101
|
+
readonly toolName: string
|
|
102
|
+
readonly output: JsonValue
|
|
103
|
+
readonly isError?: boolean
|
|
104
|
+
readonly providerData?: ProviderData
|
|
105
|
+
readonly providerExecuted?: boolean
|
|
106
|
+
readonly dynamic?: boolean
|
|
107
|
+
}
|
|
108
|
+
| {
|
|
109
|
+
readonly type: "provider-state"
|
|
110
|
+
readonly providerId: string
|
|
111
|
+
readonly data: JsonValue
|
|
112
|
+
}
|
|
113
|
+
| {
|
|
114
|
+
readonly type: "finish"
|
|
115
|
+
readonly finishReason: ModelFinishReason
|
|
116
|
+
readonly rawFinishReason?: string
|
|
117
|
+
readonly usage: ModelUsage
|
|
118
|
+
readonly providerData?: ProviderData
|
|
119
|
+
readonly reportedCost?: ModelReportedCost
|
|
120
|
+
readonly route?: ModelRoute
|
|
121
|
+
}
|
|
122
|
+
| { readonly type: "error"; readonly error: unknown }
|
|
123
|
+
|
|
124
|
+
export type ModelUiChunk =
|
|
125
|
+
| { readonly type: "start-step" }
|
|
126
|
+
| { readonly type: "text-start"; readonly id: string }
|
|
127
|
+
| { readonly type: "text-delta"; readonly id: string; readonly delta: string }
|
|
128
|
+
| { readonly type: "text-end"; readonly id: string }
|
|
129
|
+
| { readonly type: "reasoning-start"; readonly id: string }
|
|
130
|
+
| { readonly type: "reasoning-delta"; readonly id: string; readonly delta: string }
|
|
131
|
+
| { readonly type: "reasoning-end"; readonly id: string }
|
|
132
|
+
| {
|
|
133
|
+
readonly type: "tool-input-start"
|
|
134
|
+
readonly toolCallId: string
|
|
135
|
+
readonly toolName: string
|
|
136
|
+
}
|
|
137
|
+
| {
|
|
138
|
+
readonly type: "tool-input-delta"
|
|
139
|
+
readonly toolCallId: string
|
|
140
|
+
readonly toolName: string
|
|
141
|
+
readonly inputTextDelta: string
|
|
142
|
+
}
|
|
143
|
+
| {
|
|
144
|
+
readonly type: "tool-input-available"
|
|
145
|
+
readonly toolCallId: string
|
|
146
|
+
readonly toolName: string
|
|
147
|
+
readonly input: JsonValue
|
|
148
|
+
}
|
|
149
|
+
| {
|
|
150
|
+
readonly type: "tool-input-error"
|
|
151
|
+
readonly toolCallId: string
|
|
152
|
+
readonly toolName: string
|
|
153
|
+
readonly input: JsonValue
|
|
154
|
+
readonly errorText: string
|
|
155
|
+
}
|
|
156
|
+
| {
|
|
157
|
+
readonly type: "tool-output-available"
|
|
158
|
+
readonly toolCallId: string
|
|
159
|
+
readonly toolName: string
|
|
160
|
+
readonly output: JsonValue
|
|
161
|
+
}
|
|
162
|
+
| {
|
|
163
|
+
readonly type: "tool-output-error"
|
|
164
|
+
readonly toolCallId: string
|
|
165
|
+
readonly toolName: string
|
|
166
|
+
readonly errorText: string
|
|
167
|
+
}
|
|
168
|
+
| { readonly type: "error"; readonly errorText: string }
|
|
169
|
+
|
|
170
|
+
export interface ModelCallEndEvent {
|
|
171
|
+
readonly providerIds?: ModelProviderIds
|
|
172
|
+
/** Retained independently when the selected display cost is provider-reported. */
|
|
173
|
+
readonly estimate?: ModelCostEstimate
|
|
174
|
+
readonly callId: string
|
|
175
|
+
readonly providerId: string
|
|
176
|
+
readonly modelId: string
|
|
177
|
+
readonly responseId: string
|
|
178
|
+
readonly responseModelId?: string
|
|
179
|
+
readonly usage: ModelUsage
|
|
180
|
+
readonly cost: ModelCallCost
|
|
181
|
+
readonly requestedReasoning?: ModelReasoning
|
|
182
|
+
readonly route?: ModelRoute
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export interface ModelStep {
|
|
186
|
+
readonly content: readonly (ModelAssistantPart | ModelToolResultPart)[]
|
|
187
|
+
readonly finishReason: ModelFinishReason
|
|
188
|
+
readonly rawFinishReason?: string
|
|
189
|
+
readonly usage: ModelUsage
|
|
190
|
+
readonly responseId: string
|
|
191
|
+
readonly responseModelId?: string
|
|
192
|
+
readonly cost: ModelCallCost
|
|
193
|
+
readonly route?: ModelRoute
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export interface ModelLoopPartial {
|
|
197
|
+
readonly content: readonly (ModelAssistantPart | ModelToolCallPart | ModelToolResultPart)[]
|
|
198
|
+
}
|
package/src/models/index.ts
CHANGED
|
@@ -1,71 +1,89 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
1
|
+
export type { JsonObject, JsonPrimitive, JsonValue } from "../json"
|
|
2
|
+
export { assertJsonObject, assertJsonValue, isJsonObject, isJsonValue } from "../json"
|
|
3
|
+
export type {
|
|
4
|
+
LanguageModelCatalog,
|
|
5
|
+
LanguageModelDefinitionCatalog,
|
|
6
|
+
LanguageModelEntry,
|
|
7
|
+
LanguageModelRef,
|
|
8
|
+
ModelCatalog,
|
|
9
|
+
ModelCatalogInput,
|
|
10
|
+
ModelDefinitionCatalog,
|
|
11
|
+
} from "./catalog"
|
|
12
|
+
export { createModelCatalog } from "./catalog"
|
|
13
|
+
export type {
|
|
14
|
+
LanguageModelDefinition,
|
|
15
|
+
ModelDefinition,
|
|
16
|
+
ModelKind,
|
|
17
|
+
} from "./definitions"
|
|
18
|
+
export { defineLanguageModel } from "./definitions"
|
|
19
|
+
export {
|
|
20
|
+
ModelCatalogUnavailableError,
|
|
21
|
+
ModelProviderError,
|
|
22
|
+
ModelStreamError,
|
|
23
|
+
StructuredOutputError,
|
|
24
|
+
UnsupportedModelFeatureError,
|
|
25
|
+
} from "./errors"
|
|
26
|
+
export type {
|
|
27
|
+
LanguageModelStreamEvent,
|
|
28
|
+
ModelCallEndEvent,
|
|
29
|
+
ModelFinishReason,
|
|
30
|
+
ModelLoopPartial,
|
|
31
|
+
ModelProviderIds,
|
|
32
|
+
ModelRoute,
|
|
33
|
+
ModelStep,
|
|
34
|
+
ModelUiChunk,
|
|
35
|
+
ModelUsage,
|
|
36
|
+
} from "./events"
|
|
37
|
+
export { normalizeModelProviderIds } from "./events"
|
|
38
|
+
export type {
|
|
39
|
+
LanguageModel,
|
|
40
|
+
LanguageModelProvider,
|
|
41
|
+
LanguageModelRequest,
|
|
42
|
+
LanguageModelStream,
|
|
43
|
+
ModelCapabilities,
|
|
44
|
+
ModelProvider,
|
|
45
|
+
ModelReasoning,
|
|
46
|
+
ModelReasoningBudget,
|
|
47
|
+
ModelReasoningBudgetCapabilities,
|
|
48
|
+
ModelReasoningCapabilities,
|
|
49
|
+
ModelReasoningEffort,
|
|
50
|
+
ModelReasoningLevel,
|
|
51
|
+
ModelResponseFormat,
|
|
52
|
+
ModelToolSpecification,
|
|
53
|
+
} from "./language-model"
|
|
54
|
+
export {
|
|
55
|
+
isModelReasoning,
|
|
56
|
+
MODEL_REASONING_EFFORTS,
|
|
57
|
+
MODEL_REASONING_LEVELS,
|
|
58
|
+
modelReasoningSupportIssue,
|
|
59
|
+
} from "./language-model"
|
|
60
|
+
export type {
|
|
61
|
+
ModelAssistantPart,
|
|
62
|
+
ModelFilePart,
|
|
63
|
+
ModelMessage,
|
|
64
|
+
ModelProviderStatePart,
|
|
65
|
+
ModelReasoningPart,
|
|
66
|
+
ModelTextPart,
|
|
67
|
+
ModelToolCallPart,
|
|
68
|
+
ModelToolOutput,
|
|
69
|
+
ModelToolResultPart,
|
|
70
|
+
ProviderData,
|
|
71
|
+
} from "./messages"
|
|
72
|
+
export type {
|
|
73
|
+
ModelCallCost,
|
|
74
|
+
ModelCostComponent,
|
|
75
|
+
ModelCostEstimate,
|
|
76
|
+
ModelCostEstimator,
|
|
77
|
+
ModelCostMeter,
|
|
78
|
+
ModelMoney,
|
|
79
|
+
ModelReportedCost,
|
|
80
|
+
} from "./pricing"
|
|
81
|
+
export { estimateModelReservation, rateModelCall } from "./pricing"
|
|
82
|
+
export type {
|
|
83
|
+
LanguageModelRateCard,
|
|
84
|
+
ModelPricingTier,
|
|
85
|
+
ModelTokenPrice,
|
|
86
|
+
ModelUnitPrice,
|
|
87
|
+
} from "./rate-card"
|
|
88
|
+
export { defineModelRateCard } from "./rate-card"
|
|
89
|
+
export type { ModelOutput, ModelTool, ModelToolExecutionContext } from "./tools"
|