@sixb/core 0.1.6 → 0.1.8

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 (909) hide show
  1. package/dist/actions/delegated-admission.d.ts +24 -0
  2. package/dist/actions/delegated-admission.d.ts.map +1 -0
  3. package/dist/actions/descriptor.d.ts +29 -0
  4. package/dist/actions/descriptor.d.ts.map +1 -0
  5. package/dist/actions/execution.d.ts +5 -5
  6. package/dist/actions/execution.d.ts.map +1 -1
  7. package/dist/actions/index.js +50 -40
  8. package/dist/actions/index.js.map +1 -1
  9. package/dist/actions/request.d.ts.map +1 -1
  10. package/dist/actions/run-authorization.d.ts +20 -0
  11. package/dist/actions/run-authorization.d.ts.map +1 -0
  12. package/dist/actions/run-dispatch.d.ts +3 -1
  13. package/dist/actions/run-dispatch.d.ts.map +1 -1
  14. package/dist/actions/worker.js +5 -5
  15. package/dist/actions/worker.js.map +1 -1
  16. package/dist/agents/adapters.d.ts +6 -166
  17. package/dist/agents/adapters.d.ts.map +1 -1
  18. package/dist/agents/authority.d.ts +22 -6
  19. package/dist/agents/authority.d.ts.map +1 -1
  20. package/dist/agents/builders.d.ts +3 -11
  21. package/dist/agents/builders.d.ts.map +1 -1
  22. package/dist/agents/context-resolution.d.ts.map +1 -1
  23. package/dist/agents/context.js +2 -2
  24. package/dist/agents/dispatch.d.ts +9 -1
  25. package/dist/agents/dispatch.d.ts.map +1 -1
  26. package/dist/agents/errors.d.ts +1 -10
  27. package/dist/agents/errors.d.ts.map +1 -1
  28. package/dist/agents/execution.d.ts +9 -10
  29. package/dist/agents/execution.d.ts.map +1 -1
  30. package/dist/agents/identity.d.ts +3 -0
  31. package/dist/agents/identity.d.ts.map +1 -0
  32. package/dist/agents/ids.d.ts +4 -0
  33. package/dist/agents/ids.d.ts.map +1 -1
  34. package/dist/agents/index.d.ts +15 -11
  35. package/dist/agents/index.d.ts.map +1 -1
  36. package/dist/agents/index.js +90 -78
  37. package/dist/agents/index.js.map +1 -1
  38. package/dist/agents/message.d.ts +19 -13
  39. package/dist/agents/message.d.ts.map +1 -1
  40. package/dist/agents/model-loop.d.ts +58 -0
  41. package/dist/agents/model-loop.d.ts.map +1 -0
  42. package/dist/agents/reference.d.ts +4 -0
  43. package/dist/agents/reference.d.ts.map +1 -0
  44. package/dist/agents/request.d.ts +10 -8
  45. package/dist/agents/request.d.ts.map +1 -1
  46. package/dist/agents/retired-config.d.ts +4 -0
  47. package/dist/agents/retired-config.d.ts.map +1 -0
  48. package/dist/agents/streams.d.ts +13 -8
  49. package/dist/agents/streams.d.ts.map +1 -1
  50. package/dist/agents/streams.js +7 -5
  51. package/dist/agents/streams.js.map +1 -1
  52. package/dist/agents/tool-catalog.d.ts +9 -0
  53. package/dist/agents/tool-catalog.d.ts.map +1 -0
  54. package/dist/agents/tool-definition.d.ts +1 -1
  55. package/dist/agents/tool-definition.d.ts.map +1 -1
  56. package/dist/agents/types.d.ts +31 -68
  57. package/dist/agents/types.d.ts.map +1 -1
  58. package/dist/agents/validation.d.ts +3 -13
  59. package/dist/agents/validation.d.ts.map +1 -1
  60. package/dist/ai-usage/execution.d.ts +53 -0
  61. package/dist/ai-usage/execution.d.ts.map +1 -0
  62. package/dist/ai-usage/index.d.ts +3 -0
  63. package/dist/ai-usage/index.d.ts.map +1 -0
  64. package/dist/auth/index.js +12 -9
  65. package/dist/auth/index.js.map +1 -1
  66. package/dist/authorization/decision.d.ts +14 -3
  67. package/dist/authorization/decision.d.ts.map +1 -1
  68. package/dist/authorization/grant-kinds.d.ts +25 -8
  69. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  70. package/dist/authorization/index.d.ts +1 -1
  71. package/dist/authorization/index.d.ts.map +1 -1
  72. package/dist/authorization/index.js +12 -7
  73. package/dist/authorization/index.js.map +1 -1
  74. package/dist/authorization/resolve.d.ts +3 -3
  75. package/dist/authorization/resolve.d.ts.map +1 -1
  76. package/dist/authorization/types.d.ts +7 -5
  77. package/dist/authorization/types.d.ts.map +1 -1
  78. package/dist/blob-storage/browser.js +2 -2
  79. package/dist/blob-storage/index.js +3 -3
  80. package/dist/bootstrap/discovery.d.ts +6 -6
  81. package/dist/bootstrap/discovery.d.ts.map +1 -1
  82. package/dist/bootstrap/index.js +62 -51
  83. package/dist/bootstrap/index.js.map +1 -1
  84. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  85. package/dist/broker/index.js +2 -2
  86. package/dist/{chunk-zqysyfjt.js → chunk-08m3b6w8.js} +1 -1
  87. package/dist/chunk-19jp6g9d.js +131 -0
  88. package/dist/chunk-19jp6g9d.js.map +11 -0
  89. package/dist/{chunk-3j7573mj.js → chunk-2dw777qw.js} +50 -5
  90. package/dist/{chunk-3j7573mj.js.map → chunk-2dw777qw.js.map} +4 -3
  91. package/dist/{chunk-0172wgm9.js → chunk-2xns679x.js} +10 -2
  92. package/dist/{chunk-0172wgm9.js.map → chunk-2xns679x.js.map} +3 -3
  93. package/dist/chunk-359jm1jw.js +147 -0
  94. package/dist/chunk-359jm1jw.js.map +10 -0
  95. package/dist/{chunk-dy311asx.js → chunk-3xep5cjx.js} +58 -23
  96. package/dist/chunk-3xep5cjx.js.map +15 -0
  97. package/dist/{chunk-n4spznws.js → chunk-3z1qec12.js} +83 -12
  98. package/dist/chunk-3z1qec12.js.map +12 -0
  99. package/dist/{chunk-z3zp0bj1.js → chunk-407j3msh.js} +1 -1
  100. package/dist/{chunk-rhrbz7d4.js → chunk-4a849fr1.js} +1 -1
  101. package/dist/{chunk-cy0n5dms.js → chunk-4jjp5k14.js} +1 -1
  102. package/dist/chunk-4qfkag59.js +1568 -0
  103. package/dist/chunk-4qfkag59.js.map +20 -0
  104. package/dist/{chunk-1e8m6yn3.js → chunk-4sm0aznx.js} +685 -86
  105. package/dist/chunk-4sm0aznx.js.map +43 -0
  106. package/dist/chunk-4yqmp43v.js +159 -0
  107. package/dist/chunk-4yqmp43v.js.map +11 -0
  108. package/dist/{chunk-rdeagz6b.js → chunk-5e3pq99w.js} +3 -7
  109. package/dist/{chunk-rdeagz6b.js.map → chunk-5e3pq99w.js.map} +3 -3
  110. package/dist/{chunk-ezake7g1.js → chunk-5ntny1qx.js} +1 -1
  111. package/dist/{chunk-dm72y8wt.js → chunk-7y0f6rf1.js} +29 -16
  112. package/dist/chunk-7y0f6rf1.js.map +10 -0
  113. package/dist/{chunk-72q2y8hn.js → chunk-8tsf6dmc.js} +2 -2
  114. package/dist/{chunk-qewtks41.js → chunk-9nbmsvn5.js} +123 -20
  115. package/dist/chunk-9nbmsvn5.js.map +11 -0
  116. package/dist/{chunk-5sxb1168.js → chunk-aa2pen2v.js} +256 -82
  117. package/dist/chunk-aa2pen2v.js.map +34 -0
  118. package/dist/{chunk-819wnjz8.js → chunk-ajnan18g.js} +13 -10
  119. package/dist/chunk-ajnan18g.js.map +12 -0
  120. package/dist/chunk-c15dr03f.js +43 -0
  121. package/dist/chunk-c15dr03f.js.map +10 -0
  122. package/dist/{chunk-t0jjkep3.js → chunk-d8qkxt2v.js} +4 -2
  123. package/dist/chunk-d8qkxt2v.js.map +10 -0
  124. package/dist/{chunk-vybf6pkp.js → chunk-dbc80ad7.js} +1 -1
  125. package/dist/{chunk-nkbfrt0c.js → chunk-f26bck4t.js} +7 -7
  126. package/dist/{chunk-x2yw73hy.js → chunk-fvt9rjsa.js} +23 -7
  127. package/dist/chunk-fvt9rjsa.js.map +10 -0
  128. package/dist/{chunk-znagycq7.js → chunk-gbejpkex.js} +5 -5
  129. package/dist/{chunk-znagycq7.js.map → chunk-gbejpkex.js.map} +1 -1
  130. package/dist/{chunk-e42bc6m3.js → chunk-gzasd5b6.js} +5 -5
  131. package/dist/{chunk-e42bc6m3.js.map → chunk-gzasd5b6.js.map} +3 -3
  132. package/dist/{chunk-rnshztfq.js → chunk-h0k55pc7.js} +6 -6
  133. package/dist/{chunk-rnshztfq.js.map → chunk-h0k55pc7.js.map} +1 -1
  134. package/dist/chunk-h5vqbfmd.js +1537 -0
  135. package/dist/chunk-h5vqbfmd.js.map +19 -0
  136. package/dist/chunk-j1sbhm7p.js +45 -0
  137. package/dist/chunk-j1sbhm7p.js.map +10 -0
  138. package/dist/chunk-jecn6t54.js +307 -0
  139. package/dist/chunk-jecn6t54.js.map +12 -0
  140. package/dist/{chunk-dsrkgtnh.js → chunk-jq43kdvk.js} +1 -1
  141. package/dist/{chunk-wtmzkcht.js → chunk-k34z5rvh.js} +1 -1
  142. package/dist/{chunk-f6erf2vv.js → chunk-k522z7v6.js} +10 -5
  143. package/dist/chunk-k522z7v6.js.map +10 -0
  144. package/dist/{chunk-htq0qh7z.js → chunk-ka3a2ft3.js} +2 -2
  145. package/dist/{chunk-ckxfnx7f.js → chunk-mth82m8t.js} +129 -95
  146. package/dist/chunk-mth82m8t.js.map +14 -0
  147. package/dist/{chunk-5gynx4xn.js → chunk-mwsxn98e.js} +79 -77
  148. package/dist/{chunk-5gynx4xn.js.map → chunk-mwsxn98e.js.map} +8 -8
  149. package/dist/{chunk-f2rt4vkh.js → chunk-n2w475r0.js} +3 -3
  150. package/dist/chunk-n4khvw9n.js +111 -0
  151. package/dist/chunk-n4khvw9n.js.map +11 -0
  152. package/dist/{chunk-t8t39h7v.js → chunk-n6jxh8sw.js} +10 -2
  153. package/dist/chunk-n6jxh8sw.js.map +10 -0
  154. package/dist/chunk-nn0tekr1.js +284 -0
  155. package/dist/chunk-nn0tekr1.js.map +12 -0
  156. package/dist/chunk-nx7k8tpr.js +436 -0
  157. package/dist/chunk-nx7k8tpr.js.map +12 -0
  158. package/dist/{chunk-drjqm1aa.js → chunk-p03r0h5s.js} +310 -28
  159. package/dist/chunk-p03r0h5s.js.map +16 -0
  160. package/dist/{chunk-1g8negke.js → chunk-p1rzczbt.js} +93 -8
  161. package/dist/chunk-p1rzczbt.js.map +12 -0
  162. package/dist/{chunk-f83ka50g.js → chunk-p1x242ad.js} +652 -77
  163. package/dist/chunk-p1x242ad.js.map +25 -0
  164. package/dist/chunk-p2vqaxkc.js +528 -0
  165. package/dist/chunk-p2vqaxkc.js.map +15 -0
  166. package/dist/{chunk-a31h57d5.js → chunk-pc7ys28c.js} +70 -7
  167. package/dist/chunk-pc7ys28c.js.map +14 -0
  168. package/dist/{chunk-md8k0r54.js → chunk-q0k9nc5a.js} +281 -89
  169. package/dist/chunk-q0k9nc5a.js.map +14 -0
  170. package/dist/{chunk-bhxaq2nn.js → chunk-qw9gvjv5.js} +1 -1
  171. package/dist/chunk-r8jrnexe.js +403 -0
  172. package/dist/chunk-r8jrnexe.js.map +10 -0
  173. package/dist/{chunk-h9kxd41f.js → chunk-rafagrwr.js} +48 -7
  174. package/dist/chunk-rafagrwr.js.map +11 -0
  175. package/dist/{chunk-dysw7nsm.js → chunk-rv2hkwwa.js} +2 -2
  176. package/dist/{chunk-ghteq96b.js → chunk-s5y30bc9.js} +2 -2
  177. package/dist/{chunk-t624af60.js → chunk-sbzzr4kx.js} +1848 -757
  178. package/dist/chunk-sbzzr4kx.js.map +63 -0
  179. package/dist/{chunk-6gjqgd3d.js → chunk-tpnd31c1.js} +2 -1
  180. package/dist/chunk-tpnd31c1.js.map +11 -0
  181. package/dist/chunk-trxxmgnf.js +68 -0
  182. package/dist/chunk-trxxmgnf.js.map +11 -0
  183. package/dist/{chunk-0hc5j867.js → chunk-v1xppd0y.js} +17 -13
  184. package/dist/{chunk-0hc5j867.js.map → chunk-v1xppd0y.js.map} +2 -2
  185. package/dist/chunk-v4en4jc2.js +252 -0
  186. package/dist/chunk-v4en4jc2.js.map +10 -0
  187. package/dist/{chunk-xkthy56g.js → chunk-w1tvjszy.js} +1 -1
  188. package/dist/{chunk-8b55ygje.js → chunk-w3e09qqk.js} +1 -1
  189. package/dist/{chunk-8gv5z0zm.js → chunk-w9tg6yyb.js} +13 -8
  190. package/dist/{chunk-8gv5z0zm.js.map → chunk-w9tg6yyb.js.map} +3 -3
  191. package/dist/{chunk-62c7t4jc.js → chunk-wdage1eb.js} +1 -1
  192. package/dist/{chunk-tg5mee00.js → chunk-wtf06et8.js} +11 -7
  193. package/dist/{chunk-tg5mee00.js.map → chunk-wtf06et8.js.map} +3 -3
  194. package/dist/{chunk-nva1xkjz.js → chunk-xajtptbw.js} +1237 -1434
  195. package/dist/chunk-xajtptbw.js.map +40 -0
  196. package/dist/{chunk-xc7hq65b.js → chunk-yp8ee62z.js} +49 -2
  197. package/dist/chunk-yp8ee62z.js.map +11 -0
  198. package/dist/chunk-z4ccwbkz.js +139 -0
  199. package/dist/chunk-z4ccwbkz.js.map +10 -0
  200. package/dist/datasets/builders.d.ts +11 -2
  201. package/dist/datasets/builders.d.ts.map +1 -1
  202. package/dist/datasets/changes.d.ts +14 -4
  203. package/dist/datasets/changes.d.ts.map +1 -1
  204. package/dist/datasets/execution.d.ts +15 -1
  205. package/dist/datasets/execution.d.ts.map +1 -1
  206. package/dist/datasets/index.d.ts +1 -0
  207. package/dist/datasets/index.d.ts.map +1 -1
  208. package/dist/datasets/sequence.d.ts +7 -0
  209. package/dist/datasets/sequence.d.ts.map +1 -0
  210. package/dist/datasets/types.d.ts +1 -0
  211. package/dist/datasets/types.d.ts.map +1 -1
  212. package/dist/datasets/validation.d.ts.map +1 -1
  213. package/dist/datasets/write.d.ts +37 -0
  214. package/dist/datasets/write.d.ts.map +1 -0
  215. package/dist/datasets/write.js +17 -0
  216. package/dist/datasets/write.js.map +9 -0
  217. package/dist/error-reporting/internal.js +4 -4
  218. package/dist/error-reporting/types.d.ts +7 -2
  219. package/dist/error-reporting/types.d.ts.map +1 -1
  220. package/dist/errors/catalog.d.ts +8 -0
  221. package/dist/errors/catalog.d.ts.map +1 -1
  222. package/dist/errors/internal.js +2 -2
  223. package/dist/events/execution.d.ts.map +1 -1
  224. package/dist/events/index.js +4 -4
  225. package/dist/events/types/datasets.d.ts +2 -6
  226. package/dist/events/types/datasets.d.ts.map +1 -1
  227. package/dist/execution/agent.d.ts +18 -9
  228. package/dist/execution/agent.d.ts.map +1 -1
  229. package/dist/execution/agent.js +62 -46
  230. package/dist/execution/agent.js.map +1 -1
  231. package/dist/execution/authorization.d.ts +68 -20
  232. package/dist/execution/authorization.d.ts.map +1 -1
  233. package/dist/execution/authorized-object-reader.d.ts +69 -0
  234. package/dist/execution/authorized-object-reader.d.ts.map +1 -0
  235. package/dist/execution/durable.d.ts.map +1 -1
  236. package/dist/execution/index.d.ts +1 -1
  237. package/dist/execution/index.d.ts.map +1 -1
  238. package/dist/execution/primitive.js +55 -46
  239. package/dist/execution/primitive.js.map +2 -2
  240. package/dist/execution/request.d.ts +14 -1
  241. package/dist/execution/request.d.ts.map +1 -1
  242. package/dist/execution/request.js +92 -54
  243. package/dist/execution/request.js.map +3 -3
  244. package/dist/execution/scopes.d.ts +16 -0
  245. package/dist/execution/scopes.d.ts.map +1 -1
  246. package/dist/execution/types.d.ts +10 -1
  247. package/dist/execution/types.d.ts.map +1 -1
  248. package/dist/http/api-routes.d.ts +2 -0
  249. package/dist/http/api-routes.d.ts.map +1 -1
  250. package/dist/http/index.js +1 -1
  251. package/dist/index.d.ts +15 -9
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +128 -109
  254. package/dist/index.js.map +1 -1
  255. package/dist/json.d.ts +2 -0
  256. package/dist/json.d.ts.map +1 -1
  257. package/dist/lake-storage/definition-updates.d.ts.map +1 -1
  258. package/dist/lake-storage/errors.d.ts +5 -1
  259. package/dist/lake-storage/errors.d.ts.map +1 -1
  260. package/dist/lake-storage/in-memory.d.ts +1 -0
  261. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  262. package/dist/lake-storage/index.d.ts +6 -1
  263. package/dist/lake-storage/index.d.ts.map +1 -1
  264. package/dist/lake-storage/index.js +27 -10
  265. package/dist/lake-storage/index.js.map +1 -1
  266. package/dist/lake-storage/merge-validation.d.ts.map +1 -1
  267. package/dist/lake-storage/merge.d.ts +13 -2
  268. package/dist/lake-storage/merge.d.ts.map +1 -1
  269. package/dist/lake-storage/source-ordering.d.ts +19 -0
  270. package/dist/lake-storage/source-ordering.d.ts.map +1 -0
  271. package/dist/lake-storage/sql-transforms.d.ts +2 -1
  272. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  273. package/dist/lake-storage/types.d.ts +10 -5
  274. package/dist/lake-storage/types.d.ts.map +1 -1
  275. package/dist/lake-storage/version-inputs.d.ts +4 -0
  276. package/dist/lake-storage/version-inputs.d.ts.map +1 -0
  277. package/dist/logging/index.js +3 -3
  278. package/dist/logging/types.js +2 -2
  279. package/dist/materialization/index.js +2 -2
  280. package/dist/materializer/index.js +38 -31
  281. package/dist/materializer/index.js.map +1 -1
  282. package/dist/models/catalog.d.ts +40 -0
  283. package/dist/models/catalog.d.ts.map +1 -0
  284. package/dist/models/definitions.d.ts +25 -0
  285. package/dist/models/definitions.d.ts.map +1 -0
  286. package/dist/models/errors.d.ts +52 -0
  287. package/dist/models/errors.d.ts.map +1 -0
  288. package/dist/models/events.d.ts +192 -0
  289. package/dist/models/events.d.ts.map +1 -0
  290. package/dist/models/index.d.ts +17 -39
  291. package/dist/models/index.d.ts.map +1 -1
  292. package/dist/models/index.js +50 -0
  293. package/dist/models/index.js.map +9 -0
  294. package/dist/models/language-model.d.ts +90 -0
  295. package/dist/models/language-model.d.ts.map +1 -0
  296. package/dist/models/messages.d.ts +74 -0
  297. package/dist/models/messages.d.ts.map +1 -0
  298. package/dist/models/pricing.d.ts +69 -0
  299. package/dist/models/pricing.d.ts.map +1 -0
  300. package/dist/models/rate-card.d.ts +24 -0
  301. package/dist/models/rate-card.d.ts.map +1 -0
  302. package/dist/models/tools.d.ts +24 -0
  303. package/dist/models/tools.d.ts.map +1 -0
  304. package/dist/objects/authorized-ontology-view.d.ts +25 -0
  305. package/dist/objects/authorized-ontology-view.d.ts.map +1 -0
  306. package/dist/objects/execution.d.ts +1 -1
  307. package/dist/objects/execution.d.ts.map +1 -1
  308. package/dist/objects/index.js +43 -36
  309. package/dist/objects/index.js.map +1 -1
  310. package/dist/objects/link/authorization.d.ts +2 -7
  311. package/dist/objects/link/authorization.d.ts.map +1 -1
  312. package/dist/objects/query/executor.d.ts +4 -2
  313. package/dist/objects/query/executor.d.ts.map +1 -1
  314. package/dist/objects/query/index.js +36 -29
  315. package/dist/objects/query/index.js.map +1 -1
  316. package/dist/objects/query/links.d.ts +22 -1
  317. package/dist/objects/query/links.d.ts.map +1 -1
  318. package/dist/objects/query/selected-read-admission.d.ts +27 -0
  319. package/dist/objects/query/selected-read-admission.d.ts.map +1 -0
  320. package/dist/objects/query/validate.d.ts +60 -2
  321. package/dist/objects/query/validate.d.ts.map +1 -1
  322. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  323. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  324. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -7
  325. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  326. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  327. package/dist/objects/service/list-service.d.ts +2 -3
  328. package/dist/objects/service/list-service.d.ts.map +1 -1
  329. package/dist/objects/telemetry/history.d.ts +8 -6
  330. package/dist/objects/telemetry/history.d.ts.map +1 -1
  331. package/dist/objects/telemetry/index.d.ts +2 -2
  332. package/dist/objects/telemetry/index.d.ts.map +1 -1
  333. package/dist/objects/telemetry/workload.d.ts +11 -0
  334. package/dist/objects/telemetry/workload.d.ts.map +1 -0
  335. package/dist/ontology/index.d.ts +2 -1
  336. package/dist/ontology/index.d.ts.map +1 -1
  337. package/dist/ontology/index.js +15 -14
  338. package/dist/ontology/index.js.map +1 -1
  339. package/dist/ontology/inference/index.d.ts +2 -1
  340. package/dist/ontology/inference/index.d.ts.map +1 -1
  341. package/dist/ontology/internal.d.ts +0 -1
  342. package/dist/ontology/internal.d.ts.map +1 -1
  343. package/dist/ontology/internal.js +5 -10
  344. package/dist/ontology/internal.js.map +3 -3
  345. package/dist/ontology/json-schema.d.ts +10 -6
  346. package/dist/ontology/json-schema.d.ts.map +1 -1
  347. package/dist/ontology/link-path-selection.d.ts +35 -0
  348. package/dist/ontology/link-path-selection.d.ts.map +1 -0
  349. package/dist/ontology/refs.d.ts +2 -0
  350. package/dist/ontology/refs.d.ts.map +1 -1
  351. package/dist/ontology/tokens.d.ts +2 -1
  352. package/dist/ontology/tokens.d.ts.map +1 -1
  353. package/dist/pipelines/execution.d.ts.map +1 -1
  354. package/dist/pipelines/index.js +41 -36
  355. package/dist/pipelines/index.js.map +1 -1
  356. package/dist/pipelines/request.d.ts.map +1 -1
  357. package/dist/projections/execution.d.ts.map +1 -1
  358. package/dist/projections/internal.js +39 -32
  359. package/dist/projections/internal.js.map +1 -1
  360. package/dist/projections/run-dispatch.d.ts.map +1 -1
  361. package/dist/queues/in-memory.d.ts +3 -2
  362. package/dist/queues/in-memory.d.ts.map +1 -1
  363. package/dist/queues/index.d.ts +3 -1
  364. package/dist/queues/index.d.ts.map +1 -1
  365. package/dist/queues/index.js +1 -1
  366. package/dist/queues/types.d.ts +15 -3
  367. package/dist/queues/types.d.ts.map +1 -1
  368. package/dist/rules/execution.d.ts.map +1 -1
  369. package/dist/runtime/create.d.ts +7 -4
  370. package/dist/runtime/create.d.ts.map +1 -1
  371. package/dist/runtime/definitions.d.ts +4 -2
  372. package/dist/runtime/definitions.d.ts.map +1 -1
  373. package/dist/runtime/host.d.ts +5 -2
  374. package/dist/runtime/host.d.ts.map +1 -1
  375. package/dist/runtime/internal.d.ts +1 -0
  376. package/dist/runtime/internal.d.ts.map +1 -1
  377. package/dist/runtime/resolve-definitions.d.ts +4 -2
  378. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  379. package/dist/runtime/sixb.d.ts +8 -2
  380. package/dist/runtime/sixb.d.ts.map +1 -1
  381. package/dist/runtime/types.d.ts +3 -0
  382. package/dist/runtime/types.d.ts.map +1 -1
  383. package/dist/schedules/execution.d.ts +2 -1
  384. package/dist/schedules/execution.d.ts.map +1 -1
  385. package/dist/security/every.d.ts +4 -4
  386. package/dist/security/every.d.ts.map +1 -1
  387. package/dist/security/grants.d.ts +12 -6
  388. package/dist/security/grants.d.ts.map +1 -1
  389. package/dist/security/index.d.ts +1 -1
  390. package/dist/security/index.d.ts.map +1 -1
  391. package/dist/security/registry.d.ts +2 -1
  392. package/dist/security/registry.d.ts.map +1 -1
  393. package/dist/security/types.d.ts +19 -5
  394. package/dist/security/types.d.ts.map +1 -1
  395. package/dist/security/validation.d.ts +6 -2
  396. package/dist/security/validation.d.ts.map +1 -1
  397. package/dist/shares/access-plan.d.ts +22 -0
  398. package/dist/shares/access-plan.d.ts.map +1 -0
  399. package/dist/shares/builders.d.ts +14 -0
  400. package/dist/shares/builders.d.ts.map +1 -0
  401. package/dist/shares/compiler.d.ts +14 -0
  402. package/dist/shares/compiler.d.ts.map +1 -0
  403. package/dist/shares/errors.d.ts +4 -0
  404. package/dist/shares/errors.d.ts.map +1 -0
  405. package/dist/shares/execution.d.ts +57 -0
  406. package/dist/shares/execution.d.ts.map +1 -0
  407. package/dist/shares/index.d.ts +10 -0
  408. package/dist/shares/index.d.ts.map +1 -0
  409. package/dist/shares/internal.d.ts +3 -0
  410. package/dist/shares/internal.d.ts.map +1 -0
  411. package/dist/shares/internal.js +239 -0
  412. package/dist/shares/internal.js.map +10 -0
  413. package/dist/shares/intersection.d.ts +9 -0
  414. package/dist/shares/intersection.d.ts.map +1 -0
  415. package/dist/shares/session-protocol.d.ts +41 -0
  416. package/dist/shares/session-protocol.d.ts.map +1 -0
  417. package/dist/shares/types.d.ts +51 -0
  418. package/dist/shares/types.d.ts.map +1 -0
  419. package/dist/shares/validation.d.ts +11 -0
  420. package/dist/shares/validation.d.ts.map +1 -0
  421. package/dist/storage/action-runs/failure.js +3 -3
  422. package/dist/storage/action-runs/provider.js +2 -2
  423. package/dist/storage/agents/errors.d.ts +1 -1
  424. package/dist/storage/agents/errors.d.ts.map +1 -1
  425. package/dist/storage/agents/in-memory.d.ts +3 -2
  426. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  427. package/dist/storage/agents/index.d.ts +1 -1
  428. package/dist/storage/agents/index.d.ts.map +1 -1
  429. package/dist/storage/agents/provider.d.ts +11 -4
  430. package/dist/storage/agents/provider.d.ts.map +1 -1
  431. package/dist/storage/agents/provider.js +18 -15
  432. package/dist/storage/agents/provider.js.map +1 -1
  433. package/dist/storage/agents/types.d.ts +65 -17
  434. package/dist/storage/agents/types.d.ts.map +1 -1
  435. package/dist/storage/ai-cost/analytics.d.ts +2 -1
  436. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  437. package/dist/storage/ai-cost/codec.d.ts +3 -2
  438. package/dist/storage/ai-cost/codec.d.ts.map +1 -1
  439. package/dist/storage/ai-cost/groups.d.ts +51 -0
  440. package/dist/storage/ai-cost/groups.d.ts.map +1 -0
  441. package/dist/storage/ai-cost/in-memory.d.ts +11 -1
  442. package/dist/storage/ai-cost/in-memory.d.ts.map +1 -1
  443. package/dist/storage/ai-cost/index.d.ts +1 -1
  444. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  445. package/dist/storage/ai-cost/provider.d.ts +2 -0
  446. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  447. package/dist/storage/ai-cost/provider.js +29 -13
  448. package/dist/storage/ai-cost/provider.js.map +3 -3
  449. package/dist/storage/ai-cost/types.d.ts +64 -15
  450. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  451. package/dist/storage/ai-cost/validation.d.ts +2 -1
  452. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  453. package/dist/storage/ai-limits/enforcement.d.ts +14 -0
  454. package/dist/storage/ai-limits/enforcement.d.ts.map +1 -0
  455. package/dist/storage/ai-limits/enforcement.js +21 -0
  456. package/dist/storage/ai-limits/enforcement.js.map +9 -0
  457. package/dist/storage/ai-limits/errors.d.ts +8 -0
  458. package/dist/storage/ai-limits/errors.d.ts.map +1 -0
  459. package/dist/storage/ai-limits/in-memory.d.ts +78 -0
  460. package/dist/storage/ai-limits/in-memory.d.ts.map +1 -0
  461. package/dist/storage/ai-limits/index.d.ts +7 -0
  462. package/dist/storage/ai-limits/index.d.ts.map +1 -0
  463. package/dist/storage/ai-limits/period.d.ts +4 -0
  464. package/dist/storage/ai-limits/period.d.ts.map +1 -0
  465. package/dist/storage/ai-limits/provider.d.ts +85 -0
  466. package/dist/storage/ai-limits/provider.d.ts.map +1 -0
  467. package/dist/storage/ai-limits/provider.js +62 -0
  468. package/dist/storage/ai-limits/provider.js.map +9 -0
  469. package/dist/storage/ai-limits/types.d.ts +175 -0
  470. package/dist/storage/ai-limits/types.d.ts.map +1 -0
  471. package/dist/storage/ai-usage/in-memory.d.ts +4 -0
  472. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
  473. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  474. package/dist/storage/ai-usage/types.d.ts +6 -2
  475. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  476. package/dist/storage/auth/errors.d.ts +1 -1
  477. package/dist/storage/auth/errors.d.ts.map +1 -1
  478. package/dist/storage/auth/in-memory/auth-storage.d.ts +4 -1
  479. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  480. package/dist/storage/auth/in-memory/device-authorizations.d.ts +29 -0
  481. package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -0
  482. package/dist/storage/auth/in-memory/shared.d.ts +3 -1
  483. package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
  484. package/dist/storage/auth/index.d.ts +2 -1
  485. package/dist/storage/auth/index.d.ts.map +1 -1
  486. package/dist/storage/auth/types.d.ts +66 -0
  487. package/dist/storage/auth/types.d.ts.map +1 -1
  488. package/dist/storage/connector-connections/provider.js +2 -2
  489. package/dist/storage/executions/in-memory.d.ts +3 -0
  490. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  491. package/dist/storage/executions/provider.d.ts +4 -1
  492. package/dist/storage/executions/provider.d.ts.map +1 -1
  493. package/dist/storage/executions/provider.js +23 -3
  494. package/dist/storage/executions/provider.js.map +3 -3
  495. package/dist/storage/executions/run-link.d.ts +14 -2
  496. package/dist/storage/executions/run-link.d.ts.map +1 -1
  497. package/dist/storage/executions/validation.d.ts +6 -0
  498. package/dist/storage/executions/validation.d.ts.map +1 -1
  499. package/dist/storage/in-memory/index.d.ts +12 -0
  500. package/dist/storage/in-memory/index.d.ts.map +1 -1
  501. package/dist/storage/index.d.ts +15 -6
  502. package/dist/storage/index.d.ts.map +1 -1
  503. package/dist/storage/index.js +78 -36
  504. package/dist/storage/index.js.map +1 -1
  505. package/dist/storage/objects/execution-limits.d.ts +25 -0
  506. package/dist/storage/objects/execution-limits.d.ts.map +1 -0
  507. package/dist/storage/objects/guard.d.ts +16 -0
  508. package/dist/storage/objects/guard.d.ts.map +1 -0
  509. package/dist/storage/objects/in-memory/index.d.ts +3 -0
  510. package/dist/storage/objects/in-memory/index.d.ts.map +1 -0
  511. package/dist/storage/objects/in-memory/keys.d.ts +10 -0
  512. package/dist/storage/objects/in-memory/keys.d.ts.map +1 -0
  513. package/dist/storage/objects/in-memory/query.d.ts +31 -0
  514. package/dist/storage/objects/in-memory/query.d.ts.map +1 -0
  515. package/dist/storage/objects/in-memory/read-scope.d.ts +18 -0
  516. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -0
  517. package/dist/storage/objects/in-memory/read-source.d.ts +10 -0
  518. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -0
  519. package/dist/storage/objects/in-memory/selected-reader.d.ts +9 -0
  520. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -0
  521. package/dist/storage/objects/{in-memory.d.ts → in-memory/storage.d.ts} +13 -10
  522. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -0
  523. package/dist/storage/objects/index.d.ts +4 -1
  524. package/dist/storage/objects/index.d.ts.map +1 -1
  525. package/dist/storage/objects/keys.d.ts +1 -1
  526. package/dist/storage/objects/keys.d.ts.map +1 -1
  527. package/dist/storage/objects/read-scope.d.ts +25 -0
  528. package/dist/storage/objects/read-scope.d.ts.map +1 -0
  529. package/dist/storage/objects/types.d.ts +114 -22
  530. package/dist/storage/objects/types.d.ts.map +1 -1
  531. package/dist/storage/ontology/provider.js +3 -3
  532. package/dist/storage/operation-scope.d.ts +3 -0
  533. package/dist/storage/operation-scope.d.ts.map +1 -1
  534. package/dist/storage/operation-scope.js +4 -2
  535. package/dist/storage/operation-scope.js.map +1 -1
  536. package/dist/storage/pipeline-runs/provider.js +2 -2
  537. package/dist/storage/projection-runs/provider.js +4 -4
  538. package/dist/storage/share-grants/errors.d.ts +8 -0
  539. package/dist/storage/share-grants/errors.d.ts.map +1 -0
  540. package/dist/storage/share-grants/in-memory.d.ts +11 -0
  541. package/dist/storage/share-grants/in-memory.d.ts.map +1 -0
  542. package/dist/storage/share-grants/index.d.ts +5 -0
  543. package/dist/storage/share-grants/index.d.ts.map +1 -0
  544. package/dist/storage/share-grants/provider.d.ts +4 -0
  545. package/dist/storage/share-grants/provider.d.ts.map +1 -0
  546. package/dist/storage/share-grants/provider.js +24 -0
  547. package/dist/storage/share-grants/provider.js.map +9 -0
  548. package/dist/storage/share-grants/record.d.ts +11 -0
  549. package/dist/storage/share-grants/record.d.ts.map +1 -0
  550. package/dist/storage/share-grants/types.d.ts +97 -0
  551. package/dist/storage/share-grants/types.d.ts.map +1 -0
  552. package/dist/storage/share-sessions/errors.d.ts +8 -0
  553. package/dist/storage/share-sessions/errors.d.ts.map +1 -0
  554. package/dist/storage/share-sessions/in-memory.d.ts +14 -0
  555. package/dist/storage/share-sessions/in-memory.d.ts.map +1 -0
  556. package/dist/storage/share-sessions/index.d.ts +5 -0
  557. package/dist/storage/share-sessions/index.d.ts.map +1 -0
  558. package/dist/storage/share-sessions/provider.d.ts +3 -0
  559. package/dist/storage/share-sessions/provider.d.ts.map +1 -0
  560. package/dist/storage/share-sessions/provider.js +20 -0
  561. package/dist/storage/share-sessions/provider.js.map +9 -0
  562. package/dist/storage/share-sessions/record.d.ts +8 -0
  563. package/dist/storage/share-sessions/record.d.ts.map +1 -0
  564. package/dist/storage/share-sessions/types.d.ts +50 -0
  565. package/dist/storage/share-sessions/types.d.ts.map +1 -0
  566. package/dist/storage/sync-runs/provider.js +2 -2
  567. package/dist/storage/transaction.d.ts +2 -1
  568. package/dist/storage/transaction.d.ts.map +1 -1
  569. package/dist/storage/types.d.ts +13 -1
  570. package/dist/storage/types.d.ts.map +1 -1
  571. package/dist/storage/webhook-runs/provider.js +2 -2
  572. package/dist/storage/workflow-runs/provider.d.ts +1 -1
  573. package/dist/storage/workflow-runs/provider.js +14 -12
  574. package/dist/storage/workflow-runs/provider.js.map +1 -1
  575. package/dist/storage/workflow-runs/types.d.ts +5 -4
  576. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  577. package/dist/syncs/execution.d.ts.map +1 -1
  578. package/dist/syncs/index.js +41 -36
  579. package/dist/syncs/index.js.map +1 -1
  580. package/dist/syncs/request.d.ts.map +1 -1
  581. package/dist/testing/agent-execution.d.ts +3 -1
  582. package/dist/testing/agent-execution.d.ts.map +1 -1
  583. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  584. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  585. package/dist/testing/ai-limit-storage-contract.d.ts +18 -0
  586. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -0
  587. package/dist/testing/ai-model-call-groups-contract.d.ts +6 -0
  588. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -0
  589. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  590. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  591. package/dist/testing/dataset-sequence-contract.d.ts +4 -0
  592. package/dist/testing/dataset-sequence-contract.d.ts.map +1 -0
  593. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  594. package/dist/testing/execution-storage-contract.d.ts +4 -0
  595. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  596. package/dist/testing/index.d.ts +5 -0
  597. package/dist/testing/index.d.ts.map +1 -1
  598. package/dist/testing/index.js +5392 -2070
  599. package/dist/testing/index.js.map +21 -15
  600. package/dist/testing/lake-merge-storage-contract.d.ts +1 -0
  601. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  602. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  603. package/dist/testing/object-read-scope-contract.d.ts +22 -0
  604. package/dist/testing/object-read-scope-contract.d.ts.map +1 -0
  605. package/dist/testing/queues-contract.d.ts.map +1 -1
  606. package/dist/testing/share-grant-storage-contract.d.ts +10 -0
  607. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -0
  608. package/dist/testing/share-session-storage-contract.d.ts +9 -0
  609. package/dist/testing/share-session-storage-contract.d.ts.map +1 -0
  610. package/dist/webhooks/internal.js +36 -29
  611. package/dist/webhooks/internal.js.map +2 -2
  612. package/dist/workers/index.js +2 -2
  613. package/dist/workflows/agent-step-identity.d.ts +3 -0
  614. package/dist/workflows/agent-step-identity.d.ts.map +1 -0
  615. package/dist/workflows/builders.d.ts +2 -3
  616. package/dist/workflows/builders.d.ts.map +1 -1
  617. package/dist/workflows/execution.d.ts +1 -1
  618. package/dist/workflows/execution.d.ts.map +1 -1
  619. package/dist/workflows/failure.d.ts +1 -1
  620. package/dist/workflows/failure.d.ts.map +1 -1
  621. package/dist/workflows/index.d.ts +3 -2
  622. package/dist/workflows/index.d.ts.map +1 -1
  623. package/dist/workflows/index.js +63 -48
  624. package/dist/workflows/index.js.map +1 -1
  625. package/dist/workflows/request.d.ts.map +1 -1
  626. package/dist/workflows/types.d.ts +26 -11
  627. package/dist/workflows/types.d.ts.map +1 -1
  628. package/dist/workflows/validation.d.ts +7 -1
  629. package/dist/workflows/validation.d.ts.map +1 -1
  630. package/package.json +43 -4
  631. package/src/actions/delegated-admission.ts +72 -0
  632. package/src/actions/descriptor.ts +58 -0
  633. package/src/actions/execution.ts +99 -24
  634. package/src/actions/request.ts +136 -19
  635. package/src/actions/run-authorization.ts +53 -0
  636. package/src/actions/run-dispatch.ts +8 -1
  637. package/src/agents/adapters.ts +60 -456
  638. package/src/agents/authority.ts +215 -34
  639. package/src/agents/builders.ts +3 -50
  640. package/src/agents/context-compaction.ts +4 -0
  641. package/src/agents/context-resolution.ts +1 -4
  642. package/src/agents/dispatch.ts +59 -2
  643. package/src/agents/errors.ts +4 -11
  644. package/src/agents/execution.ts +65 -56
  645. package/src/agents/identity.ts +4 -0
  646. package/src/agents/ids.ts +16 -1
  647. package/src/agents/index.ts +23 -30
  648. package/src/agents/message.ts +20 -12
  649. package/src/agents/model-loop.ts +1071 -0
  650. package/src/agents/reference.ts +7 -0
  651. package/src/agents/request.ts +157 -77
  652. package/src/agents/retired-config.ts +20 -0
  653. package/src/agents/streams.ts +45 -19
  654. package/src/agents/tool-catalog.ts +21 -0
  655. package/src/agents/tool-definition.ts +9 -5
  656. package/src/agents/types.ts +39 -81
  657. package/src/agents/validation.ts +11 -216
  658. package/src/ai-usage/execution.ts +189 -0
  659. package/src/ai-usage/index.ts +15 -0
  660. package/src/authorization/decision.ts +54 -22
  661. package/src/authorization/grant-kinds.ts +72 -15
  662. package/src/authorization/index.ts +2 -0
  663. package/src/authorization/resolve.ts +12 -5
  664. package/src/authorization/types.ts +7 -5
  665. package/src/bootstrap/discovery.ts +3 -3
  666. package/src/bootstrap/ontology-type-manifest.ts +12 -6
  667. package/src/datasets/builders.ts +23 -2
  668. package/src/datasets/changes.ts +16 -4
  669. package/src/datasets/execution.ts +76 -5
  670. package/src/datasets/index.ts +1 -0
  671. package/src/datasets/sequence.ts +77 -0
  672. package/src/datasets/types.ts +1 -0
  673. package/src/datasets/validation.ts +26 -0
  674. package/src/datasets/write.ts +240 -0
  675. package/src/error-reporting/types.ts +4 -2
  676. package/src/errors/catalog.ts +8 -0
  677. package/src/events/execution.ts +57 -7
  678. package/src/events/types/datasets.ts +2 -6
  679. package/src/execution/agent.ts +129 -25
  680. package/src/execution/authorization.ts +493 -83
  681. package/src/execution/authorized-object-reader.ts +695 -0
  682. package/src/execution/durable.ts +10 -2
  683. package/src/execution/index.ts +1 -0
  684. package/src/execution/request.ts +67 -14
  685. package/src/execution/scopes.ts +36 -6
  686. package/src/execution/types.ts +9 -1
  687. package/src/http/api-routes.ts +108 -0
  688. package/src/index.ts +72 -22
  689. package/src/json.ts +9 -0
  690. package/src/lake-storage/definition-updates.ts +9 -0
  691. package/src/lake-storage/errors.ts +6 -1
  692. package/src/lake-storage/in-memory.ts +53 -17
  693. package/src/lake-storage/index.ts +10 -1
  694. package/src/lake-storage/merge-validation.ts +12 -2
  695. package/src/lake-storage/merge.ts +40 -2
  696. package/src/lake-storage/source-ordering.ts +95 -0
  697. package/src/lake-storage/sql-transforms.ts +2 -1
  698. package/src/lake-storage/types.ts +10 -5
  699. package/src/lake-storage/version-inputs.ts +14 -0
  700. package/src/models/catalog.ts +137 -0
  701. package/src/models/definitions.ts +202 -0
  702. package/src/models/errors.ts +83 -0
  703. package/src/models/events.ts +198 -0
  704. package/src/models/index.ts +89 -71
  705. package/src/models/language-model.ts +143 -0
  706. package/src/models/messages.ts +78 -0
  707. package/src/models/pricing.ts +390 -0
  708. package/src/models/rate-card.ts +101 -0
  709. package/src/models/tools.ts +29 -0
  710. package/src/objects/authorized-ontology-view.ts +512 -0
  711. package/src/objects/execution.ts +98 -143
  712. package/src/objects/link/authorization.ts +3 -2
  713. package/src/objects/query/executor.ts +45 -34
  714. package/src/objects/query/links.ts +84 -25
  715. package/src/objects/query/selected-read-admission.ts +310 -0
  716. package/src/objects/query/validate.ts +353 -36
  717. package/src/objects/sdk/object-handle.ts +2 -8
  718. package/src/objects/sdk/object-set.ts +10 -11
  719. package/src/objects/sdk/runtime-query-executor.ts +8 -28
  720. package/src/objects/sdk/telemetry-channel.ts +11 -7
  721. package/src/objects/service/list-service.ts +15 -29
  722. package/src/objects/telemetry/history.ts +297 -17
  723. package/src/objects/telemetry/index.ts +2 -2
  724. package/src/objects/telemetry/workload.ts +79 -0
  725. package/src/ontology/index.ts +7 -1
  726. package/src/ontology/inference/index.ts +4 -1
  727. package/src/ontology/internal.ts +0 -1
  728. package/src/ontology/json-schema.ts +13 -12
  729. package/src/ontology/link-path-selection.ts +193 -0
  730. package/src/ontology/refs.ts +19 -0
  731. package/src/ontology/tokens.ts +15 -8
  732. package/src/pipelines/execution.ts +30 -7
  733. package/src/pipelines/request.ts +5 -0
  734. package/src/projections/execution.ts +72 -11
  735. package/src/projections/run-dispatch.ts +6 -12
  736. package/src/queues/in-memory.ts +5 -0
  737. package/src/queues/index.ts +11 -0
  738. package/src/queues/types.ts +20 -3
  739. package/src/rules/execution.ts +20 -8
  740. package/src/runtime/create.ts +11 -5
  741. package/src/runtime/definitions.ts +4 -2
  742. package/src/runtime/host.ts +28 -8
  743. package/src/runtime/internal.ts +1 -0
  744. package/src/runtime/resolve-definitions.ts +22 -36
  745. package/src/runtime/sixb.ts +29 -10
  746. package/src/runtime/types.ts +3 -0
  747. package/src/schedules/execution.ts +24 -2
  748. package/src/security/every.ts +4 -4
  749. package/src/security/grants.ts +100 -14
  750. package/src/security/index.ts +3 -0
  751. package/src/security/registry.ts +9 -5
  752. package/src/security/types.ts +23 -4
  753. package/src/security/validation.ts +33 -9
  754. package/src/shares/access-plan.ts +225 -0
  755. package/src/shares/builders.ts +381 -0
  756. package/src/shares/compiler.ts +359 -0
  757. package/src/shares/errors.ts +3 -0
  758. package/src/shares/execution.ts +394 -0
  759. package/src/shares/index.ts +28 -0
  760. package/src/shares/internal.ts +9 -0
  761. package/src/shares/intersection.ts +178 -0
  762. package/src/shares/session-protocol.ts +258 -0
  763. package/src/shares/types.ts +76 -0
  764. package/src/shares/validation.ts +40 -0
  765. package/src/storage/agents/errors.ts +1 -0
  766. package/src/storage/agents/in-memory.ts +121 -11
  767. package/src/storage/agents/index.ts +7 -0
  768. package/src/storage/agents/provider.ts +150 -6
  769. package/src/storage/agents/types.ts +73 -16
  770. package/src/storage/ai-cost/analytics.ts +63 -6
  771. package/src/storage/ai-cost/codec.ts +37 -12
  772. package/src/storage/ai-cost/groups.ts +248 -0
  773. package/src/storage/ai-cost/in-memory.ts +42 -0
  774. package/src/storage/ai-cost/index.ts +6 -0
  775. package/src/storage/ai-cost/provider.ts +7 -0
  776. package/src/storage/ai-cost/types.ts +76 -14
  777. package/src/storage/ai-cost/validation.ts +147 -17
  778. package/src/storage/ai-limits/enforcement.ts +68 -0
  779. package/src/storage/ai-limits/errors.ts +23 -0
  780. package/src/storage/ai-limits/in-memory.ts +671 -0
  781. package/src/storage/ai-limits/index.ts +31 -0
  782. package/src/storage/ai-limits/period.ts +11 -0
  783. package/src/storage/ai-limits/provider.ts +430 -0
  784. package/src/storage/ai-limits/types.ts +195 -0
  785. package/src/storage/ai-usage/in-memory.ts +13 -0
  786. package/src/storage/ai-usage/record.ts +17 -0
  787. package/src/storage/ai-usage/types.ts +6 -2
  788. package/src/storage/auth/errors.ts +6 -0
  789. package/src/storage/auth/in-memory/auth-storage.ts +69 -0
  790. package/src/storage/auth/in-memory/device-authorizations.ts +145 -0
  791. package/src/storage/auth/in-memory/shared.ts +7 -0
  792. package/src/storage/auth/index.ts +7 -0
  793. package/src/storage/auth/types.ts +73 -0
  794. package/src/storage/executions/in-memory.ts +9 -1
  795. package/src/storage/executions/provider.ts +30 -1
  796. package/src/storage/executions/run-link.ts +45 -6
  797. package/src/storage/executions/validation.ts +82 -7
  798. package/src/storage/in-memory/index.ts +69 -6
  799. package/src/storage/index.ts +102 -1
  800. package/src/storage/objects/execution-limits.ts +283 -0
  801. package/src/storage/objects/guard.ts +55 -0
  802. package/src/storage/objects/in-memory/index.ts +2 -0
  803. package/src/storage/objects/in-memory/keys.ts +46 -0
  804. package/src/storage/objects/in-memory/query.ts +754 -0
  805. package/src/storage/objects/in-memory/read-scope.ts +211 -0
  806. package/src/storage/objects/in-memory/read-source.ts +10 -0
  807. package/src/storage/objects/in-memory/selected-reader.ts +252 -0
  808. package/src/storage/objects/in-memory/storage.ts +589 -0
  809. package/src/storage/objects/index.ts +21 -0
  810. package/src/storage/objects/keys.ts +1 -1
  811. package/src/storage/objects/read-scope.ts +672 -0
  812. package/src/storage/objects/types.ts +123 -19
  813. package/src/storage/operation-scope.ts +16 -0
  814. package/src/storage/share-grants/errors.ts +14 -0
  815. package/src/storage/share-grants/in-memory.ts +107 -0
  816. package/src/storage/share-grants/index.ts +14 -0
  817. package/src/storage/share-grants/provider.ts +11 -0
  818. package/src/storage/share-grants/record.ts +347 -0
  819. package/src/storage/share-grants/types.ts +112 -0
  820. package/src/storage/share-sessions/errors.ts +14 -0
  821. package/src/storage/share-sessions/in-memory.ts +105 -0
  822. package/src/storage/share-sessions/index.ts +11 -0
  823. package/src/storage/share-sessions/provider.ts +9 -0
  824. package/src/storage/share-sessions/record.ts +176 -0
  825. package/src/storage/share-sessions/types.ts +57 -0
  826. package/src/storage/transaction.ts +14 -2
  827. package/src/storage/types.ts +64 -0
  828. package/src/storage/workflow-runs/in-memory.ts +3 -3
  829. package/src/storage/workflow-runs/provider.ts +2 -2
  830. package/src/storage/workflow-runs/types.ts +6 -3
  831. package/src/syncs/execution.ts +25 -5
  832. package/src/syncs/request.ts +5 -0
  833. package/src/testing/agent-execution.ts +40 -28
  834. package/src/testing/agent-storage-contract.ts +249 -28
  835. package/src/testing/ai-cost-storage-contract.ts +96 -8
  836. package/src/testing/ai-limit-storage-contract.ts +1134 -0
  837. package/src/testing/ai-model-call-groups-contract.ts +353 -0
  838. package/src/testing/ai-usage-storage-contract.ts +31 -0
  839. package/src/testing/auth-storage-contract.ts +85 -0
  840. package/src/testing/dataset-sequence-contract.ts +373 -0
  841. package/src/testing/effective-storage-contract.ts +34 -0
  842. package/src/testing/execution-storage-contract.ts +81 -2
  843. package/src/testing/index.ts +26 -0
  844. package/src/testing/lake-merge-storage-contract.ts +3 -0
  845. package/src/testing/lake-storage-contract.ts +58 -0
  846. package/src/testing/object-read-scope-contract.ts +939 -0
  847. package/src/testing/queues-contract.ts +36 -1
  848. package/src/testing/share-grant-storage-contract.ts +325 -0
  849. package/src/testing/share-session-storage-contract.ts +235 -0
  850. package/src/workflows/agent-step-identity.ts +4 -0
  851. package/src/workflows/builders.ts +95 -9
  852. package/src/workflows/execution.ts +55 -16
  853. package/src/workflows/failure.ts +2 -2
  854. package/src/workflows/index.ts +3 -0
  855. package/src/workflows/request.ts +5 -0
  856. package/src/workflows/types.ts +23 -11
  857. package/src/workflows/validation.ts +100 -7
  858. package/dist/chunk-1e8m6yn3.js.map +0 -37
  859. package/dist/chunk-1g8negke.js.map +0 -11
  860. package/dist/chunk-4gz41why.js +0 -72
  861. package/dist/chunk-4gz41why.js.map +0 -11
  862. package/dist/chunk-5sxb1168.js.map +0 -34
  863. package/dist/chunk-6gjqgd3d.js.map +0 -11
  864. package/dist/chunk-819wnjz8.js.map +0 -12
  865. package/dist/chunk-a31h57d5.js.map +0 -13
  866. package/dist/chunk-a44d5zgd.js +0 -556
  867. package/dist/chunk-a44d5zgd.js.map +0 -16
  868. package/dist/chunk-ckxfnx7f.js.map +0 -13
  869. package/dist/chunk-dm72y8wt.js.map +0 -10
  870. package/dist/chunk-drjqm1aa.js.map +0 -15
  871. package/dist/chunk-dy311asx.js.map +0 -14
  872. package/dist/chunk-f6erf2vv.js.map +0 -10
  873. package/dist/chunk-f83ka50g.js.map +0 -23
  874. package/dist/chunk-fe5ev6mr.js +0 -55
  875. package/dist/chunk-fe5ev6mr.js.map +0 -11
  876. package/dist/chunk-h9kxd41f.js.map +0 -11
  877. package/dist/chunk-hceck7dq.js +0 -137
  878. package/dist/chunk-hceck7dq.js.map +0 -10
  879. package/dist/chunk-md8k0r54.js.map +0 -14
  880. package/dist/chunk-n4spznws.js.map +0 -11
  881. package/dist/chunk-nva1xkjz.js.map +0 -46
  882. package/dist/chunk-qewtks41.js.map +0 -11
  883. package/dist/chunk-t0jjkep3.js.map +0 -10
  884. package/dist/chunk-t624af60.js.map +0 -56
  885. package/dist/chunk-t8t39h7v.js.map +0 -10
  886. package/dist/chunk-t9xghkva.js +0 -28
  887. package/dist/chunk-t9xghkva.js.map +0 -10
  888. package/dist/chunk-x2yw73hy.js.map +0 -10
  889. package/dist/chunk-xc7hq65b.js.map +0 -10
  890. package/dist/storage/objects/in-memory.d.ts.map +0 -1
  891. package/src/storage/objects/in-memory.ts +0 -1241
  892. /package/dist/{chunk-zqysyfjt.js.map → chunk-08m3b6w8.js.map} +0 -0
  893. /package/dist/{chunk-z3zp0bj1.js.map → chunk-407j3msh.js.map} +0 -0
  894. /package/dist/{chunk-rhrbz7d4.js.map → chunk-4a849fr1.js.map} +0 -0
  895. /package/dist/{chunk-cy0n5dms.js.map → chunk-4jjp5k14.js.map} +0 -0
  896. /package/dist/{chunk-ezake7g1.js.map → chunk-5ntny1qx.js.map} +0 -0
  897. /package/dist/{chunk-72q2y8hn.js.map → chunk-8tsf6dmc.js.map} +0 -0
  898. /package/dist/{chunk-vybf6pkp.js.map → chunk-dbc80ad7.js.map} +0 -0
  899. /package/dist/{chunk-nkbfrt0c.js.map → chunk-f26bck4t.js.map} +0 -0
  900. /package/dist/{chunk-dsrkgtnh.js.map → chunk-jq43kdvk.js.map} +0 -0
  901. /package/dist/{chunk-wtmzkcht.js.map → chunk-k34z5rvh.js.map} +0 -0
  902. /package/dist/{chunk-htq0qh7z.js.map → chunk-ka3a2ft3.js.map} +0 -0
  903. /package/dist/{chunk-f2rt4vkh.js.map → chunk-n2w475r0.js.map} +0 -0
  904. /package/dist/{chunk-bhxaq2nn.js.map → chunk-qw9gvjv5.js.map} +0 -0
  905. /package/dist/{chunk-dysw7nsm.js.map → chunk-rv2hkwwa.js.map} +0 -0
  906. /package/dist/{chunk-ghteq96b.js.map → chunk-s5y30bc9.js.map} +0 -0
  907. /package/dist/{chunk-xkthy56g.js.map → chunk-w1tvjszy.js.map} +0 -0
  908. /package/dist/{chunk-8b55ygje.js.map → chunk-w3e09qqk.js.map} +0 -0
  909. /package/dist/{chunk-62c7t4jc.js.map → chunk-wdage1eb.js.map} +0 -0
@@ -0,0 +1,258 @@
1
+ import { createHash, randomBytes, randomUUID, timingSafeEqual } from "node:crypto"
2
+ import { formatSessionCookieValue, parseSessionCookieValue } from "../auth/sessions"
3
+ import type { SixbHostView } from "../runtime"
4
+ import type { ShareGrantRecord, ShareSessionRecord, Storage } from "../storage"
5
+ import { ShareSessionStorageError } from "../storage"
6
+ import { type ShareAccessPlan, snapshotShareAccessPlan } from "./access-plan"
7
+ import { compileShareAccessPlan } from "./compiler"
8
+ import { intersectShareAccessPlans } from "./intersection"
9
+
10
+ export const DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS = 15 * 60_000
11
+
12
+ const MAX_CREATE_ATTEMPTS = 5
13
+ const SECRET_PATTERN = /^[A-Za-z0-9_-]{43}$/
14
+
15
+ export interface SharedSessionContext {
16
+ readonly grantId: string
17
+ readonly sessionId: string
18
+ readonly destinationPath: string
19
+ readonly access: ShareAccessPlan
20
+ readonly expiresAt: Date
21
+ readonly absoluteExpiresAt: Date
22
+ }
23
+
24
+ export interface SharedSessionCredential {
25
+ readonly context: SharedSessionContext
26
+ /** Opaque value for the HttpOnly shared-session cookie. */
27
+ readonly cookieValue: string
28
+ }
29
+
30
+ export interface SharedSessionProtocolOptions {
31
+ readonly host: SixbHostView
32
+ readonly inactivityTtlMs?: number
33
+ readonly now?: () => Date
34
+ }
35
+
36
+ /**
37
+ * Framework-owned shared-session lifecycle.
38
+ *
39
+ * Link and session secrets are verified here. Callers receive only an effective access plan built
40
+ * from the issued snapshot intersected with the Share definition registered now.
41
+ */
42
+ export class SharedSessionProtocol {
43
+ private readonly host: SixbHostView
44
+ private readonly inactivityTtlMs: number
45
+ private readonly now: () => Date
46
+
47
+ constructor(options: SharedSessionProtocolOptions) {
48
+ if (!options.host.storage.shareGrants || !options.host.storage.shareSessions) {
49
+ throw new Error("[Sixb] Shared sessions require share grant and session storage.")
50
+ }
51
+ const inactivityTtlMs = options.inactivityTtlMs ?? DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS
52
+ if (!Number.isSafeInteger(inactivityTtlMs) || inactivityTtlMs <= 0) {
53
+ throw new Error("[Sixb] Shared session inactivity TTL must be a positive integer.")
54
+ }
55
+ this.host = options.host
56
+ this.inactivityTtlMs = inactivityTtlMs
57
+ this.now = options.now ?? (() => new Date())
58
+ }
59
+
60
+ async exchange(grantId: string, secret: string): Promise<SharedSessionCredential | null> {
61
+ if (!validIdentifier(grantId) || !validSecret(secret)) return null
62
+ const now = this.currentTime()
63
+
64
+ for (let attempt = 0; attempt < MAX_CREATE_ATTEMPTS; attempt += 1) {
65
+ const sessionSecret = randomBytes(32).toString("base64url")
66
+ const sessionId = `shs_${randomUUID()}`
67
+ try {
68
+ const result = await this.host.storage.transaction(async (tx) => {
69
+ const grant = await activeGrant(tx, this.host.projectId, grantId, now)
70
+ const secretMatches = secretMatchesHash(secret, grant?.tokenHash ?? "")
71
+ if (!grant || !secretMatches) return null
72
+ const sessions = requireSessions(tx)
73
+ const absoluteExpiresAt = new Date(grant.expiresAt)
74
+ const session = await sessions.create({
75
+ id: sessionId,
76
+ projectId: this.host.projectId,
77
+ grantId: grant.id,
78
+ tokenHash: sha256(sessionSecret),
79
+ createdAt: now,
80
+ expiresAt: inactivityDeadline(now, absoluteExpiresAt, this.inactivityTtlMs),
81
+ absoluteExpiresAt,
82
+ })
83
+ return { grant, session }
84
+ })
85
+ if (!result) return null
86
+ return {
87
+ context: this.context(result.grant, result.session),
88
+ cookieValue: formatSessionCookieValue(sessionId, sessionSecret),
89
+ }
90
+ } catch (error) {
91
+ if (
92
+ error instanceof ShareSessionStorageError &&
93
+ error.code === "duplicate" &&
94
+ attempt < MAX_CREATE_ATTEMPTS - 1
95
+ ) {
96
+ continue
97
+ }
98
+ throw error
99
+ }
100
+ }
101
+
102
+ return null
103
+ }
104
+
105
+ async resolve(
106
+ grantId: string,
107
+ cookieValue: string | undefined,
108
+ options: { readonly activity?: "background" | "foreground" } = {}
109
+ ): Promise<SharedSessionContext | null> {
110
+ if (!validIdentifier(grantId) || !validCookieValue(cookieValue)) return null
111
+ const credential = parseSessionCookieValue(cookieValue)
112
+ if (
113
+ !credential ||
114
+ !validIdentifier(credential.sessionId) ||
115
+ !validSecret(credential.sessionSecret)
116
+ ) {
117
+ return null
118
+ }
119
+ const now = this.currentTime()
120
+ const tokenHash = sha256(credential.sessionSecret)
121
+
122
+ const result = await this.host.storage.transaction(async (tx) => {
123
+ const sessions = requireSessions(tx)
124
+ const current = await sessions.getById({
125
+ projectId: this.host.projectId,
126
+ id: credential.sessionId,
127
+ })
128
+ const secretMatches = secretMatchesHash(credential.sessionSecret, current?.tokenHash ?? "")
129
+ if (
130
+ !current ||
131
+ current.grantId !== grantId ||
132
+ current.revokedAt !== undefined ||
133
+ current.expiresAt.getTime() <= now.getTime() ||
134
+ current.absoluteExpiresAt.getTime() <= now.getTime() ||
135
+ !secretMatches
136
+ ) {
137
+ return null
138
+ }
139
+
140
+ const grant = await activeGrant(tx, this.host.projectId, grantId, now)
141
+ if (!grant || current.absoluteExpiresAt.getTime() !== grant.expiresAt.getTime()) {
142
+ return null
143
+ }
144
+
145
+ if (options.activity !== "foreground") return { grant, session: current }
146
+
147
+ const renewed = await sessions.renewIfValid({
148
+ projectId: this.host.projectId,
149
+ id: current.id,
150
+ grantId,
151
+ tokenHash,
152
+ now,
153
+ expiresAt: inactivityDeadline(now, current.absoluteExpiresAt, this.inactivityTtlMs),
154
+ })
155
+ return renewed ? { grant, session: renewed } : null
156
+ })
157
+
158
+ return result ? this.context(result.grant, result.session) : null
159
+ }
160
+
161
+ async revoke(context: Pick<SharedSessionContext, "grantId" | "sessionId">): Promise<void> {
162
+ const revokedAt = this.currentTime()
163
+ await this.host.storage.transaction(async (tx) => {
164
+ const session = await requireSessions(tx).getById({
165
+ projectId: this.host.projectId,
166
+ id: context.sessionId,
167
+ })
168
+ if (!session || session.grantId !== context.grantId) return
169
+ await requireSessions(tx).revoke({
170
+ projectId: this.host.projectId,
171
+ id: context.sessionId,
172
+ revokedAt,
173
+ })
174
+ })
175
+ }
176
+
177
+ private context(grant: ShareGrantRecord, session: ShareSessionRecord): SharedSessionContext {
178
+ return {
179
+ grantId: grant.id,
180
+ sessionId: session.id,
181
+ destinationPath: grant.destinationPath,
182
+ access: effectiveAccess(this.host, grant),
183
+ expiresAt: new Date(session.expiresAt),
184
+ absoluteExpiresAt: new Date(session.absoluteExpiresAt),
185
+ }
186
+ }
187
+
188
+ private currentTime(): Date {
189
+ const now = this.now()
190
+ if (!(now instanceof Date) || !Number.isFinite(now.getTime())) {
191
+ throw new Error("[Sixb] Shared session clock returned an invalid date.")
192
+ }
193
+ return new Date(now)
194
+ }
195
+ }
196
+
197
+ function effectiveAccess(host: SixbHostView, grant: ShareGrantRecord): ShareAccessPlan {
198
+ const definition = host.definitions.shares.getById(grant.definitionId)
199
+ if (!definition || definition.target.objectTypeId !== grant.target.objectTypeId) {
200
+ return snapshotShareAccessPlan({ grants: [] })
201
+ }
202
+ const current = compileShareAccessPlan({
203
+ share: definition,
204
+ target: grant.target,
205
+ ontology: host.definitions.ontology,
206
+ actions: host.definitions.actions,
207
+ })
208
+ return intersectShareAccessPlans(grant.authoritySnapshot.access, current)
209
+ }
210
+
211
+ async function activeGrant(
212
+ storage: Storage,
213
+ projectId: string,
214
+ grantId: string,
215
+ now: Date
216
+ ): Promise<ShareGrantRecord | null> {
217
+ const grant = await storage.shareGrants?.getById({ projectId, id: grantId })
218
+ return !grant || grant.revokedAt !== undefined || grant.expiresAt.getTime() <= now.getTime()
219
+ ? null
220
+ : grant
221
+ }
222
+
223
+ function requireSessions(storage: Storage): NonNullable<Storage["shareSessions"]> {
224
+ if (!storage.shareSessions) {
225
+ throw new Error("[Sixb] Shared session storage is not configured.")
226
+ }
227
+ return storage.shareSessions
228
+ }
229
+
230
+ function inactivityDeadline(now: Date, absolute: Date, ttlMs: number): Date {
231
+ return new Date(Math.min(absolute.getTime(), now.getTime() + ttlMs))
232
+ }
233
+
234
+ function secretMatchesHash(secret: string, expectedHash: string): boolean {
235
+ const actual = createHash("sha256").update(secret).digest()
236
+ const expected = /^[0-9a-f]{64}$/.test(expectedHash)
237
+ ? Buffer.from(expectedHash, "hex")
238
+ : Buffer.alloc(actual.length)
239
+ return timingSafeEqual(actual, expected)
240
+ }
241
+
242
+ function sha256(value: string): string {
243
+ return createHash("sha256").update(value).digest("hex")
244
+ }
245
+
246
+ function validIdentifier(value: unknown): value is string {
247
+ return (
248
+ typeof value === "string" && value.length > 0 && value.length <= 128 && value.trim() === value
249
+ )
250
+ }
251
+
252
+ function validSecret(value: unknown): value is string {
253
+ return typeof value === "string" && SECRET_PATTERN.test(value)
254
+ }
255
+
256
+ function validCookieValue(value: unknown): value is string {
257
+ return typeof value === "string" && value.length <= 256
258
+ }
@@ -0,0 +1,76 @@
1
+ import type { ObjectActionDefinition } from "../actions"
2
+ import type {
3
+ LinkPathSelectionInput,
4
+ LinkPathSelectionMode,
5
+ ObjectTypeWithPropertyTokens,
6
+ } from "../ontology"
7
+
8
+ declare const shareTargetBrand: unique symbol
9
+
10
+ /** Contextual placeholder for the one exact object supplied when a Share is issued. */
11
+ export interface ShareTarget<TObjectTypeId extends string = string> {
12
+ readonly [shareTargetBrand]: true
13
+ readonly objectTypeId: TObjectTypeId
14
+ }
15
+
16
+ export interface ShareViewGrant<TObjectTypeId extends string = string> {
17
+ readonly kind: "object.view"
18
+ readonly targetObjectTypeId: TObjectTypeId
19
+ readonly links: LinkPathSelectionMode
20
+ }
21
+
22
+ export interface ShareViewGrantBuilder<TObjectTypeId extends string = string>
23
+ extends ShareViewGrant<TObjectTypeId> {
24
+ /** Include every direct link present when a grant is issued. Nested links remain excluded. */
25
+ withLinks(): ShareViewGrant<TObjectTypeId>
26
+ /** Include only these link paths. Use a bare link token when it has no nested links. */
27
+ withLinks<const TLinks extends readonly LinkPathSelectionInput<TObjectTypeId>[]>(
28
+ links: TLinks
29
+ ): ShareViewGrant<TObjectTypeId>
30
+ }
31
+
32
+ export interface ShareActionGrant<
33
+ TActionId extends string = string,
34
+ TObjectTypeId extends string = string,
35
+ > {
36
+ readonly kind: "action.apply"
37
+ readonly actionId: TActionId
38
+ readonly subjectObjectTypeId: TObjectTypeId
39
+ }
40
+
41
+ export interface ShareActionGrantBuilder<
42
+ TAction extends ObjectActionDefinition = ObjectActionDefinition,
43
+ > {
44
+ on(
45
+ target: ShareTarget<TAction["binding"]["objectType"]["id"]>
46
+ ): ShareActionGrant<TAction["id"], TAction["binding"]["objectType"]["id"]>
47
+ }
48
+
49
+ export type ShareScopeGrant = ShareViewGrant | ShareActionGrant
50
+
51
+ export interface ShareDefinition<
52
+ TId extends string = string,
53
+ TTargetObjectTypeId extends string = string,
54
+ > {
55
+ readonly kind: "share"
56
+ /**
57
+ * Durable authority identity. Removing a definition suspends its grants; reusing the id can make
58
+ * unexpired grants effective again after intersection. Revoke them before permanent removal.
59
+ */
60
+ readonly id: TId
61
+ readonly target: {
62
+ readonly kind: "object"
63
+ readonly objectTypeId: TTargetObjectTypeId
64
+ }
65
+ readonly grants: readonly ShareScopeGrant[]
66
+ readonly description?: string
67
+ }
68
+
69
+ export interface DefineShareOptions<
70
+ TTarget extends ObjectTypeWithPropertyTokens,
71
+ TGrants extends readonly ShareScopeGrant[],
72
+ > {
73
+ readonly target: TTarget
74
+ readonly grants: (context: { readonly target: ShareTarget<TTarget["id"]> }) => TGrants
75
+ readonly description?: string
76
+ }
@@ -0,0 +1,40 @@
1
+ import type { ActionDefinitionCatalog } from "../actions"
2
+ import type { OntologyDefinitionCatalog } from "../ontology"
3
+ import { snapshotShareDefinition } from "./builders"
4
+ import { compileShareAccessPlan } from "./compiler"
5
+ import { ShareDefinitionError } from "./errors"
6
+ import type { ShareDefinition } from "./types"
7
+
8
+ /** Cross-validate discovered Share definitions after ontology and Actions are registered. */
9
+ export function validateSharesAtStartup(input: {
10
+ readonly shares: readonly ShareDefinition[]
11
+ readonly ontology: OntologyDefinitionCatalog
12
+ readonly actions: ActionDefinitionCatalog
13
+ }): ReadonlyMap<string, ShareDefinition> {
14
+ const byId = new Map<string, ShareDefinition>()
15
+ for (const authoredShare of input.shares) {
16
+ const share = snapshotShareDefinition(authoredShare)
17
+ if (byId.has(share.id)) {
18
+ throw invalid(`Duplicate Share id: ${share.id}`)
19
+ }
20
+ compileShareAccessPlan({
21
+ share,
22
+ target: {
23
+ objectTypeId: share.target.objectTypeId,
24
+ primaryId: "__sixb_share_definition_validation__",
25
+ },
26
+ ontology: input.ontology,
27
+ actions: input.actions,
28
+ })
29
+ byId.set(share.id, share)
30
+ }
31
+ return byId
32
+ }
33
+
34
+ export function assertShareDefinitionEnvelope(value: unknown): asserts value is ShareDefinition {
35
+ snapshotShareDefinition(value)
36
+ }
37
+
38
+ function invalid(message: string): ShareDefinitionError {
39
+ return new ShareDefinitionError(`[Sixb] ${message}`)
40
+ }
@@ -1,6 +1,7 @@
1
1
  export type AgentStorageErrorCode =
2
2
  | "thread_not_found"
3
3
  | "active_run_exists"
4
+ | "active_child_limit"
4
5
  | "run_not_found"
5
6
  | "invalid_input"
6
7
  | "invalid_state"
@@ -11,7 +11,11 @@ import {
11
11
  assertAgentContextCheckpointAuthority,
12
12
  assertAgentContextCheckpointReplayState,
13
13
  assertAgentRunExecution,
14
+ assertConversationAgentRunSpec,
14
15
  assertCreateAgentContextCheckpointInput,
16
+ assertCreateSubagentRunInput,
17
+ assertSubagentRunResult,
18
+ subagentRunMatchesCreateInput,
15
19
  } from "./provider"
16
20
  import type {
17
21
  AgentContextCheckpointRecord,
@@ -26,9 +30,11 @@ import type {
26
30
  AgentThreadStore,
27
31
  AppendAgentMessageInput,
28
32
  ConfirmAgentRunExecutionOwnershipInput,
33
+ ConversationAgentRunRecord,
29
34
  CreateAgentContextCheckpointInput,
30
35
  CreateAgentRunInput,
31
36
  CreateAgentThreadInput,
37
+ CreateSubagentRunInput,
32
38
  DeleteAgentMessagesByRunInput,
33
39
  FinishAgentRunInput,
34
40
  FinishQueuedAgentRunInput,
@@ -40,6 +46,7 @@ import type {
40
46
  ListAgentThreadsResult,
41
47
  ReclaimAgentRunInput,
42
48
  StartAgentRunInput,
49
+ SubagentRunRecord,
43
50
  } from "./types"
44
51
  import { AGENT_RUN_FAILURE_CODES } from "./types"
45
52
 
@@ -125,7 +132,6 @@ class InMemoryAgentThreadStore implements AgentThreadStore {
125
132
  const record: AgentThreadRecord = {
126
133
  id: input.id,
127
134
  projectId: input.projectId,
128
- agentId: input.agentId,
129
135
  ownerPrincipal: clone(input.ownerPrincipal),
130
136
  ...(input.title === undefined ? {} : { title: input.title }),
131
137
  status: input.status ?? "active",
@@ -147,12 +153,8 @@ class InMemoryAgentThreadStore implements AgentThreadStore {
147
153
  async list(input: ListAgentThreadsInput): Promise<ListAgentThreadsResult> {
148
154
  const order = input.order ?? "desc"
149
155
  const statuses = input.statuses ? new Set(input.statuses) : null
150
- const agentIds = input.agentIds ? new Set(input.agentIds) : null
151
-
152
156
  const filtered = [...this.state.threads.values()]
153
157
  .filter((thread) => thread.projectId === input.projectId)
154
- .filter((thread) => (input.agentId ? thread.agentId === input.agentId : true))
155
- .filter((thread) => (agentIds ? agentIds.has(thread.agentId) : true))
156
158
  .filter((thread) => (statuses ? statuses.has(thread.status) : true))
157
159
  .filter((thread) =>
158
160
  input.ownerPrincipal ? principalsEqual(thread.ownerPrincipal, input.ownerPrincipal) : true
@@ -180,13 +182,13 @@ class InMemoryAgentRunStore implements AgentRunStore {
180
182
  private readonly executions: ExecutionStorage
181
183
  ) {}
182
184
 
183
- async create(input: CreateAgentRunInput): Promise<AgentRunRecord> {
185
+ async create(input: CreateAgentRunInput): Promise<ConversationAgentRunRecord> {
186
+ assertConversationAgentRunSpec(input.spec)
184
187
  await assertAgentRunExecution({
185
188
  executions: this.executions,
186
189
  projectId: input.projectId,
187
190
  executionId: input.executionId,
188
191
  runId: input.id,
189
- agentId: input.agentId,
190
192
  })
191
193
  // No `await` between read and write: the in-memory critical section is atomic, so two concurrent
192
194
  // queued runs on the same thread cannot both win — the second observes `activeRunId` set.
@@ -224,13 +226,14 @@ class InMemoryAgentRunStore implements AgentRunStore {
224
226
  }
225
227
 
226
228
  const createdAt = new Date(input.createdAt ?? new Date())
227
- const run: AgentRunRecord = {
229
+ const run: ConversationAgentRunRecord = {
230
+ kind: "conversation",
228
231
  id: input.id,
229
232
  projectId: input.projectId,
230
233
  executionId: input.executionId,
231
234
  threadId: input.threadId,
232
- agentId: input.agentId,
233
235
  triggerMessageId: input.triggerMessageId,
236
+ spec: clone(input.spec),
234
237
  requesterGroupIds: normalizeRequesterGroupIds(input.requesterGroupIds),
235
238
  status: "queued",
236
239
  attempt: 0,
@@ -248,6 +251,94 @@ class InMemoryAgentRunStore implements AgentRunStore {
248
251
  return clone(run)
249
252
  }
250
253
 
254
+ async createSubagent(input: CreateSubagentRunInput): Promise<SubagentRunRecord> {
255
+ assertCreateSubagentRunInput(input)
256
+ const execution = await assertAgentRunExecution({
257
+ executions: this.executions,
258
+ projectId: input.projectId,
259
+ executionId: input.executionId,
260
+ runId: input.id,
261
+ })
262
+
263
+ const runKey = key(input.projectId, input.id)
264
+ const existing = this.state.runs.get(runKey)
265
+ if (existing) {
266
+ if (subagentRunMatchesCreateInput(existing, input)) return clone(existing)
267
+ throw new AgentStorageError(
268
+ "duplicate_id",
269
+ `[Sixb] Subagent run '${input.id}' already exists with different immutable inputs.`
270
+ )
271
+ }
272
+
273
+ const parent = this.state.runs.get(key(input.projectId, input.parentRunId))
274
+ if (!parent || parent.kind !== "conversation") {
275
+ throw new AgentStorageError(
276
+ "run_not_found",
277
+ `[Sixb] Parent Agent run '${input.parentRunId}' was not found.`
278
+ )
279
+ }
280
+ if (parent.status !== "running") {
281
+ throw new AgentStorageError(
282
+ "invalid_state",
283
+ `[Sixb] Parent Agent run '${parent.id}' is not running (status '${parent.status}').`
284
+ )
285
+ }
286
+ if (
287
+ execution.source.type !== "execution" ||
288
+ execution.source.executionId !== parent.executionId
289
+ ) {
290
+ throw new AgentStorageError(
291
+ "invalid_input",
292
+ `[Sixb] Subagent execution '${execution.id}' is not a child of parent execution '${parent.executionId}'.`
293
+ )
294
+ }
295
+ if (parent.execution?.token !== input.parentExecutionToken) {
296
+ throw new AgentStorageError(
297
+ "execution_lost",
298
+ `[Sixb] Parent Agent run '${parent.id}' is no longer owned by this execution.`
299
+ )
300
+ }
301
+ const activeChildren = [...this.state.runs.values()].filter(
302
+ (run) =>
303
+ run.kind === "subagent" &&
304
+ run.projectId === input.projectId &&
305
+ run.parentRunId === parent.id &&
306
+ (run.status === "queued" || run.status === "running")
307
+ ).length
308
+ if (activeChildren >= input.maxActiveChildren) {
309
+ throw new AgentStorageError(
310
+ "active_child_limit",
311
+ `[Sixb] Agent run '${parent.id}' already has ${activeChildren} active subagents.`
312
+ )
313
+ }
314
+ if (
315
+ [...this.state.runs.values()].some(
316
+ (run) => run.projectId === input.projectId && run.executionId === input.executionId
317
+ )
318
+ ) {
319
+ throw new AgentStorageError(
320
+ "duplicate_id",
321
+ `[Sixb] Execution '${input.executionId}' already belongs to another Agent run.`
322
+ )
323
+ }
324
+
325
+ const run: SubagentRunRecord = {
326
+ kind: "subagent",
327
+ id: input.id,
328
+ projectId: input.projectId,
329
+ executionId: input.executionId,
330
+ parentRunId: input.parentRunId,
331
+ spawnKey: input.spawnKey,
332
+ spec: clone(input.spec),
333
+ requesterGroupIds: clone(parent.requesterGroupIds),
334
+ status: "queued",
335
+ attempt: 0,
336
+ createdAt: new Date(input.createdAt ?? new Date()),
337
+ }
338
+ this.state.runs.set(runKey, clone(run))
339
+ return clone(run)
340
+ }
341
+
251
342
  async start(input: StartAgentRunInput): Promise<AgentRunRecord> {
252
343
  const run = this.requireStatus(input.projectId, input.id, "queued")
253
344
  const startedAt = new Date(input.startedAt ?? new Date())
@@ -320,6 +411,15 @@ class InMemoryAgentRunStore implements AgentRunStore {
320
411
  `[Sixb] Execution token is no longer current on agent run '${input.id}'.`
321
412
  )
322
413
  }
414
+ if (input.status === "succeeded" && run.kind === "subagent") {
415
+ assertSubagentRunResult(input.result, run.id)
416
+ }
417
+ if (input.status === "succeeded" && run.kind === "conversation" && input.result !== undefined) {
418
+ throw new AgentStorageError(
419
+ "invalid_input",
420
+ `[Sixb] Conversational Agent run '${run.id}' cannot persist a subagent result.`
421
+ )
422
+ }
323
423
 
324
424
  const completedAt = new Date(input.completedAt ?? new Date())
325
425
  const next: AgentRunRecord = {
@@ -328,6 +428,9 @@ class InMemoryAgentRunStore implements AgentRunStore {
328
428
  ...(input.modelId === undefined ? {} : { modelId: input.modelId }),
329
429
  ...(input.finishReason === undefined ? {} : { finishReason: input.finishReason }),
330
430
  ...(input.diagnostics === undefined ? {} : { diagnostics: clone(input.diagnostics) }),
431
+ ...(input.status === "succeeded" && input.result !== undefined
432
+ ? { result: clone(input.result) }
433
+ : {}),
331
434
  ...(input.status === "succeeded" || input.error === undefined
332
435
  ? {}
333
436
  : { error: normalizeFailure(input.error) }),
@@ -359,11 +462,17 @@ class InMemoryAgentRunStore implements AgentRunStore {
359
462
  async list(input: ListAgentRunsInput): Promise<ListAgentRunsResult> {
360
463
  const order = input.order ?? "desc"
361
464
  const statuses = input.statuses ? new Set(input.statuses) : null
465
+ const kinds = input.kinds ? new Set(input.kinds) : null
362
466
 
363
467
  const filtered = [...this.state.runs.values()]
364
468
  .filter((run) => run.projectId === input.projectId)
365
- .filter((run) => (input.threadId ? run.threadId === input.threadId : true))
366
- .filter((run) => (input.agentId ? run.agentId === input.agentId : true))
469
+ .filter((run) => (kinds ? kinds.has(run.kind) : true))
470
+ .filter((run) =>
471
+ input.threadId ? run.kind === "conversation" && run.threadId === input.threadId : true
472
+ )
473
+ .filter((run) =>
474
+ input.parentRunId ? run.kind === "subagent" && run.parentRunId === input.parentRunId : true
475
+ )
367
476
  .filter((run) => (statuses ? statuses.has(run.status) : true))
368
477
  .filter((run) =>
369
478
  input.startedAfter ? (run.startedAt ?? run.createdAt) >= input.startedAfter : true
@@ -405,6 +514,7 @@ class InMemoryAgentRunStore implements AgentRunStore {
405
514
  }
406
515
 
407
516
  private releaseThread(run: AgentRunRecord, completedAt: Date): void {
517
+ if (run.kind !== "conversation") return
408
518
  const threadKey = key(run.projectId, run.threadId)
409
519
  const thread = this.state.threads.get(threadKey)
410
520
  if (thread && thread.activeRunId === run.id) {
@@ -16,6 +16,7 @@ export type {
16
16
  AgentRunExecution,
17
17
  AgentRunFailureCode,
18
18
  AgentRunFinishReason,
19
+ AgentRunKind,
19
20
  AgentRunRecord,
20
21
  AgentRunStatus,
21
22
  AgentRunStore,
@@ -25,9 +26,12 @@ export type {
25
26
  AgentThreadStore,
26
27
  AppendAgentMessageInput,
27
28
  ConfirmAgentRunExecutionOwnershipInput,
29
+ ConversationAgentRunRecord,
30
+ ConversationAgentRunSpec,
28
31
  CreateAgentContextCheckpointInput,
29
32
  CreateAgentRunInput,
30
33
  CreateAgentThreadInput,
34
+ CreateSubagentRunInput,
31
35
  DeleteAgentMessagesByRunInput,
32
36
  FinishAgentRunInput,
33
37
  FinishQueuedAgentRunInput,
@@ -39,6 +43,9 @@ export type {
39
43
  ListAgentThreadsResult,
40
44
  ReclaimAgentRunInput,
41
45
  StartAgentRunInput,
46
+ SubagentRunRecord,
47
+ SubagentRunResult,
48
+ SubagentRunSpec,
42
49
  } from "./types"
43
50
  export {
44
51
  AGENT_RUN_DIAGNOSTIC_CODES,