@sixb/core 0.1.5 → 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/types/definitions.d.ts +8 -2
- package/dist/actions/types/definitions.d.ts.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.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +7 -7
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/strategy.d.ts +1 -1
- package/dist/auth/strategy.d.ts.map +1 -1
- package/dist/auth/types.d.ts +13 -0
- package/dist/auth/types.d.ts.map +1 -1
- 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-xdf9yswn.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-h6h91mfy.js → chunk-2b5qtban.js} +12 -12
- package/dist/{chunk-h6h91mfy.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-6d5xdj1q.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-v0egge8b.js → chunk-6ed5bwnd.js} +666 -81
- package/dist/chunk-6ed5bwnd.js.map +57 -0
- 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-72q2y8hn.js.map → chunk-8tsf6dmc.js.map} +3 -3
- package/dist/{chunk-tbv03sx2.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-78c6xvyr.js → chunk-d2ndstdf.js} +8 -6
- package/dist/{chunk-78c6xvyr.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-z3ga9q5m.js → chunk-e4rvtvpw.js} +13 -11
- package/dist/{chunk-z3ga9q5m.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-84h6qhmp.js → chunk-h0knpbz5.js} +468 -1236
- package/dist/chunk-h0knpbz5.js.map +38 -0
- package/dist/{chunk-zp2v2rv6.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-4h947jd8.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-gadsm794.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-am6eczah.js → chunk-qv38twt8.js} +50 -69
- package/dist/{chunk-am6eczah.js.map → chunk-qv38twt8.js.map} +8 -8
- package/dist/{chunk-bhxaq2nn.js → chunk-qw9gvjv5.js} +1 -1
- package/dist/{chunk-r0rry8dn.js → chunk-rp1mvzb4.js} +6 -6
- package/dist/{chunk-tkdscva6.js → chunk-rre42skh.js} +187 -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-ea73pzk7.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-1q02e95s.js → chunk-y35ma3mj.js} +11 -16
- package/dist/{chunk-1q02e95s.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 +8 -5
- 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/in-memory/materializations.d.ts +4 -3
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/index.d.ts +1 -1
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/materializations.d.ts +7 -3
- package/dist/storage/ontology/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +2 -2
- package/dist/storage/ontology/provider.d.ts.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 +3758 -1945
- package/dist/testing/index.js.map +15 -13
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- 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/actions/types/definitions.ts +24 -2
- 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/auth/index.ts +1 -0
- package/src/auth/runtime.ts +8 -0
- package/src/auth/strategy.ts +1 -0
- package/src/auth/types.ts +14 -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 +52 -1
- package/src/storage/ontology/in-memory/materializations.ts +34 -22
- package/src/storage/ontology/index.ts +1 -0
- package/src/storage/ontology/materializations.ts +8 -3
- package/src/storage/ontology/provider.ts +2 -2
- 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/materializer-storage-contract.ts +170 -2
- 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-6gjqgd3d.js.map +0 -11
- package/dist/chunk-84h6qhmp.js.map +0 -46
- package/dist/chunk-a09jx26t.js +0 -55
- package/dist/chunk-a09jx26t.js.map +0 -11
- package/dist/chunk-dm72y8wt.js.map +0 -10
- package/dist/chunk-drjqm1aa.js.map +0 -15
- package/dist/chunk-gadsm794.js.map +0 -11
- package/dist/chunk-h9kxd41f.js.map +0 -11
- package/dist/chunk-nzw7sm3b.js +0 -137
- package/dist/chunk-nzw7sm3b.js.map +0 -10
- package/dist/chunk-t0jjkep3.js.map +0 -10
- package/dist/chunk-t8t39h7v.js.map +0 -10
- package/dist/chunk-tkdscva6.js.map +0 -37
- package/dist/chunk-v0egge8b.js.map +0 -56
- package/dist/chunk-xdf9yswn.js.map +0 -11
- /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-6d5xdj1q.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-tbv03sx2.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-zp2v2rv6.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-4h947jd8.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-r0rry8dn.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-ea73pzk7.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,101 @@
|
|
|
1
|
+
/** Decimal USD per million tokens. Strings keep provider prices exact. */
|
|
2
|
+
export type ModelUnitPrice = string
|
|
3
|
+
|
|
4
|
+
export interface ModelPricingTier {
|
|
5
|
+
readonly minTokens: number
|
|
6
|
+
readonly maxTokens?: number
|
|
7
|
+
readonly price: ModelUnitPrice
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type ModelTokenPrice =
|
|
11
|
+
| ModelUnitPrice
|
|
12
|
+
| { readonly default: ModelUnitPrice; readonly tiers: readonly ModelPricingTier[] }
|
|
13
|
+
|
|
14
|
+
export interface LanguageModelRateCard {
|
|
15
|
+
readonly currency: "USD"
|
|
16
|
+
readonly unit: "million-tokens"
|
|
17
|
+
readonly input: ModelTokenPrice
|
|
18
|
+
readonly output: ModelTokenPrice
|
|
19
|
+
readonly cacheReadInput?: ModelTokenPrice
|
|
20
|
+
readonly cacheWriteInput?: ModelTokenPrice
|
|
21
|
+
readonly cacheWriteInput5m?: ModelTokenPrice
|
|
22
|
+
readonly cacheWriteInput1h?: ModelTokenPrice
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** Validate and snapshot provider-owned pricing independently of operational metadata. */
|
|
26
|
+
export function defineModelRateCard(rateCard: LanguageModelRateCard): LanguageModelRateCard {
|
|
27
|
+
assertRecord(rateCard, "rate card")
|
|
28
|
+
if (rateCard.currency !== "USD" || rateCard.unit !== "million-tokens") {
|
|
29
|
+
throw new TypeError("[Sixb] Model rate cards must use USD per million tokens.")
|
|
30
|
+
}
|
|
31
|
+
return Object.freeze({
|
|
32
|
+
currency: "USD",
|
|
33
|
+
unit: "million-tokens",
|
|
34
|
+
input: tokenPrice(rateCard.input),
|
|
35
|
+
output: tokenPrice(rateCard.output),
|
|
36
|
+
...(rateCard.cacheReadInput === undefined
|
|
37
|
+
? {}
|
|
38
|
+
: { cacheReadInput: tokenPrice(rateCard.cacheReadInput) }),
|
|
39
|
+
...(rateCard.cacheWriteInput === undefined
|
|
40
|
+
? {}
|
|
41
|
+
: { cacheWriteInput: tokenPrice(rateCard.cacheWriteInput) }),
|
|
42
|
+
...(rateCard.cacheWriteInput5m === undefined
|
|
43
|
+
? {}
|
|
44
|
+
: { cacheWriteInput5m: tokenPrice(rateCard.cacheWriteInput5m) }),
|
|
45
|
+
...(rateCard.cacheWriteInput1h === undefined
|
|
46
|
+
? {}
|
|
47
|
+
: { cacheWriteInput1h: tokenPrice(rateCard.cacheWriteInput1h) }),
|
|
48
|
+
})
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function tokenPrice(value: ModelTokenPrice): ModelTokenPrice {
|
|
52
|
+
if (typeof value === "string") return price(value)
|
|
53
|
+
assertRecord(value, "token price")
|
|
54
|
+
if (!Array.isArray(value.tiers)) throw new TypeError("[Sixb] Model price tiers must be an array.")
|
|
55
|
+
let previousMax = 0
|
|
56
|
+
return Object.freeze({
|
|
57
|
+
default: price(value.default),
|
|
58
|
+
tiers: Object.freeze(
|
|
59
|
+
value.tiers.map((tier, index) => {
|
|
60
|
+
assertRecord(tier, "price tier")
|
|
61
|
+
if (
|
|
62
|
+
typeof tier.minTokens !== "number" ||
|
|
63
|
+
!Number.isSafeInteger(tier.minTokens) ||
|
|
64
|
+
tier.minTokens < 0
|
|
65
|
+
) {
|
|
66
|
+
throw new TypeError("[Sixb] Model price tier has an invalid minimum.")
|
|
67
|
+
}
|
|
68
|
+
if (index > 0 && tier.minTokens < previousMax) {
|
|
69
|
+
throw new TypeError("[Sixb] Model price tiers must be ordered and nonoverlapping.")
|
|
70
|
+
}
|
|
71
|
+
if (
|
|
72
|
+
tier.maxTokens !== undefined &&
|
|
73
|
+
(typeof tier.maxTokens !== "number" ||
|
|
74
|
+
!Number.isSafeInteger(tier.maxTokens) ||
|
|
75
|
+
tier.maxTokens <= tier.minTokens)
|
|
76
|
+
) {
|
|
77
|
+
throw new TypeError("[Sixb] Model price tier has an invalid maximum.")
|
|
78
|
+
}
|
|
79
|
+
previousMax = tier.maxTokens ?? Number.POSITIVE_INFINITY
|
|
80
|
+
return Object.freeze({
|
|
81
|
+
minTokens: tier.minTokens,
|
|
82
|
+
...(tier.maxTokens === undefined ? {} : { maxTokens: tier.maxTokens }),
|
|
83
|
+
price: price(tier.price),
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
),
|
|
87
|
+
})
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function price(value: unknown): string {
|
|
91
|
+
if (typeof value !== "string" || !/^(?:0|[1-9]\d*)(?:\.\d+)?$/.test(value)) {
|
|
92
|
+
throw new TypeError("[Sixb] Model price must be a nonnegative decimal string.")
|
|
93
|
+
}
|
|
94
|
+
return value
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function assertRecord(value: unknown, field: string): asserts value is Record<string, unknown> {
|
|
98
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
99
|
+
throw new TypeError(`[Sixb] Model ${field} must be an object.`)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { JsonObject, JsonValue } from "../json"
|
|
2
|
+
import type { ModelToolOutput } from "./messages"
|
|
3
|
+
|
|
4
|
+
export interface ModelToolExecutionContext {
|
|
5
|
+
readonly signal: AbortSignal
|
|
6
|
+
readonly callId: string
|
|
7
|
+
readonly toolCallId: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface ModelTool<TInput = unknown, TOutput extends JsonValue = JsonValue> {
|
|
11
|
+
readonly name: string
|
|
12
|
+
readonly description: string
|
|
13
|
+
readonly inputSchema: JsonObject
|
|
14
|
+
parseInput(value: unknown): TInput
|
|
15
|
+
execute(input: TInput, context: ModelToolExecutionContext): Promise<TOutput>
|
|
16
|
+
/** Project a durable output into provider-safe model content without changing the stored result. */
|
|
17
|
+
toModelOutput?(
|
|
18
|
+
output: TOutput,
|
|
19
|
+
context: ModelToolExecutionContext
|
|
20
|
+
): ModelToolOutput | Promise<ModelToolOutput>
|
|
21
|
+
errorText(error: unknown): string
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface ModelOutput<TOutput> {
|
|
25
|
+
readonly name: string
|
|
26
|
+
readonly description?: string
|
|
27
|
+
readonly schema: JsonObject
|
|
28
|
+
validate(value: unknown): TOutput
|
|
29
|
+
}
|
package/src/queues/in-memory.ts
CHANGED
|
@@ -16,6 +16,7 @@ import type {
|
|
|
16
16
|
QueueJob,
|
|
17
17
|
QueueJobFailure,
|
|
18
18
|
Queues,
|
|
19
|
+
SubagentQueueJob,
|
|
19
20
|
SyncQueueJobFailureCode,
|
|
20
21
|
SyncRunRequestedQueueJob,
|
|
21
22
|
WorkflowQueueJob,
|
|
@@ -382,6 +383,10 @@ export class InMemoryQueues implements Queues {
|
|
|
382
383
|
this.store,
|
|
383
384
|
"agent.runs"
|
|
384
385
|
)
|
|
386
|
+
readonly agentChildren = new InMemoryQueue<SubagentQueueJob, AgentQueueJobFailureCode>(
|
|
387
|
+
this.store,
|
|
388
|
+
"agent.children"
|
|
389
|
+
)
|
|
385
390
|
|
|
386
391
|
/** Nothing to reach: the store is a field of this object. */
|
|
387
392
|
health(): Promise<void> {
|
package/src/queues/index.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
export type {
|
|
2
|
+
ModelCallCost,
|
|
3
|
+
ModelCostComponent,
|
|
4
|
+
ModelCostEstimate,
|
|
5
|
+
ModelCostMeter,
|
|
6
|
+
ModelMoney,
|
|
7
|
+
ModelRoute,
|
|
8
|
+
} from "../models"
|
|
9
|
+
export type { ModelProviderIds } from "../models/events"
|
|
1
10
|
export type { ProviderScope } from "../provider-scope"
|
|
2
11
|
export { QueueError } from "./errors"
|
|
3
12
|
export { InMemoryQueues } from "./in-memory"
|
|
@@ -22,6 +31,8 @@ export type {
|
|
|
22
31
|
QueueJobEnvelope,
|
|
23
32
|
QueueJobFailure,
|
|
24
33
|
Queues,
|
|
34
|
+
SubagentQueueJob,
|
|
35
|
+
SubagentRunRequestedQueueJob,
|
|
25
36
|
SyncQueueJobFailureCode,
|
|
26
37
|
SyncRunRequestedQueueJob,
|
|
27
38
|
WorkflowQueueJob,
|
package/src/queues/types.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { SixbErrorCode, SixbFailure } from "../errors/types"
|
|
2
2
|
import type { JsonValue } from "../json"
|
|
3
|
+
import type { ModelCallCost, ModelCostEstimate, ModelRoute } from "../models"
|
|
3
4
|
import type { ProjectionRunFailureCode } from "../projections/types"
|
|
4
5
|
import type { ProviderScope } from "../provider-scope"
|
|
5
6
|
import type { ActionRunFailureCode } from "../storage/action-runs/types"
|
|
6
7
|
import type { AgentRunFailureCode } from "../storage/agents/types"
|
|
7
|
-
import type { AiPricingContext } from "../storage/ai-cost/types"
|
|
8
8
|
import type { RecordAiModelCallInput } from "../storage/ai-usage"
|
|
9
9
|
import type { PipelineRunFailureCode } from "../storage/pipeline-runs/types"
|
|
10
10
|
import type { SyncRunFailureCode } from "../storage/sync-runs/types"
|
|
@@ -191,6 +191,17 @@ export interface AgentRunRequestedQueueJob
|
|
|
191
191
|
}
|
|
192
192
|
> {}
|
|
193
193
|
|
|
194
|
+
/** A headless child run uses a reserved lane so waiting parents cannot consume its capacity. */
|
|
195
|
+
export interface SubagentRunRequestedQueueJob
|
|
196
|
+
extends QueueJob<
|
|
197
|
+
"agent.subagent-run.requested",
|
|
198
|
+
{
|
|
199
|
+
readonly runId: string
|
|
200
|
+
}
|
|
201
|
+
> {}
|
|
202
|
+
|
|
203
|
+
export type SubagentQueueJob = SubagentRunRequestedQueueJob
|
|
204
|
+
|
|
194
205
|
export interface AgentWorkflowNodeRequestedQueueJob
|
|
195
206
|
extends QueueJob<
|
|
196
207
|
"agent.workflow-node.requested",
|
|
@@ -211,8 +222,12 @@ export type AgentAiUsageRecordPayload = Omit<
|
|
|
211
222
|
}
|
|
212
223
|
|
|
213
224
|
export interface AgentAiUsageAccountingPayload {
|
|
214
|
-
readonly
|
|
225
|
+
readonly estimate?: ModelCostEstimate
|
|
226
|
+
readonly cost: ModelCallCost
|
|
227
|
+
readonly route?: ModelRoute
|
|
215
228
|
readonly ratedAt: string
|
|
229
|
+
/** Absent on pre-limit jobs; those model calls did not create a reservation. */
|
|
230
|
+
readonly reconcileLimitReservation?: boolean
|
|
216
231
|
}
|
|
217
232
|
|
|
218
233
|
export interface AgentAiUsageRecordRequestedQueueJob
|
|
@@ -220,7 +235,7 @@ export interface AgentAiUsageRecordRequestedQueueJob
|
|
|
220
235
|
"agent.ai-usage.record.requested",
|
|
221
236
|
{
|
|
222
237
|
readonly record: AgentAiUsageRecordPayload
|
|
223
|
-
/** Absent on
|
|
238
|
+
/** Absent only on legacy jobs that predate atomic valuation recovery. */
|
|
224
239
|
readonly accounting?: AgentAiUsageAccountingPayload
|
|
225
240
|
}
|
|
226
241
|
> {}
|
|
@@ -237,6 +252,8 @@ export interface Queues {
|
|
|
237
252
|
readonly workflows: Queue<WorkflowQueueJob, WorkflowQueueJobFailureCode>
|
|
238
253
|
readonly actions: Queue<ActionRunRequestedQueueJob, ActionQueueJobFailureCode>
|
|
239
254
|
readonly agents: Queue<AgentQueueJob, AgentQueueJobFailureCode>
|
|
255
|
+
/** Internal capacity reserved for headless child runs. */
|
|
256
|
+
readonly agentChildren: Queue<SubagentQueueJob, AgentQueueJobFailureCode>
|
|
240
257
|
|
|
241
258
|
/**
|
|
242
259
|
* Whether these queues can be shared across processes.
|
package/src/runtime/create.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { resolve } from "node:path"
|
|
2
2
|
import type { ActionDefinition } from "../actions"
|
|
3
|
-
import type {
|
|
3
|
+
import type { AgentToolDefinition } from "../agents"
|
|
4
|
+
import { assertNoAgentDefinitions } from "../agents/retired-config"
|
|
4
5
|
import type { SixbAuthConfig } from "../auth"
|
|
5
6
|
import type { BlobStorage } from "../blob-storage"
|
|
6
7
|
import { discoverOntologySources, discoverProjectDefinitions } from "../bootstrap"
|
|
@@ -44,10 +45,10 @@ export interface CreateSixbOptions {
|
|
|
44
45
|
ontologyMaintenance?: OntologyMaintenanceOptions
|
|
45
46
|
ontologies?: readonly OntologySource[]
|
|
46
47
|
actions?: readonly ActionDefinition[]
|
|
47
|
-
/** Agent definitions to register in addition to auto-discovered `agents/` exports. */
|
|
48
|
-
agents?: readonly AgentDefinition[]
|
|
49
48
|
/** Models this project allows Sixb to use. The first of each kind is the default. */
|
|
50
49
|
models?: ModelCatalogInput
|
|
50
|
+
/** Project tools available to Agent runtimes. */
|
|
51
|
+
tools?: readonly AgentToolDefinition[]
|
|
51
52
|
datasets?: readonly DatasetDefinition[]
|
|
52
53
|
/** Connector definitions to register in addition to auto-discovered `connectors/` exports. */
|
|
53
54
|
connectors?: readonly ConnectorDefinition[]
|
|
@@ -71,12 +72,13 @@ export interface CreateSixbOptions {
|
|
|
71
72
|
*
|
|
72
73
|
* The host auto-discovers exported definitions from `ontology/`, `actions/`, `datasets/`,
|
|
73
74
|
* `connectors/`, `syncs/`, `schedules/`, `pipelines/`, `projections/`,
|
|
74
|
-
* `rules/`, `workflows/`,
|
|
75
|
+
* `rules/`, `workflows/`, and `security/{groups,roles,policies}/`
|
|
75
76
|
* relative to `projectRoot`.
|
|
76
77
|
*/
|
|
77
78
|
export async function createSixb(
|
|
78
79
|
options: CreateSixbOptions
|
|
79
80
|
): Promise<SixbHost<readonly OntologySource[]>> {
|
|
81
|
+
assertNoAgentDefinitions(options)
|
|
80
82
|
const projectRoot = resolve(options.projectRoot ?? process.cwd())
|
|
81
83
|
|
|
82
84
|
const discoveredOntology = await discoverOntologySources(projectRoot)
|
|
@@ -120,8 +122,8 @@ export async function createSixb(
|
|
|
120
122
|
groups: [...(options.groups ?? []), ...definitions.groups],
|
|
121
123
|
roles: [...(options.roles ?? []), ...definitions.roles],
|
|
122
124
|
membershipPolicies: [...(options.membershipPolicies ?? []), ...definitions.membershipPolicies],
|
|
123
|
-
agents: [...(options.agents ?? []), ...definitions.agents],
|
|
124
125
|
models: options.models,
|
|
126
|
+
tools: options.tools,
|
|
125
127
|
auth: options.auth,
|
|
126
128
|
})
|
|
127
129
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ActionDefinitionCatalog } from "../actions"
|
|
2
|
-
import type {
|
|
2
|
+
import type { AgentToolCatalog } from "../agents"
|
|
3
3
|
import type { ConnectorDefinition } from "../connectors"
|
|
4
4
|
import type { DatasetDefinition } from "../datasets"
|
|
5
5
|
import type { ModelCatalog } from "../models"
|
|
@@ -22,7 +22,7 @@ export interface DefinitionCatalog<TDefinition> {
|
|
|
22
22
|
export interface SixbDefinitions {
|
|
23
23
|
readonly ontology: OntologyDefinitionCatalog
|
|
24
24
|
readonly actions: ActionDefinitionCatalog
|
|
25
|
-
readonly
|
|
25
|
+
readonly tools: AgentToolCatalog
|
|
26
26
|
readonly connectors: DefinitionCatalog<ConnectorDefinition>
|
|
27
27
|
readonly datasets: DefinitionCatalog<DatasetDefinition>
|
|
28
28
|
/** Absent until a project configures `models` in createSixb(). */
|
package/src/runtime/host.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { resolve } from "node:path"
|
|
9
9
|
import type { ActionDefinition } from "../actions/types"
|
|
10
|
-
import type {
|
|
10
|
+
import type { AgentToolDefinition } from "../agents"
|
|
11
11
|
import {
|
|
12
12
|
AuthRuntime,
|
|
13
13
|
AuthRuntimeError,
|
|
@@ -108,8 +108,9 @@ export interface SixbHostOptions<TOntologySources extends readonly OntologySourc
|
|
|
108
108
|
projections?: readonly ProjectionDefinition[]
|
|
109
109
|
rules?: readonly RuleDefinition[]
|
|
110
110
|
workflows?: readonly WorkflowDefinition[]
|
|
111
|
-
agents?: readonly AgentDefinition[]
|
|
112
111
|
models?: ModelCatalogInput
|
|
112
|
+
/** Project tools available to Agent runtimes. */
|
|
113
|
+
tools?: readonly AgentToolDefinition[]
|
|
113
114
|
groups?: readonly GroupDefinition[]
|
|
114
115
|
roles?: readonly RoleDefinition[]
|
|
115
116
|
membershipPolicies?: readonly MembershipPolicyDefinition[]
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ActionRegistry } from "../actions"
|
|
2
2
|
import type { ActionDefinition } from "../actions/types"
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
3
|
+
import type { AgentToolDefinition } from "../agents"
|
|
4
|
+
import { assertNoAgentDefinitions } from "../agents/retired-config"
|
|
5
|
+
import { createAgentToolCatalog } from "../agents/tool-catalog"
|
|
5
6
|
import type { ConnectorDefinition } from "../connectors"
|
|
6
7
|
import type { DatasetDefinition } from "../datasets/types"
|
|
7
8
|
import { assertDatasetDefinition } from "../datasets/validation"
|
|
8
|
-
import { createModelCatalog, type
|
|
9
|
+
import { createModelCatalog, type ModelCatalogInput } from "../models"
|
|
9
10
|
import { OntologyRegistry } from "../ontology"
|
|
10
11
|
import type { PipelineDefinition } from "../pipelines/types"
|
|
11
12
|
import { ProjectionRegistry } from "../projections"
|
|
@@ -24,7 +25,7 @@ import {
|
|
|
24
25
|
validateMergeSyncProjectionSafety,
|
|
25
26
|
} from "../syncs/validation"
|
|
26
27
|
import type { WorkflowDefinition } from "../workflows"
|
|
27
|
-
import { validateWorkflowsAtStartup } from "../workflows"
|
|
28
|
+
import { validateWorkflowAgentStepGroupReferences, validateWorkflowsAtStartup } from "../workflows"
|
|
28
29
|
import { createDefinitionCatalog, type SixbDefinitions } from "./definitions"
|
|
29
30
|
import { RuntimeError } from "./errors"
|
|
30
31
|
import type { OntologySource } from "./types"
|
|
@@ -40,7 +41,7 @@ interface DefinitionOptions {
|
|
|
40
41
|
readonly projections?: readonly ProjectionDefinition[]
|
|
41
42
|
readonly rules?: readonly RuleDefinition[]
|
|
42
43
|
readonly workflows?: readonly WorkflowDefinition[]
|
|
43
|
-
readonly
|
|
44
|
+
readonly tools?: readonly AgentToolDefinition[]
|
|
44
45
|
readonly models?: ModelCatalogInput
|
|
45
46
|
readonly groups?: readonly GroupDefinition[]
|
|
46
47
|
readonly roles?: readonly RoleDefinition[]
|
|
@@ -56,15 +57,13 @@ interface ResolvedDefinitions extends SixbDefinitions {
|
|
|
56
57
|
|
|
57
58
|
/** Resolve and cross-validate every registered definition before runtime services are composed. */
|
|
58
59
|
export function resolveDefinitions(options: DefinitionOptions): ResolvedDefinitions {
|
|
60
|
+
assertNoAgentDefinitions(options)
|
|
59
61
|
const ontology = new OntologyRegistry({ sources: options.ontology })
|
|
60
62
|
const actionRegistry = new ActionRegistry({ actions: options.actions ?? [], ontology })
|
|
61
63
|
const registeredActionIds = new Set(actionRegistry.list().map((action) => action.id))
|
|
62
64
|
|
|
63
|
-
const agents = options.agents ?? []
|
|
64
|
-
validateAgentToolsAtStartup(agents)
|
|
65
65
|
const models = options.models === undefined ? undefined : createModelCatalog(options.models)
|
|
66
|
-
|
|
67
|
-
const agentsById = indexUniqueDefinitions("agent", agents)
|
|
66
|
+
const tools = createAgentToolCatalog(options.tools)
|
|
68
67
|
const connectorsById = indexUniqueDefinitions("connector", options.connectors ?? [])
|
|
69
68
|
|
|
70
69
|
// Datasets resolve first because syncs, pipelines, projections, and security depend on them.
|
|
@@ -126,7 +125,8 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
|
|
|
126
125
|
workflows: options.workflows ?? [],
|
|
127
126
|
registeredSchedules: schedulesById,
|
|
128
127
|
registeredActionIds,
|
|
129
|
-
|
|
128
|
+
...(models === undefined ? {} : { models }),
|
|
129
|
+
tools,
|
|
130
130
|
})
|
|
131
131
|
const workflowsById = indexUniqueDefinitions("workflow", workflows)
|
|
132
132
|
|
|
@@ -140,11 +140,11 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
|
|
|
140
140
|
workflowIds: new Set(workflowsById.keys()),
|
|
141
141
|
syncIds: new Set(syncsById.keys()),
|
|
142
142
|
pipelineIds: new Set(pipelinesById.keys()),
|
|
143
|
-
|
|
143
|
+
agentAvailable: models !== undefined,
|
|
144
144
|
connectorIds: new Set(connectorsById.keys()),
|
|
145
145
|
getSubTypes: (objectTypeId) => ontology.listSubTypes(objectTypeId),
|
|
146
146
|
})
|
|
147
|
-
|
|
147
|
+
validateWorkflowAgentStepGroupReferences(workflows, security)
|
|
148
148
|
|
|
149
149
|
const projectionRegistry = new ProjectionRegistry({
|
|
150
150
|
projections: options.projections ?? [],
|
|
@@ -159,7 +159,7 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
|
|
|
159
159
|
return Object.freeze({
|
|
160
160
|
ontology,
|
|
161
161
|
actions: actionRegistry,
|
|
162
|
-
|
|
162
|
+
tools,
|
|
163
163
|
connectors: createDefinitionCatalog(connectorsById),
|
|
164
164
|
datasets: createDefinitionCatalog(datasetsById),
|
|
165
165
|
...(models === undefined ? {} : { models }),
|
|
@@ -241,26 +241,3 @@ function validateScheduleReferences(
|
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Keep every agent on a model the project actually allows.
|
|
247
|
-
*
|
|
248
|
-
* Only enforced once a project configures `models`; without a catalog an agent's model is its own
|
|
249
|
-
* declaration, which is the pre-catalog behavior.
|
|
250
|
-
*/
|
|
251
|
-
function validateAgentModelReferences(
|
|
252
|
-
agents: readonly AgentDefinition[],
|
|
253
|
-
models: ModelCatalog | undefined
|
|
254
|
-
): void {
|
|
255
|
-
if (models === undefined) {
|
|
256
|
-
return
|
|
257
|
-
}
|
|
258
|
-
for (const agent of agents) {
|
|
259
|
-
const ref = modelRef(agent.model)
|
|
260
|
-
if (models.language.getById(ref) === null) {
|
|
261
|
-
throw new RuntimeError(
|
|
262
|
-
`[Sixb] Agent '${agent.id}' uses unknown language model '${ref}'. Add it to 'models.language' in createSixb().`
|
|
263
|
-
)
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
}
|
package/src/runtime/sixb.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ActionsRuntime, createActionsRuntime } from "../actions/execution"
|
|
2
|
-
import { type
|
|
2
|
+
import { type AgentRuntime, createAgentRuntime } from "../agents/execution"
|
|
3
|
+
import { type AiUsageRuntime, createAiUsageRuntime } from "../ai-usage"
|
|
3
4
|
import { type BlobsRuntime, createBlobsRuntime } from "../blob-storage/execution"
|
|
4
5
|
import type { BlobStorage } from "../blob-storage/types"
|
|
5
6
|
import { registerConnectorConnectionsRuntime } from "../connectors/connections/capability"
|
|
@@ -36,7 +37,8 @@ export interface Sixb<
|
|
|
36
37
|
readonly pipelines: PipelinesRuntime
|
|
37
38
|
readonly projections: ProjectionsRuntime
|
|
38
39
|
readonly rules: RulesRuntime
|
|
39
|
-
readonly
|
|
40
|
+
readonly agent: AgentRuntime
|
|
41
|
+
readonly aiUsage: AiUsageRuntime
|
|
40
42
|
readonly events: EventsRuntime
|
|
41
43
|
readonly logs: LogsRuntime
|
|
42
44
|
readonly schedules: SchedulesRuntime
|
|
@@ -95,12 +97,8 @@ function createExecutionFacades<TOntologySources extends readonly OntologySource
|
|
|
95
97
|
pipelines: createPipelinesRuntime(runtime, execution, dependencies.definitions.pipelines),
|
|
96
98
|
projections: createProjectionsRuntime(runtime, dependencies.definitions.projections),
|
|
97
99
|
rules: createRulesRuntime(runtime, dependencies.definitions.rules),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
execution,
|
|
101
|
-
dependencies.definitions.agents,
|
|
102
|
-
dependencies.definitions.security
|
|
103
|
-
),
|
|
100
|
+
agent: createAgentRuntime(runtime, execution, dependencies.definitions.models),
|
|
101
|
+
aiUsage: createAiUsageRuntime(runtime, dependencies.definitions.security),
|
|
104
102
|
events: createEventsRuntime(runtime),
|
|
105
103
|
logs: createLogsRuntime(runtime, dependencies.logging),
|
|
106
104
|
schedules: createSchedulesRuntime(dependencies.definitions.schedules),
|
package/src/security/every.ts
CHANGED
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import type { ActionDefinition } from "../actions/types"
|
|
15
|
-
import type { AgentDefinition } from "../agents/types"
|
|
16
15
|
import type { ConnectorDefinition } from "../connectors"
|
|
17
16
|
import type { DatasetDefinition } from "../datasets"
|
|
18
17
|
import type { ObjectType } from "../ontology"
|
|
@@ -30,7 +29,6 @@ export const BREADTH_TARGETS = [
|
|
|
30
29
|
"workflow",
|
|
31
30
|
"sync",
|
|
32
31
|
"pipeline",
|
|
33
|
-
"agent",
|
|
34
32
|
"application",
|
|
35
33
|
"connector",
|
|
36
34
|
] as const
|
|
@@ -44,7 +42,6 @@ interface BreadthTargetInput {
|
|
|
44
42
|
workflow: WorkflowDefinition
|
|
45
43
|
sync: SyncDefinition
|
|
46
44
|
pipeline: PipelineDefinition
|
|
47
|
-
agent: AgentDefinition
|
|
48
45
|
application: ApplicationDefinition
|
|
49
46
|
connector: ConnectorDefinition
|
|
50
47
|
}
|
|
@@ -106,7 +103,6 @@ export const every = {
|
|
|
106
103
|
workflow: (): BreadthSelector<"workflow"> => all("workflow"),
|
|
107
104
|
sync: (): BreadthSelector<"sync"> => all("sync"),
|
|
108
105
|
pipeline: (): BreadthSelector<"pipeline"> => all("pipeline"),
|
|
109
|
-
agent: (): BreadthSelector<"agent"> => all("agent"),
|
|
110
106
|
application: (): BreadthSelector<"application"> => all("application"),
|
|
111
107
|
connector: (): BreadthSelector<"connector"> => all("connector"),
|
|
112
108
|
}
|
package/src/security/grants.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import type { ActionDefinition } from "../actions/types"
|
|
11
|
-
import type {
|
|
11
|
+
import type { AgentReference, AgentUsageReference } from "../agents/types"
|
|
12
12
|
import type { ConnectorDefinition } from "../connectors"
|
|
13
13
|
import type { DatasetDefinition } from "../datasets"
|
|
14
14
|
import type { ObjectType } from "../ontology"
|
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
} from "./every"
|
|
25
25
|
import type {
|
|
26
26
|
AccessGrant,
|
|
27
|
+
AgentRunGrant,
|
|
27
28
|
AppendGrant,
|
|
28
29
|
ApplicationDefinition,
|
|
29
30
|
ApplyGrant,
|
|
@@ -41,7 +42,7 @@ type GrantInput<TDefinition, TTarget extends BreadthTarget> =
|
|
|
41
42
|
| BreadthSelector<TTarget>
|
|
42
43
|
|
|
43
44
|
const VIEW_TARGETS = ["object", "dataset"] as const
|
|
44
|
-
const RUN_TARGETS = ["workflow", "sync", "pipeline"
|
|
45
|
+
const RUN_TARGETS = ["workflow", "sync", "pipeline"] as const
|
|
45
46
|
|
|
46
47
|
/**
|
|
47
48
|
* Seven of the nine targets carry a `kind` discriminant naming themselves. The other two — an
|
|
@@ -52,7 +53,6 @@ const TARGET_BY_DEFINITION_KIND: Readonly<Partial<Record<string, BreadthTarget>>
|
|
|
52
53
|
dataset: "dataset",
|
|
53
54
|
sync: "sync",
|
|
54
55
|
pipeline: "pipeline",
|
|
55
|
-
agent: "agent",
|
|
56
56
|
workflow: "workflow",
|
|
57
57
|
application: "application",
|
|
58
58
|
connector: "connector",
|
|
@@ -187,18 +187,49 @@ function apply(input: GrantInput<ActionDefinition, "action">): ApplyGrant {
|
|
|
187
187
|
function run(input: GrantInput<WorkflowDefinition, "workflow">): RunGrant<"workflow">
|
|
188
188
|
function run(input: GrantInput<SyncDefinition, "sync">): RunGrant<"sync">
|
|
189
189
|
function run(input: GrantInput<PipelineDefinition, "pipeline">): RunGrant<"pipeline">
|
|
190
|
-
function run(input:
|
|
190
|
+
function run(input: AgentReference): AgentRunGrant
|
|
191
191
|
function run(
|
|
192
|
-
input:
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
192
|
+
input:
|
|
193
|
+
| AgentReference
|
|
194
|
+
| GrantInput<
|
|
195
|
+
WorkflowDefinition | SyncDefinition | PipelineDefinition,
|
|
196
|
+
"workflow" | "sync" | "pipeline"
|
|
197
|
+
>
|
|
198
|
+
): RunGrant | AgentRunGrant {
|
|
199
|
+
if (isAgentReference(input)) {
|
|
200
|
+
return { kind: "grant", capability: "run", target: "agent" }
|
|
201
|
+
}
|
|
197
202
|
const { target, selection } = resolveGrant(input, "can.run", RUN_TARGETS)
|
|
198
203
|
return { kind: "grant", capability: "run", target, selection }
|
|
199
204
|
}
|
|
200
205
|
|
|
201
|
-
function
|
|
206
|
+
function isAgentReference(input: unknown): input is AgentReference {
|
|
207
|
+
return (
|
|
208
|
+
typeof input === "object" &&
|
|
209
|
+
input !== null &&
|
|
210
|
+
!Array.isArray(input) &&
|
|
211
|
+
!isBreadthSelector(input) &&
|
|
212
|
+
"kind" in input &&
|
|
213
|
+
input.kind === "agent"
|
|
214
|
+
)
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
function isAgentUsageReference(input: unknown): input is AgentUsageReference {
|
|
218
|
+
return (
|
|
219
|
+
typeof input === "object" &&
|
|
220
|
+
input !== null &&
|
|
221
|
+
!Array.isArray(input) &&
|
|
222
|
+
!isBreadthSelector(input) &&
|
|
223
|
+
"kind" in input &&
|
|
224
|
+
input.kind === "aiUsage"
|
|
225
|
+
)
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
function observe(input: "logs" | AgentUsageReference): ObserveGrant {
|
|
229
|
+
if (input !== "logs" && !isAgentUsageReference(input)) {
|
|
230
|
+
throw new SecurityValidationError('[Sixb] can.observe accepts "logs" or agent.usage.')
|
|
231
|
+
}
|
|
232
|
+
const target = input === "logs" ? "logs" : "aiUsage"
|
|
202
233
|
return {
|
|
203
234
|
kind: "grant",
|
|
204
235
|
capability: "observe",
|
|
@@ -207,10 +238,23 @@ function observe(target: "logs"): ObserveGrant {
|
|
|
207
238
|
}
|
|
208
239
|
}
|
|
209
240
|
|
|
210
|
-
function manage(input: GrantInput<ConnectorDefinition, "connector">): ManageGrant
|
|
241
|
+
function manage(input: GrantInput<ConnectorDefinition, "connector">): ManageGrant<"connector">
|
|
242
|
+
function manage(input: AgentUsageReference): ManageGrant<"aiUsage">
|
|
243
|
+
function manage(
|
|
244
|
+
input: GrantInput<ConnectorDefinition, "connector"> | AgentUsageReference
|
|
245
|
+
): ManageGrant {
|
|
246
|
+
if (isAgentUsageReference(input)) {
|
|
247
|
+
return {
|
|
248
|
+
kind: "grant",
|
|
249
|
+
capability: "manage",
|
|
250
|
+
target: "aiUsage",
|
|
251
|
+
selection: { all: false, ids: ["aiUsage"] },
|
|
252
|
+
}
|
|
253
|
+
}
|
|
211
254
|
return {
|
|
212
255
|
kind: "grant",
|
|
213
256
|
capability: "manage",
|
|
257
|
+
target: "connector",
|
|
214
258
|
selection: resolveGrant(input, "can.manage", ["connector"]).selection,
|
|
215
259
|
}
|
|
216
260
|
}
|
package/src/security/index.ts
CHANGED
|
@@ -20,6 +20,7 @@ export type { SecurityDefinitionCatalog, SecurityRegistryOptions } from "./regis
|
|
|
20
20
|
export { SecurityRegistry } from "./registry"
|
|
21
21
|
export type {
|
|
22
22
|
AccessGrant,
|
|
23
|
+
AgentRunGrant,
|
|
23
24
|
AppendGrant,
|
|
24
25
|
ApplicationDefinition,
|
|
25
26
|
ApplyGrant,
|
|
@@ -29,6 +30,7 @@ export type {
|
|
|
29
30
|
GroupDefinition,
|
|
30
31
|
GroupReference,
|
|
31
32
|
ManageGrant,
|
|
33
|
+
ManageGrantTarget,
|
|
32
34
|
MembershipOperation,
|
|
33
35
|
MembershipPolicyDefinition,
|
|
34
36
|
ObserveGrant,
|
package/src/security/registry.ts
CHANGED
|
@@ -25,7 +25,7 @@ export interface SecurityRegistryOptions {
|
|
|
25
25
|
readonly workflowIds?: ReadonlySet<string>
|
|
26
26
|
readonly syncIds?: ReadonlySet<string>
|
|
27
27
|
readonly pipelineIds?: ReadonlySet<string>
|
|
28
|
-
readonly
|
|
28
|
+
readonly agentAvailable?: boolean
|
|
29
29
|
readonly connectorIds?: ReadonlySet<string>
|
|
30
30
|
readonly getSubTypes?: (objectTypeId: string) => readonly string[]
|
|
31
31
|
}
|
|
@@ -48,9 +48,10 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
|
|
|
48
48
|
workflowIds: input.workflowIds,
|
|
49
49
|
syncIds: input.syncIds,
|
|
50
50
|
pipelineIds: input.pipelineIds,
|
|
51
|
-
|
|
51
|
+
agentAvailable: input.agentAvailable,
|
|
52
52
|
connectorIds: input.connectorIds,
|
|
53
|
-
observableIds: new Set(["logs"]),
|
|
53
|
+
observableIds: new Set(["logs", "aiUsage"]),
|
|
54
|
+
manageableIds: new Set(["aiUsage"]),
|
|
54
55
|
})
|
|
55
56
|
|
|
56
57
|
const universe = {
|
|
@@ -61,9 +62,9 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
|
|
|
61
62
|
workflowIds: input.workflowIds ?? new Set<string>(),
|
|
62
63
|
syncIds: input.syncIds ?? new Set<string>(),
|
|
63
64
|
pipelineIds: input.pipelineIds ?? new Set<string>(),
|
|
64
|
-
agentIds: input.agentIds ?? new Set<string>(),
|
|
65
65
|
connectorIds: input.connectorIds ?? new Set<string>(),
|
|
66
|
-
observableIds: new Set(["logs"]),
|
|
66
|
+
observableIds: new Set(["logs", "aiUsage"]),
|
|
67
|
+
manageableIds: new Set(["aiUsage"]),
|
|
67
68
|
getSubTypes: input.getSubTypes ?? (() => []),
|
|
68
69
|
}
|
|
69
70
|
|