@sixb/core 0.1.17 → 0.1.19

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 (715) hide show
  1. package/README.md +7 -6
  2. package/dist/actions/commit-edits.d.ts +7 -19
  3. package/dist/actions/commit-edits.d.ts.map +1 -1
  4. package/dist/actions/errors.d.ts +0 -3
  5. package/dist/actions/errors.d.ts.map +1 -1
  6. package/dist/actions/execution.d.ts +10 -3
  7. package/dist/actions/execution.d.ts.map +1 -1
  8. package/dist/actions/index.d.ts +6 -9
  9. package/dist/actions/index.d.ts.map +1 -1
  10. package/dist/actions/index.js +56 -52
  11. package/dist/actions/index.js.map +1 -1
  12. package/dist/actions/read-facade.d.ts +1 -1
  13. package/dist/actions/request.d.ts +14 -25
  14. package/dist/actions/request.d.ts.map +1 -1
  15. package/dist/actions/run/context.d.ts +40 -0
  16. package/dist/actions/run/context.d.ts.map +1 -0
  17. package/dist/actions/run/edits-commit.d.ts +31 -0
  18. package/dist/actions/run/edits-commit.d.ts.map +1 -0
  19. package/dist/actions/run/effects.d.ts +23 -0
  20. package/dist/actions/run/effects.d.ts.map +1 -0
  21. package/dist/actions/run/execute.d.ts +30 -0
  22. package/dist/actions/run/execute.d.ts.map +1 -0
  23. package/dist/actions/run/executor.d.ts +95 -0
  24. package/dist/actions/run/executor.d.ts.map +1 -0
  25. package/dist/actions/run/normalize.d.ts +36 -0
  26. package/dist/actions/run/normalize.d.ts.map +1 -0
  27. package/dist/actions/run/phase-types.d.ts +18 -0
  28. package/dist/actions/run/phase-types.d.ts.map +1 -0
  29. package/dist/actions/run/phases.d.ts +20 -0
  30. package/dist/actions/run/phases.d.ts.map +1 -0
  31. package/dist/actions/run/run-action.d.ts +25 -0
  32. package/dist/actions/run/run-action.d.ts.map +1 -0
  33. package/dist/actions/run/signals.d.ts +67 -0
  34. package/dist/actions/run/signals.d.ts.map +1 -0
  35. package/dist/actions/run/state.d.ts +47 -0
  36. package/dist/actions/run/state.d.ts.map +1 -0
  37. package/dist/actions/run/types.d.ts +54 -0
  38. package/dist/actions/run/types.d.ts.map +1 -0
  39. package/dist/actions/run/writeback.d.ts +17 -0
  40. package/dist/actions/run/writeback.d.ts.map +1 -0
  41. package/dist/actions/run-authorization.d.ts +1 -1
  42. package/dist/actions/run-authorization.d.ts.map +1 -1
  43. package/dist/actions/run-persistence.d.ts +53 -0
  44. package/dist/actions/run-persistence.d.ts.map +1 -0
  45. package/dist/actions/types/context.d.ts +10 -0
  46. package/dist/actions/types/context.d.ts.map +1 -1
  47. package/dist/actions/validation.d.ts.map +1 -1
  48. package/dist/agents/adapters.d.ts +7 -0
  49. package/dist/agents/adapters.d.ts.map +1 -1
  50. package/dist/agents/authority.d.ts +7 -0
  51. package/dist/agents/authority.d.ts.map +1 -1
  52. package/dist/agents/context/entries.d.ts +10 -1
  53. package/dist/agents/context/entries.d.ts.map +1 -1
  54. package/dist/agents/context/index.d.ts +1 -1
  55. package/dist/agents/context/index.d.ts.map +1 -1
  56. package/dist/agents/context/index.js +4 -2
  57. package/dist/agents/context/index.js.map +1 -1
  58. package/dist/agents/context-compaction.d.ts.map +1 -1
  59. package/dist/agents/errors.d.ts +1 -1
  60. package/dist/agents/errors.d.ts.map +1 -1
  61. package/dist/agents/index.d.ts +6 -4
  62. package/dist/agents/index.d.ts.map +1 -1
  63. package/dist/agents/index.js +63 -59
  64. package/dist/agents/index.js.map +1 -1
  65. package/dist/agents/message.d.ts +8 -1
  66. package/dist/agents/message.d.ts.map +1 -1
  67. package/dist/agents/request.d.ts +19 -5
  68. package/dist/agents/request.d.ts.map +1 -1
  69. package/dist/agents/skills.d.ts +41 -0
  70. package/dist/agents/skills.d.ts.map +1 -0
  71. package/dist/agents/streams/index.js +2 -2
  72. package/dist/agents/streams/internal.js +2 -2
  73. package/dist/agents/types.d.ts +33 -4
  74. package/dist/agents/types.d.ts.map +1 -1
  75. package/dist/auth/index.js +12 -9
  76. package/dist/auth/index.js.map +1 -1
  77. package/dist/auth/runtime.d.ts.map +1 -1
  78. package/dist/auth/types.d.ts +6 -0
  79. package/dist/auth/types.d.ts.map +1 -1
  80. package/dist/authorization/event-visibility.d.ts.map +1 -1
  81. package/dist/authorization/index.js +6 -4
  82. package/dist/authorization/index.js.map +1 -1
  83. package/dist/authorization/resolve.d.ts +1 -1
  84. package/dist/authorization/resolve.d.ts.map +1 -1
  85. package/dist/authorization/types.d.ts +7 -0
  86. package/dist/authorization/types.d.ts.map +1 -1
  87. package/dist/blob-storage/browser.js +1 -1
  88. package/dist/blob-storage/execution.d.ts.map +1 -1
  89. package/dist/blob-storage/file-content.d.ts +18 -0
  90. package/dist/blob-storage/file-content.d.ts.map +1 -0
  91. package/dist/blob-storage/index.d.ts +1 -1
  92. package/dist/blob-storage/index.d.ts.map +1 -1
  93. package/dist/blob-storage/index.js +2 -2
  94. package/dist/blob-storage/internal.d.ts +2 -0
  95. package/dist/blob-storage/internal.d.ts.map +1 -1
  96. package/dist/blob-storage/internal.js +16 -4
  97. package/dist/blob-storage/internal.js.map +1 -1
  98. package/dist/blob-storage/media-type.d.ts +8 -0
  99. package/dist/blob-storage/media-type.d.ts.map +1 -0
  100. package/dist/blob-storage/types.d.ts +12 -1
  101. package/dist/blob-storage/types.d.ts.map +1 -1
  102. package/dist/blob-storage/validation.d.ts +6 -0
  103. package/dist/blob-storage/validation.d.ts.map +1 -1
  104. package/dist/bootstrap/agent-context.d.ts +33 -0
  105. package/dist/bootstrap/agent-context.d.ts.map +1 -0
  106. package/dist/bootstrap/discovery.d.ts +23 -3
  107. package/dist/bootstrap/discovery.d.ts.map +1 -1
  108. package/dist/bootstrap/index.d.ts +2 -1
  109. package/dist/bootstrap/index.d.ts.map +1 -1
  110. package/dist/bootstrap/index.js +285 -77
  111. package/dist/bootstrap/index.js.map +4 -3
  112. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  113. package/dist/{chunk-t9shqx3w.js → chunk-1f7wpmyp.js} +143 -7
  114. package/dist/chunk-1f7wpmyp.js.map +14 -0
  115. package/dist/{chunk-jjrn5v0p.js → chunk-1k89ecfr.js} +1 -1
  116. package/dist/{chunk-9vx5e9g1.js → chunk-1sr8ryzk.js} +3 -3
  117. package/dist/chunk-1sr8ryzk.js.map +11 -0
  118. package/dist/{chunk-s7ftxrdr.js → chunk-29yx306f.js} +20 -3
  119. package/dist/{chunk-s7ftxrdr.js.map → chunk-29yx306f.js.map} +3 -3
  120. package/dist/{chunk-svabwqdq.js → chunk-3gnrh4ve.js} +44 -420
  121. package/dist/{chunk-svabwqdq.js.map → chunk-3gnrh4ve.js.map} +9 -13
  122. package/dist/{chunk-4ra628t7.js → chunk-3zxk45er.js} +70 -6
  123. package/dist/{chunk-4ra628t7.js.map → chunk-3zxk45er.js.map} +5 -4
  124. package/dist/{chunk-pja9jfz6.js → chunk-4tcx876c.js} +126 -64
  125. package/dist/chunk-4tcx876c.js.map +19 -0
  126. package/dist/{chunk-vre348sb.js → chunk-52bk93x8.js} +2 -2
  127. package/dist/{chunk-4gmng3vf.js → chunk-5e43w60z.js} +2 -2
  128. package/dist/{chunk-91kcnbf0.js → chunk-6gmfggss.js} +22 -9
  129. package/dist/chunk-6gmfggss.js.map +10 -0
  130. package/dist/{chunk-33saed7g.js → chunk-7kg3k1m9.js} +1 -1
  131. package/dist/{chunk-7ecp4v7a.js → chunk-7mbzgd9m.js} +10 -4
  132. package/dist/{chunk-7ecp4v7a.js.map → chunk-7mbzgd9m.js.map} +3 -3
  133. package/dist/{chunk-b9affek3.js → chunk-7n440zgt.js} +30 -30
  134. package/dist/{chunk-b9affek3.js.map → chunk-7n440zgt.js.map} +4 -4
  135. package/dist/{chunk-kkqwzy6h.js → chunk-7t429e3f.js} +1 -1
  136. package/dist/{chunk-xcy5ddha.js → chunk-80mc0971.js} +356 -301
  137. package/dist/chunk-80mc0971.js.map +15 -0
  138. package/dist/{chunk-gf7yht60.js → chunk-85yvv5n0.js} +27 -10
  139. package/dist/chunk-85yvv5n0.js.map +12 -0
  140. package/dist/{chunk-6fsr7y93.js → chunk-8mx7qw3y.js} +14 -13
  141. package/dist/{chunk-6fsr7y93.js.map → chunk-8mx7qw3y.js.map} +4 -4
  142. package/dist/{chunk-kpx7jrmn.js → chunk-91mg3nj9.js} +59 -59
  143. package/dist/{chunk-kpx7jrmn.js.map → chunk-91mg3nj9.js.map} +5 -5
  144. package/dist/{chunk-2am3db31.js → chunk-9gyp8hg1.js} +2 -2
  145. package/dist/{chunk-ewqa58h9.js → chunk-9k93ah50.js} +4 -4
  146. package/dist/{chunk-ewqa58h9.js.map → chunk-9k93ah50.js.map} +1 -1
  147. package/dist/{chunk-4wn7bxxa.js → chunk-9ybhtmg4.js} +1 -1
  148. package/dist/{chunk-fc5zfxy1.js → chunk-a40ad1ft.js} +5 -13
  149. package/dist/chunk-a40ad1ft.js.map +10 -0
  150. package/dist/{chunk-dam456ve.js → chunk-aff7cyea.js} +431 -70
  151. package/dist/{chunk-dam456ve.js.map → chunk-aff7cyea.js.map} +10 -7
  152. package/dist/{chunk-y2aq6ag9.js → chunk-b38szspf.js} +5 -14
  153. package/dist/chunk-b38szspf.js.map +11 -0
  154. package/dist/{chunk-r2y23egw.js → chunk-bkpke1sg.js} +1 -10
  155. package/dist/chunk-bkpke1sg.js.map +10 -0
  156. package/dist/{chunk-xyvy73tj.js → chunk-bpgy64fw.js} +8 -3
  157. package/dist/chunk-bpgy64fw.js.map +12 -0
  158. package/dist/{chunk-rb143ggb.js → chunk-bwjcehza.js} +1 -1
  159. package/dist/{chunk-5thzcb8g.js → chunk-c85m1hyj.js} +2 -2
  160. package/dist/{chunk-e67ynxcr.js → chunk-d2ync1v3.js} +5 -5
  161. package/dist/{chunk-3rrezgyc.js → chunk-dnmadg9k.js} +2 -2
  162. package/dist/chunk-enpsx8k5.js +127 -0
  163. package/dist/chunk-enpsx8k5.js.map +10 -0
  164. package/dist/chunk-ey3pyej1.js +8807 -0
  165. package/dist/chunk-ey3pyej1.js.map +106 -0
  166. package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +1 -1
  167. package/dist/{chunk-9se093qz.js → chunk-gc4ntf7d.js} +4 -4
  168. package/dist/{chunk-9se093qz.js.map → chunk-gc4ntf7d.js.map} +1 -1
  169. package/dist/{chunk-98cw09sw.js → chunk-hkc3jct7.js} +4 -2
  170. package/dist/chunk-hkc3jct7.js.map +10 -0
  171. package/dist/{chunk-rpxz486p.js → chunk-hvsb78a1.js} +24 -8
  172. package/dist/{chunk-rpxz486p.js.map → chunk-hvsb78a1.js.map} +3 -3
  173. package/dist/{chunk-5yd8cchh.js → chunk-j2bp5ryw.js} +55 -246
  174. package/dist/{chunk-5yd8cchh.js.map → chunk-j2bp5ryw.js.map} +4 -4
  175. package/dist/{chunk-h3v76ams.js → chunk-jhm3zsa7.js} +25 -2
  176. package/dist/chunk-jhm3zsa7.js.map +12 -0
  177. package/dist/{chunk-w9yycd3t.js → chunk-kg5j6fct.js} +4 -8
  178. package/dist/{chunk-w9yycd3t.js.map → chunk-kg5j6fct.js.map} +3 -3
  179. package/dist/{chunk-vp3z1ckh.js → chunk-kyzq4wy9.js} +7 -7
  180. package/dist/{chunk-wr8qp979.js → chunk-m427qgq0.js} +9 -5
  181. package/dist/{chunk-wr8qp979.js.map → chunk-m427qgq0.js.map} +4 -3
  182. package/dist/{chunk-c2rga5cx.js → chunk-mfs23znk.js} +1 -1
  183. package/dist/{chunk-e1c18xjx.js → chunk-nq6gpjt7.js} +4 -45
  184. package/dist/{chunk-e1c18xjx.js.map → chunk-nq6gpjt7.js.map} +5 -5
  185. package/dist/{chunk-a7er86jd.js → chunk-nre82s12.js} +1 -1
  186. package/dist/{chunk-1hqwggsn.js → chunk-nzapm6p0.js} +1 -2
  187. package/dist/chunk-nzapm6p0.js.map +12 -0
  188. package/dist/{chunk-wt4szfec.js → chunk-pbcbn83d.js} +4 -4
  189. package/dist/{chunk-wt4szfec.js.map → chunk-pbcbn83d.js.map} +1 -1
  190. package/dist/{chunk-dmn70ztd.js → chunk-pfp1txq2.js} +25 -6
  191. package/dist/chunk-pfp1txq2.js.map +11 -0
  192. package/dist/chunk-pqajwytd.js.map +2 -2
  193. package/dist/{chunk-f1xh7a32.js → chunk-q1vkr2ys.js} +4 -4
  194. package/dist/chunk-rdghfsss.js.map +2 -2
  195. package/dist/{chunk-23xs4qp9.js → chunk-rhg02hxq.js} +4 -4
  196. package/dist/{chunk-cd234ba4.js → chunk-rz53yb4v.js} +10 -5
  197. package/dist/chunk-rz53yb4v.js.map +14 -0
  198. package/dist/{chunk-aq39q04r.js → chunk-s16apyk9.js} +104 -18
  199. package/dist/chunk-s16apyk9.js.map +16 -0
  200. package/dist/{chunk-69266efg.js → chunk-s54c868q.js} +12 -4
  201. package/dist/chunk-s54c868q.js.map +12 -0
  202. package/dist/{chunk-k4g51s47.js → chunk-t6vq7bff.js} +5 -5
  203. package/dist/{chunk-sk0hcjsz.js → chunk-tjb1mk5t.js} +3 -3
  204. package/dist/{chunk-cnb5kv05.js → chunk-tpn40322.js} +23 -8
  205. package/dist/chunk-tpn40322.js.map +19 -0
  206. package/dist/{chunk-rx7h5fdx.js → chunk-v9xd5wzd.js} +1 -1
  207. package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
  208. package/dist/chunk-wwdfe68s.js +128 -0
  209. package/dist/chunk-wwdfe68s.js.map +11 -0
  210. package/dist/{chunk-jnfxmr3f.js → chunk-wz0xs816.js} +6 -6
  211. package/dist/{chunk-jnfxmr3f.js.map → chunk-wz0xs816.js.map} +1 -1
  212. package/dist/chunk-xt1zt7gv.js +471 -0
  213. package/dist/chunk-xt1zt7gv.js.map +13 -0
  214. package/dist/chunk-y0c4e6ex.js +16 -0
  215. package/dist/chunk-y0c4e6ex.js.map +10 -0
  216. package/dist/{chunk-5be2ath4.js → chunk-y7rqfrgg.js} +20 -138
  217. package/dist/{chunk-5be2ath4.js.map → chunk-y7rqfrgg.js.map} +8 -9
  218. package/dist/{chunk-z5rnrmz1.js → chunk-yw9pyg66.js} +5 -3
  219. package/dist/chunk-yw9pyg66.js.map +11 -0
  220. package/dist/{chunk-dfm066qg.js → chunk-yxd3nnqt.js} +2 -29
  221. package/dist/chunk-yxd3nnqt.js.map +11 -0
  222. package/dist/{chunk-70jmg2zx.js → chunk-yzwja0mj.js} +4 -19
  223. package/dist/{chunk-70jmg2zx.js.map → chunk-yzwja0mj.js.map} +3 -3
  224. package/dist/{chunk-fggq3d9k.js → chunk-zrmy8zvw.js} +66 -47
  225. package/dist/{chunk-fggq3d9k.js.map → chunk-zrmy8zvw.js.map} +4 -4
  226. package/dist/datasets/builders.d.ts +12 -1
  227. package/dist/datasets/builders.d.ts.map +1 -1
  228. package/dist/datasets/execution.d.ts +27 -1
  229. package/dist/datasets/execution.d.ts.map +1 -1
  230. package/dist/datasets/index.d.ts +1 -1
  231. package/dist/datasets/index.d.ts.map +1 -1
  232. package/dist/datasets/types.d.ts +2 -0
  233. package/dist/datasets/types.d.ts.map +1 -1
  234. package/dist/datasets/write.d.ts +5 -0
  235. package/dist/datasets/write.d.ts.map +1 -1
  236. package/dist/datasets/write.js +10 -5
  237. package/dist/datasets/write.js.map +1 -1
  238. package/dist/deploy/index.d.ts +1 -1
  239. package/dist/deploy/index.d.ts.map +1 -1
  240. package/dist/deploy/internal.js +10 -8
  241. package/dist/deploy/internal.js.map +4 -4
  242. package/dist/deploy/services.d.ts +1 -2
  243. package/dist/deploy/services.d.ts.map +1 -1
  244. package/dist/deploy/types.d.ts +6 -5
  245. package/dist/deploy/types.d.ts.map +1 -1
  246. package/dist/deploy/validation.d.ts.map +1 -1
  247. package/dist/edits/index.js +3 -5
  248. package/dist/edits/index.js.map +1 -1
  249. package/dist/edits/properties.d.ts.map +1 -1
  250. package/dist/error-reporting/internal.js +3 -3
  251. package/dist/error-reporting/types.d.ts +2 -9
  252. package/dist/error-reporting/types.d.ts.map +1 -1
  253. package/dist/errors/catalog.d.ts +12 -0
  254. package/dist/errors/catalog.d.ts.map +1 -1
  255. package/dist/errors/internal.js +1 -1
  256. package/dist/events/definitions.d.ts +0 -5
  257. package/dist/events/definitions.d.ts.map +1 -1
  258. package/dist/events/execution.d.ts +2 -1
  259. package/dist/events/execution.d.ts.map +1 -1
  260. package/dist/events/index.d.ts +3 -3
  261. package/dist/events/index.d.ts.map +1 -1
  262. package/dist/events/index.js +6 -8
  263. package/dist/events/index.js.map +1 -1
  264. package/dist/events/scope.d.ts +0 -1
  265. package/dist/events/scope.d.ts.map +1 -1
  266. package/dist/events/scope.js +1 -1
  267. package/dist/events/selectors/builder.d.ts +1 -8
  268. package/dist/events/selectors/builder.d.ts.map +1 -1
  269. package/dist/events/selectors/index.d.ts +2 -2
  270. package/dist/events/selectors/index.d.ts.map +1 -1
  271. package/dist/events/selectors/index.js +2 -2
  272. package/dist/events/selectors/predicate.d.ts.map +1 -1
  273. package/dist/events/selectors/types.d.ts +2 -33
  274. package/dist/events/selectors/types.d.ts.map +1 -1
  275. package/dist/events/types/index.d.ts +1 -12
  276. package/dist/events/types/index.d.ts.map +1 -1
  277. package/dist/events/types/objects.d.ts +5 -0
  278. package/dist/events/types/objects.d.ts.map +1 -1
  279. package/dist/execution/agent.d.ts +10 -0
  280. package/dist/execution/agent.d.ts.map +1 -1
  281. package/dist/execution/agent.js +50 -48
  282. package/dist/execution/agent.js.map +1 -1
  283. package/dist/execution/authorized-object-reader.d.ts +6 -1
  284. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  285. package/dist/execution/primitive.js +60 -88
  286. package/dist/execution/primitive.js.map +3 -4
  287. package/dist/execution/request.js +46 -46
  288. package/dist/execution/request.js.map +1 -1
  289. package/dist/http/api-routes.d.ts.map +1 -1
  290. package/dist/http/index.js +1 -1
  291. package/dist/index.d.ts +12 -11
  292. package/dist/index.d.ts.map +1 -1
  293. package/dist/index.js +120 -124
  294. package/dist/index.js.map +1 -1
  295. package/dist/lake-storage/index.js +8 -5
  296. package/dist/lake-storage/index.js.map +1 -1
  297. package/dist/materialization/index.js +3 -3
  298. package/dist/materialization/index.js.map +1 -1
  299. package/dist/materialization/model.d.ts +19 -6
  300. package/dist/materialization/model.d.ts.map +1 -1
  301. package/dist/materializer/index.js +35 -32
  302. package/dist/materializer/index.js.map +1 -1
  303. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  304. package/dist/models/catalog.d.ts +1 -1
  305. package/dist/models/catalog.d.ts.map +1 -1
  306. package/dist/models/execution/binding.d.ts +6 -0
  307. package/dist/models/execution/binding.d.ts.map +1 -1
  308. package/dist/models/execution/index.js +26 -23
  309. package/dist/models/execution/index.js.map +1 -1
  310. package/dist/models/execution/model-call-recorder.d.ts +4 -0
  311. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  312. package/dist/models/execution.d.ts.map +1 -1
  313. package/dist/models/index.js +1 -1
  314. package/dist/models/language-model.d.ts +6 -0
  315. package/dist/models/language-model.d.ts.map +1 -1
  316. package/dist/objects/action/errors.d.ts +0 -9
  317. package/dist/objects/action/errors.d.ts.map +1 -1
  318. package/dist/objects/action/index.d.ts +3 -3
  319. package/dist/objects/action/index.d.ts.map +1 -1
  320. package/dist/objects/action/request.d.ts +2 -8
  321. package/dist/objects/action/request.d.ts.map +1 -1
  322. package/dist/objects/context/index.d.ts +1 -1
  323. package/dist/objects/context/index.d.ts.map +1 -1
  324. package/dist/objects/context/types.d.ts +6 -0
  325. package/dist/objects/context/types.d.ts.map +1 -1
  326. package/dist/objects/execution.d.ts +2 -3
  327. package/dist/objects/execution.d.ts.map +1 -1
  328. package/dist/objects/index.js +49 -30
  329. package/dist/objects/index.js.map +1 -1
  330. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  331. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  332. package/dist/objects/object/upsert.d.ts.map +1 -1
  333. package/dist/objects/property-clearance.d.ts +41 -0
  334. package/dist/objects/property-clearance.d.ts.map +1 -0
  335. package/dist/objects/query/executor.d.ts +3 -0
  336. package/dist/objects/query/executor.d.ts.map +1 -1
  337. package/dist/objects/query/index.js +34 -31
  338. package/dist/objects/query/index.js.map +1 -1
  339. package/dist/objects/query/validate.d.ts +10 -1
  340. package/dist/objects/query/validate.d.ts.map +1 -1
  341. package/dist/objects/sdk/file-handle.d.ts +6 -0
  342. package/dist/objects/sdk/file-handle.d.ts.map +1 -0
  343. package/dist/objects/sdk/object-handle.d.ts +2 -2
  344. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  345. package/dist/objects/sdk/object-set.d.ts +2 -0
  346. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  347. package/dist/objects/service/index.d.ts +0 -1
  348. package/dist/objects/service/index.d.ts.map +1 -1
  349. package/dist/ontology/builders.d.ts +12 -1
  350. package/dist/ontology/builders.d.ts.map +1 -1
  351. package/dist/ontology/docs-markdown.d.ts +35 -0
  352. package/dist/ontology/docs-markdown.d.ts.map +1 -0
  353. package/dist/ontology/docs.d.ts +50 -0
  354. package/dist/ontology/docs.d.ts.map +1 -0
  355. package/dist/ontology/index.js +7 -4
  356. package/dist/ontology/index.js.map +1 -1
  357. package/dist/ontology/inference/index.d.ts +19 -0
  358. package/dist/ontology/inference/index.d.ts.map +1 -1
  359. package/dist/ontology/internal.d.ts +3 -1
  360. package/dist/ontology/internal.d.ts.map +1 -1
  361. package/dist/ontology/internal.js +276 -3
  362. package/dist/ontology/internal.js.map +4 -3
  363. package/dist/ontology/tokens.d.ts +8 -1
  364. package/dist/ontology/tokens.d.ts.map +1 -1
  365. package/dist/ontology/types.d.ts +5 -0
  366. package/dist/ontology/types.d.ts.map +1 -1
  367. package/dist/ontology/validation/index.d.ts +1 -1
  368. package/dist/ontology/validation/index.d.ts.map +1 -1
  369. package/dist/ontology/validation/schema.d.ts +7 -0
  370. package/dist/ontology/validation/schema.d.ts.map +1 -1
  371. package/dist/pipelines/index.js +34 -31
  372. package/dist/pipelines/index.js.map +1 -1
  373. package/dist/projections/internal.js +27 -24
  374. package/dist/projections/internal.js.map +1 -1
  375. package/dist/query.js +2 -2
  376. package/dist/queues/in-memory.d.ts +1 -2
  377. package/dist/queues/in-memory.d.ts.map +1 -1
  378. package/dist/queues/index.d.ts +1 -1
  379. package/dist/queues/index.d.ts.map +1 -1
  380. package/dist/queues/index.js +1 -1
  381. package/dist/queues/types.d.ts +0 -7
  382. package/dist/queues/types.d.ts.map +1 -1
  383. package/dist/runtime/create.d.ts +11 -2
  384. package/dist/runtime/create.d.ts.map +1 -1
  385. package/dist/runtime/definitions.d.ts +3 -1
  386. package/dist/runtime/definitions.d.ts.map +1 -1
  387. package/dist/runtime/host.d.ts +13 -2
  388. package/dist/runtime/host.d.ts.map +1 -1
  389. package/dist/runtime/index.d.ts +1 -1
  390. package/dist/runtime/index.d.ts.map +1 -1
  391. package/dist/runtime/internal.js +30 -28
  392. package/dist/runtime/internal.js.map +1 -1
  393. package/dist/runtime/locale.d.ts +9 -0
  394. package/dist/runtime/locale.d.ts.map +1 -0
  395. package/dist/runtime/resolve-definitions.d.ts +4 -2
  396. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  397. package/dist/runtime/types.d.ts +46 -39
  398. package/dist/runtime/types.d.ts.map +1 -1
  399. package/dist/sandboxes/index.js +7 -6
  400. package/dist/sandboxes/index.js.map +1 -1
  401. package/dist/scheduler/index.js +1 -1
  402. package/dist/scheduler/runtime.d.ts +3 -0
  403. package/dist/scheduler/runtime.d.ts.map +1 -1
  404. package/dist/schedules/builders.d.ts.map +1 -1
  405. package/dist/schedules/index.js +3 -3
  406. package/dist/schedules/runtime.d.ts.map +1 -1
  407. package/dist/schedules/validation.d.ts +0 -1
  408. package/dist/schedules/validation.d.ts.map +1 -1
  409. package/dist/security/builders.d.ts +11 -2
  410. package/dist/security/builders.d.ts.map +1 -1
  411. package/dist/security/every.d.ts +1 -1
  412. package/dist/security/index.d.ts +4 -4
  413. package/dist/security/index.d.ts.map +1 -1
  414. package/dist/security/markings.d.ts +19 -0
  415. package/dist/security/markings.d.ts.map +1 -0
  416. package/dist/security/redactions.d.ts +4 -0
  417. package/dist/security/redactions.d.ts.map +1 -0
  418. package/dist/security/registry.d.ts +7 -1
  419. package/dist/security/registry.d.ts.map +1 -1
  420. package/dist/security/types.d.ts +25 -0
  421. package/dist/security/types.d.ts.map +1 -1
  422. package/dist/security/validation.d.ts +4 -1
  423. package/dist/security/validation.d.ts.map +1 -1
  424. package/dist/shares/internal.js +24 -21
  425. package/dist/shares/internal.js.map +2 -2
  426. package/dist/storage/action-runs/failure.js +2 -2
  427. package/dist/storage/action-runs/idempotency.d.ts +3 -4
  428. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  429. package/dist/storage/action-runs/in-memory.d.ts +2 -9
  430. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  431. package/dist/storage/action-runs/index.d.ts +1 -3
  432. package/dist/storage/action-runs/index.d.ts.map +1 -1
  433. package/dist/storage/action-runs/provider.js +1 -1
  434. package/dist/storage/action-runs/record.d.ts +20 -0
  435. package/dist/storage/action-runs/record.d.ts.map +1 -0
  436. package/dist/storage/action-runs/types.d.ts +39 -68
  437. package/dist/storage/action-runs/types.d.ts.map +1 -1
  438. package/dist/storage/agents/provider.d.ts.map +1 -1
  439. package/dist/storage/agents/provider.js +5 -4
  440. package/dist/storage/agents/provider.js.map +1 -1
  441. package/dist/storage/agents/types.d.ts +15 -9
  442. package/dist/storage/agents/types.d.ts.map +1 -1
  443. package/dist/storage/ai-limits/enforcement.js +2 -2
  444. package/dist/storage/connector-connections/provider.js +1 -1
  445. package/dist/storage/file-upload-sessions/provider.js +12 -9
  446. package/dist/storage/file-upload-sessions/provider.js.map +1 -1
  447. package/dist/storage/index.d.ts +3 -2
  448. package/dist/storage/index.d.ts.map +1 -1
  449. package/dist/storage/index.js +36 -34
  450. package/dist/storage/index.js.map +1 -1
  451. package/dist/storage/internal.d.ts +1 -1
  452. package/dist/storage/internal.d.ts.map +1 -1
  453. package/dist/storage/internal.js +11 -13
  454. package/dist/storage/internal.js.map +1 -1
  455. package/dist/storage/objects/execution-limits.d.ts +1 -1
  456. package/dist/storage/objects/execution-limits.d.ts.map +1 -1
  457. package/dist/storage/objects/types.d.ts +7 -0
  458. package/dist/storage/objects/types.d.ts.map +1 -1
  459. package/dist/storage/ontology/provider.js +2 -2
  460. package/dist/storage/projection-runs/provider.js +2 -2
  461. package/dist/storage/types.d.ts +1 -1
  462. package/dist/storage/types.d.ts.map +1 -1
  463. package/dist/storage/workflow-runs/provider.js +12 -9
  464. package/dist/storage/workflow-runs/provider.js.map +1 -1
  465. package/dist/syncs/index.js +35 -32
  466. package/dist/syncs/index.js.map +1 -1
  467. package/dist/testing/action-execution.d.ts +34 -4
  468. package/dist/testing/action-execution.d.ts.map +1 -1
  469. package/dist/testing/action-run-storage-contract.d.ts +11 -0
  470. package/dist/testing/action-run-storage-contract.d.ts.map +1 -0
  471. package/dist/testing/index.d.ts +2 -1
  472. package/dist/testing/index.d.ts.map +1 -1
  473. package/dist/testing/index.js +3213 -2869
  474. package/dist/testing/index.js.map +7 -6
  475. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  476. package/dist/testing/queues-contract.d.ts.map +1 -1
  477. package/dist/webhooks/internal.js +29 -26
  478. package/dist/webhooks/internal.js.map +2 -2
  479. package/dist/workers/index.js +1 -1
  480. package/dist/workflows/builders.d.ts.map +1 -1
  481. package/dist/workflows/index.js +55 -55
  482. package/dist/workflows/index.js.map +1 -1
  483. package/dist/workflows/request.d.ts.map +1 -1
  484. package/dist/workflows/types.d.ts +6 -3
  485. package/dist/workflows/types.d.ts.map +1 -1
  486. package/dist/workflows/validation.d.ts +2 -1
  487. package/dist/workflows/validation.d.ts.map +1 -1
  488. package/package.json +1 -7
  489. package/src/actions/commit-edits.ts +9 -37
  490. package/src/actions/errors.ts +0 -4
  491. package/src/actions/execution.ts +10 -10
  492. package/src/actions/index.ts +5 -24
  493. package/src/actions/read-facade.ts +2 -1
  494. package/src/actions/request.ts +157 -295
  495. package/src/actions/run/context.ts +193 -0
  496. package/src/actions/run/edits-commit.ts +102 -0
  497. package/src/actions/run/effects.ts +105 -0
  498. package/src/actions/run/execute.ts +113 -0
  499. package/src/actions/run/executor.ts +314 -0
  500. package/src/actions/run/normalize.ts +142 -0
  501. package/src/actions/run/phase-types.ts +20 -0
  502. package/src/actions/run/phases.ts +150 -0
  503. package/src/actions/run/run-action.ts +170 -0
  504. package/src/actions/run/signals.ts +118 -0
  505. package/src/actions/run/state.ts +95 -0
  506. package/src/actions/run/types.ts +61 -0
  507. package/src/actions/run/writeback.ts +79 -0
  508. package/src/actions/run-authorization.ts +1 -1
  509. package/src/actions/run-persistence.ts +105 -0
  510. package/src/actions/types/context.ts +10 -0
  511. package/src/actions/validation.ts +4 -1
  512. package/src/agents/adapters.ts +15 -0
  513. package/src/agents/authority.ts +15 -0
  514. package/src/agents/context/entries.ts +48 -4
  515. package/src/agents/context/index.ts +1 -0
  516. package/src/agents/context-compaction.ts +6 -0
  517. package/src/agents/errors.ts +3 -0
  518. package/src/agents/index.ts +13 -1
  519. package/src/agents/message.ts +9 -0
  520. package/src/agents/request.ts +178 -22
  521. package/src/agents/skills.ts +63 -0
  522. package/src/agents/types.ts +35 -5
  523. package/src/auth/runtime.ts +14 -0
  524. package/src/auth/types.ts +6 -0
  525. package/src/authorization/event-visibility.ts +0 -12
  526. package/src/authorization/resolve.ts +6 -1
  527. package/src/authorization/types.ts +7 -0
  528. package/src/blob-storage/execution.ts +12 -0
  529. package/src/blob-storage/file-content.ts +106 -0
  530. package/src/blob-storage/index.ts +1 -0
  531. package/src/blob-storage/internal.ts +7 -0
  532. package/src/blob-storage/media-type.ts +29 -0
  533. package/src/blob-storage/types.ts +13 -1
  534. package/src/blob-storage/validation.ts +13 -0
  535. package/src/bootstrap/agent-context.ts +356 -0
  536. package/src/bootstrap/discovery.ts +100 -33
  537. package/src/bootstrap/index.ts +1 -1
  538. package/src/bootstrap/ontology-type-manifest.ts +3 -38
  539. package/src/datasets/builders.ts +17 -1
  540. package/src/datasets/execution.ts +110 -2
  541. package/src/datasets/index.ts +7 -1
  542. package/src/datasets/types.ts +2 -0
  543. package/src/datasets/write.ts +21 -2
  544. package/src/deploy/index.ts +0 -1
  545. package/src/deploy/services.ts +2 -11
  546. package/src/deploy/types.ts +6 -6
  547. package/src/deploy/validation.ts +12 -6
  548. package/src/edits/properties.ts +3 -0
  549. package/src/error-reporting/types.ts +2 -10
  550. package/src/errors/catalog.ts +13 -0
  551. package/src/events/definitions.ts +0 -17
  552. package/src/events/execution.ts +15 -16
  553. package/src/events/index.ts +0 -14
  554. package/src/events/scope.ts +0 -12
  555. package/src/events/selectors/builder.ts +0 -51
  556. package/src/events/selectors/index.ts +0 -6
  557. package/src/events/selectors/predicate.ts +0 -2
  558. package/src/events/selectors/types.ts +7 -65
  559. package/src/events/types/index.ts +0 -11
  560. package/src/events/types/objects.ts +5 -0
  561. package/src/execution/agent.ts +27 -0
  562. package/src/execution/authorization.ts +1 -0
  563. package/src/execution/authorized-object-reader.ts +96 -34
  564. package/src/execution/scopes.ts +2 -6
  565. package/src/http/api-routes.ts +4 -3
  566. package/src/index.ts +28 -21
  567. package/src/materialization/model.ts +26 -9
  568. package/src/materializer/README.md +6 -1
  569. package/src/materializer/edits/commit.ts +42 -32
  570. package/src/materializer/shared/normalize.ts +25 -14
  571. package/src/models/catalog.ts +26 -2
  572. package/src/models/execution/README.md +4 -3
  573. package/src/models/execution/binding.ts +6 -0
  574. package/src/models/execution/model-call-recorder.ts +10 -0
  575. package/src/models/execution/session.ts +2 -2
  576. package/src/models/execution.ts +6 -2
  577. package/src/models/language-model.ts +6 -0
  578. package/src/objects/action/errors.ts +0 -12
  579. package/src/objects/action/index.ts +3 -3
  580. package/src/objects/action/request.ts +2 -29
  581. package/src/objects/context/index.ts +1 -0
  582. package/src/objects/context/types.ts +7 -0
  583. package/src/objects/execution.ts +6 -3
  584. package/src/objects/materializer-adapter.ts +3 -0
  585. package/src/objects/object/upsert-batch.ts +4 -1
  586. package/src/objects/object/upsert.ts +3 -1
  587. package/src/objects/property-clearance.ts +209 -0
  588. package/src/objects/query/executor.ts +43 -36
  589. package/src/objects/query/validate.ts +133 -14
  590. package/src/objects/sdk/file-handle.ts +77 -0
  591. package/src/objects/sdk/object-handle.ts +11 -33
  592. package/src/objects/sdk/object-set.ts +10 -32
  593. package/src/objects/service/index.ts +0 -1
  594. package/src/ontology/builders.ts +18 -2
  595. package/src/ontology/docs-markdown.ts +394 -0
  596. package/src/ontology/docs.ts +196 -0
  597. package/src/ontology/inference/index.ts +25 -0
  598. package/src/ontology/internal.ts +7 -0
  599. package/src/ontology/tokens.ts +13 -2
  600. package/src/ontology/types.ts +5 -0
  601. package/src/ontology/validation/index.ts +1 -0
  602. package/src/ontology/validation/schema.ts +26 -1
  603. package/src/queues/in-memory.ts +0 -6
  604. package/src/queues/index.ts +0 -2
  605. package/src/queues/types.ts +0 -11
  606. package/src/runtime/create.ts +34 -4
  607. package/src/runtime/definitions.ts +3 -1
  608. package/src/runtime/host.ts +50 -1
  609. package/src/runtime/index.ts +3 -0
  610. package/src/runtime/locale.ts +26 -0
  611. package/src/runtime/resolve-definitions.ts +28 -2
  612. package/src/runtime/sixb.ts +1 -1
  613. package/src/runtime/types.ts +55 -48
  614. package/src/scheduler/runtime.ts +11 -2
  615. package/src/schedules/builders.ts +1 -4
  616. package/src/schedules/runtime.ts +0 -41
  617. package/src/schedules/validation.ts +2 -16
  618. package/src/security/builders.ts +49 -5
  619. package/src/security/every.ts +1 -1
  620. package/src/security/index.ts +6 -1
  621. package/src/security/markings.ts +313 -0
  622. package/src/security/redactions.ts +6 -0
  623. package/src/security/registry.ts +21 -1
  624. package/src/security/types.ts +26 -0
  625. package/src/security/validation.ts +59 -2
  626. package/src/storage/action-runs/idempotency.ts +13 -41
  627. package/src/storage/action-runs/in-memory.ts +20 -311
  628. package/src/storage/action-runs/index.ts +1 -16
  629. package/src/storage/action-runs/record.ts +130 -0
  630. package/src/storage/action-runs/types.ts +37 -92
  631. package/src/storage/agents/provider.ts +11 -0
  632. package/src/storage/agents/types.ts +15 -7
  633. package/src/storage/index.ts +2 -9
  634. package/src/storage/internal.ts +1 -7
  635. package/src/storage/objects/execution-limits.ts +3 -2
  636. package/src/storage/objects/types.ts +7 -0
  637. package/src/storage/types.ts +2 -4
  638. package/src/testing/action-execution.ts +73 -13
  639. package/src/testing/action-run-storage-contract.ts +335 -0
  640. package/src/testing/index.ts +8 -1
  641. package/src/testing/materializer-storage-contract.ts +174 -18
  642. package/src/testing/queues-contract.ts +0 -18
  643. package/src/workflows/builders.ts +24 -1
  644. package/src/workflows/request.ts +3 -0
  645. package/src/workflows/types.ts +6 -3
  646. package/src/workflows/validation.ts +32 -4
  647. package/dist/actions/run-dispatch.d.ts +0 -25
  648. package/dist/actions/run-dispatch.d.ts.map +0 -1
  649. package/dist/actions/worker.d.ts +0 -3
  650. package/dist/actions/worker.d.ts.map +0 -1
  651. package/dist/actions/worker.js +0 -321
  652. package/dist/actions/worker.js.map +0 -11
  653. package/dist/chunk-10styjgk.js +0 -1572
  654. package/dist/chunk-10styjgk.js.map +0 -20
  655. package/dist/chunk-1hqwggsn.js.map +0 -12
  656. package/dist/chunk-52c5zb0z.js +0 -81
  657. package/dist/chunk-52c5zb0z.js.map +0 -10
  658. package/dist/chunk-69266efg.js.map +0 -12
  659. package/dist/chunk-6wbm6ymz.js +0 -4399
  660. package/dist/chunk-6wbm6ymz.js.map +0 -48
  661. package/dist/chunk-85cd7e8c.js +0 -51
  662. package/dist/chunk-85cd7e8c.js.map +0 -10
  663. package/dist/chunk-91kcnbf0.js.map +0 -10
  664. package/dist/chunk-98cw09sw.js.map +0 -10
  665. package/dist/chunk-9g6jz9kk.js +0 -592
  666. package/dist/chunk-9g6jz9kk.js.map +0 -15
  667. package/dist/chunk-9vx5e9g1.js.map +0 -11
  668. package/dist/chunk-aq39q04r.js.map +0 -15
  669. package/dist/chunk-cd234ba4.js.map +0 -14
  670. package/dist/chunk-cnb5kv05.js.map +0 -19
  671. package/dist/chunk-dfm066qg.js.map +0 -11
  672. package/dist/chunk-dmn70ztd.js.map +0 -11
  673. package/dist/chunk-fc5zfxy1.js.map +0 -11
  674. package/dist/chunk-gf7yht60.js.map +0 -12
  675. package/dist/chunk-h3v76ams.js.map +0 -11
  676. package/dist/chunk-pja9jfz6.js.map +0 -19
  677. package/dist/chunk-r2y23egw.js.map +0 -10
  678. package/dist/chunk-t9shqx3w.js.map +0 -12
  679. package/dist/chunk-tjjgy3z4.js +0 -1277
  680. package/dist/chunk-tjjgy3z4.js.map +0 -35
  681. package/dist/chunk-xcy5ddha.js.map +0 -15
  682. package/dist/chunk-xyvy73tj.js.map +0 -12
  683. package/dist/chunk-y2aq6ag9.js.map +0 -11
  684. package/dist/chunk-z5rnrmz1.js.map +0 -11
  685. package/dist/chunk-zvx7h87b.js +0 -12
  686. package/dist/chunk-zvx7h87b.js.map +0 -10
  687. package/dist/events/types/actions.d.ts +0 -39
  688. package/dist/events/types/actions.d.ts.map +0 -1
  689. package/dist/objects/service/action-service.d.ts +0 -13
  690. package/dist/objects/service/action-service.d.ts.map +0 -1
  691. package/src/actions/run-dispatch.ts +0 -282
  692. package/src/actions/worker.ts +0 -2
  693. package/src/events/types/actions.ts +0 -42
  694. package/src/objects/service/action-service.ts +0 -43
  695. /package/dist/{chunk-jjrn5v0p.js.map → chunk-1k89ecfr.js.map} +0 -0
  696. /package/dist/{chunk-vre348sb.js.map → chunk-52bk93x8.js.map} +0 -0
  697. /package/dist/{chunk-4gmng3vf.js.map → chunk-5e43w60z.js.map} +0 -0
  698. /package/dist/{chunk-33saed7g.js.map → chunk-7kg3k1m9.js.map} +0 -0
  699. /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
  700. /package/dist/{chunk-2am3db31.js.map → chunk-9gyp8hg1.js.map} +0 -0
  701. /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
  702. /package/dist/{chunk-rb143ggb.js.map → chunk-bwjcehza.js.map} +0 -0
  703. /package/dist/{chunk-5thzcb8g.js.map → chunk-c85m1hyj.js.map} +0 -0
  704. /package/dist/{chunk-e67ynxcr.js.map → chunk-d2ync1v3.js.map} +0 -0
  705. /package/dist/{chunk-3rrezgyc.js.map → chunk-dnmadg9k.js.map} +0 -0
  706. /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
  707. /package/dist/{chunk-vp3z1ckh.js.map → chunk-kyzq4wy9.js.map} +0 -0
  708. /package/dist/{chunk-c2rga5cx.js.map → chunk-mfs23znk.js.map} +0 -0
  709. /package/dist/{chunk-a7er86jd.js.map → chunk-nre82s12.js.map} +0 -0
  710. /package/dist/{chunk-f1xh7a32.js.map → chunk-q1vkr2ys.js.map} +0 -0
  711. /package/dist/{chunk-23xs4qp9.js.map → chunk-rhg02hxq.js.map} +0 -0
  712. /package/dist/{chunk-k4g51s47.js.map → chunk-t6vq7bff.js.map} +0 -0
  713. /package/dist/{chunk-sk0hcjsz.js.map → chunk-tjb1mk5t.js.map} +0 -0
  714. /package/dist/{chunk-rx7h5fdx.js.map → chunk-v9xd5wzd.js.map} +0 -0
  715. /package/dist/{chunk-2vhg6ysa.js.map → chunk-vyf9kfqf.js.map} +0 -0
@@ -136,6 +136,7 @@ export function defineAgentStep<const TId extends string>(
136
136
  const { model, reasoning, instructions } = config
137
137
  const groupIds = groupIdsFromAgentStepConfig(id, config)
138
138
  const toolNames = toolNamesFromAgentStepConfig(id, config)
139
+ const skillNames = skillNamesFromAgentStepConfig(id, config)
139
140
 
140
141
  return {
141
142
  input(input: RuntimeWorkflowInput): unknown {
@@ -154,6 +155,7 @@ export function defineAgentStep<const TId extends string>(
154
155
  instructions,
155
156
  groupIds,
156
157
  toolNames,
158
+ skillNames,
157
159
  input,
158
160
  output,
159
161
  prompt,
@@ -208,9 +210,30 @@ function toolNamesFromAgentStepConfig(
208
210
  return Object.freeze(toolNames)
209
211
  }
210
212
 
213
+ function skillNamesFromAgentStepConfig(
214
+ stepId: string,
215
+ config: DefineAgentStepConfig
216
+ ): readonly string[] {
217
+ if (config.skills !== undefined && !Array.isArray(config.skills)) {
218
+ throw new WorkflowDefinitionError(
219
+ `Agent step "${stepId}" skills must be an array of Agent Skill names.`
220
+ )
221
+ }
222
+ const skillNames = Array.from(config.skills ?? [], (name) => {
223
+ if (typeof name !== "string" || !name.trim()) {
224
+ throw new WorkflowDefinitionError(
225
+ `Agent step "${stepId}" skills must contain only non-empty Agent Skill names.`
226
+ )
227
+ }
228
+ return name
229
+ })
230
+ assertUniqueAgentStepValues(stepId, "skill", skillNames)
231
+ return Object.freeze(skillNames)
232
+ }
233
+
211
234
  function assertUniqueAgentStepValues(
212
235
  stepId: string,
213
- kind: "group" | "tool",
236
+ kind: "group" | "tool" | "skill",
214
237
  values: readonly string[]
215
238
  ): void {
216
239
  const seen = new Set<string>()
@@ -6,6 +6,7 @@ import {
6
6
  executionRecordInputFromRuntime,
7
7
  } from "../execution/durable"
8
8
  import type { ExecutionContext } from "../execution/types"
9
+ import { assertValidFileRefs } from "../ontology/validation"
9
10
  import type { SixbRuntimeContext } from "../runtime/types"
10
11
  import { dispatchWorkflowRun } from "./run-dispatch"
11
12
  import type { WorkflowDefinition, WorkflowRunSource } from "./types"
@@ -49,6 +50,8 @@ export async function requestWorkflowRun(
49
50
  authorization: runtime.runtimeAuthorization,
50
51
  })
51
52
  assertAuthorized(runtime, { kind: "workflow.run", workflowId: workflow.id })
53
+ // Only caller input: automatic runs carry stored data, which may predate the rule.
54
+ assertValidFileRefs(options.input, `Workflow "${workflow.id}" input`)
52
55
  return dispatchWorkflowRun({
53
56
  errorReporterHost: runtime,
54
57
  projectId: runtime.projectId,
@@ -6,7 +6,7 @@ import type {
6
6
  } from "../actions"
7
7
  import type { ActionsRuntime } from "../actions/execution"
8
8
  import type { AgentRuntime } from "../agents/execution"
9
- import type { AgentReasoningLevel, AgentToolDefinition } from "../agents/types"
9
+ import type { AgentReasoning, AgentToolDefinition } from "../agents/types"
10
10
  import type { Principal } from "../auth"
11
11
  import type { BlobsRuntime } from "../blob-storage/execution"
12
12
  import type { ConnectorRuntime } from "../connectors/execution"
@@ -140,11 +140,13 @@ export type AgentStepPrompt<TInput extends Record<string, unknown>> = (
140
140
  /** Runtime configuration owned directly by a workflow Agent step. */
141
141
  export interface DefineAgentStepConfig {
142
142
  readonly model?: LanguageModel
143
- readonly reasoning?: AgentReasoningLevel
143
+ readonly reasoning?: AgentReasoning
144
144
  readonly instructions: string
145
145
  readonly groups?: readonly GroupDefinition[]
146
146
  /** Project tools this workflow task may call. Defaults to none. */
147
147
  readonly tools?: readonly AgentToolDefinition[]
148
+ /** Names of the project Agent Skills (`skills/<name>/`) this workflow task may use. Defaults to none. */
149
+ readonly skills?: readonly string[]
148
150
  }
149
151
 
150
152
  export interface AgentStepDefinition<
@@ -157,10 +159,11 @@ export interface AgentStepDefinition<
157
159
  readonly kind: "agentStep"
158
160
  readonly id: TId
159
161
  readonly model?: LanguageModel
160
- readonly reasoning?: AgentReasoningLevel
162
+ readonly reasoning?: AgentReasoning
161
163
  readonly instructions: string
162
164
  readonly groupIds: readonly string[]
163
165
  readonly toolNames: readonly string[]
166
+ readonly skillNames: readonly string[]
164
167
  readonly input: TInput
165
168
  readonly output: TOutput
166
169
  readonly prompt: AgentStepPrompt<Record<string, unknown>>
@@ -1,7 +1,7 @@
1
1
  import { isActionDefinition } from "../actions"
2
- import type { AgentToolCatalog } from "../agents"
2
+ import type { AgentSkillCatalog, AgentToolCatalog } from "../agents"
3
3
  import type { ModelCatalog } from "../models"
4
- import { isModelReasoning } from "../models/language-model"
4
+ import { isModelReasoning, modelReasoningSupportIssue } from "../models/language-model"
5
5
  import type { SchemaOrRef, ValueType } from "../ontology"
6
6
  import { validateSchemaOrRefValue } from "../ontology/refs"
7
7
  import type { ScheduleDefinition } from "../schedules"
@@ -53,6 +53,7 @@ export function isAgentStepDefinition(value: unknown): value is AgentStepDefinit
53
53
  typeof value.instructions === "string" &&
54
54
  isStringArray(value.groupIds) &&
55
55
  isStringArray(value.toolNames) &&
56
+ isStringArray(value.skillNames) &&
56
57
  isRecord(value.input) &&
57
58
  isRecord(value.output) &&
58
59
  typeof value.prompt === "function"
@@ -120,6 +121,7 @@ export function validateWorkflowsAtStartup(options: {
120
121
  registeredActionIds: ReadonlySet<string>
121
122
  models?: ModelCatalog
122
123
  tools: AgentToolCatalog
124
+ skills: AgentSkillCatalog
123
125
  }): readonly WorkflowDefinition[] {
124
126
  for (const workflow of options.workflows) {
125
127
  validateWorkflowDefinition(workflow)
@@ -170,7 +172,11 @@ export function validateWorkflowAgentStepGroupReferences(
170
172
  function validateWorkflowAgentStepRuntimeReferences(
171
173
  workflowId: string,
172
174
  step: AgentStepDefinition,
173
- options: { readonly models?: ModelCatalog; readonly tools: AgentToolCatalog }
175
+ options: {
176
+ readonly models?: ModelCatalog
177
+ readonly tools: AgentToolCatalog
178
+ readonly skills: AgentSkillCatalog
179
+ }
174
180
  ): void {
175
181
  if (step.model === undefined && options.models?.language === undefined) {
176
182
  throw new WorkflowDefinitionError(
@@ -185,6 +191,20 @@ function validateWorkflowAgentStepRuntimeReferences(
185
191
  )
186
192
  }
187
193
  }
194
+ // Same rule as a catalog default: checked against the capabilities the model declares, so an
195
+ // effort or token budget outside them fails at startup rather than on the step's first run.
196
+ const model = step.model ?? options.models?.language?.default?.model
197
+ if (step.reasoning !== undefined && model !== undefined) {
198
+ const issue = modelReasoningSupportIssue(
199
+ model.definition.capabilities.reasoning,
200
+ step.reasoning
201
+ )
202
+ if (issue !== undefined) {
203
+ throw new WorkflowDefinitionError(
204
+ `Workflow "${workflowId}" agent step "${step.id}" cannot use its reasoning with language model "${model.providerId}/${model.modelId}": ${issue}.`
205
+ )
206
+ }
207
+ }
188
208
  for (const toolName of step.toolNames) {
189
209
  if (options.tools.getByName(toolName) === null) {
190
210
  throw new WorkflowDefinitionError(
@@ -192,6 +212,13 @@ function validateWorkflowAgentStepRuntimeReferences(
192
212
  )
193
213
  }
194
214
  }
215
+ for (const skillName of step.skillNames) {
216
+ if (options.skills.getByName(skillName) === null) {
217
+ throw new WorkflowDefinitionError(
218
+ `Workflow "${workflowId}" agent step "${step.id}" uses unknown Agent Skill "${skillName}". Add it as 'skills/${skillName}/SKILL.md'.`
219
+ )
220
+ }
221
+ }
195
222
  }
196
223
 
197
224
  export function validateWorkflowInput(params: {
@@ -385,6 +412,7 @@ function validateAgentNodeDefinition(workflowId: string, node: WorkflowAgentNode
385
412
  }
386
413
  assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "group", node.agentStep.groupIds)
387
414
  assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "tool", node.agentStep.toolNames)
415
+ assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "skill", node.agentStep.skillNames)
388
416
  if (node.mapper !== undefined && typeof node.mapper !== "function") {
389
417
  throw new WorkflowDefinitionError(
390
418
  `Workflow "${workflowId}" agent node "${node.id}" mapper must be a function.`
@@ -395,7 +423,7 @@ function validateAgentNodeDefinition(workflowId: string, node: WorkflowAgentNode
395
423
  function assertUniqueNonEmptyAgentStepValues(
396
424
  workflowId: string,
397
425
  stepId: string,
398
- kind: "group" | "tool",
426
+ kind: "group" | "tool" | "skill",
399
427
  values: readonly string[]
400
428
  ): void {
401
429
  const seen = new Set<string>()
@@ -1,25 +0,0 @@
1
- import type { DomainEventLog } from "../events";
2
- import type { Queues } from "../queues";
3
- import type { ActionRunParams, ActionRunRecord, CreateExecutionInput, Storage } from "../storage";
4
- import type { RequestActionResult } from "./request";
5
- import type { ActionSubject } from "./types";
6
- interface DispatchActionRunInput {
7
- readonly errorReporterHost: object;
8
- readonly projectId: string;
9
- readonly storage: Storage;
10
- readonly queue: Queues["actions"];
11
- readonly events: DomainEventLog;
12
- readonly actionId: string;
13
- readonly subject: ActionSubject;
14
- readonly params: ActionRunParams;
15
- readonly runId?: string;
16
- readonly createExecution: (executionId: string, runId: string) => Promise<CreateExecutionInput>;
17
- /** Runs before payload comparison or retry so an existing run cannot cross authority owners. */
18
- readonly assertCanReuseExisting?: (storage: Storage, run: ActionRunRecord) => void | Promise<void>;
19
- /** Checks that hold only for a run this call creates; a replayed run keeps its accepted params. */
20
- readonly assertNewRun?: () => Promise<void>;
21
- }
22
- /** Persist an Action execution and run before publishing its queue job. */
23
- export declare function dispatchActionRun(input: DispatchActionRunInput): Promise<RequestActionResult>;
24
- export {};
25
- //# sourceMappingURL=run-dispatch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-dispatch.d.ts","sourceRoot":"","sources":["../../src/actions/run-dispatch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,OAAO,EACR,MAAM,YAAY,CAAA;AAInB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC/F,gGAAgG;IAChG,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClG,mGAAmG;IACnG,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5C;AAiBD,2EAA2E;AAC3E,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAK9B"}
@@ -1,3 +0,0 @@
1
- export type { RecordEditsHandler, RecordEditsOptions } from "../edits/recorder";
2
- export { recordEdits } from "../edits/recorder";
3
- //# sourceMappingURL=worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/actions/worker.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,321 +0,0 @@
1
- // @bun
2
- import"../chunk-z3y5kg1x.js";
3
- import {
4
- normalizeObjectProperties2,
5
- assertKnownProperties2,
6
- assertRequiredProperties2,
7
- validateObjectProperties2,
8
- validatePropertyValue2
9
- } from "../chunk-rpxz486p.js";
10
- import {
11
- EditBatchError2
12
- } from "../chunk-zvx7h87b.js";
13
- import {
14
- OntologyValidationError2
15
- } from "../chunk-cqr3acm1.js";
16
-
17
- // src/edits/recorder.ts
18
- import { createHash } from "crypto";
19
-
20
- // src/edits/properties.ts
21
- function normalizeObjectEditProperties(params) {
22
- const { objectType, properties, valueTypesById, path } = params;
23
- assertKnownProperties2(objectType, properties);
24
- assertNoTelemetryProperties(objectType.properties, properties, path);
25
- validateObjectProperties2(objectType, properties, valueTypesById);
26
- return normalizeObjectProperties2(objectType.properties, properties, valueTypesById, path);
27
- }
28
- function normalizeLinkEditProperties(params) {
29
- const { sourceObjectTypeId, linkId, linkDefinition, properties, valueTypesById } = params;
30
- const linkProperties = linkDefinition.properties ?? [];
31
- if (linkProperties.length === 0 && Object.keys(properties).length > 0) {
32
- throw new OntologyValidationError2(`[Sixb] Link ${sourceObjectTypeId}.${linkId} does not define link properties`);
33
- }
34
- const knownPropertyIds = new Set(linkProperties.map((property) => property.id));
35
- for (const propertyId of Object.keys(properties)) {
36
- if (!knownPropertyIds.has(propertyId)) {
37
- throw new OntologyValidationError2(`[Sixb] Unknown link property '${propertyId}' for link '${sourceObjectTypeId}.${linkId}'`);
38
- }
39
- }
40
- assertNoTelemetryProperties(linkProperties, properties, `${sourceObjectTypeId}.${linkId}`);
41
- for (const [propertyId, value] of Object.entries(properties)) {
42
- const property = linkProperties.find((candidate) => candidate.id === propertyId);
43
- if (!property)
44
- continue;
45
- validatePropertyValue2(property, value, `${sourceObjectTypeId}.${linkId}.${propertyId}`, valueTypesById);
46
- }
47
- return normalizeObjectProperties2(linkProperties, properties, valueTypesById, `${sourceObjectTypeId}.${linkId}`);
48
- }
49
- function getPrimaryProperty(objectType) {
50
- const primaryProperty = objectType.properties.find((property) => property.primary);
51
- if (!primaryProperty) {
52
- throw new OntologyValidationError2(`[Sixb] Object type '${objectType.id}' has no primary property`);
53
- }
54
- return primaryProperty;
55
- }
56
- function assertPrimaryPropertyNotUpdated(objectType, properties) {
57
- const primaryProperty = getPrimaryProperty(objectType);
58
- if (Object.hasOwn(properties, primaryProperty.id)) {
59
- throw new EditBatchError2(`[Sixb] EditBatch cannot update primary property '${objectType.id}.${primaryProperty.id}'.`);
60
- }
61
- }
62
- function normalizeEditablePropertyIds(params) {
63
- const { objectType, propertyIds, operation } = params;
64
- const primaryProperty = getPrimaryProperty(objectType);
65
- const normalized = [];
66
- const seen = new Set;
67
- for (const propertyId of propertyIds) {
68
- if (typeof propertyId !== "string" || !propertyId.trim()) {
69
- throw new EditBatchError2(`[Sixb] EditBatch ${objectType.id}.${operation} property id must be a non-empty string.`);
70
- }
71
- const property = objectType.properties.find((candidate) => candidate.id === propertyId);
72
- if (!property) {
73
- throw new EditBatchError2(`[Sixb] EditBatch ${operation} references unknown property '${objectType.id}.${propertyId}'.`);
74
- }
75
- if (property.id === primaryProperty.id) {
76
- throw new EditBatchError2(`[Sixb] EditBatch cannot ${operation} primary property '${objectType.id}.${propertyId}'.`);
77
- }
78
- if (property.mode === "telemetry") {
79
- throw new EditBatchError2(`[Sixb] EditBatch cannot ${operation} telemetry property '${objectType.id}.${propertyId}'.`);
80
- }
81
- if (seen.has(propertyId))
82
- continue;
83
- seen.add(propertyId);
84
- normalized.push(propertyId);
85
- }
86
- if (normalized.length === 0) {
87
- throw new EditBatchError2(`[Sixb] EditBatch ${objectType.id}.${operation} requires at least one property id.`);
88
- }
89
- return normalized;
90
- }
91
- function assertNoTelemetryProperties(definitions, properties, path) {
92
- for (const propertyId of Object.keys(properties)) {
93
- const property = definitions.find((candidate) => candidate.id === propertyId);
94
- if (property?.mode === "telemetry") {
95
- throw new EditBatchError2(`[Sixb] EditBatch cannot edit telemetry property '${path}.${propertyId}' in the MVP.`);
96
- }
97
- }
98
- }
99
-
100
- // src/edits/recorder.ts
101
- var EMPTY_VALUE_TYPES = new Map;
102
- async function recordEdits(options, handler) {
103
- const recorder = createEditRecorder(options);
104
- await handler({ objects: recorder.objects });
105
- return recorder.toEditBatch();
106
- }
107
- function createEditRecorder(options) {
108
- if (!options.runId.trim()) {
109
- throw new EditBatchError2("[Sixb] recordEdits requires a non-empty runId.");
110
- }
111
- const operations = [];
112
- const valueTypesById = options.valueTypesById ?? EMPTY_VALUE_TYPES;
113
- function objects(objectType) {
114
- return {
115
- byId(primaryId) {
116
- return createObjectHandle(objectType, createRef(objectType.id, primaryId));
117
- },
118
- create(properties) {
119
- const operationPath = String(operations.length);
120
- const primaryProperty = getPrimaryProperty(objectType);
121
- const rawProperties = assertRecord(properties, `${objectType.id}.create.properties`);
122
- const primaryValue = rawProperties[primaryProperty.id] ?? generatePrimaryId({
123
- runId: options.runId,
124
- operationPath,
125
- objectTypeId: objectType.id
126
- });
127
- if (typeof primaryValue !== "string" || !primaryValue.trim()) {
128
- throw new EditBatchError2(`[Sixb] EditBatch create '${objectType.id}' primary property '${primaryProperty.id}' must be a non-empty string.`);
129
- }
130
- const normalizedProperties = normalizeObjectEditProperties({
131
- objectType,
132
- properties: {
133
- ...rawProperties,
134
- [primaryProperty.id]: primaryValue
135
- },
136
- valueTypesById,
137
- path: `${objectType.id}.create`
138
- });
139
- assertRequiredProperties2(objectType, normalizedProperties);
140
- operations.push({
141
- kind: "object.create",
142
- objectTypeId: objectType.id,
143
- primaryId: primaryValue,
144
- properties: withoutPrimaryProperty(normalizedProperties, primaryProperty.id)
145
- });
146
- return createObjectHandle(objectType, {
147
- objectTypeId: objectType.id,
148
- primaryId: primaryValue
149
- });
150
- }
151
- };
152
- }
153
- function toEditBatch() {
154
- return { operations: [...operations] };
155
- }
156
- function createObjectHandle(objectType, ref) {
157
- const handle = {
158
- objectTypeId: ref.objectTypeId,
159
- primaryId: ref.primaryId
160
- };
161
- Object.defineProperties(handle, {
162
- objectType: {
163
- value: objectType
164
- },
165
- update: {
166
- value(properties) {
167
- const normalizedProperties = normalizeObjectEditProperties({
168
- objectType,
169
- properties: assertRecord(properties, `${objectType.id}.update.properties`),
170
- valueTypesById,
171
- path: `${objectType.id}.update`
172
- });
173
- assertPrimaryPropertyNotUpdated(objectType, normalizedProperties);
174
- if (Object.keys(normalizedProperties).length === 0) {
175
- throw new EditBatchError2(`[Sixb] EditBatch update '${objectType.id}:${ref.primaryId}' must set at least one property.`);
176
- }
177
- operations.push({
178
- kind: "object.update",
179
- objectTypeId: ref.objectTypeId,
180
- primaryId: ref.primaryId,
181
- properties: normalizedProperties
182
- });
183
- }
184
- },
185
- unset: {
186
- value(...propertyIds) {
187
- operations.push({
188
- kind: "object.unset",
189
- objectTypeId: ref.objectTypeId,
190
- primaryId: ref.primaryId,
191
- propertyIds: normalizeEditablePropertyIds({
192
- objectType,
193
- propertyIds,
194
- operation: "unset"
195
- })
196
- });
197
- }
198
- },
199
- reset: {
200
- value(...propertyIds) {
201
- operations.push({
202
- kind: "object.reset",
203
- objectTypeId: ref.objectTypeId,
204
- primaryId: ref.primaryId,
205
- propertyIds: normalizeEditablePropertyIds({
206
- objectType,
207
- propertyIds,
208
- operation: "reset"
209
- })
210
- });
211
- }
212
- },
213
- delete: {
214
- value() {
215
- operations.push({
216
- kind: "object.delete",
217
- objectTypeId: ref.objectTypeId,
218
- primaryId: ref.primaryId
219
- });
220
- }
221
- },
222
- restore: {
223
- value() {
224
- operations.push({
225
- kind: "object.restore",
226
- objectTypeId: ref.objectTypeId,
227
- primaryId: ref.primaryId
228
- });
229
- }
230
- },
231
- link: {
232
- value(link, target, linkOptions) {
233
- assertLinkTokenSource(ref, link);
234
- const properties = linkOptions?.properties === undefined ? undefined : normalizeLinkEditProperties({
235
- sourceObjectTypeId: ref.objectTypeId,
236
- linkId: link.id,
237
- linkDefinition: link.link,
238
- properties: linkOptions.properties,
239
- valueTypesById
240
- });
241
- operations.push({
242
- kind: "link.upsert",
243
- source: toPlainRef(ref),
244
- linkId: link.id,
245
- target: toPlainRef(target),
246
- ...properties !== undefined ? { properties } : {}
247
- });
248
- }
249
- },
250
- unlink: {
251
- value(link, target) {
252
- assertLinkTokenSource(ref, link);
253
- operations.push({
254
- kind: "link.delete",
255
- source: toPlainRef(ref),
256
- linkId: link.id,
257
- target: toPlainRef(target)
258
- });
259
- }
260
- },
261
- resetLink: {
262
- value(link, target) {
263
- assertLinkTokenSource(ref, link);
264
- operations.push({
265
- kind: "link.reset",
266
- source: toPlainRef(ref),
267
- linkId: link.id,
268
- target: toPlainRef(target)
269
- });
270
- }
271
- }
272
- });
273
- return handle;
274
- }
275
- return {
276
- objects,
277
- toEditBatch
278
- };
279
- }
280
- function assertLinkTokenSource(source, link) {
281
- if (source.objectTypeId !== link.objectTypeId) {
282
- throw new OntologyValidationError2(`[Sixb] Link token ${link.objectTypeId}.${link.id} cannot be used with ${source.objectTypeId}`);
283
- }
284
- }
285
- function createRef(objectTypeId, primaryId) {
286
- return {
287
- objectTypeId: assertNonEmptyString(objectTypeId, "objectTypeId"),
288
- primaryId: assertNonEmptyString(primaryId, `${objectTypeId}.primaryId`)
289
- };
290
- }
291
- function generatePrimaryId(params) {
292
- const hash = createHash("sha256").update(`${params.runId}:${params.operationPath}:${params.objectTypeId}`).digest("hex").slice(0, 24);
293
- return `edit_${hash}`;
294
- }
295
- function withoutPrimaryProperty(properties, primaryPropertyId) {
296
- const { [primaryPropertyId]: _primary, ...rest } = properties;
297
- return rest;
298
- }
299
- function assertRecord(value, label) {
300
- if (typeof value !== "object" || value === null || Array.isArray(value)) {
301
- throw new EditBatchError2(`[Sixb] EditBatch ${label} must be an object.`);
302
- }
303
- return value;
304
- }
305
- function assertNonEmptyString(value, label) {
306
- if (typeof value !== "string" || !value.trim()) {
307
- throw new EditBatchError2(`[Sixb] EditBatch ${label} must be a non-empty string.`);
308
- }
309
- return value;
310
- }
311
- function toPlainRef(ref) {
312
- return {
313
- objectTypeId: ref.objectTypeId,
314
- primaryId: ref.primaryId
315
- };
316
- }
317
- export {
318
- recordEdits
319
- };
320
-
321
- //# debugId=BB6D6702A9DC58F164756E2164756E21
@@ -1,11 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/edits/recorder.ts", "../src/edits/properties.ts"],
4
- "sourcesContent": [
5
- "import { createHash } from \"node:crypto\"\nimport type { ObjectLink, ValueType } from \"../ontology\"\nimport { OntologyValidationError } from \"../ontology/errors\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport { assertRequiredProperties } from \"../ontology/validation\"\nimport { EditBatchError } from \"./errors\"\nimport {\n assertPrimaryPropertyNotUpdated,\n getPrimaryProperty,\n normalizeEditablePropertyIds,\n normalizeLinkEditProperties,\n normalizeObjectEditProperties,\n} from \"./properties\"\nimport type {\n EditBatch,\n EditObjectHandle,\n EditObjectProperties,\n EditObjectRef,\n EditOperation,\n RecordEditsContext,\n RecordEditsHandler,\n RecordEditsOptions,\n} from \"./types\"\n\nexport type { RecordEditsHandler, RecordEditsOptions } from \"./types\"\n\nconst EMPTY_VALUE_TYPES = new Map<string, ValueType>()\n\ntype RuntimeEditRecorder = {\n readonly objects: (objectType: ObjectTypeWithPropertyTokens) => unknown\n toEditBatch(): EditBatch\n}\n\nexport async function recordEdits(\n options: RecordEditsOptions,\n handler: RecordEditsHandler\n): Promise<EditBatch> {\n const recorder = createEditRecorder(options)\n await handler({ objects: recorder.objects } as RecordEditsContext)\n return recorder.toEditBatch()\n}\n\nfunction createEditRecorder(options: RecordEditsOptions): RuntimeEditRecorder {\n if (!options.runId.trim()) {\n throw new EditBatchError(\"[Sixb] recordEdits requires a non-empty runId.\")\n }\n\n const operations: EditOperation[] = []\n const valueTypesById = options.valueTypesById ?? EMPTY_VALUE_TYPES\n\n function objects(objectType: ObjectTypeWithPropertyTokens) {\n return {\n byId(primaryId: string) {\n return createObjectHandle(objectType, createRef(objectType.id, primaryId))\n },\n\n create(properties: unknown) {\n const operationPath = String(operations.length)\n const primaryProperty = getPrimaryProperty(objectType)\n const rawProperties = assertRecord(properties, `${objectType.id}.create.properties`)\n const primaryValue =\n rawProperties[primaryProperty.id] ??\n generatePrimaryId({\n runId: options.runId,\n operationPath,\n objectTypeId: objectType.id,\n })\n\n if (typeof primaryValue !== \"string\" || !primaryValue.trim()) {\n throw new EditBatchError(\n `[Sixb] EditBatch create '${objectType.id}' primary property '${primaryProperty.id}' must be a non-empty string.`\n )\n }\n\n const normalizedProperties = normalizeObjectEditProperties({\n objectType,\n properties: {\n ...rawProperties,\n [primaryProperty.id]: primaryValue,\n },\n valueTypesById,\n path: `${objectType.id}.create`,\n })\n assertRequiredProperties(objectType, normalizedProperties)\n\n operations.push({\n kind: \"object.create\",\n objectTypeId: objectType.id,\n primaryId: primaryValue,\n properties: withoutPrimaryProperty(normalizedProperties, primaryProperty.id),\n })\n return createObjectHandle(objectType, {\n objectTypeId: objectType.id,\n primaryId: primaryValue,\n })\n },\n }\n }\n\n function toEditBatch(): EditBatch {\n return { operations: [...operations] }\n }\n\n function createObjectHandle(\n objectType: ObjectTypeWithPropertyTokens,\n ref: EditObjectRef\n ): EditObjectHandle<ObjectTypeWithPropertyTokens> {\n const handle = {\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n }\n\n Object.defineProperties(handle, {\n objectType: {\n value: objectType,\n },\n update: {\n value(properties: Readonly<Record<string, unknown>>) {\n const normalizedProperties = normalizeObjectEditProperties({\n objectType,\n properties: assertRecord(properties, `${objectType.id}.update.properties`),\n valueTypesById,\n path: `${objectType.id}.update`,\n })\n assertPrimaryPropertyNotUpdated(objectType, normalizedProperties)\n // An empty patch resolves to a null override and commits as `unchanged`, so a handler\n // that built its update conditionally would report a successful run that wrote nothing.\n if (Object.keys(normalizedProperties).length === 0) {\n throw new EditBatchError(\n `[Sixb] EditBatch update '${objectType.id}:${ref.primaryId}' must set at least one property.`\n )\n }\n\n operations.push({\n kind: \"object.update\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n properties: normalizedProperties,\n })\n },\n },\n unset: {\n value(...propertyIds: readonly unknown[]) {\n operations.push({\n kind: \"object.unset\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n propertyIds: normalizeEditablePropertyIds({\n objectType,\n propertyIds,\n operation: \"unset\",\n }),\n })\n },\n },\n reset: {\n value(...propertyIds: readonly unknown[]) {\n operations.push({\n kind: \"object.reset\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n propertyIds: normalizeEditablePropertyIds({\n objectType,\n propertyIds,\n operation: \"reset\",\n }),\n })\n },\n },\n delete: {\n value() {\n operations.push({\n kind: \"object.delete\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n })\n },\n },\n restore: {\n value() {\n operations.push({\n kind: \"object.restore\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n })\n },\n },\n link: {\n value(\n link: { objectTypeId: string; id: string; link: ObjectLink },\n target: EditObjectRef,\n linkOptions?: { readonly properties?: Readonly<Record<string, unknown>> }\n ) {\n assertLinkTokenSource(ref, link)\n\n const properties =\n linkOptions?.properties === undefined\n ? undefined\n : normalizeLinkEditProperties({\n sourceObjectTypeId: ref.objectTypeId,\n linkId: link.id,\n linkDefinition: link.link,\n properties: linkOptions.properties,\n valueTypesById,\n })\n\n operations.push({\n kind: \"link.upsert\",\n source: toPlainRef(ref),\n linkId: link.id,\n target: toPlainRef(target),\n ...(properties !== undefined ? { properties } : {}),\n })\n },\n },\n unlink: {\n value(link: { objectTypeId: string; id: string; link: ObjectLink }, target: EditObjectRef) {\n assertLinkTokenSource(ref, link)\n\n operations.push({\n kind: \"link.delete\",\n source: toPlainRef(ref),\n linkId: link.id,\n target: toPlainRef(target),\n })\n },\n },\n resetLink: {\n value(link: { objectTypeId: string; id: string; link: ObjectLink }, target: EditObjectRef) {\n assertLinkTokenSource(ref, link)\n\n operations.push({\n kind: \"link.reset\",\n source: toPlainRef(ref),\n linkId: link.id,\n target: toPlainRef(target),\n })\n },\n },\n })\n\n return handle as EditObjectHandle<ObjectTypeWithPropertyTokens>\n }\n\n return {\n objects,\n toEditBatch,\n }\n}\n\nfunction assertLinkTokenSource(\n source: EditObjectRef,\n link: { readonly objectTypeId: string; readonly id: string }\n): void {\n if (source.objectTypeId !== link.objectTypeId) {\n throw new OntologyValidationError(\n `[Sixb] Link token ${link.objectTypeId}.${link.id} cannot be used with ${source.objectTypeId}`\n )\n }\n}\n\nfunction createRef<TObjectTypeId extends string>(\n objectTypeId: TObjectTypeId,\n primaryId: string\n): EditObjectRef<TObjectTypeId> {\n return {\n objectTypeId: assertNonEmptyString(objectTypeId, \"objectTypeId\") as TObjectTypeId,\n primaryId: assertNonEmptyString(primaryId, `${objectTypeId}.primaryId`),\n }\n}\n\nfunction generatePrimaryId(params: {\n readonly runId: string\n readonly operationPath: string\n readonly objectTypeId: string\n}): string {\n const hash = createHash(\"sha256\")\n .update(`${params.runId}:${params.operationPath}:${params.objectTypeId}`)\n .digest(\"hex\")\n .slice(0, 24)\n return `edit_${hash}`\n}\n\n/** Primary identity lives in the object ref; managed authority never stores it as a property. */\nfunction withoutPrimaryProperty(\n properties: EditObjectProperties,\n primaryPropertyId: string\n): EditObjectProperties {\n const { [primaryPropertyId]: _primary, ...rest } = properties\n return rest\n}\n\nfunction assertRecord(value: unknown, label: string): Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new EditBatchError(`[Sixb] EditBatch ${label} must be an object.`)\n }\n return value as Record<string, unknown>\n}\n\nfunction assertNonEmptyString(value: unknown, label: string): string {\n if (typeof value !== \"string\" || !value.trim()) {\n throw new EditBatchError(`[Sixb] EditBatch ${label} must be a non-empty string.`)\n }\n return value\n}\n\nfunction toPlainRef(ref: EditObjectRef): EditObjectRef {\n return {\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n }\n}\n",
6
- "import type { ObjectLink, Property, ValueType } from \"../ontology\"\nimport { OntologyValidationError } from \"../ontology/errors\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport {\n assertKnownProperties,\n normalizeObjectProperties,\n validateObjectProperties,\n validatePropertyValue,\n} from \"../ontology/validation\"\nimport { EditBatchError } from \"./errors\"\nimport type { EditObjectProperties } from \"./types\"\n\nexport function normalizeObjectEditProperties(params: {\n readonly objectType: ObjectTypeWithPropertyTokens\n readonly properties: Record<string, unknown>\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n readonly path: string\n}): EditObjectProperties {\n const { objectType, properties, valueTypesById, path } = params\n assertKnownProperties(objectType, properties)\n assertNoTelemetryProperties(objectType.properties, properties, path)\n validateObjectProperties(objectType, properties, valueTypesById)\n return normalizeObjectProperties(objectType.properties, properties, valueTypesById, path)\n}\n\nexport function normalizeLinkEditProperties(params: {\n readonly sourceObjectTypeId: string\n readonly linkId: string\n readonly linkDefinition: ObjectLink\n readonly properties: Readonly<Record<string, unknown>>\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): EditObjectProperties {\n const { sourceObjectTypeId, linkId, linkDefinition, properties, valueTypesById } = params\n const linkProperties = linkDefinition.properties ?? []\n\n if (linkProperties.length === 0 && Object.keys(properties).length > 0) {\n throw new OntologyValidationError(\n `[Sixb] Link ${sourceObjectTypeId}.${linkId} does not define link properties`\n )\n }\n\n const knownPropertyIds = new Set(linkProperties.map((property) => property.id))\n for (const propertyId of Object.keys(properties)) {\n if (!knownPropertyIds.has(propertyId)) {\n throw new OntologyValidationError(\n `[Sixb] Unknown link property '${propertyId}' for link '${sourceObjectTypeId}.${linkId}'`\n )\n }\n }\n\n assertNoTelemetryProperties(linkProperties, properties, `${sourceObjectTypeId}.${linkId}`)\n\n for (const [propertyId, value] of Object.entries(properties)) {\n const property = linkProperties.find((candidate) => candidate.id === propertyId)\n if (!property) continue\n validatePropertyValue(\n property,\n value,\n `${sourceObjectTypeId}.${linkId}.${propertyId}`,\n valueTypesById\n )\n }\n\n return normalizeObjectProperties(\n linkProperties,\n properties,\n valueTypesById,\n `${sourceObjectTypeId}.${linkId}`\n )\n}\n\nexport function getPrimaryProperty(objectType: ObjectTypeWithPropertyTokens): Property {\n const primaryProperty = objectType.properties.find((property) => property.primary)\n if (!primaryProperty) {\n throw new OntologyValidationError(\n `[Sixb] Object type '${objectType.id}' has no primary property`\n )\n }\n return primaryProperty\n}\n\nexport function assertPrimaryPropertyNotUpdated(\n objectType: ObjectTypeWithPropertyTokens,\n properties: EditObjectProperties\n): void {\n const primaryProperty = getPrimaryProperty(objectType)\n if (Object.hasOwn(properties, primaryProperty.id)) {\n throw new EditBatchError(\n `[Sixb] EditBatch cannot update primary property '${objectType.id}.${primaryProperty.id}'.`\n )\n }\n}\n\n/** Validates `unset`/`reset` targets: known, non-primary, and not telemetry-backed. */\nexport function normalizeEditablePropertyIds(params: {\n readonly objectType: ObjectTypeWithPropertyTokens\n readonly propertyIds: readonly unknown[]\n readonly operation: \"unset\" | \"reset\"\n}): readonly string[] {\n const { objectType, propertyIds, operation } = params\n const primaryProperty = getPrimaryProperty(objectType)\n const normalized: string[] = []\n const seen = new Set<string>()\n\n for (const propertyId of propertyIds) {\n if (typeof propertyId !== \"string\" || !propertyId.trim()) {\n throw new EditBatchError(\n `[Sixb] EditBatch ${objectType.id}.${operation} property id must be a non-empty string.`\n )\n }\n const property = objectType.properties.find((candidate) => candidate.id === propertyId)\n if (!property) {\n throw new EditBatchError(\n `[Sixb] EditBatch ${operation} references unknown property '${objectType.id}.${propertyId}'.`\n )\n }\n if (property.id === primaryProperty.id) {\n throw new EditBatchError(\n `[Sixb] EditBatch cannot ${operation} primary property '${objectType.id}.${propertyId}'.`\n )\n }\n if (property.mode === \"telemetry\") {\n throw new EditBatchError(\n `[Sixb] EditBatch cannot ${operation} telemetry property '${objectType.id}.${propertyId}'.`\n )\n }\n if (seen.has(propertyId)) continue\n seen.add(propertyId)\n normalized.push(propertyId)\n }\n\n if (normalized.length === 0) {\n throw new EditBatchError(\n `[Sixb] EditBatch ${objectType.id}.${operation} requires at least one property id.`\n )\n }\n return normalized\n}\n\nfunction assertNoTelemetryProperties(\n definitions: readonly Property[],\n properties: Readonly<Record<string, unknown>>,\n path: string\n): void {\n for (const propertyId of Object.keys(properties)) {\n const property = definitions.find((candidate) => candidate.id === propertyId)\n if (property?.mode === \"telemetry\") {\n throw new EditBatchError(\n `[Sixb] EditBatch cannot edit telemetry property '${path}.${propertyId}' in the MVP.`\n )\n }\n }\n}\n"
7
- ],
8
- "mappings": "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",
9
- "debugId": "BB6D6702A9DC58F164756E2164756E21",
10
- "names": []
11
- }