@sixb/core 0.1.7 → 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 (612) 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 +36 -30
  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 +3 -3
  15. package/dist/actions/worker.js.map +1 -1
  16. package/dist/agents/adapters.d.ts +5 -122
  17. package/dist/agents/adapters.d.ts.map +1 -1
  18. package/dist/agents/authority.d.ts +1 -1
  19. package/dist/agents/authority.d.ts.map +1 -1
  20. package/dist/agents/context-resolution.d.ts.map +1 -1
  21. package/dist/agents/context.js +1 -1
  22. package/dist/agents/errors.d.ts +0 -9
  23. package/dist/agents/errors.d.ts.map +1 -1
  24. package/dist/agents/execution.d.ts.map +1 -1
  25. package/dist/agents/identity.d.ts +3 -0
  26. package/dist/agents/identity.d.ts.map +1 -0
  27. package/dist/agents/index.d.ts +3 -3
  28. package/dist/agents/index.d.ts.map +1 -1
  29. package/dist/agents/index.js +43 -43
  30. package/dist/agents/index.js.map +1 -1
  31. package/dist/agents/message.d.ts +4 -5
  32. package/dist/agents/message.d.ts.map +1 -1
  33. package/dist/agents/model-loop.d.ts +2 -0
  34. package/dist/agents/model-loop.d.ts.map +1 -1
  35. package/dist/agents/request.d.ts.map +1 -1
  36. package/dist/agents/tool-definition.d.ts +0 -1
  37. package/dist/agents/tool-definition.d.ts.map +1 -1
  38. package/dist/agents/validation.d.ts +0 -4
  39. package/dist/agents/validation.d.ts.map +1 -1
  40. package/dist/ai-usage/execution.d.ts.map +1 -1
  41. package/dist/auth/index.js +8 -5
  42. package/dist/auth/index.js.map +1 -1
  43. package/dist/authorization/decision.d.ts +10 -2
  44. package/dist/authorization/decision.d.ts.map +1 -1
  45. package/dist/authorization/grant-kinds.d.ts +2 -1
  46. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  47. package/dist/authorization/index.d.ts +1 -1
  48. package/dist/authorization/index.d.ts.map +1 -1
  49. package/dist/authorization/index.js +7 -4
  50. package/dist/authorization/index.js.map +1 -1
  51. package/dist/bootstrap/discovery.d.ts +7 -1
  52. package/dist/bootstrap/discovery.d.ts.map +1 -1
  53. package/dist/bootstrap/index.js +46 -39
  54. package/dist/bootstrap/index.js.map +1 -1
  55. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  56. package/dist/chunk-19jp6g9d.js +131 -0
  57. package/dist/chunk-19jp6g9d.js.map +11 -0
  58. package/dist/{chunk-x0qhkqje.js → chunk-2dw777qw.js} +50 -5
  59. package/dist/{chunk-x0qhkqje.js.map → chunk-2dw777qw.js.map} +4 -3
  60. package/dist/chunk-359jm1jw.js +147 -0
  61. package/dist/chunk-359jm1jw.js.map +10 -0
  62. package/dist/{chunk-2b5qtban.js → chunk-3xep5cjx.js} +56 -21
  63. package/dist/chunk-3xep5cjx.js.map +15 -0
  64. package/dist/{chunk-qjycjdj6.js → chunk-3z1qec12.js} +6 -8
  65. package/dist/{chunk-qjycjdj6.js.map → chunk-3z1qec12.js.map} +2 -2
  66. package/dist/{chunk-5jcdmjam.js → chunk-4jjp5k14.js} +1 -1
  67. package/dist/{chunk-n2arzn6e.js → chunk-4qfkag59.js} +44 -221
  68. package/dist/chunk-4qfkag59.js.map +20 -0
  69. package/dist/{chunk-rre42skh.js → chunk-4sm0aznx.js} +515 -80
  70. package/dist/{chunk-rre42skh.js.map → chunk-4sm0aznx.js.map} +11 -7
  71. package/dist/chunk-4yqmp43v.js +159 -0
  72. package/dist/chunk-4yqmp43v.js.map +11 -0
  73. package/dist/{chunk-atmkaf60.js → chunk-5e3pq99w.js} +2 -6
  74. package/dist/{chunk-atmkaf60.js.map → chunk-5e3pq99w.js.map} +3 -3
  75. package/dist/{chunk-agsvg9ar.js → chunk-5ntny1qx.js} +1 -1
  76. package/dist/{chunk-z2sery1b.js → chunk-9nbmsvn5.js} +60 -20
  77. package/dist/chunk-9nbmsvn5.js.map +11 -0
  78. package/dist/{chunk-e4rvtvpw.js → chunk-aa2pen2v.js} +250 -78
  79. package/dist/chunk-aa2pen2v.js.map +34 -0
  80. package/dist/{chunk-64sr682n.js → chunk-ajnan18g.js} +11 -8
  81. package/dist/chunk-ajnan18g.js.map +12 -0
  82. package/dist/{chunk-9aehf39w.js → chunk-f26bck4t.js} +4 -4
  83. package/dist/{chunk-7ds9620f.js → chunk-fvt9rjsa.js} +23 -7
  84. package/dist/chunk-fvt9rjsa.js.map +10 -0
  85. package/dist/{chunk-kt81c11h.js → chunk-gbejpkex.js} +5 -5
  86. package/dist/{chunk-kt81c11h.js.map → chunk-gbejpkex.js.map} +1 -1
  87. package/dist/{chunk-vjjv9mrb.js → chunk-gzasd5b6.js} +5 -5
  88. package/dist/{chunk-vjjv9mrb.js.map → chunk-gzasd5b6.js.map} +3 -3
  89. package/dist/{chunk-d63tybny.js → chunk-h0k55pc7.js} +4 -4
  90. package/dist/{chunk-d63tybny.js.map → chunk-h0k55pc7.js.map} +1 -1
  91. package/dist/chunk-h5vqbfmd.js +1537 -0
  92. package/dist/chunk-h5vqbfmd.js.map +19 -0
  93. package/dist/{chunk-3kv70xwp.js → chunk-j1sbhm7p.js} +18 -2
  94. package/dist/chunk-j1sbhm7p.js.map +10 -0
  95. package/dist/{chunk-hdz94br2.js → chunk-k522z7v6.js} +10 -5
  96. package/dist/chunk-k522z7v6.js.map +10 -0
  97. package/dist/{chunk-wjgm6jjt.js → chunk-mth82m8t.js} +128 -94
  98. package/dist/chunk-mth82m8t.js.map +14 -0
  99. package/dist/{chunk-qv38twt8.js → chunk-mwsxn98e.js} +46 -25
  100. package/dist/{chunk-qv38twt8.js.map → chunk-mwsxn98e.js.map} +6 -6
  101. package/dist/chunk-n4khvw9n.js +111 -0
  102. package/dist/chunk-n4khvw9n.js.map +11 -0
  103. package/dist/{chunk-qjzp9xyb.js → chunk-nn0tekr1.js} +6 -8
  104. package/dist/chunk-nn0tekr1.js.map +12 -0
  105. package/dist/chunk-nx7k8tpr.js +436 -0
  106. package/dist/chunk-nx7k8tpr.js.map +12 -0
  107. package/dist/{chunk-08twe8m6.js → chunk-p1rzczbt.js} +1 -1
  108. package/dist/{chunk-37wk412q.js → chunk-p1x242ad.js} +587 -70
  109. package/dist/chunk-p1x242ad.js.map +25 -0
  110. package/dist/{chunk-tn7xcs2n.js → chunk-pc7ys28c.js} +68 -5
  111. package/dist/chunk-pc7ys28c.js.map +14 -0
  112. package/dist/{chunk-3fqt22c4.js → chunk-q0k9nc5a.js} +280 -88
  113. package/dist/chunk-q0k9nc5a.js.map +14 -0
  114. package/dist/chunk-r8jrnexe.js +403 -0
  115. package/dist/chunk-r8jrnexe.js.map +10 -0
  116. package/dist/{chunk-gbrpsx4m.js → chunk-rafagrwr.js} +30 -2
  117. package/dist/chunk-rafagrwr.js.map +11 -0
  118. package/dist/{chunk-xdpwpkha.js → chunk-rv2hkwwa.js} +1 -1
  119. package/dist/{chunk-6ed5bwnd.js → chunk-sbzzr4kx.js} +1203 -691
  120. package/dist/{chunk-6ed5bwnd.js.map → chunk-sbzzr4kx.js.map} +15 -9
  121. package/dist/{chunk-d2ndstdf.js → chunk-v1xppd0y.js} +13 -11
  122. package/dist/{chunk-d2ndstdf.js.map → chunk-v1xppd0y.js.map} +2 -2
  123. package/dist/chunk-v4en4jc2.js +252 -0
  124. package/dist/chunk-v4en4jc2.js.map +10 -0
  125. package/dist/{chunk-1kamz6j0.js → chunk-w1tvjszy.js} +1 -1
  126. package/dist/{chunk-rp1mvzb4.js → chunk-w9tg6yyb.js} +11 -6
  127. package/dist/{chunk-rp1mvzb4.js.map → chunk-w9tg6yyb.js.map} +3 -3
  128. package/dist/{chunk-4nxeacx7.js → chunk-wdage1eb.js} +1 -1
  129. package/dist/{chunk-ha58tjtt.js → chunk-wtf06et8.js} +9 -5
  130. package/dist/{chunk-ha58tjtt.js.map → chunk-wtf06et8.js.map} +3 -3
  131. package/dist/{chunk-h0knpbz5.js → chunk-xajtptbw.js} +782 -211
  132. package/dist/chunk-xajtptbw.js.map +40 -0
  133. package/dist/{chunk-xc7hq65b.js → chunk-yp8ee62z.js} +49 -2
  134. package/dist/chunk-yp8ee62z.js.map +11 -0
  135. package/dist/chunk-z4ccwbkz.js +139 -0
  136. package/dist/chunk-z4ccwbkz.js.map +10 -0
  137. package/dist/datasets/builders.d.ts +11 -2
  138. package/dist/datasets/builders.d.ts.map +1 -1
  139. package/dist/datasets/changes.d.ts +14 -4
  140. package/dist/datasets/changes.d.ts.map +1 -1
  141. package/dist/datasets/execution.d.ts +15 -1
  142. package/dist/datasets/execution.d.ts.map +1 -1
  143. package/dist/datasets/index.d.ts +1 -0
  144. package/dist/datasets/index.d.ts.map +1 -1
  145. package/dist/datasets/sequence.d.ts +7 -0
  146. package/dist/datasets/sequence.d.ts.map +1 -0
  147. package/dist/datasets/types.d.ts +1 -0
  148. package/dist/datasets/types.d.ts.map +1 -1
  149. package/dist/datasets/validation.d.ts.map +1 -1
  150. package/dist/datasets/write.d.ts +37 -0
  151. package/dist/datasets/write.d.ts.map +1 -0
  152. package/dist/datasets/write.js +17 -0
  153. package/dist/datasets/write.js.map +9 -0
  154. package/dist/events/execution.d.ts.map +1 -1
  155. package/dist/events/types/datasets.d.ts +2 -6
  156. package/dist/events/types/datasets.d.ts.map +1 -1
  157. package/dist/execution/agent.d.ts.map +1 -1
  158. package/dist/execution/agent.js +39 -32
  159. package/dist/execution/agent.js.map +1 -1
  160. package/dist/execution/authorization.d.ts +58 -20
  161. package/dist/execution/authorization.d.ts.map +1 -1
  162. package/dist/execution/authorized-object-reader.d.ts +69 -0
  163. package/dist/execution/authorized-object-reader.d.ts.map +1 -0
  164. package/dist/execution/durable.d.ts.map +1 -1
  165. package/dist/execution/index.d.ts +1 -1
  166. package/dist/execution/index.d.ts.map +1 -1
  167. package/dist/execution/primitive.js +39 -32
  168. package/dist/execution/primitive.js.map +2 -2
  169. package/dist/execution/request.d.ts +11 -0
  170. package/dist/execution/request.d.ts.map +1 -1
  171. package/dist/execution/request.js +76 -40
  172. package/dist/execution/request.js.map +3 -3
  173. package/dist/execution/scopes.d.ts +16 -0
  174. package/dist/execution/scopes.d.ts.map +1 -1
  175. package/dist/execution/types.d.ts +9 -0
  176. package/dist/execution/types.d.ts.map +1 -1
  177. package/dist/http/api-routes.d.ts +2 -0
  178. package/dist/http/api-routes.d.ts.map +1 -1
  179. package/dist/http/index.js +1 -1
  180. package/dist/index.d.ts +8 -5
  181. package/dist/index.d.ts.map +1 -1
  182. package/dist/index.js +92 -78
  183. package/dist/index.js.map +1 -1
  184. package/dist/lake-storage/definition-updates.d.ts.map +1 -1
  185. package/dist/lake-storage/errors.d.ts +5 -1
  186. package/dist/lake-storage/errors.d.ts.map +1 -1
  187. package/dist/lake-storage/in-memory.d.ts +1 -0
  188. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  189. package/dist/lake-storage/index.d.ts +6 -1
  190. package/dist/lake-storage/index.d.ts.map +1 -1
  191. package/dist/lake-storage/index.js +24 -7
  192. package/dist/lake-storage/index.js.map +1 -1
  193. package/dist/lake-storage/merge-validation.d.ts.map +1 -1
  194. package/dist/lake-storage/merge.d.ts +13 -2
  195. package/dist/lake-storage/merge.d.ts.map +1 -1
  196. package/dist/lake-storage/source-ordering.d.ts +19 -0
  197. package/dist/lake-storage/source-ordering.d.ts.map +1 -0
  198. package/dist/lake-storage/sql-transforms.d.ts +2 -1
  199. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  200. package/dist/lake-storage/types.d.ts +10 -5
  201. package/dist/lake-storage/types.d.ts.map +1 -1
  202. package/dist/lake-storage/version-inputs.d.ts +4 -0
  203. package/dist/lake-storage/version-inputs.d.ts.map +1 -0
  204. package/dist/materializer/index.js +25 -22
  205. package/dist/materializer/index.js.map +1 -1
  206. package/dist/objects/authorized-ontology-view.d.ts +25 -0
  207. package/dist/objects/authorized-ontology-view.d.ts.map +1 -0
  208. package/dist/objects/execution.d.ts +1 -1
  209. package/dist/objects/execution.d.ts.map +1 -1
  210. package/dist/objects/index.js +29 -26
  211. package/dist/objects/index.js.map +1 -1
  212. package/dist/objects/link/authorization.d.ts +2 -7
  213. package/dist/objects/link/authorization.d.ts.map +1 -1
  214. package/dist/objects/query/executor.d.ts +4 -2
  215. package/dist/objects/query/executor.d.ts.map +1 -1
  216. package/dist/objects/query/index.js +24 -21
  217. package/dist/objects/query/index.js.map +1 -1
  218. package/dist/objects/query/links.d.ts +22 -1
  219. package/dist/objects/query/links.d.ts.map +1 -1
  220. package/dist/objects/query/selected-read-admission.d.ts +27 -0
  221. package/dist/objects/query/selected-read-admission.d.ts.map +1 -0
  222. package/dist/objects/query/validate.d.ts +60 -2
  223. package/dist/objects/query/validate.d.ts.map +1 -1
  224. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  225. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  226. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -7
  227. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  228. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  229. package/dist/objects/service/list-service.d.ts +2 -3
  230. package/dist/objects/service/list-service.d.ts.map +1 -1
  231. package/dist/objects/telemetry/history.d.ts +8 -6
  232. package/dist/objects/telemetry/history.d.ts.map +1 -1
  233. package/dist/objects/telemetry/index.d.ts +2 -2
  234. package/dist/objects/telemetry/index.d.ts.map +1 -1
  235. package/dist/objects/telemetry/workload.d.ts +11 -0
  236. package/dist/objects/telemetry/workload.d.ts.map +1 -0
  237. package/dist/ontology/index.d.ts +2 -1
  238. package/dist/ontology/index.d.ts.map +1 -1
  239. package/dist/ontology/index.js +13 -12
  240. package/dist/ontology/index.js.map +1 -1
  241. package/dist/ontology/inference/index.d.ts +2 -1
  242. package/dist/ontology/inference/index.d.ts.map +1 -1
  243. package/dist/ontology/internal.d.ts +0 -1
  244. package/dist/ontology/internal.d.ts.map +1 -1
  245. package/dist/ontology/internal.js +5 -10
  246. package/dist/ontology/internal.js.map +3 -3
  247. package/dist/ontology/json-schema.d.ts +10 -6
  248. package/dist/ontology/json-schema.d.ts.map +1 -1
  249. package/dist/ontology/link-path-selection.d.ts +35 -0
  250. package/dist/ontology/link-path-selection.d.ts.map +1 -0
  251. package/dist/ontology/refs.d.ts +2 -0
  252. package/dist/ontology/refs.d.ts.map +1 -1
  253. package/dist/ontology/tokens.d.ts +2 -1
  254. package/dist/ontology/tokens.d.ts.map +1 -1
  255. package/dist/pipelines/execution.d.ts.map +1 -1
  256. package/dist/pipelines/index.js +27 -24
  257. package/dist/pipelines/index.js.map +1 -1
  258. package/dist/pipelines/request.d.ts.map +1 -1
  259. package/dist/projections/execution.d.ts.map +1 -1
  260. package/dist/projections/internal.js +25 -22
  261. package/dist/projections/internal.js.map +1 -1
  262. package/dist/projections/run-dispatch.d.ts.map +1 -1
  263. package/dist/rules/execution.d.ts.map +1 -1
  264. package/dist/runtime/create.d.ts +4 -1
  265. package/dist/runtime/create.d.ts.map +1 -1
  266. package/dist/runtime/definitions.d.ts +2 -0
  267. package/dist/runtime/definitions.d.ts.map +1 -1
  268. package/dist/runtime/host.d.ts +2 -0
  269. package/dist/runtime/host.d.ts.map +1 -1
  270. package/dist/runtime/internal.d.ts +1 -0
  271. package/dist/runtime/internal.d.ts.map +1 -1
  272. package/dist/runtime/resolve-definitions.d.ts +2 -0
  273. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  274. package/dist/runtime/sixb.d.ts +4 -0
  275. package/dist/runtime/sixb.d.ts.map +1 -1
  276. package/dist/runtime/types.d.ts +3 -0
  277. package/dist/runtime/types.d.ts.map +1 -1
  278. package/dist/schedules/execution.d.ts +2 -1
  279. package/dist/schedules/execution.d.ts.map +1 -1
  280. package/dist/security/every.d.ts +4 -1
  281. package/dist/security/every.d.ts.map +1 -1
  282. package/dist/security/grants.d.ts +7 -2
  283. package/dist/security/grants.d.ts.map +1 -1
  284. package/dist/security/index.d.ts +1 -1
  285. package/dist/security/index.d.ts.map +1 -1
  286. package/dist/security/registry.d.ts +1 -0
  287. package/dist/security/registry.d.ts.map +1 -1
  288. package/dist/security/types.d.ts +7 -1
  289. package/dist/security/types.d.ts.map +1 -1
  290. package/dist/security/validation.d.ts +2 -0
  291. package/dist/security/validation.d.ts.map +1 -1
  292. package/dist/shares/access-plan.d.ts +22 -0
  293. package/dist/shares/access-plan.d.ts.map +1 -0
  294. package/dist/shares/builders.d.ts +14 -0
  295. package/dist/shares/builders.d.ts.map +1 -0
  296. package/dist/shares/compiler.d.ts +14 -0
  297. package/dist/shares/compiler.d.ts.map +1 -0
  298. package/dist/shares/errors.d.ts +4 -0
  299. package/dist/shares/errors.d.ts.map +1 -0
  300. package/dist/shares/execution.d.ts +57 -0
  301. package/dist/shares/execution.d.ts.map +1 -0
  302. package/dist/shares/index.d.ts +10 -0
  303. package/dist/shares/index.d.ts.map +1 -0
  304. package/dist/shares/internal.d.ts +3 -0
  305. package/dist/shares/internal.d.ts.map +1 -0
  306. package/dist/shares/internal.js +239 -0
  307. package/dist/shares/internal.js.map +10 -0
  308. package/dist/shares/intersection.d.ts +9 -0
  309. package/dist/shares/intersection.d.ts.map +1 -0
  310. package/dist/shares/session-protocol.d.ts +41 -0
  311. package/dist/shares/session-protocol.d.ts.map +1 -0
  312. package/dist/shares/types.d.ts +51 -0
  313. package/dist/shares/types.d.ts.map +1 -0
  314. package/dist/shares/validation.d.ts +11 -0
  315. package/dist/shares/validation.d.ts.map +1 -0
  316. package/dist/storage/action-runs/provider.js +2 -2
  317. package/dist/storage/agents/provider.js +2 -2
  318. package/dist/storage/executions/in-memory.d.ts +3 -0
  319. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  320. package/dist/storage/executions/provider.d.ts +4 -1
  321. package/dist/storage/executions/provider.d.ts.map +1 -1
  322. package/dist/storage/executions/provider.js +23 -3
  323. package/dist/storage/executions/provider.js.map +3 -3
  324. package/dist/storage/executions/run-link.d.ts +7 -0
  325. package/dist/storage/executions/run-link.d.ts.map +1 -1
  326. package/dist/storage/executions/validation.d.ts +6 -0
  327. package/dist/storage/executions/validation.d.ts.map +1 -1
  328. package/dist/storage/in-memory/index.d.ts +8 -0
  329. package/dist/storage/in-memory/index.d.ts.map +1 -1
  330. package/dist/storage/index.d.ts +8 -2
  331. package/dist/storage/index.d.ts.map +1 -1
  332. package/dist/storage/index.js +65 -36
  333. package/dist/storage/index.js.map +1 -1
  334. package/dist/storage/objects/execution-limits.d.ts +25 -0
  335. package/dist/storage/objects/execution-limits.d.ts.map +1 -0
  336. package/dist/storage/objects/guard.d.ts +16 -0
  337. package/dist/storage/objects/guard.d.ts.map +1 -0
  338. package/dist/storage/objects/in-memory/index.d.ts +3 -0
  339. package/dist/storage/objects/in-memory/index.d.ts.map +1 -0
  340. package/dist/storage/objects/in-memory/keys.d.ts +10 -0
  341. package/dist/storage/objects/in-memory/keys.d.ts.map +1 -0
  342. package/dist/storage/objects/in-memory/query.d.ts +31 -0
  343. package/dist/storage/objects/in-memory/query.d.ts.map +1 -0
  344. package/dist/storage/objects/in-memory/read-scope.d.ts +18 -0
  345. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -0
  346. package/dist/storage/objects/in-memory/read-source.d.ts +10 -0
  347. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -0
  348. package/dist/storage/objects/in-memory/selected-reader.d.ts +9 -0
  349. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -0
  350. package/dist/storage/objects/{in-memory.d.ts → in-memory/storage.d.ts} +13 -10
  351. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -0
  352. package/dist/storage/objects/index.d.ts +4 -1
  353. package/dist/storage/objects/index.d.ts.map +1 -1
  354. package/dist/storage/objects/keys.d.ts +1 -1
  355. package/dist/storage/objects/keys.d.ts.map +1 -1
  356. package/dist/storage/objects/read-scope.d.ts +25 -0
  357. package/dist/storage/objects/read-scope.d.ts.map +1 -0
  358. package/dist/storage/objects/types.d.ts +114 -22
  359. package/dist/storage/objects/types.d.ts.map +1 -1
  360. package/dist/storage/operation-scope.d.ts +3 -0
  361. package/dist/storage/operation-scope.d.ts.map +1 -1
  362. package/dist/storage/operation-scope.js +4 -2
  363. package/dist/storage/operation-scope.js.map +1 -1
  364. package/dist/storage/pipeline-runs/provider.js +2 -2
  365. package/dist/storage/projection-runs/provider.js +2 -2
  366. package/dist/storage/share-grants/errors.d.ts +8 -0
  367. package/dist/storage/share-grants/errors.d.ts.map +1 -0
  368. package/dist/storage/share-grants/in-memory.d.ts +11 -0
  369. package/dist/storage/share-grants/in-memory.d.ts.map +1 -0
  370. package/dist/storage/share-grants/index.d.ts +5 -0
  371. package/dist/storage/share-grants/index.d.ts.map +1 -0
  372. package/dist/storage/share-grants/provider.d.ts +4 -0
  373. package/dist/storage/share-grants/provider.d.ts.map +1 -0
  374. package/dist/storage/share-grants/provider.js +24 -0
  375. package/dist/storage/share-grants/provider.js.map +9 -0
  376. package/dist/storage/share-grants/record.d.ts +11 -0
  377. package/dist/storage/share-grants/record.d.ts.map +1 -0
  378. package/dist/storage/share-grants/types.d.ts +97 -0
  379. package/dist/storage/share-grants/types.d.ts.map +1 -0
  380. package/dist/storage/share-sessions/errors.d.ts +8 -0
  381. package/dist/storage/share-sessions/errors.d.ts.map +1 -0
  382. package/dist/storage/share-sessions/in-memory.d.ts +14 -0
  383. package/dist/storage/share-sessions/in-memory.d.ts.map +1 -0
  384. package/dist/storage/share-sessions/index.d.ts +5 -0
  385. package/dist/storage/share-sessions/index.d.ts.map +1 -0
  386. package/dist/storage/share-sessions/provider.d.ts +3 -0
  387. package/dist/storage/share-sessions/provider.d.ts.map +1 -0
  388. package/dist/storage/share-sessions/provider.js +20 -0
  389. package/dist/storage/share-sessions/provider.js.map +9 -0
  390. package/dist/storage/share-sessions/record.d.ts +8 -0
  391. package/dist/storage/share-sessions/record.d.ts.map +1 -0
  392. package/dist/storage/share-sessions/types.d.ts +50 -0
  393. package/dist/storage/share-sessions/types.d.ts.map +1 -0
  394. package/dist/storage/sync-runs/provider.js +2 -2
  395. package/dist/storage/transaction.d.ts +2 -1
  396. package/dist/storage/transaction.d.ts.map +1 -1
  397. package/dist/storage/types.d.ts +8 -0
  398. package/dist/storage/types.d.ts.map +1 -1
  399. package/dist/storage/webhook-runs/provider.js +2 -2
  400. package/dist/storage/workflow-runs/provider.js +10 -7
  401. package/dist/storage/workflow-runs/provider.js.map +1 -1
  402. package/dist/syncs/execution.d.ts.map +1 -1
  403. package/dist/syncs/index.js +27 -24
  404. package/dist/syncs/index.js.map +1 -1
  405. package/dist/syncs/request.d.ts.map +1 -1
  406. package/dist/testing/dataset-sequence-contract.d.ts +4 -0
  407. package/dist/testing/dataset-sequence-contract.d.ts.map +1 -0
  408. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  409. package/dist/testing/execution-storage-contract.d.ts +4 -0
  410. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  411. package/dist/testing/index.d.ts +3 -0
  412. package/dist/testing/index.d.ts.map +1 -1
  413. package/dist/testing/index.js +2555 -908
  414. package/dist/testing/index.js.map +11 -7
  415. package/dist/testing/lake-merge-storage-contract.d.ts +1 -0
  416. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  417. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  418. package/dist/testing/object-read-scope-contract.d.ts +22 -0
  419. package/dist/testing/object-read-scope-contract.d.ts.map +1 -0
  420. package/dist/testing/share-grant-storage-contract.d.ts +10 -0
  421. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -0
  422. package/dist/testing/share-session-storage-contract.d.ts +9 -0
  423. package/dist/testing/share-session-storage-contract.d.ts.map +1 -0
  424. package/dist/webhooks/internal.js +24 -21
  425. package/dist/webhooks/internal.js.map +2 -2
  426. package/dist/workflows/execution.d.ts.map +1 -1
  427. package/dist/workflows/index.js +42 -35
  428. package/dist/workflows/index.js.map +1 -1
  429. package/dist/workflows/request.d.ts.map +1 -1
  430. package/package.json +25 -1
  431. package/src/actions/delegated-admission.ts +72 -0
  432. package/src/actions/descriptor.ts +58 -0
  433. package/src/actions/execution.ts +99 -24
  434. package/src/actions/request.ts +136 -19
  435. package/src/actions/run-authorization.ts +53 -0
  436. package/src/actions/run-dispatch.ts +8 -1
  437. package/src/agents/adapters.ts +30 -420
  438. package/src/agents/authority.ts +3 -4
  439. package/src/agents/context-resolution.ts +1 -4
  440. package/src/agents/errors.ts +0 -10
  441. package/src/agents/execution.ts +13 -5
  442. package/src/agents/identity.ts +4 -0
  443. package/src/agents/index.ts +1 -20
  444. package/src/agents/message.ts +4 -5
  445. package/src/agents/model-loop.ts +54 -6
  446. package/src/agents/request.ts +16 -3
  447. package/src/agents/tool-definition.ts +0 -19
  448. package/src/agents/validation.ts +6 -65
  449. package/src/ai-usage/execution.ts +4 -11
  450. package/src/authorization/decision.ts +29 -14
  451. package/src/authorization/grant-kinds.ts +10 -0
  452. package/src/authorization/index.ts +1 -0
  453. package/src/bootstrap/discovery.ts +3 -0
  454. package/src/bootstrap/ontology-type-manifest.ts +12 -6
  455. package/src/datasets/builders.ts +23 -2
  456. package/src/datasets/changes.ts +16 -4
  457. package/src/datasets/execution.ts +76 -5
  458. package/src/datasets/index.ts +1 -0
  459. package/src/datasets/sequence.ts +77 -0
  460. package/src/datasets/types.ts +1 -0
  461. package/src/datasets/validation.ts +26 -0
  462. package/src/datasets/write.ts +240 -0
  463. package/src/events/execution.ts +57 -7
  464. package/src/events/types/datasets.ts +2 -6
  465. package/src/execution/agent.ts +1 -4
  466. package/src/execution/authorization.ts +470 -90
  467. package/src/execution/authorized-object-reader.ts +695 -0
  468. package/src/execution/durable.ts +10 -2
  469. package/src/execution/index.ts +1 -0
  470. package/src/execution/request.ts +63 -13
  471. package/src/execution/scopes.ts +36 -6
  472. package/src/execution/types.ts +8 -0
  473. package/src/http/api-routes.ts +45 -0
  474. package/src/index.ts +36 -15
  475. package/src/lake-storage/definition-updates.ts +9 -0
  476. package/src/lake-storage/errors.ts +6 -1
  477. package/src/lake-storage/in-memory.ts +53 -17
  478. package/src/lake-storage/index.ts +10 -1
  479. package/src/lake-storage/merge-validation.ts +12 -2
  480. package/src/lake-storage/merge.ts +40 -2
  481. package/src/lake-storage/source-ordering.ts +95 -0
  482. package/src/lake-storage/sql-transforms.ts +2 -1
  483. package/src/lake-storage/types.ts +10 -5
  484. package/src/lake-storage/version-inputs.ts +14 -0
  485. package/src/objects/authorized-ontology-view.ts +512 -0
  486. package/src/objects/execution.ts +98 -143
  487. package/src/objects/link/authorization.ts +3 -2
  488. package/src/objects/query/executor.ts +45 -34
  489. package/src/objects/query/links.ts +84 -25
  490. package/src/objects/query/selected-read-admission.ts +310 -0
  491. package/src/objects/query/validate.ts +353 -36
  492. package/src/objects/sdk/object-handle.ts +2 -8
  493. package/src/objects/sdk/object-set.ts +10 -11
  494. package/src/objects/sdk/runtime-query-executor.ts +8 -28
  495. package/src/objects/sdk/telemetry-channel.ts +11 -7
  496. package/src/objects/service/list-service.ts +15 -29
  497. package/src/objects/telemetry/history.ts +297 -17
  498. package/src/objects/telemetry/index.ts +2 -2
  499. package/src/objects/telemetry/workload.ts +79 -0
  500. package/src/ontology/index.ts +7 -1
  501. package/src/ontology/inference/index.ts +4 -1
  502. package/src/ontology/internal.ts +0 -1
  503. package/src/ontology/json-schema.ts +13 -12
  504. package/src/ontology/link-path-selection.ts +193 -0
  505. package/src/ontology/refs.ts +19 -0
  506. package/src/ontology/tokens.ts +15 -8
  507. package/src/pipelines/execution.ts +30 -7
  508. package/src/pipelines/request.ts +5 -0
  509. package/src/projections/execution.ts +72 -11
  510. package/src/projections/run-dispatch.ts +6 -12
  511. package/src/rules/execution.ts +20 -8
  512. package/src/runtime/create.ts +5 -1
  513. package/src/runtime/definitions.ts +2 -0
  514. package/src/runtime/host.ts +25 -6
  515. package/src/runtime/internal.ts +1 -0
  516. package/src/runtime/resolve-definitions.ts +9 -0
  517. package/src/runtime/sixb.ts +23 -2
  518. package/src/runtime/types.ts +3 -0
  519. package/src/schedules/execution.ts +24 -2
  520. package/src/security/every.ts +4 -0
  521. package/src/security/grants.ts +45 -3
  522. package/src/security/index.ts +1 -0
  523. package/src/security/registry.ts +3 -0
  524. package/src/security/types.ts +8 -0
  525. package/src/security/validation.ts +3 -0
  526. package/src/shares/access-plan.ts +225 -0
  527. package/src/shares/builders.ts +381 -0
  528. package/src/shares/compiler.ts +359 -0
  529. package/src/shares/errors.ts +3 -0
  530. package/src/shares/execution.ts +394 -0
  531. package/src/shares/index.ts +28 -0
  532. package/src/shares/internal.ts +9 -0
  533. package/src/shares/intersection.ts +178 -0
  534. package/src/shares/session-protocol.ts +258 -0
  535. package/src/shares/types.ts +76 -0
  536. package/src/shares/validation.ts +40 -0
  537. package/src/storage/executions/in-memory.ts +9 -1
  538. package/src/storage/executions/provider.ts +30 -1
  539. package/src/storage/executions/run-link.ts +29 -0
  540. package/src/storage/executions/validation.ts +46 -1
  541. package/src/storage/in-memory/index.ts +21 -2
  542. package/src/storage/index.ts +51 -0
  543. package/src/storage/objects/execution-limits.ts +283 -0
  544. package/src/storage/objects/guard.ts +55 -0
  545. package/src/storage/objects/in-memory/index.ts +2 -0
  546. package/src/storage/objects/in-memory/keys.ts +46 -0
  547. package/src/storage/objects/in-memory/query.ts +754 -0
  548. package/src/storage/objects/in-memory/read-scope.ts +211 -0
  549. package/src/storage/objects/in-memory/read-source.ts +10 -0
  550. package/src/storage/objects/in-memory/selected-reader.ts +252 -0
  551. package/src/storage/objects/in-memory/storage.ts +589 -0
  552. package/src/storage/objects/index.ts +21 -0
  553. package/src/storage/objects/keys.ts +1 -1
  554. package/src/storage/objects/read-scope.ts +672 -0
  555. package/src/storage/objects/types.ts +123 -19
  556. package/src/storage/operation-scope.ts +16 -0
  557. package/src/storage/share-grants/errors.ts +14 -0
  558. package/src/storage/share-grants/in-memory.ts +107 -0
  559. package/src/storage/share-grants/index.ts +14 -0
  560. package/src/storage/share-grants/provider.ts +11 -0
  561. package/src/storage/share-grants/record.ts +347 -0
  562. package/src/storage/share-grants/types.ts +112 -0
  563. package/src/storage/share-sessions/errors.ts +14 -0
  564. package/src/storage/share-sessions/in-memory.ts +105 -0
  565. package/src/storage/share-sessions/index.ts +11 -0
  566. package/src/storage/share-sessions/provider.ts +9 -0
  567. package/src/storage/share-sessions/record.ts +176 -0
  568. package/src/storage/share-sessions/types.ts +57 -0
  569. package/src/storage/transaction.ts +14 -2
  570. package/src/storage/types.ts +27 -0
  571. package/src/syncs/execution.ts +25 -5
  572. package/src/syncs/request.ts +5 -0
  573. package/src/testing/dataset-sequence-contract.ts +373 -0
  574. package/src/testing/effective-storage-contract.ts +34 -0
  575. package/src/testing/execution-storage-contract.ts +79 -0
  576. package/src/testing/index.ts +16 -0
  577. package/src/testing/lake-merge-storage-contract.ts +3 -0
  578. package/src/testing/lake-storage-contract.ts +58 -0
  579. package/src/testing/object-read-scope-contract.ts +939 -0
  580. package/src/testing/share-grant-storage-contract.ts +325 -0
  581. package/src/testing/share-session-storage-contract.ts +235 -0
  582. package/src/workflows/execution.ts +53 -14
  583. package/src/workflows/request.ts +5 -0
  584. package/dist/chunk-2b5qtban.js.map +0 -14
  585. package/dist/chunk-37wk412q.js.map +0 -23
  586. package/dist/chunk-3fqt22c4.js.map +0 -14
  587. package/dist/chunk-3kv70xwp.js.map +0 -10
  588. package/dist/chunk-64sr682n.js.map +0 -12
  589. package/dist/chunk-7ds9620f.js.map +0 -10
  590. package/dist/chunk-dqn23610.js +0 -72
  591. package/dist/chunk-dqn23610.js.map +0 -11
  592. package/dist/chunk-e4rvtvpw.js.map +0 -34
  593. package/dist/chunk-gbrpsx4m.js.map +0 -11
  594. package/dist/chunk-h0knpbz5.js.map +0 -38
  595. package/dist/chunk-hdz94br2.js.map +0 -10
  596. package/dist/chunk-n2arzn6e.js.map +0 -20
  597. package/dist/chunk-qjzp9xyb.js.map +0 -12
  598. package/dist/chunk-tn7xcs2n.js.map +0 -13
  599. package/dist/chunk-wjgm6jjt.js.map +0 -13
  600. package/dist/chunk-xc7hq65b.js.map +0 -10
  601. package/dist/chunk-y35ma3mj.js +0 -551
  602. package/dist/chunk-y35ma3mj.js.map +0 -15
  603. package/dist/chunk-z2sery1b.js.map +0 -11
  604. package/dist/storage/objects/in-memory.d.ts.map +0 -1
  605. package/src/storage/objects/in-memory.ts +0 -1241
  606. /package/dist/{chunk-5jcdmjam.js.map → chunk-4jjp5k14.js.map} +0 -0
  607. /package/dist/{chunk-agsvg9ar.js.map → chunk-5ntny1qx.js.map} +0 -0
  608. /package/dist/{chunk-9aehf39w.js.map → chunk-f26bck4t.js.map} +0 -0
  609. /package/dist/{chunk-08twe8m6.js.map → chunk-p1rzczbt.js.map} +0 -0
  610. /package/dist/{chunk-xdpwpkha.js.map → chunk-rv2hkwwa.js.map} +0 -0
  611. /package/dist/{chunk-1kamz6j0.js.map → chunk-w1tvjszy.js.map} +0 -0
  612. /package/dist/{chunk-4nxeacx7.js.map → chunk-wdage1eb.js.map} +0 -0
@@ -1,121 +1,28 @@
1
- import { type FileRef, isFileRef } from "../blob-storage"
2
- import { getInvalidJsonValueReason, isPlainRecord, type JsonValue } from "../json"
1
+ import type { JsonValue } from "../json"
3
2
  import type {
4
3
  ModelAssistantPart,
5
4
  ModelFilePart,
6
5
  ModelMessage,
7
- ModelReasoningPart,
8
6
  ModelTextPart,
9
7
  ModelToolCallPart,
10
8
  ModelToolOutput,
11
9
  ModelToolResultPart,
12
10
  ProviderData,
13
11
  } from "../models"
14
- import {
15
- type AgentContextEntryInput,
16
- type AgentContextInput,
17
- type AgentContextOrigin,
18
- normalizeAgentContextEntries,
19
- } from "./context"
20
12
  import { serializeAgentContextForModel } from "./context-model"
21
- import { AgentMessageAdapterError } from "./errors"
22
- import type { AgentMessage, AgentMessagePart, AgentMessageRole } from "./message"
13
+ import type {
14
+ AgentFilePart,
15
+ AgentMessage,
16
+ AgentMessagePart,
17
+ AgentTextPart,
18
+ AgentToolCallPart,
19
+ } from "./message"
23
20
  import { isAgentToolResult } from "./tool-result"
24
21
  import type { AgentToolFileContent } from "./types"
25
22
 
26
- // ── Inbound (write) — deliberately WIDE ────────────────────────────────────────────────────────
27
- //
28
- // The UI/storage boundary is intentionally permissive: any `{ type: string }` part is accepted at
29
- // the type level and narrowed at runtime. Persisted messages remain strict and JSON-canonical.
30
-
31
- export interface AgentInboundUiMessagePart {
32
- readonly type: string
33
- readonly text?: string
34
- readonly state?: string
35
- // Provider metadata stays unknown until the persistence boundary validates it.
36
- readonly providerMetadata?: unknown
37
- readonly toolName?: string
38
- readonly toolCallId?: string
39
- readonly providerExecuted?: boolean
40
- readonly input?: unknown
41
- readonly rawInput?: unknown
42
- readonly output?: unknown
43
- readonly errorText?: string
44
- readonly callProviderMetadata?: unknown
45
- readonly fileRef?: unknown
46
- readonly context?: unknown
47
- readonly origin?: unknown
48
- readonly providerId?: string
49
- readonly data?: unknown
50
- }
51
-
52
- export interface AgentInboundUiMessage {
53
- readonly role: string
54
- readonly id?: string
55
- readonly metadata?: unknown
56
- readonly parts: readonly AgentInboundUiMessagePart[]
57
- }
58
-
59
- // ── Outbound (read) ─────────────────────────────────────────────────────────────────────────────
60
-
61
- interface AgentUiToolPartBody {
62
- readonly toolCallId: string
63
- readonly providerExecuted?: boolean
64
- readonly callProviderMetadata?: ProviderData
65
- }
66
-
67
- export type AgentUiToolPart =
68
- | ({ readonly type: `tool-${string}` } & AgentUiToolPartBody &
69
- (
70
- | {
71
- readonly state: "output-available"
72
- readonly input: JsonValue
73
- readonly output: JsonValue
74
- }
75
- | { readonly state: "output-error"; readonly input: JsonValue; readonly errorText: string }
76
- ))
77
- | ({ readonly type: "dynamic-tool"; readonly toolName: string } & AgentUiToolPartBody &
78
- (
79
- | {
80
- readonly state: "output-available"
81
- readonly input: JsonValue
82
- readonly output: JsonValue
83
- }
84
- | { readonly state: "output-error"; readonly input: JsonValue; readonly errorText: string }
85
- ))
86
-
87
- export type AgentUiMessagePart =
88
- | { readonly type: "text"; readonly text: string; readonly providerMetadata?: ProviderData }
89
- | { readonly type: "reasoning"; readonly text: string; readonly providerMetadata?: ProviderData }
90
- | { readonly type: "step-start" }
91
- | { readonly type: "file"; readonly fileRef: FileRef; readonly providerMetadata?: ProviderData }
92
- | { readonly type: "provider-state"; readonly providerId: string; readonly data: JsonValue }
93
- | {
94
- readonly type: "context"
95
- readonly context: AgentContextInput
96
- readonly origin: AgentContextOrigin
97
- }
98
- | AgentUiToolPart
99
-
100
- export interface AgentUiMessage {
101
- readonly role: AgentMessageRole
102
- readonly id?: string
103
- readonly metadata?: JsonValue
104
- readonly parts: readonly AgentUiMessagePart[]
105
- }
106
-
107
- export type AgentModelToolOutput = ModelToolOutput
108
- export type AgentModelTextPart = ModelTextPart
109
- export type AgentModelFilePart = ModelFilePart
110
- export type AgentModelReasoningPart = ModelReasoningPart
111
- export type AgentModelToolCallPart = ModelToolCallPart
112
- export type AgentModelToolResultPart = ModelToolResultPart
113
- export type AgentModelAssistantPart = ModelAssistantPart
114
- export type AgentModelMessage = ModelMessage
115
-
116
23
  export interface AgentFileDataResolverInput<TMessage extends AgentMessage = AgentMessage> {
117
24
  readonly message: TMessage
118
- readonly part: Extract<AgentMessagePart, { type: "file" }>
25
+ readonly part: AgentFilePart
119
26
  readonly partIndex: number
120
27
  }
121
28
 
@@ -127,7 +34,7 @@ export interface AgentFileDataProjection {
127
34
 
128
35
  export interface AgentToolResultFileResolverInput<TMessage extends AgentMessage = AgentMessage> {
129
36
  readonly message: TMessage
130
- readonly part: AgentToolCallPartResult
37
+ readonly part: AgentToolCallPart
131
38
  readonly partIndex: number
132
39
  readonly contentPart: AgentToolFileContent
133
40
  readonly contentIndex: number
@@ -153,289 +60,6 @@ export interface ToModelMessagesOptions<TMessage extends AgentMessage = AgentMes
153
60
  ) => string | undefined
154
61
  }
155
62
 
156
- // ── Helpers ─────────────────────────────────────────────────────────────────────────────────────
157
-
158
- const TOOL_TYPE_PREFIX = "tool-"
159
-
160
- function assertAdapter(condition: unknown, message: string): asserts condition {
161
- if (!condition) {
162
- throw new AgentMessageAdapterError(`[Sixb] ${message}`)
163
- }
164
- }
165
-
166
- /**
167
- * Validate that `value` is a JSON-canonical value and return it as {@link JsonValue}. Out-of-contract
168
- * inputs (`undefined` inside objects, `Date`, `bigint`, `Map`/`Set`, non-finite numbers) throw rather
169
- * than being silently coerced by `JSON.stringify` downstream.
170
- */
171
- function requireJson(value: unknown, label: string): JsonValue {
172
- const reason = getInvalidJsonValueReason(value, label)
173
- assertAdapter(reason === undefined, `agent message ${label} must be a JSON value; ${reason}`)
174
- return value as JsonValue
175
- }
176
-
177
- function optionalJson(value: unknown, label: string): JsonValue | undefined {
178
- if (value === undefined) return undefined
179
- return requireJson(omitUndefinedObjectProperties(value), label)
180
- }
181
-
182
- function optionalProviderData(value: unknown, label: string): ProviderData | undefined {
183
- const json = optionalJson(value, label)
184
- if (json === undefined) return undefined
185
- assertAdapter(isPlainRecord(json), `agent message ${label} must be a provider-keyed JSON object`)
186
- return json as ProviderData
187
- }
188
-
189
- /**
190
- * Provider metadata is opaque provider-owned data that can contain optional object keys with
191
- * `undefined` values. `undefined` is not JSON, but on an object property it means the same thing as
192
- * "field absent", so omit those properties before validating/persisting the metadata.
193
- *
194
- * Keep the scope deliberately narrow: arrays, tool inputs/outputs, Dates, functions, bigint, cycles,
195
- * and every other non-JSON shape are left for `requireJson` to accept or reject. This helper only
196
- * turns `{ key: undefined }` into `{}` for compatibility with provider output.
197
- */
198
- export function omitUndefinedObjectProperties(value: unknown): unknown {
199
- return omitUndefinedObjectPropertiesInternal(value, new Set())
200
- }
201
-
202
- function omitUndefinedObjectPropertiesInternal(value: unknown, seen: Set<object>): unknown {
203
- if (typeof value !== "object" || value === null) return value
204
-
205
- // Avoid recursing forever on a malformed/cyclic metadata object. Leaving the cycle in place lets
206
- // `requireJson` below report the canonical JSON-contract error.
207
- if (seen.has(value)) return value
208
-
209
- seen.add(value)
210
- try {
211
- if (Array.isArray(value)) {
212
- return value.map((entry) => omitUndefinedObjectPropertiesInternal(entry, seen))
213
- }
214
-
215
- if (!isPlainRecord(value)) return value
216
-
217
- return Object.fromEntries(
218
- Object.entries(value)
219
- .filter(([, entry]) => entry !== undefined)
220
- .map(([key, entry]) => [key, omitUndefinedObjectPropertiesInternal(entry, seen)])
221
- )
222
- } finally {
223
- seen.delete(value)
224
- }
225
- }
226
-
227
- function isToolType(type: string): boolean {
228
- return type === "dynamic-tool" || type.startsWith(TOOL_TYPE_PREFIX)
229
- }
230
-
231
- function toolNameFromInbound(part: AgentInboundUiMessagePart): string {
232
- if (part.type === "dynamic-tool") {
233
- assertAdapter(
234
- typeof part.toolName === "string" && part.toolName.length > 0,
235
- "dynamic-tool part is missing a tool name"
236
- )
237
- return part.toolName
238
- }
239
- const name = part.type.slice(TOOL_TYPE_PREFIX.length)
240
- assertAdapter(name.length > 0, `tool part type '${part.type}' is missing a tool name`)
241
- return name
242
- }
243
-
244
- // ── fromUiMessage (write) ─────────────────────────────────────────────────────────────────────
245
-
246
- /**
247
- * Convert a UI message into a durable {@link AgentMessage}. Total: throws
248
- * {@link AgentMessageAdapterError} on any part kind, tool state, or text/reasoning state the durable
249
- * contract does not model, and on a role outside `system | user | assistant`. Transient states are rejected
250
- * because messages are only ever persisted once a run has finished.
251
- */
252
- export function fromUiMessage(message: AgentInboundUiMessage): AgentMessage {
253
- const { role } = message
254
- assertAdapter(
255
- role === "system" || role === "user" || role === "assistant",
256
- `unsupported message role '${role}'`
257
- )
258
-
259
- const parts: AgentMessagePart[] = message.parts.map((part) => fromUiMessagePart(part))
260
- assertAdapter(
261
- role === "user" || !parts.some((part) => part.type === "context"),
262
- "context parts are only valid on user messages"
263
- )
264
- const metadata = optionalJson(message.metadata, "metadata")
265
-
266
- return {
267
- role,
268
- parts,
269
- ...(metadata === undefined ? {} : { metadata }),
270
- }
271
- }
272
-
273
- function fromUiMessagePart(part: AgentInboundUiMessagePart): AgentMessagePart {
274
- switch (part.type) {
275
- case "text":
276
- case "reasoning": {
277
- assertAdapter(typeof part.text === "string", `${part.type} part is missing text`)
278
- assertAdapter(
279
- part.state !== "streaming",
280
- `cannot persist a streaming ${part.type} part; messages are written only once finalized`
281
- )
282
- const providerMetadata = optionalProviderData(
283
- part.providerMetadata,
284
- `${part.type}.providerMetadata`
285
- )
286
- return {
287
- type: part.type,
288
- text: part.text,
289
- ...(providerMetadata === undefined ? {} : { providerMetadata }),
290
- }
291
- }
292
- case "step-start":
293
- return { type: "step-start" }
294
- case "file": {
295
- assertAdapter(isFileRef(part.fileRef), "file part is missing a valid fileRef")
296
- const providerMetadata = optionalProviderData(part.providerMetadata, "file.providerMetadata")
297
- return {
298
- type: "file",
299
- fileRef: part.fileRef,
300
- ...(providerMetadata === undefined ? {} : { providerMetadata }),
301
- }
302
- }
303
- case "context":
304
- return fromUiContextPart(part)
305
- case "provider-state":
306
- assertAdapter(
307
- typeof part.providerId === "string" && part.providerId.length > 0,
308
- "provider-state part is missing a provider id"
309
- )
310
- return {
311
- type: "provider-state",
312
- providerId: part.providerId,
313
- data: requireJson(part.data, "provider-state data"),
314
- }
315
- default: {
316
- assertAdapter(
317
- isToolType(part.type),
318
- `unsupported message part type '${part.type}'; extend the Sixb message part union to support it`
319
- )
320
- return fromUiToolPart(part)
321
- }
322
- }
323
- }
324
-
325
- function fromUiContextPart(part: AgentInboundUiMessagePart): AgentMessagePart {
326
- try {
327
- const [entry] = normalizeAgentContextEntries([
328
- { context: part.context, origin: part.origin } as AgentContextEntryInput,
329
- ])
330
- return { type: "context", ...entry }
331
- } catch (error) {
332
- throw new AgentMessageAdapterError(
333
- error instanceof Error ? error.message : "[Sixb] Invalid agent context part."
334
- )
335
- }
336
- }
337
-
338
- function fromUiToolPart(part: AgentInboundUiMessagePart): AgentToolCallPartResult {
339
- const dynamic = part.type === "dynamic-tool"
340
- const toolName = toolNameFromInbound(part)
341
- assertAdapter(
342
- typeof part.toolCallId === "string" && part.toolCallId.length > 0,
343
- `tool part '${part.type}' is missing a toolCallId`
344
- )
345
- assertAdapter(
346
- part.state === "output-available" || part.state === "output-error",
347
- `cannot persist tool part '${part.toolCallId}' in transient state '${part.state}'; only terminal states are stored`
348
- )
349
-
350
- // For output-error the SDK input may be `undefined`; coerce to `null` to stay JSON-canonical.
351
- const input = part.input === undefined ? null : requireJson(part.input, "tool input")
352
- const providerMetadata = optionalProviderData(
353
- part.callProviderMetadata,
354
- "tool callProviderMetadata"
355
- )
356
-
357
- const base = {
358
- type: "tool-call" as const,
359
- toolCallId: part.toolCallId,
360
- toolName,
361
- input,
362
- ...(dynamic ? { dynamic: true } : {}),
363
- ...(part.providerExecuted === undefined ? {} : { providerExecuted: part.providerExecuted }),
364
- ...(providerMetadata === undefined ? {} : { providerMetadata }),
365
- }
366
-
367
- if (part.state === "output-available") {
368
- return { ...base, state: "output-available", output: requireJson(part.output, "tool output") }
369
- }
370
- assertAdapter(
371
- typeof part.errorText === "string",
372
- `tool part '${part.toolCallId}' is missing errorText`
373
- )
374
- return { ...base, state: "output-error", errorText: part.errorText }
375
- }
376
-
377
- type AgentToolCallPartResult = Extract<AgentMessagePart, { type: "tool-call" }>
378
-
379
- // ── toUiMessage (read) ────────────────────────────────────────────────────────────────────────
380
-
381
- /** Reconstruct a UI message from a stored message. Exact inverse of {@link fromUiMessage}. */
382
- export function toUiMessage(message: AgentMessage): AgentUiMessage {
383
- return {
384
- role: message.role,
385
- parts: message.parts.map((part) => toUiPart(part)),
386
- ...(message.metadata === undefined ? {} : { metadata: message.metadata }),
387
- }
388
- }
389
-
390
- function toUiPart(part: AgentMessagePart): AgentUiMessagePart {
391
- switch (part.type) {
392
- case "text":
393
- case "reasoning":
394
- return {
395
- type: part.type,
396
- text: part.text,
397
- ...(part.providerMetadata === undefined ? {} : { providerMetadata: part.providerMetadata }),
398
- }
399
- case "step-start":
400
- return { type: "step-start" }
401
- case "file":
402
- return {
403
- type: "file",
404
- fileRef: part.fileRef,
405
- ...(part.providerMetadata === undefined ? {} : { providerMetadata: part.providerMetadata }),
406
- }
407
- case "context":
408
- return { type: "context", context: part.context, origin: part.origin }
409
- case "provider-state":
410
- return {
411
- type: "provider-state",
412
- providerId: part.providerId,
413
- data: part.data,
414
- }
415
- case "tool-call":
416
- return toUiToolPart(part)
417
- }
418
- }
419
-
420
- function toUiToolPart(part: AgentToolCallPartResult): AgentUiToolPart {
421
- const body = {
422
- toolCallId: part.toolCallId,
423
- ...(part.providerExecuted === undefined ? {} : { providerExecuted: part.providerExecuted }),
424
- ...(part.providerMetadata === undefined ? {} : { callProviderMetadata: part.providerMetadata }),
425
- }
426
- const state =
427
- part.state === "output-available"
428
- ? { state: "output-available" as const, input: part.input, output: part.output }
429
- : { state: "output-error" as const, input: part.input, errorText: part.errorText }
430
-
431
- if (part.dynamic) {
432
- return { type: "dynamic-tool", toolName: part.toolName, ...body, ...state }
433
- }
434
- return { type: `tool-${part.toolName}`, ...body, ...state }
435
- }
436
-
437
- // ── toModelMessages (read) ──────────────────────────────────────────────────────────────────────
438
-
439
63
  /**
440
64
  * Project durable messages into Sixb model messages. Assistant parts are grouped
441
65
  * into blocks at each `step-start`; each block yields one `assistant` message plus, for any
@@ -447,8 +71,8 @@ function toUiToolPart(part: AgentToolCallPartResult): AgentUiToolPart {
447
71
  export function toModelMessages<TMessage extends AgentMessage>(
448
72
  messages: readonly TMessage[],
449
73
  options: ToModelMessagesOptions<TMessage> = {}
450
- ): AgentModelMessage[] {
451
- const result: AgentModelMessage[] = []
74
+ ): ModelMessage[] {
75
+ const result: ModelMessage[] = []
452
76
  for (const message of messages) {
453
77
  switch (message.role) {
454
78
  case "system":
@@ -465,8 +89,8 @@ export function toModelMessages<TMessage extends AgentMessage>(
465
89
  return result
466
90
  }
467
91
 
468
- function systemModelMessage(message: AgentMessage): AgentModelMessage {
469
- const textParts = message.parts.filter(isTextPart)
92
+ function systemModelMessage(message: AgentMessage): ModelMessage {
93
+ const textParts = message.parts.filter((part) => part.type === "text")
470
94
  const providerData = mergeProviderMetadata(textParts)
471
95
  return {
472
96
  role: "system",
@@ -475,9 +99,7 @@ function systemModelMessage(message: AgentMessage): AgentModelMessage {
475
99
  }
476
100
  }
477
101
 
478
- function mergeProviderMetadata(
479
- parts: readonly Extract<AgentMessagePart, { type: "text" }>[]
480
- ): ProviderData | undefined {
102
+ function mergeProviderMetadata(parts: readonly AgentTextPart[]): ProviderData | undefined {
481
103
  let merged: Record<string, JsonValue> | undefined
482
104
  for (const part of parts) {
483
105
  const meta = part.providerMetadata
@@ -485,14 +107,14 @@ function mergeProviderMetadata(
485
107
  merged = { ...(merged ?? {}), ...meta }
486
108
  }
487
109
  }
488
- return merged as ProviderData | undefined
110
+ return merged
489
111
  }
490
112
 
491
113
  function userModelMessage<TMessage extends AgentMessage>(
492
114
  message: TMessage,
493
115
  options: ToModelMessagesOptions<TMessage>
494
- ): AgentModelMessage {
495
- const content: (AgentModelTextPart | AgentModelFilePart)[] = []
116
+ ): ModelMessage {
117
+ const content: (ModelTextPart | ModelFilePart)[] = []
496
118
  const serializedContext = serializeAgentContextForModel(
497
119
  message.parts.filter((part) => part.type === "context")
498
120
  )
@@ -534,7 +156,7 @@ function userModelMessage<TMessage extends AgentMessage>(
534
156
  }
535
157
 
536
158
  function appendAssistantModelMessages<TMessage extends AgentMessage>(
537
- result: AgentModelMessage[],
159
+ result: ModelMessage[],
538
160
  message: TMessage,
539
161
  options: ToModelMessagesOptions<TMessage>
540
162
  ): void {
@@ -546,17 +168,12 @@ function appendAssistantModelMessages<TMessage extends AgentMessage>(
546
168
  const current = block
547
169
  block = []
548
170
 
549
- const content: AgentModelAssistantPart[] = []
171
+ const content: ModelAssistantPart[] = []
172
+ const toolResults: ModelToolResultPart[] = []
550
173
  for (const { part, partIndex } of current) {
551
- if (part.type === "text") {
174
+ if (part.type === "text" || part.type === "reasoning") {
552
175
  content.push({
553
- type: "text",
554
- text: part.text,
555
- ...(part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }),
556
- })
557
- } else if (part.type === "reasoning") {
558
- content.push({
559
- type: "reasoning",
176
+ type: part.type,
560
177
  text: part.text,
561
178
  ...(part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }),
562
179
  })
@@ -569,6 +186,8 @@ function appendAssistantModelMessages<TMessage extends AgentMessage>(
569
186
  content.push(toolCallModelPart(part))
570
187
  if (part.providerExecuted === true) {
571
188
  content.push(toolResultModelPart(message, part, partIndex, "json", options))
189
+ } else {
190
+ toolResults.push(toolResultModelPart(message, part, partIndex, "text", options))
572
191
  }
573
192
  } else if (part.type === "provider-state") {
574
193
  content.push({
@@ -580,11 +199,6 @@ function appendAssistantModelMessages<TMessage extends AgentMessage>(
580
199
  }
581
200
  result.push({ role: "assistant", content })
582
201
 
583
- const toolResults = current.flatMap(({ part, partIndex }) =>
584
- part.type === "tool-call" && part.providerExecuted !== true
585
- ? [toolResultModelPart(message, part, partIndex, "text", options)]
586
- : []
587
- )
588
202
  if (toolResults.length > 0) {
589
203
  result.push({ role: "tool", content: toolResults })
590
204
  }
@@ -600,7 +214,7 @@ function appendAssistantModelMessages<TMessage extends AgentMessage>(
600
214
  flush()
601
215
  }
602
216
 
603
- function toolCallModelPart(part: AgentToolCallPartResult): AgentModelToolCallPart {
217
+ function toolCallModelPart(part: AgentToolCallPart): ModelToolCallPart {
604
218
  return {
605
219
  type: "tool-call",
606
220
  toolCallId: part.toolCallId,
@@ -613,11 +227,11 @@ function toolCallModelPart(part: AgentToolCallPartResult): AgentModelToolCallPar
613
227
 
614
228
  function toolResultModelPart<TMessage extends AgentMessage>(
615
229
  message: TMessage,
616
- part: AgentToolCallPartResult,
230
+ part: AgentToolCallPart,
617
231
  partIndex: number,
618
232
  errorMode: "text" | "json",
619
233
  options: ToModelMessagesOptions<TMessage>
620
- ): AgentModelToolResultPart {
234
+ ): ModelToolResultPart {
621
235
  // Stored providerMetadata belongs to the call, not this synthesized result. Replaying it here
622
236
  // can replace the result with the provider's original tool-call block.
623
237
  return {
@@ -630,11 +244,11 @@ function toolResultModelPart<TMessage extends AgentMessage>(
630
244
 
631
245
  function toolResultOutput<TMessage extends AgentMessage>(
632
246
  message: TMessage,
633
- part: AgentToolCallPartResult,
247
+ part: AgentToolCallPart,
634
248
  partIndex: number,
635
249
  errorMode: "text" | "json",
636
250
  options: ToModelMessagesOptions<TMessage>
637
- ): AgentModelToolOutput {
251
+ ): ModelToolOutput {
638
252
  if (part.state === "output-error") {
639
253
  return errorMode === "json"
640
254
  ? { type: "error-json", value: part.errorText }
@@ -672,7 +286,3 @@ function toolResultFileFallbackText(part: AgentToolFileContent): string {
672
286
  ].filter((value): value is string => value !== undefined)
673
287
  return `[Tool-created file: ${attributes.join(" ")}. Contents are not available inline.]`
674
288
  }
675
-
676
- function isTextPart(part: AgentMessagePart): part is Extract<AgentMessagePart, { type: "text" }> {
677
- return part.type === "text"
678
- }
@@ -13,6 +13,7 @@ import type {
13
13
  UserRecord,
14
14
  } from "../storage/auth"
15
15
  import { AuthStorageError } from "../storage/auth"
16
+ import { agentServiceAccountId } from "./identity"
16
17
 
17
18
  export type AgentExecutionAuthorization =
18
19
  | { readonly type: "principal"; readonly context: AuthorizationContext }
@@ -28,16 +29,14 @@ interface CredentialedUserAuthorizationRef {
28
29
  readonly credential: UserCredentialRef
29
30
  }
30
31
 
32
+ export { agentServiceAccountId } from "./identity"
33
+
31
34
  export interface AgentExecutionIdentity {
32
35
  readonly serviceAccount: ServiceAccountRecord
33
36
  readonly principal: Extract<AuthorizablePrincipal, { readonly type: "serviceAccount" }>
34
37
  readonly groupMemberships: readonly ServiceAccountGroupMembershipRecord[]
35
38
  }
36
39
 
37
- export function agentServiceAccountId(actorId: string): string {
38
- return `svc_agent_${actorId}`
39
- }
40
-
41
40
  /** Ensure a framework-managed Agent actor exists with exactly its declared group memberships. */
42
41
  export async function ensureManagedAgentExecutionIdentity(input: {
43
42
  readonly auth: AuthStorage | undefined
@@ -1,4 +1,3 @@
1
- import { assertAuthorized } from "../authorization"
2
1
  import type { SixbRuntimeContext } from "../runtime/types"
3
2
  import {
4
3
  type AgentContextEntryInput,
@@ -24,9 +23,7 @@ export async function resolveAgentContextParts(
24
23
  invalidContext(`context references an unknown object type '${objectTypeId}'`)
25
24
  }
26
25
 
27
- assertAuthorized(runtime, { kind: "object.view", objectTypeId })
28
- const object = await runtime.storage.objects.getByPrimaryId({
29
- projectId: runtime.projectId,
26
+ const object = await runtime.objectReader.getByPrimaryId({
30
27
  objectTypeId,
31
28
  primaryId,
32
29
  })
@@ -6,16 +6,6 @@ export class AgentDefinitionError extends Error {
6
6
  readonly name: string = "AgentDefinitionError"
7
7
  }
8
8
 
9
- /**
10
- * Raised by the message adapters. `fromUiMessage` is **total**: rather than silently dropping a part it
11
- * cannot model, it throws this — which both prevents data loss and pinpoints exactly when the
12
- * {@link AgentMessage} part union must be extended. It also fires on transient/streaming parts that
13
- * must never be persisted, and on out-of-contract (non-JSON) payloads.
14
- */
15
- export class AgentMessageAdapterError extends Error {
16
- readonly name = "AgentMessageAdapterError"
17
- }
18
-
19
9
  /**
20
10
  * An agent-tool failure whose message is intentionally safe to expose to the model and persist in
21
11
  * the durable trace. Tool authors must keep the message free of credentials and internal details;