@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.
Files changed (564) hide show
  1. package/dist/actions/index.js +37 -33
  2. package/dist/actions/index.js.map +1 -1
  3. package/dist/actions/types/definitions.d.ts +8 -2
  4. package/dist/actions/types/definitions.d.ts.map +1 -1
  5. package/dist/actions/worker.js +3 -3
  6. package/dist/agents/adapters.d.ts +33 -76
  7. package/dist/agents/adapters.d.ts.map +1 -1
  8. package/dist/agents/authority.d.ts +22 -6
  9. package/dist/agents/authority.d.ts.map +1 -1
  10. package/dist/agents/builders.d.ts +3 -11
  11. package/dist/agents/builders.d.ts.map +1 -1
  12. package/dist/agents/context.js +2 -2
  13. package/dist/agents/dispatch.d.ts +9 -1
  14. package/dist/agents/dispatch.d.ts.map +1 -1
  15. package/dist/agents/errors.d.ts +2 -2
  16. package/dist/agents/errors.d.ts.map +1 -1
  17. package/dist/agents/execution.d.ts +9 -10
  18. package/dist/agents/execution.d.ts.map +1 -1
  19. package/dist/agents/ids.d.ts +4 -0
  20. package/dist/agents/ids.d.ts.map +1 -1
  21. package/dist/agents/index.d.ts +13 -9
  22. package/dist/agents/index.d.ts.map +1 -1
  23. package/dist/agents/index.js +80 -68
  24. package/dist/agents/index.js.map +1 -1
  25. package/dist/agents/message.d.ts +17 -10
  26. package/dist/agents/message.d.ts.map +1 -1
  27. package/dist/agents/model-loop.d.ts +56 -0
  28. package/dist/agents/model-loop.d.ts.map +1 -0
  29. package/dist/agents/reference.d.ts +4 -0
  30. package/dist/agents/reference.d.ts.map +1 -0
  31. package/dist/agents/request.d.ts +10 -8
  32. package/dist/agents/request.d.ts.map +1 -1
  33. package/dist/agents/retired-config.d.ts +4 -0
  34. package/dist/agents/retired-config.d.ts.map +1 -0
  35. package/dist/agents/streams.d.ts +13 -8
  36. package/dist/agents/streams.d.ts.map +1 -1
  37. package/dist/agents/streams.js +7 -5
  38. package/dist/agents/streams.js.map +1 -1
  39. package/dist/agents/tool-catalog.d.ts +9 -0
  40. package/dist/agents/tool-catalog.d.ts.map +1 -0
  41. package/dist/agents/tool-definition.d.ts +1 -0
  42. package/dist/agents/tool-definition.d.ts.map +1 -1
  43. package/dist/agents/types.d.ts +31 -68
  44. package/dist/agents/types.d.ts.map +1 -1
  45. package/dist/agents/validation.d.ts +4 -10
  46. package/dist/agents/validation.d.ts.map +1 -1
  47. package/dist/ai-usage/execution.d.ts +53 -0
  48. package/dist/ai-usage/execution.d.ts.map +1 -0
  49. package/dist/ai-usage/index.d.ts +3 -0
  50. package/dist/ai-usage/index.d.ts.map +1 -0
  51. package/dist/auth/index.d.ts +1 -1
  52. package/dist/auth/index.d.ts.map +1 -1
  53. package/dist/auth/index.js +7 -7
  54. package/dist/auth/runtime.d.ts.map +1 -1
  55. package/dist/auth/strategy.d.ts +1 -1
  56. package/dist/auth/strategy.d.ts.map +1 -1
  57. package/dist/auth/types.d.ts +13 -0
  58. package/dist/auth/types.d.ts.map +1 -1
  59. package/dist/authorization/decision.d.ts +5 -2
  60. package/dist/authorization/decision.d.ts.map +1 -1
  61. package/dist/authorization/grant-kinds.d.ts +24 -8
  62. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  63. package/dist/authorization/index.d.ts +1 -1
  64. package/dist/authorization/index.d.ts.map +1 -1
  65. package/dist/authorization/index.js +8 -6
  66. package/dist/authorization/index.js.map +1 -1
  67. package/dist/authorization/resolve.d.ts +3 -3
  68. package/dist/authorization/resolve.d.ts.map +1 -1
  69. package/dist/authorization/types.d.ts +7 -5
  70. package/dist/authorization/types.d.ts.map +1 -1
  71. package/dist/blob-storage/browser.js +2 -2
  72. package/dist/blob-storage/index.js +3 -3
  73. package/dist/bootstrap/discovery.d.ts +1 -7
  74. package/dist/bootstrap/discovery.d.ts.map +1 -1
  75. package/dist/bootstrap/index.js +52 -48
  76. package/dist/bootstrap/index.js.map +1 -1
  77. package/dist/broker/index.js +2 -2
  78. package/dist/{chunk-zqysyfjt.js → chunk-08m3b6w8.js} +1 -1
  79. package/dist/{chunk-xdf9yswn.js → chunk-08twe8m6.js} +93 -8
  80. package/dist/chunk-08twe8m6.js.map +12 -0
  81. package/dist/{chunk-xkthy56g.js → chunk-1kamz6j0.js} +1 -1
  82. package/dist/{chunk-h6h91mfy.js → chunk-2b5qtban.js} +12 -12
  83. package/dist/{chunk-h6h91mfy.js.map → chunk-2b5qtban.js.map} +3 -3
  84. package/dist/{chunk-0172wgm9.js → chunk-2xns679x.js} +10 -2
  85. package/dist/{chunk-0172wgm9.js.map → chunk-2xns679x.js.map} +3 -3
  86. package/dist/{chunk-f83ka50g.js → chunk-37wk412q.js} +86 -28
  87. package/dist/{chunk-f83ka50g.js.map → chunk-37wk412q.js.map} +8 -8
  88. package/dist/{chunk-6d5xdj1q.js → chunk-3fqt22c4.js} +4 -4
  89. package/dist/{chunk-t9xghkva.js → chunk-3kv70xwp.js} +3 -2
  90. package/dist/{chunk-t9xghkva.js.map → chunk-3kv70xwp.js.map} +3 -3
  91. package/dist/{chunk-z3zp0bj1.js → chunk-407j3msh.js} +1 -1
  92. package/dist/{chunk-rhrbz7d4.js → chunk-4a849fr1.js} +1 -1
  93. package/dist/{chunk-62c7t4jc.js → chunk-4nxeacx7.js} +1 -1
  94. package/dist/{chunk-cy0n5dms.js → chunk-5jcdmjam.js} +1 -1
  95. package/dist/{chunk-819wnjz8.js → chunk-64sr682n.js} +7 -7
  96. package/dist/{chunk-v0egge8b.js → chunk-6ed5bwnd.js} +666 -81
  97. package/dist/chunk-6ed5bwnd.js.map +57 -0
  98. package/dist/{chunk-x2yw73hy.js → chunk-7ds9620f.js} +1 -1
  99. package/dist/{chunk-dm72y8wt.js → chunk-7y0f6rf1.js} +29 -16
  100. package/dist/chunk-7y0f6rf1.js.map +10 -0
  101. package/dist/{chunk-72q2y8hn.js → chunk-8tsf6dmc.js} +2 -2
  102. package/dist/{chunk-72q2y8hn.js.map → chunk-8tsf6dmc.js.map} +3 -3
  103. package/dist/{chunk-tbv03sx2.js → chunk-9aehf39w.js} +7 -7
  104. package/dist/{chunk-ezake7g1.js → chunk-agsvg9ar.js} +1 -1
  105. package/dist/{chunk-rdeagz6b.js → chunk-atmkaf60.js} +1 -1
  106. package/dist/{chunk-rdeagz6b.js.map → chunk-atmkaf60.js.map} +2 -2
  107. package/dist/chunk-c15dr03f.js +43 -0
  108. package/dist/chunk-c15dr03f.js.map +10 -0
  109. package/dist/{chunk-78c6xvyr.js → chunk-d2ndstdf.js} +8 -6
  110. package/dist/{chunk-78c6xvyr.js.map → chunk-d2ndstdf.js.map} +2 -2
  111. package/dist/{chunk-rnshztfq.js → chunk-d63tybny.js} +2 -2
  112. package/dist/{chunk-t0jjkep3.js → chunk-d8qkxt2v.js} +4 -2
  113. package/dist/chunk-d8qkxt2v.js.map +10 -0
  114. package/dist/{chunk-vybf6pkp.js → chunk-dbc80ad7.js} +1 -1
  115. package/dist/{chunk-4gz41why.js → chunk-dqn23610.js} +1 -1
  116. package/dist/{chunk-z3ga9q5m.js → chunk-e4rvtvpw.js} +13 -11
  117. package/dist/{chunk-z3ga9q5m.js.map → chunk-e4rvtvpw.js.map} +2 -2
  118. package/dist/{chunk-h9kxd41f.js → chunk-gbrpsx4m.js} +19 -6
  119. package/dist/chunk-gbrpsx4m.js.map +11 -0
  120. package/dist/{chunk-84h6qhmp.js → chunk-h0knpbz5.js} +468 -1236
  121. package/dist/chunk-h0knpbz5.js.map +38 -0
  122. package/dist/{chunk-zp2v2rv6.js → chunk-ha58tjtt.js} +6 -6
  123. package/dist/{chunk-f6erf2vv.js → chunk-hdz94br2.js} +2 -2
  124. package/dist/chunk-jecn6t54.js +307 -0
  125. package/dist/chunk-jecn6t54.js.map +12 -0
  126. package/dist/{chunk-dsrkgtnh.js → chunk-jq43kdvk.js} +1 -1
  127. package/dist/{chunk-wtmzkcht.js → chunk-k34z5rvh.js} +1 -1
  128. package/dist/{chunk-htq0qh7z.js → chunk-ka3a2ft3.js} +2 -2
  129. package/dist/{chunk-4h947jd8.js → chunk-kt81c11h.js} +2 -2
  130. package/dist/chunk-n2arzn6e.js +1745 -0
  131. package/dist/chunk-n2arzn6e.js.map +20 -0
  132. package/dist/{chunk-f2rt4vkh.js → chunk-n2w475r0.js} +3 -3
  133. package/dist/{chunk-t8t39h7v.js → chunk-n6jxh8sw.js} +10 -2
  134. package/dist/chunk-n6jxh8sw.js.map +10 -0
  135. package/dist/{chunk-drjqm1aa.js → chunk-p03r0h5s.js} +310 -28
  136. package/dist/chunk-p03r0h5s.js.map +16 -0
  137. package/dist/chunk-p2vqaxkc.js +528 -0
  138. package/dist/chunk-p2vqaxkc.js.map +15 -0
  139. package/dist/{chunk-gadsm794.js → chunk-qjycjdj6.js} +84 -11
  140. package/dist/chunk-qjycjdj6.js.map +12 -0
  141. package/dist/chunk-qjzp9xyb.js +286 -0
  142. package/dist/chunk-qjzp9xyb.js.map +12 -0
  143. package/dist/{chunk-am6eczah.js → chunk-qv38twt8.js} +50 -69
  144. package/dist/{chunk-am6eczah.js.map → chunk-qv38twt8.js.map} +8 -8
  145. package/dist/{chunk-bhxaq2nn.js → chunk-qw9gvjv5.js} +1 -1
  146. package/dist/{chunk-r0rry8dn.js → chunk-rp1mvzb4.js} +6 -6
  147. package/dist/{chunk-tkdscva6.js → chunk-rre42skh.js} +187 -18
  148. package/dist/chunk-rre42skh.js.map +39 -0
  149. package/dist/{chunk-ghteq96b.js → chunk-s5y30bc9.js} +2 -2
  150. package/dist/{chunk-a31h57d5.js → chunk-tn7xcs2n.js} +2 -2
  151. package/dist/{chunk-6gjqgd3d.js → chunk-tpnd31c1.js} +2 -1
  152. package/dist/chunk-tpnd31c1.js.map +11 -0
  153. package/dist/chunk-trxxmgnf.js +68 -0
  154. package/dist/chunk-trxxmgnf.js.map +11 -0
  155. package/dist/{chunk-ea73pzk7.js → chunk-vjjv9mrb.js} +2 -2
  156. package/dist/{chunk-8b55ygje.js → chunk-w3e09qqk.js} +1 -1
  157. package/dist/{chunk-ckxfnx7f.js → chunk-wjgm6jjt.js} +2 -2
  158. package/dist/{chunk-3j7573mj.js → chunk-x0qhkqje.js} +2 -2
  159. package/dist/{chunk-dysw7nsm.js → chunk-xdpwpkha.js} +2 -2
  160. package/dist/{chunk-1q02e95s.js → chunk-y35ma3mj.js} +11 -16
  161. package/dist/{chunk-1q02e95s.js.map → chunk-y35ma3mj.js.map} +3 -4
  162. package/dist/{chunk-qewtks41.js → chunk-z2sery1b.js} +64 -1
  163. package/dist/{chunk-qewtks41.js.map → chunk-z2sery1b.js.map} +3 -3
  164. package/dist/error-reporting/internal.js +4 -4
  165. package/dist/error-reporting/types.d.ts +7 -2
  166. package/dist/error-reporting/types.d.ts.map +1 -1
  167. package/dist/errors/catalog.d.ts +8 -0
  168. package/dist/errors/catalog.d.ts.map +1 -1
  169. package/dist/errors/internal.js +2 -2
  170. package/dist/events/index.js +4 -4
  171. package/dist/execution/agent.d.ts +18 -9
  172. package/dist/execution/agent.d.ts.map +1 -1
  173. package/dist/execution/agent.js +52 -43
  174. package/dist/execution/agent.js.map +1 -1
  175. package/dist/execution/authorization.d.ts +14 -4
  176. package/dist/execution/authorization.d.ts.map +1 -1
  177. package/dist/execution/primitive.js +45 -43
  178. package/dist/execution/primitive.js.map +2 -2
  179. package/dist/execution/request.d.ts +3 -1
  180. package/dist/execution/request.d.ts.map +1 -1
  181. package/dist/execution/request.js +46 -44
  182. package/dist/execution/request.js.map +3 -3
  183. package/dist/execution/types.d.ts +1 -1
  184. package/dist/execution/types.d.ts.map +1 -1
  185. package/dist/http/api-routes.d.ts.map +1 -1
  186. package/dist/http/index.js +1 -1
  187. package/dist/index.d.ts +9 -6
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +82 -77
  190. package/dist/index.js.map +1 -1
  191. package/dist/json.d.ts +2 -0
  192. package/dist/json.d.ts.map +1 -1
  193. package/dist/lake-storage/index.js +5 -5
  194. package/dist/logging/index.js +3 -3
  195. package/dist/logging/types.js +2 -2
  196. package/dist/materialization/index.js +2 -2
  197. package/dist/materializer/index.js +33 -29
  198. package/dist/materializer/index.js.map +1 -1
  199. package/dist/models/catalog.d.ts +40 -0
  200. package/dist/models/catalog.d.ts.map +1 -0
  201. package/dist/models/definitions.d.ts +25 -0
  202. package/dist/models/definitions.d.ts.map +1 -0
  203. package/dist/models/errors.d.ts +52 -0
  204. package/dist/models/errors.d.ts.map +1 -0
  205. package/dist/models/events.d.ts +192 -0
  206. package/dist/models/events.d.ts.map +1 -0
  207. package/dist/models/index.d.ts +17 -39
  208. package/dist/models/index.d.ts.map +1 -1
  209. package/dist/models/index.js +50 -0
  210. package/dist/models/index.js.map +9 -0
  211. package/dist/models/language-model.d.ts +90 -0
  212. package/dist/models/language-model.d.ts.map +1 -0
  213. package/dist/models/messages.d.ts +74 -0
  214. package/dist/models/messages.d.ts.map +1 -0
  215. package/dist/models/pricing.d.ts +69 -0
  216. package/dist/models/pricing.d.ts.map +1 -0
  217. package/dist/models/rate-card.d.ts +24 -0
  218. package/dist/models/rate-card.d.ts.map +1 -0
  219. package/dist/models/tools.d.ts +24 -0
  220. package/dist/models/tools.d.ts.map +1 -0
  221. package/dist/objects/index.js +38 -34
  222. package/dist/objects/index.js.map +1 -1
  223. package/dist/objects/query/index.js +32 -28
  224. package/dist/objects/query/index.js.map +1 -1
  225. package/dist/ontology/index.js +5 -5
  226. package/dist/ontology/internal.js +4 -4
  227. package/dist/pipelines/index.js +37 -35
  228. package/dist/pipelines/index.js.map +1 -1
  229. package/dist/projections/internal.js +35 -31
  230. package/dist/projections/internal.js.map +1 -1
  231. package/dist/queues/in-memory.d.ts +3 -2
  232. package/dist/queues/in-memory.d.ts.map +1 -1
  233. package/dist/queues/index.d.ts +3 -1
  234. package/dist/queues/index.d.ts.map +1 -1
  235. package/dist/queues/index.js +1 -1
  236. package/dist/queues/types.d.ts +15 -3
  237. package/dist/queues/types.d.ts.map +1 -1
  238. package/dist/runtime/create.d.ts +4 -4
  239. package/dist/runtime/create.d.ts.map +1 -1
  240. package/dist/runtime/definitions.d.ts +2 -2
  241. package/dist/runtime/definitions.d.ts.map +1 -1
  242. package/dist/runtime/host.d.ts +3 -2
  243. package/dist/runtime/host.d.ts.map +1 -1
  244. package/dist/runtime/resolve-definitions.d.ts +2 -2
  245. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  246. package/dist/runtime/sixb.d.ts +4 -2
  247. package/dist/runtime/sixb.d.ts.map +1 -1
  248. package/dist/security/every.d.ts +1 -4
  249. package/dist/security/every.d.ts.map +1 -1
  250. package/dist/security/grants.d.ts +6 -5
  251. package/dist/security/grants.d.ts.map +1 -1
  252. package/dist/security/index.d.ts +1 -1
  253. package/dist/security/index.d.ts.map +1 -1
  254. package/dist/security/registry.d.ts +1 -1
  255. package/dist/security/registry.d.ts.map +1 -1
  256. package/dist/security/types.d.ts +13 -5
  257. package/dist/security/types.d.ts.map +1 -1
  258. package/dist/security/validation.d.ts +4 -2
  259. package/dist/security/validation.d.ts.map +1 -1
  260. package/dist/storage/action-runs/failure.js +3 -3
  261. package/dist/storage/action-runs/provider.js +2 -2
  262. package/dist/storage/agents/errors.d.ts +1 -1
  263. package/dist/storage/agents/errors.d.ts.map +1 -1
  264. package/dist/storage/agents/in-memory.d.ts +3 -2
  265. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  266. package/dist/storage/agents/index.d.ts +1 -1
  267. package/dist/storage/agents/index.d.ts.map +1 -1
  268. package/dist/storage/agents/provider.d.ts +11 -4
  269. package/dist/storage/agents/provider.d.ts.map +1 -1
  270. package/dist/storage/agents/provider.js +18 -15
  271. package/dist/storage/agents/provider.js.map +1 -1
  272. package/dist/storage/agents/types.d.ts +65 -17
  273. package/dist/storage/agents/types.d.ts.map +1 -1
  274. package/dist/storage/ai-cost/analytics.d.ts +2 -1
  275. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  276. package/dist/storage/ai-cost/codec.d.ts +3 -2
  277. package/dist/storage/ai-cost/codec.d.ts.map +1 -1
  278. package/dist/storage/ai-cost/groups.d.ts +51 -0
  279. package/dist/storage/ai-cost/groups.d.ts.map +1 -0
  280. package/dist/storage/ai-cost/in-memory.d.ts +11 -1
  281. package/dist/storage/ai-cost/in-memory.d.ts.map +1 -1
  282. package/dist/storage/ai-cost/index.d.ts +1 -1
  283. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  284. package/dist/storage/ai-cost/provider.d.ts +2 -0
  285. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  286. package/dist/storage/ai-cost/provider.js +29 -13
  287. package/dist/storage/ai-cost/provider.js.map +3 -3
  288. package/dist/storage/ai-cost/types.d.ts +64 -15
  289. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  290. package/dist/storage/ai-cost/validation.d.ts +2 -1
  291. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  292. package/dist/storage/ai-limits/enforcement.d.ts +14 -0
  293. package/dist/storage/ai-limits/enforcement.d.ts.map +1 -0
  294. package/dist/storage/ai-limits/enforcement.js +21 -0
  295. package/dist/storage/ai-limits/enforcement.js.map +9 -0
  296. package/dist/storage/ai-limits/errors.d.ts +8 -0
  297. package/dist/storage/ai-limits/errors.d.ts.map +1 -0
  298. package/dist/storage/ai-limits/in-memory.d.ts +78 -0
  299. package/dist/storage/ai-limits/in-memory.d.ts.map +1 -0
  300. package/dist/storage/ai-limits/index.d.ts +7 -0
  301. package/dist/storage/ai-limits/index.d.ts.map +1 -0
  302. package/dist/storage/ai-limits/period.d.ts +4 -0
  303. package/dist/storage/ai-limits/period.d.ts.map +1 -0
  304. package/dist/storage/ai-limits/provider.d.ts +85 -0
  305. package/dist/storage/ai-limits/provider.d.ts.map +1 -0
  306. package/dist/storage/ai-limits/provider.js +62 -0
  307. package/dist/storage/ai-limits/provider.js.map +9 -0
  308. package/dist/storage/ai-limits/types.d.ts +175 -0
  309. package/dist/storage/ai-limits/types.d.ts.map +1 -0
  310. package/dist/storage/ai-usage/in-memory.d.ts +4 -0
  311. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
  312. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  313. package/dist/storage/ai-usage/types.d.ts +6 -2
  314. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  315. package/dist/storage/auth/errors.d.ts +1 -1
  316. package/dist/storage/auth/errors.d.ts.map +1 -1
  317. package/dist/storage/auth/in-memory/auth-storage.d.ts +4 -1
  318. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  319. package/dist/storage/auth/in-memory/device-authorizations.d.ts +29 -0
  320. package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -0
  321. package/dist/storage/auth/in-memory/shared.d.ts +3 -1
  322. package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
  323. package/dist/storage/auth/index.d.ts +2 -1
  324. package/dist/storage/auth/index.d.ts.map +1 -1
  325. package/dist/storage/auth/types.d.ts +66 -0
  326. package/dist/storage/auth/types.d.ts.map +1 -1
  327. package/dist/storage/connector-connections/provider.js +2 -2
  328. package/dist/storage/executions/provider.js +1 -1
  329. package/dist/storage/executions/run-link.d.ts +7 -2
  330. package/dist/storage/executions/run-link.d.ts.map +1 -1
  331. package/dist/storage/executions/validation.d.ts.map +1 -1
  332. package/dist/storage/in-memory/index.d.ts +4 -0
  333. package/dist/storage/in-memory/index.d.ts.map +1 -1
  334. package/dist/storage/index.d.ts +8 -5
  335. package/dist/storage/index.d.ts.map +1 -1
  336. package/dist/storage/index.js +51 -38
  337. package/dist/storage/index.js.map +1 -1
  338. package/dist/storage/ontology/in-memory/materializations.d.ts +4 -3
  339. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  340. package/dist/storage/ontology/index.d.ts +1 -1
  341. package/dist/storage/ontology/index.d.ts.map +1 -1
  342. package/dist/storage/ontology/materializations.d.ts +7 -3
  343. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  344. package/dist/storage/ontology/provider.d.ts +2 -2
  345. package/dist/storage/ontology/provider.d.ts.map +1 -1
  346. package/dist/storage/ontology/provider.js +3 -3
  347. package/dist/storage/pipeline-runs/provider.js +2 -2
  348. package/dist/storage/projection-runs/provider.js +4 -4
  349. package/dist/storage/sync-runs/provider.js +2 -2
  350. package/dist/storage/types.d.ts +5 -1
  351. package/dist/storage/types.d.ts.map +1 -1
  352. package/dist/storage/webhook-runs/provider.js +2 -2
  353. package/dist/storage/workflow-runs/provider.d.ts +1 -1
  354. package/dist/storage/workflow-runs/provider.js +10 -11
  355. package/dist/storage/workflow-runs/provider.js.map +1 -1
  356. package/dist/storage/workflow-runs/types.d.ts +5 -4
  357. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  358. package/dist/syncs/index.js +37 -35
  359. package/dist/syncs/index.js.map +1 -1
  360. package/dist/testing/agent-execution.d.ts +3 -1
  361. package/dist/testing/agent-execution.d.ts.map +1 -1
  362. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  363. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  364. package/dist/testing/ai-limit-storage-contract.d.ts +18 -0
  365. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -0
  366. package/dist/testing/ai-model-call-groups-contract.d.ts +6 -0
  367. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -0
  368. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  369. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  370. package/dist/testing/index.d.ts +2 -0
  371. package/dist/testing/index.d.ts.map +1 -1
  372. package/dist/testing/index.js +3758 -1945
  373. package/dist/testing/index.js.map +15 -13
  374. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  375. package/dist/testing/queues-contract.d.ts.map +1 -1
  376. package/dist/webhooks/internal.js +32 -28
  377. package/dist/webhooks/internal.js.map +2 -2
  378. package/dist/workers/index.js +2 -2
  379. package/dist/workflows/agent-step-identity.d.ts +3 -0
  380. package/dist/workflows/agent-step-identity.d.ts.map +1 -0
  381. package/dist/workflows/builders.d.ts +2 -3
  382. package/dist/workflows/builders.d.ts.map +1 -1
  383. package/dist/workflows/execution.d.ts +1 -1
  384. package/dist/workflows/execution.d.ts.map +1 -1
  385. package/dist/workflows/failure.d.ts +1 -1
  386. package/dist/workflows/failure.d.ts.map +1 -1
  387. package/dist/workflows/index.d.ts +3 -2
  388. package/dist/workflows/index.d.ts.map +1 -1
  389. package/dist/workflows/index.js +53 -45
  390. package/dist/workflows/index.js.map +1 -1
  391. package/dist/workflows/types.d.ts +26 -11
  392. package/dist/workflows/types.d.ts.map +1 -1
  393. package/dist/workflows/validation.d.ts +7 -1
  394. package/dist/workflows/validation.d.ts.map +1 -1
  395. package/package.json +19 -4
  396. package/src/actions/types/definitions.ts +24 -2
  397. package/src/agents/adapters.ts +109 -115
  398. package/src/agents/authority.ts +214 -32
  399. package/src/agents/builders.ts +3 -50
  400. package/src/agents/context-compaction.ts +4 -0
  401. package/src/agents/dispatch.ts +59 -2
  402. package/src/agents/errors.ts +5 -2
  403. package/src/agents/execution.ts +53 -52
  404. package/src/agents/ids.ts +16 -1
  405. package/src/agents/index.ts +23 -11
  406. package/src/agents/message.ts +18 -9
  407. package/src/agents/model-loop.ts +1023 -0
  408. package/src/agents/reference.ts +7 -0
  409. package/src/agents/request.ts +141 -74
  410. package/src/agents/retired-config.ts +20 -0
  411. package/src/agents/streams.ts +45 -19
  412. package/src/agents/tool-catalog.ts +21 -0
  413. package/src/agents/tool-definition.ts +23 -0
  414. package/src/agents/types.ts +39 -81
  415. package/src/agents/validation.ts +34 -180
  416. package/src/ai-usage/execution.ts +196 -0
  417. package/src/ai-usage/index.ts +15 -0
  418. package/src/auth/index.ts +1 -0
  419. package/src/auth/runtime.ts +8 -0
  420. package/src/auth/strategy.ts +1 -0
  421. package/src/auth/types.ts +14 -0
  422. package/src/authorization/decision.ts +27 -10
  423. package/src/authorization/grant-kinds.ts +62 -15
  424. package/src/authorization/index.ts +1 -0
  425. package/src/authorization/resolve.ts +12 -5
  426. package/src/authorization/types.ts +7 -5
  427. package/src/bootstrap/discovery.ts +0 -3
  428. package/src/error-reporting/types.ts +4 -2
  429. package/src/errors/catalog.ts +8 -0
  430. package/src/execution/agent.ts +129 -22
  431. package/src/execution/authorization.ts +48 -18
  432. package/src/execution/request.ts +4 -1
  433. package/src/execution/types.ts +1 -1
  434. package/src/http/api-routes.ts +63 -0
  435. package/src/index.ts +36 -7
  436. package/src/json.ts +9 -0
  437. package/src/models/catalog.ts +137 -0
  438. package/src/models/definitions.ts +202 -0
  439. package/src/models/errors.ts +83 -0
  440. package/src/models/events.ts +198 -0
  441. package/src/models/index.ts +89 -71
  442. package/src/models/language-model.ts +143 -0
  443. package/src/models/messages.ts +78 -0
  444. package/src/models/pricing.ts +390 -0
  445. package/src/models/rate-card.ts +101 -0
  446. package/src/models/tools.ts +29 -0
  447. package/src/queues/in-memory.ts +5 -0
  448. package/src/queues/index.ts +11 -0
  449. package/src/queues/types.ts +20 -3
  450. package/src/runtime/create.ts +7 -5
  451. package/src/runtime/definitions.ts +2 -2
  452. package/src/runtime/host.ts +3 -2
  453. package/src/runtime/resolve-definitions.ts +13 -36
  454. package/src/runtime/sixb.ts +6 -8
  455. package/src/security/every.ts +0 -4
  456. package/src/security/grants.ts +55 -11
  457. package/src/security/index.ts +2 -0
  458. package/src/security/registry.ts +6 -5
  459. package/src/security/types.ts +15 -4
  460. package/src/security/validation.ts +30 -9
  461. package/src/storage/agents/errors.ts +1 -0
  462. package/src/storage/agents/in-memory.ts +121 -11
  463. package/src/storage/agents/index.ts +7 -0
  464. package/src/storage/agents/provider.ts +150 -6
  465. package/src/storage/agents/types.ts +73 -16
  466. package/src/storage/ai-cost/analytics.ts +63 -6
  467. package/src/storage/ai-cost/codec.ts +37 -12
  468. package/src/storage/ai-cost/groups.ts +248 -0
  469. package/src/storage/ai-cost/in-memory.ts +42 -0
  470. package/src/storage/ai-cost/index.ts +6 -0
  471. package/src/storage/ai-cost/provider.ts +7 -0
  472. package/src/storage/ai-cost/types.ts +76 -14
  473. package/src/storage/ai-cost/validation.ts +147 -17
  474. package/src/storage/ai-limits/enforcement.ts +68 -0
  475. package/src/storage/ai-limits/errors.ts +23 -0
  476. package/src/storage/ai-limits/in-memory.ts +671 -0
  477. package/src/storage/ai-limits/index.ts +31 -0
  478. package/src/storage/ai-limits/period.ts +11 -0
  479. package/src/storage/ai-limits/provider.ts +430 -0
  480. package/src/storage/ai-limits/types.ts +195 -0
  481. package/src/storage/ai-usage/in-memory.ts +13 -0
  482. package/src/storage/ai-usage/record.ts +17 -0
  483. package/src/storage/ai-usage/types.ts +6 -2
  484. package/src/storage/auth/errors.ts +6 -0
  485. package/src/storage/auth/in-memory/auth-storage.ts +69 -0
  486. package/src/storage/auth/in-memory/device-authorizations.ts +145 -0
  487. package/src/storage/auth/in-memory/shared.ts +7 -0
  488. package/src/storage/auth/index.ts +7 -0
  489. package/src/storage/auth/types.ts +73 -0
  490. package/src/storage/executions/run-link.ts +16 -6
  491. package/src/storage/executions/validation.ts +36 -6
  492. package/src/storage/in-memory/index.ts +48 -4
  493. package/src/storage/index.ts +52 -1
  494. package/src/storage/ontology/in-memory/materializations.ts +34 -22
  495. package/src/storage/ontology/index.ts +1 -0
  496. package/src/storage/ontology/materializations.ts +8 -3
  497. package/src/storage/ontology/provider.ts +2 -2
  498. package/src/storage/types.ts +37 -0
  499. package/src/storage/workflow-runs/in-memory.ts +3 -3
  500. package/src/storage/workflow-runs/provider.ts +2 -2
  501. package/src/storage/workflow-runs/types.ts +6 -3
  502. package/src/testing/agent-execution.ts +40 -28
  503. package/src/testing/agent-storage-contract.ts +249 -28
  504. package/src/testing/ai-cost-storage-contract.ts +96 -8
  505. package/src/testing/ai-limit-storage-contract.ts +1134 -0
  506. package/src/testing/ai-model-call-groups-contract.ts +353 -0
  507. package/src/testing/ai-usage-storage-contract.ts +31 -0
  508. package/src/testing/auth-storage-contract.ts +85 -0
  509. package/src/testing/execution-storage-contract.ts +2 -2
  510. package/src/testing/index.ts +10 -0
  511. package/src/testing/materializer-storage-contract.ts +170 -2
  512. package/src/testing/queues-contract.ts +36 -1
  513. package/src/workflows/agent-step-identity.ts +4 -0
  514. package/src/workflows/builders.ts +95 -9
  515. package/src/workflows/execution.ts +2 -2
  516. package/src/workflows/failure.ts +2 -2
  517. package/src/workflows/index.ts +3 -0
  518. package/src/workflows/types.ts +23 -11
  519. package/src/workflows/validation.ts +100 -7
  520. package/dist/chunk-6gjqgd3d.js.map +0 -11
  521. package/dist/chunk-84h6qhmp.js.map +0 -46
  522. package/dist/chunk-a09jx26t.js +0 -55
  523. package/dist/chunk-a09jx26t.js.map +0 -11
  524. package/dist/chunk-dm72y8wt.js.map +0 -10
  525. package/dist/chunk-drjqm1aa.js.map +0 -15
  526. package/dist/chunk-gadsm794.js.map +0 -11
  527. package/dist/chunk-h9kxd41f.js.map +0 -11
  528. package/dist/chunk-nzw7sm3b.js +0 -137
  529. package/dist/chunk-nzw7sm3b.js.map +0 -10
  530. package/dist/chunk-t0jjkep3.js.map +0 -10
  531. package/dist/chunk-t8t39h7v.js.map +0 -10
  532. package/dist/chunk-tkdscva6.js.map +0 -37
  533. package/dist/chunk-v0egge8b.js.map +0 -56
  534. package/dist/chunk-xdf9yswn.js.map +0 -11
  535. /package/dist/{chunk-zqysyfjt.js.map → chunk-08m3b6w8.js.map} +0 -0
  536. /package/dist/{chunk-xkthy56g.js.map → chunk-1kamz6j0.js.map} +0 -0
  537. /package/dist/{chunk-6d5xdj1q.js.map → chunk-3fqt22c4.js.map} +0 -0
  538. /package/dist/{chunk-z3zp0bj1.js.map → chunk-407j3msh.js.map} +0 -0
  539. /package/dist/{chunk-rhrbz7d4.js.map → chunk-4a849fr1.js.map} +0 -0
  540. /package/dist/{chunk-62c7t4jc.js.map → chunk-4nxeacx7.js.map} +0 -0
  541. /package/dist/{chunk-cy0n5dms.js.map → chunk-5jcdmjam.js.map} +0 -0
  542. /package/dist/{chunk-819wnjz8.js.map → chunk-64sr682n.js.map} +0 -0
  543. /package/dist/{chunk-x2yw73hy.js.map → chunk-7ds9620f.js.map} +0 -0
  544. /package/dist/{chunk-tbv03sx2.js.map → chunk-9aehf39w.js.map} +0 -0
  545. /package/dist/{chunk-ezake7g1.js.map → chunk-agsvg9ar.js.map} +0 -0
  546. /package/dist/{chunk-rnshztfq.js.map → chunk-d63tybny.js.map} +0 -0
  547. /package/dist/{chunk-vybf6pkp.js.map → chunk-dbc80ad7.js.map} +0 -0
  548. /package/dist/{chunk-4gz41why.js.map → chunk-dqn23610.js.map} +0 -0
  549. /package/dist/{chunk-zp2v2rv6.js.map → chunk-ha58tjtt.js.map} +0 -0
  550. /package/dist/{chunk-f6erf2vv.js.map → chunk-hdz94br2.js.map} +0 -0
  551. /package/dist/{chunk-dsrkgtnh.js.map → chunk-jq43kdvk.js.map} +0 -0
  552. /package/dist/{chunk-wtmzkcht.js.map → chunk-k34z5rvh.js.map} +0 -0
  553. /package/dist/{chunk-htq0qh7z.js.map → chunk-ka3a2ft3.js.map} +0 -0
  554. /package/dist/{chunk-4h947jd8.js.map → chunk-kt81c11h.js.map} +0 -0
  555. /package/dist/{chunk-f2rt4vkh.js.map → chunk-n2w475r0.js.map} +0 -0
  556. /package/dist/{chunk-bhxaq2nn.js.map → chunk-qw9gvjv5.js.map} +0 -0
  557. /package/dist/{chunk-r0rry8dn.js.map → chunk-rp1mvzb4.js.map} +0 -0
  558. /package/dist/{chunk-ghteq96b.js.map → chunk-s5y30bc9.js.map} +0 -0
  559. /package/dist/{chunk-a31h57d5.js.map → chunk-tn7xcs2n.js.map} +0 -0
  560. /package/dist/{chunk-ea73pzk7.js.map → chunk-vjjv9mrb.js.map} +0 -0
  561. /package/dist/{chunk-8b55ygje.js.map → chunk-w3e09qqk.js.map} +0 -0
  562. /package/dist/{chunk-ckxfnx7f.js.map → chunk-wjgm6jjt.js.map} +0 -0
  563. /package/dist/{chunk-3j7573mj.js.map → chunk-x0qhkqje.js.map} +0 -0
  564. /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
- agentId: agentRun.agentId,
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 () => run(tx))
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"]>
@@ -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,
@@ -422,6 +472,7 @@ export type {
422
472
  MaterializationClassificationWorkRecord,
423
473
  MaterializationEventWorkRecord,
424
474
  MaterializationIncidentObjectWorkRecord,
475
+ MaterializationLinkScopeRevision,
425
476
  MaterializationLinkScopeState,
426
477
  MaterializationLinkState,
427
478
  MaterializationObjectExistence,
@@ -38,6 +38,7 @@ import type {
38
38
  FinalizeMaterializationInput,
39
39
  MaterializationCardinalityOccupantWorkRecord,
40
40
  MaterializationEventWorkRecord,
41
+ MaterializationLinkScopeRevision,
41
42
  MaterializationLinkScopeState,
42
43
  MaterializationLinkState,
43
44
  MaterializationObjectExistence,
@@ -134,7 +135,7 @@ export interface SessionState {
134
135
  readonly workStreams: Record<StreamMaterializationWorkInput["order"], WorkStreamState>
135
136
  workSealed: boolean
136
137
  incidentLinksByObject: Map<string, readonly OntologyLinkRef[]> | null
137
- linkScopeStates: Map<string, MaterializationLinkScopeState> | null
138
+ linkSlotStates: Map<string, MaterializationLinkScopeState> | null
138
139
  readonly objectExistence: Map<string, MaterializationObjectExistenceWorkRecord>
139
140
  replacement: ReplacementSessionState | null
140
141
  }
@@ -209,13 +210,13 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
209
210
  await this.assertObject(expected, input.commit.projectId)
210
211
  for (const expected of input.expected.links)
211
212
  await this.assertLink(expected, input.commit.projectId)
212
- const expectedScopeStates = new Map<string, MaterializationLinkScopeState>()
213
+ const expectedScopeRevisions = new Map<string, MaterializationLinkScopeRevision>()
213
214
  for (const expected of input.expected.linkScopes) {
214
215
  const key = linkScopeSortKey(expected.source, expected.linkId)
215
216
  const current =
216
- expectedScopeStates.get(key) ??
217
- this.computeLinkScopeState(input.commit.projectId, expected.source, expected.linkId)
218
- expectedScopeStates.set(key, current)
217
+ expectedScopeRevisions.get(key) ??
218
+ this.computeEffectiveLinkScope(input.commit.projectId, expected.source, expected.linkId)
219
+ expectedScopeRevisions.set(key, current)
219
220
  if (current.fingerprint !== expected.fingerprint) {
220
221
  throw new MaterializationConflictError(
221
222
  "effective-state",
@@ -247,7 +248,7 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
247
248
  },
248
249
  workSealed: false,
249
250
  incidentLinksByObject: null,
250
- linkScopeStates: expectedScopeStates,
251
+ linkSlotStates: new Map(),
251
252
  objectExistence: new Map<string, MaterializationObjectExistenceWorkRecord>(),
252
253
  replacement: null,
253
254
  }
@@ -275,7 +276,7 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
275
276
  session.appliedPlanItems.length = 0
276
277
  session.outboxEnvelopes.clear()
277
278
  session.incidentLinksByObject = null
278
- session.linkScopeStates = null
279
+ session.linkSlotStates = null
279
280
  session.objectExistence.clear()
280
281
  session.replacement = null
281
282
  this.liveSessions.delete(session)
@@ -329,7 +330,7 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
329
330
  linkScopeSortKey(value.source, value.linkId)
330
331
  )) {
331
332
  this.requireSession(input.session)
332
- const value = this.linkScopeState(session, scope.source, scope.linkId)
333
+ const value = this.linkSlotState(session, scope.source, scope.linkId)
333
334
  // Scope rows are currently only requested for cardinality-one links, so the complete member
334
335
  // set is bounded by the ontology invariant. Replacement scope enumeration is flattened in
335
336
  // its dedicated stream and never uses this shape.
@@ -1136,25 +1137,44 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
1136
1137
  }
1137
1138
  }
1138
1139
 
1139
- private linkScopeState(
1140
+ private linkSlotState(
1140
1141
  session: SessionState,
1141
1142
  source: OntologyObjectRef,
1142
1143
  linkId: string
1143
1144
  ): MaterializationLinkScopeState {
1144
- session.linkScopeStates ??= new Map()
1145
+ session.linkSlotStates ??= new Map()
1145
1146
  const key = linkScopeSortKey(source, linkId)
1146
- const existing = session.linkScopeStates.get(key)
1147
+ const existing = session.linkSlotStates.get(key)
1147
1148
  if (existing) return structuredClone(existing)
1148
- const computed = this.computeLinkScopeState(session.header.commit.projectId, source, linkId)
1149
- session.linkScopeStates.set(key, computed)
1149
+ const computed = this.computeLinkSlotState(session.header.commit.projectId, source, linkId)
1150
+ session.linkSlotStates.set(key, computed)
1150
1151
  return structuredClone(computed)
1151
1152
  }
1152
1153
 
1153
- private computeLinkScopeState(
1154
+ private computeLinkSlotState(
1154
1155
  projectId: string,
1155
1156
  source: OntologyObjectRef,
1156
1157
  linkId: string
1157
1158
  ): MaterializationLinkScopeState {
1159
+ const value = this.computeEffectiveLinkScope(projectId, source, linkId)
1160
+ return {
1161
+ ...value,
1162
+ sourceAssertion: this.findActiveLinkScopeSource(projectId, source, linkId),
1163
+ override: structuredClone(
1164
+ publicLinkSlotOverride(
1165
+ this.state.linkSlotOverrides.get(
1166
+ projectEntityKey(projectId, linkScopeKey(source, linkId))
1167
+ )
1168
+ )
1169
+ ),
1170
+ }
1171
+ }
1172
+
1173
+ private computeEffectiveLinkScope(
1174
+ projectId: string,
1175
+ source: OntologyObjectRef,
1176
+ linkId: string
1177
+ ): MaterializationLinkScopeRevision & Pick<MaterializationLinkScopeState, "effective"> {
1158
1178
  const rows: ObjectLinkRow[] = []
1159
1179
  getInMemoryObjectMaterializerAdapter(this.objects).visitExactScopeLinks(
1160
1180
  projectId,
@@ -1177,14 +1197,6 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
1177
1197
  const effective = rows.length === 1 ? linkSnapshot(rows[0]!) : null
1178
1198
  return {
1179
1199
  ...finishScopeAccumulator(accumulator),
1180
- sourceAssertion: this.findActiveLinkScopeSource(projectId, source, linkId),
1181
- override: structuredClone(
1182
- publicLinkSlotOverride(
1183
- this.state.linkSlotOverrides.get(
1184
- projectEntityKey(projectId, linkScopeKey(source, linkId))
1185
- )
1186
- )
1187
- ),
1188
1200
  effective,
1189
1201
  }
1190
1202
  }
@@ -45,6 +45,7 @@ export type {
45
45
  MaterializationClassificationWorkRecord,
46
46
  MaterializationEventWorkRecord,
47
47
  MaterializationIncidentObjectWorkRecord,
48
+ MaterializationLinkScopeRevision,
48
49
  MaterializationLinkScopeState,
49
50
  MaterializationLinkState,
50
51
  MaterializationObjectExistence,
@@ -77,17 +77,22 @@ export interface MaterializationLinkState {
77
77
  readonly effective: EffectiveLinkSnapshot | null
78
78
  }
79
79
 
80
- export interface MaterializationLinkScopeState {
80
+ /** Revision of the complete effective `(source, linkId)` member set, for either cardinality. */
81
+ export interface MaterializationLinkScopeRevision {
81
82
  readonly source: OntologyObjectRef
82
83
  readonly linkId: string
84
+ readonly effectiveCount: number
85
+ readonly fingerprint: string
86
+ }
87
+
88
+ /** Cardinality-one slot state used while resolving managed and projected authority. */
89
+ export interface MaterializationLinkScopeState extends MaterializationLinkScopeRevision {
83
90
  /** Complete active source value for the link slot. */
84
91
  readonly sourceAssertion: StoredSourceLinkAssertion | null
85
92
  /** Managed slot authority; absence delegates to source authority. */
86
93
  readonly override: StoredLinkSlotOverride | null
87
94
  /** The single effective edge, if its endpoints are effective. */
88
95
  readonly effective: EffectiveLinkSnapshot | null
89
- readonly effectiveCount: number
90
- readonly fingerprint: string
91
96
  }
92
97
 
93
98
  export interface MaterializationStatePage {
@@ -14,7 +14,7 @@ import type { OntologyCommitOriginSelector, OntologyCommitWrite } from "./commit
14
14
  import type {
15
15
  FinalizeMaterializationInput,
16
16
  MaterializationEventWorkRecord,
17
- MaterializationLinkScopeState,
17
+ MaterializationLinkScopeRevision,
18
18
  MaterializationPlanChunk,
19
19
  MaterializationPlanHeader,
20
20
  MaterializationPlanWorkItem,
@@ -99,7 +99,7 @@ export function appendScopeSnapshot(
99
99
 
100
100
  export function finishScopeAccumulator(
101
101
  accumulator: LinkScopeAccumulator
102
- ): Pick<MaterializationLinkScopeState, "source" | "linkId" | "effectiveCount" | "fingerprint"> {
102
+ ): MaterializationLinkScopeRevision {
103
103
  accumulator.hash.update("]")
104
104
  return {
105
105
  source: accumulator.source,
@@ -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
- agentId: input.agentId,
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
- agentId: input.agentId,
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.agentId ? run.agentId === input.agentId : true))
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 agentId: string
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.agentId),
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
- readonly agentId: string
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 agentId: string
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 agentId?: string
122
+ readonly actorId?: string
120
123
  readonly statuses?: readonly WorkflowAgentNodeRunStatus[]
121
124
  readonly limit?: number
122
125
  readonly offset?: number