@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
|
@@ -2,6 +2,7 @@ import { AsyncLocalStorage } from "node:async_hooks"
|
|
|
2
2
|
import { InMemoryActionRunStorage } from "../action-runs"
|
|
3
3
|
import { type AgentStorage, InMemoryAgentStorage } from "../agents"
|
|
4
4
|
import { type AiAccountingAttribution, type AiCostStorage, InMemoryAiCostStorage } from "../ai-cost"
|
|
5
|
+
import { type AiLimitStorage, InMemoryAiLimitStorage } from "../ai-limits"
|
|
5
6
|
import { type AiUsageStorage, InMemoryAiUsageStorage } from "../ai-usage"
|
|
6
7
|
import { type AuthStorage, InMemoryAuthStorage } from "../auth"
|
|
7
8
|
import {
|
|
@@ -70,6 +71,31 @@ export class InMemoryStorage implements Storage {
|
|
|
70
71
|
private readonly aiUsageStorage = new InMemoryAiUsageStorage(this.executionStorage)
|
|
71
72
|
private readonly aiCostStorage = new InMemoryAiCostStorage(this.aiUsageStorage, {
|
|
72
73
|
resolve: (input) => this.resolveAiAccountingAttribution(input),
|
|
74
|
+
resolveGroup: async (input) => {
|
|
75
|
+
const attribution = await this.resolveAiAccountingAttribution(input)
|
|
76
|
+
if (attribution?.kind !== "subagent") return { executionId: input.executionId, attribution }
|
|
77
|
+
const parent = await this.agentStorage.runs.getById({
|
|
78
|
+
projectId: input.projectId,
|
|
79
|
+
id: attribution.parentRunId,
|
|
80
|
+
})
|
|
81
|
+
if (!parent) throw new Error("[Sixb] Subagent accounting parent is missing.")
|
|
82
|
+
return {
|
|
83
|
+
executionId: parent.executionId,
|
|
84
|
+
attribution: await this.resolveAiAccountingAttribution({
|
|
85
|
+
...input,
|
|
86
|
+
executionId: parent.executionId,
|
|
87
|
+
}),
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
})
|
|
91
|
+
private readonly aiLimitStorage = new InMemoryAiLimitStorage({
|
|
92
|
+
resolveExecution: ({ projectId, executionId }) =>
|
|
93
|
+
this.executionStorage.getById({ projectId, id: executionId }),
|
|
94
|
+
resolveUsageRecord: ({ projectId, usageRecordId }) =>
|
|
95
|
+
this.aiUsageStorage.getRecord(projectId, usageRecordId),
|
|
96
|
+
resolveCostRecord: ({ projectId, usageRecordId }) =>
|
|
97
|
+
this.aiCostStorage.getRecord(projectId, usageRecordId),
|
|
98
|
+
listUsageRecords: ({ projectId }) => this.aiUsageStorage.listRecords(projectId),
|
|
73
99
|
})
|
|
74
100
|
private readonly actionRunStorage = new InMemoryActionRunStorage(this.executionStorage)
|
|
75
101
|
private readonly syncRunStorage = new InMemorySyncRunStorage(this.executionStorage)
|
|
@@ -88,6 +114,7 @@ export class InMemoryStorage implements Storage {
|
|
|
88
114
|
readonly agents: AgentStorage
|
|
89
115
|
readonly aiUsage: AiUsageStorage
|
|
90
116
|
readonly aiCosts: AiCostStorage
|
|
117
|
+
readonly aiLimits: AiLimitStorage
|
|
91
118
|
readonly actionRuns: InMemoryActionRunStorage
|
|
92
119
|
readonly syncRuns: SyncRunStorage
|
|
93
120
|
readonly pipelineRuns: PipelineRunStorage
|
|
@@ -114,6 +141,7 @@ export class InMemoryStorage implements Storage {
|
|
|
114
141
|
this.agents = createAgentOperationScope(this.agentStorage, scope)
|
|
115
142
|
this.aiUsage = createOperationScopedFacade(this.aiUsageStorage, scope)
|
|
116
143
|
this.aiCosts = createOperationScopedFacade(this.aiCostStorage, scope)
|
|
144
|
+
this.aiLimits = createOperationScopedFacade(this.aiLimitStorage, scope)
|
|
117
145
|
this.actionRuns = createOperationScopedFacade(this.actionRunStorage, scope)
|
|
118
146
|
this.syncRuns = createOperationScopedFacade(this.syncRunStorage, scope)
|
|
119
147
|
this.pipelineRuns = createOperationScopedFacade(this.pipelineRunStorage, scope)
|
|
@@ -154,14 +182,20 @@ export class InMemoryStorage implements Storage {
|
|
|
154
182
|
projectId: input.projectId,
|
|
155
183
|
id: execution.executor.runId,
|
|
156
184
|
})
|
|
157
|
-
if (directRun) {
|
|
185
|
+
if (directRun?.kind === "conversation") {
|
|
158
186
|
return {
|
|
159
187
|
kind: "agent",
|
|
160
|
-
agentId: directRun.agentId,
|
|
161
188
|
agentRunId: directRun.id,
|
|
162
189
|
threadId: directRun.threadId,
|
|
163
190
|
}
|
|
164
191
|
}
|
|
192
|
+
if (directRun?.kind === "subagent") {
|
|
193
|
+
return {
|
|
194
|
+
kind: "subagent",
|
|
195
|
+
subagentRunId: directRun.id,
|
|
196
|
+
parentRunId: directRun.parentRunId,
|
|
197
|
+
}
|
|
198
|
+
}
|
|
165
199
|
const agentRun = await this.workflowRunStorage.agentNodes.getByNodeRunId({
|
|
166
200
|
projectId: input.projectId,
|
|
167
201
|
nodeRunId: execution.executor.runId,
|
|
@@ -174,7 +208,7 @@ export class InMemoryStorage implements Storage {
|
|
|
174
208
|
if (!node) return undefined
|
|
175
209
|
return {
|
|
176
210
|
kind: "workflowAgent",
|
|
177
|
-
|
|
211
|
+
agentStepId: node.nodeId,
|
|
178
212
|
nodeRunId: agentRun.nodeRunId,
|
|
179
213
|
workflowId: node.workflowId,
|
|
180
214
|
workflowRunId: node.workflowRunId,
|
|
@@ -224,7 +258,13 @@ export class InMemoryStorage implements Storage {
|
|
|
224
258
|
this.materializationLifecycles.set(transactionToken, materializationLifecycle)
|
|
225
259
|
|
|
226
260
|
try {
|
|
227
|
-
const result = await this.transactionScope.run(transactionToken, async () =>
|
|
261
|
+
const result = await this.transactionScope.run(transactionToken, async () => {
|
|
262
|
+
try {
|
|
263
|
+
return await run(tx)
|
|
264
|
+
} finally {
|
|
265
|
+
await this.aiLimitStorage.settleOperations()
|
|
266
|
+
}
|
|
267
|
+
})
|
|
228
268
|
materializationLifecycle.assertCommittable()
|
|
229
269
|
return result
|
|
230
270
|
} catch (error) {
|
|
@@ -297,6 +337,7 @@ export class InMemoryStorage implements Storage {
|
|
|
297
337
|
agents: this.agentStorage,
|
|
298
338
|
aiUsage: this.aiUsageStorage,
|
|
299
339
|
aiCosts: this.aiCostStorage,
|
|
340
|
+
aiLimits: this.aiLimitStorage,
|
|
300
341
|
actionRuns: this.actionRunStorage,
|
|
301
342
|
syncRuns: this.syncRunStorage,
|
|
302
343
|
pipelineRuns: this.pipelineRunStorage,
|
|
@@ -324,6 +365,7 @@ export class InMemoryStorage implements Storage {
|
|
|
324
365
|
agents: this.agentStorage.snapshot(),
|
|
325
366
|
aiUsage: this.aiUsageStorage.snapshot(),
|
|
326
367
|
aiCosts: this.aiCostStorage.snapshot(),
|
|
368
|
+
aiLimits: this.aiLimitStorage.snapshot(),
|
|
327
369
|
actionRuns: this.actionRunStorage.snapshot(),
|
|
328
370
|
syncRuns: this.syncRunStorage.snapshot(),
|
|
329
371
|
pipelineRuns: this.pipelineRunStorage.snapshot(),
|
|
@@ -346,6 +388,7 @@ export class InMemoryStorage implements Storage {
|
|
|
346
388
|
this.agentStorage.restore(snapshot.agents)
|
|
347
389
|
this.aiUsageStorage.restore(snapshot.aiUsage)
|
|
348
390
|
this.aiCostStorage.restore(snapshot.aiCosts)
|
|
391
|
+
this.aiLimitStorage.restore(snapshot.aiLimits)
|
|
349
392
|
this.actionRunStorage.restore(snapshot.actionRuns)
|
|
350
393
|
this.syncRunStorage.restore(snapshot.syncRuns)
|
|
351
394
|
this.pipelineRunStorage.restore(snapshot.pipelineRuns)
|
|
@@ -368,6 +411,7 @@ export interface InMemoryStorageSnapshot {
|
|
|
368
411
|
readonly agents: ReturnType<InMemoryAgentStorage["snapshot"]>
|
|
369
412
|
readonly aiUsage: ReturnType<InMemoryAiUsageStorage["snapshot"]>
|
|
370
413
|
readonly aiCosts: ReturnType<InMemoryAiCostStorage["snapshot"]>
|
|
414
|
+
readonly aiLimits: ReturnType<InMemoryAiLimitStorage["snapshot"]>
|
|
371
415
|
readonly actionRuns: ReturnType<InMemoryActionRunStorage["snapshot"]>
|
|
372
416
|
readonly syncRuns: ReturnType<InMemorySyncRunStorage["snapshot"]>
|
|
373
417
|
readonly pipelineRuns: ReturnType<InMemoryPipelineRunStorage["snapshot"]>
|
package/src/storage/index.ts
CHANGED
|
@@ -16,6 +16,7 @@ export type {
|
|
|
16
16
|
ProjectionExecution,
|
|
17
17
|
ProjectionMaterializationIdentity,
|
|
18
18
|
} from "../materialization/model"
|
|
19
|
+
export type { ModelProviderIds } from "../models/events"
|
|
19
20
|
export type {
|
|
20
21
|
ActionRunEffectsRecord,
|
|
21
22
|
ActionRunFailure,
|
|
@@ -65,6 +66,7 @@ export type {
|
|
|
65
66
|
AgentRunExecution,
|
|
66
67
|
AgentRunFailureCode,
|
|
67
68
|
AgentRunFinishReason,
|
|
69
|
+
AgentRunKind,
|
|
68
70
|
AgentRunRecord,
|
|
69
71
|
AgentRunStatus,
|
|
70
72
|
AgentRunStore,
|
|
@@ -75,9 +77,12 @@ export type {
|
|
|
75
77
|
AgentThreadStore,
|
|
76
78
|
AppendAgentMessageInput,
|
|
77
79
|
ConfirmAgentRunExecutionOwnershipInput,
|
|
80
|
+
ConversationAgentRunRecord,
|
|
81
|
+
ConversationAgentRunSpec,
|
|
78
82
|
CreateAgentContextCheckpointInput,
|
|
79
83
|
CreateAgentRunInput,
|
|
80
84
|
CreateAgentThreadInput,
|
|
85
|
+
CreateSubagentRunInput,
|
|
81
86
|
DeleteAgentMessagesByRunInput,
|
|
82
87
|
FinishAgentRunInput,
|
|
83
88
|
FinishQueuedAgentRunInput,
|
|
@@ -89,6 +94,9 @@ export type {
|
|
|
89
94
|
ListAgentThreadsResult,
|
|
90
95
|
ReclaimAgentRunInput,
|
|
91
96
|
StartAgentRunInput,
|
|
97
|
+
SubagentRunRecord,
|
|
98
|
+
SubagentRunResult,
|
|
99
|
+
SubagentRunSpec,
|
|
92
100
|
} from "./agents"
|
|
93
101
|
export {
|
|
94
102
|
AGENT_RUN_DIAGNOSTIC_CODES,
|
|
@@ -111,11 +119,15 @@ export type {
|
|
|
111
119
|
AiBillableMeter,
|
|
112
120
|
AiBillingIdentity,
|
|
113
121
|
AiCostComponent,
|
|
122
|
+
AiCostEstimate,
|
|
114
123
|
AiCostStorage,
|
|
115
124
|
AiCostStorageErrorCode,
|
|
116
125
|
AiCostSummary,
|
|
117
126
|
AiModelCallAccountingItem,
|
|
118
127
|
AiModelCallCostRecord,
|
|
128
|
+
AiModelCallExecutionSummary,
|
|
129
|
+
AiModelCallGroup,
|
|
130
|
+
AiModelCallGroupSummary,
|
|
119
131
|
AiMoney,
|
|
120
132
|
AiPriceSource,
|
|
121
133
|
AiPricingContext,
|
|
@@ -126,10 +138,42 @@ export type {
|
|
|
126
138
|
InMemoryAiCostStorageSnapshot,
|
|
127
139
|
ListAiModelCallAccountingInput,
|
|
128
140
|
ListAiModelCallAccountingResult,
|
|
141
|
+
ListAiModelCallGroupsInput,
|
|
142
|
+
ListAiModelCallGroupsResult,
|
|
129
143
|
QueryAiAccountingOverviewInput,
|
|
130
144
|
SummarizeAiCostExecutionsInput,
|
|
131
145
|
} from "./ai-cost"
|
|
132
146
|
export { AiCostStorageError, InMemoryAiCostStorage } from "./ai-cost"
|
|
147
|
+
export type {
|
|
148
|
+
AiLimitConsumption,
|
|
149
|
+
AiLimitMeter,
|
|
150
|
+
AiLimitPeriod,
|
|
151
|
+
AiLimitPeriodKind,
|
|
152
|
+
AiLimitPolicy,
|
|
153
|
+
AiLimitPolicyStatus,
|
|
154
|
+
AiLimitQuantity,
|
|
155
|
+
AiLimitReservationBucket,
|
|
156
|
+
AiLimitStorage,
|
|
157
|
+
AiLimitStorageErrorCode,
|
|
158
|
+
AiLimitSubject,
|
|
159
|
+
AiModelCallReservation,
|
|
160
|
+
AiModelCallReservationIdentity,
|
|
161
|
+
AiModelCallReservationState,
|
|
162
|
+
CreateAiLimitPolicyInput,
|
|
163
|
+
DeleteAiLimitPolicyInput,
|
|
164
|
+
GetAiLimitPolicyInput,
|
|
165
|
+
InMemoryAiLimitStorageOptions,
|
|
166
|
+
InMemoryAiLimitStorageSnapshot,
|
|
167
|
+
ListAiLimitPoliciesInput,
|
|
168
|
+
ListAiLimitPolicyStatusesInput,
|
|
169
|
+
MarkAiModelCallReservationUnknownInput,
|
|
170
|
+
ReconcileAiModelCallInput,
|
|
171
|
+
RecordAiModelCallLimitActualsInput,
|
|
172
|
+
ReserveAiModelCallInput,
|
|
173
|
+
ReserveAiModelCallResult,
|
|
174
|
+
UpdateAiLimitPolicyInput,
|
|
175
|
+
} from "./ai-limits"
|
|
176
|
+
export { AiLimitStorageError, aiLimitCalendarMonth, InMemoryAiLimitStorage } from "./ai-limits"
|
|
133
177
|
export type {
|
|
134
178
|
AiModelCallUsage,
|
|
135
179
|
AiModelCallUsageInput,
|
|
@@ -158,6 +202,7 @@ export type {
|
|
|
158
202
|
AccessTokenRecord,
|
|
159
203
|
AccessTokenSubjectType,
|
|
160
204
|
AuthAccessTokenStore,
|
|
205
|
+
AuthDeviceAuthorizationStore,
|
|
161
206
|
AuthGroupMembershipStore,
|
|
162
207
|
AuthInvitationStore,
|
|
163
208
|
AuthMagicLinkStore,
|
|
@@ -170,6 +215,8 @@ export type {
|
|
|
170
215
|
AuthUserIdentityStore,
|
|
171
216
|
AuthUserStore,
|
|
172
217
|
CompleteAuthSessionInput,
|
|
218
|
+
CompleteDeviceAuthorizationInput,
|
|
219
|
+
CompleteDeviceAuthorizationResult,
|
|
173
220
|
CompleteMagicLinkSignInInput,
|
|
174
221
|
CompleteOidcSignInInput,
|
|
175
222
|
CompleteSignInResult,
|
|
@@ -178,8 +225,11 @@ export type {
|
|
|
178
225
|
CreateAuthServiceAccountInput,
|
|
179
226
|
CreateAuthSessionInput,
|
|
180
227
|
CreateAuthUserInput,
|
|
228
|
+
CreateDeviceAuthorizationInput,
|
|
181
229
|
CreateOidcAuthorizationAttemptInput,
|
|
182
230
|
CreateOrUpdateAuthInvitationInput,
|
|
231
|
+
DeviceAuthorizationRecord,
|
|
232
|
+
DeviceAuthorizationStatus,
|
|
183
233
|
GroupMembershipRecord,
|
|
184
234
|
GroupMembershipSource,
|
|
185
235
|
InvitationRecord,
|
|
@@ -210,7 +260,7 @@ export type {
|
|
|
210
260
|
UserRecord,
|
|
211
261
|
UserStatus,
|
|
212
262
|
} from "./auth"
|
|
213
|
-
export { AuthStorageError, InMemoryAuthStorage } from "./auth"
|
|
263
|
+
export { AuthStorageError, InMemoryAuthStorage, MAX_PENDING_DEVICE_AUTHORIZATIONS } from "./auth"
|
|
214
264
|
export type {
|
|
215
265
|
AttachConnectorConnectionRunAuthorizationInput,
|
|
216
266
|
ClaimConnectorConnectionRunCallbackInput,
|
package/src/storage/types.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ActionRunStorage } from "./action-runs"
|
|
2
2
|
import type { AgentStorage } from "./agents"
|
|
3
3
|
import type { AiCostStorage } from "./ai-cost"
|
|
4
|
+
import type { AiLimitStorage } from "./ai-limits"
|
|
4
5
|
import type { AiUsageStorage } from "./ai-usage"
|
|
5
6
|
import type { AuthStorage } from "./auth"
|
|
6
7
|
import type { ConnectorConnectionStorage } from "./connector-connections"
|
|
@@ -43,13 +44,17 @@ export type {
|
|
|
43
44
|
AgentMessageRecord,
|
|
44
45
|
AgentRunExecution,
|
|
45
46
|
AgentRunFailureCode,
|
|
47
|
+
AgentRunKind,
|
|
46
48
|
AgentRunRecord,
|
|
47
49
|
AgentStorage,
|
|
48
50
|
AgentThreadRecord,
|
|
49
51
|
AppendAgentMessageInput,
|
|
50
52
|
ConfirmAgentRunExecutionOwnershipInput,
|
|
53
|
+
ConversationAgentRunRecord,
|
|
54
|
+
ConversationAgentRunSpec,
|
|
51
55
|
CreateAgentRunInput,
|
|
52
56
|
CreateAgentThreadInput,
|
|
57
|
+
CreateSubagentRunInput,
|
|
53
58
|
FinishAgentRunInput,
|
|
54
59
|
FinishQueuedAgentRunInput,
|
|
55
60
|
ListAgentMessagesInput,
|
|
@@ -60,8 +65,39 @@ export type {
|
|
|
60
65
|
ListAgentThreadsResult,
|
|
61
66
|
ReclaimAgentRunInput,
|
|
62
67
|
StartAgentRunInput,
|
|
68
|
+
SubagentRunRecord,
|
|
69
|
+
SubagentRunResult,
|
|
70
|
+
SubagentRunSpec,
|
|
63
71
|
} from "./agents"
|
|
64
72
|
export { AGENT_RUN_FAILURE_CODES, AgentStorageError } from "./agents"
|
|
73
|
+
export type {
|
|
74
|
+
AiLimitConsumption,
|
|
75
|
+
AiLimitMeter,
|
|
76
|
+
AiLimitPeriod,
|
|
77
|
+
AiLimitPeriodKind,
|
|
78
|
+
AiLimitPolicy,
|
|
79
|
+
AiLimitPolicyStatus,
|
|
80
|
+
AiLimitQuantity,
|
|
81
|
+
AiLimitReservationBucket,
|
|
82
|
+
AiLimitStorage,
|
|
83
|
+
AiLimitStorageErrorCode,
|
|
84
|
+
AiLimitSubject,
|
|
85
|
+
AiModelCallReservation,
|
|
86
|
+
AiModelCallReservationIdentity,
|
|
87
|
+
AiModelCallReservationState,
|
|
88
|
+
CreateAiLimitPolicyInput,
|
|
89
|
+
DeleteAiLimitPolicyInput,
|
|
90
|
+
GetAiLimitPolicyInput,
|
|
91
|
+
ListAiLimitPoliciesInput,
|
|
92
|
+
ListAiLimitPolicyStatusesInput,
|
|
93
|
+
MarkAiModelCallReservationUnknownInput,
|
|
94
|
+
ReconcileAiModelCallInput,
|
|
95
|
+
RecordAiModelCallLimitActualsInput,
|
|
96
|
+
ReserveAiModelCallInput,
|
|
97
|
+
ReserveAiModelCallResult,
|
|
98
|
+
UpdateAiLimitPolicyInput,
|
|
99
|
+
} from "./ai-limits"
|
|
100
|
+
export { AiLimitStorageError, aiLimitCalendarMonth } from "./ai-limits"
|
|
65
101
|
export type {
|
|
66
102
|
AiModelCallUsage,
|
|
67
103
|
AiModelCallUsageInput,
|
|
@@ -295,6 +331,7 @@ export interface Storage {
|
|
|
295
331
|
agents?: AgentStorage
|
|
296
332
|
aiUsage?: AiUsageStorage
|
|
297
333
|
aiCosts?: AiCostStorage
|
|
334
|
+
aiLimits?: AiLimitStorage
|
|
298
335
|
actionRuns?: ActionRunStorage
|
|
299
336
|
syncRuns?: SyncRunStorage
|
|
300
337
|
pipelineRuns?: PipelineRunStorage
|
|
@@ -628,7 +628,7 @@ export class InMemoryWorkflowAgentNodeRunStorage implements WorkflowAgentNodeRun
|
|
|
628
628
|
projectId: input.projectId,
|
|
629
629
|
executionId: input.executionId,
|
|
630
630
|
nodeRunId: input.nodeRunId,
|
|
631
|
-
|
|
631
|
+
actorId: input.actorId,
|
|
632
632
|
workflowExecutionId: workflowRun.executionId,
|
|
633
633
|
})
|
|
634
634
|
if (node.status !== "running") {
|
|
@@ -655,7 +655,7 @@ export class InMemoryWorkflowAgentNodeRunStorage implements WorkflowAgentNodeRun
|
|
|
655
655
|
projectId: input.projectId,
|
|
656
656
|
nodeRunId: input.nodeRunId,
|
|
657
657
|
executionId: input.executionId,
|
|
658
|
-
|
|
658
|
+
actorId: input.actorId,
|
|
659
659
|
status: "queued",
|
|
660
660
|
prompt: input.prompt,
|
|
661
661
|
attempt: 0,
|
|
@@ -747,7 +747,7 @@ export class InMemoryWorkflowAgentNodeRunStorage implements WorkflowAgentNodeRun
|
|
|
747
747
|
const order = input.order ?? "desc"
|
|
748
748
|
const filtered = [...this.runs.values()]
|
|
749
749
|
.filter((run) => run.projectId === input.projectId)
|
|
750
|
-
.filter((run) => (input.
|
|
750
|
+
.filter((run) => (input.actorId ? run.actorId === input.actorId : true))
|
|
751
751
|
.filter((run) => (statuses ? statuses.has(run.status) : true))
|
|
752
752
|
.sort((a, b) =>
|
|
753
753
|
order === "asc"
|
|
@@ -42,7 +42,7 @@ export async function assertWorkflowAgentNodeRunExecution(input: {
|
|
|
42
42
|
readonly projectId: string
|
|
43
43
|
readonly executionId: string
|
|
44
44
|
readonly nodeRunId: string
|
|
45
|
-
readonly
|
|
45
|
+
readonly actorId: string
|
|
46
46
|
readonly workflowExecutionId: string
|
|
47
47
|
}): Promise<void> {
|
|
48
48
|
const execution = await findAgentRunExecution({
|
|
@@ -50,7 +50,7 @@ export async function assertWorkflowAgentNodeRunExecution(input: {
|
|
|
50
50
|
projectId: input.projectId,
|
|
51
51
|
executionId: input.executionId,
|
|
52
52
|
runId: input.nodeRunId,
|
|
53
|
-
serviceAccountId: agentServiceAccountId(input.
|
|
53
|
+
authority: { type: "managed", serviceAccountId: agentServiceAccountId(input.actorId) },
|
|
54
54
|
})
|
|
55
55
|
if (
|
|
56
56
|
!execution ||
|
|
@@ -21,6 +21,8 @@ export const WORKFLOW_RUN_FAILURE_CODES = [
|
|
|
21
21
|
"internal.unexpected",
|
|
22
22
|
"runtime.cancelled",
|
|
23
23
|
"workflow.node_failed",
|
|
24
|
+
"ai.usage_limit_exceeded",
|
|
25
|
+
"ai.usage_limit_unavailable",
|
|
24
26
|
] as const satisfies readonly [SixbErrorCode, ...SixbErrorCode[]]
|
|
25
27
|
|
|
26
28
|
export type WorkflowRunFailureCode = (typeof WORKFLOW_RUN_FAILURE_CODES)[number]
|
|
@@ -42,7 +44,8 @@ export interface WorkflowAgentNodeRunRecord {
|
|
|
42
44
|
readonly projectId: string
|
|
43
45
|
readonly nodeRunId: string
|
|
44
46
|
readonly executionId: string
|
|
45
|
-
|
|
47
|
+
/** Stable managed actor for the workflow + Agent step, not the step definition id. */
|
|
48
|
+
readonly actorId: string
|
|
46
49
|
readonly status: WorkflowAgentNodeRunStatus
|
|
47
50
|
readonly prompt: string
|
|
48
51
|
readonly modelId?: string
|
|
@@ -61,7 +64,7 @@ export interface CreateWorkflowAgentNodeRunInput {
|
|
|
61
64
|
readonly projectId: string
|
|
62
65
|
readonly nodeRunId: string
|
|
63
66
|
readonly executionId: string
|
|
64
|
-
readonly
|
|
67
|
+
readonly actorId: string
|
|
65
68
|
readonly prompt: string
|
|
66
69
|
readonly createdAt?: Date
|
|
67
70
|
}
|
|
@@ -116,7 +119,7 @@ export interface CancelWorkflowAgentNodeRunInput {
|
|
|
116
119
|
|
|
117
120
|
export interface ListWorkflowAgentNodeRunsInput {
|
|
118
121
|
readonly projectId: string
|
|
119
|
-
readonly
|
|
122
|
+
readonly actorId?: string
|
|
120
123
|
readonly statuses?: readonly WorkflowAgentNodeRunStatus[]
|
|
121
124
|
readonly limit?: number
|
|
122
125
|
readonly offset?: number
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { agentServiceAccountId } from "../agents/authority"
|
|
2
|
+
import { SYSTEM_PRINCIPAL } from "../auth"
|
|
2
3
|
import type { AuthStorage } from "../storage/auth"
|
|
3
4
|
import { AuthStorageError } from "../storage/auth"
|
|
4
5
|
import type { ExecutionStorage } from "../storage/executions"
|
|
@@ -8,35 +9,43 @@ export async function createTestAgentExecution(
|
|
|
8
9
|
storage: { readonly auth?: AuthStorage; readonly executions: ExecutionStorage },
|
|
9
10
|
input: {
|
|
10
11
|
readonly projectId: string
|
|
11
|
-
readonly
|
|
12
|
+
readonly actorId?: string
|
|
12
13
|
readonly runId: string
|
|
13
14
|
readonly executionId?: string
|
|
14
15
|
readonly sourceExecutionId?: string
|
|
16
|
+
/** Conversational runs inherit authority; workflow fixtures use managed authority. */
|
|
17
|
+
readonly authority?: "managed" | "inherited"
|
|
15
18
|
}
|
|
16
19
|
): Promise<string> {
|
|
17
|
-
const
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
20
|
+
const authority = input.authority ?? (input.actorId === undefined ? "inherited" : "managed")
|
|
21
|
+
if (authority === "managed" && input.actorId === undefined) {
|
|
22
|
+
throw new Error("Managed Agent execution fixtures require an agent id.")
|
|
23
|
+
}
|
|
24
|
+
const serviceAccountId = input.actorId ? agentServiceAccountId(input.actorId) : undefined
|
|
25
|
+
if (authority === "managed") {
|
|
26
|
+
const auth = storage.auth
|
|
27
|
+
if (!auth) throw new Error("Managed Agent execution fixtures require auth storage.")
|
|
28
|
+
const serviceAccount = await auth.serviceAccounts.getById({
|
|
29
|
+
projectId: input.projectId,
|
|
30
|
+
id: serviceAccountId!,
|
|
31
|
+
})
|
|
32
|
+
if (!serviceAccount) {
|
|
33
|
+
const now = new Date()
|
|
34
|
+
try {
|
|
35
|
+
await auth.serviceAccounts.create({
|
|
36
|
+
id: serviceAccountId!,
|
|
37
|
+
projectId: input.projectId,
|
|
38
|
+
name: `Test Agent ${input.actorId}`,
|
|
39
|
+
description: `Test service account for Agent '${input.actorId}'.`,
|
|
40
|
+
status: "active",
|
|
41
|
+
createdByPrincipal: SYSTEM_PRINCIPAL,
|
|
42
|
+
createdAt: now,
|
|
43
|
+
updatedAt: now,
|
|
44
|
+
})
|
|
45
|
+
} catch (error) {
|
|
46
|
+
if (!(error instanceof AuthStorageError) || error.code !== "duplicate_service_account") {
|
|
47
|
+
throw error
|
|
48
|
+
}
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
}
|
|
@@ -72,10 +81,13 @@ export async function createTestAgentExecution(
|
|
|
72
81
|
? {}
|
|
73
82
|
: { requestedBy: structuredClone(parent.requestedBy) }),
|
|
74
83
|
correlationId: parent.correlationId,
|
|
75
|
-
authorizationRef:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
84
|
+
authorizationRef:
|
|
85
|
+
authority === "inherited"
|
|
86
|
+
? structuredClone(parent.authorizationRef)
|
|
87
|
+
: {
|
|
88
|
+
type: "principal",
|
|
89
|
+
principal: { type: "serviceAccount", id: serviceAccountId! },
|
|
90
|
+
},
|
|
79
91
|
})
|
|
80
92
|
return executionId
|
|
81
93
|
}
|