@sixb/core 0.1.20 → 0.1.22

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 (1519) hide show
  1. package/dist/actions/commit-edits.d.ts +3 -1
  2. package/dist/actions/commit-edits.d.ts.map +1 -1
  3. package/dist/actions/execution.d.ts.map +1 -1
  4. package/dist/actions/index.js +71 -60
  5. package/dist/actions/index.js.map +1 -1
  6. package/dist/actions/read-facade.d.ts +9 -1
  7. package/dist/actions/read-facade.d.ts.map +1 -1
  8. package/dist/actions/request.d.ts +15 -1
  9. package/dist/actions/request.d.ts.map +1 -1
  10. package/dist/actions/run/context.d.ts +1 -0
  11. package/dist/actions/run/context.d.ts.map +1 -1
  12. package/dist/actions/run/execute.d.ts +2 -3
  13. package/dist/actions/run/execute.d.ts.map +1 -1
  14. package/dist/actions/run/executor.d.ts +3 -0
  15. package/dist/actions/run/executor.d.ts.map +1 -1
  16. package/dist/actions/run/normalize.d.ts +2 -1
  17. package/dist/actions/run/normalize.d.ts.map +1 -1
  18. package/dist/actions/run/signals.d.ts +1 -3
  19. package/dist/actions/run/signals.d.ts.map +1 -1
  20. package/dist/actions/run/types.d.ts +16 -1
  21. package/dist/actions/run/types.d.ts.map +1 -1
  22. package/dist/actions/run-authorization.d.ts +23 -0
  23. package/dist/actions/run-authorization.d.ts.map +1 -1
  24. package/dist/actions/types/context.d.ts +17 -1
  25. package/dist/actions/types/context.d.ts.map +1 -1
  26. package/dist/actions/validators.d.ts.map +1 -1
  27. package/dist/activity/connection.d.ts +62 -0
  28. package/dist/activity/connection.d.ts.map +1 -0
  29. package/dist/activity/device.d.ts +8 -0
  30. package/dist/activity/device.d.ts.map +1 -0
  31. package/dist/activity/execution.d.ts +48 -0
  32. package/dist/activity/execution.d.ts.map +1 -0
  33. package/dist/activity/service.d.ts +79 -0
  34. package/dist/activity/service.d.ts.map +1 -0
  35. package/dist/activity/shares.d.ts +24 -0
  36. package/dist/activity/shares.d.ts.map +1 -0
  37. package/dist/activity/timeline.d.ts +103 -0
  38. package/dist/activity/timeline.d.ts.map +1 -0
  39. package/dist/agents/accounting.d.ts +15 -0
  40. package/dist/agents/accounting.d.ts.map +1 -0
  41. package/dist/agents/adapters.d.ts.map +1 -1
  42. package/dist/agents/agent-mail.d.ts +9 -0
  43. package/dist/agents/agent-mail.d.ts.map +1 -0
  44. package/dist/agents/api-gateway.d.ts +5 -0
  45. package/dist/agents/api-gateway.d.ts.map +1 -1
  46. package/dist/agents/approval-continuation.d.ts +23 -0
  47. package/dist/agents/approval-continuation.d.ts.map +1 -0
  48. package/dist/agents/approval-executor.d.ts +56 -0
  49. package/dist/agents/approval-executor.d.ts.map +1 -0
  50. package/dist/agents/approval-outcome.d.ts +8 -0
  51. package/dist/agents/approval-outcome.d.ts.map +1 -0
  52. package/dist/agents/approvals.d.ts +210 -0
  53. package/dist/agents/approvals.d.ts.map +1 -0
  54. package/dist/agents/authority.d.ts +10 -0
  55. package/dist/agents/authority.d.ts.map +1 -1
  56. package/dist/agents/builders.d.ts.map +1 -1
  57. package/dist/agents/cancel.d.ts +23 -0
  58. package/dist/agents/cancel.d.ts.map +1 -0
  59. package/dist/agents/child-question.d.ts +18 -0
  60. package/dist/agents/child-question.d.ts.map +1 -0
  61. package/dist/agents/children.d.ts +99 -0
  62. package/dist/agents/children.d.ts.map +1 -0
  63. package/dist/agents/context/index.js +1 -1
  64. package/dist/agents/context-compaction.d.ts.map +1 -1
  65. package/dist/agents/errors.d.ts +13 -1
  66. package/dist/agents/errors.d.ts.map +1 -1
  67. package/dist/agents/execution.d.ts +180 -14
  68. package/dist/agents/execution.d.ts.map +1 -1
  69. package/dist/agents/fork.d.ts +16 -0
  70. package/dist/agents/fork.d.ts.map +1 -0
  71. package/dist/agents/ids.d.ts +7 -0
  72. package/dist/agents/ids.d.ts.map +1 -1
  73. package/dist/agents/index.d.ts +20 -8
  74. package/dist/agents/index.d.ts.map +1 -1
  75. package/dist/agents/index.js +170 -84
  76. package/dist/agents/index.js.map +1 -1
  77. package/dist/agents/memory-execution.d.ts +57 -0
  78. package/dist/agents/memory-execution.d.ts.map +1 -0
  79. package/dist/agents/memory.d.ts +49 -0
  80. package/dist/agents/memory.d.ts.map +1 -0
  81. package/dist/agents/message.d.ts +50 -1
  82. package/dist/agents/message.d.ts.map +1 -1
  83. package/dist/agents/model-loop.d.ts +19 -0
  84. package/dist/agents/model-loop.d.ts.map +1 -1
  85. package/dist/agents/model-routing.d.ts +19 -0
  86. package/dist/agents/model-routing.d.ts.map +1 -0
  87. package/dist/agents/participants.d.ts +18 -0
  88. package/dist/agents/participants.d.ts.map +1 -0
  89. package/dist/agents/reference.d.ts.map +1 -1
  90. package/dist/agents/request.d.ts +36 -2
  91. package/dist/agents/request.d.ts.map +1 -1
  92. package/dist/agents/run-scope.d.ts +51 -0
  93. package/dist/agents/run-scope.d.ts.map +1 -0
  94. package/dist/agents/skills.d.ts.map +1 -1
  95. package/dist/agents/streams/index.d.ts +3 -2
  96. package/dist/agents/streams/index.d.ts.map +1 -1
  97. package/dist/agents/streams/index.js +8 -4
  98. package/dist/agents/streams/index.js.map +1 -1
  99. package/dist/agents/streams/internal.d.ts +1 -1
  100. package/dist/agents/streams/internal.d.ts.map +1 -1
  101. package/dist/agents/streams/internal.js +6 -4
  102. package/dist/agents/streams/internal.js.map +1 -1
  103. package/dist/agents/streams/protocol.d.ts +122 -3
  104. package/dist/agents/streams/protocol.d.ts.map +1 -1
  105. package/dist/agents/subagent-runs.d.ts +12 -0
  106. package/dist/agents/subagent-runs.d.ts.map +1 -0
  107. package/dist/agents/thread-access.d.ts +53 -0
  108. package/dist/agents/thread-access.d.ts.map +1 -0
  109. package/dist/agents/tool-definition.d.ts +5 -4
  110. package/dist/agents/tool-definition.d.ts.map +1 -1
  111. package/dist/agents/types.d.ts +31 -12
  112. package/dist/agents/types.d.ts.map +1 -1
  113. package/dist/agents/validation.d.ts +1 -1
  114. package/dist/agents/validation.d.ts.map +1 -1
  115. package/dist/artifacts/access.d.ts +52 -0
  116. package/dist/artifacts/access.d.ts.map +1 -0
  117. package/dist/artifacts/address.d.ts +48 -0
  118. package/dist/artifacts/address.d.ts.map +1 -0
  119. package/dist/artifacts/canvas.d.ts +92 -0
  120. package/dist/artifacts/canvas.d.ts.map +1 -0
  121. package/dist/artifacts/csv.d.ts +27 -0
  122. package/dist/artifacts/csv.d.ts.map +1 -0
  123. package/dist/artifacts/errors.d.ts +16 -0
  124. package/dist/artifacts/errors.d.ts.map +1 -0
  125. package/dist/artifacts/execution.d.ts +138 -0
  126. package/dist/artifacts/execution.d.ts.map +1 -0
  127. package/dist/artifacts/formula/check.d.ts +24 -0
  128. package/dist/artifacts/formula/check.d.ts.map +1 -0
  129. package/dist/artifacts/formula/evaluate.d.ts +32 -0
  130. package/dist/artifacts/formula/evaluate.d.ts.map +1 -0
  131. package/dist/artifacts/formula/index.d.ts +38 -0
  132. package/dist/artifacts/formula/index.d.ts.map +1 -0
  133. package/dist/artifacts/formula/parser.d.ts +67 -0
  134. package/dist/artifacts/formula/parser.d.ts.map +1 -0
  135. package/dist/artifacts/frames/assets.d.ts +30 -0
  136. package/dist/artifacts/frames/assets.d.ts.map +1 -0
  137. package/dist/artifacts/frames/entries.d.ts +19 -0
  138. package/dist/artifacts/frames/entries.d.ts.map +1 -0
  139. package/dist/artifacts/frames/grants.d.ts +37 -0
  140. package/dist/artifacts/frames/grants.d.ts.map +1 -0
  141. package/dist/artifacts/frames/index.d.ts +12 -0
  142. package/dist/artifacts/frames/index.d.ts.map +1 -0
  143. package/dist/artifacts/frames/index.js +1285 -0
  144. package/dist/artifacts/frames/index.js.map +16 -0
  145. package/dist/artifacts/frames/kit.d.ts +71 -0
  146. package/dist/artifacts/frames/kit.d.ts.map +1 -0
  147. package/dist/artifacts/frames/probe.d.ts +45 -0
  148. package/dist/artifacts/frames/probe.d.ts.map +1 -0
  149. package/dist/artifacts/frames/protocol.d.ts +167 -0
  150. package/dist/artifacts/frames/protocol.d.ts.map +1 -0
  151. package/dist/artifacts/frames/runtime.d.ts +31 -0
  152. package/dist/artifacts/frames/runtime.d.ts.map +1 -0
  153. package/dist/artifacts/html.d.ts +6 -0
  154. package/dist/artifacts/html.d.ts.map +1 -0
  155. package/dist/artifacts/ids.d.ts +5 -0
  156. package/dist/artifacts/ids.d.ts.map +1 -0
  157. package/dist/artifacts/index.d.ts +22 -0
  158. package/dist/artifacts/index.d.ts.map +1 -0
  159. package/dist/artifacts/index.js +247 -0
  160. package/dist/artifacts/index.js.map +10 -0
  161. package/dist/artifacts/kinds.d.ts +5 -0
  162. package/dist/artifacts/kinds.d.ts.map +1 -0
  163. package/dist/artifacts/limits.d.ts +58 -0
  164. package/dist/artifacts/limits.d.ts.map +1 -0
  165. package/dist/artifacts/live-sheet.d.ts +65 -0
  166. package/dist/artifacts/live-sheet.d.ts.map +1 -0
  167. package/dist/artifacts/outline.d.ts +70 -0
  168. package/dist/artifacts/outline.d.ts.map +1 -0
  169. package/dist/artifacts/publish/files.d.ts +15 -0
  170. package/dist/artifacts/publish/files.d.ts.map +1 -0
  171. package/dist/artifacts/publish/index.d.ts +7 -0
  172. package/dist/artifacts/publish/index.d.ts.map +1 -0
  173. package/dist/artifacts/publish/index.js +76 -0
  174. package/dist/{chunk-7n30ybym.js.map → artifacts/publish/index.js.map} +1 -1
  175. package/dist/artifacts/publish/publish.d.ts +84 -0
  176. package/dist/artifacts/publish/publish.d.ts.map +1 -0
  177. package/dist/artifacts/publish/queries.d.ts +33 -0
  178. package/dist/artifacts/publish/queries.d.ts.map +1 -0
  179. package/dist/artifacts/publish/references.d.ts +30 -0
  180. package/dist/artifacts/publish/references.d.ts.map +1 -0
  181. package/dist/artifacts/publish/validate/canvas.d.ts +18 -0
  182. package/dist/artifacts/publish/validate/canvas.d.ts.map +1 -0
  183. package/dist/artifacts/publish/validate/document.d.ts +17 -0
  184. package/dist/artifacts/publish/validate/document.d.ts.map +1 -0
  185. package/dist/artifacts/publish/validate/file.d.ts +8 -0
  186. package/dist/artifacts/publish/validate/file.d.ts.map +1 -0
  187. package/dist/artifacts/publish/validate/html.d.ts +20 -0
  188. package/dist/artifacts/publish/validate/html.d.ts.map +1 -0
  189. package/dist/artifacts/publish/validate/page.d.ts +15 -0
  190. package/dist/artifacts/publish/validate/page.d.ts.map +1 -0
  191. package/dist/artifacts/publish/validate/sheet.d.ts +23 -0
  192. package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -0
  193. package/dist/artifacts/publish/validate/slides.d.ts +15 -0
  194. package/dist/artifacts/publish/validate/slides.d.ts.map +1 -0
  195. package/dist/artifacts/queries.d.ts +95 -0
  196. package/dist/artifacts/queries.d.ts.map +1 -0
  197. package/dist/artifacts/references.d.ts +12 -0
  198. package/dist/artifacts/references.d.ts.map +1 -0
  199. package/dist/artifacts/resolve.d.ts +47 -0
  200. package/dist/artifacts/resolve.d.ts.map +1 -0
  201. package/dist/artifacts/run-query.d.ts +26 -0
  202. package/dist/artifacts/run-query.d.ts.map +1 -0
  203. package/dist/artifacts/serialize-query.d.ts +12 -0
  204. package/dist/artifacts/serialize-query.d.ts.map +1 -0
  205. package/dist/artifacts/sheet-rules.d.ts +26 -0
  206. package/dist/artifacts/sheet-rules.d.ts.map +1 -0
  207. package/dist/artifacts/theme.d.ts +19 -0
  208. package/dist/artifacts/theme.d.ts.map +1 -0
  209. package/dist/artifacts/tones.d.ts +8 -0
  210. package/dist/artifacts/tones.d.ts.map +1 -0
  211. package/dist/artifacts/warnings.d.ts +11 -0
  212. package/dist/artifacts/warnings.d.ts.map +1 -0
  213. package/dist/artifacts/workbook.d.ts +135 -0
  214. package/dist/artifacts/workbook.d.ts.map +1 -0
  215. package/dist/auth/index.d.ts +1 -1
  216. package/dist/auth/index.d.ts.map +1 -1
  217. package/dist/auth/index.js +16 -13
  218. package/dist/auth/index.js.map +1 -1
  219. package/dist/auth/member-events.d.ts +13 -0
  220. package/dist/auth/member-events.d.ts.map +1 -0
  221. package/dist/auth/profile.d.ts +11 -0
  222. package/dist/auth/profile.d.ts.map +1 -0
  223. package/dist/auth/runtime.d.ts +31 -3
  224. package/dist/auth/runtime.d.ts.map +1 -1
  225. package/dist/auth/strategy.d.ts +3 -1
  226. package/dist/auth/strategy.d.ts.map +1 -1
  227. package/dist/auth/strategy.js +7 -3
  228. package/dist/auth/strategy.js.map +1 -1
  229. package/dist/auth/types.d.ts +30 -1
  230. package/dist/auth/types.d.ts.map +1 -1
  231. package/dist/authorization/decision.d.ts +17 -0
  232. package/dist/authorization/decision.d.ts.map +1 -1
  233. package/dist/authorization/event-visibility.d.ts +5 -1
  234. package/dist/authorization/event-visibility.d.ts.map +1 -1
  235. package/dist/authorization/grant-kinds.d.ts +2 -2
  236. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  237. package/dist/authorization/index.d.ts +2 -2
  238. package/dist/authorization/index.d.ts.map +1 -1
  239. package/dist/authorization/index.js +14 -9
  240. package/dist/authorization/index.js.map +1 -1
  241. package/dist/authorization/resolve.d.ts +19 -1
  242. package/dist/authorization/resolve.d.ts.map +1 -1
  243. package/dist/authorization/run-visibility.d.ts +8 -1
  244. package/dist/authorization/run-visibility.d.ts.map +1 -1
  245. package/dist/authorization/types.d.ts +14 -0
  246. package/dist/authorization/types.d.ts.map +1 -1
  247. package/dist/blob-storage/browser.js +1 -1
  248. package/dist/blob-storage/index.js +2 -2
  249. package/dist/blob-storage/internal.d.ts +1 -1
  250. package/dist/blob-storage/internal.d.ts.map +1 -1
  251. package/dist/blob-storage/internal.js +11 -5
  252. package/dist/blob-storage/internal.js.map +1 -1
  253. package/dist/blob-storage/media-type.d.ts +12 -0
  254. package/dist/blob-storage/media-type.d.ts.map +1 -1
  255. package/dist/bootstrap/index.js +76 -66
  256. package/dist/bootstrap/index.js.map +2 -2
  257. package/dist/{chunk-tg2cw67r.js → chunk-02bzjgnt.js} +6 -6
  258. package/dist/{chunk-tg2cw67r.js.map → chunk-02bzjgnt.js.map} +1 -1
  259. package/dist/{chunk-mfs23znk.js → chunk-07kkp2e1.js} +1 -1
  260. package/dist/{chunk-6p49a5cq.js → chunk-098anw4f.js} +21 -19
  261. package/dist/chunk-098anw4f.js.map +12 -0
  262. package/dist/{chunk-fkgc1wt8.js → chunk-0phpbbvm.js} +3 -3
  263. package/dist/{chunk-ere85b8y.js → chunk-0xmt5p5y.js} +116 -27
  264. package/dist/chunk-0xmt5p5y.js.map +14 -0
  265. package/dist/{chunk-t6f3tdnr.js → chunk-16a9dmfy.js} +33 -2
  266. package/dist/{chunk-t6f3tdnr.js.map → chunk-16a9dmfy.js.map} +5 -4
  267. package/dist/{chunk-hkc3jct7.js → chunk-18sk89cg.js} +18 -10
  268. package/dist/chunk-18sk89cg.js.map +10 -0
  269. package/dist/{chunk-way52z4h.js → chunk-1t6k1avb.js} +6 -12
  270. package/dist/{chunk-way52z4h.js.map → chunk-1t6k1avb.js.map} +3 -4
  271. package/dist/chunk-2626mh4m.js +693 -0
  272. package/dist/chunk-2626mh4m.js.map +19 -0
  273. package/dist/{chunk-qczk96d9.js → chunk-2adz0h75.js} +13 -4
  274. package/dist/chunk-2adz0h75.js.map +11 -0
  275. package/dist/{chunk-3t2hgbgd.js → chunk-2fn60nvs.js} +40 -8
  276. package/dist/chunk-2fn60nvs.js.map +15 -0
  277. package/dist/{chunk-99nd4rc1.js → chunk-2gjj5dx3.js} +5 -4
  278. package/dist/{chunk-99nd4rc1.js.map → chunk-2gjj5dx3.js.map} +3 -3
  279. package/dist/chunk-3fqxbn31.js +107 -0
  280. package/dist/chunk-3fqxbn31.js.map +11 -0
  281. package/dist/{chunk-y0c4e6ex.js → chunk-3gbefjg5.js} +1 -1
  282. package/dist/{chunk-yzwja0mj.js → chunk-45ngkxkp.js} +52 -31
  283. package/dist/chunk-45ngkxkp.js.map +13 -0
  284. package/dist/{chunk-fa02jy15.js → chunk-48jezz3j.js} +1 -1
  285. package/dist/{chunk-ren4kg2j.js → chunk-4b26qwbg.js} +13 -13
  286. package/dist/{chunk-ren4kg2j.js.map → chunk-4b26qwbg.js.map} +1 -1
  287. package/dist/{chunk-9k93ah50.js → chunk-4f3ydv7t.js} +33 -69
  288. package/dist/chunk-4f3ydv7t.js.map +10 -0
  289. package/dist/chunk-4y26vs3v.js +97 -0
  290. package/dist/chunk-4y26vs3v.js.map +10 -0
  291. package/dist/{chunk-4as3wt1c.js → chunk-4ymrcdbm.js} +7 -3
  292. package/dist/chunk-4ymrcdbm.js.map +12 -0
  293. package/dist/{chunk-hcbyfxbe.js → chunk-5grk14e5.js} +76 -2
  294. package/dist/{chunk-hcbyfxbe.js.map → chunk-5grk14e5.js.map} +4 -3
  295. package/dist/chunk-5tfev0fv.js +676 -0
  296. package/dist/chunk-5tfev0fv.js.map +15 -0
  297. package/dist/chunk-65abf64x.js +13 -0
  298. package/dist/chunk-65abf64x.js.map +10 -0
  299. package/dist/{chunk-hvsb78a1.js → chunk-65pyhyas.js} +114 -107
  300. package/dist/chunk-65pyhyas.js.map +20 -0
  301. package/dist/{chunk-1sr8ryzk.js → chunk-661ezhks.js} +303 -6
  302. package/dist/chunk-661ezhks.js.map +11 -0
  303. package/dist/{chunk-z3y5kg1x.js → chunk-6eqsgvxk.js} +3 -3
  304. package/dist/{chunk-z3y5kg1x.js.map → chunk-6eqsgvxk.js.map} +2 -2
  305. package/dist/{chunk-c85m1hyj.js → chunk-6n69k945.js} +2 -2
  306. package/dist/{chunk-xfs8x8m9.js → chunk-6p0pastb.js} +5 -5
  307. package/dist/{chunk-rrzt8jdy.js → chunk-6rrtzea3.js} +116 -110
  308. package/dist/chunk-6rrtzea3.js.map +14 -0
  309. package/dist/{chunk-t7x8dmn0.js → chunk-6y0mkhex.js} +3 -3
  310. package/dist/{chunk-es1gxsbf.js → chunk-73v685wb.js} +14 -16
  311. package/dist/chunk-73v685wb.js.map +12 -0
  312. package/dist/{chunk-6c6sn0bh.js → chunk-7gr4j2eq.js} +7930 -5973
  313. package/dist/chunk-7gr4j2eq.js.map +120 -0
  314. package/dist/{chunk-hjzdd750.js → chunk-7mc2wkre.js} +391 -91
  315. package/dist/chunk-7mc2wkre.js.map +50 -0
  316. package/dist/chunk-7z5p905k.js +1660 -0
  317. package/dist/chunk-7z5p905k.js.map +22 -0
  318. package/dist/{chunk-3zxk45er.js → chunk-8ncg20rd.js} +3 -68
  319. package/dist/{chunk-3zxk45er.js.map → chunk-8ncg20rd.js.map} +4 -5
  320. package/dist/{chunk-yxd3nnqt.js → chunk-9mab3dvg.js} +26 -2
  321. package/dist/chunk-9mab3dvg.js.map +11 -0
  322. package/dist/chunk-9wr3yajk.js +42 -0
  323. package/dist/chunk-9wr3yajk.js.map +10 -0
  324. package/dist/chunk-a3faa34j.js +74 -0
  325. package/dist/chunk-a3faa34j.js.map +10 -0
  326. package/dist/chunk-az47zep4.js +41 -0
  327. package/dist/chunk-az47zep4.js.map +10 -0
  328. package/dist/{chunk-v9xd5wzd.js → chunk-bab05bhg.js} +1 -1
  329. package/dist/{chunk-5j58wjct.js → chunk-bktev1ds.js} +14 -11
  330. package/dist/{chunk-5j58wjct.js.map → chunk-bktev1ds.js.map} +3 -3
  331. package/dist/{chunk-b38szspf.js → chunk-c0vk1djt.js} +5 -3
  332. package/dist/chunk-c0vk1djt.js.map +11 -0
  333. package/dist/chunk-c69nj7se.js +3 -0
  334. package/dist/chunk-c69nj7se.js.map +9 -0
  335. package/dist/{chunk-0yh890a4.js → chunk-c844dkwd.js} +35 -7
  336. package/dist/{chunk-0yh890a4.js.map → chunk-c844dkwd.js.map} +3 -3
  337. package/dist/{chunk-d09tj99x.js → chunk-cdk3egjj.js} +24 -5
  338. package/dist/chunk-cdk3egjj.js.map +12 -0
  339. package/dist/chunk-cswhawa2.js +113 -0
  340. package/dist/chunk-cswhawa2.js.map +10 -0
  341. package/dist/{chunk-gc4ntf7d.js → chunk-cwdzcv37.js} +1 -1
  342. package/dist/chunk-d2m879s4.js +288 -0
  343. package/dist/chunk-d2m879s4.js.map +12 -0
  344. package/dist/chunk-d7vyc7k6.js +10 -0
  345. package/dist/chunk-d7vyc7k6.js.map +10 -0
  346. package/dist/{chunk-vyf9kfqf.js → chunk-dp0cdtj2.js} +2 -2
  347. package/dist/{chunk-6x0pqh32.js → chunk-e5wf5vz0.js} +3 -1
  348. package/dist/chunk-e5wf5vz0.js.map +10 -0
  349. package/dist/{chunk-bx9q3cwv.js → chunk-efmm01gj.js} +108 -1045
  350. package/dist/chunk-efmm01gj.js.map +18 -0
  351. package/dist/{chunk-tw03bsmb.js → chunk-eptrvnby.js} +224 -3
  352. package/dist/chunk-eptrvnby.js.map +12 -0
  353. package/dist/{chunk-n33z5bjw.js → chunk-ezne9wc9.js} +1762 -502
  354. package/dist/chunk-ezne9wc9.js.map +71 -0
  355. package/dist/chunk-fe8zwt8b.js +688 -0
  356. package/dist/chunk-fe8zwt8b.js.map +19 -0
  357. package/dist/chunk-ff5xkv0p.js +211 -0
  358. package/dist/chunk-ff5xkv0p.js.map +10 -0
  359. package/dist/{chunk-br3k6qbf.js → chunk-fm62y49k.js} +1 -1
  360. package/dist/{chunk-nq6gpjt7.js → chunk-fntqb7qy.js} +30 -4
  361. package/dist/{chunk-nq6gpjt7.js.map → chunk-fntqb7qy.js.map} +5 -5
  362. package/dist/{chunk-1zq2p6g0.js → chunk-fp2kq35z.js} +26 -10
  363. package/dist/{chunk-1zq2p6g0.js.map → chunk-fp2kq35z.js.map} +5 -5
  364. package/dist/chunk-g5bvzyyr.js +32 -0
  365. package/dist/chunk-g5bvzyyr.js.map +10 -0
  366. package/dist/{chunk-9ybhtmg4.js → chunk-g663fahq.js} +2 -2
  367. package/dist/{chunk-k6q3n2sc.js → chunk-gvj5cd3b.js} +29 -13
  368. package/dist/chunk-gvj5cd3b.js.map +12 -0
  369. package/dist/{chunk-yevzdx4y.js → chunk-h33shhq6.js} +10 -12
  370. package/dist/{chunk-yevzdx4y.js.map → chunk-h33shhq6.js.map} +3 -4
  371. package/dist/{chunk-vpq4shxz.js → chunk-h3pbv7n8.js} +1771 -36
  372. package/dist/chunk-h3pbv7n8.js.map +48 -0
  373. package/dist/chunk-hke9aeen.js +9 -0
  374. package/dist/chunk-hke9aeen.js.map +10 -0
  375. package/dist/chunk-hn2r7z41.js.map +1 -1
  376. package/dist/{chunk-pbcbn83d.js → chunk-hqsp2sx4.js} +54 -8
  377. package/dist/chunk-hqsp2sx4.js.map +14 -0
  378. package/dist/{chunk-9w055r5b.js → chunk-hwarjrgf.js} +1 -1
  379. package/dist/{chunk-9dmt152s.js → chunk-hyesv9dv.js} +2 -2
  380. package/dist/chunk-hz5d43gn.js +45 -0
  381. package/dist/chunk-hz5d43gn.js.map +10 -0
  382. package/dist/{chunk-91mg3nj9.js → chunk-j936th07.js} +86 -41
  383. package/dist/chunk-j936th07.js.map +12 -0
  384. package/dist/chunk-jcfw4h7m.js +9 -0
  385. package/dist/chunk-jcfw4h7m.js.map +10 -0
  386. package/dist/chunk-kcqpk9w1.js +75 -0
  387. package/dist/chunk-kcqpk9w1.js.map +10 -0
  388. package/dist/{chunk-x6m907x7.js → chunk-m2nevja0.js} +6 -7
  389. package/dist/{chunk-x6m907x7.js.map → chunk-m2nevja0.js.map} +3 -3
  390. package/dist/{chunk-x9v4cx1d.js → chunk-m36fw8ft.js} +1 -1
  391. package/dist/{chunk-a40ad1ft.js → chunk-mbsbxarb.js} +1 -1
  392. package/dist/chunk-mzx71snp.js +129 -0
  393. package/dist/chunk-mzx71snp.js.map +10 -0
  394. package/dist/{chunk-6aawea28.js → chunk-n8q5j6y5.js} +1 -1
  395. package/dist/{chunk-dk8tkk5f.js → chunk-n9zpx9c6.js} +4 -4
  396. package/dist/{chunk-7t429e3f.js → chunk-npcr0228.js} +1 -1
  397. package/dist/chunk-nydf3dbe.js +663 -0
  398. package/dist/chunk-nydf3dbe.js.map +13 -0
  399. package/dist/chunk-pdt5cw8z.js +233 -0
  400. package/dist/chunk-pdt5cw8z.js.map +11 -0
  401. package/dist/{chunk-rj69qcrd.js → chunk-pgrf64hp.js} +55 -7
  402. package/dist/chunk-pgrf64hp.js.map +12 -0
  403. package/dist/{chunk-z4m0yz8c.js → chunk-q4pmvkg0.js} +1 -1
  404. package/dist/chunk-qhqgp4jf.js +1418 -0
  405. package/dist/chunk-qhqgp4jf.js.map +22 -0
  406. package/dist/chunk-qx00vjrj.js +144 -0
  407. package/dist/chunk-qx00vjrj.js.map +13 -0
  408. package/dist/{chunk-5e43w60z.js → chunk-r6szek0x.js} +184 -7
  409. package/dist/chunk-r6szek0x.js.map +10 -0
  410. package/dist/{chunk-v4jbb3rs.js → chunk-rap5w0x0.js} +156 -2
  411. package/dist/chunk-rap5w0x0.js.map +10 -0
  412. package/dist/{chunk-pfp1txq2.js → chunk-sgx82nnt.js} +5 -31
  413. package/dist/{chunk-pfp1txq2.js.map → chunk-sgx82nnt.js.map} +3 -4
  414. package/dist/{chunk-bkpke1sg.js → chunk-t5608tkq.js} +3 -1
  415. package/dist/{chunk-bkpke1sg.js.map → chunk-t5608tkq.js.map} +3 -3
  416. package/dist/{chunk-29yx306f.js → chunk-tdxfsg1c.js} +507 -265
  417. package/dist/chunk-tdxfsg1c.js.map +23 -0
  418. package/dist/chunk-vabga7fk.js +176 -0
  419. package/dist/chunk-vabga7fk.js.map +12 -0
  420. package/dist/{chunk-gsjm1wms.js → chunk-vhbw5sqm.js} +33 -3
  421. package/dist/chunk-vhbw5sqm.js.map +10 -0
  422. package/dist/{chunk-tpn40322.js → chunk-vpgwq5nf.js} +104 -17
  423. package/dist/chunk-vpgwq5nf.js.map +21 -0
  424. package/dist/{chunk-0rbyz4qy.js → chunk-vyt322b6.js} +586 -171
  425. package/dist/{chunk-0rbyz4qy.js.map → chunk-vyt322b6.js.map} +12 -9
  426. package/dist/chunk-waqk73p1.js +2380 -0
  427. package/dist/chunk-waqk73p1.js.map +23 -0
  428. package/dist/{chunk-jhm3zsa7.js → chunk-wkv3h3q7.js} +64 -2
  429. package/dist/{chunk-jhm3zsa7.js.map → chunk-wkv3h3q7.js.map} +3 -3
  430. package/dist/chunk-wsc1brye.js +27 -0
  431. package/dist/chunk-wsc1brye.js.map +10 -0
  432. package/dist/chunk-x0v3jd47.js +124 -0
  433. package/dist/chunk-x0v3jd47.js.map +10 -0
  434. package/dist/{chunk-96yw3pwd.js → chunk-y7dbmaqh.js} +28 -2
  435. package/dist/chunk-y7dbmaqh.js.map +10 -0
  436. package/dist/{chunk-d0bqz29d.js → chunk-yc9ners4.js} +124 -19
  437. package/dist/{chunk-d0bqz29d.js.map → chunk-yc9ners4.js.map} +8 -8
  438. package/dist/{chunk-8mx7qw3y.js → chunk-zbc929zg.js} +29 -5
  439. package/dist/chunk-zbc929zg.js.map +13 -0
  440. package/dist/chunk-zrvhsq7f.js +37 -0
  441. package/dist/chunk-zrvhsq7f.js.map +10 -0
  442. package/dist/datasets/builders.d.ts +15 -2
  443. package/dist/datasets/builders.d.ts.map +1 -1
  444. package/dist/datasets/column-index.d.ts +7 -0
  445. package/dist/datasets/column-index.d.ts.map +1 -0
  446. package/dist/datasets/execution.d.ts +3 -2
  447. package/dist/datasets/execution.d.ts.map +1 -1
  448. package/dist/datasets/write.js +8 -8
  449. package/dist/error-reporting/internal.js +4 -4
  450. package/dist/errors/catalog.d.ts +26 -0
  451. package/dist/errors/catalog.d.ts.map +1 -1
  452. package/dist/errors/internal.d.ts +1 -0
  453. package/dist/errors/internal.d.ts.map +1 -1
  454. package/dist/errors/internal.js +7 -4
  455. package/dist/errors/internal.js.map +1 -1
  456. package/dist/events/definitions.d.ts +7 -0
  457. package/dist/events/definitions.d.ts.map +1 -1
  458. package/dist/events/execution.d.ts +12 -2
  459. package/dist/events/execution.d.ts.map +1 -1
  460. package/dist/events/index.d.ts +2 -3
  461. package/dist/events/index.d.ts.map +1 -1
  462. package/dist/events/index.js +9 -11
  463. package/dist/events/index.js.map +1 -1
  464. package/dist/events/scope.d.ts.map +1 -1
  465. package/dist/events/scope.js +1 -1
  466. package/dist/events/selectors/builder.d.ts +12 -1
  467. package/dist/events/selectors/builder.d.ts.map +1 -1
  468. package/dist/events/selectors/index.d.ts +2 -2
  469. package/dist/events/selectors/index.d.ts.map +1 -1
  470. package/dist/events/selectors/index.js +2 -2
  471. package/dist/events/selectors/types.d.ts +19 -3
  472. package/dist/events/selectors/types.d.ts.map +1 -1
  473. package/dist/events/service.d.ts +17 -2
  474. package/dist/events/service.d.ts.map +1 -1
  475. package/dist/events/types/index.d.ts +3 -1
  476. package/dist/events/types/index.d.ts.map +1 -1
  477. package/dist/events/types/users.d.ts +63 -0
  478. package/dist/events/types/users.d.ts.map +1 -0
  479. package/dist/events/view-conditions.d.ts +34 -0
  480. package/dist/events/view-conditions.d.ts.map +1 -0
  481. package/dist/execution/agent.d.ts +15 -0
  482. package/dist/execution/agent.d.ts.map +1 -1
  483. package/dist/execution/agent.js +72 -59
  484. package/dist/execution/agent.js.map +1 -1
  485. package/dist/execution/authorization.d.ts.map +1 -1
  486. package/dist/execution/authorized-object-reader.d.ts +102 -12
  487. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  488. package/dist/execution/lineage.d.ts +7 -0
  489. package/dist/execution/lineage.d.ts.map +1 -0
  490. package/dist/execution/object-reader-clearance.d.ts +41 -0
  491. package/dist/execution/object-reader-clearance.d.ts.map +1 -0
  492. package/dist/execution/object-reader-ontology.d.ts +12 -0
  493. package/dist/execution/object-reader-ontology.d.ts.map +1 -0
  494. package/dist/execution/object-reader-security.d.ts +66 -0
  495. package/dist/execution/object-reader-security.d.ts.map +1 -0
  496. package/dist/execution/object-reader-users.d.ts +20 -0
  497. package/dist/execution/object-reader-users.d.ts.map +1 -0
  498. package/dist/execution/preparation.d.ts +23 -0
  499. package/dist/execution/preparation.d.ts.map +1 -0
  500. package/dist/execution/primitive.js +70 -59
  501. package/dist/execution/primitive.js.map +1 -1
  502. package/dist/execution/request.d.ts +2 -1
  503. package/dist/execution/request.d.ts.map +1 -1
  504. package/dist/execution/request.js +72 -57
  505. package/dist/execution/request.js.map +3 -3
  506. package/dist/execution/unique-lookup.d.ts +14 -0
  507. package/dist/execution/unique-lookup.d.ts.map +1 -0
  508. package/dist/execution/visible-objects.d.ts +12 -0
  509. package/dist/execution/visible-objects.d.ts.map +1 -0
  510. package/dist/http/api-routes.d.ts +17 -0
  511. package/dist/http/api-routes.d.ts.map +1 -1
  512. package/dist/http/index.js +1 -1
  513. package/dist/index.d.ts +49 -16
  514. package/dist/index.d.ts.map +1 -1
  515. package/dist/index.js +168 -142
  516. package/dist/index.js.map +1 -1
  517. package/dist/lake-storage/in-memory.d.ts +1 -0
  518. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  519. package/dist/lake-storage/index.d.ts +6 -3
  520. package/dist/lake-storage/index.d.ts.map +1 -1
  521. package/dist/lake-storage/index.js +21 -13
  522. package/dist/lake-storage/index.js.map +1 -1
  523. package/dist/lake-storage/lineage.d.ts +94 -0
  524. package/dist/lake-storage/lineage.d.ts.map +1 -0
  525. package/dist/lake-storage/sql-transforms.d.ts +45 -0
  526. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  527. package/dist/lake-storage/types.d.ts +55 -1
  528. package/dist/lake-storage/types.d.ts.map +1 -1
  529. package/dist/lake-storage/version-inputs.d.ts +14 -3
  530. package/dist/lake-storage/version-inputs.d.ts.map +1 -1
  531. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  532. package/dist/materialization/errors.d.ts +25 -0
  533. package/dist/materialization/errors.d.ts.map +1 -1
  534. package/dist/materialization/event-envelopes.d.ts +5 -0
  535. package/dist/materialization/event-envelopes.d.ts.map +1 -1
  536. package/dist/materialization/index.d.ts +1 -1
  537. package/dist/materialization/index.d.ts.map +1 -1
  538. package/dist/materialization/index.js +14 -8
  539. package/dist/materialization/index.js.map +1 -1
  540. package/dist/materialization/model.d.ts +20 -2
  541. package/dist/materialization/model.d.ts.map +1 -1
  542. package/dist/materializer/edits/commit.d.ts.map +1 -1
  543. package/dist/materializer/edits/load-state.d.ts +5 -1
  544. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  545. package/dist/materializer/edits/plan.d.ts.map +1 -1
  546. package/dist/materializer/edits/unique-values.d.ts +47 -0
  547. package/dist/materializer/edits/unique-values.d.ts.map +1 -0
  548. package/dist/materializer/edits/working-state.d.ts +6 -1
  549. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  550. package/dist/materializer/execution/work-records.d.ts +7 -1
  551. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  552. package/dist/materializer/index.js +51 -46
  553. package/dist/materializer/index.js.map +1 -1
  554. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  555. package/dist/materializer/projections/source-materialization.d.ts +1 -0
  556. package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
  557. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  558. package/dist/materializer/shared/projection-run.d.ts +0 -1
  559. package/dist/materializer/shared/projection-run.d.ts.map +1 -1
  560. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  561. package/dist/models/audio/catalog.d.ts +13 -1
  562. package/dist/models/audio/catalog.d.ts.map +1 -1
  563. package/dist/models/audio/errors.d.ts +6 -1
  564. package/dist/models/audio/errors.d.ts.map +1 -1
  565. package/dist/models/audio/runtime.d.ts.map +1 -1
  566. package/dist/models/audio/speech.d.ts +8 -0
  567. package/dist/models/audio/speech.d.ts.map +1 -0
  568. package/dist/models/audio/types.d.ts +93 -0
  569. package/dist/models/audio/types.d.ts.map +1 -1
  570. package/dist/models/calls.d.ts +27 -0
  571. package/dist/models/calls.d.ts.map +1 -0
  572. package/dist/models/catalog-index.d.ts +7 -4
  573. package/dist/models/catalog-index.d.ts.map +1 -1
  574. package/dist/models/catalog.d.ts +55 -3
  575. package/dist/models/catalog.d.ts.map +1 -1
  576. package/dist/models/decision/runtime.d.ts +6 -1
  577. package/dist/models/decision/runtime.d.ts.map +1 -1
  578. package/dist/models/decision/validation.d.ts +4 -1
  579. package/dist/models/decision/validation.d.ts.map +1 -1
  580. package/dist/models/definitions.d.ts +23 -1
  581. package/dist/models/definitions.d.ts.map +1 -1
  582. package/dist/models/events.d.ts +12 -1
  583. package/dist/models/events.d.ts.map +1 -1
  584. package/dist/models/execution/binding.d.ts +3 -1
  585. package/dist/models/execution/binding.d.ts.map +1 -1
  586. package/dist/models/execution/index.d.ts +1 -0
  587. package/dist/models/execution/index.d.ts.map +1 -1
  588. package/dist/models/execution/index.js +50 -39
  589. package/dist/models/execution/index.js.map +1 -1
  590. package/dist/models/execution/model-call-accounting.d.ts.map +1 -1
  591. package/dist/models/execution/model-call-recorder.d.ts +3 -0
  592. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  593. package/dist/models/execution/usage.d.ts.map +1 -1
  594. package/dist/models/execution.d.ts +4 -2
  595. package/dist/models/execution.d.ts.map +1 -1
  596. package/dist/models/generation-types.d.ts +8 -1
  597. package/dist/models/generation-types.d.ts.map +1 -1
  598. package/dist/models/image/catalog.d.ts +13 -0
  599. package/dist/models/image/catalog.d.ts.map +1 -0
  600. package/dist/models/image/errors.d.ts +8 -0
  601. package/dist/models/image/errors.d.ts.map +1 -0
  602. package/dist/models/image/runtime.d.ts +8 -0
  603. package/dist/models/image/runtime.d.ts.map +1 -0
  604. package/dist/models/image/types.d.ts +103 -0
  605. package/dist/models/image/types.d.ts.map +1 -0
  606. package/dist/models/index.d.ts +12 -8
  607. package/dist/models/index.d.ts.map +1 -1
  608. package/dist/models/index.js +17 -7
  609. package/dist/models/index.js.map +1 -1
  610. package/dist/models/input-file.d.ts +9 -0
  611. package/dist/models/input-file.d.ts.map +1 -0
  612. package/dist/models/language-model.d.ts +13 -0
  613. package/dist/models/language-model.d.ts.map +1 -1
  614. package/dist/models/pricing.d.ts +25 -10
  615. package/dist/models/pricing.d.ts.map +1 -1
  616. package/dist/models/rate-card.d.ts +44 -6
  617. package/dist/models/rate-card.d.ts.map +1 -1
  618. package/dist/objects/clearance-redaction.d.ts +27 -0
  619. package/dist/objects/clearance-redaction.d.ts.map +1 -0
  620. package/dist/objects/conditional-writes.d.ts +37 -0
  621. package/dist/objects/conditional-writes.d.ts.map +1 -0
  622. package/dist/objects/execution.d.ts +2 -0
  623. package/dist/objects/execution.d.ts.map +1 -1
  624. package/dist/objects/index.d.ts +1 -0
  625. package/dist/objects/index.d.ts.map +1 -1
  626. package/dist/objects/index.js +77 -60
  627. package/dist/objects/index.js.map +1 -1
  628. package/dist/objects/link/authorization.d.ts +11 -5
  629. package/dist/objects/link/authorization.d.ts.map +1 -1
  630. package/dist/objects/link/endpoints.d.ts +21 -2
  631. package/dist/objects/link/endpoints.d.ts.map +1 -1
  632. package/dist/objects/link/remove.d.ts.map +1 -1
  633. package/dist/objects/link/upsert-batch.d.ts.map +1 -1
  634. package/dist/objects/link/upsert.d.ts.map +1 -1
  635. package/dist/objects/materializer-adapter.d.ts +13 -4
  636. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  637. package/dist/objects/object/delete.d.ts +3 -0
  638. package/dist/objects/object/delete.d.ts.map +1 -1
  639. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  640. package/dist/objects/object/upsert.d.ts.map +1 -1
  641. package/dist/objects/property-clearance.d.ts +47 -24
  642. package/dist/objects/property-clearance.d.ts.map +1 -1
  643. package/dist/objects/query/clearance-admission.d.ts +10 -0
  644. package/dist/objects/query/clearance-admission.d.ts.map +1 -0
  645. package/dist/objects/query/current-user.d.ts +17 -0
  646. package/dist/objects/query/current-user.d.ts.map +1 -0
  647. package/dist/objects/query/executor.d.ts +14 -0
  648. package/dist/objects/query/executor.d.ts.map +1 -1
  649. package/dist/objects/query/index.d.ts +2 -2
  650. package/dist/objects/query/index.d.ts.map +1 -1
  651. package/dist/objects/query/index.js +55 -49
  652. package/dist/objects/query/index.js.map +1 -1
  653. package/dist/objects/query/ir.d.ts +19 -1
  654. package/dist/objects/query/ir.d.ts.map +1 -1
  655. package/dist/objects/query/link-query-clearance.d.ts +21 -0
  656. package/dist/objects/query/link-query-clearance.d.ts.map +1 -0
  657. package/dist/objects/query/matches-predicate.d.ts +9 -0
  658. package/dist/objects/query/matches-predicate.d.ts.map +1 -0
  659. package/dist/objects/query/normalize.d.ts.map +1 -1
  660. package/dist/objects/query/user-expansions.d.ts +27 -0
  661. package/dist/objects/query/user-expansions.d.ts.map +1 -0
  662. package/dist/objects/query/validate.d.ts.map +1 -1
  663. package/dist/objects/runtime-batch.d.ts +3 -1
  664. package/dist/objects/runtime-batch.d.ts.map +1 -1
  665. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  666. package/dist/objects/sdk/query-executor.d.ts +6 -0
  667. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  668. package/dist/objects/serialize.d.ts +39 -0
  669. package/dist/objects/serialize.d.ts.map +1 -0
  670. package/dist/objects/unique-violation.d.ts +22 -0
  671. package/dist/objects/unique-violation.d.ts.map +1 -0
  672. package/dist/ontology/builders.d.ts +3 -1
  673. package/dist/ontology/builders.d.ts.map +1 -1
  674. package/dist/ontology/docs-markdown.d.ts +1 -1
  675. package/dist/ontology/docs-markdown.d.ts.map +1 -1
  676. package/dist/ontology/index.d.ts +2 -2
  677. package/dist/ontology/index.d.ts.map +1 -1
  678. package/dist/ontology/index.js +13 -9
  679. package/dist/ontology/index.js.map +1 -1
  680. package/dist/ontology/internal.js +9 -7
  681. package/dist/ontology/internal.js.map +3 -3
  682. package/dist/ontology/json-schema.d.ts.map +1 -1
  683. package/dist/ontology/primitives.d.ts +3 -0
  684. package/dist/ontology/primitives.d.ts.map +1 -1
  685. package/dist/ontology/registry.d.ts +6 -0
  686. package/dist/ontology/registry.d.ts.map +1 -1
  687. package/dist/ontology/types.d.ts +9 -0
  688. package/dist/ontology/types.d.ts.map +1 -1
  689. package/dist/ontology/unique-values.d.ts +26 -0
  690. package/dist/ontology/unique-values.d.ts.map +1 -0
  691. package/dist/ontology/user-ref.d.ts +23 -0
  692. package/dist/ontology/user-ref.d.ts.map +1 -1
  693. package/dist/ontology/validation/properties.d.ts.map +1 -1
  694. package/dist/ontology/validation/schema.d.ts.map +1 -1
  695. package/dist/pipelines/index.d.ts +2 -0
  696. package/dist/pipelines/index.d.ts.map +1 -1
  697. package/dist/pipelines/index.js +61 -46
  698. package/dist/pipelines/index.js.map +1 -1
  699. package/dist/pipelines/lineage.d.ts +17 -0
  700. package/dist/pipelines/lineage.d.ts.map +1 -0
  701. package/dist/projections/internal.d.ts +2 -2
  702. package/dist/projections/internal.js +42 -38
  703. package/dist/projections/internal.js.map +1 -1
  704. package/dist/projections/registry.d.ts +4 -0
  705. package/dist/projections/registry.d.ts.map +1 -1
  706. package/dist/projections/revision.d.ts +15 -0
  707. package/dist/projections/revision.d.ts.map +1 -1
  708. package/dist/projections/run-dispatch.d.ts.map +1 -1
  709. package/dist/projections/types.d.ts +2 -0
  710. package/dist/projections/types.d.ts.map +1 -1
  711. package/dist/query.d.ts +4 -2
  712. package/dist/query.d.ts.map +1 -1
  713. package/dist/query.js +2 -2
  714. package/dist/rules/execution.d.ts.map +1 -1
  715. package/dist/runtime/ai-cost.d.ts +2 -0
  716. package/dist/runtime/ai-cost.d.ts.map +1 -1
  717. package/dist/runtime/ai-usage.d.ts +7 -0
  718. package/dist/runtime/ai-usage.d.ts.map +1 -1
  719. package/dist/runtime/create.d.ts +3 -0
  720. package/dist/runtime/create.d.ts.map +1 -1
  721. package/dist/runtime/host.d.ts +6 -0
  722. package/dist/runtime/host.d.ts.map +1 -1
  723. package/dist/runtime/index.d.ts +1 -1
  724. package/dist/runtime/index.d.ts.map +1 -1
  725. package/dist/runtime/internal.d.ts +2 -0
  726. package/dist/runtime/internal.d.ts.map +1 -1
  727. package/dist/runtime/internal.js +58 -50
  728. package/dist/runtime/internal.js.map +1 -1
  729. package/dist/runtime/ontology-mutations.d.ts +2 -0
  730. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  731. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  732. package/dist/runtime/sixb.d.ts +10 -0
  733. package/dist/runtime/sixb.d.ts.map +1 -1
  734. package/dist/runtime/types.d.ts +66 -8
  735. package/dist/runtime/types.d.ts.map +1 -1
  736. package/dist/sandboxes/auth.d.ts +16 -0
  737. package/dist/sandboxes/auth.d.ts.map +1 -1
  738. package/dist/sandboxes/config.d.ts.map +1 -1
  739. package/dist/sandboxes/configuration.d.ts +26 -0
  740. package/dist/sandboxes/configuration.d.ts.map +1 -1
  741. package/dist/sandboxes/index.d.ts +1 -1
  742. package/dist/sandboxes/index.d.ts.map +1 -1
  743. package/dist/sandboxes/index.js +15 -13
  744. package/dist/sandboxes/index.js.map +1 -1
  745. package/dist/sandboxes/sandbox.d.ts +28 -5
  746. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  747. package/dist/schedules/builders.d.ts.map +1 -1
  748. package/dist/schedules/index.js +3 -3
  749. package/dist/schedules/runtime.d.ts.map +1 -1
  750. package/dist/schedules/validation.d.ts.map +1 -1
  751. package/dist/security/applied-markings-contribution.d.ts +58 -0
  752. package/dist/security/applied-markings-contribution.d.ts.map +1 -0
  753. package/dist/security/applied-markings-host.d.ts +10 -0
  754. package/dist/security/applied-markings-host.d.ts.map +1 -0
  755. package/dist/security/applied-markings-snapshot.d.ts +67 -0
  756. package/dist/security/applied-markings-snapshot.d.ts.map +1 -0
  757. package/dist/security/applied-markings.d.ts +73 -0
  758. package/dist/security/applied-markings.d.ts.map +1 -0
  759. package/dist/security/dataset-version-markings.d.ts +47 -0
  760. package/dist/security/dataset-version-markings.d.ts.map +1 -0
  761. package/dist/security/grants.d.ts +13 -4
  762. package/dist/security/grants.d.ts.map +1 -1
  763. package/dist/security/index.d.ts +2 -1
  764. package/dist/security/index.d.ts.map +1 -1
  765. package/dist/security/internal.d.ts +15 -0
  766. package/dist/security/internal.d.ts.map +1 -0
  767. package/dist/security/internal.js +135 -0
  768. package/dist/security/internal.js.map +10 -0
  769. package/dist/security/marking-propagation.d.ts +62 -0
  770. package/dist/security/marking-propagation.d.ts.map +1 -0
  771. package/dist/security/marking-sets.d.ts +14 -0
  772. package/dist/security/marking-sets.d.ts.map +1 -0
  773. package/dist/security/markings.d.ts +6 -3
  774. package/dist/security/markings.d.ts.map +1 -1
  775. package/dist/security/pipeline-markings.d.ts +20 -0
  776. package/dist/security/pipeline-markings.d.ts.map +1 -0
  777. package/dist/security/project.d.ts +7 -0
  778. package/dist/security/project.d.ts.map +1 -0
  779. package/dist/security/projection-markings.d.ts +71 -0
  780. package/dist/security/projection-markings.d.ts.map +1 -0
  781. package/dist/security/public.js +2 -2
  782. package/dist/security/redactions.d.ts +4 -1
  783. package/dist/security/redactions.d.ts.map +1 -1
  784. package/dist/security/registry.d.ts +6 -0
  785. package/dist/security/registry.d.ts.map +1 -1
  786. package/dist/security/types.d.ts +64 -6
  787. package/dist/security/types.d.ts.map +1 -1
  788. package/dist/security/validation.d.ts.map +1 -1
  789. package/dist/security/view-conditions.d.ts +37 -0
  790. package/dist/security/view-conditions.d.ts.map +1 -0
  791. package/dist/shares/execution.d.ts.map +1 -1
  792. package/dist/shares/internal.js +40 -36
  793. package/dist/shares/internal.js.map +2 -2
  794. package/dist/storage/action-runs/failure.js +3 -3
  795. package/dist/storage/action-runs/in-memory.d.ts +4 -0
  796. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  797. package/dist/storage/action-runs/provider.js +1 -1
  798. package/dist/storage/action-runs/types.d.ts +9 -1
  799. package/dist/storage/action-runs/types.d.ts.map +1 -1
  800. package/dist/storage/activity/in-memory.d.ts +55 -0
  801. package/dist/storage/activity/in-memory.d.ts.map +1 -0
  802. package/dist/storage/activity/index.d.ts +3 -0
  803. package/dist/storage/activity/index.d.ts.map +1 -0
  804. package/dist/storage/activity/policy.d.ts +96 -0
  805. package/dist/storage/activity/policy.d.ts.map +1 -0
  806. package/dist/storage/activity/types.d.ts +191 -0
  807. package/dist/storage/activity/types.d.ts.map +1 -0
  808. package/dist/storage/agents/errors.d.ts +3 -1
  809. package/dist/storage/agents/errors.d.ts.map +1 -1
  810. package/dist/storage/agents/in-memory.d.ts +124 -3
  811. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  812. package/dist/storage/agents/index.d.ts +2 -2
  813. package/dist/storage/agents/index.d.ts.map +1 -1
  814. package/dist/storage/agents/provider.d.ts +154 -4
  815. package/dist/storage/agents/provider.d.ts.map +1 -1
  816. package/dist/storage/agents/provider.js +60 -8
  817. package/dist/storage/agents/provider.js.map +1 -1
  818. package/dist/storage/agents/types.d.ts +573 -20
  819. package/dist/storage/agents/types.d.ts.map +1 -1
  820. package/dist/storage/ai-cost/analytics.d.ts +10 -1
  821. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  822. package/dist/storage/ai-cost/groups.d.ts +9 -0
  823. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  824. package/dist/storage/ai-cost/index.d.ts +1 -1
  825. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  826. package/dist/storage/ai-cost/provider.d.ts +2 -1
  827. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  828. package/dist/storage/ai-cost/provider.js +11 -5
  829. package/dist/storage/ai-cost/provider.js.map +1 -1
  830. package/dist/storage/ai-cost/types.d.ts +14 -2
  831. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  832. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  833. package/dist/storage/ai-limits/enforcement.js +6 -5
  834. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  835. package/dist/storage/ai-limits/provider.d.ts +1 -1
  836. package/dist/storage/ai-limits/provider.d.ts.map +1 -1
  837. package/dist/storage/ai-limits/provider.js +3 -2
  838. package/dist/storage/ai-limits/provider.js.map +1 -1
  839. package/dist/storage/ai-usage/in-memory.d.ts +5 -1
  840. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
  841. package/dist/storage/ai-usage/index.d.ts +2 -2
  842. package/dist/storage/ai-usage/index.d.ts.map +1 -1
  843. package/dist/storage/ai-usage/record.d.ts +5 -1
  844. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  845. package/dist/storage/ai-usage/types.d.ts +33 -0
  846. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  847. package/dist/storage/ai-usage/usage.d.ts +2 -0
  848. package/dist/storage/ai-usage/usage.d.ts.map +1 -1
  849. package/dist/storage/artifacts/errors.d.ts +18 -0
  850. package/dist/storage/artifacts/errors.d.ts.map +1 -0
  851. package/dist/storage/artifacts/in-memory.d.ts +55 -0
  852. package/dist/storage/artifacts/in-memory.d.ts.map +1 -0
  853. package/dist/storage/artifacts/index.d.ts +5 -0
  854. package/dist/storage/artifacts/index.d.ts.map +1 -0
  855. package/dist/storage/artifacts/record.d.ts +34 -0
  856. package/dist/storage/artifacts/record.d.ts.map +1 -0
  857. package/dist/storage/artifacts/types.d.ts +263 -0
  858. package/dist/storage/artifacts/types.d.ts.map +1 -0
  859. package/dist/storage/auth/in-memory/auth-storage.d.ts +3 -2
  860. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  861. package/dist/storage/auth/in-memory/sessions.d.ts +2 -1
  862. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  863. package/dist/storage/auth/in-memory/users.d.ts +7 -3
  864. package/dist/storage/auth/in-memory/users.d.ts.map +1 -1
  865. package/dist/storage/auth/index.d.ts +1 -1
  866. package/dist/storage/auth/index.d.ts.map +1 -1
  867. package/dist/storage/auth/types.d.ts +59 -9
  868. package/dist/storage/auth/types.d.ts.map +1 -1
  869. package/dist/storage/connector-connections/provider.js +2 -2
  870. package/dist/storage/executions/in-memory.d.ts +3 -1
  871. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  872. package/dist/storage/executions/index.d.ts +1 -1
  873. package/dist/storage/executions/index.d.ts.map +1 -1
  874. package/dist/storage/executions/provider.d.ts +2 -0
  875. package/dist/storage/executions/provider.d.ts.map +1 -1
  876. package/dist/storage/executions/provider.js +9 -223
  877. package/dist/storage/executions/provider.js.map +3 -4
  878. package/dist/storage/executions/types.d.ts +46 -0
  879. package/dist/storage/executions/types.d.ts.map +1 -1
  880. package/dist/storage/file-upload-sessions/provider.js +17 -14
  881. package/dist/storage/file-upload-sessions/provider.js.map +1 -1
  882. package/dist/storage/in-memory/index.d.ts +8 -0
  883. package/dist/storage/in-memory/index.d.ts.map +1 -1
  884. package/dist/storage/index.d.ts +15 -11
  885. package/dist/storage/index.d.ts.map +1 -1
  886. package/dist/storage/index.js +78 -66
  887. package/dist/storage/index.js.map +1 -1
  888. package/dist/storage/internal.d.ts +4 -1
  889. package/dist/storage/internal.d.ts.map +1 -1
  890. package/dist/storage/internal.js +80 -19
  891. package/dist/storage/internal.js.map +1 -1
  892. package/dist/storage/migrations/migrate-storage.d.ts +4 -1
  893. package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
  894. package/dist/storage/migrations/prepare-unique-properties.d.ts +18 -0
  895. package/dist/storage/migrations/prepare-unique-properties.d.ts.map +1 -0
  896. package/dist/storage/objects/guard.d.ts +1 -1
  897. package/dist/storage/objects/guard.d.ts.map +1 -1
  898. package/dist/storage/objects/in-memory/conditional-reader.d.ts +5 -0
  899. package/dist/storage/objects/in-memory/conditional-reader.d.ts.map +1 -0
  900. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  901. package/dist/storage/objects/in-memory/read-scope.d.ts +3 -9
  902. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -1
  903. package/dist/storage/objects/in-memory/read-source.d.ts +10 -1
  904. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  905. package/dist/storage/objects/in-memory/scoped-reader.d.ts +14 -0
  906. package/dist/storage/objects/in-memory/scoped-reader.d.ts.map +1 -0
  907. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  908. package/dist/storage/objects/in-memory/storage.d.ts +36 -1
  909. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  910. package/dist/storage/objects/index.d.ts +2 -2
  911. package/dist/storage/objects/index.d.ts.map +1 -1
  912. package/dist/storage/objects/read-scope.d.ts +9 -1
  913. package/dist/storage/objects/read-scope.d.ts.map +1 -1
  914. package/dist/storage/objects/types.d.ts +64 -1
  915. package/dist/storage/objects/types.d.ts.map +1 -1
  916. package/dist/storage/ontology/in-memory/index.d.ts +2 -0
  917. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  918. package/dist/storage/ontology/in-memory/materializations.d.ts +1 -0
  919. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  920. package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -1
  921. package/dist/storage/ontology/in-memory/sources.d.ts +2 -1
  922. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
  923. package/dist/storage/ontology/in-memory/unique-values.d.ts +32 -0
  924. package/dist/storage/ontology/in-memory/unique-values.d.ts.map +1 -0
  925. package/dist/storage/ontology/index.d.ts +5 -2
  926. package/dist/storage/ontology/index.d.ts.map +1 -1
  927. package/dist/storage/ontology/materializations.d.ts +34 -1
  928. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  929. package/dist/storage/ontology/provider-work.d.ts +15 -2
  930. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  931. package/dist/storage/ontology/provider.d.ts +1 -1
  932. package/dist/storage/ontology/provider.d.ts.map +1 -1
  933. package/dist/storage/ontology/provider.js +9 -4
  934. package/dist/storage/ontology/provider.js.map +1 -1
  935. package/dist/storage/ontology/sources.d.ts +15 -0
  936. package/dist/storage/ontology/sources.d.ts.map +1 -1
  937. package/dist/storage/ontology/unique-values.d.ts +54 -0
  938. package/dist/storage/ontology/unique-values.d.ts.map +1 -0
  939. package/dist/storage/operation-scope.d.ts +1 -1
  940. package/dist/storage/operation-scope.d.ts.map +1 -1
  941. package/dist/storage/operation-scope.js +1 -1
  942. package/dist/storage/projection-runs/in-memory.d.ts +0 -6
  943. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  944. package/dist/storage/projection-runs/provider.js +3 -3
  945. package/dist/storage/share-grants/in-memory.d.ts +2 -1
  946. package/dist/storage/share-grants/in-memory.d.ts.map +1 -1
  947. package/dist/storage/share-grants/index.d.ts +1 -1
  948. package/dist/storage/share-grants/index.d.ts.map +1 -1
  949. package/dist/storage/share-grants/provider.js +4 -3
  950. package/dist/storage/share-grants/provider.js.map +1 -1
  951. package/dist/storage/share-grants/types.d.ts +6 -0
  952. package/dist/storage/share-grants/types.d.ts.map +1 -1
  953. package/dist/storage/types.d.ts +6 -2
  954. package/dist/storage/types.d.ts.map +1 -1
  955. package/dist/storage/workflow-runs/in-memory.d.ts +4 -0
  956. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  957. package/dist/storage/workflow-runs/provider.js +18 -14
  958. package/dist/storage/workflow-runs/provider.js.map +1 -1
  959. package/dist/storage/workflow-runs/types.d.ts +5 -0
  960. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  961. package/dist/syncs/index.js +49 -45
  962. package/dist/syncs/index.js.map +1 -1
  963. package/dist/testing/action-run-storage-contract.d.ts.map +1 -1
  964. package/dist/testing/activity-storage-contract.d.ts +14 -0
  965. package/dist/testing/activity-storage-contract.d.ts.map +1 -0
  966. package/dist/testing/agent-approval-storage-contract.d.ts +17 -0
  967. package/dist/testing/agent-approval-storage-contract.d.ts.map +1 -0
  968. package/dist/testing/agent-memory-storage-contract.d.ts +12 -0
  969. package/dist/testing/agent-memory-storage-contract.d.ts.map +1 -0
  970. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  971. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  972. package/dist/testing/ai-limit-storage-contract.d.ts +0 -1
  973. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
  974. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  975. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  976. package/dist/testing/artifact-storage-contract.d.ts +13 -0
  977. package/dist/testing/artifact-storage-contract.d.ts.map +1 -0
  978. package/dist/testing/auth-storage-contract.d.ts +13 -0
  979. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  980. package/dist/testing/broker-contract.d.ts +5 -0
  981. package/dist/testing/broker-contract.d.ts.map +1 -1
  982. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  983. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  984. package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -1
  985. package/dist/testing/index.d.ts +11 -5
  986. package/dist/testing/index.d.ts.map +1 -1
  987. package/dist/testing/index.js +9340 -3794
  988. package/dist/testing/index.js.map +32 -26
  989. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  990. package/dist/testing/lake-storage-contract.d.ts +2 -0
  991. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  992. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  993. package/dist/testing/object-conditional-read-scope-contract.d.ts +11 -0
  994. package/dist/testing/object-conditional-read-scope-contract.d.ts.map +1 -0
  995. package/dist/testing/object-query-contract.d.ts +0 -2
  996. package/dist/testing/object-query-contract.d.ts.map +1 -1
  997. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  998. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  999. package/dist/testing/queues-contract.d.ts +5 -0
  1000. package/dist/testing/queues-contract.d.ts.map +1 -1
  1001. package/dist/testing/sandboxes-contract.d.ts.map +1 -1
  1002. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
  1003. package/dist/testing/share-session-storage-contract.d.ts.map +1 -1
  1004. package/dist/testing/unique-values-contract.d.ts +21 -0
  1005. package/dist/testing/unique-values-contract.d.ts.map +1 -0
  1006. package/dist/testing/webhook-execution.d.ts +0 -8
  1007. package/dist/testing/webhook-execution.d.ts.map +1 -1
  1008. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -1
  1009. package/dist/users/execution.d.ts +40 -0
  1010. package/dist/users/execution.d.ts.map +1 -0
  1011. package/dist/users/index.d.ts +3 -0
  1012. package/dist/users/index.d.ts.map +1 -0
  1013. package/dist/webhooks/internal.js +42 -38
  1014. package/dist/webhooks/internal.js.map +2 -2
  1015. package/dist/workers/index.js +5 -7
  1016. package/dist/workers/index.js.map +4 -4
  1017. package/dist/workers/queue-worker.d.ts +0 -2
  1018. package/dist/workers/queue-worker.d.ts.map +1 -1
  1019. package/dist/workers/worker.d.ts +0 -2
  1020. package/dist/workers/worker.d.ts.map +1 -1
  1021. package/dist/workflows/builders.d.ts.map +1 -1
  1022. package/dist/workflows/index.js +76 -66
  1023. package/dist/workflows/index.js.map +1 -1
  1024. package/dist/workflows/request.d.ts +12 -1
  1025. package/dist/workflows/request.d.ts.map +1 -1
  1026. package/dist/workflows/types.d.ts +15 -2
  1027. package/dist/workflows/types.d.ts.map +1 -1
  1028. package/dist/workflows/validation.d.ts +7 -0
  1029. package/dist/workflows/validation.d.ts.map +1 -1
  1030. package/package.json +25 -1
  1031. package/src/actions/commit-edits.ts +6 -1
  1032. package/src/actions/execution.ts +55 -23
  1033. package/src/actions/read-facade.ts +33 -0
  1034. package/src/actions/request.ts +234 -66
  1035. package/src/actions/run/context.ts +47 -1
  1036. package/src/actions/run/execute.ts +13 -6
  1037. package/src/actions/run/executor.ts +11 -2
  1038. package/src/actions/run/normalize.ts +12 -2
  1039. package/src/actions/run/phases.ts +2 -0
  1040. package/src/actions/run/run-action.ts +12 -3
  1041. package/src/actions/run/signals.ts +3 -9
  1042. package/src/actions/run/types.ts +17 -1
  1043. package/src/actions/run-authorization.ts +95 -0
  1044. package/src/actions/types/context.ts +20 -3
  1045. package/src/actions/validators.ts +19 -8
  1046. package/src/activity/README.md +158 -0
  1047. package/src/activity/connection.ts +217 -0
  1048. package/src/activity/device.ts +41 -0
  1049. package/src/activity/execution.ts +210 -0
  1050. package/src/activity/service.ts +274 -0
  1051. package/src/activity/shares.ts +62 -0
  1052. package/src/activity/timeline.ts +385 -0
  1053. package/src/agents/accounting.ts +59 -0
  1054. package/src/agents/adapters.ts +10 -0
  1055. package/src/agents/agent-mail.ts +29 -0
  1056. package/src/agents/api-gateway.ts +14 -3
  1057. package/src/agents/approval-continuation.ts +48 -0
  1058. package/src/agents/approval-executor.ts +318 -0
  1059. package/src/agents/approval-outcome.ts +59 -0
  1060. package/src/agents/approvals.ts +566 -0
  1061. package/src/agents/authority.ts +24 -1
  1062. package/src/agents/builders.ts +5 -3
  1063. package/src/agents/cancel.ts +103 -0
  1064. package/src/agents/child-question.ts +46 -0
  1065. package/src/agents/children.ts +404 -0
  1066. package/src/agents/context-compaction.ts +12 -0
  1067. package/src/agents/errors.ts +31 -0
  1068. package/src/agents/execution.ts +788 -90
  1069. package/src/agents/fork.ts +158 -0
  1070. package/src/agents/ids.ts +18 -6
  1071. package/src/agents/index.ts +63 -3
  1072. package/src/agents/memory-execution.ts +186 -0
  1073. package/src/agents/memory.ts +178 -0
  1074. package/src/agents/message.ts +57 -0
  1075. package/src/agents/model-loop.ts +93 -6
  1076. package/src/agents/model-routing.ts +193 -0
  1077. package/src/agents/participants.ts +213 -0
  1078. package/src/agents/reference.ts +2 -0
  1079. package/src/agents/request.ts +398 -64
  1080. package/src/agents/run-scope.ts +134 -0
  1081. package/src/agents/skills.ts +6 -0
  1082. package/src/agents/streams/index.ts +5 -0
  1083. package/src/agents/streams/internal.ts +1 -0
  1084. package/src/agents/streams/protocol.ts +385 -7
  1085. package/src/agents/subagent-runs.ts +41 -0
  1086. package/src/agents/thread-access.ts +137 -0
  1087. package/src/agents/tool-definition.ts +5 -3
  1088. package/src/agents/types.ts +43 -18
  1089. package/src/agents/validation.ts +4 -0
  1090. package/src/artifacts/access.ts +125 -0
  1091. package/src/artifacts/address.ts +132 -0
  1092. package/src/artifacts/canvas.ts +369 -0
  1093. package/src/artifacts/csv.ts +118 -0
  1094. package/src/artifacts/errors.ts +32 -0
  1095. package/src/artifacts/execution.ts +553 -0
  1096. package/src/artifacts/formula/check.ts +171 -0
  1097. package/src/artifacts/formula/evaluate.ts +288 -0
  1098. package/src/artifacts/formula/index.ts +199 -0
  1099. package/src/artifacts/formula/parser.ts +357 -0
  1100. package/src/artifacts/frames/assets.ts +104 -0
  1101. package/src/artifacts/frames/entries.ts +35 -0
  1102. package/src/artifacts/frames/grants.ts +125 -0
  1103. package/src/artifacts/frames/index.ts +21 -0
  1104. package/src/artifacts/frames/kit.ts +569 -0
  1105. package/src/artifacts/frames/probe.ts +357 -0
  1106. package/src/artifacts/frames/protocol.ts +328 -0
  1107. package/src/artifacts/frames/runtime.ts +458 -0
  1108. package/src/artifacts/html.ts +25 -0
  1109. package/src/artifacts/ids.ts +18 -0
  1110. package/src/artifacts/index.ts +125 -0
  1111. package/src/artifacts/kinds.ts +8 -0
  1112. package/src/artifacts/limits.ts +58 -0
  1113. package/src/artifacts/live-sheet.ts +345 -0
  1114. package/src/artifacts/outline.ts +95 -0
  1115. package/src/artifacts/publish/files.ts +87 -0
  1116. package/src/artifacts/publish/index.ts +14 -0
  1117. package/src/artifacts/publish/publish.ts +336 -0
  1118. package/src/artifacts/publish/queries.ts +336 -0
  1119. package/src/artifacts/publish/references.ts +135 -0
  1120. package/src/artifacts/publish/validate/canvas.ts +118 -0
  1121. package/src/artifacts/publish/validate/document.ts +114 -0
  1122. package/src/artifacts/publish/validate/file.ts +19 -0
  1123. package/src/artifacts/publish/validate/html.ts +78 -0
  1124. package/src/artifacts/publish/validate/page.ts +65 -0
  1125. package/src/artifacts/publish/validate/sheet.ts +297 -0
  1126. package/src/artifacts/publish/validate/slides.ts +82 -0
  1127. package/src/artifacts/queries.ts +512 -0
  1128. package/src/artifacts/references.ts +11 -0
  1129. package/src/artifacts/resolve.ts +112 -0
  1130. package/src/artifacts/run-query.ts +212 -0
  1131. package/src/artifacts/serialize-query.ts +25 -0
  1132. package/src/artifacts/sheet-rules.ts +180 -0
  1133. package/src/artifacts/theme.ts +116 -0
  1134. package/src/artifacts/tones.ts +20 -0
  1135. package/src/artifacts/warnings.ts +10 -0
  1136. package/src/artifacts/workbook.ts +674 -0
  1137. package/src/auth/index.ts +4 -0
  1138. package/src/auth/member-events.ts +114 -0
  1139. package/src/auth/profile.ts +118 -0
  1140. package/src/auth/runtime.ts +190 -9
  1141. package/src/auth/strategy.ts +3 -0
  1142. package/src/auth/types.ts +32 -0
  1143. package/src/authorization/decision.ts +52 -0
  1144. package/src/authorization/event-visibility.ts +17 -16
  1145. package/src/authorization/grant-kinds.ts +46 -2
  1146. package/src/authorization/index.ts +6 -1
  1147. package/src/authorization/resolve.ts +58 -1
  1148. package/src/authorization/run-visibility.ts +8 -1
  1149. package/src/authorization/types.ts +14 -0
  1150. package/src/blob-storage/internal.ts +1 -1
  1151. package/src/blob-storage/media-type.ts +69 -0
  1152. package/src/datasets/builders.ts +66 -2
  1153. package/src/datasets/column-index.ts +19 -0
  1154. package/src/datasets/execution.ts +23 -9
  1155. package/src/errors/catalog.ts +26 -1
  1156. package/src/errors/internal.ts +18 -8
  1157. package/src/events/definitions.ts +26 -0
  1158. package/src/events/execution.ts +171 -21
  1159. package/src/events/index.ts +10 -1
  1160. package/src/events/scope.ts +2 -0
  1161. package/src/events/selectors/builder.ts +50 -0
  1162. package/src/events/selectors/index.ts +4 -0
  1163. package/src/events/selectors/types.ts +32 -1
  1164. package/src/events/service.ts +55 -2
  1165. package/src/events/types/index.ts +10 -0
  1166. package/src/events/types/users.ts +73 -0
  1167. package/src/events/view-conditions.ts +241 -0
  1168. package/src/execution/agent.ts +25 -0
  1169. package/src/execution/authorization.ts +70 -0
  1170. package/src/execution/authorized-object-reader.ts +486 -266
  1171. package/src/execution/lineage.ts +14 -0
  1172. package/src/execution/object-reader-clearance.ts +91 -0
  1173. package/src/execution/object-reader-ontology.ts +60 -0
  1174. package/src/execution/object-reader-security.ts +270 -0
  1175. package/src/execution/object-reader-users.ts +122 -0
  1176. package/src/execution/preparation.ts +78 -0
  1177. package/src/execution/request.ts +2 -0
  1178. package/src/execution/unique-lookup.ts +55 -0
  1179. package/src/execution/visible-objects.ts +26 -0
  1180. package/src/http/api-routes.ts +331 -7
  1181. package/src/index.ts +169 -4
  1182. package/src/lake-storage/in-memory.ts +26 -3
  1183. package/src/lake-storage/index.ts +13 -1
  1184. package/src/lake-storage/lineage.ts +385 -0
  1185. package/src/lake-storage/sql-transforms.ts +45 -0
  1186. package/src/lake-storage/types.ts +59 -1
  1187. package/src/lake-storage/version-inputs.ts +35 -6
  1188. package/src/maintenance/ontology-maintenance.ts +15 -0
  1189. package/src/materialization/errors.ts +37 -0
  1190. package/src/materialization/event-envelopes.ts +11 -3
  1191. package/src/materialization/index.ts +1 -0
  1192. package/src/materialization/model.ts +24 -4
  1193. package/src/materializer/README.md +7 -1
  1194. package/src/materializer/edits/commit.ts +56 -12
  1195. package/src/materializer/edits/load-state.ts +15 -7
  1196. package/src/materializer/edits/operations.ts +12 -0
  1197. package/src/materializer/edits/plan.ts +2 -0
  1198. package/src/materializer/edits/unique-values.ts +255 -0
  1199. package/src/materializer/edits/working-state.ts +8 -1
  1200. package/src/materializer/execution/work-records.ts +47 -0
  1201. package/src/materializer/projections/finish-run.ts +0 -1
  1202. package/src/materializer/projections/replace.ts +1 -1
  1203. package/src/materializer/projections/replacement-plan.ts +4 -1
  1204. package/src/materializer/projections/source-materialization.ts +2 -1
  1205. package/src/materializer/shared/normalize.ts +37 -6
  1206. package/src/materializer/shared/projection-run.ts +1 -2
  1207. package/src/materializer/telemetry/append.ts +14 -17
  1208. package/src/materializer/telemetry/plan.ts +2 -0
  1209. package/src/models/audio/catalog.ts +89 -10
  1210. package/src/models/audio/errors.ts +18 -1
  1211. package/src/models/audio/runtime.ts +10 -13
  1212. package/src/models/audio/speech.ts +261 -0
  1213. package/src/models/audio/types.ts +97 -0
  1214. package/src/models/calls.ts +100 -0
  1215. package/src/models/catalog-index.ts +21 -2
  1216. package/src/models/catalog.ts +211 -35
  1217. package/src/models/decision/runtime.ts +21 -22
  1218. package/src/models/decision/validation.ts +4 -1
  1219. package/src/models/definitions.ts +57 -8
  1220. package/src/models/events.ts +72 -1
  1221. package/src/models/execution/README.md +34 -5
  1222. package/src/models/execution/binding.ts +3 -1
  1223. package/src/models/execution/embedding.ts +1 -0
  1224. package/src/models/execution/index.ts +5 -0
  1225. package/src/models/execution/model-call-accounting.ts +3 -1
  1226. package/src/models/execution/model-call-recorder.ts +29 -1
  1227. package/src/models/execution/usage.ts +8 -0
  1228. package/src/models/execution.ts +20 -22
  1229. package/src/models/generation-types.ts +8 -1
  1230. package/src/models/image/catalog.ts +89 -0
  1231. package/src/models/image/errors.ts +19 -0
  1232. package/src/models/image/runtime.ts +335 -0
  1233. package/src/models/image/types.ts +111 -0
  1234. package/src/models/index.ts +38 -4
  1235. package/src/models/{audio/file.ts → input-file.ts} +22 -13
  1236. package/src/models/language-model.ts +13 -0
  1237. package/src/models/pricing.ts +263 -42
  1238. package/src/models/rate-card.ts +161 -12
  1239. package/src/objects/authorized-ontology-view.ts +1 -0
  1240. package/src/objects/clearance-redaction.ts +138 -0
  1241. package/src/objects/conditional-writes.ts +109 -0
  1242. package/src/objects/execution.ts +4 -0
  1243. package/src/objects/index.ts +8 -0
  1244. package/src/objects/link/authorization.ts +37 -8
  1245. package/src/objects/link/endpoints.ts +42 -11
  1246. package/src/objects/link/remove.ts +27 -12
  1247. package/src/objects/link/upsert-batch.ts +9 -5
  1248. package/src/objects/link/upsert.ts +20 -14
  1249. package/src/objects/materializer-adapter.ts +55 -18
  1250. package/src/objects/object/delete.ts +26 -7
  1251. package/src/objects/object/upsert-batch.ts +46 -18
  1252. package/src/objects/object/upsert.ts +25 -8
  1253. package/src/objects/property-clearance.ts +171 -152
  1254. package/src/objects/query/clearance-admission.ts +112 -0
  1255. package/src/objects/query/current-user.ts +76 -0
  1256. package/src/objects/query/executor.ts +39 -103
  1257. package/src/objects/query/explain.ts +20 -7
  1258. package/src/objects/query/index.ts +2 -0
  1259. package/src/objects/query/ir.ts +20 -0
  1260. package/src/objects/query/link-query-clearance.ts +73 -0
  1261. package/src/objects/query/links.ts +8 -0
  1262. package/src/objects/query/matches-predicate.ts +108 -0
  1263. package/src/objects/query/normalize.ts +50 -19
  1264. package/src/objects/query/scalar-values.ts +19 -3
  1265. package/src/objects/query/user-expansions.ts +65 -0
  1266. package/src/objects/query/validate.ts +248 -10
  1267. package/src/objects/runtime-batch.ts +8 -2
  1268. package/src/objects/sdk/object-set.ts +12 -1
  1269. package/src/objects/sdk/query-builder.ts +39 -8
  1270. package/src/objects/sdk/query-executor.ts +6 -0
  1271. package/src/objects/serialize.ts +79 -0
  1272. package/src/objects/unique-violation.ts +59 -0
  1273. package/src/objects/vectors/handle.ts +3 -3
  1274. package/src/ontology/builders.ts +15 -1
  1275. package/src/ontology/docs-markdown.ts +2 -1
  1276. package/src/ontology/index.ts +2 -2
  1277. package/src/ontology/json-schema.ts +4 -0
  1278. package/src/ontology/primitives.ts +21 -8
  1279. package/src/ontology/registry.ts +16 -0
  1280. package/src/ontology/types.ts +9 -0
  1281. package/src/ontology/unique-values.ts +84 -0
  1282. package/src/ontology/user-ref.ts +39 -0
  1283. package/src/ontology/validation/properties.ts +43 -0
  1284. package/src/ontology/validation/schema.ts +9 -1
  1285. package/src/pipelines/index.ts +2 -0
  1286. package/src/pipelines/lineage.ts +45 -0
  1287. package/src/projections/internal.ts +2 -2
  1288. package/src/projections/registry.ts +16 -10
  1289. package/src/projections/revision.ts +112 -45
  1290. package/src/projections/run-dispatch.ts +38 -25
  1291. package/src/projections/types.ts +2 -0
  1292. package/src/query.ts +5 -0
  1293. package/src/rules/execution.ts +43 -11
  1294. package/src/runtime/ai-cost.ts +30 -0
  1295. package/src/runtime/ai-usage.ts +32 -1
  1296. package/src/runtime/create.ts +4 -0
  1297. package/src/runtime/host.ts +73 -1
  1298. package/src/runtime/index.ts +2 -0
  1299. package/src/runtime/internal.ts +2 -0
  1300. package/src/runtime/ontology-mutations.ts +19 -4
  1301. package/src/runtime/resolve-definitions.ts +69 -3
  1302. package/src/runtime/sixb.ts +53 -9
  1303. package/src/runtime/types.ts +99 -9
  1304. package/src/sandboxes/README.md +29 -7
  1305. package/src/sandboxes/auth.ts +16 -0
  1306. package/src/sandboxes/config.ts +2 -7
  1307. package/src/sandboxes/configuration.ts +61 -7
  1308. package/src/sandboxes/index.ts +1 -0
  1309. package/src/sandboxes/sandbox.ts +27 -5
  1310. package/src/schedules/builders.ts +3 -1
  1311. package/src/schedules/runtime.ts +6 -0
  1312. package/src/schedules/validation.ts +23 -1
  1313. package/src/security/README.md +62 -0
  1314. package/src/security/applied-markings-contribution.ts +277 -0
  1315. package/src/security/applied-markings-host.ts +41 -0
  1316. package/src/security/applied-markings-snapshot.ts +235 -0
  1317. package/src/security/applied-markings.ts +405 -0
  1318. package/src/security/dataset-version-markings.ts +163 -0
  1319. package/src/security/grants.ts +191 -11
  1320. package/src/security/index.ts +5 -0
  1321. package/src/security/internal.ts +18 -0
  1322. package/src/security/marking-propagation.ts +255 -0
  1323. package/src/security/marking-sets.ts +42 -0
  1324. package/src/security/markings.ts +29 -178
  1325. package/src/security/pipeline-markings.ts +175 -0
  1326. package/src/security/project.ts +13 -0
  1327. package/src/security/projection-markings.ts +421 -0
  1328. package/src/security/redactions.ts +7 -2
  1329. package/src/security/registry.ts +32 -7
  1330. package/src/security/types.ts +68 -5
  1331. package/src/security/validation.ts +34 -11
  1332. package/src/security/view-conditions.ts +215 -0
  1333. package/src/shares/execution.ts +43 -10
  1334. package/src/storage/action-runs/in-memory.ts +18 -0
  1335. package/src/storage/action-runs/types.ts +10 -0
  1336. package/src/storage/activity/in-memory.ts +374 -0
  1337. package/src/storage/activity/index.ts +27 -0
  1338. package/src/storage/activity/policy.ts +430 -0
  1339. package/src/storage/activity/types.ts +211 -0
  1340. package/src/storage/agents/errors.ts +3 -0
  1341. package/src/storage/agents/in-memory.ts +789 -32
  1342. package/src/storage/agents/index.ts +42 -0
  1343. package/src/storage/agents/provider.ts +730 -16
  1344. package/src/storage/agents/types.ts +628 -27
  1345. package/src/storage/ai-cost/analytics.ts +60 -7
  1346. package/src/storage/ai-cost/codec.ts +6 -1
  1347. package/src/storage/ai-cost/groups.ts +44 -1
  1348. package/src/storage/ai-cost/index.ts +1 -0
  1349. package/src/storage/ai-cost/provider.ts +2 -0
  1350. package/src/storage/ai-cost/types.ts +18 -1
  1351. package/src/storage/ai-cost/validation.ts +39 -12
  1352. package/src/storage/ai-limits/provider.ts +4 -7
  1353. package/src/storage/ai-usage/in-memory.ts +28 -1
  1354. package/src/storage/ai-usage/index.ts +9 -1
  1355. package/src/storage/ai-usage/record.ts +44 -7
  1356. package/src/storage/ai-usage/types.ts +38 -0
  1357. package/src/storage/ai-usage/usage.ts +15 -1
  1358. package/src/storage/artifacts/errors.ts +28 -0
  1359. package/src/storage/artifacts/in-memory.ts +388 -0
  1360. package/src/storage/artifacts/index.ts +35 -0
  1361. package/src/storage/artifacts/record.ts +260 -0
  1362. package/src/storage/artifacts/types.ts +293 -0
  1363. package/src/storage/auth/in-memory/auth-storage.ts +27 -2
  1364. package/src/storage/auth/in-memory/sessions.ts +21 -0
  1365. package/src/storage/auth/in-memory/users.ts +40 -6
  1366. package/src/storage/auth/index.ts +3 -0
  1367. package/src/storage/auth/types.ts +61 -7
  1368. package/src/storage/executions/in-memory.ts +93 -1
  1369. package/src/storage/executions/index.ts +5 -0
  1370. package/src/storage/executions/provider.ts +12 -0
  1371. package/src/storage/executions/types.ts +47 -0
  1372. package/src/storage/in-memory/index.ts +16 -0
  1373. package/src/storage/index.ts +132 -1
  1374. package/src/storage/internal.ts +39 -1
  1375. package/src/storage/migrations/migrate-storage.ts +8 -1
  1376. package/src/storage/migrations/prepare-unique-properties.ts +161 -0
  1377. package/src/storage/objects/guard.ts +7 -3
  1378. package/src/storage/objects/in-memory/conditional-reader.ts +72 -0
  1379. package/src/storage/objects/in-memory/query.ts +4 -105
  1380. package/src/storage/objects/in-memory/read-scope.ts +15 -14
  1381. package/src/storage/objects/in-memory/read-source.ts +11 -1
  1382. package/src/storage/objects/in-memory/scoped-reader.ts +243 -0
  1383. package/src/storage/objects/in-memory/selected-reader.ts +6 -231
  1384. package/src/storage/objects/in-memory/storage.ts +183 -1
  1385. package/src/storage/objects/index.ts +9 -1
  1386. package/src/storage/objects/read-scope.ts +191 -0
  1387. package/src/storage/objects/types.ts +68 -1
  1388. package/src/storage/ontology/in-memory/index.ts +3 -0
  1389. package/src/storage/ontology/in-memory/materializations.ts +35 -0
  1390. package/src/storage/ontology/in-memory/replacement-plans.ts +4 -0
  1391. package/src/storage/ontology/in-memory/sources.ts +23 -0
  1392. package/src/storage/ontology/in-memory/unique-values.ts +62 -0
  1393. package/src/storage/ontology/index.ts +12 -0
  1394. package/src/storage/ontology/materializations.ts +35 -1
  1395. package/src/storage/ontology/provider-work.ts +76 -0
  1396. package/src/storage/ontology/provider.ts +3 -0
  1397. package/src/storage/ontology/sources.ts +17 -0
  1398. package/src/storage/ontology/unique-values.ts +56 -0
  1399. package/src/storage/operation-scope.ts +9 -1
  1400. package/src/storage/projection-runs/in-memory.ts +3 -35
  1401. package/src/storage/share-grants/in-memory.ts +8 -0
  1402. package/src/storage/share-grants/index.ts +1 -0
  1403. package/src/storage/share-grants/types.ts +8 -0
  1404. package/src/storage/types.ts +6 -0
  1405. package/src/storage/workflow-runs/in-memory.ts +16 -0
  1406. package/src/storage/workflow-runs/types.ts +5 -0
  1407. package/src/testing/action-run-storage-contract.ts +25 -0
  1408. package/src/testing/activity-storage-contract.ts +840 -0
  1409. package/src/testing/agent-approval-storage-contract.ts +1117 -0
  1410. package/src/testing/agent-memory-storage-contract.ts +400 -0
  1411. package/src/testing/agent-storage-contract.ts +1206 -50
  1412. package/src/testing/ai-cost-storage-contract.ts +31 -1
  1413. package/src/testing/ai-limit-storage-contract.ts +9 -7
  1414. package/src/testing/ai-model-call-groups-contract.ts +76 -0
  1415. package/src/testing/ai-usage-storage-contract.ts +120 -13
  1416. package/src/testing/artifact-storage-contract.ts +851 -0
  1417. package/src/testing/auth-storage-contract.ts +597 -73
  1418. package/src/testing/broker-contract.ts +28 -23
  1419. package/src/testing/effective-storage-contract.ts +3 -8
  1420. package/src/testing/execution-storage-contract.ts +200 -1
  1421. package/src/testing/file-upload-session-storage-contract.ts +12 -24
  1422. package/src/testing/index.ts +26 -4
  1423. package/src/testing/lake-merge-storage-contract.ts +38 -0
  1424. package/src/testing/lake-storage-contract.ts +269 -30
  1425. package/src/testing/materializer-storage-contract.ts +37 -9
  1426. package/src/testing/object-conditional-read-scope-contract.ts +634 -0
  1427. package/src/testing/object-query-contract.ts +386 -186
  1428. package/src/testing/ontology-storage-contract.ts +286 -22
  1429. package/src/testing/projection-run-storage-contract.ts +8 -18
  1430. package/src/testing/queues-contract.ts +39 -70
  1431. package/src/testing/sandboxes-contract.ts +3 -14
  1432. package/src/testing/share-grant-storage-contract.ts +28 -16
  1433. package/src/testing/share-session-storage-contract.ts +4 -14
  1434. package/src/testing/unique-values-contract.ts +907 -0
  1435. package/src/testing/webhook-execution.ts +1 -1
  1436. package/src/testing/webhook-run-storage-contract.ts +6 -9
  1437. package/src/users/execution.ts +131 -0
  1438. package/src/users/index.ts +2 -0
  1439. package/src/workers/queue-worker.ts +1 -3
  1440. package/src/workers/worker.ts +1 -3
  1441. package/src/workflows/builders.ts +20 -0
  1442. package/src/workflows/request.ts +46 -8
  1443. package/src/workflows/types.ts +15 -2
  1444. package/src/workflows/validation.ts +95 -9
  1445. package/dist/chunk-1k89ecfr.js +0 -85
  1446. package/dist/chunk-1k89ecfr.js.map +0 -10
  1447. package/dist/chunk-1sr8ryzk.js.map +0 -11
  1448. package/dist/chunk-29yx306f.js.map +0 -22
  1449. package/dist/chunk-3t2hgbgd.js.map +0 -15
  1450. package/dist/chunk-4as3wt1c.js.map +0 -12
  1451. package/dist/chunk-4vyr1j8f.js +0 -128
  1452. package/dist/chunk-4vyr1j8f.js.map +0 -11
  1453. package/dist/chunk-5e43w60z.js.map +0 -10
  1454. package/dist/chunk-6c6sn0bh.js.map +0 -106
  1455. package/dist/chunk-6p49a5cq.js.map +0 -12
  1456. package/dist/chunk-6x0pqh32.js.map +0 -10
  1457. package/dist/chunk-7n30ybym.js +0 -3
  1458. package/dist/chunk-7n440zgt.js +0 -261
  1459. package/dist/chunk-7n440zgt.js.map +0 -12
  1460. package/dist/chunk-8mx7qw3y.js.map +0 -13
  1461. package/dist/chunk-91mg3nj9.js.map +0 -12
  1462. package/dist/chunk-96yw3pwd.js.map +0 -10
  1463. package/dist/chunk-9gyp8hg1.js +0 -363
  1464. package/dist/chunk-9gyp8hg1.js.map +0 -14
  1465. package/dist/chunk-9k93ah50.js.map +0 -11
  1466. package/dist/chunk-b38szspf.js.map +0 -11
  1467. package/dist/chunk-bx9q3cwv.js.map +0 -19
  1468. package/dist/chunk-d09tj99x.js.map +0 -12
  1469. package/dist/chunk-ere85b8y.js.map +0 -15
  1470. package/dist/chunk-es1gxsbf.js.map +0 -13
  1471. package/dist/chunk-gsjm1wms.js.map +0 -10
  1472. package/dist/chunk-hjzdd750.js.map +0 -49
  1473. package/dist/chunk-hkc3jct7.js.map +0 -10
  1474. package/dist/chunk-hvsb78a1.js.map +0 -20
  1475. package/dist/chunk-k6q3n2sc.js.map +0 -12
  1476. package/dist/chunk-n33z5bjw.js.map +0 -66
  1477. package/dist/chunk-pbcbn83d.js.map +0 -14
  1478. package/dist/chunk-pqajwytd.js +0 -68
  1479. package/dist/chunk-pqajwytd.js.map +0 -11
  1480. package/dist/chunk-qczk96d9.js.map +0 -11
  1481. package/dist/chunk-rdghfsss.js +0 -39
  1482. package/dist/chunk-rdghfsss.js.map +0 -10
  1483. package/dist/chunk-rj69qcrd.js.map +0 -11
  1484. package/dist/chunk-rrzt8jdy.js.map +0 -14
  1485. package/dist/chunk-s16apyk9.js +0 -256
  1486. package/dist/chunk-s16apyk9.js.map +0 -16
  1487. package/dist/chunk-s54c868q.js +0 -307
  1488. package/dist/chunk-s54c868q.js.map +0 -12
  1489. package/dist/chunk-tpn40322.js.map +0 -19
  1490. package/dist/chunk-tw03bsmb.js.map +0 -11
  1491. package/dist/chunk-v4jbb3rs.js.map +0 -10
  1492. package/dist/chunk-vpq4shxz.js.map +0 -39
  1493. package/dist/chunk-yxd3nnqt.js.map +0 -11
  1494. package/dist/chunk-yzwja0mj.js.map +0 -14
  1495. package/dist/events/toStoredEvent.d.ts +0 -9
  1496. package/dist/events/toStoredEvent.d.ts.map +0 -1
  1497. package/dist/models/audio/file.d.ts +0 -9
  1498. package/dist/models/audio/file.d.ts.map +0 -1
  1499. package/src/events/toStoredEvent.ts +0 -33
  1500. /package/dist/{chunk-mfs23znk.js.map → chunk-07kkp2e1.js.map} +0 -0
  1501. /package/dist/{chunk-fkgc1wt8.js.map → chunk-0phpbbvm.js.map} +0 -0
  1502. /package/dist/{chunk-y0c4e6ex.js.map → chunk-3gbefjg5.js.map} +0 -0
  1503. /package/dist/{chunk-fa02jy15.js.map → chunk-48jezz3j.js.map} +0 -0
  1504. /package/dist/{chunk-c85m1hyj.js.map → chunk-6n69k945.js.map} +0 -0
  1505. /package/dist/{chunk-xfs8x8m9.js.map → chunk-6p0pastb.js.map} +0 -0
  1506. /package/dist/{chunk-t7x8dmn0.js.map → chunk-6y0mkhex.js.map} +0 -0
  1507. /package/dist/{chunk-v9xd5wzd.js.map → chunk-bab05bhg.js.map} +0 -0
  1508. /package/dist/{chunk-gc4ntf7d.js.map → chunk-cwdzcv37.js.map} +0 -0
  1509. /package/dist/{chunk-vyf9kfqf.js.map → chunk-dp0cdtj2.js.map} +0 -0
  1510. /package/dist/{chunk-br3k6qbf.js.map → chunk-fm62y49k.js.map} +0 -0
  1511. /package/dist/{chunk-9ybhtmg4.js.map → chunk-g663fahq.js.map} +0 -0
  1512. /package/dist/{chunk-9w055r5b.js.map → chunk-hwarjrgf.js.map} +0 -0
  1513. /package/dist/{chunk-9dmt152s.js.map → chunk-hyesv9dv.js.map} +0 -0
  1514. /package/dist/{chunk-x9v4cx1d.js.map → chunk-m36fw8ft.js.map} +0 -0
  1515. /package/dist/{chunk-a40ad1ft.js.map → chunk-mbsbxarb.js.map} +0 -0
  1516. /package/dist/{chunk-6aawea28.js.map → chunk-n8q5j6y5.js.map} +0 -0
  1517. /package/dist/{chunk-dk8tkk5f.js.map → chunk-n9zpx9c6.js.map} +0 -0
  1518. /package/dist/{chunk-7t429e3f.js.map → chunk-npcr0228.js.map} +0 -0
  1519. /package/dist/{chunk-z4m0yz8c.js.map → chunk-q4pmvkg0.js.map} +0 -0
@@ -0,0 +1,23 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/models/audio/errors.ts", "../src/models/catalog-index.ts", "../src/models/audio/catalog.ts", "../src/models/decision/validation.ts", "../src/models/decision/catalog.ts", "../src/models/image/catalog.ts", "../src/models/reranking-model.ts", "../src/models/catalog.ts", "../src/models/decision/errors.ts", "../src/models/decision/output.ts", "../src/models/decision/questions.ts", "../src/models/image/errors.ts", "../src/models/rate-card.ts", "../src/models/pricing.ts"],
4
+ "sourcesContent": [
5
+ "import { ModelProviderError } from \"../errors\"\nimport type { SpeechModelResponseMetadata, TranscriptionModelResponseMetadata } from \"./types\"\n\n/** Retains billing metadata even when the provider returns an invalid transcript. */\nexport class TranscriptionModelResponseError extends ModelProviderError {\n constructor(\n message: string,\n providerId: string,\n modelId: string,\n readonly metadata: TranscriptionModelResponseMetadata,\n options?: ErrorOptions\n ) {\n super(message, providerId, modelId, {\n ...options,\n code: \"invalid_transcription_response\",\n retryable: false,\n })\n }\n}\n\n/** Retains billing metadata even when the provider returns invalid audio. */\nexport class SpeechModelResponseError extends ModelProviderError {\n constructor(\n message: string,\n providerId: string,\n modelId: string,\n readonly metadata: SpeechModelResponseMetadata,\n options?: ErrorOptions\n ) {\n super(message, providerId, modelId, {\n ...options,\n code: \"invalid_speech_response\",\n retryable: false,\n })\n }\n}\n",
6
+ "import { RuntimeError } from \"../runtime/errors\"\nimport type { ModelRef } from \"./catalog\"\n\ninterface ModelBinding {\n readonly providerId: string\n readonly modelId: string\n}\n\ninterface ModelEntry<TModel> extends ModelRef {\n readonly model: TModel\n}\n\ninterface ModelIndex<TEntry> {\n list(): readonly TEntry[]\n getByRef(ref: ModelRef): TEntry | null\n}\n\n/** Private index shared by model families; default selection belongs to each family. */\nexport function indexModelBindings<TModel extends ModelBinding>(\n models: readonly TModel[],\n kind: string,\n validate: (model: TModel, index: number) => void\n): ModelIndex<ModelEntry<TModel>>\n/** A family that adds its own fields to each entry, such as a language model's tier. */\nexport function indexModelBindings<TModel extends ModelBinding, TFields extends object>(\n models: readonly TModel[],\n kind: string,\n validate: (model: TModel, index: number) => void,\n fields: (index: number) => TFields\n): ModelIndex<ModelEntry<TModel> & TFields>\nexport function indexModelBindings<TModel extends ModelBinding>(\n models: readonly TModel[],\n kind: string,\n validate: (model: TModel, index: number) => void,\n fields?: (index: number) => object\n): ModelIndex<ModelEntry<TModel>> {\n const byRef = new Map<string, ModelEntry<TModel>>()\n\n for (const [index, model] of models.entries()) {\n validate(model, index)\n const key = JSON.stringify([model.providerId, model.modelId])\n if (byRef.has(key)) {\n throw new RuntimeError(\n `[Sixb] Duplicate ${kind} model '${model.providerId}/${model.modelId}' in 'models.${kind}'. Each provider and model id pair may be configured once.`\n )\n }\n\n const entry = { provider: model.providerId, modelId: model.modelId, model }\n byRef.set(key, Object.freeze(fields ? { ...entry, ...fields(index) } : entry))\n }\n\n const entries = Object.freeze([...byRef.values()])\n return Object.freeze({\n list: () => entries,\n getByRef: (ref: ModelRef) => byRef.get(JSON.stringify([ref.provider, ref.modelId])) ?? null,\n })\n}\n",
7
+ "import type { ModelRef } from \"../catalog\"\nimport { indexModelBindings } from \"../catalog-index\"\nimport type { SpeechModel, TranscriptionModel } from \"./types\"\n\nexport interface TranscriptionModelEntry extends ModelRef {\n readonly model: TranscriptionModel\n}\n\nexport interface TranscriptionModelCatalog {\n readonly default: TranscriptionModelEntry\n list(): readonly TranscriptionModelEntry[]\n getByRef(ref: ModelRef): TranscriptionModelEntry | null\n}\n\nexport interface SpeechModelEntry extends ModelRef {\n readonly model: SpeechModel\n}\n\nexport interface SpeechModelCatalog {\n readonly default: SpeechModelEntry\n list(): readonly SpeechModelEntry[]\n getByRef(ref: ModelRef): SpeechModelEntry | null\n}\n\nexport interface AudioModelCatalog {\n readonly transcription?: TranscriptionModelCatalog\n readonly speech?: SpeechModelCatalog\n}\n\nexport interface AudioModelCatalogInput {\n /** Ordered; the first entry is the default transcriber. */\n readonly transcription?: readonly TranscriptionModel[]\n /** Ordered; the first entry is the default speech model. */\n readonly speech?: readonly SpeechModel[]\n}\n\nexport function createAudioCatalog(\n input: AudioModelCatalogInput | undefined\n): AudioModelCatalog | undefined {\n if (input === undefined) return undefined\n if (\n !input ||\n typeof input !== \"object\" ||\n Array.isArray(input) ||\n (input.transcription === undefined && input.speech === undefined)\n ) {\n throw new TypeError(\"[Sixb] models.audio must configure transcription or speech models.\")\n }\n\n const transcription = familyCatalog(\n input.transcription,\n \"transcription\",\n assertTranscriptionModel\n )\n const speech = familyCatalog(input.speech, \"speech\", assertSpeechModel)\n return Object.freeze({\n ...(transcription === undefined ? {} : { transcription }),\n ...(speech === undefined ? {} : { speech }),\n })\n}\n\nfunction familyCatalog<TModel extends { readonly providerId: string; readonly modelId: string }>(\n models: readonly TModel[] | undefined,\n family: \"transcription\" | \"speech\",\n validate: (model: TModel) => void\n) {\n if (models === undefined) return undefined\n if (!Array.isArray(models)) {\n throw new TypeError(\n `[Sixb] models.audio.${family} must be a nonempty array of ${family} models.`\n )\n }\n\n const index = indexModelBindings(models, `audio.${family}`, validate)\n const [defaultEntry] = index.list()\n if (!defaultEntry) {\n throw new TypeError(`[Sixb] models.audio.${family} must contain at least one model.`)\n }\n return Object.freeze({ ...index, default: defaultEntry })\n}\n\nexport function assertTranscriptionModel(model: unknown): asserts model is TranscriptionModel {\n const candidate = model as Partial<TranscriptionModel> | null\n const definition = candidate?.definition\n if (\n !candidate ||\n !isValidId(candidate.providerId) ||\n !isValidId(candidate.modelId) ||\n typeof candidate.transcribe !== \"function\" ||\n definition?.kind !== \"transcription\" ||\n definition.providerId !== candidate.providerId ||\n definition.modelId !== candidate.modelId\n ) {\n throw invalidModel()\n }\n\n if (!Number.isSafeInteger(definition.maxInputBytes) || definition.maxInputBytes <= 0) {\n throw invalidModel()\n }\n\n const mediaTypes = definition.mediaTypes\n if (\n mediaTypes !== undefined &&\n (!Array.isArray(mediaTypes) ||\n mediaTypes.length === 0 ||\n !mediaTypes.every((type) => typeof type === \"string\" && /^audio\\/[a-z0-9.+-]+$/.test(type)))\n ) {\n throw invalidModel()\n }\n}\n\nfunction isValidId(value: unknown): value is string {\n return typeof value === \"string\" && value.length > 0 && value.trim() === value\n}\n\nfunction invalidModel(): TypeError {\n return new TypeError(\n \"[SixbModels] Invalid transcription model identity, definition or input limits.\"\n )\n}\n\nexport function assertSpeechModel(model: unknown): asserts model is SpeechModel {\n const candidate = model as Partial<SpeechModel> | null\n const definition = candidate?.definition\n if (\n !candidate ||\n !isValidId(candidate.providerId) ||\n !isValidId(candidate.modelId) ||\n typeof candidate.speak !== \"function\" ||\n definition?.kind !== \"speech\" ||\n definition.providerId !== candidate.providerId ||\n definition.modelId !== candidate.modelId\n ) {\n throw invalidSpeechModel(\"identity\")\n }\n\n const limit = definition.maxInputCharacters\n if (limit !== undefined && (!Number.isSafeInteger(limit) || limit <= 0)) {\n throw invalidSpeechModel(\"maxInputCharacters\")\n }\n if (!isOptionalList(definition.voices)) throw invalidSpeechModel(\"voices\")\n if (\n !isOptionalList(definition.outputMediaTypes) ||\n definition.outputMediaTypes?.some((type) => !/^audio\\/[a-z0-9.+-]+$/.test(type))\n ) {\n throw invalidSpeechModel(\"outputMediaTypes\")\n }\n if (definition.instructions !== undefined && typeof definition.instructions !== \"boolean\") {\n throw invalidSpeechModel(\"instructions\")\n }\n if (\n candidate.defaultVoice !== undefined &&\n (!isValidId(candidate.defaultVoice) ||\n (definition.voices !== undefined && !definition.voices.includes(candidate.defaultVoice)))\n ) {\n throw invalidSpeechModel(\"defaultVoice\")\n }\n}\n\nfunction isOptionalList(value: unknown): boolean {\n return (\n value === undefined ||\n (Array.isArray(value) && value.length > 0 && value.every((entry) => isValidId(entry)))\n )\n}\n\nfunction invalidSpeechModel(field: string): TypeError {\n return new TypeError(`[SixbModels] Invalid speech model ${field}.`)\n}\n",
8
+ "import { assertJsonValue, cloneJsonValue } from \"../../json\"\nimport { UnsupportedModelFeatureError } from \"../errors\"\nimport type {\n ChoiceQuestion,\n DecisionAnswers,\n DecisionContent,\n DecisionModel,\n DecisionModelDefinition,\n DecisionQuestion,\n DecisionQuestions,\n ScoreQuestion,\n} from \"./types\"\n\ntype DecisionCapabilities = DecisionModelDefinition[\"capabilities\"]\n\n// Allow serialization rounding without normalizing provider answers.\nconst DISTRIBUTION_TOLERANCE = 1e-4\nconst CHOICE_TOLERANCE = 1e-6\n\nexport function assertDecisionContent(\n value: unknown,\n path: string\n): asserts value is DecisionContent {\n assertJsonValue(value, path)\n if (value === null || (typeof value !== \"string\" && typeof value !== \"object\")) {\n throw new TypeError(`[SixbModels] ${path} must be text, a JSON object or an array.`)\n }\n}\n\nexport function assertDecisionQuestions(value: unknown): asserts value is DecisionQuestions {\n assertJsonValue(value, \"questions\")\n const questions = readRecord(value, \"questions\")\n if (!Object.keys(questions).length) {\n fail(\"questions must not be empty\")\n }\n\n for (const [key, question] of Object.entries(questions)) {\n if (!key.trim()) {\n fail(\"question names must not be empty\")\n }\n assertQuestion(question, `questions.${key}`)\n }\n}\n\nfunction assertQuestion(value: unknown, path: string): void {\n const question = readRecord(value, path)\n assertDecisionContent(question.instructions, `${path}.instructions`)\n if (typeof question.instructions === \"string\" && !question.instructions.trim()) {\n fail(`${path}.instructions must not be empty`)\n }\n\n switch (question.type) {\n case \"choice\":\n assertOnlyKeys(question, [\"type\", \"instructions\", \"options\"], path)\n assertChoiceOptions(question.options, `${path}.options`)\n break\n case \"score\":\n assertOnlyKeys(question, [\"type\", \"instructions\", \"levels\"], path)\n assertScoreLevels(question.levels, `${path}.levels`)\n break\n case \"probability\":\n assertOnlyKeys(question, [\"type\", \"instructions\"], path)\n break\n default:\n fail(`${path}.type is not a supported decision primitive`)\n }\n}\n\nfunction assertChoiceOptions(value: unknown, path: string): void {\n const options = readRecord(value, path)\n if (!Object.keys(options).length) {\n fail(`${path} must not be empty`)\n }\n\n for (const [option, description] of Object.entries(options)) {\n if (!option.trim()) {\n fail(`${path} contains an empty label`)\n }\n if (description !== null) {\n assertDecisionContent(description, `${path}.${option}`)\n }\n }\n}\n\nfunction assertScoreLevels(value: unknown, path: string): void {\n if (!Array.isArray(value) || value.length < 2) {\n fail(`${path} needs at least two levels`)\n }\n\n for (const level of value) {\n assertDecisionContent(level, path)\n }\n}\n\nexport function assertDecisionModel(model: DecisionModel): void {\n const definition = model?.definition\n if (\n !model ||\n typeof model.evaluate !== \"function\" ||\n !isValidId(model.providerId) ||\n !isValidId(model.modelId) ||\n definition?.kind !== \"decision\" ||\n definition.providerId !== model.providerId ||\n definition.modelId !== model.modelId\n ) {\n fail(\"Expected a DecisionModel with matching provider/model identity\")\n }\n\n const capabilities = definition.capabilities\n if (\n !capabilities ||\n !Array.isArray(capabilities.questions) ||\n !capabilities.questions.length ||\n capabilities.questions.some((kind) => ![\"choice\", \"score\", \"probability\"].includes(kind)) ||\n new Set(capabilities.questions).size !== capabilities.questions.length\n ) {\n fail(\"Decision model capabilities must list distinct supported question types\")\n }\n\n assertCapabilityLimit(capabilities.maxChoices, \"maxChoices\", 1)\n assertCapabilityLimit(capabilities.maxScoreLevels, \"maxScoreLevels\", 2)\n const decimals = capabilities.answerDecimalPlaces\n if (\n decimals !== undefined &&\n (!Number.isSafeInteger(decimals) || decimals < 1 || decimals > 15)\n ) {\n fail(\"Invalid decision answerDecimalPlaces (expected 1–15)\")\n }\n}\n\nfunction assertCapabilityLimit(value: number | undefined, name: string, minimum: number): void {\n if (value !== undefined && (!Number.isSafeInteger(value) || value < minimum)) {\n fail(`Invalid decision capability '${name}'`)\n }\n}\n\nexport function assertDecisionSupport(model: DecisionModel, questions: DecisionQuestions): void {\n for (const [key, question] of Object.entries(questions)) {\n if (!supportsQuestion(model.definition.capabilities, question)) {\n throw new UnsupportedModelFeatureError(\n `[SixbModels] Model '${model.providerId}/${model.modelId}' does not support questions.${key}.`\n )\n }\n }\n}\n\nexport function supportsQuestion(\n capabilities: DecisionCapabilities,\n question: DecisionQuestion\n): boolean {\n if (!capabilities.questions.includes(question.type)) return false\n\n switch (question.type) {\n case \"choice\":\n return Object.keys(question.options).length <= (capabilities.maxChoices ?? Infinity)\n case \"score\":\n return question.levels.length <= (capabilities.maxScoreLevels ?? Infinity)\n case \"probability\":\n return true\n }\n}\n\nexport function validateDecisionAnswers<const Q extends DecisionQuestions>(\n questions: Q,\n value: unknown,\n answerDecimalPlaces?: number\n): DecisionAnswers<Q> {\n assertJsonValue(value, \"decision output\")\n const answers = readRecord(value, \"decision output\")\n assertExactKeys(answers, Object.keys(questions), \"decision output\")\n\n const roundingError = answerDecimalPlaces === undefined ? 0 : 0.5 * 10 ** -answerDecimalPlaces\n for (const [key, question] of Object.entries(questions)) {\n assertAnswer(question, answers[key], `output.${key}`, roundingError)\n }\n\n // Validation establishes the mapped type; callers receive an independent JSON snapshot.\n return cloneJsonValue(value) as DecisionAnswers<Q>\n}\n\nfunction assertAnswer(\n question: DecisionQuestion,\n value: unknown,\n path: string,\n roundingError: number\n): void {\n const answer = readRecord(value, path)\n if (question.type === \"probability\") {\n assertExactKeys(answer, [\"probability\"], path)\n readProbability(answer.probability, path)\n return\n }\n\n assertOnlyKeys(answer, [question.type, \"probabilities\", \"confidence\"], path)\n if (answer.confidence !== undefined) {\n readProbability(answer.confidence, `${path}.confidence`)\n }\n\n const distribution =\n question.type === \"choice\"\n ? validateChoiceAnswer(question, answer, path)\n : validateScoreAnswer(question, answer, path, roundingError)\n\n const total = distribution.reduce((sum, probability) => sum + probability, 0)\n const tolerance = Math.max(DISTRIBUTION_TOLERANCE, distribution.length * roundingError)\n if (Math.abs(total - 1) > tolerance + Number.EPSILON * distribution.length) {\n fail(`${path}.probabilities must sum to one`)\n }\n}\n\nfunction validateChoiceAnswer(\n question: ChoiceQuestion,\n answer: Record<string, unknown>,\n path: string\n): number[] {\n const probabilities = readRecord(answer.probabilities, `${path}.probabilities`)\n assertExactKeys(probabilities, Object.keys(question.options), `${path}.probabilities`)\n const distribution = Object.values(probabilities).map((value) => readProbability(value, path))\n\n if (typeof answer.choice !== \"string\" || !Object.hasOwn(question.options, answer.choice)) {\n fail(`${path}.choice is not a declared option`)\n }\n\n const winner = readProbability(probabilities[answer.choice], path)\n if (winner + CHOICE_TOLERANCE < Math.max(...distribution)) {\n fail(`${path}.choice is not a highest-probability option`)\n }\n\n return distribution\n}\n\nfunction validateScoreAnswer(\n question: ScoreQuestion,\n answer: Record<string, unknown>,\n path: string,\n roundingError: number\n): number[] {\n if (\n !Array.isArray(answer.probabilities) ||\n answer.probabilities.length !== question.levels.length\n ) {\n fail(`${path}.probabilities must match the score levels`)\n }\n\n const distribution = answer.probabilities.map((value) => readProbability(value, path))\n const expected = distribution.reduce((sum, probability, index) => sum + probability * index, 0)\n const levels = question.levels.length\n const [minimum, maximum] = roundingError\n ? roundedScoreBounds(distribution, roundingError, path)\n : [expected, expected]\n const tolerance = roundingError || DISTRIBUTION_TOLERANCE * levels\n if (\n typeof answer.score !== \"number\" ||\n !Number.isFinite(answer.score) ||\n answer.score < 0 ||\n answer.score > question.levels.length - 1 ||\n answer.score < minimum - tolerance - Number.EPSILON * levels ** 2 ||\n answer.score > maximum + tolerance + Number.EPSILON * levels ** 2\n ) {\n fail(`${path}.score is inconsistent with its distribution`)\n }\n\n return distribution\n}\n\n/** Find possible means without changing the returned probabilities. */\nfunction roundedScoreBounds(\n distribution: readonly number[],\n roundingError: number,\n path: string\n): readonly [number, number] {\n const lower = distribution.map((value) => Math.max(0, value - roundingError))\n const upper = distribution.map((value) => Math.min(1, value + roundingError))\n const remaining = 1 - lower.reduce((sum, value) => sum + value, 0)\n const epsilon = Number.EPSILON * distribution.length\n if (remaining < -epsilon || upper.reduce((sum, value) => sum + value, 0) < 1 - epsilon) {\n fail(`${path}.probabilities must sum to one`)\n }\n\n const base = lower.reduce((sum, value, index) => sum + value * index, 0)\n function extreme(highestFirst: boolean): number {\n let mass = Math.max(0, remaining)\n let mean = base\n // Start at each probability's lower bound, then allocate exactly the remaining mass.\n // Filling lower levels first minimizes the mean; filling higher levels maximizes it.\n for (let offset = 0; offset < distribution.length && mass > 0; offset++) {\n const index = highestFirst ? distribution.length - 1 - offset : offset\n const added = Math.min(mass, upper[index]! - lower[index]!)\n mean += added * index\n mass -= added\n }\n return mean\n }\n return [extreme(false), extreme(true)]\n}\n\nfunction readProbability(value: unknown, path: string): number {\n if (typeof value !== \"number\" || !Number.isFinite(value) || value < 0 || value > 1) {\n fail(`${path} must contain probabilities between zero and one`)\n }\n return value\n}\n\nfunction readRecord(value: unknown, path: string): Record<string, unknown> {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n fail(`${path} must be an object`)\n }\n return value as Record<string, unknown>\n}\n\nfunction assertOnlyKeys(\n value: Record<string, unknown>,\n keys: readonly string[],\n path: string\n): void {\n if (Object.keys(value).some((key) => !keys.includes(key))) {\n fail(`${path} contains an unknown field`)\n }\n}\n\nfunction assertExactKeys(\n value: Record<string, unknown>,\n keys: readonly string[],\n path: string\n): void {\n assertOnlyKeys(value, keys, path)\n if (keys.some((key) => !Object.hasOwn(value, key))) {\n fail(`${path} is missing an expected field`)\n }\n}\n\nfunction isValidId(value: unknown): value is string {\n return typeof value === \"string\" && !!value.trim() && value.trim() === value\n}\n\nfunction fail(detail: string): never {\n throw new TypeError(`[SixbModels] ${detail}.`)\n}\n",
9
+ "import { RuntimeError } from \"../../runtime/errors\"\nimport type { ModelRef } from \"../catalog\"\nimport { indexModelBindings } from \"../catalog-index\"\nimport type { DecisionModel } from \"./types\"\nimport { assertDecisionModel } from \"./validation\"\n\nexport interface DecisionModelEntry extends ModelRef {\n readonly model: DecisionModel\n}\n\nexport interface DecisionModelCatalog {\n readonly default: DecisionModelEntry\n list(): readonly DecisionModelEntry[]\n getByRef(ref: ModelRef): DecisionModelEntry | null\n}\n\nexport function createDecisionCatalog(\n models: readonly DecisionModel[] | undefined\n): DecisionModelCatalog | undefined {\n if (models === undefined) return undefined\n if (!Array.isArray(models)) {\n throw new RuntimeError(\"[Sixb] models.decision must be a nonempty array of decision models.\")\n }\n\n const index = indexModelBindings(models, \"decision\", assertDecisionModel)\n const [defaultEntry] = index.list()\n if (!defaultEntry) {\n throw new RuntimeError(\"[Sixb] models.decision must be a nonempty array of decision models.\")\n }\n\n return Object.freeze({ ...index, default: defaultEntry })\n}\n",
10
+ "import type { ModelRef } from \"../catalog\"\nimport { indexModelBindings } from \"../catalog-index\"\nimport type { ImageModel } from \"./types\"\n\nexport interface ImageModelEntry extends ModelRef {\n readonly model: ImageModel\n}\n\nexport interface ImageModelCatalog {\n readonly default: ImageModelEntry\n list(): readonly ImageModelEntry[]\n getByRef(ref: ModelRef): ImageModelEntry | null\n}\n\nexport function createImageCatalog(\n models: readonly ImageModel[] | undefined\n): ImageModelCatalog | undefined {\n if (models === undefined) return undefined\n if (!Array.isArray(models)) {\n throw new TypeError(\"[Sixb] models.image must be a nonempty array of image models.\")\n }\n\n const index = indexModelBindings(models, \"image\", assertImageModel)\n const [defaultEntry] = index.list()\n if (!defaultEntry) {\n throw new TypeError(\"[Sixb] models.image must contain at least one model.\")\n }\n\n return Object.freeze({ ...index, default: defaultEntry })\n}\n\nexport function assertImageModel(model: unknown): asserts model is ImageModel {\n const candidate = model as Partial<ImageModel> | null\n const definition = candidate?.definition\n if (\n !candidate ||\n !isValidId(candidate.providerId) ||\n !isValidId(candidate.modelId) ||\n typeof candidate.generate !== \"function\" ||\n definition?.kind !== \"image\" ||\n definition.providerId !== candidate.providerId ||\n definition.modelId !== candidate.modelId\n ) {\n throw invalidModel(\"identity\")\n }\n\n if (\n definition.maxImagesPerCall !== undefined &&\n !isPositiveInteger(definition.maxImagesPerCall)\n ) {\n throw invalidModel(\"maxImagesPerCall\")\n }\n for (const field of [\"sizes\", \"aspectRatios\", \"qualities\", \"styles\"] as const) {\n if (!isOptionalList(definition[field])) throw invalidModel(field)\n }\n\n const inputImages = definition.inputImages\n if (\n inputImages !== undefined &&\n (!inputImages ||\n !isPositiveInteger(inputImages.maxCount) ||\n !isPositiveInteger(inputImages.maxBytes) ||\n !isOptionalList(inputImages.mediaTypes) ||\n inputImages.mediaTypes?.some((type) => !/^image\\/[a-z0-9.+-]+$/.test(type)))\n ) {\n throw invalidModel(\"inputImages\")\n }\n}\n\nfunction isOptionalList(value: unknown): boolean {\n return (\n value === undefined ||\n (Array.isArray(value) &&\n value.length > 0 &&\n value.every((entry) => typeof entry === \"string\" && entry.trim() === entry && entry))\n )\n}\n\nfunction isPositiveInteger(value: unknown): value is number {\n return typeof value === \"number\" && Number.isSafeInteger(value) && value > 0\n}\n\nfunction isValidId(value: unknown): value is string {\n return typeof value === \"string\" && value.length > 0 && value.trim() === value\n}\n\nfunction invalidModel(field: string): TypeError {\n return new TypeError(`[SixbModels] Invalid image model ${field}.`)\n}\n",
11
+ "import type { ModelDefinition } from \"./definitions\"\nimport { ModelProviderError } from \"./errors\"\nimport type { ModelProviderIds, ModelRoute, ModelUsage } from \"./events\"\nimport type { ModelCostEstimator, ModelReportedCost } from \"./pricing\"\n\nexport interface RerankingModelDefinition extends ModelDefinition {\n readonly kind: \"reranking\"\n}\n\n/** Serializable identity; the server resolves its own registered binding. */\nexport interface RerankingModelRef {\n readonly providerId: string\n readonly modelId: string\n readonly definition: RerankingModelDefinition\n}\n\nexport interface RerankingModelRequest {\n readonly query: string\n readonly documents: readonly string[]\n readonly signal?: AbortSignal\n}\n\nexport interface RerankingModelResponseMetadata {\n readonly usage?: ModelUsage\n readonly providerIds?: ModelProviderIds\n readonly responseModelId?: string\n readonly reportedCost?: ModelReportedCost\n readonly route?: ModelRoute\n}\n\nexport interface RerankingResult {\n /** Position in the original documents array. */\n readonly index: number\n /** Provider relevance score, not a calibrated probability. */\n readonly score: number\n}\n\nexport interface RerankingModelResult extends RerankingModelResponseMetadata {\n /** One result per input document; Sixb validates completeness and orders by score. */\n readonly results: readonly RerankingResult[]\n}\n\nexport interface RerankingModel extends RerankingModelRef {\n readonly costEstimator?: ModelCostEstimator\n resolve?(): Promise<RerankingModel>\n rerank(request: RerankingModelRequest): Promise<RerankingModelResult>\n}\n\nexport function assertRerankingModel(model: RerankingModel): void {\n if (\n !model ||\n typeof model !== \"object\" ||\n typeof model.rerank !== \"function\" ||\n !validIdentifier(model.providerId) ||\n !validIdentifier(model.modelId) ||\n model.definition?.kind !== \"reranking\" ||\n model.definition.providerId !== model.providerId ||\n model.definition.modelId !== model.modelId\n ) {\n throw new TypeError(\"[Sixb] Expected a RerankingModel with a valid identity and rerank method.\")\n }\n}\n\nexport function validateRerankingResults(\n results: unknown,\n documentCount: number\n): RerankingResult[] {\n if (!Array.isArray(results) || results.length !== documentCount) {\n throw new TypeError(\"[SixbModels] Reranking must return one result per document.\")\n }\n const seen = new Set<number>()\n const validated = results.map((result: unknown) => {\n if (!result || typeof result !== \"object\") {\n throw new TypeError(\"[SixbModels] Invalid reranking result.\")\n }\n const index: unknown = Reflect.get(result, \"index\")\n const score: unknown = Reflect.get(result, \"score\")\n if (\n typeof index !== \"number\" ||\n !Number.isSafeInteger(index) ||\n index < 0 ||\n index >= documentCount ||\n seen.has(index) ||\n typeof score !== \"number\" ||\n !Number.isFinite(score)\n ) {\n throw new TypeError(\"[SixbModels] Reranking requires unique valid indices and finite scores.\")\n }\n seen.add(index)\n return { index, score }\n })\n // Stable ties preserve candidate rank, independent of the provider's response ordering.\n return validated.sort((left, right) => right.score - left.score || left.index - right.index)\n}\n\nfunction validIdentifier(value: unknown): value is string {\n return typeof value === \"string\" && value.length > 0 && value.trim() === value\n}\n\nexport class RerankingModelResponseError extends ModelProviderError {\n constructor(\n message: string,\n providerId: string,\n modelId: string,\n readonly metadata: RerankingModelResponseMetadata,\n options?: { cause?: unknown }\n ) {\n super(message, providerId, modelId, {\n code: \"invalid_reranking_response\",\n retryable: false,\n cause: options?.cause,\n })\n }\n}\n",
12
+ "import { RuntimeError } from \"../runtime/errors\"\nimport {\n type AudioModelCatalog,\n type AudioModelCatalogInput,\n createAudioCatalog,\n} from \"./audio/catalog\"\nimport { indexModelBindings } from \"./catalog-index\"\nimport { createDecisionCatalog, type DecisionModelCatalog } from \"./decision/catalog\"\nimport type { DecisionModel } from \"./decision/types\"\nimport {\n defineLanguageModel,\n type LanguageModelDefinition,\n type ModelDefinition,\n} from \"./definitions\"\nimport { assertEmbeddingModel, type EmbeddingModel } from \"./embedding-model\"\nimport { createImageCatalog, type ImageModelCatalog } from \"./image/catalog\"\nimport type { ImageModel } from \"./image/types\"\nimport {\n type LanguageModel,\n MODEL_REASONING_LEVELS,\n modelReasoningSupportIssue,\n} from \"./language-model\"\nimport { assertRerankingModel, type RerankingModel } from \"./reranking-model\"\n\n/** Stable identity of a configured provider binding. */\nexport interface ModelRef {\n readonly provider: string\n readonly modelId: string\n}\n\nexport type LanguageModelRef = ModelRef\n\nexport interface EmbeddingModelEntry extends ModelRef {\n readonly model: EmbeddingModel\n}\n\nexport interface EmbeddingModelCatalog {\n list(): readonly EmbeddingModelEntry[]\n getByRef(ref: ModelRef): EmbeddingModelEntry | null\n}\n\nexport interface RerankingModelEntry extends ModelRef {\n readonly model: RerankingModel\n}\n\nexport interface RerankingModelCatalog {\n list(): readonly RerankingModelEntry[]\n getByRef(ref: ModelRef): RerankingModelEntry | null\n}\n\n/** The cost and strength classes a project can configure language models in. */\nexport const LANGUAGE_MODEL_TIERS = [\"light\", \"standard\", \"heavy\"] as const\n\nexport type LanguageModelTier = (typeof LANGUAGE_MODEL_TIERS)[number]\n\n/** How likely a decision model judged each tier, each from 0 to 1. */\nexport type LanguageModelTierProbabilities = Readonly<Record<LanguageModelTier, number>>\n\nexport function isLanguageModelTier(value: unknown): value is LanguageModelTier {\n return (LANGUAGE_MODEL_TIERS as readonly unknown[]).includes(value)\n}\n\n/** The tiers as errors list them: \"light, standard or heavy\". */\nexport function formatLanguageModelTiers(): string {\n const last = LANGUAGE_MODEL_TIERS.at(-1)\n return `${LANGUAGE_MODEL_TIERS.slice(0, -1).join(\", \")} or ${last}`\n}\n\n/** Language models by tier; each takes a model or an ordered list, whose first is the tier's. */\nexport interface LanguageModelTiers {\n readonly light?: LanguageModel | readonly LanguageModel[]\n /** Its first model is the project default, and stands in for a tier left out. */\n readonly standard: LanguageModel | readonly LanguageModel[]\n readonly heavy?: LanguageModel | readonly LanguageModel[]\n}\n\n/** The configured language models, with the project default. */\nexport interface LanguageModelCatalog {\n readonly default: LanguageModelEntry\n /** The tiers the project configures, in tier order; empty when `models.language` is a list. */\n readonly tiers: readonly LanguageModelTier[]\n /** Configured order; with tiers, light, standard then heavy, each tier in its own order. */\n list(): readonly LanguageModelEntry[]\n getByRef(ref: LanguageModelRef): LanguageModelEntry | null\n /** The tier's first model; a tier left out, or any tier of a list, gives the default. */\n getByTier(tier: LanguageModelTier): LanguageModelEntry\n}\n\n/**\n * One configured language model.\n *\n * The identity describes the configured binding, not only a vendor model. For example,\n * A gateway binding and a direct provider binding for the same vendor model are distinct because their\n * `provider` values differ.\n */\nexport interface LanguageModelEntry extends LanguageModelRef {\n readonly model: LanguageModel\n /** The tier the model is configured in; absent when `models.language` is a list. */\n readonly tier?: LanguageModelTier\n}\n\n/** Models a project allows Sixb to use, organized by technical model kind. */\nexport interface ModelCatalog {\n readonly audio?: AudioModelCatalog\n readonly language?: LanguageModelCatalog\n readonly decision?: DecisionModelCatalog\n readonly embedding: EmbeddingModelCatalog\n readonly image?: ImageModelCatalog\n readonly reranking?: RerankingModelCatalog\n}\n\nexport interface ModelCatalogInput {\n readonly audio?: AudioModelCatalogInput\n /**\n * Ordered, the first entry being the project default; or tiers, whose first `standard` model is\n * the default.\n */\n readonly language?: readonly LanguageModel[] | LanguageModelTiers\n /** Ordered; the first entry is the project default decision model. */\n readonly decision?: readonly DecisionModel[]\n readonly embedding?: readonly EmbeddingModel[]\n /** Ordered; the first entry is the default image model. */\n readonly image?: readonly ImageModel[]\n /** Available rerankers; no default model and no automatic activation. */\n readonly reranking?: readonly RerankingModel[]\n}\n\n// Only statically required inputs make their corresponding catalogs required.\ntype ConfiguredModelKinds<TInput> = {\n [Kind in keyof ModelCatalog]-?: [TInput] extends [\n Record<Kind, readonly unknown[] | LanguageModelTiers>,\n ]\n ? Kind\n : never\n}[keyof ModelCatalog]\n\nexport type ModelCatalogFor<TInput extends ModelCatalogInput> = ModelCatalog &\n Required<Pick<ModelCatalog, ConfiguredModelKinds<TInput>>> &\n ([TInput] extends [{ readonly audio: { readonly transcription: readonly unknown[] } }]\n ? {\n readonly audio: AudioModelCatalog & {\n readonly transcription: NonNullable<AudioModelCatalog[\"transcription\"]>\n }\n }\n : unknown) &\n ([TInput] extends [{ readonly audio: { readonly speech: readonly unknown[] } }]\n ? {\n readonly audio: AudioModelCatalog & {\n readonly speech: NonNullable<AudioModelCatalog[\"speech\"]>\n }\n }\n : unknown)\n\n/** Build an immutable catalog while preserving each family's default and empty-list rules. */\nexport function createModelCatalog<TInput extends ModelCatalogInput>(\n input: TInput\n): ModelCatalogFor<TInput>\nexport function createModelCatalog(input: ModelCatalogInput): ModelCatalog {\n if (!input || typeof input !== \"object\" || Array.isArray(input)) {\n throw new RuntimeError(\"[Sixb] 'models' must be a model catalog configuration.\")\n }\n\n const language = createLanguageCatalog(input.language)\n const embedding = createEmbeddingCatalog(input.embedding)\n const decision = createDecisionCatalog(input.decision)\n const audio = createAudioCatalog(input.audio)\n const image = createImageCatalog(input.image)\n const reranking = createRerankingCatalog(input.reranking)\n\n if (\n !language &&\n !decision &&\n !audio &&\n !image &&\n embedding.list().length === 0 &&\n !reranking?.list().length\n ) {\n throw new RuntimeError(\n \"[Sixb] Configure at least one language, embedding, decision, audio, image or reranking model.\"\n )\n }\n\n return Object.freeze({ language, embedding, decision, audio, image, reranking })\n}\n\nfunction createRerankingCatalog(\n models: readonly RerankingModel[] | undefined\n): RerankingModelCatalog | undefined {\n if (models === undefined) return undefined\n if (!Array.isArray(models)) {\n throw new RuntimeError(\"[Sixb] models.reranking must be an array of reranking models.\")\n }\n return indexModelBindings(models, \"reranking\", assertRerankingModel)\n}\n\nfunction createLanguageCatalog(\n input: ModelCatalogInput[\"language\"]\n): LanguageModelCatalog | undefined {\n if (input === undefined) return undefined\n\n const configured = configuredLanguageModels(input)\n const index = indexModelBindings(\n configured.map(({ model }) => model),\n \"language\",\n (model, position) => {\n const { path } = configured[position]\n assertValidLanguageModel(model, (detail) => invalidLanguageModel(path, detail))\n },\n (position): Pick<LanguageModelEntry, \"tier\"> => {\n const { tier } = configured[position]\n return tier === undefined ? {} : { tier }\n }\n )\n const entries = index.list()\n\n const defaultEntry = entries.find((entry) => entry.tier === \"standard\") ?? entries[0]\n if (!defaultEntry) {\n throw new RuntimeError(\n \"[Sixb] 'models.language' needs at least one model. Configure one or omit 'models.language'.\"\n )\n }\n\n const tiers = LANGUAGE_MODEL_TIERS.filter((tier) => entries.some((entry) => entry.tier === tier))\n\n return Object.freeze({\n ...index,\n default: defaultEntry,\n tiers: Object.freeze(tiers),\n getByTier: (tier: LanguageModelTier) =>\n entries.find((entry) => entry.tier === tier) ?? defaultEntry,\n })\n}\n\n/**\n * The model code runs: its own as given, a tier's model from the catalog, or the default. A string\n * that is not a tier throws, since a caller's types may not have checked it.\n */\nexport function selectLanguageModel(\n catalog: LanguageModelCatalog | undefined,\n model: LanguageModel | LanguageModelTier | undefined\n): LanguageModel | undefined {\n if (model === undefined) return catalog?.default.model\n if (typeof model !== \"string\") return model\n\n if (!isLanguageModelTier(model)) {\n throw new TypeError(\n `[Sixb] Unknown model tier '${model}'. Use ${formatLanguageModelTiers()}, or pass a model.`\n )\n }\n\n return catalog?.getByTier(model).model\n}\n\ninterface ConfiguredLanguageModel {\n readonly model: LanguageModel\n readonly tier?: LanguageModelTier\n /** Where the model was configured, for its errors. */\n readonly path: string\n}\n\n/** Flatten a list, or tiers in tier order, without validating the models themselves. */\nfunction configuredLanguageModels(\n input: readonly LanguageModel[] | LanguageModelTiers\n): readonly ConfiguredLanguageModel[] {\n if (Array.isArray(input)) {\n return input.map((model, index) => ({ model, path: `models.language[${index}]` }))\n }\n if (typeof input !== \"object\" || input === null) {\n throw new RuntimeError(\n \"[Sixb] 'models.language' must be an array of Sixb language models, or tiers: { light, standard, heavy }.\"\n )\n }\n\n const unknown = Object.keys(input).find((key) => !isLanguageModelTier(key))\n if (unknown !== undefined) {\n throw new RuntimeError(\n `[Sixb] Unknown model tier '${unknown}' in 'models.language'. Use ${formatLanguageModelTiers()}, or pass an array of models.`\n )\n }\n // Array.isArray does not narrow a readonly array out of the union.\n const tiers = input as LanguageModelTiers\n if (tiers.standard === undefined) {\n throw new RuntimeError(\n \"[Sixb] 'models.language' tiers need 'standard': its first model is the project default.\"\n )\n }\n\n return LANGUAGE_MODEL_TIERS.flatMap((tier) => {\n const models = tiers[tier]\n if (models === undefined) return []\n if (!Array.isArray(models)) {\n return [{ model: models, tier, path: `models.language.${tier}` }]\n }\n if (models.length === 0) {\n throw new RuntimeError(`[Sixb] 'models.language.${tier}' needs at least one model.`)\n }\n return models.map((model, index) => ({\n model,\n tier,\n path: `models.language.${tier}[${index}]`,\n }))\n })\n}\n\nfunction createEmbeddingCatalog(\n models: readonly EmbeddingModel[] | undefined\n): EmbeddingModelCatalog {\n if (models !== undefined && !Array.isArray(models)) {\n throw new RuntimeError(\"[Sixb] models.embedding must be an array of embedding models.\")\n }\n\n return indexModelBindings(models ?? [], \"embedding\", assertEmbeddingModel)\n}\n\n/** Builds the error for an invalid language model, naming where it was configured. */\ntype InvalidLanguageModel = (detail: string) => Error\n\n/**\n * Check a language model the project configures, in the catalog or on an agent step: its shape\n * and identity, its default reasoning and its output limit.\n */\nexport function assertValidLanguageModel(\n model: unknown,\n fail: InvalidLanguageModel\n): asserts model is LanguageModel {\n assertLanguageModel(model, fail)\n assertDefaultReasoning(model, fail)\n assertMaxOutputTokens(model, fail)\n}\n\n// Capabilities known without catalog I/O. Unknown support is accepted: providers fall back to their\n// default when a resolved model turns out not to support the level.\nfunction assertDefaultReasoning(model: LanguageModel, fail: InvalidLanguageModel): void {\n const reasoning: unknown = model.defaultReasoning\n if (reasoning === undefined) return\n if (!(MODEL_REASONING_LEVELS as readonly unknown[]).includes(reasoning)) {\n throw fail(`expected 'defaultReasoning' to be one of: ${MODEL_REASONING_LEVELS.join(\", \")}`)\n }\n const issue = modelReasoningSupportIssue(model.definition.capabilities.reasoning, reasoning)\n if (issue !== undefined) {\n throw fail(`default reasoning '${reasoning}' cannot be used: ${issue}`)\n }\n}\n\n// Providers validate their own options; this holds the same rule for providers written elsewhere.\nfunction assertMaxOutputTokens(model: LanguageModel, fail: InvalidLanguageModel): void {\n const maxOutputTokens: unknown = model.maxOutputTokens\n if (maxOutputTokens === undefined) return\n if (\n typeof maxOutputTokens !== \"number\" ||\n !Number.isSafeInteger(maxOutputTokens) ||\n maxOutputTokens <= 0\n ) {\n throw fail(\"expected 'maxOutputTokens' to be a positive safe integer\")\n }\n const modelMaximum = model.definition.maxOutputTokens\n if (modelMaximum !== undefined && maxOutputTokens > modelMaximum) {\n throw fail(`'maxOutputTokens' (${maxOutputTokens}) exceeds the model maximum (${modelMaximum})`)\n }\n}\n\nfunction assertLanguageModel(\n model: unknown,\n fail: InvalidLanguageModel\n): asserts model is LanguageModel {\n if ((typeof model !== \"object\" && typeof model !== \"function\") || model === null) {\n throw fail(\"expected a Sixb LanguageModel instance\")\n }\n\n const candidate = model as Record<string, unknown>\n assertModelIdentifier(candidate.providerId, \"provider\", fail)\n assertModelIdentifier(candidate.modelId, \"modelId\", fail)\n if (typeof candidate.stream !== \"function\") {\n throw fail(\"expected 'stream' to be a function\")\n }\n try {\n const definition = defineLanguageModel(candidate.definition as LanguageModelDefinition)\n if (\n definition.providerId !== candidate.providerId ||\n definition.modelId !== candidate.modelId\n ) {\n throw new Error(\"definition identity does not match the binding\")\n }\n } catch (error) {\n throw fail(error instanceof Error ? error.message : \"invalid definition\")\n }\n}\n\nfunction assertModelIdentifier(\n value: unknown,\n field: \"provider\" | \"modelId\",\n fail: InvalidLanguageModel\n): void {\n if (typeof value !== \"string\" || value.length === 0) {\n throw fail(`expected '${field}' to be a non-empty string`)\n }\n if (value.trim() !== value) {\n throw fail(`expected '${field}' not to have surrounding whitespace`)\n }\n}\n\nfunction invalidLanguageModel(path: string, detail: string): RuntimeError {\n return new RuntimeError(`[Sixb] Invalid language model at '${path}': ${detail}.`)\n}\n\n/** Provider-owned metadata lookup, independent from the project's configured bindings. */\nexport interface ModelDefinitionCatalog<TDefinition extends ModelDefinition = ModelDefinition> {\n get(modelId: string): Promise<TDefinition | undefined>\n list(): Promise<readonly TDefinition[]>\n}\n\nexport type LanguageModelDefinitionCatalog = ModelDefinitionCatalog<LanguageModelDefinition>\n",
13
+ "import { ModelProviderError } from \"../errors\"\nimport type { DecisionModelResponseMetadata } from \"./types\"\n\nexport class DecisionModelResponseError extends ModelProviderError {\n constructor(\n message: string,\n providerId: string,\n modelId: string,\n readonly metadata: DecisionModelResponseMetadata,\n options?: ErrorOptions\n ) {\n super(message, providerId, modelId, {\n ...options,\n code: \"invalid_decision_response\",\n retryable: false,\n })\n }\n}\n",
14
+ "import type { SchemaOrRef } from \"../../ontology/refs\"\nimport type {\n ChoiceQuestion,\n DecisionContent,\n DecisionQuestion,\n DecisionQuestions,\n ScoreQuestion,\n} from \"./types\"\nimport { assertDecisionQuestions } from \"./validation\"\n\ntype RequiredField<S extends SchemaOrRef> = { required: true; schema: S }\ntype ChoiceAnswerSchema<C extends Readonly<Record<string, DecisionContent | null>>> = {\n type: \"object\"\n properties: {\n choice: RequiredField<{\n type: \"enum\"\n valueType: \"string\"\n values: `${Extract<keyof C, string | number>}`[]\n }>\n probabilities: RequiredField<{\n type: \"object\"\n properties: { [K in keyof C]: RequiredField<\"double\"> }\n }>\n confidence: { schema: \"double\" }\n }\n}\nexport type DecisionAnswerSchema<Q extends DecisionQuestion> =\n Q extends ChoiceQuestion<infer C>\n ? ChoiceAnswerSchema<C>\n : Q extends ScoreQuestion\n ? {\n type: \"object\"\n properties: {\n score: RequiredField<\"double\">\n probabilities: RequiredField<{ type: \"array\"; items: \"double\" }>\n confidence: { schema: \"double\" }\n }\n }\n : { type: \"object\"; properties: { probability: RequiredField<\"double\"> } }\nexport type DecisionOutputShape<Q extends DecisionQuestions> = {\n -readonly [K in keyof Q]: DecisionAnswerSchema<Q[K]>\n}\n\n/** Ordinary Sixb output schemas for actions/workflow steps; evaluate() validates distributions. */\nexport function decisionOutput<const Q extends DecisionQuestions>(\n questions: Q\n): DecisionOutputShape<Q> {\n assertDecisionQuestions(questions)\n const result: Record<string, SchemaOrRef> = Object.fromEntries(\n Object.entries(questions).map(([key, q]) => {\n if (q.type === \"probability\")\n return [\n key,\n {\n type: \"object\",\n properties: { probability: { required: true, schema: \"double\" } },\n },\n ]\n const confidence = { schema: \"double\" as const }\n if (q.type === \"score\")\n return [\n key,\n {\n type: \"object\",\n properties: {\n score: { required: true, schema: \"double\" },\n probabilities: { required: true, schema: { type: \"array\", items: \"double\" } },\n confidence,\n },\n },\n ]\n return [\n key,\n {\n type: \"object\",\n properties: {\n choice: {\n required: true,\n schema: { type: \"enum\", valueType: \"string\", values: Object.keys(q.options) },\n },\n probabilities: {\n required: true,\n schema: {\n type: \"object\",\n properties: Object.fromEntries(\n Object.keys(q.options).map((option) => [\n option,\n { required: true, schema: \"double\" },\n ])\n ),\n },\n },\n confidence,\n },\n },\n ]\n })\n )\n // Each branch builds the corresponding schema while retaining literal option keys in the type.\n return result as DecisionOutputShape<Q>\n}\n",
15
+ "import type { ChoiceQuestion, DecisionContent, ProbabilityQuestion, ScoreQuestion } from \"./types\"\nimport { assertDecisionQuestions } from \"./validation\"\n\n/** Plain serializable descriptors; no registration or inference takes place here. */\nexport const question = {\n choice<const TOptions extends Readonly<Record<string, DecisionContent | null>>>(input: {\n readonly instructions: DecisionContent\n readonly options: TOptions\n }): ChoiceQuestion<TOptions> {\n const result = { ...input, type: \"choice\" as const }\n assertDecisionQuestions({ question: result })\n return result\n },\n score<\n const TLevels extends readonly [DecisionContent, DecisionContent, ...DecisionContent[]],\n >(input: {\n readonly instructions: DecisionContent\n readonly levels: TLevels\n }): ScoreQuestion<TLevels> {\n const result = { ...input, type: \"score\" as const }\n assertDecisionQuestions({ question: result })\n return result\n },\n probability(instructions: DecisionContent): ProbabilityQuestion {\n const result = { type: \"probability\" as const, instructions }\n assertDecisionQuestions({ question: result })\n return result\n },\n}\n",
16
+ "import { ModelProviderError } from \"../errors\"\nimport type { ImageModelResponseMetadata } from \"./types\"\n\n/** Retains billing metadata even when the provider returns invalid images. */\nexport class ImageModelResponseError extends ModelProviderError {\n constructor(\n message: string,\n providerId: string,\n modelId: string,\n readonly metadata: ImageModelResponseMetadata,\n options?: ErrorOptions\n ) {\n super(message, providerId, modelId, {\n ...options,\n code: \"invalid_image_response\",\n retryable: false,\n })\n }\n}\n",
17
+ "/** Decimal USD. Strings keep provider prices exact. */\nexport type ModelUnitPrice = string\n\nexport interface ModelPricingTier {\n readonly minTokens: number\n readonly maxTokens?: number\n readonly price: ModelUnitPrice\n}\n\nexport type ModelTokenPrice =\n | ModelUnitPrice\n | { readonly default: ModelUnitPrice; readonly tiers: readonly ModelPricingTier[] }\n\n/** Request facts a price can depend on, such as an image's size or a voice's tier. */\nexport interface ModelPricingDimensions {\n readonly size?: string\n readonly quality?: string\n readonly style?: string\n readonly voiceTier?: string\n}\n\nexport interface ModelPriceVariant extends ModelPricingDimensions {\n readonly price: ModelUnitPrice\n}\n\n/**\n * One price, or prices that vary with the request. Every variant names the same dimensions; a\n * request no variant matches is billed at `default`, and is unpriceable without one.\n */\nexport type ModelVariantPrice =\n | ModelUnitPrice\n | { readonly default?: ModelUnitPrice; readonly variants: readonly ModelPriceVariant[] }\n\n/**\n * What one provider bills for one model. A card lists only the meters its provider charges:\n * token prices come as an input and output pair, per million tokens.\n */\nexport interface ModelRateCard {\n readonly currency: \"USD\"\n readonly input?: ModelTokenPrice\n readonly output?: ModelTokenPrice\n readonly cacheReadInput?: ModelTokenPrice\n readonly cacheWriteInput?: ModelTokenPrice\n readonly cacheWriteInput5m?: ModelTokenPrice\n readonly cacheWriteInput1h?: ModelTokenPrice\n /** Output tokens that encode images, when billed apart from other output. */\n readonly imageOutput?: ModelTokenPrice\n /** Output tokens that encode audio, when billed apart from other output. */\n readonly audioOutput?: ModelTokenPrice\n /** Per generated image. Image output tokens are then not billed as tokens. */\n readonly images?: ModelVariantPrice\n /** Per million input characters. */\n readonly characters?: ModelVariantPrice\n /** Per second of input audio, as transcription bills. */\n readonly audioInputSeconds?: ModelVariantPrice\n}\n\nconst PRICING_DIMENSIONS = [\"size\", \"quality\", \"style\", \"voiceTier\"] as const\n\nconst TOKEN_DETAIL_FIELDS = [\n \"cacheReadInput\",\n \"cacheWriteInput\",\n \"cacheWriteInput5m\",\n \"cacheWriteInput1h\",\n \"imageOutput\",\n \"audioOutput\",\n] as const\n\n/** Validate and snapshot provider-owned pricing independently of operational metadata. */\nexport function defineModelRateCard(rateCard: ModelRateCard): ModelRateCard {\n assertRecord(rateCard, \"rate card\")\n if (rateCard.currency !== \"USD\") {\n throw new TypeError(\"[Sixb] Model rate cards must use USD.\")\n }\n\n const tokens = rateCard.input !== undefined || rateCard.output !== undefined\n if (tokens && (rateCard.input === undefined || rateCard.output === undefined)) {\n throw new TypeError(\"[Sixb] Model rate cards must price input and output tokens together.\")\n }\n if (!tokens && TOKEN_DETAIL_FIELDS.some((field) => rateCard[field] !== undefined)) {\n throw new TypeError(\"[Sixb] Model rate card token details require input and output prices.\")\n }\n if (\n !tokens &&\n rateCard.images === undefined &&\n rateCard.characters === undefined &&\n rateCard.audioInputSeconds === undefined\n ) {\n throw new TypeError(\"[Sixb] Model rate cards must price tokens, images, characters or audio.\")\n }\n if (rateCard.images !== undefined && rateCard.imageOutput !== undefined) {\n throw new TypeError(\n \"[Sixb] Model rate cards bill image output per image or per token, not both.\"\n )\n }\n\n return Object.freeze({\n currency: \"USD\",\n ...(tokens ? { input: tokenPrice(rateCard.input), output: tokenPrice(rateCard.output) } : {}),\n ...(rateCard.cacheReadInput === undefined\n ? {}\n : { cacheReadInput: tokenPrice(rateCard.cacheReadInput) }),\n ...(rateCard.cacheWriteInput === undefined\n ? {}\n : { cacheWriteInput: tokenPrice(rateCard.cacheWriteInput) }),\n ...(rateCard.cacheWriteInput5m === undefined\n ? {}\n : { cacheWriteInput5m: tokenPrice(rateCard.cacheWriteInput5m) }),\n ...(rateCard.cacheWriteInput1h === undefined\n ? {}\n : { cacheWriteInput1h: tokenPrice(rateCard.cacheWriteInput1h) }),\n ...(rateCard.imageOutput === undefined\n ? {}\n : { imageOutput: tokenPrice(rateCard.imageOutput) }),\n ...(rateCard.audioOutput === undefined\n ? {}\n : { audioOutput: tokenPrice(rateCard.audioOutput) }),\n ...(rateCard.images === undefined ? {} : { images: variantPrice(rateCard.images, \"images\") }),\n ...(rateCard.characters === undefined\n ? {}\n : { characters: variantPrice(rateCard.characters, \"characters\") }),\n ...(rateCard.audioInputSeconds === undefined\n ? {}\n : { audioInputSeconds: variantPrice(rateCard.audioInputSeconds, \"audioInputSeconds\") }),\n })\n}\n\n/** @internal The price for a request, and the variant that set it. */\nexport function resolveModelVariantPrice(\n price: ModelVariantPrice,\n dimensions: ModelPricingDimensions | undefined\n): { readonly price: ModelUnitPrice; readonly variant?: string } | undefined {\n if (typeof price === \"string\") return { price }\n const variant = price.variants.find((candidate) =>\n PRICING_DIMENSIONS.every(\n (dimension) =>\n candidate[dimension] === undefined || candidate[dimension] === dimensions?.[dimension]\n )\n )\n if (variant) {\n const label = PRICING_DIMENSIONS.flatMap((dimension) => variant[dimension] ?? []).join(\" · \")\n return { price: variant.price, variant: label }\n }\n return price.default === undefined ? undefined : { price: price.default }\n}\n\n/** @internal Every price a request could be billed at, for conservative reservations. */\nexport function modelVariantPrices(price: ModelVariantPrice): readonly ModelUnitPrice[] {\n if (typeof price === \"string\") return [price]\n return [\n ...(price.default === undefined ? [] : [price.default]),\n ...price.variants.map((variant) => variant.price),\n ]\n}\n\nfunction variantPrice(value: ModelVariantPrice, field: string): ModelVariantPrice {\n if (typeof value === \"string\") return price(value)\n assertRecord(value, `${field} price`)\n if (!Array.isArray(value.variants) || value.variants.length === 0) {\n throw new TypeError(`[Sixb] Model ${field} price variants must be a nonempty array.`)\n }\n\n let shape: string | undefined\n const seen = new Set<string>()\n const variants = value.variants.map((variant): ModelPriceVariant => {\n assertRecord(variant, `${field} price variant`)\n const dimensions: { -readonly [K in keyof ModelPricingDimensions]: string } = {}\n for (const dimension of PRICING_DIMENSIONS) {\n const named = variant[dimension]\n if (named === undefined) continue\n if (typeof named !== \"string\" || !named.trim()) {\n throw new TypeError(`[Sixb] Model ${field} price variant ${dimension} must be nonblank.`)\n }\n dimensions[dimension] = named\n }\n\n // One shared set of dimensions means a request matches at most one variant.\n const key = Object.keys(dimensions).join(\",\")\n if (!key || (shape !== undefined && key !== shape)) {\n throw new TypeError(\n `[Sixb] Model ${field} price variants must all name the same pricing dimensions.`\n )\n }\n shape = key\n const identity = JSON.stringify(Object.values(dimensions))\n if (seen.has(identity)) {\n throw new TypeError(`[Sixb] Model ${field} price variants must be distinct.`)\n }\n seen.add(identity)\n\n return Object.freeze({ ...dimensions, price: price(variant.price) })\n })\n\n return Object.freeze({\n ...(value.default === undefined ? {} : { default: price(value.default) }),\n variants: Object.freeze(variants),\n })\n}\n\nfunction tokenPrice(value: ModelTokenPrice | undefined): ModelTokenPrice {\n if (typeof value === \"string\") return price(value)\n assertRecord(value, \"token price\")\n if (!Array.isArray(value.tiers)) throw new TypeError(\"[Sixb] Model price tiers must be an array.\")\n let previousMax = 0\n return Object.freeze({\n default: price(value.default),\n tiers: Object.freeze(\n value.tiers.map((tier, index) => {\n assertRecord(tier, \"price tier\")\n if (\n typeof tier.minTokens !== \"number\" ||\n !Number.isSafeInteger(tier.minTokens) ||\n tier.minTokens < 0\n ) {\n throw new TypeError(\"[Sixb] Model price tier has an invalid minimum.\")\n }\n if (index > 0 && tier.minTokens < previousMax) {\n throw new TypeError(\"[Sixb] Model price tiers must be ordered and nonoverlapping.\")\n }\n if (\n tier.maxTokens !== undefined &&\n (typeof tier.maxTokens !== \"number\" ||\n !Number.isSafeInteger(tier.maxTokens) ||\n tier.maxTokens <= tier.minTokens)\n ) {\n throw new TypeError(\"[Sixb] Model price tier has an invalid maximum.\")\n }\n previousMax = tier.maxTokens ?? Number.POSITIVE_INFINITY\n return Object.freeze({\n minTokens: tier.minTokens,\n ...(tier.maxTokens === undefined ? {} : { maxTokens: tier.maxTokens }),\n price: price(tier.price),\n })\n })\n ),\n })\n}\n\nfunction price(value: unknown): string {\n if (typeof value !== \"string\" || !/^(?:0|[1-9]\\d*)(?:\\.\\d+)?$/.test(value)) {\n throw new TypeError(\"[Sixb] Model price must be a nonnegative decimal string.\")\n }\n return value\n}\n\nfunction assertRecord(value: unknown, field: string): asserts value is Record<string, unknown> {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw new TypeError(`[Sixb] Model ${field} must be an object.`)\n }\n}\n",
18
+ "import type { ModelRoute, ModelUsage } from \"./events\"\nimport {\n type ModelPricingDimensions,\n type ModelRateCard,\n type ModelTokenPrice,\n type ModelVariantPrice,\n modelVariantPrices,\n resolveModelVariantPrice,\n} from \"./rate-card\"\n\n/** Optional local financial enrichment cannot discard a completed, billable call. */\nexport function estimateModelCall(\n model: { readonly costEstimator?: Pick<ModelCostEstimator, \"estimate\"> },\n input: Parameters<ModelCostEstimator[\"estimate\"]>[0]\n): ModelCostEstimate {\n try {\n return model.costEstimator?.estimate(input) ?? rateModelCall({ usage: input.usage })\n } catch {\n console.warn(\n \"[Sixb] Model cost estimation failed; preserving usage and available provider cost.\"\n )\n return { status: \"unpriceable\", reason: \"missing-rate-card\" }\n }\n}\n\nexport interface ModelMoney {\n readonly currency: \"USD\"\n /** Billionths of one currency unit, serialized as an integer string. */\n readonly amountNanos: string\n}\n\nexport interface ModelReportedCost {\n readonly money: ModelMoney\n readonly providerId?: string\n}\n\n/** A local estimate is never a provider-reported charge. No financial API is required to run. */\nexport type ModelCostEstimate = Exclude<ModelCallCost, { status: \"reported\" }>\n\nexport interface ModelCostEstimator {\n /** Conservative token-cost reservation, including cache writes and pricing tiers.\n * Return undefined when routing or non-token charges prevent a safe local estimate. */\n estimateReservation?(input: {\n readonly inputTokens: number\n readonly outputTokens: number\n }): ModelMoney | undefined\n\n estimate(input: {\n readonly usage: ModelUsage\n readonly route?: ModelRoute\n readonly responseModelId?: string\n /** The request's size, quality, style or voice tier, for prices that vary with them. */\n readonly dimensions?: ModelPricingDimensions\n }): ModelCostEstimate\n}\n\nexport type ModelCostMeter =\n | \"audio.input.milliseconds\"\n | \"characters.input\"\n | \"images.output\"\n | \"tokens.input.total\"\n | \"tokens.input.uncached\"\n | \"tokens.input.cacheRead\"\n | \"tokens.input.cacheWrite\"\n | \"tokens.input.cacheWrite5m\"\n | \"tokens.input.cacheWrite1h\"\n | \"tokens.output.total\"\n | \"tokens.output.text\"\n | \"tokens.output.reasoning\"\n | \"tokens.output.image\"\n | \"tokens.output.audio\"\n\nexport interface ModelCostComponent {\n readonly meter: ModelCostMeter\n readonly quantity: string\n readonly rateAmountNanosPerMillion: string\n readonly chargeAmountNanos: string\n /** The price variant that applied, such as `1024x1024 · high`. Display only. */\n readonly variant?: string\n}\n\nexport type ModelCallCost =\n | { readonly status: \"reported\"; readonly money: ModelMoney; readonly providerId?: string }\n | {\n readonly status: \"rated\"\n readonly money: ModelMoney\n readonly components: readonly ModelCostComponent[]\n }\n | {\n readonly status: \"unpriceable\"\n readonly reason:\n | \"missing-rate-card\"\n | \"missing-usage\"\n | \"inconsistent-usage\"\n | \"unsupported-pricing-dimension\"\n readonly missingMeters?: readonly ModelCostMeter[]\n }\n\ntype Unpriceable = Extract<ModelCallCost, { status: \"unpriceable\" }>\n\ntype TokenRateCard = ModelRateCard & {\n readonly input: ModelTokenPrice\n readonly output: ModelTokenPrice\n}\n\nfunction pricesTokens(card: ModelRateCard): card is TokenRateCard {\n return card.input !== undefined && card.output !== undefined\n}\n\n/**\n * Reserve at the highest rates the request could be billed at, before cache usage, the final tier\n * and the produced media are known. Undefined when a meter the card bills has no bound.\n */\nexport function estimateModelReservation(input: {\n readonly inputTokens?: number\n readonly outputTokens?: number\n readonly outputImages?: number\n readonly inputCharacters?: number\n readonly dimensions?: ModelPricingDimensions\n readonly rateCard?: ModelRateCard\n}): ModelMoney | undefined {\n if (!input.rateCard) return undefined\n const counts = [input.inputTokens, input.outputTokens, input.outputImages, input.inputCharacters]\n if (!counts.every((n) => n === undefined || (Number.isSafeInteger(n) && n >= 0))) {\n throw new TypeError(\"[Sixb] Model reservation estimates must be nonnegative safe integers.\")\n }\n const maxRate = (prices: readonly (ModelTokenPrice | undefined)[]) => {\n const rates = prices.flatMap((price) =>\n price === undefined\n ? []\n : typeof price === \"string\"\n ? [price]\n : [price.default, ...price.tiers.map((tier) => tier.price)]\n )\n return highestRate(rates)\n }\n const card = input.rateCard\n const charge = (quantity: number, rate: bigint) =>\n (BigInt(quantity) * rate + 999_999n) / 1_000_000n\n\n let total = 0n\n if (pricesTokens(card)) {\n if (input.inputTokens === undefined || input.outputTokens === undefined) return undefined\n const inputRate = maxRate([\n card.input,\n card.cacheReadInput,\n card.cacheWriteInput,\n card.cacheWriteInput5m,\n card.cacheWriteInput1h,\n ])\n const outputRate = maxRate([card.output, card.imageOutput, card.audioOutput])\n total += charge(input.inputTokens, inputRate) + charge(input.outputTokens, outputRate)\n }\n if (card.images !== undefined) {\n if (input.outputImages === undefined) return undefined\n total += BigInt(input.outputImages) * reservationPrice(card.images, input.dimensions)\n }\n // Nothing measures an audio file's duration before it is sent.\n if (card.audioInputSeconds !== undefined) return undefined\n if (card.characters !== undefined) {\n if (input.inputCharacters === undefined) return undefined\n total += charge(input.inputCharacters, reservationPrice(card.characters, input.dimensions))\n }\n return { currency: \"USD\", amountNanos: total.toString() }\n}\n\nfunction reservationPrice(\n price: ModelVariantPrice,\n dimensions: ModelPricingDimensions | undefined\n): bigint {\n const resolved = resolveModelVariantPrice(price, dimensions)\n // The default applies to unknown dimensions; reserving it could fall short of a variant.\n return resolved?.variant !== undefined || typeof price === \"string\"\n ? decimalDollarsToNanos(resolved!.price)\n : highestRate(modelVariantPrices(price))\n}\n\nfunction highestRate(prices: readonly string[]): bigint {\n return prices.reduce((max, price) => {\n const rate = decimalDollarsToNanos(price)\n return rate > max ? rate : max\n }, 0n)\n}\n\n/**\n * Prefer the provider's bill over rate-card estimates, then rate the call locally. A call is\n * billed by tokens, by units (images, characters) or both; every quantity must be covered by one.\n */\nexport function rateModelCall(input: {\n readonly usage: ModelUsage\n readonly rateCard?: ModelRateCard\n readonly dimensions?: ModelPricingDimensions\n readonly reported?: undefined\n}): ModelCostEstimate\nexport function rateModelCall(input: {\n readonly usage: ModelUsage\n readonly rateCard?: ModelRateCard\n readonly dimensions?: ModelPricingDimensions\n readonly reported?: ModelReportedCost\n}): ModelCallCost\nexport function rateModelCall(input: {\n readonly usage: ModelUsage\n readonly rateCard?: ModelRateCard\n readonly dimensions?: ModelPricingDimensions\n readonly reported?: ModelReportedCost\n}): ModelCallCost {\n if (input.reported) {\n assertAmountNanos(input.reported.money.amountNanos)\n return {\n status: \"reported\",\n money: input.reported.money,\n ...(input.reported.providerId === undefined ? {} : { providerId: input.reported.providerId }),\n }\n }\n if (!input.rateCard) return { status: \"unpriceable\", reason: \"missing-rate-card\" }\n const { usage, rateCard } = input\n if (!validUsageCounters(usage)) {\n return { status: \"unpriceable\", reason: \"inconsistent-usage\" }\n }\n\n const units = rateUnits(usage, rateCard, input.dimensions)\n if (!Array.isArray(units)) return units\n const tokens = pricesTokens(rateCard) ? rateTokens(usage, rateCard) : []\n if (!Array.isArray(tokens)) return tokens\n\n const components = [...tokens, ...units]\n const total = components.reduce((sum, entry) => sum + BigInt(entry.chargeAmountNanos), 0n)\n return {\n status: \"rated\",\n money: { currency: rateCard.currency, amountNanos: total.toString() },\n components,\n }\n}\n\nfunction rateUnits(\n usage: ModelUsage,\n rateCard: ModelRateCard,\n dimensions: ModelPricingDimensions | undefined\n): ModelCostComponent[] | Unpriceable {\n // Without token prices, a count the card doesn't price is a charge nothing covers.\n if (!pricesTokens(rateCard)) {\n const unpriced: ModelCostMeter[] = [\n ...((usage.outputImages ?? 0) > 0 && rateCard.images === undefined\n ? ([\"images.output\"] as const)\n : []),\n ...((usage.inputCharacters ?? 0) > 0 && rateCard.characters === undefined\n ? ([\"characters.input\"] as const)\n : []),\n ]\n if (unpriced.length > 0) {\n return { status: \"unpriceable\", reason: \"missing-rate-card\", missingMeters: unpriced }\n }\n }\n\n // Each card price, its meter, and the power of ten from its unit to nanos per million units.\n // Audio duration is charged only where a card prices it: speech reports the duration of\n // the audio it made, which nothing bills.\n const components: ModelCostComponent[] = []\n const missing: ModelCostMeter[] = []\n for (const [meter, quantity, price, exponent] of [\n [\"images.output\", usage.outputImages, rateCard.images, 15],\n [\"characters.input\", usage.inputCharacters, rateCard.characters, 9],\n [\"audio.input.milliseconds\", usage.audioDurationMs, rateCard.audioInputSeconds, 12],\n ] as const) {\n if (price === undefined) continue\n if (quantity === undefined) {\n missing.push(meter)\n continue\n }\n // A priced call that produced nothing keeps its zero-quantity component.\n if (quantity === 0 && pricesTokens(rateCard)) continue\n const resolved = resolveModelVariantPrice(price, dimensions) ?? (quantity === 0 ? zero : null)\n if (!resolved) return { status: \"unpriceable\", reason: \"unsupported-pricing-dimension\" }\n components.push(\n componentAtRate(meter, quantity, scaledDecimal(resolved.price, exponent), resolved.variant)\n )\n }\n if (missing.length > 0) {\n return { status: \"unpriceable\", reason: \"missing-usage\", missingMeters: missing }\n }\n return components\n}\n\nconst zero: { readonly price: string; readonly variant?: string } = { price: \"0\" }\n\nfunction rateTokens(\n usage: ModelUsage,\n rateCard: TokenRateCard\n): ModelCostComponent[] | Unpriceable {\n if (usage.inputTokens === undefined || usage.outputTokens === undefined) {\n return {\n status: \"unpriceable\",\n reason: \"missing-usage\",\n missingMeters: [\n ...(usage.inputTokens === undefined ? ([\"tokens.input.total\"] as const) : []),\n ...(usage.outputTokens === undefined ? ([\"tokens.output.total\"] as const) : []),\n ],\n }\n }\n\n const partitioned = partitionInputUsage(usage, rateCard)\n if (partitioned.status !== \"rated\") return partitioned\n\n const components: ModelCostComponent[] = []\n if (!partitioned.partitioned) {\n components.push(\n component(\"tokens.input.total\", usage.inputTokens, rateCard.input, usage.inputTokens)\n )\n } else {\n components.push(\n component(\"tokens.input.uncached\", partitioned.uncached, rateCard.input, usage.inputTokens)\n )\n if (partitioned.cacheRead !== undefined) {\n components.push(\n component(\n \"tokens.input.cacheRead\",\n partitioned.cacheRead,\n rateCard.cacheReadInput!,\n usage.inputTokens\n )\n )\n }\n if (partitioned.cacheWrite !== undefined) {\n components.push(\n component(\n \"tokens.input.cacheWrite\",\n partitioned.cacheWrite,\n rateCard.cacheWriteInput!,\n usage.inputTokens\n )\n )\n }\n if (partitioned.cacheWrite5m !== undefined) {\n components.push(\n component(\n \"tokens.input.cacheWrite5m\",\n partitioned.cacheWrite5m,\n rateCard.cacheWriteInput5m ?? rateCard.cacheWriteInput!,\n usage.inputTokens\n )\n )\n }\n if (partitioned.cacheWrite1h !== undefined) {\n components.push(\n component(\n \"tokens.input.cacheWrite1h\",\n partitioned.cacheWrite1h,\n rateCard.cacheWriteInput1h ?? rateCard.cacheWriteInput!,\n usage.inputTokens\n )\n )\n }\n }\n\n const output = rateOutputTokens(usage, usage.outputTokens, usage.inputTokens, rateCard)\n if (!Array.isArray(output)) return output\n return [...components, ...output]\n}\n\n/**\n * Output tokens split by what bills them: per-image prices cover image tokens, media token prices\n * bill their own share, and the rest is text and reasoning. Splitting requires those counts.\n */\nfunction rateOutputTokens(\n usage: ModelUsage,\n outputTokens: number,\n tierTokens: number,\n rateCard: TokenRateCard\n): ModelCostComponent[] | Unpriceable {\n const imagesCoverTokens = rateCard.images !== undefined && (usage.outputImages ?? 0) > 0\n const missing: ModelCostMeter[] = []\n if (\n (imagesCoverTokens || rateCard.imageOutput !== undefined) &&\n usage.imageOutputTokens === undefined\n ) {\n missing.push(\"tokens.output.image\")\n }\n if (rateCard.audioOutput !== undefined && usage.audioOutputTokens === undefined) {\n missing.push(\"tokens.output.audio\")\n }\n if (missing.length > 0) {\n return { status: \"unpriceable\", reason: \"missing-usage\", missingMeters: missing }\n }\n\n const covered = imagesCoverTokens ? usage.imageOutputTokens! : 0\n const media: ModelCostComponent[] = []\n if (!imagesCoverTokens && rateCard.imageOutput !== undefined && usage.imageOutputTokens! > 0) {\n media.push(\n component(\"tokens.output.image\", usage.imageOutputTokens!, rateCard.imageOutput, tierTokens)\n )\n }\n if (rateCard.audioOutput !== undefined && usage.audioOutputTokens! > 0) {\n media.push(\n component(\"tokens.output.audio\", usage.audioOutputTokens!, rateCard.audioOutput, tierTokens)\n )\n }\n if (covered === 0 && media.length === 0) {\n return [component(\"tokens.output.total\", outputTokens, rateCard.output, tierTokens)]\n }\n\n const remainder =\n outputTokens - covered - media.reduce((sum, entry) => sum + Number(entry.quantity), 0)\n if (remainder < 0) return { status: \"unpriceable\", reason: \"inconsistent-usage\" }\n const text = usage.textOutputTokens\n const reasoning = usage.reasoningOutputTokens\n if (remainder > 0 && text === undefined) {\n return { status: \"unpriceable\", reason: \"missing-usage\", missingMeters: [\"tokens.output.text\"] }\n }\n if (remainder > 0 && text! + (reasoning ?? 0) !== remainder) {\n return reasoning === undefined\n ? {\n status: \"unpriceable\",\n reason: \"missing-usage\",\n missingMeters: [\"tokens.output.reasoning\"],\n }\n : { status: \"unpriceable\", reason: \"inconsistent-usage\" }\n }\n return [\n ...(remainder > 0 && text! > 0\n ? [component(\"tokens.output.text\", text!, rateCard.output, tierTokens)]\n : []),\n ...(remainder > 0 && (reasoning ?? 0) > 0\n ? [component(\"tokens.output.reasoning\", reasoning!, rateCard.output, tierTokens)]\n : []),\n ...media,\n ]\n}\n\ntype PartitionResult =\n | { readonly status: \"rated\"; readonly partitioned: false }\n | {\n readonly status: \"rated\"\n readonly partitioned: true\n readonly uncached: number\n readonly cacheRead?: number\n readonly cacheWrite?: number\n readonly cacheWrite5m?: number\n readonly cacheWrite1h?: number\n }\n | Extract<ModelCallCost, { status: \"unpriceable\" }>\n\nfunction partitionInputUsage(usage: ModelUsage, rateCard: ModelRateCard): PartitionResult {\n const hasSpecificWrites =\n usage.cacheWrite5mInputTokens !== undefined || usage.cacheWrite1hInputTokens !== undefined\n const cacheWriteSpecific =\n (usage.cacheWrite5mInputTokens ?? 0) + (usage.cacheWrite1hInputTokens ?? 0)\n if (\n hasSpecificWrites &&\n usage.cacheWriteInputTokens !== undefined &&\n usage.cacheWriteInputTokens !== cacheWriteSpecific\n ) {\n return { status: \"unpriceable\", reason: \"inconsistent-usage\" }\n }\n\n const partitioned =\n usage.uncachedInputTokens !== undefined ||\n usage.cacheReadInputTokens !== undefined ||\n usage.cacheWriteInputTokens !== undefined ||\n hasSpecificWrites ||\n rateCard.cacheReadInput !== undefined ||\n rateCard.cacheWriteInput !== undefined ||\n rateCard.cacheWriteInput5m !== undefined ||\n rateCard.cacheWriteInput1h !== undefined\n if (!partitioned) return { status: \"rated\", partitioned: false }\n\n const cacheRead = usage.cacheReadInputTokens ?? 0\n const totalWrite = usage.cacheWriteInputTokens ?? cacheWriteSpecific\n if (usage.inputTokens !== undefined && cacheRead + totalWrite > usage.inputTokens) {\n return { status: \"unpriceable\", reason: \"inconsistent-usage\" }\n }\n\n const missing: ModelCostMeter[] = []\n if (usage.uncachedInputTokens === undefined) missing.push(\"tokens.input.uncached\")\n if (rateCard.cacheReadInput !== undefined && usage.cacheReadInputTokens === undefined) {\n missing.push(\"tokens.input.cacheRead\")\n }\n if (\n rateCard.cacheWriteInput !== undefined &&\n rateCard.cacheWriteInput5m === undefined &&\n rateCard.cacheWriteInput1h === undefined &&\n usage.cacheWriteInputTokens === undefined\n ) {\n missing.push(\"tokens.input.cacheWrite\")\n }\n if (rateCard.cacheWriteInput5m !== undefined && usage.cacheWrite5mInputTokens === undefined) {\n missing.push(\"tokens.input.cacheWrite5m\")\n }\n if (rateCard.cacheWriteInput1h !== undefined && usage.cacheWrite1hInputTokens === undefined) {\n missing.push(\"tokens.input.cacheWrite1h\")\n }\n if (missing.length > 0) {\n return { status: \"unpriceable\", reason: \"missing-usage\", missingMeters: missing }\n }\n if (cacheRead > 0 && rateCard.cacheReadInput === undefined) {\n return {\n status: \"unpriceable\",\n reason: \"missing-rate-card\",\n missingMeters: [\"tokens.input.cacheRead\"],\n }\n }\n if (!hasSpecificWrites && totalWrite > 0 && rateCard.cacheWriteInput === undefined) {\n return {\n status: \"unpriceable\",\n reason: \"missing-rate-card\",\n missingMeters: [\"tokens.input.cacheWrite\"],\n }\n }\n if (\n (usage.cacheWrite5mInputTokens ?? 0) > 0 &&\n rateCard.cacheWriteInput5m === undefined &&\n rateCard.cacheWriteInput === undefined\n ) {\n return {\n status: \"unpriceable\",\n reason: \"missing-rate-card\",\n missingMeters: [\"tokens.input.cacheWrite5m\"],\n }\n }\n if (\n (usage.cacheWrite1hInputTokens ?? 0) > 0 &&\n rateCard.cacheWriteInput1h === undefined &&\n rateCard.cacheWriteInput === undefined\n ) {\n return {\n status: \"unpriceable\",\n reason: \"missing-rate-card\",\n missingMeters: [\"tokens.input.cacheWrite1h\"],\n }\n }\n\n const uncached = usage.uncachedInputTokens!\n if (uncached + cacheRead + totalWrite !== usage.inputTokens) {\n return { status: \"unpriceable\", reason: \"inconsistent-usage\" }\n }\n return {\n status: \"rated\",\n partitioned: true,\n uncached,\n ...(rateCard.cacheReadInput === undefined ? {} : { cacheRead }),\n ...(hasSpecificWrites\n ? {\n ...(rateCard.cacheWriteInput5m !== undefined || rateCard.cacheWriteInput !== undefined\n ? { cacheWrite5m: usage.cacheWrite5mInputTokens ?? 0 }\n : {}),\n ...(rateCard.cacheWriteInput1h !== undefined || rateCard.cacheWriteInput !== undefined\n ? { cacheWrite1h: usage.cacheWrite1hInputTokens ?? 0 }\n : {}),\n }\n : rateCard.cacheWriteInput === undefined\n ? {}\n : { cacheWrite: totalWrite }),\n }\n}\n\nfunction validUsageCounters(usage: ModelUsage): boolean {\n return Object.entries(usage)\n .filter(([key]) => key !== \"raw\")\n .every(([, value]) => value === undefined || (Number.isSafeInteger(value) && value >= 0))\n}\n\nfunction component(\n meter: ModelCostMeter,\n quantity: number,\n price: ModelTokenPrice,\n tierTokens: number\n): ModelCostComponent {\n return componentAtRate(meter, quantity, decimalDollarsToNanos(resolvePrice(price, tierTokens)))\n}\n\nfunction componentAtRate(\n meter: ModelCostMeter,\n quantity: number,\n rate: bigint,\n variant?: string\n): ModelCostComponent {\n const charge = (BigInt(quantity) * rate + 500_000n) / 1_000_000n\n return {\n meter,\n quantity: quantity.toString(),\n rateAmountNanosPerMillion: rate.toString(),\n chargeAmountNanos: charge.toString(),\n ...(variant ? { variant } : {}),\n }\n}\n\nfunction resolvePrice(price: ModelTokenPrice, tokens: number): string {\n if (typeof price === \"string\") return price\n return (\n price.tiers.find(\n (tier) =>\n tokens >= tier.minTokens && (tier.maxTokens === undefined || tokens < tier.maxTokens)\n )?.price ?? price.default\n )\n}\n\n/** A decimal price times 10^exponent, rounded half up at the first dropped digit. */\nfunction scaledDecimal(value: string, exponent: number): bigint {\n const [whole = \"0\", fraction = \"\"] = value.split(\".\")\n const kept = fraction.slice(0, exponent).padEnd(exponent, \"0\")\n const roundUp = Number(fraction[exponent] ?? \"0\") >= 5\n return BigInt(whole) * 10n ** BigInt(exponent) + BigInt(kept) + (roundUp ? 1n : 0n)\n}\n\nfunction decimalDollarsToNanos(value: string): bigint {\n const [whole = \"0\", fraction = \"\"] = value.split(\".\")\n const nanos = fraction.slice(0, 9).padEnd(9, \"0\")\n const roundUp = Number(fraction[9] ?? \"0\") >= 5\n return BigInt(whole) * 1_000_000_000n + BigInt(nanos) + (roundUp ? 1n : 0n)\n}\n\nfunction assertAmountNanos(value: string): void {\n if (!/^(?:0|[1-9]\\d*)$/.test(value)) {\n throw new TypeError(\"[Sixb] Provider-reported model cost must use nonnegative amountNanos.\")\n }\n}\n"
19
+ ],
20
+ "mappings": "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",
21
+ "debugId": "E4BBE679612780A264756E2164756E21",
22
+ "names": []
23
+ }
@@ -0,0 +1,176 @@
1
+ // @bun
2
+ import {
3
+ SandboxError2,
4
+ staticSandboxRecipe2,
5
+ captureEnvironment
6
+ } from "./chunk-d2m879s4.js";
7
+
8
+ // src/sandboxes/config.ts
9
+ function sandboxConfig2(options) {
10
+ if (options.auth !== undefined && typeof options.auth?.authorize !== "function") {
11
+ throw new SandboxError2("[Sixb] sandboxes.auth requires an authorize function.");
12
+ }
13
+ const authorize = options.auth?.authorize.bind(options.auth);
14
+ if (options.params !== undefined && options.resolve === undefined) {
15
+ throw new SandboxError2("[Sixb] Sandbox params require a resolve function.");
16
+ }
17
+ if (options.resolve !== undefined && typeof options.resolve !== "function") {
18
+ throw new SandboxError2("[Sixb] Sandbox resolve must be a function.");
19
+ }
20
+ if (options.resolve !== undefined && (options.source !== undefined || options.setup !== undefined)) {
21
+ throw new SandboxError2("[Sixb] Use either static source/setup or resolve, not both.");
22
+ }
23
+ const environment = staticSandboxRecipe2(options);
24
+ return Object.freeze({
25
+ ...authorize ? { auth: Object.freeze({ authorize }) } : {},
26
+ ...environment,
27
+ ...options.params === undefined ? {} : { params: structuredClone(options.params) },
28
+ ...options.resolve === undefined ? {} : { resolve: options.resolve }
29
+ });
30
+ }
31
+ // src/sandboxes/environment.ts
32
+ import { posix } from "path";
33
+ function sandboxCreationEnvironment2(configuration, options) {
34
+ if (options.environment === undefined && configuration.resolve !== undefined) {
35
+ throw new SandboxError2("[Sixb] Dynamic sandbox configuration requires an execution-resolved environment.");
36
+ }
37
+ const environment = captureEnvironment(options.environment !== undefined ? options.environment : {
38
+ ...configuration.source === undefined ? {} : { source: configuration.source },
39
+ ...configuration.setup === undefined ? {} : { setup: configuration.setup }
40
+ });
41
+ if (environment.env !== undefined || environment.network !== undefined) {
42
+ throw new SandboxError2("[Sixb] Pass env and network as sandbox session options, not environment.");
43
+ }
44
+ if (environment.source) {
45
+ if ((configuration.auth !== undefined || environment.source.access === "write") && !options.requestCredentials?.length) {
46
+ throw new SandboxError2("[Sixb] Sandbox source authentication requires execution-prepared request credentials.");
47
+ }
48
+ const network = options.network ?? configuration.network ?? { mode: "none" };
49
+ const origin = new URL(environment.source.url).origin;
50
+ if (network.mode === "none" || network.mode === "restricted" && !network.allow.some((target) => target.origin === origin)) {
51
+ throw new SandboxError2("[Sixb] Sandbox network policy denies the source origin.");
52
+ }
53
+ }
54
+ options.signal?.throwIfAborted();
55
+ return environment;
56
+ }
57
+ function sandboxProjectDirectory2(session, hasSource) {
58
+ if (!hasSource)
59
+ return session;
60
+ const workingDirectory = posix.join(session.workingDirectory, "repository");
61
+ return {
62
+ id: session.id,
63
+ provider: session.provider,
64
+ get status() {
65
+ return session.status;
66
+ },
67
+ workingDirectory,
68
+ ...session.setRequestCredentials ? { setRequestCredentials: session.setRequestCredentials.bind(session) } : {},
69
+ runCommand: (command, args, options) => session.runCommand(command, args, { ...options, cwd: options?.cwd ?? workingDirectory }),
70
+ writeFiles: (files) => session.writeFiles(files.map((file) => ({
71
+ ...file,
72
+ path: posix.isAbsolute(file.path) ? file.path : posix.join(workingDirectory, file.path)
73
+ }))),
74
+ stop: () => session.stop(),
75
+ destroy: () => session.destroy()
76
+ };
77
+ }
78
+ async function initializeSandboxEnvironment2(session, environment, signal) {
79
+ environment = captureEnvironment(environment);
80
+ const run = async (sandbox, command, args) => {
81
+ signal?.throwIfAborted();
82
+ const result = await sandbox.runCommand(command, args, { timeout: 120000, signal });
83
+ if (result.exitCode !== 0 || result.timedOut) {
84
+ throw new SandboxError2("[Sixb] Sandbox environment initialization failed.");
85
+ }
86
+ };
87
+ signal?.throwIfAborted();
88
+ const sandbox = sandboxProjectDirectory2(session, environment.source !== undefined);
89
+ if (environment.source) {
90
+ await run(session, "git", ["clone", "--", environment.source.url, "repository"]);
91
+ if (environment.source.revision) {
92
+ await run(sandbox, "git", ["checkout", environment.source.revision, "--"]);
93
+ }
94
+ }
95
+ for (const command of environment.setup ?? [])
96
+ await run(sandbox, "bash", ["-lc", command]);
97
+ return sandbox;
98
+ }
99
+ // src/sandboxes/exec.ts
100
+ var DEFAULT_KILL_EXIT_CODE = 137;
101
+ async function exec2(options) {
102
+ const start = Date.now();
103
+ const [head, ...rest] = options.argv;
104
+ if (!head) {
105
+ return {
106
+ exitCode: 1,
107
+ stdout: "",
108
+ stderr: "[Sandbox] empty argv",
109
+ durationMs: 0
110
+ };
111
+ }
112
+ let proc;
113
+ try {
114
+ proc = Bun.spawn([head, ...rest], {
115
+ cwd: options.cwd,
116
+ env: options.env,
117
+ stdin: "ignore",
118
+ stdout: "pipe",
119
+ stderr: "pipe"
120
+ });
121
+ } catch (error) {
122
+ return {
123
+ exitCode: 127,
124
+ stdout: "",
125
+ stderr: error instanceof Error ? error.message : String(error),
126
+ durationMs: Date.now() - start
127
+ };
128
+ }
129
+ let timedOut = false;
130
+ let killed = false;
131
+ const timer = options.timeoutMs !== undefined && options.timeoutMs > 0 ? setTimeout(() => {
132
+ timedOut = true;
133
+ killed = true;
134
+ proc.kill("SIGKILL");
135
+ }, options.timeoutMs) : undefined;
136
+ const onAbort = () => {
137
+ if (!killed) {
138
+ killed = true;
139
+ proc.kill("SIGKILL");
140
+ }
141
+ };
142
+ options.signal?.addEventListener("abort", onAbort);
143
+ if (options.signal?.aborted) {
144
+ onAbort();
145
+ }
146
+ let stdout = "";
147
+ let stderr = "";
148
+ let exitCode = 0;
149
+ try {
150
+ const [stdoutText, stderrText, code] = await Promise.all([
151
+ new Response(proc.stdout).text(),
152
+ new Response(proc.stderr).text(),
153
+ proc.exited
154
+ ]);
155
+ stdout = stdoutText;
156
+ stderr = stderrText;
157
+ exitCode = typeof code === "number" ? code : DEFAULT_KILL_EXIT_CODE;
158
+ } finally {
159
+ if (timer !== undefined)
160
+ clearTimeout(timer);
161
+ options.signal?.removeEventListener("abort", onAbort);
162
+ }
163
+ if (killed && exitCode === 0) {
164
+ exitCode = DEFAULT_KILL_EXIT_CODE;
165
+ }
166
+ return {
167
+ exitCode,
168
+ stdout,
169
+ stderr,
170
+ durationMs: Date.now() - start,
171
+ ...timedOut ? { timedOut: true } : {}
172
+ };
173
+ }
174
+ export { sandboxConfig2, sandboxCreationEnvironment2, sandboxProjectDirectory2, initializeSandboxEnvironment2, exec2 };
175
+
176
+ //# debugId=00B8A2DFA48E731B64756E2164756E21
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/sandboxes/config.ts", "../src/sandboxes/environment.ts", "../src/sandboxes/exec.ts"],
4
+ "sourcesContent": [
5
+ "import type { ParamsConfig } from \"../shared/params/types\"\nimport { type SandboxConfig, staticSandboxRecipe } from \"./configuration\"\nimport { SandboxError } from \"./errors\"\n\n/** Extract only the common recipe; provider credentials and infrastructure stay on the factory. */\nexport function sandboxConfig<TParams extends ParamsConfig>(\n options: SandboxConfig<TParams>\n): SandboxConfig<TParams> {\n if (options.auth !== undefined && typeof options.auth?.authorize !== \"function\") {\n throw new SandboxError(\"[Sixb] sandboxes.auth requires an authorize function.\")\n }\n const authorize = options.auth?.authorize.bind(options.auth)\n if (options.params !== undefined && options.resolve === undefined) {\n throw new SandboxError(\"[Sixb] Sandbox params require a resolve function.\")\n }\n if (options.resolve !== undefined && typeof options.resolve !== \"function\") {\n throw new SandboxError(\"[Sixb] Sandbox resolve must be a function.\")\n }\n if (\n options.resolve !== undefined &&\n (options.source !== undefined || options.setup !== undefined)\n ) {\n throw new SandboxError(\"[Sixb] Use either static source/setup or resolve, not both.\")\n }\n const environment = staticSandboxRecipe(options)\n return Object.freeze({\n ...(authorize ? { auth: Object.freeze({ authorize }) } : {}),\n ...environment,\n ...(options.params === undefined ? {} : { params: structuredClone(options.params) }),\n ...(options.resolve === undefined ? {} : { resolve: options.resolve }),\n })\n}\n",
6
+ "import { posix } from \"node:path\"\nimport type { ParamsConfig } from \"../shared/params/types\"\nimport type { SandboxConfig } from \"./configuration\"\nimport { captureEnvironment, type SandboxEnvironment } from \"./configuration\"\nimport { SandboxError } from \"./errors\"\nimport type { CreateSandboxOptions, Sandbox } from \"./sandbox\"\n\n/** Select and validate before provisioning. Only the execution runtime may resolve a recipe. */\nexport function sandboxCreationEnvironment<TParams extends ParamsConfig>(\n configuration: SandboxConfig<TParams>,\n options: CreateSandboxOptions\n): Pick<SandboxEnvironment, \"source\" | \"setup\"> {\n if (options.environment === undefined && configuration.resolve !== undefined) {\n throw new SandboxError(\n \"[Sixb] Dynamic sandbox configuration requires an execution-resolved environment.\"\n )\n }\n const environment = captureEnvironment(\n options.environment !== undefined\n ? options.environment\n : {\n ...(configuration.source === undefined ? {} : { source: configuration.source }),\n ...(configuration.setup === undefined ? {} : { setup: configuration.setup }),\n }\n )\n if (environment.env !== undefined || environment.network !== undefined) {\n throw new SandboxError(\n \"[Sixb] Pass env and network as sandbox session options, not environment.\"\n )\n }\n if (environment.source) {\n if (\n (configuration.auth !== undefined || environment.source.access === \"write\") &&\n !options.requestCredentials?.length\n ) {\n throw new SandboxError(\n \"[Sixb] Sandbox source authentication requires execution-prepared request credentials.\"\n )\n }\n const network = options.network ?? configuration.network ?? { mode: \"none\" }\n const origin = new URL(environment.source.url).origin\n if (\n network.mode === \"none\" ||\n (network.mode === \"restricted\" && !network.allow.some((target) => target.origin === origin))\n ) {\n throw new SandboxError(\"[Sixb] Sandbox network policy denies the source origin.\")\n }\n }\n options.signal?.throwIfAborted()\n return environment\n}\n\n/** Select the same project directory on creation and resume without touching saved files. */\nexport function sandboxProjectDirectory(session: Sandbox, hasSource: boolean): Sandbox {\n if (!hasSource) return session\n const workingDirectory = posix.join(session.workingDirectory, \"repository\")\n return {\n id: session.id,\n provider: session.provider,\n get status() {\n return session.status\n },\n workingDirectory,\n ...(session.setRequestCredentials\n ? { setRequestCredentials: session.setRequestCredentials.bind(session) }\n : {}),\n runCommand: (command, args, options) =>\n session.runCommand(command, args, { ...options, cwd: options?.cwd ?? workingDirectory }),\n writeFiles: (files) =>\n session.writeFiles(\n files.map((file) => ({\n ...file,\n path: posix.isAbsolute(file.path) ? file.path : posix.join(workingDirectory, file.path),\n }))\n ),\n stop: () => session.stop(),\n destroy: () => session.destroy(),\n }\n}\n\n/** Provider-side initialization, after the session network/credentials have been applied.\n * Call only on fresh creation. The caller owns cleanup if any command fails.\n */\nexport async function initializeSandboxEnvironment(\n session: Sandbox,\n environment: Pick<SandboxEnvironment, \"source\" | \"setup\">,\n signal?: AbortSignal\n): Promise<Sandbox> {\n environment = captureEnvironment(environment)\n const run = async (sandbox: Sandbox, command: string, args: readonly string[]) => {\n signal?.throwIfAborted()\n const result = await sandbox.runCommand(command, args, { timeout: 120_000, signal })\n if (result.exitCode !== 0 || result.timedOut) {\n throw new SandboxError(\"[Sixb] Sandbox environment initialization failed.\")\n }\n }\n signal?.throwIfAborted()\n const sandbox = sandboxProjectDirectory(session, environment.source !== undefined)\n if (environment.source) {\n await run(session, \"git\", [\"clone\", \"--\", environment.source.url, \"repository\"])\n if (environment.source.revision) {\n await run(sandbox, \"git\", [\"checkout\", environment.source.revision, \"--\"])\n }\n }\n for (const command of environment.setup ?? []) await run(sandbox, \"bash\", [\"-lc\", command])\n return sandbox\n}\n",
7
+ "import type { CommandResult } from \"./sandbox\"\n\nexport interface ExecOptions {\n readonly argv: readonly string[]\n readonly cwd: string\n readonly env: Readonly<Record<string, string>>\n readonly timeoutMs?: number\n readonly signal?: AbortSignal\n}\n\nconst DEFAULT_KILL_EXIT_CODE = 137\n\n/**\n * Spawn a child process and gather its {@link CommandResult}. Wraps Bun.spawn with timeout and\n * AbortSignal handling, and never throws. Command-agnostic: the wrapper makes no assumptions about\n * what it spawns, so sandbox providers share it. On timeout/abort it SIGKILLs the spawned process;\n * any provider whose spawned process merely fronts a longer-lived resource (e.g. a VM) is\n * responsible for reaping that resource in its own stop()/destroy().\n */\nexport async function exec(options: ExecOptions): Promise<CommandResult> {\n const start = Date.now()\n\n const [head, ...rest] = options.argv\n if (!head) {\n return {\n exitCode: 1,\n stdout: \"\",\n stderr: \"[Sandbox] empty argv\",\n durationMs: 0,\n }\n }\n\n let proc: ReturnType<typeof Bun.spawn>\n try {\n proc = Bun.spawn([head, ...rest], {\n cwd: options.cwd,\n env: options.env,\n stdin: \"ignore\",\n stdout: \"pipe\",\n stderr: \"pipe\",\n })\n } catch (error) {\n return {\n exitCode: 127,\n stdout: \"\",\n stderr: error instanceof Error ? error.message : String(error),\n durationMs: Date.now() - start,\n }\n }\n\n let timedOut = false\n let killed = false\n\n const timer =\n options.timeoutMs !== undefined && options.timeoutMs > 0\n ? setTimeout(() => {\n timedOut = true\n killed = true\n proc.kill(\"SIGKILL\")\n }, options.timeoutMs)\n : undefined\n\n const onAbort = (): void => {\n if (!killed) {\n killed = true\n proc.kill(\"SIGKILL\")\n }\n }\n options.signal?.addEventListener(\"abort\", onAbort)\n if (options.signal?.aborted) {\n onAbort()\n }\n\n let stdout = \"\"\n let stderr = \"\"\n let exitCode = 0\n try {\n const [stdoutText, stderrText, code] = await Promise.all([\n new Response(proc.stdout as ReadableStream<Uint8Array>).text(),\n new Response(proc.stderr as ReadableStream<Uint8Array>).text(),\n proc.exited,\n ])\n stdout = stdoutText\n stderr = stderrText\n exitCode = typeof code === \"number\" ? code : DEFAULT_KILL_EXIT_CODE\n } finally {\n if (timer !== undefined) clearTimeout(timer)\n options.signal?.removeEventListener(\"abort\", onAbort)\n }\n\n if (killed && exitCode === 0) {\n exitCode = DEFAULT_KILL_EXIT_CODE\n }\n\n return {\n exitCode,\n stdout,\n stderr,\n durationMs: Date.now() - start,\n ...(timedOut ? { timedOut: true } : {}),\n }\n}\n"
8
+ ],
9
+ "mappings": "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",
10
+ "debugId": "00B8A2DFA48E731B64756E2164756E21",
11
+ "names": []
12
+ }
@@ -12,6 +12,11 @@ var GRANT_KINDS = {
12
12
  subject: "dataset",
13
13
  fix: "Add it to 'datasets/' or pass it to createSixb({ datasets })."
14
14
  },
15
+ "view:users": {
16
+ singleton: true,
17
+ subject: "member directory",
18
+ fix: "Use can.view(project.users)."
19
+ },
15
20
  "edit:object": {
16
21
  universeKey: "objectTypeIds",
17
22
  subject: "object type",
@@ -52,16 +57,31 @@ var GRANT_KINDS = {
52
57
  subject: "agent",
53
58
  fix: "Configure models.language and use the exported agent reference in can.run(agent)."
54
59
  },
60
+ "run:models": {
61
+ singleton: true,
62
+ subject: "models",
63
+ fix: "Use can.run(project.models)."
64
+ },
55
65
  "observe:logs": {
56
66
  singleton: true,
57
67
  subject: "logs",
58
- fix: 'Use can.observe("logs").'
68
+ fix: "Use can.observe(project.logs)."
59
69
  },
60
70
  "observe:aiUsage": {
61
71
  singleton: true,
62
72
  subject: "AI usage",
63
73
  fix: "Use can.observe(agent.usage)."
64
74
  },
75
+ "observe:activity": {
76
+ singleton: true,
77
+ subject: "activity",
78
+ fix: "Use can.observe(project.activity)."
79
+ },
80
+ "observe:agentThreads": {
81
+ singleton: true,
82
+ subject: "Agent conversations",
83
+ fix: "Use can.observe(agent.threads)."
84
+ },
65
85
  "manage:connector": {
66
86
  universeKey: "connectorIds",
67
87
  subject: "connector",
@@ -71,6 +91,11 @@ var GRANT_KINDS = {
71
91
  singleton: true,
72
92
  subject: "AI usage",
73
93
  fix: "Use can.manage(agent.usage)."
94
+ },
95
+ "manage:agentMemory": {
96
+ singleton: true,
97
+ subject: "Agent memory",
98
+ fix: "Use can.manage(agent.memory)."
74
99
  }
75
100
  };
76
101
  var GRANT_KIND_KEYS = Object.keys(GRANT_KINDS);
@@ -103,6 +128,7 @@ function emptyGrantSets() {
103
128
  return {
104
129
  "view:object": new Set,
105
130
  "view:dataset": new Set,
131
+ "view:users": false,
106
132
  "edit:object": new Set,
107
133
  "append:telemetry": new Set,
108
134
  "apply:action": new Set,
@@ -111,13 +137,17 @@ function emptyGrantSets() {
111
137
  "run:sync": new Set,
112
138
  "run:pipeline": new Set,
113
139
  "run:agent": false,
140
+ "run:models": false,
114
141
  "observe:logs": false,
115
142
  "observe:aiUsage": false,
143
+ "observe:activity": false,
144
+ "observe:agentThreads": false,
116
145
  "manage:connector": new Set,
117
- "manage:aiUsage": false
146
+ "manage:aiUsage": false,
147
+ "manage:agentMemory": false
118
148
  };
119
149
  }
120
150
 
121
151
  export { GRANT_KINDS, SINGLETON_GRANT_KIND_KEYS, TARGETED_GRANT_KIND_KEYS, isSingletonGrantKind, grantKindOf, emptyGrantSets };
122
152
 
123
- //# debugId=1C6F3FFB2BACAB1F64756E2164756E21
153
+ //# debugId=CB47ABDA70CECF1A64756E2164756E21