@nodetool-ai/agents 0.7.0-rc.23 → 0.8.2

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 (1645) hide show
  1. package/README.md +35 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/analysis/audio-dsp.d.ts +224 -0
  4. package/dist/analysis/audio-dsp.d.ts.map +1 -0
  5. package/dist/analysis/audio-dsp.js +645 -0
  6. package/dist/analysis/audio-dsp.js.map +1 -0
  7. package/dist/analysis/media-decode.d.ts +98 -0
  8. package/dist/analysis/media-decode.d.ts.map +1 -0
  9. package/dist/analysis/media-decode.js +226 -0
  10. package/dist/analysis/media-decode.js.map +1 -0
  11. package/dist/analysis/mediabunny-runtime.d.ts +15 -0
  12. package/dist/analysis/mediabunny-runtime.d.ts.map +1 -0
  13. package/dist/analysis/mediabunny-runtime.js +30 -0
  14. package/dist/analysis/mediabunny-runtime.js.map +1 -0
  15. package/dist/analysis/video-frames.d.ts +120 -0
  16. package/dist/analysis/video-frames.d.ts.map +1 -0
  17. package/dist/analysis/video-frames.js +288 -0
  18. package/dist/analysis/video-frames.js.map +1 -0
  19. package/dist/apify/assets.d.ts +80 -0
  20. package/dist/apify/assets.d.ts.map +1 -0
  21. package/dist/apify/assets.js +192 -0
  22. package/dist/apify/assets.js.map +1 -0
  23. package/dist/apify/catalog.d.ts +44 -0
  24. package/dist/apify/catalog.d.ts.map +1 -0
  25. package/dist/apify/catalog.js +108 -0
  26. package/dist/apify/catalog.js.map +1 -0
  27. package/dist/apify/client.d.ts +137 -0
  28. package/dist/apify/client.d.ts.map +1 -0
  29. package/dist/apify/client.js +346 -0
  30. package/dist/apify/client.js.map +1 -0
  31. package/dist/apify/errors.d.ts +85 -0
  32. package/dist/apify/errors.d.ts.map +1 -0
  33. package/dist/apify/errors.js +90 -0
  34. package/dist/apify/errors.js.map +1 -0
  35. package/dist/apify/normalize.d.ts +131 -0
  36. package/dist/apify/normalize.d.ts.map +1 -0
  37. package/dist/apify/normalize.js +202 -0
  38. package/dist/apify/normalize.js.map +1 -0
  39. package/dist/apify/policy.d.ts +136 -0
  40. package/dist/apify/policy.d.ts.map +1 -0
  41. package/dist/apify/policy.js +223 -0
  42. package/dist/apify/policy.js.map +1 -0
  43. package/dist/apify/run.d.ts +86 -0
  44. package/dist/apify/run.d.ts.map +1 -0
  45. package/dist/apify/run.js +158 -0
  46. package/dist/apify/run.js.map +1 -0
  47. package/dist/app-build/author.d.ts +67 -0
  48. package/dist/app-build/author.d.ts.map +1 -0
  49. package/dist/app-build/author.js +231 -0
  50. package/dist/app-build/author.js.map +1 -0
  51. package/dist/app-build/bridge.d.ts +130 -0
  52. package/dist/app-build/bridge.d.ts.map +1 -0
  53. package/dist/app-build/bridge.js +647 -0
  54. package/dist/app-build/bridge.js.map +1 -0
  55. package/dist/app-build/build-service.d.ts +66 -0
  56. package/dist/app-build/build-service.d.ts.map +1 -0
  57. package/dist/app-build/build-service.js +249 -0
  58. package/dist/app-build/build-service.js.map +1 -0
  59. package/dist/app-build/build.d.ts +115 -0
  60. package/dist/app-build/build.d.ts.map +1 -0
  61. package/dist/app-build/build.js +901 -0
  62. package/dist/app-build/build.js.map +1 -0
  63. package/dist/app-build/interactions.d.ts +20 -0
  64. package/dist/app-build/interactions.d.ts.map +1 -0
  65. package/dist/app-build/interactions.js +121 -0
  66. package/dist/app-build/interactions.js.map +1 -0
  67. package/dist/app-build/judge.d.ts +113 -0
  68. package/dist/app-build/judge.d.ts.map +1 -0
  69. package/dist/app-build/judge.js +318 -0
  70. package/dist/app-build/judge.js.map +1 -0
  71. package/dist/app-build/markdown.d.ts +10 -0
  72. package/dist/app-build/markdown.d.ts.map +1 -0
  73. package/dist/app-build/markdown.js +65 -0
  74. package/dist/app-build/markdown.js.map +1 -0
  75. package/dist/app-build/spec.d.ts +228 -0
  76. package/dist/app-build/spec.d.ts.map +1 -0
  77. package/dist/app-build/spec.js +651 -0
  78. package/dist/app-build/spec.js.map +1 -0
  79. package/dist/app-build/tool-loop.d.ts +84 -0
  80. package/dist/app-build/tool-loop.d.ts.map +1 -0
  81. package/dist/app-build/tool-loop.js +113 -0
  82. package/dist/app-build/tool-loop.js.map +1 -0
  83. package/dist/app-build/types.d.ts +215 -0
  84. package/dist/app-build/types.d.ts.map +1 -0
  85. package/dist/app-build/types.js +28 -0
  86. package/dist/app-build/types.js.map +1 -0
  87. package/dist/author-graph.d.ts +90 -0
  88. package/dist/author-graph.d.ts.map +1 -0
  89. package/dist/author-graph.js +317 -0
  90. package/dist/author-graph.js.map +1 -0
  91. package/dist/background-subtasks.d.ts +79 -0
  92. package/dist/background-subtasks.d.ts.map +1 -0
  93. package/dist/background-subtasks.js +139 -0
  94. package/dist/background-subtasks.js.map +1 -0
  95. package/dist/blender-gate.d.ts +21 -0
  96. package/dist/blender-gate.d.ts.map +1 -0
  97. package/dist/blender-gate.js +27 -0
  98. package/dist/blender-gate.js.map +1 -0
  99. package/dist/browser-gate.d.ts +28 -0
  100. package/dist/browser-gate.d.ts.map +1 -0
  101. package/dist/browser-gate.js +34 -0
  102. package/dist/browser-gate.js.map +1 -0
  103. package/dist/capabilities/GamePublishRequest.d.ts +14 -0
  104. package/dist/capabilities/GamePublishRequest.d.ts.map +1 -0
  105. package/dist/capabilities/GamePublishRequest.js +2 -0
  106. package/dist/capabilities/GamePublishRequest.js.map +1 -0
  107. package/dist/capabilities/adapters.d.ts +27 -0
  108. package/dist/capabilities/adapters.d.ts.map +1 -0
  109. package/dist/capabilities/adapters.js +39 -0
  110. package/dist/capabilities/adapters.js.map +1 -0
  111. package/dist/capabilities/agent-activity.d.ts +27 -0
  112. package/dist/capabilities/agent-activity.d.ts.map +1 -0
  113. package/dist/capabilities/agent-activity.js +103 -0
  114. package/dist/capabilities/agent-activity.js.map +1 -0
  115. package/dist/capabilities/agentic-storyboard-finish.d.ts +67 -0
  116. package/dist/capabilities/agentic-storyboard-finish.d.ts.map +1 -0
  117. package/dist/capabilities/agentic-storyboard-finish.js +1321 -0
  118. package/dist/capabilities/agentic-storyboard-finish.js.map +1 -0
  119. package/dist/capabilities/agents.d.ts +81 -0
  120. package/dist/capabilities/agents.d.ts.map +1 -0
  121. package/dist/capabilities/agents.js +376 -0
  122. package/dist/capabilities/agents.js.map +1 -0
  123. package/dist/capabilities/agents.specs.d.ts +30 -0
  124. package/dist/capabilities/agents.specs.d.ts.map +1 -0
  125. package/dist/capabilities/agents.specs.js +313 -0
  126. package/dist/capabilities/agents.specs.js.map +1 -0
  127. package/dist/capabilities/analysis.d.ts +93 -0
  128. package/dist/capabilities/analysis.d.ts.map +1 -0
  129. package/dist/capabilities/analysis.js +823 -0
  130. package/dist/capabilities/analysis.js.map +1 -0
  131. package/dist/capabilities/analysis.specs.d.ts +39 -0
  132. package/dist/capabilities/analysis.specs.d.ts.map +1 -0
  133. package/dist/capabilities/analysis.specs.js +217 -0
  134. package/dist/capabilities/analysis.specs.js.map +1 -0
  135. package/dist/capabilities/apify.d.ts +34 -0
  136. package/dist/capabilities/apify.d.ts.map +1 -0
  137. package/dist/capabilities/apify.js +449 -0
  138. package/dist/capabilities/apify.js.map +1 -0
  139. package/dist/capabilities/apify.specs.d.ts +28 -0
  140. package/dist/capabilities/apify.specs.d.ts.map +1 -0
  141. package/dist/capabilities/apify.specs.js +232 -0
  142. package/dist/capabilities/apify.specs.js.map +1 -0
  143. package/dist/capabilities/apps.d.ts +40 -0
  144. package/dist/capabilities/apps.d.ts.map +1 -0
  145. package/dist/capabilities/apps.js +415 -0
  146. package/dist/capabilities/apps.js.map +1 -0
  147. package/dist/capabilities/apps.specs.d.ts +23 -0
  148. package/dist/capabilities/apps.specs.d.ts.map +1 -0
  149. package/dist/capabilities/apps.specs.js +236 -0
  150. package/dist/capabilities/apps.specs.js.map +1 -0
  151. package/dist/capabilities/args.d.ts +62 -0
  152. package/dist/capabilities/args.d.ts.map +1 -0
  153. package/dist/capabilities/args.js +215 -0
  154. package/dist/capabilities/args.js.map +1 -0
  155. package/dist/capabilities/assets.d.ts +45 -0
  156. package/dist/capabilities/assets.d.ts.map +1 -0
  157. package/dist/capabilities/assets.js +952 -0
  158. package/dist/capabilities/assets.js.map +1 -0
  159. package/dist/capabilities/assets.specs.d.ts +54 -0
  160. package/dist/capabilities/assets.specs.d.ts.map +1 -0
  161. package/dist/capabilities/assets.specs.js +291 -0
  162. package/dist/capabilities/assets.specs.js.map +1 -0
  163. package/dist/capabilities/background-generation.d.ts +14 -0
  164. package/dist/capabilities/background-generation.d.ts.map +1 -0
  165. package/dist/capabilities/background-generation.js +29 -0
  166. package/dist/capabilities/background-generation.js.map +1 -0
  167. package/dist/capabilities/browser.d.ts +30 -0
  168. package/dist/capabilities/browser.d.ts.map +1 -0
  169. package/dist/capabilities/browser.js +250 -0
  170. package/dist/capabilities/browser.js.map +1 -0
  171. package/dist/capabilities/browser.specs.d.ts +37 -0
  172. package/dist/capabilities/browser.specs.d.ts.map +1 -0
  173. package/dist/capabilities/browser.specs.js +173 -0
  174. package/dist/capabilities/browser.specs.js.map +1 -0
  175. package/dist/capabilities/code-grading.d.ts +68 -0
  176. package/dist/capabilities/code-grading.d.ts.map +1 -0
  177. package/dist/capabilities/code-grading.js +75 -0
  178. package/dist/capabilities/code-grading.js.map +1 -0
  179. package/dist/capabilities/code.d.ts +61 -0
  180. package/dist/capabilities/code.d.ts.map +1 -0
  181. package/dist/capabilities/code.js +366 -0
  182. package/dist/capabilities/code.js.map +1 -0
  183. package/dist/capabilities/code.specs.d.ts +22 -0
  184. package/dist/capabilities/code.specs.d.ts.map +1 -0
  185. package/dist/capabilities/code.specs.js +175 -0
  186. package/dist/capabilities/code.specs.js.map +1 -0
  187. package/dist/capabilities/collections.d.ts +44 -0
  188. package/dist/capabilities/collections.d.ts.map +1 -0
  189. package/dist/capabilities/collections.js +432 -0
  190. package/dist/capabilities/collections.js.map +1 -0
  191. package/dist/capabilities/collections.specs.d.ts +25 -0
  192. package/dist/capabilities/collections.specs.d.ts.map +1 -0
  193. package/dist/capabilities/collections.specs.js +299 -0
  194. package/dist/capabilities/collections.specs.js.map +1 -0
  195. package/dist/capabilities/compositions.d.ts +57 -0
  196. package/dist/capabilities/compositions.d.ts.map +1 -0
  197. package/dist/capabilities/compositions.js +384 -0
  198. package/dist/capabilities/compositions.js.map +1 -0
  199. package/dist/capabilities/compositions.specs.d.ts +22 -0
  200. package/dist/capabilities/compositions.specs.d.ts.map +1 -0
  201. package/dist/capabilities/compositions.specs.js +126 -0
  202. package/dist/capabilities/compositions.specs.js.map +1 -0
  203. package/dist/capabilities/concurrency.d.ts +12 -0
  204. package/dist/capabilities/concurrency.d.ts.map +1 -0
  205. package/dist/capabilities/concurrency.js +30 -0
  206. package/dist/capabilities/concurrency.js.map +1 -0
  207. package/dist/capabilities/costs.d.ts +20 -0
  208. package/dist/capabilities/costs.d.ts.map +1 -0
  209. package/dist/capabilities/costs.js +40 -0
  210. package/dist/capabilities/costs.js.map +1 -0
  211. package/dist/capabilities/costs.specs.d.ts +12 -0
  212. package/dist/capabilities/costs.specs.d.ts.map +1 -0
  213. package/dist/capabilities/costs.specs.js +35 -0
  214. package/dist/capabilities/costs.specs.js.map +1 -0
  215. package/dist/capabilities/dispatcher.d.ts +57 -0
  216. package/dist/capabilities/dispatcher.d.ts.map +1 -0
  217. package/dist/capabilities/dispatcher.js +117 -0
  218. package/dist/capabilities/dispatcher.js.map +1 -0
  219. package/dist/capabilities/documents.d.ts +25 -0
  220. package/dist/capabilities/documents.d.ts.map +1 -0
  221. package/dist/capabilities/documents.js +278 -0
  222. package/dist/capabilities/documents.js.map +1 -0
  223. package/dist/capabilities/documents.specs.d.ts +18 -0
  224. package/dist/capabilities/documents.specs.d.ts.map +1 -0
  225. package/dist/capabilities/documents.specs.js +201 -0
  226. package/dist/capabilities/documents.specs.js.map +1 -0
  227. package/dist/capabilities/email.d.ts +23 -0
  228. package/dist/capabilities/email.d.ts.map +1 -0
  229. package/dist/capabilities/email.js +226 -0
  230. package/dist/capabilities/email.js.map +1 -0
  231. package/dist/capabilities/email.specs.d.ts +16 -0
  232. package/dist/capabilities/email.specs.d.ts.map +1 -0
  233. package/dist/capabilities/email.specs.js +102 -0
  234. package/dist/capabilities/email.specs.js.map +1 -0
  235. package/dist/capabilities/entities.d.ts +52 -0
  236. package/dist/capabilities/entities.d.ts.map +1 -0
  237. package/dist/capabilities/entities.js +478 -0
  238. package/dist/capabilities/entities.js.map +1 -0
  239. package/dist/capabilities/entities.specs.d.ts +25 -0
  240. package/dist/capabilities/entities.specs.d.ts.map +1 -0
  241. package/dist/capabilities/entities.specs.js +247 -0
  242. package/dist/capabilities/entities.specs.js.map +1 -0
  243. package/dist/capabilities/errors.d.ts +19 -0
  244. package/dist/capabilities/errors.d.ts.map +1 -0
  245. package/dist/capabilities/errors.js +109 -0
  246. package/dist/capabilities/errors.js.map +1 -0
  247. package/dist/capabilities/errors.specs.d.ts +11 -0
  248. package/dist/capabilities/errors.specs.d.ts.map +1 -0
  249. package/dist/capabilities/errors.specs.js +100 -0
  250. package/dist/capabilities/errors.specs.js.map +1 -0
  251. package/dist/capabilities/example-timelines.d.ts +3 -0
  252. package/dist/capabilities/example-timelines.d.ts.map +1 -0
  253. package/dist/capabilities/example-timelines.js +233 -0
  254. package/dist/capabilities/example-timelines.js.map +1 -0
  255. package/dist/capabilities/example-timelines.specs.d.ts +6 -0
  256. package/dist/capabilities/example-timelines.specs.d.ts.map +1 -0
  257. package/dist/capabilities/example-timelines.specs.js +71 -0
  258. package/dist/capabilities/example-timelines.specs.js.map +1 -0
  259. package/dist/capabilities/files.d.ts +53 -0
  260. package/dist/capabilities/files.d.ts.map +1 -0
  261. package/dist/capabilities/files.js +1172 -0
  262. package/dist/capabilities/files.js.map +1 -0
  263. package/dist/capabilities/files.specs.d.ts +28 -0
  264. package/dist/capabilities/files.specs.d.ts.map +1 -0
  265. package/dist/capabilities/files.specs.js +259 -0
  266. package/dist/capabilities/files.specs.js.map +1 -0
  267. package/dist/capabilities/finish-storyboard.d.ts +5 -0
  268. package/dist/capabilities/finish-storyboard.d.ts.map +1 -0
  269. package/dist/capabilities/finish-storyboard.js +278 -0
  270. package/dist/capabilities/finish-storyboard.js.map +1 -0
  271. package/dist/capabilities/flow.d.ts +93 -0
  272. package/dist/capabilities/flow.d.ts.map +1 -0
  273. package/dist/capabilities/flow.js +285 -0
  274. package/dist/capabilities/flow.js.map +1 -0
  275. package/dist/capabilities/flow.specs.d.ts +25 -0
  276. package/dist/capabilities/flow.specs.d.ts.map +1 -0
  277. package/dist/capabilities/flow.specs.js +114 -0
  278. package/dist/capabilities/flow.specs.js.map +1 -0
  279. package/dist/capabilities/game-asset-source.d.ts +31 -0
  280. package/dist/capabilities/game-asset-source.d.ts.map +1 -0
  281. package/dist/capabilities/game-asset-source.js +81 -0
  282. package/dist/capabilities/game-asset-source.js.map +1 -0
  283. package/dist/capabilities/game.d.ts +24 -0
  284. package/dist/capabilities/game.d.ts.map +1 -0
  285. package/dist/capabilities/game.js +1432 -0
  286. package/dist/capabilities/game.js.map +1 -0
  287. package/dist/capabilities/game.specs.d.ts +5 -0
  288. package/dist/capabilities/game.specs.d.ts.map +1 -0
  289. package/dist/capabilities/game.specs.js +110 -0
  290. package/dist/capabilities/game.specs.js.map +1 -0
  291. package/dist/capabilities/game3d.d.ts +17 -0
  292. package/dist/capabilities/game3d.d.ts.map +1 -0
  293. package/dist/capabilities/game3d.js +433 -0
  294. package/dist/capabilities/game3d.js.map +1 -0
  295. package/dist/capabilities/gate-from-context.d.ts +39 -0
  296. package/dist/capabilities/gate-from-context.d.ts.map +1 -0
  297. package/dist/capabilities/gate-from-context.js +97 -0
  298. package/dist/capabilities/gate-from-context.js.map +1 -0
  299. package/dist/capabilities/generations.d.ts +81 -0
  300. package/dist/capabilities/generations.d.ts.map +1 -0
  301. package/dist/capabilities/generations.js +387 -0
  302. package/dist/capabilities/generations.js.map +1 -0
  303. package/dist/capabilities/generations.specs.d.ts +62 -0
  304. package/dist/capabilities/generations.specs.d.ts.map +1 -0
  305. package/dist/capabilities/generations.specs.js +230 -0
  306. package/dist/capabilities/generations.specs.js.map +1 -0
  307. package/dist/capabilities/google.d.ts +50 -0
  308. package/dist/capabilities/google.d.ts.map +1 -0
  309. package/dist/capabilities/google.js +246 -0
  310. package/dist/capabilities/google.js.map +1 -0
  311. package/dist/capabilities/google.specs.d.ts +52 -0
  312. package/dist/capabilities/google.specs.d.ts.map +1 -0
  313. package/dist/capabilities/google.specs.js +391 -0
  314. package/dist/capabilities/google.specs.js.map +1 -0
  315. package/dist/capabilities/html-text.d.ts +28 -0
  316. package/dist/capabilities/html-text.d.ts.map +1 -0
  317. package/dist/capabilities/html-text.js +76 -0
  318. package/dist/capabilities/html-text.js.map +1 -0
  319. package/dist/capabilities/index.d.ts +19 -0
  320. package/dist/capabilities/index.d.ts.map +1 -0
  321. package/dist/capabilities/index.js +14 -0
  322. package/dist/capabilities/index.js.map +1 -0
  323. package/dist/capabilities/invoke.d.ts +78 -0
  324. package/dist/capabilities/invoke.d.ts.map +1 -0
  325. package/dist/capabilities/invoke.js +251 -0
  326. package/dist/capabilities/invoke.js.map +1 -0
  327. package/dist/capabilities/jobs.d.ts +32 -0
  328. package/dist/capabilities/jobs.d.ts.map +1 -0
  329. package/dist/capabilities/jobs.js +167 -0
  330. package/dist/capabilities/jobs.js.map +1 -0
  331. package/dist/capabilities/jobs.specs.d.ts +20 -0
  332. package/dist/capabilities/jobs.specs.d.ts.map +1 -0
  333. package/dist/capabilities/jobs.specs.js +105 -0
  334. package/dist/capabilities/jobs.specs.js.map +1 -0
  335. package/dist/capabilities/js-scripts.d.ts +108 -0
  336. package/dist/capabilities/js-scripts.d.ts.map +1 -0
  337. package/dist/capabilities/js-scripts.js +807 -0
  338. package/dist/capabilities/js-scripts.js.map +1 -0
  339. package/dist/capabilities/js-scripts.specs.d.ts +52 -0
  340. package/dist/capabilities/js-scripts.specs.d.ts.map +1 -0
  341. package/dist/capabilities/js-scripts.specs.js +394 -0
  342. package/dist/capabilities/js-scripts.specs.js.map +1 -0
  343. package/dist/capabilities/lazy-tool.d.ts +41 -0
  344. package/dist/capabilities/lazy-tool.d.ts.map +1 -0
  345. package/dist/capabilities/lazy-tool.js +82 -0
  346. package/dist/capabilities/lazy-tool.js.map +1 -0
  347. package/dist/capabilities/legacy-tools.d.ts +15 -0
  348. package/dist/capabilities/legacy-tools.d.ts.map +1 -0
  349. package/dist/capabilities/legacy-tools.js +98 -0
  350. package/dist/capabilities/legacy-tools.js.map +1 -0
  351. package/dist/capabilities/local-browser.d.ts +24 -0
  352. package/dist/capabilities/local-browser.d.ts.map +1 -0
  353. package/dist/capabilities/local-browser.js +105 -0
  354. package/dist/capabilities/local-browser.js.map +1 -0
  355. package/dist/capabilities/media.d.ts +112 -0
  356. package/dist/capabilities/media.d.ts.map +1 -0
  357. package/dist/capabilities/media.js +2258 -0
  358. package/dist/capabilities/media.js.map +1 -0
  359. package/dist/capabilities/media.specs.d.ts +65 -0
  360. package/dist/capabilities/media.specs.d.ts.map +1 -0
  361. package/dist/capabilities/media.specs.js +779 -0
  362. package/dist/capabilities/media.specs.js.map +1 -0
  363. package/dist/capabilities/memory.d.ts +31 -0
  364. package/dist/capabilities/memory.d.ts.map +1 -0
  365. package/dist/capabilities/memory.js +403 -0
  366. package/dist/capabilities/memory.js.map +1 -0
  367. package/dist/capabilities/memory.specs.d.ts +55 -0
  368. package/dist/capabilities/memory.specs.d.ts.map +1 -0
  369. package/dist/capabilities/memory.specs.js +208 -0
  370. package/dist/capabilities/memory.specs.js.map +1 -0
  371. package/dist/capabilities/model3d.d.ts +29 -0
  372. package/dist/capabilities/model3d.d.ts.map +1 -0
  373. package/dist/capabilities/model3d.js +482 -0
  374. package/dist/capabilities/model3d.js.map +1 -0
  375. package/dist/capabilities/model3d.specs.d.ts +28 -0
  376. package/dist/capabilities/model3d.specs.d.ts.map +1 -0
  377. package/dist/capabilities/model3d.specs.js +305 -0
  378. package/dist/capabilities/model3d.specs.js.map +1 -0
  379. package/dist/capabilities/models.d.ts +138 -0
  380. package/dist/capabilities/models.d.ts.map +1 -0
  381. package/dist/capabilities/models.js +805 -0
  382. package/dist/capabilities/models.js.map +1 -0
  383. package/dist/capabilities/models.specs.d.ts +21 -0
  384. package/dist/capabilities/models.specs.d.ts.map +1 -0
  385. package/dist/capabilities/models.specs.js +141 -0
  386. package/dist/capabilities/models.specs.js.map +1 -0
  387. package/dist/capabilities/nodes.d.ts +26 -0
  388. package/dist/capabilities/nodes.d.ts.map +1 -0
  389. package/dist/capabilities/nodes.js +266 -0
  390. package/dist/capabilities/nodes.js.map +1 -0
  391. package/dist/capabilities/nodes.specs.d.ts +20 -0
  392. package/dist/capabilities/nodes.specs.d.ts.map +1 -0
  393. package/dist/capabilities/nodes.specs.js +106 -0
  394. package/dist/capabilities/nodes.specs.js.map +1 -0
  395. package/dist/capabilities/packs.d.ts +69 -0
  396. package/dist/capabilities/packs.d.ts.map +1 -0
  397. package/dist/capabilities/packs.js +246 -0
  398. package/dist/capabilities/packs.js.map +1 -0
  399. package/dist/capabilities/packs.specs.d.ts +27 -0
  400. package/dist/capabilities/packs.specs.d.ts.map +1 -0
  401. package/dist/capabilities/packs.specs.js +64 -0
  402. package/dist/capabilities/packs.specs.js.map +1 -0
  403. package/dist/capabilities/project-scope.d.ts +12 -0
  404. package/dist/capabilities/project-scope.d.ts.map +1 -0
  405. package/dist/capabilities/project-scope.js +19 -0
  406. package/dist/capabilities/project-scope.js.map +1 -0
  407. package/dist/capabilities/projects.d.ts +23 -0
  408. package/dist/capabilities/projects.d.ts.map +1 -0
  409. package/dist/capabilities/projects.js +206 -0
  410. package/dist/capabilities/projects.js.map +1 -0
  411. package/dist/capabilities/projects.specs.d.ts +23 -0
  412. package/dist/capabilities/projects.specs.d.ts.map +1 -0
  413. package/dist/capabilities/projects.specs.js +118 -0
  414. package/dist/capabilities/projects.specs.js.map +1 -0
  415. package/dist/capabilities/registry.d.ts +111 -0
  416. package/dist/capabilities/registry.d.ts.map +1 -0
  417. package/dist/capabilities/registry.js +473 -0
  418. package/dist/capabilities/registry.js.map +1 -0
  419. package/dist/capabilities/run-agent.d.ts +19 -0
  420. package/dist/capabilities/run-agent.d.ts.map +1 -0
  421. package/dist/capabilities/run-agent.js +183 -0
  422. package/dist/capabilities/run-agent.js.map +1 -0
  423. package/dist/capabilities/runs.d.ts +9 -0
  424. package/dist/capabilities/runs.d.ts.map +1 -0
  425. package/dist/capabilities/runs.js +46 -0
  426. package/dist/capabilities/runs.js.map +1 -0
  427. package/dist/capabilities/runs.specs.d.ts +39 -0
  428. package/dist/capabilities/runs.specs.d.ts.map +1 -0
  429. package/dist/capabilities/runs.specs.js +52 -0
  430. package/dist/capabilities/runs.specs.js.map +1 -0
  431. package/dist/capabilities/script-link.d.ts +22 -0
  432. package/dist/capabilities/script-link.d.ts.map +1 -0
  433. package/dist/capabilities/script-link.js +35 -0
  434. package/dist/capabilities/script-link.js.map +1 -0
  435. package/dist/capabilities/scripts.d.ts +43 -0
  436. package/dist/capabilities/scripts.d.ts.map +1 -0
  437. package/dist/capabilities/scripts.js +1795 -0
  438. package/dist/capabilities/scripts.js.map +1 -0
  439. package/dist/capabilities/scripts.specs.d.ts +40 -0
  440. package/dist/capabilities/scripts.specs.d.ts.map +1 -0
  441. package/dist/capabilities/scripts.specs.js +319 -0
  442. package/dist/capabilities/scripts.specs.js.map +1 -0
  443. package/dist/capabilities/serpapi.d.ts +42 -0
  444. package/dist/capabilities/serpapi.d.ts.map +1 -0
  445. package/dist/capabilities/serpapi.js +262 -0
  446. package/dist/capabilities/serpapi.js.map +1 -0
  447. package/dist/capabilities/serpapi.specs.d.ts +24 -0
  448. package/dist/capabilities/serpapi.specs.d.ts.map +1 -0
  449. package/dist/capabilities/serpapi.specs.js +174 -0
  450. package/dist/capabilities/serpapi.specs.js.map +1 -0
  451. package/dist/capabilities/settings.d.ts +48 -0
  452. package/dist/capabilities/settings.d.ts.map +1 -0
  453. package/dist/capabilities/settings.js +226 -0
  454. package/dist/capabilities/settings.js.map +1 -0
  455. package/dist/capabilities/settings.specs.d.ts +42 -0
  456. package/dist/capabilities/settings.specs.d.ts.map +1 -0
  457. package/dist/capabilities/settings.specs.js +126 -0
  458. package/dist/capabilities/settings.specs.js.map +1 -0
  459. package/dist/capabilities/shared.d.ts +35 -0
  460. package/dist/capabilities/shared.d.ts.map +1 -0
  461. package/dist/capabilities/shared.js +165 -0
  462. package/dist/capabilities/shared.js.map +1 -0
  463. package/dist/capabilities/shared.specs.d.ts +19 -0
  464. package/dist/capabilities/shared.specs.d.ts.map +1 -0
  465. package/dist/capabilities/shared.specs.js +134 -0
  466. package/dist/capabilities/shared.specs.js.map +1 -0
  467. package/dist/capabilities/sketches.d.ts +52 -0
  468. package/dist/capabilities/sketches.d.ts.map +1 -0
  469. package/dist/capabilities/sketches.js +1165 -0
  470. package/dist/capabilities/sketches.js.map +1 -0
  471. package/dist/capabilities/sketches.specs.d.ts +44 -0
  472. package/dist/capabilities/sketches.specs.d.ts.map +1 -0
  473. package/dist/capabilities/sketches.specs.js +392 -0
  474. package/dist/capabilities/sketches.specs.js.map +1 -0
  475. package/dist/capabilities/skills.d.ts +28 -0
  476. package/dist/capabilities/skills.d.ts.map +1 -0
  477. package/dist/capabilities/skills.js +289 -0
  478. package/dist/capabilities/skills.js.map +1 -0
  479. package/dist/capabilities/skills.specs.d.ts +17 -0
  480. package/dist/capabilities/skills.specs.d.ts.map +1 -0
  481. package/dist/capabilities/skills.specs.js +108 -0
  482. package/dist/capabilities/skills.specs.js.map +1 -0
  483. package/dist/capabilities/storyboard-layout-check.d.ts +33 -0
  484. package/dist/capabilities/storyboard-layout-check.d.ts.map +1 -0
  485. package/dist/capabilities/storyboard-layout-check.js +229 -0
  486. package/dist/capabilities/storyboard-layout-check.js.map +1 -0
  487. package/dist/capabilities/storyboard-measured-sources.d.ts +10 -0
  488. package/dist/capabilities/storyboard-measured-sources.d.ts.map +1 -0
  489. package/dist/capabilities/storyboard-measured-sources.js +67 -0
  490. package/dist/capabilities/storyboard-measured-sources.js.map +1 -0
  491. package/dist/capabilities/storyboard-review-times.d.ts +4 -0
  492. package/dist/capabilities/storyboard-review-times.d.ts.map +1 -0
  493. package/dist/capabilities/storyboard-review-times.js +39 -0
  494. package/dist/capabilities/storyboard-review-times.js.map +1 -0
  495. package/dist/capabilities/storyboards.d.ts +52 -0
  496. package/dist/capabilities/storyboards.d.ts.map +1 -0
  497. package/dist/capabilities/storyboards.js +2467 -0
  498. package/dist/capabilities/storyboards.js.map +1 -0
  499. package/dist/capabilities/storyboards.specs.d.ts +45 -0
  500. package/dist/capabilities/storyboards.specs.d.ts.map +1 -0
  501. package/dist/capabilities/storyboards.specs.js +457 -0
  502. package/dist/capabilities/storyboards.specs.js.map +1 -0
  503. package/dist/capabilities/threads.d.ts +25 -0
  504. package/dist/capabilities/threads.d.ts.map +1 -0
  505. package/dist/capabilities/threads.js +240 -0
  506. package/dist/capabilities/threads.js.map +1 -0
  507. package/dist/capabilities/threads.specs.d.ts +26 -0
  508. package/dist/capabilities/threads.specs.d.ts.map +1 -0
  509. package/dist/capabilities/threads.specs.js +108 -0
  510. package/dist/capabilities/threads.specs.js.map +1 -0
  511. package/dist/capabilities/timeline-audio-bake.d.ts +114 -0
  512. package/dist/capabilities/timeline-audio-bake.d.ts.map +1 -0
  513. package/dist/capabilities/timeline-audio-bake.js +188 -0
  514. package/dist/capabilities/timeline-audio-bake.js.map +1 -0
  515. package/dist/capabilities/timeline-bake.d.ts +21 -0
  516. package/dist/capabilities/timeline-bake.d.ts.map +1 -0
  517. package/dist/capabilities/timeline-bake.js +118 -0
  518. package/dist/capabilities/timeline-bake.js.map +1 -0
  519. package/dist/capabilities/timeline-bridge.d.ts +359 -0
  520. package/dist/capabilities/timeline-bridge.d.ts.map +1 -0
  521. package/dist/capabilities/timeline-bridge.js +1016 -0
  522. package/dist/capabilities/timeline-bridge.js.map +1 -0
  523. package/dist/capabilities/timeline-clip-frames.d.ts +17 -0
  524. package/dist/capabilities/timeline-clip-frames.d.ts.map +1 -0
  525. package/dist/capabilities/timeline-clip-frames.js +84 -0
  526. package/dist/capabilities/timeline-clip-frames.js.map +1 -0
  527. package/dist/capabilities/timeline-isolate-subject.d.ts +157 -0
  528. package/dist/capabilities/timeline-isolate-subject.d.ts.map +1 -0
  529. package/dist/capabilities/timeline-isolate-subject.js +293 -0
  530. package/dist/capabilities/timeline-isolate-subject.js.map +1 -0
  531. package/dist/capabilities/timeline-media-edit.d.ts +8 -0
  532. package/dist/capabilities/timeline-media-edit.d.ts.map +1 -0
  533. package/dist/capabilities/timeline-media-edit.js +94 -0
  534. package/dist/capabilities/timeline-media-edit.js.map +1 -0
  535. package/dist/capabilities/timeline-native-media.d.ts +4 -0
  536. package/dist/capabilities/timeline-native-media.d.ts.map +1 -0
  537. package/dist/capabilities/timeline-native-media.js +960 -0
  538. package/dist/capabilities/timeline-native-media.js.map +1 -0
  539. package/dist/capabilities/timeline-track-object.d.ts +83 -0
  540. package/dist/capabilities/timeline-track-object.d.ts.map +1 -0
  541. package/dist/capabilities/timeline-track-object.js +195 -0
  542. package/dist/capabilities/timeline-track-object.js.map +1 -0
  543. package/dist/capabilities/timelines.d.ts +250 -0
  544. package/dist/capabilities/timelines.d.ts.map +1 -0
  545. package/dist/capabilities/timelines.js +2825 -0
  546. package/dist/capabilities/timelines.js.map +1 -0
  547. package/dist/capabilities/timelines.specs.d.ts +142 -0
  548. package/dist/capabilities/timelines.specs.d.ts.map +1 -0
  549. package/dist/capabilities/timelines.specs.js +1527 -0
  550. package/dist/capabilities/timelines.specs.js.map +1 -0
  551. package/dist/capabilities/types.d.ts +199 -0
  552. package/dist/capabilities/types.d.ts.map +1 -0
  553. package/dist/capabilities/types.js +19 -0
  554. package/dist/capabilities/types.js.map +1 -0
  555. package/dist/capabilities/ui.d.ts +38 -0
  556. package/dist/capabilities/ui.d.ts.map +1 -0
  557. package/dist/capabilities/ui.js +150 -0
  558. package/dist/capabilities/ui.js.map +1 -0
  559. package/dist/capabilities/ui.specs.d.ts +22 -0
  560. package/dist/capabilities/ui.specs.d.ts.map +1 -0
  561. package/dist/capabilities/ui.specs.js +59 -0
  562. package/dist/capabilities/ui.specs.js.map +1 -0
  563. package/dist/capabilities/video-production-acceptance.d.ts +27 -0
  564. package/dist/capabilities/video-production-acceptance.d.ts.map +1 -0
  565. package/dist/capabilities/video-production-acceptance.js +41 -0
  566. package/dist/capabilities/video-production-acceptance.js.map +1 -0
  567. package/dist/capabilities/video-production.d.ts +179 -0
  568. package/dist/capabilities/video-production.d.ts.map +1 -0
  569. package/dist/capabilities/video-production.js +1492 -0
  570. package/dist/capabilities/video-production.js.map +1 -0
  571. package/dist/capabilities/video-production.specs.d.ts +13 -0
  572. package/dist/capabilities/video-production.specs.d.ts.map +1 -0
  573. package/dist/capabilities/video-production.specs.js +256 -0
  574. package/dist/capabilities/video-production.specs.js.map +1 -0
  575. package/dist/capabilities/web.d.ts +86 -0
  576. package/dist/capabilities/web.d.ts.map +1 -0
  577. package/dist/capabilities/web.js +850 -0
  578. package/dist/capabilities/web.js.map +1 -0
  579. package/dist/capabilities/web.specs.d.ts +33 -0
  580. package/dist/capabilities/web.specs.d.ts.map +1 -0
  581. package/dist/capabilities/web.specs.js +286 -0
  582. package/dist/capabilities/web.specs.js.map +1 -0
  583. package/dist/capabilities/workflows.d.ts +58 -0
  584. package/dist/capabilities/workflows.d.ts.map +1 -0
  585. package/dist/capabilities/workflows.js +1557 -0
  586. package/dist/capabilities/workflows.js.map +1 -0
  587. package/dist/capabilities/workflows.specs.d.ts +63 -0
  588. package/dist/capabilities/workflows.specs.d.ts.map +1 -0
  589. package/dist/capabilities/workflows.specs.js +858 -0
  590. package/dist/capabilities/workflows.specs.js.map +1 -0
  591. package/dist/code-gen/analyze.d.ts +26 -0
  592. package/dist/code-gen/analyze.d.ts.map +1 -0
  593. package/dist/code-gen/analyze.js +79 -0
  594. package/dist/code-gen/analyze.js.map +1 -0
  595. package/dist/code-gen/port-types.d.ts +58 -0
  596. package/dist/code-gen/port-types.d.ts.map +1 -0
  597. package/dist/code-gen/port-types.js +115 -0
  598. package/dist/code-gen/port-types.js.map +1 -0
  599. package/dist/code-gen/prompt.d.ts +37 -0
  600. package/dist/code-gen/prompt.d.ts.map +1 -0
  601. package/dist/code-gen/prompt.js +129 -0
  602. package/dist/code-gen/prompt.js.map +1 -0
  603. package/dist/code-gen/sandbox-manifest.d.ts +120 -0
  604. package/dist/code-gen/sandbox-manifest.d.ts.map +1 -0
  605. package/dist/code-gen/sandbox-manifest.js +1023 -0
  606. package/dist/code-gen/sandbox-manifest.js.map +1 -0
  607. package/dist/code-gen/sandbox-prompt.d.ts +26 -0
  608. package/dist/code-gen/sandbox-prompt.d.ts.map +1 -0
  609. package/dist/code-gen/sandbox-prompt.js +126 -0
  610. package/dist/code-gen/sandbox-prompt.js.map +1 -0
  611. package/dist/code-planner.d.ts +72 -0
  612. package/dist/code-planner.d.ts.map +1 -0
  613. package/dist/code-planner.js +271 -0
  614. package/dist/code-planner.js.map +1 -0
  615. package/dist/codeact/action-diagnostics.d.ts +35 -0
  616. package/dist/codeact/action-diagnostics.d.ts.map +1 -0
  617. package/dist/codeact/action-diagnostics.js +197 -0
  618. package/dist/codeact/action-diagnostics.js.map +1 -0
  619. package/dist/codeact/capability-modules.d.ts +66 -0
  620. package/dist/codeact/capability-modules.d.ts.map +1 -0
  621. package/dist/codeact/capability-modules.js +278 -0
  622. package/dist/codeact/capability-modules.js.map +1 -0
  623. package/dist/codeact/chat-codeact.d.ts +104 -0
  624. package/dist/codeact/chat-codeact.d.ts.map +1 -0
  625. package/dist/codeact/chat-codeact.js +424 -0
  626. package/dist/codeact/chat-codeact.js.map +1 -0
  627. package/dist/codeact/codeact-executor.d.ts +247 -0
  628. package/dist/codeact/codeact-executor.d.ts.map +1 -0
  629. package/dist/codeact/codeact-executor.js +1184 -0
  630. package/dist/codeact/codeact-executor.js.map +1 -0
  631. package/dist/codeact/compact-ids.d.ts +28 -0
  632. package/dist/codeact/compact-ids.d.ts.map +1 -0
  633. package/dist/codeact/compact-ids.js +81 -0
  634. package/dist/codeact/compact-ids.js.map +1 -0
  635. package/dist/codeact/execute-code-contract.d.ts +97 -0
  636. package/dist/codeact/execute-code-contract.d.ts.map +1 -0
  637. package/dist/codeact/execute-code-contract.js +225 -0
  638. package/dist/codeact/execute-code-contract.js.map +1 -0
  639. package/dist/codeact/fabric-package.d.ts +29 -0
  640. package/dist/codeact/fabric-package.d.ts.map +1 -0
  641. package/dist/codeact/fabric-package.js +62 -0
  642. package/dist/codeact/fabric-package.js.map +1 -0
  643. package/dist/codeact/flow-package.d.ts +31 -0
  644. package/dist/codeact/flow-package.d.ts.map +1 -0
  645. package/dist/codeact/flow-package.js +80 -0
  646. package/dist/codeact/flow-package.js.map +1 -0
  647. package/dist/codeact/graph-dsl-package.d.ts +42 -0
  648. package/dist/codeact/graph-dsl-package.d.ts.map +1 -0
  649. package/dist/codeact/graph-dsl-package.js +100 -0
  650. package/dist/codeact/graph-dsl-package.js.map +1 -0
  651. package/dist/codeact/graph-model.d.ts +30 -0
  652. package/dist/codeact/graph-model.d.ts.map +1 -0
  653. package/dist/codeact/graph-model.js +407 -0
  654. package/dist/codeact/graph-model.js.map +1 -0
  655. package/dist/codeact/mcp-guest-contract.d.ts +66 -0
  656. package/dist/codeact/mcp-guest-contract.d.ts.map +1 -0
  657. package/dist/codeact/mcp-guest-contract.js +108 -0
  658. package/dist/codeact/mcp-guest-contract.js.map +1 -0
  659. package/dist/codeact/nodetool-api.d.ts +60 -0
  660. package/dist/codeact/nodetool-api.d.ts.map +1 -0
  661. package/dist/codeact/nodetool-api.js +1974 -0
  662. package/dist/codeact/nodetool-api.js.map +1 -0
  663. package/dist/codeact/prompt.d.ts +88 -0
  664. package/dist/codeact/prompt.d.ts.map +1 -0
  665. package/dist/codeact/prompt.js +326 -0
  666. package/dist/codeact/prompt.js.map +1 -0
  667. package/dist/codeact/sandbox-package-docs.d.ts +48 -0
  668. package/dist/codeact/sandbox-package-docs.d.ts.map +1 -0
  669. package/dist/codeact/sandbox-package-docs.js +55 -0
  670. package/dist/codeact/sandbox-package-docs.js.map +1 -0
  671. package/dist/codeact/sandbox-package-listing.d.ts +81 -0
  672. package/dist/codeact/sandbox-package-listing.d.ts.map +1 -0
  673. package/dist/codeact/sandbox-package-listing.js +101 -0
  674. package/dist/codeact/sandbox-package-listing.js.map +1 -0
  675. package/dist/codeact/sandbox-packages.d.ts +72 -0
  676. package/dist/codeact/sandbox-packages.d.ts.map +1 -0
  677. package/dist/codeact/sandbox-packages.js +230 -0
  678. package/dist/codeact/sandbox-packages.js.map +1 -0
  679. package/dist/codeact/timeline-package.d.ts +5 -0
  680. package/dist/codeact/timeline-package.d.ts.map +1 -0
  681. package/dist/codeact/timeline-package.js +10 -0
  682. package/dist/codeact/timeline-package.js.map +1 -0
  683. package/dist/codeact/tool-api.d.ts +200 -0
  684. package/dist/codeact/tool-api.d.ts.map +1 -0
  685. package/dist/codeact/tool-api.js +452 -0
  686. package/dist/codeact/tool-api.js.map +1 -0
  687. package/dist/codeact/tools-prelude.d.ts +32 -0
  688. package/dist/codeact/tools-prelude.d.ts.map +1 -0
  689. package/dist/codeact/tools-prelude.js +65 -0
  690. package/dist/codeact/tools-prelude.js.map +1 -0
  691. package/dist/constants.d.ts +47 -2
  692. package/dist/constants.d.ts.map +1 -1
  693. package/dist/constants.js +64 -2
  694. package/dist/constants.js.map +1 -1
  695. package/dist/custom-animation-bake.d.ts +57 -0
  696. package/dist/custom-animation-bake.d.ts.map +1 -0
  697. package/dist/custom-animation-bake.js +88 -0
  698. package/dist/custom-animation-bake.js.map +1 -0
  699. package/dist/dynamic-slots.d.ts +72 -0
  700. package/dist/dynamic-slots.d.ts.map +1 -0
  701. package/dist/dynamic-slots.js +0 -0
  702. package/dist/dynamic-slots.js.map +1 -0
  703. package/dist/evals/app-build-cases.d.ts +35 -0
  704. package/dist/evals/app-build-cases.d.ts.map +1 -0
  705. package/dist/evals/app-build-cases.js +722 -0
  706. package/dist/evals/app-build-cases.js.map +1 -0
  707. package/dist/evals/app-build-eval.d.ts +208 -0
  708. package/dist/evals/app-build-eval.d.ts.map +1 -0
  709. package/dist/evals/app-build-eval.js +518 -0
  710. package/dist/evals/app-build-eval.js.map +1 -0
  711. package/dist/evals/app-build-plan.d.ts +76 -0
  712. package/dist/evals/app-build-plan.d.ts.map +1 -0
  713. package/dist/evals/app-build-plan.js +140 -0
  714. package/dist/evals/app-build-plan.js.map +1 -0
  715. package/dist/evals/code-gen-cases.d.ts +13 -0
  716. package/dist/evals/code-gen-cases.d.ts.map +1 -0
  717. package/dist/evals/code-gen-cases.js +124 -0
  718. package/dist/evals/code-gen-cases.js.map +1 -0
  719. package/dist/evals/code-gen-eval.d.ts +109 -0
  720. package/dist/evals/code-gen-eval.d.ts.map +1 -0
  721. package/dist/evals/code-gen-eval.js +299 -0
  722. package/dist/evals/code-gen-eval.js.map +1 -0
  723. package/dist/evals/codeact-api-cases.d.ts +14 -0
  724. package/dist/evals/codeact-api-cases.d.ts.map +1 -0
  725. package/dist/evals/codeact-api-cases.js +31 -0
  726. package/dist/evals/codeact-api-cases.js.map +1 -0
  727. package/dist/evals/codeact-api-core.d.ts +23 -0
  728. package/dist/evals/codeact-api-core.d.ts.map +1 -0
  729. package/dist/evals/codeact-api-core.js +1411 -0
  730. package/dist/evals/codeact-api-core.js.map +1 -0
  731. package/dist/evals/codeact-api-runs.d.ts +3 -0
  732. package/dist/evals/codeact-api-runs.d.ts.map +1 -0
  733. package/dist/evals/codeact-api-runs.js +33 -0
  734. package/dist/evals/codeact-api-runs.js.map +1 -0
  735. package/dist/evals/codeact-api-surfaces.d.ts +25 -0
  736. package/dist/evals/codeact-api-surfaces.d.ts.map +1 -0
  737. package/dist/evals/codeact-api-surfaces.js +2191 -0
  738. package/dist/evals/codeact-api-surfaces.js.map +1 -0
  739. package/dist/evals/codeact-cases.d.ts +76 -0
  740. package/dist/evals/codeact-cases.d.ts.map +1 -0
  741. package/dist/evals/codeact-cases.js +151 -0
  742. package/dist/evals/codeact-cases.js.map +1 -0
  743. package/dist/evals/codeact-eval.d.ts +66 -0
  744. package/dist/evals/codeact-eval.d.ts.map +1 -0
  745. package/dist/evals/codeact-eval.js +250 -0
  746. package/dist/evals/codeact-eval.js.map +1 -0
  747. package/dist/evals/codeact-sandbox-pack-cases.d.ts +31 -0
  748. package/dist/evals/codeact-sandbox-pack-cases.d.ts.map +1 -0
  749. package/dist/evals/codeact-sandbox-pack-cases.js +219 -0
  750. package/dist/evals/codeact-sandbox-pack-cases.js.map +1 -0
  751. package/dist/evals/escalation-cases.d.ts +22 -0
  752. package/dist/evals/escalation-cases.d.ts.map +1 -0
  753. package/dist/evals/escalation-cases.js +343 -0
  754. package/dist/evals/escalation-cases.js.map +1 -0
  755. package/dist/evals/escalation.d.ts +92 -0
  756. package/dist/evals/escalation.d.ts.map +1 -0
  757. package/dist/evals/escalation.js +152 -0
  758. package/dist/evals/escalation.js.map +1 -0
  759. package/dist/evals/goal-judge.d.ts +51 -0
  760. package/dist/evals/goal-judge.d.ts.map +1 -0
  761. package/dist/evals/goal-judge.js +152 -0
  762. package/dist/evals/goal-judge.js.map +1 -0
  763. package/dist/evals/graph-e2e-cases.d.ts +21 -0
  764. package/dist/evals/graph-e2e-cases.d.ts.map +1 -0
  765. package/dist/evals/graph-e2e-cases.js +262 -0
  766. package/dist/evals/graph-e2e-cases.js.map +1 -0
  767. package/dist/evals/graph-e2e-eval.d.ts +202 -0
  768. package/dist/evals/graph-e2e-eval.d.ts.map +1 -0
  769. package/dist/evals/graph-e2e-eval.js +438 -0
  770. package/dist/evals/graph-e2e-eval.js.map +1 -0
  771. package/dist/evals/graph-planner-cases.d.ts +12 -0
  772. package/dist/evals/graph-planner-cases.d.ts.map +1 -0
  773. package/dist/evals/graph-planner-cases.js +256 -0
  774. package/dist/evals/graph-planner-cases.js.map +1 -0
  775. package/dist/evals/graph-planner-eval.d.ts +178 -0
  776. package/dist/evals/graph-planner-eval.d.ts.map +1 -0
  777. package/dist/evals/graph-planner-eval.js +495 -0
  778. package/dist/evals/graph-planner-eval.js.map +1 -0
  779. package/dist/evals/planner-tools.d.ts +21 -0
  780. package/dist/evals/planner-tools.d.ts.map +1 -0
  781. package/dist/evals/planner-tools.js +66 -0
  782. package/dist/evals/planner-tools.js.map +1 -0
  783. package/dist/evals/subtask-cases.d.ts +88 -0
  784. package/dist/evals/subtask-cases.d.ts.map +1 -0
  785. package/dist/evals/subtask-cases.js +322 -0
  786. package/dist/evals/subtask-cases.js.map +1 -0
  787. package/dist/evals/subtask-eval.d.ts +129 -0
  788. package/dist/evals/subtask-eval.d.ts.map +1 -0
  789. package/dist/evals/subtask-eval.js +397 -0
  790. package/dist/evals/subtask-eval.js.map +1 -0
  791. package/dist/evals/surfaces/app.d.ts +19 -0
  792. package/dist/evals/surfaces/app.d.ts.map +1 -0
  793. package/dist/evals/surfaces/app.js +341 -0
  794. package/dist/evals/surfaces/app.js.map +1 -0
  795. package/dist/evals/surfaces/creative-pipeline.d.ts +203 -0
  796. package/dist/evals/surfaces/creative-pipeline.d.ts.map +1 -0
  797. package/dist/evals/surfaces/creative-pipeline.js +909 -0
  798. package/dist/evals/surfaces/creative-pipeline.js.map +1 -0
  799. package/dist/evals/surfaces/game.d.ts +5 -0
  800. package/dist/evals/surfaces/game.d.ts.map +1 -0
  801. package/dist/evals/surfaces/game.js +42 -0
  802. package/dist/evals/surfaces/game.js.map +1 -0
  803. package/dist/evals/surfaces/js-script.d.ts +66 -0
  804. package/dist/evals/surfaces/js-script.d.ts.map +1 -0
  805. package/dist/evals/surfaces/js-script.js +407 -0
  806. package/dist/evals/surfaces/js-script.js.map +1 -0
  807. package/dist/evals/surfaces/memory.d.ts +34 -0
  808. package/dist/evals/surfaces/memory.d.ts.map +1 -0
  809. package/dist/evals/surfaces/memory.js +264 -0
  810. package/dist/evals/surfaces/memory.js.map +1 -0
  811. package/dist/evals/surfaces/model3d.d.ts +45 -0
  812. package/dist/evals/surfaces/model3d.d.ts.map +1 -0
  813. package/dist/evals/surfaces/model3d.js +346 -0
  814. package/dist/evals/surfaces/model3d.js.map +1 -0
  815. package/dist/evals/surfaces/script.d.ts +96 -0
  816. package/dist/evals/surfaces/script.d.ts.map +1 -0
  817. package/dist/evals/surfaces/script.js +709 -0
  818. package/dist/evals/surfaces/script.js.map +1 -0
  819. package/dist/evals/surfaces/sketch.d.ts +126 -0
  820. package/dist/evals/surfaces/sketch.d.ts.map +1 -0
  821. package/dist/evals/surfaces/sketch.js +1306 -0
  822. package/dist/evals/surfaces/sketch.js.map +1 -0
  823. package/dist/evals/surfaces/storyboard.d.ts +97 -0
  824. package/dist/evals/surfaces/storyboard.d.ts.map +1 -0
  825. package/dist/evals/surfaces/storyboard.js +693 -0
  826. package/dist/evals/surfaces/storyboard.js.map +1 -0
  827. package/dist/evals/surfaces/timeline.d.ts +63 -0
  828. package/dist/evals/surfaces/timeline.d.ts.map +1 -0
  829. package/dist/evals/surfaces/timeline.js +655 -0
  830. package/dist/evals/surfaces/timeline.js.map +1 -0
  831. package/dist/evals/task-planner-cases.d.ts +57 -0
  832. package/dist/evals/task-planner-cases.d.ts.map +1 -0
  833. package/dist/evals/task-planner-cases.js +117 -0
  834. package/dist/evals/task-planner-cases.js.map +1 -0
  835. package/dist/evals/task-planner-eval.d.ts +101 -0
  836. package/dist/evals/task-planner-eval.d.ts.map +1 -0
  837. package/dist/evals/task-planner-eval.js +380 -0
  838. package/dist/evals/task-planner-eval.js.map +1 -0
  839. package/dist/evals/tool-loop-bridge.d.ts +61 -0
  840. package/dist/evals/tool-loop-bridge.d.ts.map +1 -0
  841. package/dist/evals/tool-loop-bridge.js +129 -0
  842. package/dist/evals/tool-loop-bridge.js.map +1 -0
  843. package/dist/evals/tool-loop-cases.d.ts +21 -0
  844. package/dist/evals/tool-loop-cases.d.ts.map +1 -0
  845. package/dist/evals/tool-loop-cases.js +401 -0
  846. package/dist/evals/tool-loop-cases.js.map +1 -0
  847. package/dist/evals/tool-loop-eval.d.ts +236 -0
  848. package/dist/evals/tool-loop-eval.d.ts.map +1 -0
  849. package/dist/evals/tool-loop-eval.js +378 -0
  850. package/dist/evals/tool-loop-eval.js.map +1 -0
  851. package/dist/evals/tool-loop-permission.d.ts +29 -0
  852. package/dist/evals/tool-loop-permission.d.ts.map +1 -0
  853. package/dist/evals/tool-loop-permission.js +58 -0
  854. package/dist/evals/tool-loop-permission.js.map +1 -0
  855. package/dist/game-authoring.d.ts +4737 -0
  856. package/dist/game-authoring.d.ts.map +1 -0
  857. package/dist/game-authoring.js +146 -0
  858. package/dist/game-authoring.js.map +1 -0
  859. package/dist/game-code-bake.d.ts +26 -0
  860. package/dist/game-code-bake.d.ts.map +1 -0
  861. package/dist/game-code-bake.js +98 -0
  862. package/dist/game-code-bake.js.map +1 -0
  863. package/dist/game-examples.d.ts +1303 -0
  864. package/dist/game-examples.d.ts.map +1 -0
  865. package/dist/game-examples.js +188 -0
  866. package/dist/game-examples.js.map +1 -0
  867. package/dist/graph-builder.d.ts +55 -3
  868. package/dist/graph-builder.d.ts.map +1 -1
  869. package/dist/graph-builder.js +159 -4
  870. package/dist/graph-builder.js.map +1 -1
  871. package/dist/graph-dsl-core.d.ts +25 -0
  872. package/dist/graph-dsl-core.d.ts.map +1 -0
  873. package/dist/graph-dsl-core.js +312 -0
  874. package/dist/graph-dsl-core.js.map +1 -0
  875. package/dist/graph-dsl.d.ts +30 -0
  876. package/dist/graph-dsl.d.ts.map +1 -0
  877. package/dist/graph-dsl.js +116 -0
  878. package/dist/graph-dsl.js.map +1 -0
  879. package/dist/host-binaries.d.ts +6 -0
  880. package/dist/host-binaries.d.ts.map +1 -0
  881. package/dist/host-binaries.js +6 -0
  882. package/dist/host-binaries.js.map +1 -0
  883. package/dist/host-binary-guard.d.ts +100 -0
  884. package/dist/host-binary-guard.d.ts.map +1 -0
  885. package/dist/host-binary-guard.js +205 -0
  886. package/dist/host-binary-guard.js.map +1 -0
  887. package/dist/host-modules/aws.d.ts +57 -0
  888. package/dist/host-modules/aws.d.ts.map +1 -0
  889. package/dist/host-modules/aws.js +309 -0
  890. package/dist/host-modules/aws.js.map +1 -0
  891. package/dist/host-modules/chrono.d.ts +15 -0
  892. package/dist/host-modules/chrono.d.ts.map +1 -0
  893. package/dist/host-modules/chrono.js +35 -0
  894. package/dist/host-modules/chrono.js.map +1 -0
  895. package/dist/host-modules/csv.d.ts +17 -0
  896. package/dist/host-modules/csv.d.ts.map +1 -0
  897. package/dist/host-modules/csv.js +64 -0
  898. package/dist/host-modules/csv.js.map +1 -0
  899. package/dist/host-modules/diff.d.ts +9 -0
  900. package/dist/host-modules/diff.d.ts.map +1 -0
  901. package/dist/host-modules/diff.js +26 -0
  902. package/dist/host-modules/diff.js.map +1 -0
  903. package/dist/host-modules/dispatcher.d.ts +41 -0
  904. package/dist/host-modules/dispatcher.d.ts.map +1 -0
  905. package/dist/host-modules/dispatcher.js +99 -0
  906. package/dist/host-modules/dispatcher.js.map +1 -0
  907. package/dist/host-modules/docx.d.ts +19 -0
  908. package/dist/host-modules/docx.d.ts.map +1 -0
  909. package/dist/host-modules/docx.js +120 -0
  910. package/dist/host-modules/docx.js.map +1 -0
  911. package/dist/host-modules/epub.d.ts +48 -0
  912. package/dist/host-modules/epub.d.ts.map +1 -0
  913. package/dist/host-modules/epub.js +100 -0
  914. package/dist/host-modules/epub.js.map +1 -0
  915. package/dist/host-modules/exif.d.ts +8 -0
  916. package/dist/host-modules/exif.d.ts.map +1 -0
  917. package/dist/host-modules/exif.js +19 -0
  918. package/dist/host-modules/exif.js.map +1 -0
  919. package/dist/host-modules/expr.d.ts +16 -0
  920. package/dist/host-modules/expr.d.ts.map +1 -0
  921. package/dist/host-modules/expr.js +18 -0
  922. package/dist/host-modules/expr.js.map +1 -0
  923. package/dist/host-modules/fabric.d.ts +46 -0
  924. package/dist/host-modules/fabric.d.ts.map +1 -0
  925. package/dist/host-modules/fabric.js +178 -0
  926. package/dist/host-modules/fabric.js.map +1 -0
  927. package/dist/host-modules/html.d.ts +51 -0
  928. package/dist/host-modules/html.d.ts.map +1 -0
  929. package/dist/host-modules/html.js +198 -0
  930. package/dist/host-modules/html.js.map +1 -0
  931. package/dist/host-modules/ics.d.ts +9 -0
  932. package/dist/host-modules/ics.d.ts.map +1 -0
  933. package/dist/host-modules/ics.js +35 -0
  934. package/dist/host-modules/ics.js.map +1 -0
  935. package/dist/host-modules/limits.d.ts +41 -0
  936. package/dist/host-modules/limits.d.ts.map +1 -0
  937. package/dist/host-modules/limits.js +76 -0
  938. package/dist/host-modules/limits.js.map +1 -0
  939. package/dist/host-modules/mammoth.d.ts +11 -0
  940. package/dist/host-modules/mammoth.d.ts.map +1 -0
  941. package/dist/host-modules/mammoth.js +29 -0
  942. package/dist/host-modules/mammoth.js.map +1 -0
  943. package/dist/host-modules/notion.d.ts +45 -0
  944. package/dist/host-modules/notion.d.ts.map +1 -0
  945. package/dist/host-modules/notion.js +128 -0
  946. package/dist/host-modules/notion.js.map +1 -0
  947. package/dist/host-modules/ocr.d.ts +25 -0
  948. package/dist/host-modules/ocr.d.ts.map +1 -0
  949. package/dist/host-modules/ocr.js +74 -0
  950. package/dist/host-modules/ocr.js.map +1 -0
  951. package/dist/host-modules/pdf.d.ts +21 -0
  952. package/dist/host-modules/pdf.d.ts.map +1 -0
  953. package/dist/host-modules/pdf.js +53 -0
  954. package/dist/host-modules/pdf.js.map +1 -0
  955. package/dist/host-modules/pdflib.d.ts +17 -0
  956. package/dist/host-modules/pdflib.d.ts.map +1 -0
  957. package/dist/host-modules/pdflib.js +138 -0
  958. package/dist/host-modules/pdflib.js.map +1 -0
  959. package/dist/host-modules/pptx.d.ts +19 -0
  960. package/dist/host-modules/pptx.d.ts.map +1 -0
  961. package/dist/host-modules/pptx.js +67 -0
  962. package/dist/host-modules/pptx.js.map +1 -0
  963. package/dist/host-modules/pptxgen.d.ts +13 -0
  964. package/dist/host-modules/pptxgen.d.ts.map +1 -0
  965. package/dist/host-modules/pptxgen.js +98 -0
  966. package/dist/host-modules/pptxgen.js.map +1 -0
  967. package/dist/host-modules/prepared-request.d.ts +41 -0
  968. package/dist/host-modules/prepared-request.d.ts.map +1 -0
  969. package/dist/host-modules/prepared-request.js +104 -0
  970. package/dist/host-modules/prepared-request.js.map +1 -0
  971. package/dist/host-modules/registry.d.ts +31 -0
  972. package/dist/host-modules/registry.d.ts.map +1 -0
  973. package/dist/host-modules/registry.js +193 -0
  974. package/dist/host-modules/registry.js.map +1 -0
  975. package/dist/host-modules/subtitle.d.ts +15 -0
  976. package/dist/host-modules/subtitle.d.ts.map +1 -0
  977. package/dist/host-modules/subtitle.js +45 -0
  978. package/dist/host-modules/subtitle.js.map +1 -0
  979. package/dist/host-modules/supabase.d.ts +42 -0
  980. package/dist/host-modules/supabase.d.ts.map +1 -0
  981. package/dist/host-modules/supabase.js +141 -0
  982. package/dist/host-modules/supabase.js.map +1 -0
  983. package/dist/host-modules/tfjs.d.ts +42 -0
  984. package/dist/host-modules/tfjs.d.ts.map +1 -0
  985. package/dist/host-modules/tfjs.js +186 -0
  986. package/dist/host-modules/tfjs.js.map +1 -0
  987. package/dist/host-modules/tokens.d.ts +17 -0
  988. package/dist/host-modules/tokens.d.ts.map +1 -0
  989. package/dist/host-modules/tokens.js +74 -0
  990. package/dist/host-modules/tokens.js.map +1 -0
  991. package/dist/host-modules/twilio.d.ts +34 -0
  992. package/dist/host-modules/twilio.d.ts.map +1 -0
  993. package/dist/host-modules/twilio.js +67 -0
  994. package/dist/host-modules/twilio.js.map +1 -0
  995. package/dist/host-modules/xlsx.d.ts +26 -0
  996. package/dist/host-modules/xlsx.d.ts.map +1 -0
  997. package/dist/host-modules/xlsx.js +323 -0
  998. package/dist/host-modules/xlsx.js.map +1 -0
  999. package/dist/host-modules/xml.d.ts +23 -0
  1000. package/dist/host-modules/xml.d.ts.map +1 -0
  1001. package/dist/host-modules/xml.js +38 -0
  1002. package/dist/host-modules/xml.js.map +1 -0
  1003. package/dist/host-modules/zip.d.ts +24 -0
  1004. package/dist/host-modules/zip.d.ts.map +1 -0
  1005. package/dist/host-modules/zip.js +70 -0
  1006. package/dist/host-modules/zip.js.map +1 -0
  1007. package/dist/index.d.ts +208 -60
  1008. package/dist/index.d.ts.map +1 -1
  1009. package/dist/index.js +163 -60
  1010. package/dist/index.js.map +1 -1
  1011. package/dist/js-sandbox-worker/engine.d.ts +4 -0
  1012. package/dist/js-sandbox-worker/engine.d.ts.map +1 -0
  1013. package/dist/js-sandbox-worker/engine.js +45 -0
  1014. package/dist/js-sandbox-worker/engine.js.map +1 -0
  1015. package/dist/js-sandbox-worker/host.d.ts +136 -0
  1016. package/dist/js-sandbox-worker/host.d.ts.map +1 -0
  1017. package/dist/js-sandbox-worker/host.js +482 -0
  1018. package/dist/js-sandbox-worker/host.js.map +1 -0
  1019. package/dist/js-sandbox-worker/interpreter.d.ts +276 -0
  1020. package/dist/js-sandbox-worker/interpreter.d.ts.map +1 -0
  1021. package/dist/js-sandbox-worker/interpreter.js +1293 -0
  1022. package/dist/js-sandbox-worker/interpreter.js.map +1 -0
  1023. package/dist/js-sandbox-worker/protocol.d.ts +168 -0
  1024. package/dist/js-sandbox-worker/protocol.d.ts.map +1 -0
  1025. package/dist/js-sandbox-worker/protocol.js +217 -0
  1026. package/dist/js-sandbox-worker/protocol.js.map +1 -0
  1027. package/dist/js-sandbox-worker/worker-entry.d.ts +26 -0
  1028. package/dist/js-sandbox-worker/worker-entry.d.ts.map +1 -0
  1029. package/dist/js-sandbox-worker/worker-entry.js +308 -0
  1030. package/dist/js-sandbox-worker/worker-entry.js.map +1 -0
  1031. package/dist/js-sandbox.d.ts +457 -15
  1032. package/dist/js-sandbox.d.ts.map +1 -1
  1033. package/dist/js-sandbox.js +2008 -311
  1034. package/dist/js-sandbox.js.map +1 -1
  1035. package/dist/js-script-app-runner.d.ts +11 -0
  1036. package/dist/js-script-app-runner.d.ts.map +1 -0
  1037. package/dist/js-script-app-runner.js +54 -0
  1038. package/dist/js-script-app-runner.js.map +1 -0
  1039. package/dist/js-script-sandbox.d.ts +27 -0
  1040. package/dist/js-script-sandbox.d.ts.map +1 -0
  1041. package/dist/js-script-sandbox.js +36 -0
  1042. package/dist/js-script-sandbox.js.map +1 -0
  1043. package/dist/jtbd/friction.d.ts +26 -0
  1044. package/dist/jtbd/friction.d.ts.map +1 -0
  1045. package/dist/jtbd/friction.js +169 -0
  1046. package/dist/jtbd/friction.js.map +1 -0
  1047. package/dist/jtbd/index.d.ts +6 -0
  1048. package/dist/jtbd/index.d.ts.map +1 -0
  1049. package/dist/jtbd/index.js +6 -0
  1050. package/dist/jtbd/index.js.map +1 -0
  1051. package/dist/jtbd/optimize.d.ts +71 -0
  1052. package/dist/jtbd/optimize.d.ts.map +1 -0
  1053. package/dist/jtbd/optimize.js +176 -0
  1054. package/dist/jtbd/optimize.js.map +1 -0
  1055. package/dist/jtbd/registry.d.ts +29 -0
  1056. package/dist/jtbd/registry.d.ts.map +1 -0
  1057. package/dist/jtbd/registry.js +451 -0
  1058. package/dist/jtbd/registry.js.map +1 -0
  1059. package/dist/jtbd/run.d.ts +70 -0
  1060. package/dist/jtbd/run.d.ts.map +1 -0
  1061. package/dist/jtbd/run.js +177 -0
  1062. package/dist/jtbd/run.js.map +1 -0
  1063. package/dist/jtbd/types.d.ts +141 -0
  1064. package/dist/jtbd/types.d.ts.map +1 -0
  1065. package/dist/jtbd/types.js +25 -0
  1066. package/dist/jtbd/types.js.map +1 -0
  1067. package/dist/model-prompting-skills.d.ts +45 -0
  1068. package/dist/model-prompting-skills.d.ts.map +1 -0
  1069. package/dist/model-prompting-skills.js +116 -0
  1070. package/dist/model-prompting-skills.js.map +1 -0
  1071. package/dist/network-guard.d.ts +50 -0
  1072. package/dist/network-guard.d.ts.map +1 -0
  1073. package/dist/network-guard.js +106 -0
  1074. package/dist/network-guard.js.map +1 -0
  1075. package/dist/normalize-model-properties.d.ts +26 -0
  1076. package/dist/normalize-model-properties.d.ts.map +1 -0
  1077. package/dist/normalize-model-properties.js +58 -0
  1078. package/dist/normalize-model-properties.js.map +1 -0
  1079. package/dist/output-format.d.ts +5 -1
  1080. package/dist/output-format.d.ts.map +1 -1
  1081. package/dist/output-format.js.map +1 -1
  1082. package/dist/parallel-task-executor.d.ts +68 -37
  1083. package/dist/parallel-task-executor.d.ts.map +1 -1
  1084. package/dist/parallel-task-executor.js +234 -203
  1085. package/dist/parallel-task-executor.js.map +1 -1
  1086. package/dist/prompts/background-subtask-prompt.d.ts +14 -0
  1087. package/dist/prompts/background-subtask-prompt.d.ts.map +1 -0
  1088. package/dist/prompts/background-subtask-prompt.js +64 -0
  1089. package/dist/prompts/background-subtask-prompt.js.map +1 -0
  1090. package/dist/prompts/product-knowledge.d.ts +3 -0
  1091. package/dist/prompts/product-knowledge.d.ts.map +1 -0
  1092. package/dist/prompts/product-knowledge.js +120 -0
  1093. package/dist/prompts/product-knowledge.js.map +1 -0
  1094. package/dist/prompts/read-only-search-prompt.d.ts +33 -0
  1095. package/dist/prompts/read-only-search-prompt.d.ts.map +1 -0
  1096. package/dist/prompts/read-only-search-prompt.js +109 -0
  1097. package/dist/prompts/read-only-search-prompt.js.map +1 -0
  1098. package/dist/prompts/sandbox-pack-catalog.d.ts +23 -0
  1099. package/dist/prompts/sandbox-pack-catalog.d.ts.map +1 -0
  1100. package/dist/prompts/sandbox-pack-catalog.js +40 -0
  1101. package/dist/prompts/sandbox-pack-catalog.js.map +1 -0
  1102. package/dist/prompts/security-monitor-prompt.d.ts +32 -0
  1103. package/dist/prompts/security-monitor-prompt.d.ts.map +1 -0
  1104. package/dist/prompts/security-monitor-prompt.js +99 -0
  1105. package/dist/prompts/security-monitor-prompt.js.map +1 -0
  1106. package/dist/prompts/workflow-authoring-knowledge.d.ts +77 -0
  1107. package/dist/prompts/workflow-authoring-knowledge.d.ts.map +1 -0
  1108. package/dist/prompts/workflow-authoring-knowledge.js +319 -0
  1109. package/dist/prompts/workflow-authoring-knowledge.js.map +1 -0
  1110. package/dist/run-policy.d.ts +25 -0
  1111. package/dist/run-policy.d.ts.map +1 -0
  1112. package/dist/run-policy.js +54 -0
  1113. package/dist/run-policy.js.map +1 -0
  1114. package/dist/sandbox-av-media.d.ts +33 -0
  1115. package/dist/sandbox-av-media.d.ts.map +1 -0
  1116. package/dist/sandbox-av-media.js +666 -0
  1117. package/dist/sandbox-av-media.js.map +1 -0
  1118. package/dist/sandbox-bootstrap-modules.d.ts +54 -0
  1119. package/dist/sandbox-bootstrap-modules.d.ts.map +1 -0
  1120. package/dist/sandbox-bootstrap-modules.js +104 -0
  1121. package/dist/sandbox-bootstrap-modules.js.map +1 -0
  1122. package/dist/sandbox-bytes.d.ts +43 -0
  1123. package/dist/sandbox-bytes.d.ts.map +1 -0
  1124. package/dist/sandbox-bytes.js +61 -0
  1125. package/dist/sandbox-bytes.js.map +1 -0
  1126. package/dist/sandbox-canvas-api.d.ts +30 -0
  1127. package/dist/sandbox-canvas-api.d.ts.map +1 -0
  1128. package/dist/sandbox-canvas-api.js +81 -0
  1129. package/dist/sandbox-canvas-api.js.map +1 -0
  1130. package/dist/sandbox-constants.d.ts +5 -0
  1131. package/dist/sandbox-constants.d.ts.map +1 -0
  1132. package/dist/sandbox-constants.js +13 -0
  1133. package/dist/sandbox-constants.js.map +1 -0
  1134. package/dist/sandbox-json-transport.d.ts +107 -0
  1135. package/dist/sandbox-json-transport.d.ts.map +1 -0
  1136. package/dist/sandbox-json-transport.js +324 -0
  1137. package/dist/sandbox-json-transport.js.map +1 -0
  1138. package/dist/sandbox-media-handle.d.ts +78 -0
  1139. package/dist/sandbox-media-handle.d.ts.map +1 -0
  1140. package/dist/sandbox-media-handle.js +114 -0
  1141. package/dist/sandbox-media-handle.js.map +1 -0
  1142. package/dist/sandbox-media-ref.d.ts +134 -0
  1143. package/dist/sandbox-media-ref.d.ts.map +1 -0
  1144. package/dist/sandbox-media-ref.js +442 -0
  1145. package/dist/sandbox-media-ref.js.map +1 -0
  1146. package/dist/sandbox-media.d.ts +177 -0
  1147. package/dist/sandbox-media.d.ts.map +1 -0
  1148. package/dist/sandbox-media.js +963 -0
  1149. package/dist/sandbox-media.js.map +1 -0
  1150. package/dist/sandbox-module-fixtures.d.ts +445 -0
  1151. package/dist/sandbox-module-fixtures.d.ts.map +1 -0
  1152. package/dist/sandbox-module-fixtures.js +214 -0
  1153. package/dist/sandbox-module-fixtures.js.map +1 -0
  1154. package/dist/sandbox-pack-resolution.d.ts +21 -0
  1155. package/dist/sandbox-pack-resolution.d.ts.map +1 -0
  1156. package/dist/sandbox-pack-resolution.js +42 -0
  1157. package/dist/sandbox-pack-resolution.js.map +1 -0
  1158. package/dist/sandbox-toolbelt.d.ts +15 -0
  1159. package/dist/sandbox-toolbelt.d.ts.map +1 -0
  1160. package/dist/sandbox-toolbelt.js +70 -0
  1161. package/dist/sandbox-toolbelt.js.map +1 -0
  1162. package/dist/security-monitor.d.ts +89 -0
  1163. package/dist/security-monitor.d.ts.map +1 -0
  1164. package/dist/security-monitor.js +307 -0
  1165. package/dist/security-monitor.js.map +1 -0
  1166. package/dist/serpapi/catalog.d.ts +101 -0
  1167. package/dist/serpapi/catalog.d.ts.map +1 -0
  1168. package/dist/serpapi/catalog.js +246 -0
  1169. package/dist/serpapi/catalog.js.map +1 -0
  1170. package/dist/serpapi/client.d.ts +81 -0
  1171. package/dist/serpapi/client.d.ts.map +1 -0
  1172. package/dist/serpapi/client.js +228 -0
  1173. package/dist/serpapi/client.js.map +1 -0
  1174. package/dist/serpapi/errors.d.ts +49 -0
  1175. package/dist/serpapi/errors.d.ts.map +1 -0
  1176. package/dist/serpapi/errors.js +64 -0
  1177. package/dist/serpapi/errors.js.map +1 -0
  1178. package/dist/serpapi/normalize.d.ts +58 -0
  1179. package/dist/serpapi/normalize.d.ts.map +1 -0
  1180. package/dist/serpapi/normalize.js +140 -0
  1181. package/dist/serpapi/normalize.js.map +1 -0
  1182. package/dist/skill-prompt.d.ts +37 -0
  1183. package/dist/skill-prompt.d.ts.map +1 -0
  1184. package/dist/skill-prompt.js +72 -0
  1185. package/dist/skill-prompt.js.map +1 -0
  1186. package/dist/step-executor.d.ts +90 -77
  1187. package/dist/step-executor.d.ts.map +1 -1
  1188. package/dist/step-executor.js +384 -690
  1189. package/dist/step-executor.js.map +1 -1
  1190. package/dist/subagent.d.ts +275 -0
  1191. package/dist/subagent.d.ts.map +1 -0
  1192. package/dist/subagent.js +444 -0
  1193. package/dist/subagent.js.map +1 -0
  1194. package/dist/supervisor/prompt.d.ts +12 -0
  1195. package/dist/supervisor/prompt.d.ts.map +1 -0
  1196. package/dist/supervisor/prompt.js +51 -0
  1197. package/dist/supervisor/prompt.js.map +1 -0
  1198. package/dist/supervisor/supervisor-agent.d.ts +72 -0
  1199. package/dist/supervisor/supervisor-agent.d.ts.map +1 -0
  1200. package/dist/supervisor/supervisor-agent.js +185 -0
  1201. package/dist/supervisor/supervisor-agent.js.map +1 -0
  1202. package/dist/supervisor/tools.d.ts +56 -0
  1203. package/dist/supervisor/tools.d.ts.map +1 -0
  1204. package/dist/supervisor/tools.js +83 -0
  1205. package/dist/supervisor/tools.js.map +1 -0
  1206. package/dist/supervisor/verdict-schema.d.ts +18 -0
  1207. package/dist/supervisor/verdict-schema.d.ts.map +1 -0
  1208. package/dist/supervisor/verdict-schema.js +58 -0
  1209. package/dist/supervisor/verdict-schema.js.map +1 -0
  1210. package/dist/system-skills.d.ts +74 -0
  1211. package/dist/system-skills.d.ts.map +1 -0
  1212. package/dist/system-skills.js +168 -0
  1213. package/dist/system-skills.js.map +1 -0
  1214. package/dist/task-executor.d.ts +90 -40
  1215. package/dist/task-executor.d.ts.map +1 -1
  1216. package/dist/task-executor.js +259 -282
  1217. package/dist/task-executor.js.map +1 -1
  1218. package/dist/task-planner.d.ts +18 -12
  1219. package/dist/task-planner.d.ts.map +1 -1
  1220. package/dist/task-planner.js +342 -328
  1221. package/dist/task-planner.js.map +1 -1
  1222. package/dist/timeline-capture.d.ts +21 -0
  1223. package/dist/timeline-capture.d.ts.map +1 -0
  1224. package/dist/timeline-capture.js +564 -0
  1225. package/dist/timeline-capture.js.map +1 -0
  1226. package/dist/timeline-code-bake.d.ts +75 -0
  1227. package/dist/timeline-code-bake.d.ts.map +1 -0
  1228. package/dist/timeline-code-bake.js +327 -0
  1229. package/dist/timeline-code-bake.js.map +1 -0
  1230. package/dist/timeline-preview/compare.d.ts +27 -0
  1231. package/dist/timeline-preview/compare.d.ts.map +1 -0
  1232. package/dist/timeline-preview/compare.js +71 -0
  1233. package/dist/timeline-preview/compare.js.map +1 -0
  1234. package/dist/timeline-preview/frames.d.ts +193 -0
  1235. package/dist/timeline-preview/frames.d.ts.map +1 -0
  1236. package/dist/timeline-preview/frames.js +731 -0
  1237. package/dist/timeline-preview/frames.js.map +1 -0
  1238. package/dist/timeline-preview/model3d.d.ts +67 -0
  1239. package/dist/timeline-preview/model3d.d.ts.map +1 -0
  1240. package/dist/timeline-preview/model3d.js +165 -0
  1241. package/dist/timeline-preview/model3d.js.map +1 -0
  1242. package/dist/timeline-preview/rasterize.d.ts +33 -0
  1243. package/dist/timeline-preview/rasterize.d.ts.map +1 -0
  1244. package/dist/timeline-preview/rasterize.js +83 -0
  1245. package/dist/timeline-preview/rasterize.js.map +1 -0
  1246. package/dist/timeline-preview/sheet.d.ts +38 -0
  1247. package/dist/timeline-preview/sheet.d.ts.map +1 -0
  1248. package/dist/timeline-preview/sheet.js +72 -0
  1249. package/dist/timeline-preview/sheet.js.map +1 -0
  1250. package/dist/tools/asset-persist.d.ts +29 -0
  1251. package/dist/tools/asset-persist.d.ts.map +1 -0
  1252. package/dist/tools/asset-persist.js +78 -0
  1253. package/dist/tools/asset-persist.js.map +1 -0
  1254. package/dist/tools/base-tool.d.ts +53 -5
  1255. package/dist/tools/base-tool.d.ts.map +1 -1
  1256. package/dist/tools/base-tool.js +180 -3
  1257. package/dist/tools/base-tool.js.map +1 -1
  1258. package/dist/tools/binary-output.d.ts +54 -0
  1259. package/dist/tools/binary-output.d.ts.map +1 -0
  1260. package/dist/tools/binary-output.js +127 -0
  1261. package/dist/tools/binary-output.js.map +1 -0
  1262. package/dist/tools/browser-tools.d.ts +5 -29
  1263. package/dist/tools/browser-tools.d.ts.map +1 -1
  1264. package/dist/tools/browser-tools.js +5 -205
  1265. package/dist/tools/browser-tools.js.map +1 -1
  1266. package/dist/tools/builtin-tools.d.ts +52 -0
  1267. package/dist/tools/builtin-tools.d.ts.map +1 -0
  1268. package/dist/tools/builtin-tools.js +289 -0
  1269. package/dist/tools/builtin-tools.js.map +1 -0
  1270. package/dist/tools/control-tool.d.ts +2 -5
  1271. package/dist/tools/control-tool.d.ts.map +1 -1
  1272. package/dist/tools/control-tool.js +18 -15
  1273. package/dist/tools/control-tool.js.map +1 -1
  1274. package/dist/tools/dataseo-tools.d.ts +34 -32
  1275. package/dist/tools/dataseo-tools.d.ts.map +1 -1
  1276. package/dist/tools/dataseo-tools.js +148 -233
  1277. package/dist/tools/dataseo-tools.js.map +1 -1
  1278. package/dist/tools/external-capability-tools.d.ts +36 -0
  1279. package/dist/tools/external-capability-tools.d.ts.map +1 -0
  1280. package/dist/tools/external-capability-tools.js +41 -0
  1281. package/dist/tools/external-capability-tools.js.map +1 -0
  1282. package/dist/tools/external-mcp-tools.d.ts +139 -0
  1283. package/dist/tools/external-mcp-tools.d.ts.map +1 -0
  1284. package/dist/tools/external-mcp-tools.js +552 -0
  1285. package/dist/tools/external-mcp-tools.js.map +1 -0
  1286. package/dist/tools/finish-step-tool.d.ts +1 -1
  1287. package/dist/tools/finish-step-tool.d.ts.map +1 -1
  1288. package/dist/tools/finish-step-tool.js +3 -3
  1289. package/dist/tools/finish-step-tool.js.map +1 -1
  1290. package/dist/tools/google-tools.d.ts +28 -39
  1291. package/dist/tools/google-tools.d.ts.map +1 -1
  1292. package/dist/tools/google-tools.js +51 -164
  1293. package/dist/tools/google-tools.js.map +1 -1
  1294. package/dist/tools/google-workspace-tools.d.ts +23 -0
  1295. package/dist/tools/google-workspace-tools.d.ts.map +1 -0
  1296. package/dist/tools/google-workspace-tools.js +26 -0
  1297. package/dist/tools/google-workspace-tools.js.map +1 -0
  1298. package/dist/tools/graph-validation-registry.d.ts +33 -0
  1299. package/dist/tools/graph-validation-registry.d.ts.map +1 -0
  1300. package/dist/tools/graph-validation-registry.js +54 -0
  1301. package/dist/tools/graph-validation-registry.js.map +1 -0
  1302. package/dist/tools/http-tools.d.ts +5 -53
  1303. package/dist/tools/http-tools.d.ts.map +1 -1
  1304. package/dist/tools/http-tools.js +5 -177
  1305. package/dist/tools/http-tools.js.map +1 -1
  1306. package/dist/tools/image-injection.d.ts +51 -0
  1307. package/dist/tools/image-injection.d.ts.map +1 -0
  1308. package/dist/tools/image-injection.js +85 -0
  1309. package/dist/tools/image-injection.js.map +1 -0
  1310. package/dist/tools/mcp-tool-support.d.ts +204 -0
  1311. package/dist/tools/mcp-tool-support.d.ts.map +1 -0
  1312. package/dist/tools/mcp-tool-support.js +537 -0
  1313. package/dist/tools/mcp-tool-support.js.map +1 -0
  1314. package/dist/tools/mcp-tools.d.ts +106 -390
  1315. package/dist/tools/mcp-tools.d.ts.map +1 -1
  1316. package/dist/tools/mcp-tools.js +132 -601
  1317. package/dist/tools/mcp-tools.js.map +1 -1
  1318. package/dist/tools/media-tools.d.ts +9 -272
  1319. package/dist/tools/media-tools.d.ts.map +1 -1
  1320. package/dist/tools/media-tools.js +11 -676
  1321. package/dist/tools/media-tools.js.map +1 -1
  1322. package/dist/tools/memory-tools.d.ts +36 -0
  1323. package/dist/tools/memory-tools.d.ts.map +1 -0
  1324. package/dist/tools/memory-tools.js +52 -0
  1325. package/dist/tools/memory-tools.js.map +1 -0
  1326. package/dist/tools/openai-tools.d.ts +28 -68
  1327. package/dist/tools/openai-tools.d.ts.map +1 -1
  1328. package/dist/tools/openai-tools.js +51 -181
  1329. package/dist/tools/openai-tools.js.map +1 -1
  1330. package/dist/tools/plan-builder-tools.d.ts +141 -7
  1331. package/dist/tools/plan-builder-tools.d.ts.map +1 -1
  1332. package/dist/tools/plan-builder-tools.js +159 -86
  1333. package/dist/tools/plan-builder-tools.js.map +1 -1
  1334. package/dist/tools/run-search-tool.d.ts +82 -0
  1335. package/dist/tools/run-search-tool.d.ts.map +1 -0
  1336. package/dist/tools/run-search-tool.js +121 -0
  1337. package/dist/tools/run-search-tool.js.map +1 -0
  1338. package/dist/tools/run-subtask-tool.d.ts +49 -0
  1339. package/dist/tools/run-subtask-tool.d.ts.map +1 -0
  1340. package/dist/tools/run-subtask-tool.js +88 -0
  1341. package/dist/tools/run-subtask-tool.js.map +1 -0
  1342. package/dist/tools/search-tools.d.ts +5 -36
  1343. package/dist/tools/search-tools.d.ts.map +1 -1
  1344. package/dist/tools/search-tools.js +5 -215
  1345. package/dist/tools/search-tools.js.map +1 -1
  1346. package/dist/tools/serp-providers/apify-provider.d.ts +18 -0
  1347. package/dist/tools/serp-providers/apify-provider.d.ts.map +1 -0
  1348. package/dist/tools/serp-providers/apify-provider.js +93 -0
  1349. package/dist/tools/serp-providers/apify-provider.js.map +1 -0
  1350. package/dist/tools/serp-providers/brave-provider.d.ts +34 -0
  1351. package/dist/tools/serp-providers/brave-provider.d.ts.map +1 -0
  1352. package/dist/tools/serp-providers/brave-provider.js +86 -0
  1353. package/dist/tools/serp-providers/brave-provider.js.map +1 -0
  1354. package/dist/tools/serp-providers/dataforseo-provider.d.ts +14 -1
  1355. package/dist/tools/serp-providers/dataforseo-provider.d.ts.map +1 -1
  1356. package/dist/tools/serp-providers/dataforseo-provider.js +0 -9
  1357. package/dist/tools/serp-providers/dataforseo-provider.js.map +1 -1
  1358. package/dist/tools/serp-providers/gemini-provider.d.ts +45 -0
  1359. package/dist/tools/serp-providers/gemini-provider.d.ts.map +1 -0
  1360. package/dist/tools/serp-providers/gemini-provider.js +148 -0
  1361. package/dist/tools/serp-providers/gemini-provider.js.map +1 -0
  1362. package/dist/tools/serp-providers/index.d.ts +61 -0
  1363. package/dist/tools/serp-providers/index.d.ts.map +1 -1
  1364. package/dist/tools/serp-providers/index.js +119 -3
  1365. package/dist/tools/serp-providers/index.js.map +1 -1
  1366. package/dist/tools/serp-providers/openai-provider.d.ts +58 -0
  1367. package/dist/tools/serp-providers/openai-provider.d.ts.map +1 -0
  1368. package/dist/tools/serp-providers/openai-provider.js +113 -0
  1369. package/dist/tools/serp-providers/openai-provider.js.map +1 -0
  1370. package/dist/tools/serp-providers/serpapi-provider.d.ts +9 -5
  1371. package/dist/tools/serp-providers/serpapi-provider.d.ts.map +1 -1
  1372. package/dist/tools/serp-providers/serpapi-provider.js +26 -44
  1373. package/dist/tools/serp-providers/serpapi-provider.js.map +1 -1
  1374. package/dist/tools/serp-tool-factory.d.ts +27 -0
  1375. package/dist/tools/serp-tool-factory.d.ts.map +1 -0
  1376. package/dist/tools/serp-tool-factory.js +56 -0
  1377. package/dist/tools/serp-tool-factory.js.map +1 -0
  1378. package/dist/tools/shared-tools.d.ts +33 -0
  1379. package/dist/tools/shared-tools.d.ts.map +1 -0
  1380. package/dist/tools/shared-tools.js +39 -0
  1381. package/dist/tools/shared-tools.js.map +1 -0
  1382. package/dist/tools/start-subtask-tool.d.ts +51 -0
  1383. package/dist/tools/start-subtask-tool.d.ts.map +1 -0
  1384. package/dist/tools/start-subtask-tool.js +189 -0
  1385. package/dist/tools/start-subtask-tool.js.map +1 -0
  1386. package/dist/tools/submit-code-tool.d.ts +159 -0
  1387. package/dist/tools/submit-code-tool.d.ts.map +1 -0
  1388. package/dist/tools/submit-code-tool.js +209 -0
  1389. package/dist/tools/submit-code-tool.js.map +1 -0
  1390. package/dist/tools/subtask-fields.d.ts +11 -0
  1391. package/dist/tools/subtask-fields.d.ts.map +1 -0
  1392. package/dist/tools/subtask-fields.js +11 -0
  1393. package/dist/tools/subtask-fields.js.map +1 -0
  1394. package/dist/tools/todo-tools.d.ts +15 -0
  1395. package/dist/tools/todo-tools.d.ts.map +1 -0
  1396. package/dist/tools/todo-tools.js +15 -0
  1397. package/dist/tools/todo-tools.js.map +1 -0
  1398. package/dist/tools/tool-permissions.d.ts +40 -0
  1399. package/dist/tools/tool-permissions.d.ts.map +1 -0
  1400. package/dist/tools/tool-permissions.js +52 -0
  1401. package/dist/tools/tool-permissions.js.map +1 -0
  1402. package/dist/tools/tool-search.d.ts +39 -0
  1403. package/dist/tools/tool-search.d.ts.map +1 -0
  1404. package/dist/tools/tool-search.js +108 -0
  1405. package/dist/tools/tool-search.js.map +1 -0
  1406. package/dist/tools/vector-tool-support.d.ts +15 -0
  1407. package/dist/tools/vector-tool-support.d.ts.map +1 -0
  1408. package/dist/tools/vector-tool-support.js +133 -0
  1409. package/dist/tools/vector-tool-support.js.map +1 -0
  1410. package/dist/tools/vector-tools.d.ts +13 -220
  1411. package/dist/tools/vector-tools.d.ts.map +1 -1
  1412. package/dist/tools/vector-tools.js +7 -578
  1413. package/dist/tools/vector-tools.js.map +1 -1
  1414. package/dist/tools/wait-subtasks-tool.d.ts +27 -0
  1415. package/dist/tools/wait-subtasks-tool.d.ts.map +1 -0
  1416. package/dist/tools/wait-subtasks-tool.js +66 -0
  1417. package/dist/tools/wait-subtasks-tool.js.map +1 -0
  1418. package/dist/types.d.ts +16 -31
  1419. package/dist/types.d.ts.map +1 -1
  1420. package/dist/types.js +8 -1
  1421. package/dist/types.js.map +1 -1
  1422. package/dist/utils/dag-scheduler.d.ts +85 -0
  1423. package/dist/utils/dag-scheduler.d.ts.map +1 -0
  1424. package/dist/utils/dag-scheduler.js +180 -0
  1425. package/dist/utils/dag-scheduler.js.map +1 -0
  1426. package/dist/utils/json-parser.d.ts +32 -1
  1427. package/dist/utils/json-parser.d.ts.map +1 -1
  1428. package/dist/utils/json-parser.js +145 -10
  1429. package/dist/utils/json-parser.js.map +1 -1
  1430. package/dist/utils/json-schema-validate.d.ts +29 -0
  1431. package/dist/utils/json-schema-validate.d.ts.map +1 -0
  1432. package/dist/utils/json-schema-validate.js +228 -0
  1433. package/dist/utils/json-schema-validate.js.map +1 -0
  1434. package/dist/utils/link-abort.d.ts +13 -0
  1435. package/dist/utils/link-abort.d.ts.map +1 -0
  1436. package/dist/utils/link-abort.js +23 -0
  1437. package/dist/utils/link-abort.js.map +1 -0
  1438. package/dist/utils/merge-generators.d.ts +58 -0
  1439. package/dist/utils/merge-generators.d.ts.map +1 -0
  1440. package/dist/utils/merge-generators.js +148 -0
  1441. package/dist/utils/merge-generators.js.map +1 -0
  1442. package/dist/utils/remove-base64-images.d.ts +0 -5
  1443. package/dist/utils/remove-base64-images.d.ts.map +1 -1
  1444. package/dist/utils/remove-base64-images.js.map +1 -1
  1445. package/dist/utils/step-failure.d.ts +20 -0
  1446. package/dist/utils/step-failure.d.ts.map +1 -0
  1447. package/dist/utils/step-failure.js +43 -0
  1448. package/dist/utils/step-failure.js.map +1 -0
  1449. package/dist/utils/think-tags.d.ts +16 -0
  1450. package/dist/utils/think-tags.d.ts.map +1 -0
  1451. package/dist/utils/think-tags.js +23 -0
  1452. package/dist/utils/think-tags.js.map +1 -0
  1453. package/dist/utils/type-guards.d.ts +26 -0
  1454. package/dist/utils/type-guards.d.ts.map +1 -0
  1455. package/dist/utils/type-guards.js +44 -0
  1456. package/dist/utils/type-guards.js.map +1 -0
  1457. package/dist/utils/ui-event-buffer.d.ts +18 -0
  1458. package/dist/utils/ui-event-buffer.d.ts.map +1 -0
  1459. package/dist/utils/ui-event-buffer.js +18 -0
  1460. package/dist/utils/ui-event-buffer.js.map +1 -0
  1461. package/dist/utils/wrap-generators-parallel.d.ts +0 -5
  1462. package/dist/utils/wrap-generators-parallel.d.ts.map +1 -1
  1463. package/dist/utils/wrap-generators-parallel.js +3 -6
  1464. package/dist/utils/wrap-generators-parallel.js.map +1 -1
  1465. package/dist/wasm-sandbox/host.d.ts +106 -0
  1466. package/dist/wasm-sandbox/host.d.ts.map +1 -0
  1467. package/dist/wasm-sandbox/host.js +409 -0
  1468. package/dist/wasm-sandbox/host.js.map +1 -0
  1469. package/dist/wasm-sandbox/workers.d.ts +43 -0
  1470. package/dist/wasm-sandbox/workers.d.ts.map +1 -0
  1471. package/dist/wasm-sandbox/workers.js +150 -0
  1472. package/dist/wasm-sandbox/workers.js.map +1 -0
  1473. package/dist/workspace-paths.d.ts +40 -0
  1474. package/dist/workspace-paths.d.ts.map +1 -0
  1475. package/dist/workspace-paths.js +102 -0
  1476. package/dist/workspace-paths.js.map +1 -0
  1477. package/dist/yt-dlp-gate.d.ts +19 -0
  1478. package/dist/yt-dlp-gate.d.ts.map +1 -0
  1479. package/dist/yt-dlp-gate.js +22 -0
  1480. package/dist/yt-dlp-gate.js.map +1 -0
  1481. package/package.json +114 -14
  1482. package/dist/agent-executor.d.ts +0 -62
  1483. package/dist/agent-executor.d.ts.map +0 -1
  1484. package/dist/agent-executor.js +0 -324
  1485. package/dist/agent-executor.js.map +0 -1
  1486. package/dist/agent-step-executor.d.ts +0 -28
  1487. package/dist/agent-step-executor.d.ts.map +0 -1
  1488. package/dist/agent-step-executor.js +0 -99
  1489. package/dist/agent-step-executor.js.map +0 -1
  1490. package/dist/agent-workflow-runner.d.ts +0 -31
  1491. package/dist/agent-workflow-runner.d.ts.map +0 -1
  1492. package/dist/agent-workflow-runner.js +0 -124
  1493. package/dist/agent-workflow-runner.js.map +0 -1
  1494. package/dist/agent.d.ts +0 -115
  1495. package/dist/agent.d.ts.map +0 -1
  1496. package/dist/agent.js +0 -587
  1497. package/dist/agent.js.map +0 -1
  1498. package/dist/base-agent.d.ts +0 -42
  1499. package/dist/base-agent.d.ts.map +0 -1
  1500. package/dist/base-agent.js +0 -29
  1501. package/dist/base-agent.js.map +0 -1
  1502. package/dist/graph-planner.d.ts +0 -56
  1503. package/dist/graph-planner.d.ts.map +0 -1
  1504. package/dist/graph-planner.js +0 -311
  1505. package/dist/graph-planner.js.map +0 -1
  1506. package/dist/multi-mode-agent.d.ts +0 -86
  1507. package/dist/multi-mode-agent.d.ts.map +0 -1
  1508. package/dist/multi-mode-agent.js +0 -476
  1509. package/dist/multi-mode-agent.js.map +0 -1
  1510. package/dist/prompts/graph-planner-prompt.d.ts +0 -48
  1511. package/dist/prompts/graph-planner-prompt.d.ts.map +0 -1
  1512. package/dist/prompts/graph-planner-prompt.js +0 -180
  1513. package/dist/prompts/graph-planner-prompt.js.map +0 -1
  1514. package/dist/reject-agentic-provider.d.ts +0 -21
  1515. package/dist/reject-agentic-provider.d.ts.map +0 -1
  1516. package/dist/reject-agentic-provider.js +0 -32
  1517. package/dist/reject-agentic-provider.js.map +0 -1
  1518. package/dist/simple-agent.d.ts +0 -29
  1519. package/dist/simple-agent.d.ts.map +0 -1
  1520. package/dist/simple-agent.js +0 -54
  1521. package/dist/simple-agent.js.map +0 -1
  1522. package/dist/sub-agent-planner.d.ts +0 -33
  1523. package/dist/sub-agent-planner.d.ts.map +0 -1
  1524. package/dist/sub-agent-planner.js +0 -203
  1525. package/dist/sub-agent-planner.js.map +0 -1
  1526. package/dist/team/db-task-board.d.ts +0 -54
  1527. package/dist/team/db-task-board.d.ts.map +0 -1
  1528. package/dist/team/db-task-board.js +0 -361
  1529. package/dist/team/db-task-board.js.map +0 -1
  1530. package/dist/team/edge-message-bus.d.ts +0 -51
  1531. package/dist/team/edge-message-bus.d.ts.map +0 -1
  1532. package/dist/team/edge-message-bus.js +0 -169
  1533. package/dist/team/edge-message-bus.js.map +0 -1
  1534. package/dist/team/edge-task-board.d.ts +0 -77
  1535. package/dist/team/edge-task-board.d.ts.map +0 -1
  1536. package/dist/team/edge-task-board.js +0 -140
  1537. package/dist/team/edge-task-board.js.map +0 -1
  1538. package/dist/team/index.d.ts +0 -16
  1539. package/dist/team/index.d.ts.map +0 -1
  1540. package/dist/team/index.js +0 -17
  1541. package/dist/team/index.js.map +0 -1
  1542. package/dist/team/message-bus.d.ts +0 -58
  1543. package/dist/team/message-bus.d.ts.map +0 -1
  1544. package/dist/team/message-bus.js +0 -151
  1545. package/dist/team/message-bus.js.map +0 -1
  1546. package/dist/team/task-board.d.ts +0 -106
  1547. package/dist/team/task-board.d.ts.map +0 -1
  1548. package/dist/team/task-board.js +0 -370
  1549. package/dist/team/task-board.js.map +0 -1
  1550. package/dist/team/team-executor.d.ts +0 -72
  1551. package/dist/team/team-executor.d.ts.map +0 -1
  1552. package/dist/team/team-executor.js +0 -466
  1553. package/dist/team/team-executor.js.map +0 -1
  1554. package/dist/team/team-tools.d.ts +0 -252
  1555. package/dist/team/team-tools.d.ts.map +0 -1
  1556. package/dist/team/team-tools.js +0 -412
  1557. package/dist/team/team-tools.js.map +0 -1
  1558. package/dist/team/types.d.ts +0 -198
  1559. package/dist/team/types.d.ts.map +0 -1
  1560. package/dist/team/types.js +0 -8
  1561. package/dist/team/types.js.map +0 -1
  1562. package/dist/tools/add-edge-tool.d.ts +0 -18
  1563. package/dist/tools/add-edge-tool.d.ts.map +0 -1
  1564. package/dist/tools/add-edge-tool.js +0 -92
  1565. package/dist/tools/add-edge-tool.js.map +0 -1
  1566. package/dist/tools/add-node-tool.d.ts +0 -22
  1567. package/dist/tools/add-node-tool.d.ts.map +0 -1
  1568. package/dist/tools/add-node-tool.js +0 -128
  1569. package/dist/tools/add-node-tool.js.map +0 -1
  1570. package/dist/tools/asset-tools.d.ts +0 -58
  1571. package/dist/tools/asset-tools.d.ts.map +0 -1
  1572. package/dist/tools/asset-tools.js +0 -191
  1573. package/dist/tools/asset-tools.js.map +0 -1
  1574. package/dist/tools/calculator-tool.d.ts +0 -24
  1575. package/dist/tools/calculator-tool.d.ts.map +0 -1
  1576. package/dist/tools/calculator-tool.js +0 -64
  1577. package/dist/tools/calculator-tool.js.map +0 -1
  1578. package/dist/tools/claude-code-tools.d.ts +0 -96
  1579. package/dist/tools/claude-code-tools.d.ts.map +0 -1
  1580. package/dist/tools/claude-code-tools.js +0 -463
  1581. package/dist/tools/claude-code-tools.js.map +0 -1
  1582. package/dist/tools/code-tools.d.ts +0 -26
  1583. package/dist/tools/code-tools.d.ts.map +0 -1
  1584. package/dist/tools/code-tools.js +0 -82
  1585. package/dist/tools/code-tools.js.map +0 -1
  1586. package/dist/tools/create-plan-tool.d.ts +0 -29
  1587. package/dist/tools/create-plan-tool.d.ts.map +0 -1
  1588. package/dist/tools/create-plan-tool.js +0 -355
  1589. package/dist/tools/create-plan-tool.js.map +0 -1
  1590. package/dist/tools/create-task-tool.d.ts +0 -28
  1591. package/dist/tools/create-task-tool.d.ts.map +0 -1
  1592. package/dist/tools/create-task-tool.js +0 -254
  1593. package/dist/tools/create-task-tool.js.map +0 -1
  1594. package/dist/tools/email-tools.d.ts +0 -76
  1595. package/dist/tools/email-tools.d.ts.map +0 -1
  1596. package/dist/tools/email-tools.js +0 -259
  1597. package/dist/tools/email-tools.js.map +0 -1
  1598. package/dist/tools/filesystem-tools.d.ts +0 -77
  1599. package/dist/tools/filesystem-tools.d.ts.map +0 -1
  1600. package/dist/tools/filesystem-tools.js +0 -334
  1601. package/dist/tools/filesystem-tools.js.map +0 -1
  1602. package/dist/tools/find-model-tool.d.ts +0 -25
  1603. package/dist/tools/find-model-tool.d.ts.map +0 -1
  1604. package/dist/tools/find-model-tool.js +0 -236
  1605. package/dist/tools/find-model-tool.js.map +0 -1
  1606. package/dist/tools/finish-graph-tool.d.ts +0 -23
  1607. package/dist/tools/finish-graph-tool.d.ts.map +0 -1
  1608. package/dist/tools/finish-graph-tool.js +0 -46
  1609. package/dist/tools/finish-graph-tool.js.map +0 -1
  1610. package/dist/tools/js-code-tool.d.ts +0 -30
  1611. package/dist/tools/js-code-tool.d.ts.map +0 -1
  1612. package/dist/tools/js-code-tool.js +0 -98
  1613. package/dist/tools/js-code-tool.js.map +0 -1
  1614. package/dist/tools/local-get-node-info-tool.d.ts +0 -19
  1615. package/dist/tools/local-get-node-info-tool.d.ts.map +0 -1
  1616. package/dist/tools/local-get-node-info-tool.js +0 -75
  1617. package/dist/tools/local-get-node-info-tool.js.map +0 -1
  1618. package/dist/tools/local-list-nodes-tool.d.ts +0 -19
  1619. package/dist/tools/local-list-nodes-tool.d.ts.map +0 -1
  1620. package/dist/tools/local-list-nodes-tool.js +0 -69
  1621. package/dist/tools/local-list-nodes-tool.js.map +0 -1
  1622. package/dist/tools/local-search-nodes-tool.d.ts +0 -21
  1623. package/dist/tools/local-search-nodes-tool.d.ts.map +0 -1
  1624. package/dist/tools/local-search-nodes-tool.js +0 -111
  1625. package/dist/tools/local-search-nodes-tool.js.map +0 -1
  1626. package/dist/tools/math-tools.d.ts +0 -156
  1627. package/dist/tools/math-tools.d.ts.map +0 -1
  1628. package/dist/tools/math-tools.js +0 -422
  1629. package/dist/tools/math-tools.js.map +0 -1
  1630. package/dist/tools/model-tools.d.ts +0 -25
  1631. package/dist/tools/model-tools.d.ts.map +0 -1
  1632. package/dist/tools/model-tools.js +0 -48
  1633. package/dist/tools/model-tools.js.map +0 -1
  1634. package/dist/tools/pdf-tools.d.ts +0 -152
  1635. package/dist/tools/pdf-tools.d.ts.map +0 -1
  1636. package/dist/tools/pdf-tools.js +0 -339
  1637. package/dist/tools/pdf-tools.js.map +0 -1
  1638. package/dist/tools/tool-registry.d.ts +0 -9
  1639. package/dist/tools/tool-registry.d.ts.map +0 -1
  1640. package/dist/tools/tool-registry.js +0 -17
  1641. package/dist/tools/tool-registry.js.map +0 -1
  1642. package/dist/tools/workspace-tools.d.ts +0 -58
  1643. package/dist/tools/workspace-tools.d.ts.map +0 -1
  1644. package/dist/tools/workspace-tools.js +0 -152
  1645. package/dist/tools/workspace-tools.js.map +0 -1
@@ -0,0 +1,1492 @@
1
+ /** Shared headless contract for reviewed AI-video production. */
2
+ import { randomUUID } from "node:crypto";
3
+ import { PRODUCTION_SNAPSHOT_SCHEMA_VERSION, productionCandidate, productionGenerationSnapshot, productionVariationIdentity, validateProductionAcceptance } from "@nodetool-ai/protocol";
4
+ import { GenerationAlreadyAcceptedError } from "@nodetool-ai/runtime";
5
+ import { Asset, Prediction, Script, Storyboard, TimelineSequence } from "@nodetool-ai/models";
6
+ import { activeTakeIdOf } from "@nodetool-ai/timeline";
7
+ import { acceptVideoProductionCandidatesSpec, inspectVideoProductionCandidatesSpec, prepareVideoProductionSpec, submitVideoProductionSpec } from "./video-production.specs.js";
8
+ import { VIDEO_PRODUCTION_ACCEPTANCE_ADAPTER } from "./video-production-acceptance.js";
9
+ import { publicGenerationStatus } from "./generations.js";
10
+ import { isNonBlankString, isNumber, isRecord, isString } from "../utils/type-guards.js";
11
+ export const VIDEO_PRODUCTION_SCHEMA_VERSION = "ai-video-production.v1";
12
+ function failure(code, message, field) {
13
+ const validationError = { code, message };
14
+ if (field)
15
+ validationError.field = field;
16
+ return { ok: false, error: validationError };
17
+ }
18
+ function freezeDeep(value) {
19
+ if (Array.isArray(value)) {
20
+ for (const child of value) {
21
+ freezeDeep(child);
22
+ }
23
+ Object.freeze(value);
24
+ return value;
25
+ }
26
+ if (isRecord(value)) {
27
+ for (const child of Object.values(value)) {
28
+ freezeDeep(child);
29
+ }
30
+ Object.freeze(value);
31
+ return value;
32
+ }
33
+ return value;
34
+ }
35
+ function nonBlankField(params, key) {
36
+ const value = params[key];
37
+ return isNonBlankString(value) ? value.trim() : undefined;
38
+ }
39
+ function positiveInteger(value) {
40
+ return isNumber(value) && Number.isInteger(value) && value > 0
41
+ ? value
42
+ : undefined;
43
+ }
44
+ function nonNegativeInteger(value) {
45
+ return isNumber(value) && Number.isInteger(value) && value >= 0
46
+ ? value
47
+ : undefined;
48
+ }
49
+ function stringList(params, key) {
50
+ const raw = params[key];
51
+ if (raw === undefined || raw === null)
52
+ return { ok: true, value: [] };
53
+ if (!Array.isArray(raw)) {
54
+ return failure(`${key}_must_be_array`, `${key} must be an array.`, key);
55
+ }
56
+ const value = [];
57
+ for (const item of raw) {
58
+ if (!isNonBlankString(item)) {
59
+ return failure(`${key}_must_contain_strings`, `${key} must contain only non-empty asset ids.`, key);
60
+ }
61
+ value.push(item.trim());
62
+ }
63
+ if (new Set(value).size !== value.length) {
64
+ return failure(`${key}_must_be_unique`, `${key} must not contain duplicates.`, key);
65
+ }
66
+ return { ok: true, value };
67
+ }
68
+ function destinationKindOf(value) {
69
+ switch (value) {
70
+ case "timeline_clip":
71
+ case "storyboard_shot":
72
+ case "script_line":
73
+ return value;
74
+ default:
75
+ return undefined;
76
+ }
77
+ }
78
+ function destinationOf(value) {
79
+ if (!isRecord(value)) {
80
+ return failure("destination_required", "destination must include document_id, target_type, target_id, and target_revision.", "destination");
81
+ }
82
+ const documentId = nonBlankField(value, "document_id");
83
+ const targetType = destinationKindOf(value["target_type"]);
84
+ const targetId = nonBlankField(value, "target_id");
85
+ const targetRevision = nonBlankField(value, "target_revision");
86
+ if (!documentId || !targetType || !targetId || !targetRevision) {
87
+ return failure("destination_incomplete", "destination needs non-empty document_id, target_type, target_id, and target_revision.", "destination");
88
+ }
89
+ return {
90
+ ok: true,
91
+ value: {
92
+ document_id: documentId,
93
+ target_type: targetType,
94
+ target_id: targetId,
95
+ target_revision: targetRevision
96
+ }
97
+ };
98
+ }
99
+ function authorizationOf(value) {
100
+ if (!isRecord(value)) {
101
+ return failure("authorization_required", "authorization is required.", "authorization");
102
+ }
103
+ const ownerId = nonBlankField(value, "owner_id");
104
+ const projectId = nonBlankField(value, "project_id");
105
+ if (!ownerId || !projectId) {
106
+ return failure("authorization_incomplete", "authorization needs owner_id and project_id.", "authorization");
107
+ }
108
+ return { ok: true, value: { owner_id: ownerId, project_id: projectId } };
109
+ }
110
+ function reviewOf(value) {
111
+ if (!isRecord(value) || value["status"] !== "reviewed") {
112
+ return failure("review_required", "The production plan must be explicitly reviewed before preparation.", "review");
113
+ }
114
+ const fingerprint = nonBlankField(value, "plan_fingerprint");
115
+ if (!fingerprint) {
116
+ return failure("plan_fingerprint_required", "review.plan_fingerprint is required.", "review.plan_fingerprint");
117
+ }
118
+ return { ok: true, value: { status: "reviewed", plan_fingerprint: fingerprint } };
119
+ }
120
+ function routeOf(value) {
121
+ switch (value) {
122
+ case "reference_to_video":
123
+ case "text_to_video":
124
+ case "audio_driven_performance":
125
+ return value;
126
+ default:
127
+ return undefined;
128
+ }
129
+ }
130
+ function operationOf(value) {
131
+ switch (value) {
132
+ case "initial_generation":
133
+ case "new_take":
134
+ case "change_line_delivery":
135
+ case "edit_video":
136
+ return value;
137
+ default:
138
+ return undefined;
139
+ }
140
+ }
141
+ function visualTreatmentOf(value) {
142
+ switch (value) {
143
+ case "actor_to_camera":
144
+ case "product_close_up":
145
+ case "lifestyle_b_roll":
146
+ case "generated_scene":
147
+ return value;
148
+ default:
149
+ return undefined;
150
+ }
151
+ }
152
+ function speechModeOf(value) {
153
+ switch (value) {
154
+ case "none":
155
+ case "off_camera":
156
+ case "on_camera":
157
+ return value;
158
+ default:
159
+ return undefined;
160
+ }
161
+ }
162
+ function timingOf(value) {
163
+ if (!isRecord(value)) {
164
+ return failure("timing_required", "timing is required.", "timing");
165
+ }
166
+ const requested = positiveInteger(value["requested_duration_ms"]);
167
+ const playableStart = nonNegativeInteger(value["playable_start_ms"]) ?? 0;
168
+ const playable = positiveInteger(value["playable_duration_ms"]) ?? requested;
169
+ const measured = positiveInteger(value["measured_source_duration_ms"]);
170
+ if (!requested || !playable) {
171
+ return failure("timing_invalid", "timing durations must be positive integer milliseconds.", "timing");
172
+ }
173
+ const timing = {
174
+ requested_duration_ms: requested,
175
+ playable_start_ms: playableStart,
176
+ playable_duration_ms: playable
177
+ };
178
+ if (measured)
179
+ timing.measured_source_duration_ms = measured;
180
+ return { ok: true, value: timing };
181
+ }
182
+ function wordTimingsOf(value) {
183
+ if (value === undefined || value === null)
184
+ return { ok: true, value: [] };
185
+ if (!Array.isArray(value)) {
186
+ return failure("word_timings_invalid", "word_timings must be an array.", "speech");
187
+ }
188
+ const timings = [];
189
+ for (const item of value) {
190
+ if (!isRecord(item)) {
191
+ return failure("word_timing_invalid", "Each word timing must be an object.", "speech");
192
+ }
193
+ const word = nonBlankField(item, "word");
194
+ const start = nonNegativeInteger(item["start_ms"]);
195
+ const end = positiveInteger(item["end_ms"]);
196
+ if (!word || start === undefined || end === undefined || end < start) {
197
+ return failure("word_timing_invalid", "Word timings need word, start_ms, and end_ms in ascending milliseconds.", "speech");
198
+ }
199
+ timings.push({ word, start_ms: start, end_ms: end });
200
+ }
201
+ return { ok: true, value: timings };
202
+ }
203
+ function speechSnapshotOf(value) {
204
+ if (value === undefined || value === null)
205
+ return { ok: true };
206
+ if (!isRecord(value)) {
207
+ return failure("speech_invalid", "speech_snapshot must be an object.", "speech");
208
+ }
209
+ const wordTimings = wordTimingsOf(value["word_timings"]);
210
+ if (!wordTimings.ok)
211
+ return wordTimings;
212
+ const snapshot = { word_timings: wordTimings.value };
213
+ const text = nonBlankField(value, "text");
214
+ const direction = nonBlankField(value, "direction");
215
+ const scriptId = nonBlankField(value, "script_id");
216
+ const scriptLineId = nonBlankField(value, "script_line_id");
217
+ const speakerId = nonBlankField(value, "speaker_id");
218
+ const entityId = nonBlankField(value, "entity_id");
219
+ const audioAssetId = nonBlankField(value, "audio_asset_id");
220
+ const audioTakeId = nonBlankField(value, "audio_take_id");
221
+ if (text)
222
+ snapshot.text = text;
223
+ if (direction)
224
+ snapshot.direction = direction;
225
+ if (scriptId)
226
+ snapshot.script_id = scriptId;
227
+ if (scriptLineId)
228
+ snapshot.script_line_id = scriptLineId;
229
+ if (speakerId)
230
+ snapshot.speaker_id = speakerId;
231
+ if (entityId)
232
+ snapshot.entity_id = entityId;
233
+ if (audioAssetId)
234
+ snapshot.audio_asset_id = audioAssetId;
235
+ if (audioTakeId)
236
+ snapshot.audio_take_id = audioTakeId;
237
+ if (isRecord(value["voice"]))
238
+ snapshot.voice = structuredClone(value["voice"]);
239
+ const measured = positiveInteger(value["measured_duration_ms"]);
240
+ if (measured)
241
+ snapshot.measured_duration_ms = measured;
242
+ return { ok: true, value: snapshot };
243
+ }
244
+ function candidateCountOf(value) {
245
+ if (value === undefined || value === null)
246
+ return 1;
247
+ return isNumber(value) && Number.isInteger(value) ? value : 0;
248
+ }
249
+ /** Validate one fully resolved reviewed request before any provider call. */
250
+ export function preflightVideoProduction(params) {
251
+ const authorization = authorizationOf(params["authorization"]);
252
+ if (!authorization.ok)
253
+ return authorization;
254
+ const destination = destinationOf(params["destination"]);
255
+ if (!destination.ok)
256
+ return destination;
257
+ const review = reviewOf(params["review"]);
258
+ if (!review.ok)
259
+ return review;
260
+ const operation = operationOf(params["operation"]);
261
+ const visualTreatment = visualTreatmentOf(params["visual_treatment"]);
262
+ const speechMode = speechModeOf(params["speech_mode"]);
263
+ const route = routeOf(params["route"]);
264
+ if (!operation || !visualTreatment || !speechMode || !route) {
265
+ return failure("production_contract_invalid", "operation, visual_treatment, speech_mode, and route must use supported values.");
266
+ }
267
+ const provider = nonBlankField(params, "provider");
268
+ const model = nonBlankField(params, "model");
269
+ const prompt = nonBlankField(params, "prompt");
270
+ if (!provider || !model || !prompt) {
271
+ return failure("request_incomplete", "provider, model, and prompt must be non-empty.", !provider ? "provider" : !model ? "model" : "prompt");
272
+ }
273
+ const timing = timingOf(params["timing"]);
274
+ if (!timing.ok)
275
+ return timing;
276
+ const required = stringList(params, "required_reference_asset_ids");
277
+ if (!required.ok)
278
+ return required;
279
+ const references = stringList(params, "reference_asset_ids");
280
+ if (!references.ok)
281
+ return references;
282
+ const missing = required.value.filter((id) => !references.value.includes(id));
283
+ if (missing.length > 0) {
284
+ return failure("required_reference_assets_missing", `Required references are missing: ${missing.join(", ")}.`, "reference_asset_ids");
285
+ }
286
+ const speech = speechSnapshotOf(params["speech_snapshot"]);
287
+ if (!speech.ok)
288
+ return speech;
289
+ if (speechMode === "none" && speech.value !== undefined) {
290
+ return failure("unexpected_speech", "speech_mode none cannot carry speech.", "speech");
291
+ }
292
+ if (speechMode !== "none" && speech.value === undefined) {
293
+ return failure("speech_required", `${speechMode} requires a resolved speech snapshot.`, "speech");
294
+ }
295
+ if (speechMode === "on_camera" && route !== "audio_driven_performance") {
296
+ return failure("on_camera_route_required", "On-camera speech requires audio_driven_performance. Narration is not a fallback.", "route");
297
+ }
298
+ if (route === "audio_driven_performance" && speechMode !== "on_camera") {
299
+ return failure("performance_route_requires_on_camera_speech", "audio_driven_performance is only valid for on-camera speech.", "route");
300
+ }
301
+ if (route === "reference_to_video" && references.value.length === 0) {
302
+ return failure("reference_assets_required", "reference_to_video requires at least one approved reference asset.", "reference_asset_ids");
303
+ }
304
+ if (route === "text_to_video" && references.value.length > 0) {
305
+ return failure(required.value.length > 0
306
+ ? "text_only_route_rejected"
307
+ : "text_only_route_would_drop_references", "text_to_video cannot consume approved references. Choose a reviewed reference route.", "route");
308
+ }
309
+ const characterReference = nonBlankField(params, "character_reference_asset_id");
310
+ const performanceSource = nonBlankField(params, "performance_source_asset_id");
311
+ if (route === "audio_driven_performance") {
312
+ if (!speech.value?.audio_asset_id) {
313
+ return failure("performance_audio_required", "audio_driven_performance requires the exact recorded audio asset.", "speech");
314
+ }
315
+ if (!speech.value.entity_id || !characterReference || !performanceSource) {
316
+ return failure("performance_character_required", "audio_driven_performance requires an entity, character reference, and source face video.", "speech");
317
+ }
318
+ if (!references.value.includes(characterReference) ||
319
+ !references.value.includes(performanceSource)) {
320
+ return failure("performance_references_missing", "Character and performance source assets must be approved references.", "reference_asset_ids");
321
+ }
322
+ const unsupportedRequired = required.value.filter((id) => id !== performanceSource);
323
+ if (unsupportedRequired.length > 0) {
324
+ return failure("performance_route_cannot_consume_required_references", `The current audio-driven adapter cannot consume required references: ${unsupportedRequired.join(", ")}. Choose another reviewed route.`, "route");
325
+ }
326
+ if (!speech.value.measured_duration_ms) {
327
+ return failure("speech_duration_required", "Measure the selected speech audio before performance generation.", "speech");
328
+ }
329
+ if (speech.value.measured_duration_ms > timing.value.playable_duration_ms) {
330
+ return failure("speech_exceeds_slot", `Speech is ${speech.value.measured_duration_ms}ms but the playable slot is ${timing.value.playable_duration_ms}ms. Choose an explicit copy, voice, or timing change.`, "timing");
331
+ }
332
+ }
333
+ const candidateCount = candidateCountOf(params["candidate_count"]);
334
+ if (candidateCount < 1 || candidateCount > 3) {
335
+ return failure("candidate_count_out_of_range", "candidate_count must be an integer from one through three.", "candidate_count");
336
+ }
337
+ const generationParams = params["generation_params"];
338
+ if (generationParams !== undefined && !isRecord(generationParams)) {
339
+ return failure("generation_params_must_be_object", "generation_params must be an object.", "generation_params");
340
+ }
341
+ const outputFormat = nonBlankField(params, "output_format") ?? "video/mp4";
342
+ const request = {
343
+ authorization: authorization.value,
344
+ destination: destination.value,
345
+ review: review.value,
346
+ operation,
347
+ visual_treatment: visualTreatment,
348
+ speech_mode: speechMode,
349
+ route,
350
+ provider,
351
+ model,
352
+ prompt,
353
+ required_reference_asset_ids: required.value,
354
+ reference_asset_ids: references.value,
355
+ candidate_count: candidateCount,
356
+ timing: timing.value,
357
+ output_format: outputFormat,
358
+ generation_params: generationParams ? structuredClone(generationParams) : {}
359
+ };
360
+ const optional = {};
361
+ if (speech.value)
362
+ optional.speech = structuredClone(speech.value);
363
+ if (characterReference)
364
+ optional.character_reference_asset_id = characterReference;
365
+ if (performanceSource)
366
+ optional.performance_source_asset_id = performanceSource;
367
+ return { ok: true, request: { ...request, ...optional } };
368
+ }
369
+ function snapshotFor(request, batchId, identity) {
370
+ const speech = request.speech
371
+ ? {
372
+ text: request.speech.text,
373
+ direction: request.speech.direction,
374
+ voice: request.speech.voice,
375
+ audioAssetId: request.speech.audio_asset_id,
376
+ audioTakeId: request.speech.audio_take_id,
377
+ scriptId: request.speech.script_id,
378
+ scriptLineId: request.speech.script_line_id,
379
+ speakerId: request.speech.speaker_id,
380
+ entityId: request.speech.entity_id,
381
+ measuredDurationMs: request.speech.measured_duration_ms,
382
+ wordTimings: request.speech.word_timings.map((word) => ({
383
+ word: word.word,
384
+ startMs: word.start_ms,
385
+ endMs: word.end_ms
386
+ }))
387
+ }
388
+ : undefined;
389
+ const parsed = productionGenerationSnapshot.parse({
390
+ schemaVersion: PRODUCTION_SNAPSHOT_SCHEMA_VERSION,
391
+ batchId,
392
+ requestId: identity.requestId,
393
+ candidateId: identity.candidateId,
394
+ variationId: identity.variationId,
395
+ variationIndex: identity.variationIndex,
396
+ destinationKind: identity.destinationKind,
397
+ destinationId: identity.destinationId,
398
+ operation: request.operation,
399
+ authoringFingerprint: request.review.plan_fingerprint,
400
+ entityIds: request.speech?.entity_id ? [request.speech.entity_id] : [],
401
+ referenceAssetIds: [...request.reference_asset_ids],
402
+ prompt: request.prompt,
403
+ speech,
404
+ provider: request.provider,
405
+ model: request.model,
406
+ parameters: structuredClone(request.generation_params),
407
+ outputFormat: request.output_format,
408
+ requestedDurationMs: request.timing.requested_duration_ms
409
+ });
410
+ const snapshot = {
411
+ ...parsed,
412
+ documentId: request.destination.document_id,
413
+ authorization: structuredClone(request.authorization),
414
+ preconditions: {
415
+ target_revision: request.destination.target_revision,
416
+ plan_fingerprint: request.review.plan_fingerprint,
417
+ requested_duration_ms: request.timing.requested_duration_ms,
418
+ playable_start_ms: request.timing.playable_start_ms,
419
+ playable_duration_ms: request.timing.playable_duration_ms
420
+ },
421
+ route: request.route,
422
+ visualTreatment: request.visual_treatment,
423
+ speechMode: request.speech_mode,
424
+ suppressEmbeddedAudio: request.route === "audio_driven_performance"
425
+ };
426
+ return freezeDeep(snapshot);
427
+ }
428
+ /** Build stable shared identities and immutable candidate snapshots. */
429
+ export function prepareVideoProduction(params) {
430
+ const preflight = preflightVideoProduction(params);
431
+ if (!preflight.ok)
432
+ return preflight.error;
433
+ const batchId = nonBlankField(params, "batch_id") ?? randomUUID();
434
+ const candidateRequests = Array.from({ length: preflight.request.candidate_count }, (_, index) => {
435
+ const identity = productionVariationIdentity({
436
+ batchId,
437
+ destinationKind: preflight.request.destination.target_type,
438
+ destinationId: preflight.request.destination.target_id,
439
+ variationIndex: index + 1
440
+ });
441
+ return {
442
+ ...identity,
443
+ snapshot: snapshotFor(preflight.request, batchId, identity)
444
+ };
445
+ });
446
+ return {
447
+ schema_version: VIDEO_PRODUCTION_SCHEMA_VERSION,
448
+ batch_id: batchId,
449
+ request: structuredClone(preflight.request),
450
+ candidate_requests: candidateRequests
451
+ };
452
+ }
453
+ async function targetState(run, destination, projectId) {
454
+ const userId = run.context.userId;
455
+ if (!isNonBlankString(userId)) {
456
+ return failure("owner_required", "No authenticated owner is bound to this run.");
457
+ }
458
+ if (isNonBlankString(run.projectId) && run.projectId !== projectId) {
459
+ return failure("project_scope_mismatch", `The run is bound to project ${run.projectId}, not ${projectId}.`, "project_id");
460
+ }
461
+ if (destination.target_type === "timeline_clip") {
462
+ const row = await TimelineSequence.findById(destination.document_id);
463
+ if (!row || row.user_id !== userId || row.project_id !== projectId) {
464
+ return failure("destination_not_found", "The timeline destination was not found in this project.");
465
+ }
466
+ const clip = row.toDocument().clips.find((item) => item.id === destination.target_id);
467
+ if (!clip)
468
+ return failure("target_not_found", "The timeline clip no longer exists.");
469
+ const accepted = activeTakeIdOf(clip) ?? clip.currentAssetId;
470
+ const value = {
471
+ authorization: { owner_id: userId, project_id: projectId },
472
+ revision: String(row.revision)
473
+ };
474
+ if (accepted)
475
+ value.accepted_candidate_id = accepted;
476
+ return { ok: true, value };
477
+ }
478
+ if (destination.target_type === "storyboard_shot") {
479
+ const row = await Storyboard.findById(destination.document_id);
480
+ if (!row || row.user_id !== userId || row.project_id !== projectId) {
481
+ return failure("destination_not_found", "The storyboard destination was not found in this project.");
482
+ }
483
+ const shot = row.toDocument().shots.find((item) => item.id === destination.target_id);
484
+ if (!shot)
485
+ return failure("target_not_found", "The storyboard shot no longer exists.");
486
+ const value = {
487
+ authorization: { owner_id: userId, project_id: projectId },
488
+ revision: String(row.revision)
489
+ };
490
+ if (shot.clip?.asset_id)
491
+ value.accepted_candidate_id = shot.clip.asset_id;
492
+ return { ok: true, value };
493
+ }
494
+ const row = await Script.findById(destination.document_id);
495
+ if (!row || row.user_id !== userId || row.project_id !== projectId) {
496
+ return failure("destination_not_found", "The script destination was not found in this project.");
497
+ }
498
+ const line = row
499
+ .toDocument()
500
+ .sections.flatMap((section) => section.lines)
501
+ .find((item) => item.id === destination.target_id);
502
+ if (!line)
503
+ return failure("target_not_found", "The script line no longer exists.");
504
+ const value = {
505
+ authorization: { owner_id: userId, project_id: projectId },
506
+ revision: row.updated_at
507
+ };
508
+ if (line.currentTakeId)
509
+ value.accepted_candidate_id = line.currentTakeId;
510
+ return { ok: true, value };
511
+ }
512
+ function voiceRecord(voice) {
513
+ if (!voice)
514
+ return undefined;
515
+ const record = {
516
+ provider: voice.provider,
517
+ model: voice.model,
518
+ voice: voice.voice
519
+ };
520
+ if (voice.settings)
521
+ record["settings"] = structuredClone(voice.settings);
522
+ return record;
523
+ }
524
+ function wordsFromScript(words) {
525
+ return words.map((word) => ({
526
+ word: word.word,
527
+ start_ms: word.startMs,
528
+ end_ms: word.endMs
529
+ }));
530
+ }
531
+ async function resolveSpeechForRun(run, value, speechMode, projectId) {
532
+ if (speechMode === "none") {
533
+ return value === undefined || value === null
534
+ ? { ok: true }
535
+ : failure("unexpected_speech", "speech_mode none cannot carry speech.", "speech");
536
+ }
537
+ if (!isRecord(value)) {
538
+ return failure("speech_required", `${speechMode} requires speech.`, "speech");
539
+ }
540
+ const scriptId = nonBlankField(value, "script_id");
541
+ const scriptLineId = nonBlankField(value, "script_line_id");
542
+ if (scriptId || scriptLineId) {
543
+ if (!scriptId || !scriptLineId || !isNonBlankString(run.context.userId)) {
544
+ return failure("linked_speech_incomplete", "Linked speech requires script_id and script_line_id.", "speech");
545
+ }
546
+ const script = await Script.findById(scriptId);
547
+ if (!script ||
548
+ script.user_id !== run.context.userId ||
549
+ script.project_id !== projectId) {
550
+ return failure("linked_script_not_found", "The linked script was not found in this project.");
551
+ }
552
+ const document = script.toDocument();
553
+ const line = document.sections
554
+ .flatMap((section) => section.lines)
555
+ .find((item) => item.id === scriptLineId);
556
+ if (!line)
557
+ return failure("linked_line_not_found", "The linked script line no longer exists.");
558
+ const speaker = line.speakerId
559
+ ? document.cast.find((item) => item.id === line.speakerId)
560
+ : undefined;
561
+ const takeId = nonBlankField(value, "take_id") ?? line.currentTakeId ?? undefined;
562
+ const take = takeId ? line.takes.find((item) => item.id === takeId) : undefined;
563
+ const snapshot = {
564
+ text: line.text,
565
+ script_id: scriptId,
566
+ script_line_id: scriptLineId,
567
+ word_timings: take ? wordsFromScript(take.words) : []
568
+ };
569
+ const direction = nonBlankField(value, "direction") ?? line.direction;
570
+ if (direction)
571
+ snapshot.direction = direction;
572
+ if (line.speakerId)
573
+ snapshot.speaker_id = line.speakerId;
574
+ if (speaker?.entityId)
575
+ snapshot.entity_id = speaker.entityId;
576
+ const voice = voiceRecord(line.voiceOverride ?? speaker?.voice);
577
+ if (voice)
578
+ snapshot.voice = voice;
579
+ if (take) {
580
+ snapshot.audio_asset_id = take.assetId;
581
+ snapshot.audio_take_id = take.id;
582
+ snapshot.measured_duration_ms = take.durationMs;
583
+ }
584
+ return { ok: true, value: snapshot };
585
+ }
586
+ const local = speechSnapshotOf(value);
587
+ if (!local.ok || !local.value)
588
+ return local;
589
+ if (!local.value.text && !local.value.audio_asset_id) {
590
+ return failure("local_speech_incomplete", "Unlinked speech requires text or an audio asset and does not require a hidden Script document.", "speech");
591
+ }
592
+ return { ok: true, value: local.value };
593
+ }
594
+ async function resolvedRequestForRun(run, params) {
595
+ const projectId = nonBlankField(params, "project_id");
596
+ if (!projectId) {
597
+ return failure("project_id_required", "project_id is required.", "project_id");
598
+ }
599
+ const destinationRaw = params["destination"];
600
+ if (!isRecord(destinationRaw)) {
601
+ return failure("destination_required", "destination is required.", "destination");
602
+ }
603
+ const documentId = nonBlankField(destinationRaw, "document_id");
604
+ const targetType = destinationKindOf(destinationRaw["target_type"]);
605
+ const targetId = nonBlankField(destinationRaw, "target_id");
606
+ if (!documentId || !targetType || !targetId) {
607
+ return failure("destination_incomplete", "destination needs document_id, target_type, and target_id.");
608
+ }
609
+ const state = await targetState(run, { document_id: documentId, target_type: targetType, target_id: targetId }, projectId);
610
+ if (!state.ok)
611
+ return state;
612
+ const expectedRevision = nonBlankField(destinationRaw, "target_revision");
613
+ if (expectedRevision && expectedRevision !== state.value.revision) {
614
+ return failure("target_revision_conflict", `The target is revision ${state.value.revision}, not ${expectedRevision}.`, "destination.target_revision");
615
+ }
616
+ const speechMode = speechModeOf(params["speech_mode"]);
617
+ if (!speechMode) {
618
+ return failure("speech_mode_invalid", "speech_mode is invalid.", "speech_mode");
619
+ }
620
+ const speech = await resolveSpeechForRun(run, params["speech"], speechMode, projectId);
621
+ if (!speech.ok)
622
+ return speech;
623
+ return preflightVideoProduction({
624
+ ...params,
625
+ authorization: state.value.authorization,
626
+ destination: {
627
+ document_id: documentId,
628
+ target_type: targetType,
629
+ target_id: targetId,
630
+ target_revision: state.value.revision
631
+ },
632
+ speech_snapshot: speech.value
633
+ });
634
+ }
635
+ async function assetsForRequest(run, request) {
636
+ const userId = run.context.userId;
637
+ if (!isNonBlankString(userId)) {
638
+ return failure("owner_required", "No authenticated owner is bound to this run.");
639
+ }
640
+ const ids = new Set(request.reference_asset_ids);
641
+ if (request.speech?.audio_asset_id)
642
+ ids.add(request.speech.audio_asset_id);
643
+ if (request.performance_source_asset_id)
644
+ ids.add(request.performance_source_asset_id);
645
+ const assets = new Map();
646
+ for (const id of ids) {
647
+ const asset = await Asset.find(userId, id);
648
+ if (!asset || asset.project_id !== request.authorization.project_id) {
649
+ return failure("asset_not_authorized", `Asset ${id} was not found in the authorized project.`, "reference_asset_ids");
650
+ }
651
+ assets.set(id, asset);
652
+ }
653
+ if (request.route === "audio_driven_performance") {
654
+ const source = request.performance_source_asset_id
655
+ ? assets.get(request.performance_source_asset_id)
656
+ : undefined;
657
+ const audio = request.speech?.audio_asset_id
658
+ ? assets.get(request.speech.audio_asset_id)
659
+ : undefined;
660
+ if (!source?.content_type.startsWith("video/")) {
661
+ return failure("performance_source_must_be_video", "The current audio-driven adapter requires a video face reference.", "performance_source_asset_id");
662
+ }
663
+ if (!audio?.content_type.startsWith("audio/")) {
664
+ return failure("performance_audio_must_be_audio", "The recorded performance input must be an audio asset.", "speech");
665
+ }
666
+ }
667
+ return { ok: true, value: assets };
668
+ }
669
+ function capabilityForRoute(route) {
670
+ switch (route) {
671
+ case "text_to_video":
672
+ return "text_to_video";
673
+ case "reference_to_video":
674
+ return "reference_to_video";
675
+ case "audio_driven_performance":
676
+ return "lip_sync";
677
+ }
678
+ }
679
+ async function providerPreflight(run, request) {
680
+ if (run.providers === undefined)
681
+ return null;
682
+ const provider = run.providers[request.provider];
683
+ if (!provider) {
684
+ return failure("provider_unavailable", `Provider ${request.provider} is not configured for this run.`, "provider");
685
+ }
686
+ const unavailable = await provider.unavailableReason();
687
+ if (unavailable) {
688
+ return failure("provider_unavailable", unavailable, "provider");
689
+ }
690
+ const capability = capabilityForRoute(request.route);
691
+ const capabilities = new Set(provider.getCapabilities());
692
+ if (!capabilities.has(capability)) {
693
+ return failure("route_adapter_unavailable", `Provider ${request.provider} does not expose ${capability}; ${request.route} will not fall back to another route.`, "route");
694
+ }
695
+ return null;
696
+ }
697
+ async function bytesForAsset(run, id) {
698
+ const result = await run.context.resolveAssetBytes(`asset://${id}`);
699
+ if (result.bytes === null) {
700
+ return failure("asset_bytes_unavailable", `Asset ${id} could not be resolved. No provider call was submitted.`);
701
+ }
702
+ return { ok: true, value: result.bytes };
703
+ }
704
+ async function resolveInputs(run, request, assets) {
705
+ const images = [];
706
+ const videos = [];
707
+ for (const id of request.reference_asset_ids) {
708
+ const resolved = await bytesForAsset(run, id);
709
+ if (!resolved.ok)
710
+ return resolved;
711
+ const asset = assets.get(id);
712
+ if (asset?.content_type.startsWith("video/"))
713
+ videos.push(resolved.value);
714
+ else if (asset?.content_type.startsWith("image/"))
715
+ images.push(resolved.value);
716
+ else {
717
+ return failure("reference_media_unsupported", `Reference asset ${id} is not an image or video.`, "reference_asset_ids");
718
+ }
719
+ }
720
+ if (request.route !== "audio_driven_performance") {
721
+ return { ok: true, value: { reference_images: images, reference_videos: videos } };
722
+ }
723
+ const sourceId = request.performance_source_asset_id;
724
+ const audioId = request.speech?.audio_asset_id;
725
+ if (!sourceId || !audioId) {
726
+ return failure("performance_inputs_missing", "Performance source video and audio are required.");
727
+ }
728
+ const performanceVideo = await bytesForAsset(run, sourceId);
729
+ if (!performanceVideo.ok)
730
+ return performanceVideo;
731
+ const performanceAudio = await bytesForAsset(run, audioId);
732
+ if (!performanceAudio.ok)
733
+ return performanceAudio;
734
+ return {
735
+ ok: true,
736
+ value: {
737
+ reference_images: images,
738
+ reference_videos: videos,
739
+ performance_video: performanceVideo.value,
740
+ performance_audio: performanceAudio.value
741
+ }
742
+ };
743
+ }
744
+ function snapshotOf(value) {
745
+ if (!isRecord(value))
746
+ return failure("snapshot_invalid", "Candidate snapshot is invalid.");
747
+ const parsed = productionGenerationSnapshot.safeParse(value);
748
+ if (!parsed.success)
749
+ return failure("snapshot_invalid", parsed.error.message);
750
+ const documentId = nonBlankField(value, "documentId");
751
+ const authorization = authorizationOf(value["authorization"]);
752
+ const preconditions = preconditionsOf(value["preconditions"]);
753
+ const route = routeOf(value["route"]);
754
+ const visualTreatment = visualTreatmentOf(value["visualTreatment"]);
755
+ const speechMode = speechModeOf(value["speechMode"]);
756
+ if (!documentId ||
757
+ !authorization.ok ||
758
+ !preconditions.ok ||
759
+ !route ||
760
+ !visualTreatment ||
761
+ !speechMode ||
762
+ typeof value["suppressEmbeddedAudio"] !== "boolean") {
763
+ return failure("snapshot_contract_incomplete", "Candidate snapshot contract is incomplete.");
764
+ }
765
+ return {
766
+ ok: true,
767
+ value: {
768
+ ...parsed.data,
769
+ documentId,
770
+ authorization: authorization.value,
771
+ preconditions: preconditions.value,
772
+ route,
773
+ visualTreatment,
774
+ speechMode,
775
+ suppressEmbeddedAudio: value["suppressEmbeddedAudio"]
776
+ }
777
+ };
778
+ }
779
+ function preconditionsOf(value) {
780
+ if (!isRecord(value))
781
+ return failure("preconditions_invalid", "Preconditions are required.");
782
+ const targetRevision = nonBlankField(value, "target_revision");
783
+ const fingerprint = nonBlankField(value, "plan_fingerprint");
784
+ const requested = positiveInteger(value["requested_duration_ms"]);
785
+ const playableStart = nonNegativeInteger(value["playable_start_ms"]);
786
+ const playable = positiveInteger(value["playable_duration_ms"]);
787
+ if (!targetRevision || !fingerprint || !requested || playableStart === undefined || !playable) {
788
+ return failure("preconditions_invalid", "Candidate preconditions are incomplete.");
789
+ }
790
+ return {
791
+ ok: true,
792
+ value: {
793
+ target_revision: targetRevision,
794
+ plan_fingerprint: fingerprint,
795
+ requested_duration_ms: requested,
796
+ playable_start_ms: playableStart,
797
+ playable_duration_ms: playable
798
+ }
799
+ };
800
+ }
801
+ function preparedOf(value) {
802
+ if (!isRecord(value) || value["schema_version"] !== VIDEO_PRODUCTION_SCHEMA_VERSION) {
803
+ return failure("prepared_schema_unsupported", `prepared.schema_version must be ${VIDEO_PRODUCTION_SCHEMA_VERSION}.`);
804
+ }
805
+ const batchId = nonBlankField(value, "batch_id");
806
+ if (!batchId)
807
+ return failure("batch_id_required", "prepared.batch_id is required.");
808
+ if (!isRecord(value["request"])) {
809
+ return failure("prepared_request_missing", "prepared.request is required.");
810
+ }
811
+ const request = preflightVideoProduction(value["request"]);
812
+ if (!request.ok)
813
+ return request;
814
+ const rawCandidates = value["candidate_requests"];
815
+ if (!Array.isArray(rawCandidates) || rawCandidates.length !== request.request.candidate_count) {
816
+ return failure("candidate_requests_mismatch", "prepared.candidate_requests must contain exactly candidate_count entries.");
817
+ }
818
+ const candidates = [];
819
+ for (const raw of rawCandidates) {
820
+ if (!isRecord(raw))
821
+ return failure("candidate_request_invalid", "Candidate request is invalid.");
822
+ const candidateId = nonBlankField(raw, "candidateId");
823
+ const requestId = nonBlankField(raw, "requestId");
824
+ const variationId = nonBlankField(raw, "variationId");
825
+ const variationIndex = positiveInteger(raw["variationIndex"]);
826
+ const destinationKind = destinationKindOf(raw["destinationKind"]);
827
+ const destinationId = nonBlankField(raw, "destinationId");
828
+ const snapshot = snapshotOf(raw["snapshot"]);
829
+ if (!candidateId ||
830
+ !requestId ||
831
+ !variationId ||
832
+ !variationIndex ||
833
+ !destinationKind ||
834
+ !destinationId ||
835
+ !snapshot.ok) {
836
+ return failure("candidate_request_incomplete", "Candidate request identity is incomplete.");
837
+ }
838
+ const expected = productionVariationIdentity({
839
+ batchId,
840
+ destinationKind,
841
+ destinationId,
842
+ variationIndex
843
+ });
844
+ if (expected.candidateId !== candidateId ||
845
+ expected.requestId !== requestId ||
846
+ expected.variationId !== variationId ||
847
+ snapshot.value.candidateId !== candidateId ||
848
+ snapshot.value.requestId !== requestId) {
849
+ return failure("candidate_identity_changed", "Prepared candidate identities or snapshots were modified after review.");
850
+ }
851
+ candidates.push({ ...expected, snapshot: snapshot.value });
852
+ }
853
+ return {
854
+ ok: true,
855
+ value: {
856
+ schema_version: VIDEO_PRODUCTION_SCHEMA_VERSION,
857
+ batch_id: batchId,
858
+ request: request.request,
859
+ candidate_requests: candidates
860
+ }
861
+ };
862
+ }
863
+ function outputDurationFromAssetRef(asset) {
864
+ if (!asset || !isRecord(asset.metadata))
865
+ return undefined;
866
+ const durationMs = positiveInteger(asset.metadata["duration_ms"]);
867
+ if (durationMs)
868
+ return durationMs;
869
+ const seconds = asset.metadata["duration"];
870
+ return isNumber(seconds) && seconds > 0 ? Math.round(seconds * 1000) : undefined;
871
+ }
872
+ function timingForCandidate(preconditions, outputDurationMs) {
873
+ const timing = {
874
+ requested_duration_ms: preconditions.requested_duration_ms,
875
+ playable_duration_ms: preconditions.playable_duration_ms,
876
+ status: "unverified"
877
+ };
878
+ if (outputDurationMs !== undefined) {
879
+ timing.output_duration_ms = outputDurationMs;
880
+ timing.status =
881
+ outputDurationMs >= preconditions.playable_duration_ms ? "valid" : "too_short";
882
+ }
883
+ return timing;
884
+ }
885
+ function candidateFromState(prepared, candidateRequest, state) {
886
+ const assetIds = state.assetIds ?? [];
887
+ const base = productionCandidate.parse({
888
+ candidateId: candidateRequest.candidateId,
889
+ batchId: prepared.batch_id,
890
+ requestId: candidateRequest.requestId,
891
+ variationId: candidateRequest.variationId,
892
+ variationIndex: candidateRequest.variationIndex,
893
+ destinationKind: candidateRequest.destinationKind,
894
+ destinationId: candidateRequest.destinationId,
895
+ documentId: prepared.request.destination.document_id,
896
+ status: state.status,
897
+ assetId: assetIds[0],
898
+ error: state.error,
899
+ snapshot: candidateRequest.snapshot
900
+ });
901
+ const candidate = {
902
+ ...base,
903
+ snapshot: candidateRequest.snapshot,
904
+ documentId: prepared.request.destination.document_id,
905
+ document_id: prepared.request.destination.document_id,
906
+ authorization: structuredClone(prepared.request.authorization),
907
+ preconditions: structuredClone(candidateRequest.snapshot.preconditions),
908
+ asset_ids: [...assetIds],
909
+ active: false,
910
+ accepted: false,
911
+ timing: timingForCandidate(candidateRequest.snapshot.preconditions, state.outputDurationMs)
912
+ };
913
+ return state.generationId
914
+ ? { ...candidate, generation_id: state.generationId }
915
+ : candidate;
916
+ }
917
+ async function outputDurationForAsset(userId, assetId) {
918
+ if (!assetId)
919
+ return undefined;
920
+ const asset = await Asset.find(userId, assetId);
921
+ return isNumber(asset?.duration) && asset.duration > 0
922
+ ? Math.round(asset.duration * 1000)
923
+ : undefined;
924
+ }
925
+ async function recoveredCandidate(prepared, candidateRequest) {
926
+ const userId = prepared.request.authorization.owner_id;
927
+ const row = await Prediction.findForUser(userId, candidateRequest.requestId);
928
+ if (!row)
929
+ return null;
930
+ const assetIds = Array.isArray(row.asset_ids)
931
+ ? row.asset_ids.filter(isNonBlankString)
932
+ : [];
933
+ const publicStatus = publicGenerationStatus(row);
934
+ const status = publicStatus === "completed"
935
+ ? assetIds.length > 0
936
+ ? "ready"
937
+ : "failed"
938
+ : publicStatus === "running"
939
+ ? "generating"
940
+ : publicStatus === "pending"
941
+ ? "queued"
942
+ : publicStatus === "cancelled"
943
+ ? "cancelled"
944
+ : "failed";
945
+ const outputDurationMs = await outputDurationForAsset(userId, assetIds[0]);
946
+ return candidateFromState(prepared, candidateRequest, {
947
+ generationId: row.id,
948
+ assetIds,
949
+ status,
950
+ error: publicStatus === "completed" && assetIds.length === 0
951
+ ? "Generation completed without a persisted asset."
952
+ : undefined,
953
+ outputDurationMs
954
+ });
955
+ }
956
+ function generationParams(request, inputs, snapshot) {
957
+ const params = {
958
+ ...structuredClone(request.generation_params),
959
+ prompt: request.prompt,
960
+ production_snapshot: snapshot
961
+ };
962
+ if (request.route === "reference_to_video") {
963
+ params["reference_images"] = inputs.reference_images;
964
+ params["reference_videos"] = inputs.reference_videos;
965
+ params["duration_seconds"] = request.timing.requested_duration_ms / 1000;
966
+ }
967
+ else if (request.route === "text_to_video") {
968
+ params["duration_seconds"] = request.timing.requested_duration_ms / 1000;
969
+ }
970
+ else {
971
+ params["video"] = inputs.performance_video;
972
+ params["audio"] = inputs.performance_audio;
973
+ }
974
+ return params;
975
+ }
976
+ async function submitCandidate(run, prepared, candidateRequest, inputs) {
977
+ const recovered = await recoveredCandidate(prepared, candidateRequest);
978
+ if (recovered)
979
+ return recovered;
980
+ const request = {
981
+ id: candidateRequest.requestId,
982
+ provider: prepared.request.provider,
983
+ capability: capabilityForRoute(prepared.request.route),
984
+ model: prepared.request.model,
985
+ params: generationParams(prepared.request, inputs, candidateRequest.snapshot),
986
+ origin: { surface: "capability" },
987
+ persist: {
988
+ name: `${prepared.batch_id}-${candidateRequest.variationIndex}`,
989
+ mime: prepared.request.output_format
990
+ },
991
+ destination: {
992
+ document_id: prepared.request.destination.document_id,
993
+ target_type: prepared.request.destination.target_type,
994
+ target_id: prepared.request.destination.target_id,
995
+ selected: false
996
+ }
997
+ };
998
+ try {
999
+ const result = await run.context.runGeneration(request);
1000
+ const assetIds = result.assets.flatMap((asset) => isNonBlankString(asset.asset_id) ? [asset.asset_id] : []);
1001
+ const duration = outputDurationFromAssetRef(result.assets[0]);
1002
+ return candidateFromState(prepared, candidateRequest, {
1003
+ generationId: result.id,
1004
+ assetIds,
1005
+ status: assetIds.length > 0 ? "ready" : "failed",
1006
+ error: assetIds.length > 0 ? undefined : "Generation completed without a persisted asset.",
1007
+ outputDurationMs: duration
1008
+ });
1009
+ }
1010
+ catch (cause) {
1011
+ if (cause instanceof GenerationAlreadyAcceptedError) {
1012
+ const existing = await recoveredCandidate(prepared, candidateRequest);
1013
+ if (existing)
1014
+ return existing;
1015
+ }
1016
+ return candidateFromState(prepared, candidateRequest, {
1017
+ generationId: candidateRequest.requestId,
1018
+ status: "failed",
1019
+ error: cause instanceof Error ? cause.message : String(cause)
1020
+ });
1021
+ }
1022
+ }
1023
+ async function submitPrepared(run, prepared) {
1024
+ const request = prepared.request;
1025
+ if (request.authorization.owner_id !== run.context.userId) {
1026
+ return { ok: false, code: "owner_mismatch", error: "Prepared owner does not match this run." };
1027
+ }
1028
+ const target = await targetState(run, request.destination, request.authorization.project_id);
1029
+ if (!target.ok) {
1030
+ return { ok: false, code: target.error.code, error: target.error.message };
1031
+ }
1032
+ if (target.value.revision !== request.destination.target_revision) {
1033
+ return {
1034
+ ok: false,
1035
+ code: "target_revision_conflict",
1036
+ error: "The target changed after preparation. Review and prepare the request again."
1037
+ };
1038
+ }
1039
+ const providerError = await providerPreflight(run, request);
1040
+ if (providerError) {
1041
+ return { ok: false, code: providerError.error.code, error: providerError.error.message };
1042
+ }
1043
+ const assets = await assetsForRequest(run, request);
1044
+ if (!assets.ok)
1045
+ return { ok: false, code: assets.error.code, error: assets.error.message };
1046
+ const inputs = await resolveInputs(run, request, assets.value);
1047
+ if (!inputs.ok)
1048
+ return { ok: false, code: inputs.error.code, error: inputs.error.message };
1049
+ const candidates = await Promise.all(prepared.candidate_requests.map((candidate) => submitCandidate(run, prepared, candidate, inputs.value)));
1050
+ return {
1051
+ ok: true,
1052
+ submitted: true,
1053
+ schema_version: VIDEO_PRODUCTION_SCHEMA_VERSION,
1054
+ batch_id: prepared.batch_id,
1055
+ job_id: run.context.jobId,
1056
+ authorization: structuredClone(request.authorization),
1057
+ preconditions: structuredClone(prepared.candidate_requests[0]?.snapshot.preconditions),
1058
+ candidates: candidates.sort((left, right) => left.variationIndex - right.variationIndex),
1059
+ accepted_candidate_ids: []
1060
+ };
1061
+ }
1062
+ function candidateTimingOf(value) {
1063
+ if (!isRecord(value))
1064
+ return failure("candidate_timing_invalid", "Candidate timing is required.");
1065
+ const requested = positiveInteger(value["requested_duration_ms"]);
1066
+ const playable = positiveInteger(value["playable_duration_ms"]);
1067
+ const output = positiveInteger(value["output_duration_ms"]);
1068
+ const status = value["status"];
1069
+ if (!requested ||
1070
+ !playable ||
1071
+ (status !== "unverified" && status !== "valid" && status !== "too_short")) {
1072
+ return failure("candidate_timing_invalid", "Candidate timing is incomplete.");
1073
+ }
1074
+ const timing = {
1075
+ requested_duration_ms: requested,
1076
+ playable_duration_ms: playable,
1077
+ status
1078
+ };
1079
+ if (output)
1080
+ timing.output_duration_ms = output;
1081
+ return { ok: true, value: timing };
1082
+ }
1083
+ function candidateOf(value) {
1084
+ if (!isRecord(value))
1085
+ return failure("candidate_invalid", "Each candidate must be an object.");
1086
+ const parsed = productionCandidate.safeParse(value);
1087
+ if (!parsed.success)
1088
+ return failure("candidate_invalid", parsed.error.message);
1089
+ const snapshot = snapshotOf(value["snapshot"]);
1090
+ const documentId = nonBlankField(value, "document_id");
1091
+ const authorization = authorizationOf(value["authorization"]);
1092
+ const preconditions = preconditionsOf(value["preconditions"]);
1093
+ const assetIds = stringList(value, "asset_ids");
1094
+ const timing = candidateTimingOf(value["timing"]);
1095
+ if (!snapshot.ok ||
1096
+ !documentId ||
1097
+ parsed.data.documentId !== documentId ||
1098
+ !authorization.ok ||
1099
+ !preconditions.ok ||
1100
+ !assetIds.ok ||
1101
+ !timing.ok) {
1102
+ return failure("candidate_contract_incomplete", "Candidate contract is incomplete.");
1103
+ }
1104
+ if (value["active"] !== false || value["accepted"] !== false) {
1105
+ return failure("candidate_already_applied", `Candidate ${parsed.data.candidateId} is already active or accepted.`);
1106
+ }
1107
+ const generationId = nonBlankField(value, "generation_id");
1108
+ const candidate = {
1109
+ ...parsed.data,
1110
+ snapshot: snapshot.value,
1111
+ documentId,
1112
+ document_id: documentId,
1113
+ authorization: authorization.value,
1114
+ preconditions: preconditions.value,
1115
+ asset_ids: assetIds.value,
1116
+ active: false,
1117
+ accepted: false,
1118
+ timing: timing.value
1119
+ };
1120
+ return {
1121
+ ok: true,
1122
+ value: generationId ? { ...candidate, generation_id: generationId } : candidate
1123
+ };
1124
+ }
1125
+ function candidatesOf(value) {
1126
+ if (!Array.isArray(value) || value.length === 0) {
1127
+ return failure("candidates_required", "candidates must be a non-empty array.");
1128
+ }
1129
+ const candidates = [];
1130
+ for (const raw of value) {
1131
+ const candidate = candidateOf(raw);
1132
+ if (!candidate.ok)
1133
+ return candidate;
1134
+ candidates.push(candidate.value);
1135
+ }
1136
+ return { ok: true, value: candidates };
1137
+ }
1138
+ async function refreshCandidate(run, candidate) {
1139
+ if (!candidate.generation_id || !isNonBlankString(run.context.userId))
1140
+ return candidate;
1141
+ const row = await Prediction.findForUser(run.context.userId, candidate.generation_id);
1142
+ if (!row)
1143
+ return { ...candidate, status: "failed", error: "Generation record was not found." };
1144
+ const assetIds = Array.isArray(row.asset_ids)
1145
+ ? row.asset_ids.filter(isNonBlankString)
1146
+ : [...candidate.asset_ids];
1147
+ const publicStatus = publicGenerationStatus(row);
1148
+ const status = publicStatus === "completed"
1149
+ ? assetIds.length > 0
1150
+ ? "ready"
1151
+ : "failed"
1152
+ : publicStatus === "running"
1153
+ ? "generating"
1154
+ : publicStatus === "pending"
1155
+ ? "queued"
1156
+ : publicStatus === "cancelled"
1157
+ ? "cancelled"
1158
+ : "failed";
1159
+ const outputDurationMs = await outputDurationForAsset(run.context.userId, assetIds[0]);
1160
+ const timing = timingForCandidate(candidate.preconditions, outputDurationMs ?? candidate.timing.output_duration_ms);
1161
+ return {
1162
+ ...candidate,
1163
+ status,
1164
+ assetId: assetIds[0],
1165
+ asset_ids: assetIds,
1166
+ timing
1167
+ };
1168
+ }
1169
+ function selectionOf(value) {
1170
+ if (!isRecord(value))
1171
+ return failure("selection_required", "selection must be an object.");
1172
+ const selection = {};
1173
+ for (const [destinationId, candidateId] of Object.entries(value)) {
1174
+ if (!isNonBlankString(destinationId) || !isNonBlankString(candidateId)) {
1175
+ return failure("selection_invalid", "Selection keys and candidate ids must be non-empty.");
1176
+ }
1177
+ selection[destinationId] = candidateId.trim();
1178
+ }
1179
+ if (Object.keys(selection).length === 0) {
1180
+ return failure("selection_required", "selection must not be empty.");
1181
+ }
1182
+ return { ok: true, value: selection };
1183
+ }
1184
+ /** Build a serializable preview artifact without writing document state. */
1185
+ export function previewVideoProductionSelection(candidates, params) {
1186
+ const kind = params["kind"];
1187
+ const batchId = nonBlankField(params, "batch_id");
1188
+ const documentId = nonBlankField(params, "document_id");
1189
+ const selection = selectionOf(params["selection"]);
1190
+ if ((kind !== "preview_take" && kind !== "preview_draft") ||
1191
+ !batchId ||
1192
+ !documentId ||
1193
+ !selection.ok) {
1194
+ return { code: "preview_invalid", message: "Preview kind, batch, document, and selection are required." };
1195
+ }
1196
+ if (kind === "preview_take" && Object.keys(selection.value).length !== 1) {
1197
+ return { code: "preview_take_requires_one", message: "Preview take requires exactly one candidate." };
1198
+ }
1199
+ const byId = new Map(candidates.map((candidate) => [candidate.candidateId, candidate]));
1200
+ for (const [destinationId, candidateId] of Object.entries(selection.value)) {
1201
+ const candidate = byId.get(candidateId);
1202
+ if (!candidate ||
1203
+ candidate.batchId !== batchId ||
1204
+ candidate.document_id !== documentId ||
1205
+ candidate.destinationId !== destinationId ||
1206
+ candidate.status !== "ready" ||
1207
+ !candidate.assetId) {
1208
+ return {
1209
+ code: "preview_candidate_invalid",
1210
+ message: `Candidate ${candidateId} is not a ready candidate for destination ${destinationId}.`
1211
+ };
1212
+ }
1213
+ }
1214
+ const unresolved = [
1215
+ ...new Set(candidates
1216
+ .filter((candidate) => candidate.batchId === batchId && candidate.document_id === documentId)
1217
+ .map((candidate) => candidate.destinationId)
1218
+ .filter((destinationId) => selection.value[destinationId] === undefined))
1219
+ ];
1220
+ return {
1221
+ schema_version: VIDEO_PRODUCTION_SCHEMA_VERSION,
1222
+ kind,
1223
+ batch_id: batchId,
1224
+ document_id: documentId,
1225
+ selection: structuredClone(selection.value),
1226
+ unresolved_destination_ids: unresolved,
1227
+ persisted: false,
1228
+ autosave: false,
1229
+ exportable: false,
1230
+ accepted_candidate_ids: []
1231
+ };
1232
+ }
1233
+ /** Validate an explicit candidate set before a destination adapter may apply it. */
1234
+ export function validateVideoProductionAcceptance(candidates, selectedCandidateIds, expectedTargetRevision) {
1235
+ if (selectedCandidateIds.length === 0) {
1236
+ return failure("candidate_selection_required", "At least one candidate must be selected.");
1237
+ }
1238
+ const byId = new Map(candidates.map((candidate) => [candidate.candidateId, candidate]));
1239
+ const selected = [];
1240
+ const slots = new Set();
1241
+ for (const id of selectedCandidateIds) {
1242
+ const candidate = byId.get(id);
1243
+ if (!candidate)
1244
+ return failure("candidate_not_found", `Candidate ${id} was not included.`);
1245
+ if (candidate.status !== "ready" || !candidate.assetId) {
1246
+ return failure("candidate_not_ready", `Candidate ${id} is not ready with a persisted asset.`);
1247
+ }
1248
+ if (candidate.timing.status !== "valid") {
1249
+ return failure(candidate.timing.status === "too_short"
1250
+ ? "candidate_too_short"
1251
+ : "candidate_timing_unverified", `Candidate ${id} has not passed playable-duration validation.`);
1252
+ }
1253
+ const slot = `${candidate.destinationKind}:${candidate.destinationId}`;
1254
+ if (slots.has(slot)) {
1255
+ return failure("multiple_candidates_for_slot", `Only one candidate may be selected for ${slot}.`);
1256
+ }
1257
+ slots.add(slot);
1258
+ if (expectedTargetRevision !== undefined &&
1259
+ candidate.preconditions.target_revision !== expectedTargetRevision) {
1260
+ return failure("target_revision_conflict", `Candidate ${id} targets another revision.`);
1261
+ }
1262
+ selected.push(candidate);
1263
+ }
1264
+ return { ok: true, candidates: selected };
1265
+ }
1266
+ function acceptanceTargetsOf(value) {
1267
+ if (!Array.isArray(value) || value.length === 0) {
1268
+ return failure("acceptance_targets_required", "targets must be a non-empty array.");
1269
+ }
1270
+ const targets = [];
1271
+ for (const raw of value) {
1272
+ if (!isRecord(raw))
1273
+ return failure("acceptance_target_invalid", "Each target must be an object.");
1274
+ const destinationId = nonBlankField(raw, "destination_id");
1275
+ const destinationKind = destinationKindOf(raw["destination_kind"]);
1276
+ const revision = nonBlankField(raw, "expected_target_revision");
1277
+ if (!destinationId || !destinationKind || !revision) {
1278
+ return failure("acceptance_target_invalid", "Each target needs id, kind, and revision.");
1279
+ }
1280
+ targets.push({
1281
+ destination_id: destinationId,
1282
+ destination_kind: destinationKind,
1283
+ expected_target_revision: revision
1284
+ });
1285
+ }
1286
+ return { ok: true, value: targets };
1287
+ }
1288
+ async function acceptanceManifest(run, params) {
1289
+ const action = params["action"];
1290
+ const batchId = nonBlankField(params, "batch_id");
1291
+ const documentId = nonBlankField(params, "document_id");
1292
+ const projectId = nonBlankField(params, "project_id");
1293
+ const parsedCandidates = candidatesOf(params["candidates"]);
1294
+ const selection = selectionOf(params["selection"]);
1295
+ const targets = acceptanceTargetsOf(params["targets"]);
1296
+ if ((action !== "use_take" && action !== "use_draft") ||
1297
+ !batchId ||
1298
+ !documentId ||
1299
+ !projectId ||
1300
+ !parsedCandidates.ok ||
1301
+ !selection.ok ||
1302
+ !targets.ok) {
1303
+ return failure("acceptance_request_invalid", "Acceptance request is incomplete.");
1304
+ }
1305
+ if (action === "use_take" && Object.keys(selection.value).length !== 1) {
1306
+ return failure("use_take_requires_one", "Use take requires exactly one selected candidate.");
1307
+ }
1308
+ const validation = validateVideoProductionAcceptance(parsedCandidates.value, Object.values(selection.value));
1309
+ if (!validation.ok)
1310
+ return validation;
1311
+ const liveTargets = [];
1312
+ for (const target of targets.value) {
1313
+ const state = await targetState(run, {
1314
+ document_id: documentId,
1315
+ target_type: target.destination_kind,
1316
+ target_id: target.destination_id
1317
+ }, projectId);
1318
+ if (!state.ok)
1319
+ return state;
1320
+ if (state.value.revision !== target.expected_target_revision) {
1321
+ return failure("target_revision_conflict", `Destination ${target.destination_id} changed before acceptance.`);
1322
+ }
1323
+ const live = { ...target };
1324
+ if (state.value.accepted_candidate_id) {
1325
+ live.accepted_candidate_id = state.value.accepted_candidate_id;
1326
+ }
1327
+ liveTargets.push(live);
1328
+ }
1329
+ if (action === "use_draft") {
1330
+ const shared = validateProductionAcceptance({
1331
+ candidates: validation.candidates.map((candidate) => productionCandidate.parse(candidate)),
1332
+ targets: liveTargets.map((target) => ({
1333
+ destinationKind: target.destination_kind,
1334
+ destinationId: target.destination_id,
1335
+ acceptedCandidateId: target.accepted_candidate_id
1336
+ })),
1337
+ selection: selection.value,
1338
+ batchId
1339
+ });
1340
+ if (!shared.valid) {
1341
+ return failure("use_draft_conflict", shared.issues.join("; "));
1342
+ }
1343
+ }
1344
+ const ownerId = run.context.userId;
1345
+ if (!isNonBlankString(ownerId))
1346
+ return failure("owner_required", "No owner is bound to this run.");
1347
+ for (const candidate of validation.candidates) {
1348
+ if (candidate.batchId !== batchId ||
1349
+ candidate.document_id !== documentId ||
1350
+ candidate.authorization.owner_id !== ownerId ||
1351
+ candidate.authorization.project_id !== projectId ||
1352
+ selection.value[candidate.destinationId] !== candidate.candidateId) {
1353
+ return failure("candidate_scope_mismatch", `Candidate ${candidate.candidateId} does not belong to this authorized selection.`);
1354
+ }
1355
+ const target = liveTargets.find((item) => item.destination_id === candidate.destinationId &&
1356
+ item.destination_kind === candidate.destinationKind);
1357
+ if (!target || candidate.preconditions.target_revision !== target.expected_target_revision) {
1358
+ return failure("candidate_target_mismatch", `Candidate ${candidate.candidateId} targets stale state.`);
1359
+ }
1360
+ }
1361
+ return {
1362
+ ok: true,
1363
+ value: {
1364
+ schema_version: VIDEO_PRODUCTION_SCHEMA_VERSION,
1365
+ action,
1366
+ batch_id: batchId,
1367
+ document_id: documentId,
1368
+ authorization: { owner_id: ownerId, project_id: projectId },
1369
+ selection: structuredClone(selection.value),
1370
+ targets: liveTargets.map((target) => ({ ...target })),
1371
+ candidates: validation.candidates.map((candidate) => ({ ...candidate }))
1372
+ }
1373
+ };
1374
+ }
1375
+ async function routeAcceptance(run, manifest) {
1376
+ try {
1377
+ const result = await run.invoke(VIDEO_PRODUCTION_ACCEPTANCE_ADAPTER, { manifest });
1378
+ if (!isRecord(result)) {
1379
+ return {
1380
+ ok: false,
1381
+ code: "acceptance_adapter_invalid",
1382
+ error: "The destination adapter returned an invalid result.",
1383
+ acceptance_manifest: manifest
1384
+ };
1385
+ }
1386
+ return { ...result, acceptance_manifest: manifest };
1387
+ }
1388
+ catch (cause) {
1389
+ const message = cause instanceof Error ? cause.message : String(cause);
1390
+ if (message.includes(`no capability is registered for "${VIDEO_PRODUCTION_ACCEPTANCE_ADAPTER}"`)) {
1391
+ const kinds = [
1392
+ ...new Set(manifest.targets.flatMap((target) => isString(target["destination_kind"]) ? [target["destination_kind"]] : []))
1393
+ ].join(", ");
1394
+ return {
1395
+ ok: false,
1396
+ code: "unsupported_acceptance_destination",
1397
+ error: `No shared ${manifest.action} adapter is registered for ${kinds || "this destination"}. ` +
1398
+ "No accepted media was changed.",
1399
+ unsupported_destination_kinds: kinds ? kinds.split(", ") : [],
1400
+ acceptance_manifest: manifest
1401
+ };
1402
+ }
1403
+ return {
1404
+ ok: false,
1405
+ code: "acceptance_adapter_failed",
1406
+ error: message,
1407
+ acceptance_manifest: manifest
1408
+ };
1409
+ }
1410
+ }
1411
+ const prepareVideoProductionCapability = {
1412
+ spec: prepareVideoProductionSpec,
1413
+ impl: async (run, params) => {
1414
+ const resolved = await resolvedRequestForRun(run, params);
1415
+ if (!resolved.ok) {
1416
+ return {
1417
+ ok: false,
1418
+ error: resolved.error.message,
1419
+ code: resolved.error.code,
1420
+ field: resolved.error.field
1421
+ };
1422
+ }
1423
+ const prepared = prepareVideoProduction({ ...resolved.request, batch_id: params["batch_id"] });
1424
+ return "schema_version" in prepared
1425
+ ? {
1426
+ ok: true,
1427
+ prepared,
1428
+ authorization: prepared.request.authorization,
1429
+ preconditions: prepared.candidate_requests[0]?.snapshot.preconditions,
1430
+ accepted_candidate_ids: []
1431
+ }
1432
+ : { ok: false, error: prepared.message, code: prepared.code, field: prepared.field };
1433
+ }
1434
+ };
1435
+ const submitVideoProductionCapability = {
1436
+ spec: submitVideoProductionSpec,
1437
+ impl: async (run, params) => {
1438
+ const prepared = preparedOf(params["prepared"]);
1439
+ if (!prepared.ok) {
1440
+ return { ok: false, error: prepared.error.message, code: prepared.error.code };
1441
+ }
1442
+ return submitPrepared(run, prepared.value);
1443
+ }
1444
+ };
1445
+ const inspectVideoProductionCandidatesCapability = {
1446
+ spec: inspectVideoProductionCandidatesSpec,
1447
+ impl: async (run, params) => {
1448
+ const parsed = candidatesOf(params["candidates"]);
1449
+ if (!parsed.ok)
1450
+ return { ok: false, error: parsed.error.message, code: parsed.error.code };
1451
+ const refreshed = await Promise.all(parsed.value.map((candidate) => refreshCandidate(run, candidate)));
1452
+ const sorted = refreshed.sort((left, right) => left.variationIndex - right.variationIndex);
1453
+ const response = {
1454
+ ok: true,
1455
+ candidates: sorted,
1456
+ accepted_candidate_ids: []
1457
+ };
1458
+ if (params["preview"] !== undefined) {
1459
+ if (!isRecord(params["preview"])) {
1460
+ return { ok: false, code: "preview_invalid", error: "preview must be an object." };
1461
+ }
1462
+ const preview = previewVideoProductionSelection(sorted, params["preview"]);
1463
+ if ("code" in preview) {
1464
+ return { ok: false, code: preview.code, error: preview.message };
1465
+ }
1466
+ response["preview"] = preview;
1467
+ }
1468
+ return response;
1469
+ }
1470
+ };
1471
+ const acceptVideoProductionCandidatesCapability = {
1472
+ spec: acceptVideoProductionCandidatesSpec,
1473
+ impl: async (run, params) => {
1474
+ const manifest = await acceptanceManifest(run, params);
1475
+ if (!manifest.ok) {
1476
+ return { ok: false, code: manifest.error.code, error: manifest.error.message };
1477
+ }
1478
+ return routeAcceptance(run, manifest.value);
1479
+ }
1480
+ };
1481
+ export const VIDEO_PRODUCTION_CAPABILITIES = [
1482
+ prepareVideoProductionCapability,
1483
+ submitVideoProductionCapability,
1484
+ inspectVideoProductionCandidatesCapability,
1485
+ acceptVideoProductionCandidatesCapability
1486
+ ];
1487
+ export const module = {
1488
+ module: "video-production",
1489
+ exports: VIDEO_PRODUCTION_CAPABILITIES
1490
+ };
1491
+ export { prepareVideoProductionCapability, submitVideoProductionCapability as submitVideoProduction, inspectVideoProductionCandidatesCapability as inspectVideoProductionCandidates, acceptVideoProductionCandidatesCapability as acceptVideoProductionCandidates };
1492
+ //# sourceMappingURL=video-production.js.map