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

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 (1554) hide show
  1. package/README.md +35 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/analysis/audio-dsp.d.ts +223 -0
  4. package/dist/analysis/audio-dsp.d.ts.map +1 -0
  5. package/dist/analysis/audio-dsp.js +642 -0
  6. package/dist/analysis/audio-dsp.js.map +1 -0
  7. package/dist/analysis/media-decode.d.ts +85 -0
  8. package/dist/analysis/media-decode.d.ts.map +1 -0
  9. package/dist/analysis/media-decode.js +199 -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 +91 -0
  88. package/dist/author-graph.d.ts.map +1 -0
  89. package/dist/author-graph.js +319 -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/adapters.d.ts +36 -0
  104. package/dist/capabilities/adapters.d.ts.map +1 -0
  105. package/dist/capabilities/adapters.js +44 -0
  106. package/dist/capabilities/adapters.js.map +1 -0
  107. package/dist/capabilities/agents.d.ts +78 -0
  108. package/dist/capabilities/agents.d.ts.map +1 -0
  109. package/dist/capabilities/agents.js +366 -0
  110. package/dist/capabilities/agents.js.map +1 -0
  111. package/dist/capabilities/agents.specs.d.ts +27 -0
  112. package/dist/capabilities/agents.specs.d.ts.map +1 -0
  113. package/dist/capabilities/agents.specs.js +243 -0
  114. package/dist/capabilities/agents.specs.js.map +1 -0
  115. package/dist/capabilities/analysis.d.ts +93 -0
  116. package/dist/capabilities/analysis.d.ts.map +1 -0
  117. package/dist/capabilities/analysis.js +812 -0
  118. package/dist/capabilities/analysis.js.map +1 -0
  119. package/dist/capabilities/analysis.specs.d.ts +39 -0
  120. package/dist/capabilities/analysis.specs.d.ts.map +1 -0
  121. package/dist/capabilities/analysis.specs.js +217 -0
  122. package/dist/capabilities/analysis.specs.js.map +1 -0
  123. package/dist/capabilities/apify.d.ts +34 -0
  124. package/dist/capabilities/apify.d.ts.map +1 -0
  125. package/dist/capabilities/apify.js +449 -0
  126. package/dist/capabilities/apify.js.map +1 -0
  127. package/dist/capabilities/apify.specs.d.ts +28 -0
  128. package/dist/capabilities/apify.specs.d.ts.map +1 -0
  129. package/dist/capabilities/apify.specs.js +232 -0
  130. package/dist/capabilities/apify.specs.js.map +1 -0
  131. package/dist/capabilities/apps.d.ts +40 -0
  132. package/dist/capabilities/apps.d.ts.map +1 -0
  133. package/dist/capabilities/apps.js +413 -0
  134. package/dist/capabilities/apps.js.map +1 -0
  135. package/dist/capabilities/apps.specs.d.ts +23 -0
  136. package/dist/capabilities/apps.specs.d.ts.map +1 -0
  137. package/dist/capabilities/apps.specs.js +236 -0
  138. package/dist/capabilities/apps.specs.js.map +1 -0
  139. package/dist/capabilities/args.d.ts +65 -0
  140. package/dist/capabilities/args.d.ts.map +1 -0
  141. package/dist/capabilities/args.js +218 -0
  142. package/dist/capabilities/args.js.map +1 -0
  143. package/dist/capabilities/assets.d.ts +45 -0
  144. package/dist/capabilities/assets.d.ts.map +1 -0
  145. package/dist/capabilities/assets.js +952 -0
  146. package/dist/capabilities/assets.js.map +1 -0
  147. package/dist/capabilities/assets.specs.d.ts +54 -0
  148. package/dist/capabilities/assets.specs.d.ts.map +1 -0
  149. package/dist/capabilities/assets.specs.js +291 -0
  150. package/dist/capabilities/assets.specs.js.map +1 -0
  151. package/dist/capabilities/background-generation.d.ts +14 -0
  152. package/dist/capabilities/background-generation.d.ts.map +1 -0
  153. package/dist/capabilities/background-generation.js +29 -0
  154. package/dist/capabilities/background-generation.js.map +1 -0
  155. package/dist/capabilities/browser.d.ts +30 -0
  156. package/dist/capabilities/browser.d.ts.map +1 -0
  157. package/dist/capabilities/browser.js +250 -0
  158. package/dist/capabilities/browser.js.map +1 -0
  159. package/dist/capabilities/browser.specs.d.ts +37 -0
  160. package/dist/capabilities/browser.specs.d.ts.map +1 -0
  161. package/dist/capabilities/browser.specs.js +173 -0
  162. package/dist/capabilities/browser.specs.js.map +1 -0
  163. package/dist/capabilities/code-grading.d.ts +68 -0
  164. package/dist/capabilities/code-grading.d.ts.map +1 -0
  165. package/dist/capabilities/code-grading.js +75 -0
  166. package/dist/capabilities/code-grading.js.map +1 -0
  167. package/dist/capabilities/code.d.ts +56 -0
  168. package/dist/capabilities/code.d.ts.map +1 -0
  169. package/dist/capabilities/code.js +327 -0
  170. package/dist/capabilities/code.js.map +1 -0
  171. package/dist/capabilities/code.specs.d.ts +22 -0
  172. package/dist/capabilities/code.specs.d.ts.map +1 -0
  173. package/dist/capabilities/code.specs.js +175 -0
  174. package/dist/capabilities/code.specs.js.map +1 -0
  175. package/dist/capabilities/collections.d.ts +44 -0
  176. package/dist/capabilities/collections.d.ts.map +1 -0
  177. package/dist/capabilities/collections.js +432 -0
  178. package/dist/capabilities/collections.js.map +1 -0
  179. package/dist/capabilities/collections.specs.d.ts +25 -0
  180. package/dist/capabilities/collections.specs.d.ts.map +1 -0
  181. package/dist/capabilities/collections.specs.js +299 -0
  182. package/dist/capabilities/collections.specs.js.map +1 -0
  183. package/dist/capabilities/compositions.d.ts +57 -0
  184. package/dist/capabilities/compositions.d.ts.map +1 -0
  185. package/dist/capabilities/compositions.js +384 -0
  186. package/dist/capabilities/compositions.js.map +1 -0
  187. package/dist/capabilities/compositions.specs.d.ts +22 -0
  188. package/dist/capabilities/compositions.specs.d.ts.map +1 -0
  189. package/dist/capabilities/compositions.specs.js +126 -0
  190. package/dist/capabilities/compositions.specs.js.map +1 -0
  191. package/dist/capabilities/concurrency.d.ts +12 -0
  192. package/dist/capabilities/concurrency.d.ts.map +1 -0
  193. package/dist/capabilities/concurrency.js +30 -0
  194. package/dist/capabilities/concurrency.js.map +1 -0
  195. package/dist/capabilities/costs.d.ts +20 -0
  196. package/dist/capabilities/costs.d.ts.map +1 -0
  197. package/dist/capabilities/costs.js +40 -0
  198. package/dist/capabilities/costs.js.map +1 -0
  199. package/dist/capabilities/costs.specs.d.ts +12 -0
  200. package/dist/capabilities/costs.specs.d.ts.map +1 -0
  201. package/dist/capabilities/costs.specs.js +35 -0
  202. package/dist/capabilities/costs.specs.js.map +1 -0
  203. package/dist/capabilities/dispatcher.d.ts +57 -0
  204. package/dist/capabilities/dispatcher.d.ts.map +1 -0
  205. package/dist/capabilities/dispatcher.js +117 -0
  206. package/dist/capabilities/dispatcher.js.map +1 -0
  207. package/dist/capabilities/documents.d.ts +25 -0
  208. package/dist/capabilities/documents.d.ts.map +1 -0
  209. package/dist/capabilities/documents.js +278 -0
  210. package/dist/capabilities/documents.js.map +1 -0
  211. package/dist/capabilities/documents.specs.d.ts +18 -0
  212. package/dist/capabilities/documents.specs.d.ts.map +1 -0
  213. package/dist/capabilities/documents.specs.js +201 -0
  214. package/dist/capabilities/documents.specs.js.map +1 -0
  215. package/dist/capabilities/email.d.ts +23 -0
  216. package/dist/capabilities/email.d.ts.map +1 -0
  217. package/dist/capabilities/email.js +226 -0
  218. package/dist/capabilities/email.js.map +1 -0
  219. package/dist/capabilities/email.specs.d.ts +16 -0
  220. package/dist/capabilities/email.specs.d.ts.map +1 -0
  221. package/dist/capabilities/email.specs.js +102 -0
  222. package/dist/capabilities/email.specs.js.map +1 -0
  223. package/dist/capabilities/entities.d.ts +52 -0
  224. package/dist/capabilities/entities.d.ts.map +1 -0
  225. package/dist/capabilities/entities.js +478 -0
  226. package/dist/capabilities/entities.js.map +1 -0
  227. package/dist/capabilities/entities.specs.d.ts +25 -0
  228. package/dist/capabilities/entities.specs.d.ts.map +1 -0
  229. package/dist/capabilities/entities.specs.js +247 -0
  230. package/dist/capabilities/entities.specs.js.map +1 -0
  231. package/dist/capabilities/example-timelines.d.ts +3 -0
  232. package/dist/capabilities/example-timelines.d.ts.map +1 -0
  233. package/dist/capabilities/example-timelines.js +191 -0
  234. package/dist/capabilities/example-timelines.js.map +1 -0
  235. package/dist/capabilities/example-timelines.specs.d.ts +5 -0
  236. package/dist/capabilities/example-timelines.specs.d.ts.map +1 -0
  237. package/dist/capabilities/example-timelines.specs.js +53 -0
  238. package/dist/capabilities/example-timelines.specs.js.map +1 -0
  239. package/dist/capabilities/files.d.ts +53 -0
  240. package/dist/capabilities/files.d.ts.map +1 -0
  241. package/dist/capabilities/files.js +1172 -0
  242. package/dist/capabilities/files.js.map +1 -0
  243. package/dist/capabilities/files.specs.d.ts +28 -0
  244. package/dist/capabilities/files.specs.d.ts.map +1 -0
  245. package/dist/capabilities/files.specs.js +259 -0
  246. package/dist/capabilities/files.specs.js.map +1 -0
  247. package/dist/capabilities/flow.d.ts +93 -0
  248. package/dist/capabilities/flow.d.ts.map +1 -0
  249. package/dist/capabilities/flow.js +285 -0
  250. package/dist/capabilities/flow.js.map +1 -0
  251. package/dist/capabilities/flow.specs.d.ts +25 -0
  252. package/dist/capabilities/flow.specs.d.ts.map +1 -0
  253. package/dist/capabilities/flow.specs.js +114 -0
  254. package/dist/capabilities/flow.specs.js.map +1 -0
  255. package/dist/capabilities/game-asset-source.d.ts +31 -0
  256. package/dist/capabilities/game-asset-source.d.ts.map +1 -0
  257. package/dist/capabilities/game-asset-source.js +81 -0
  258. package/dist/capabilities/game-asset-source.js.map +1 -0
  259. package/dist/capabilities/game.d.ts +12 -0
  260. package/dist/capabilities/game.d.ts.map +1 -0
  261. package/dist/capabilities/game.js +1262 -0
  262. package/dist/capabilities/game.js.map +1 -0
  263. package/dist/capabilities/game.specs.d.ts +3 -0
  264. package/dist/capabilities/game.specs.d.ts.map +1 -0
  265. package/dist/capabilities/game.specs.js +96 -0
  266. package/dist/capabilities/game.specs.js.map +1 -0
  267. package/dist/capabilities/gate-from-context.d.ts +39 -0
  268. package/dist/capabilities/gate-from-context.d.ts.map +1 -0
  269. package/dist/capabilities/gate-from-context.js +97 -0
  270. package/dist/capabilities/gate-from-context.js.map +1 -0
  271. package/dist/capabilities/gate-tools.d.ts +18 -0
  272. package/dist/capabilities/gate-tools.d.ts.map +1 -0
  273. package/dist/capabilities/gate-tools.js +66 -0
  274. package/dist/capabilities/gate-tools.js.map +1 -0
  275. package/dist/capabilities/generations.d.ts +79 -0
  276. package/dist/capabilities/generations.d.ts.map +1 -0
  277. package/dist/capabilities/generations.js +382 -0
  278. package/dist/capabilities/generations.js.map +1 -0
  279. package/dist/capabilities/generations.specs.d.ts +62 -0
  280. package/dist/capabilities/generations.specs.d.ts.map +1 -0
  281. package/dist/capabilities/generations.specs.js +230 -0
  282. package/dist/capabilities/generations.specs.js.map +1 -0
  283. package/dist/capabilities/google.d.ts +50 -0
  284. package/dist/capabilities/google.d.ts.map +1 -0
  285. package/dist/capabilities/google.js +246 -0
  286. package/dist/capabilities/google.js.map +1 -0
  287. package/dist/capabilities/google.specs.d.ts +52 -0
  288. package/dist/capabilities/google.specs.d.ts.map +1 -0
  289. package/dist/capabilities/google.specs.js +391 -0
  290. package/dist/capabilities/google.specs.js.map +1 -0
  291. package/dist/capabilities/html-text.d.ts +28 -0
  292. package/dist/capabilities/html-text.d.ts.map +1 -0
  293. package/dist/capabilities/html-text.js +76 -0
  294. package/dist/capabilities/html-text.js.map +1 -0
  295. package/dist/capabilities/index.d.ts +19 -0
  296. package/dist/capabilities/index.d.ts.map +1 -0
  297. package/dist/capabilities/index.js +14 -0
  298. package/dist/capabilities/index.js.map +1 -0
  299. package/dist/capabilities/invoke.d.ts +89 -0
  300. package/dist/capabilities/invoke.d.ts.map +1 -0
  301. package/dist/capabilities/invoke.js +214 -0
  302. package/dist/capabilities/invoke.js.map +1 -0
  303. package/dist/capabilities/jobs.d.ts +32 -0
  304. package/dist/capabilities/jobs.d.ts.map +1 -0
  305. package/dist/capabilities/jobs.js +123 -0
  306. package/dist/capabilities/jobs.js.map +1 -0
  307. package/dist/capabilities/jobs.specs.d.ts +20 -0
  308. package/dist/capabilities/jobs.specs.d.ts.map +1 -0
  309. package/dist/capabilities/jobs.specs.js +103 -0
  310. package/dist/capabilities/jobs.specs.js.map +1 -0
  311. package/dist/capabilities/js-scripts.d.ts +90 -0
  312. package/dist/capabilities/js-scripts.d.ts.map +1 -0
  313. package/dist/capabilities/js-scripts.js +700 -0
  314. package/dist/capabilities/js-scripts.js.map +1 -0
  315. package/dist/capabilities/js-scripts.specs.d.ts +50 -0
  316. package/dist/capabilities/js-scripts.specs.d.ts.map +1 -0
  317. package/dist/capabilities/js-scripts.specs.js +344 -0
  318. package/dist/capabilities/js-scripts.specs.js.map +1 -0
  319. package/dist/capabilities/lazy-tool.d.ts +42 -0
  320. package/dist/capabilities/lazy-tool.d.ts.map +1 -0
  321. package/dist/capabilities/lazy-tool.js +88 -0
  322. package/dist/capabilities/lazy-tool.js.map +1 -0
  323. package/dist/capabilities/local-browser.d.ts +24 -0
  324. package/dist/capabilities/local-browser.d.ts.map +1 -0
  325. package/dist/capabilities/local-browser.js +105 -0
  326. package/dist/capabilities/local-browser.js.map +1 -0
  327. package/dist/capabilities/media.d.ts +121 -0
  328. package/dist/capabilities/media.d.ts.map +1 -0
  329. package/dist/capabilities/media.js +2217 -0
  330. package/dist/capabilities/media.js.map +1 -0
  331. package/dist/capabilities/media.specs.d.ts +65 -0
  332. package/dist/capabilities/media.specs.d.ts.map +1 -0
  333. package/dist/capabilities/media.specs.js +779 -0
  334. package/dist/capabilities/media.specs.js.map +1 -0
  335. package/dist/capabilities/memory.d.ts +31 -0
  336. package/dist/capabilities/memory.d.ts.map +1 -0
  337. package/dist/capabilities/memory.js +403 -0
  338. package/dist/capabilities/memory.js.map +1 -0
  339. package/dist/capabilities/memory.specs.d.ts +55 -0
  340. package/dist/capabilities/memory.specs.d.ts.map +1 -0
  341. package/dist/capabilities/memory.specs.js +208 -0
  342. package/dist/capabilities/memory.specs.js.map +1 -0
  343. package/dist/capabilities/model3d.d.ts +29 -0
  344. package/dist/capabilities/model3d.d.ts.map +1 -0
  345. package/dist/capabilities/model3d.js +482 -0
  346. package/dist/capabilities/model3d.js.map +1 -0
  347. package/dist/capabilities/model3d.specs.d.ts +28 -0
  348. package/dist/capabilities/model3d.specs.d.ts.map +1 -0
  349. package/dist/capabilities/model3d.specs.js +305 -0
  350. package/dist/capabilities/model3d.specs.js.map +1 -0
  351. package/dist/capabilities/models.d.ts +138 -0
  352. package/dist/capabilities/models.d.ts.map +1 -0
  353. package/dist/capabilities/models.js +803 -0
  354. package/dist/capabilities/models.js.map +1 -0
  355. package/dist/capabilities/models.specs.d.ts +21 -0
  356. package/dist/capabilities/models.specs.d.ts.map +1 -0
  357. package/dist/capabilities/models.specs.js +141 -0
  358. package/dist/capabilities/models.specs.js.map +1 -0
  359. package/dist/capabilities/nodes.d.ts +26 -0
  360. package/dist/capabilities/nodes.d.ts.map +1 -0
  361. package/dist/capabilities/nodes.js +266 -0
  362. package/dist/capabilities/nodes.js.map +1 -0
  363. package/dist/capabilities/nodes.specs.d.ts +20 -0
  364. package/dist/capabilities/nodes.specs.d.ts.map +1 -0
  365. package/dist/capabilities/nodes.specs.js +106 -0
  366. package/dist/capabilities/nodes.specs.js.map +1 -0
  367. package/dist/capabilities/packs.d.ts +69 -0
  368. package/dist/capabilities/packs.d.ts.map +1 -0
  369. package/dist/capabilities/packs.js +246 -0
  370. package/dist/capabilities/packs.js.map +1 -0
  371. package/dist/capabilities/packs.specs.d.ts +27 -0
  372. package/dist/capabilities/packs.specs.d.ts.map +1 -0
  373. package/dist/capabilities/packs.specs.js +64 -0
  374. package/dist/capabilities/packs.specs.js.map +1 -0
  375. package/dist/capabilities/project-scope.d.ts +12 -0
  376. package/dist/capabilities/project-scope.d.ts.map +1 -0
  377. package/dist/capabilities/project-scope.js +19 -0
  378. package/dist/capabilities/project-scope.js.map +1 -0
  379. package/dist/capabilities/projects.d.ts +23 -0
  380. package/dist/capabilities/projects.d.ts.map +1 -0
  381. package/dist/capabilities/projects.js +206 -0
  382. package/dist/capabilities/projects.js.map +1 -0
  383. package/dist/capabilities/projects.specs.d.ts +23 -0
  384. package/dist/capabilities/projects.specs.d.ts.map +1 -0
  385. package/dist/capabilities/projects.specs.js +118 -0
  386. package/dist/capabilities/projects.specs.js.map +1 -0
  387. package/dist/capabilities/registry.d.ts +109 -0
  388. package/dist/capabilities/registry.d.ts.map +1 -0
  389. package/dist/capabilities/registry.js +445 -0
  390. package/dist/capabilities/registry.js.map +1 -0
  391. package/dist/capabilities/script-link.d.ts +22 -0
  392. package/dist/capabilities/script-link.d.ts.map +1 -0
  393. package/dist/capabilities/script-link.js +35 -0
  394. package/dist/capabilities/script-link.js.map +1 -0
  395. package/dist/capabilities/scripts.d.ts +43 -0
  396. package/dist/capabilities/scripts.d.ts.map +1 -0
  397. package/dist/capabilities/scripts.js +1789 -0
  398. package/dist/capabilities/scripts.js.map +1 -0
  399. package/dist/capabilities/scripts.specs.d.ts +40 -0
  400. package/dist/capabilities/scripts.specs.d.ts.map +1 -0
  401. package/dist/capabilities/scripts.specs.js +319 -0
  402. package/dist/capabilities/scripts.specs.js.map +1 -0
  403. package/dist/capabilities/serpapi.d.ts +42 -0
  404. package/dist/capabilities/serpapi.d.ts.map +1 -0
  405. package/dist/capabilities/serpapi.js +262 -0
  406. package/dist/capabilities/serpapi.js.map +1 -0
  407. package/dist/capabilities/serpapi.specs.d.ts +24 -0
  408. package/dist/capabilities/serpapi.specs.d.ts.map +1 -0
  409. package/dist/capabilities/serpapi.specs.js +174 -0
  410. package/dist/capabilities/serpapi.specs.js.map +1 -0
  411. package/dist/capabilities/settings.d.ts +48 -0
  412. package/dist/capabilities/settings.d.ts.map +1 -0
  413. package/dist/capabilities/settings.js +226 -0
  414. package/dist/capabilities/settings.js.map +1 -0
  415. package/dist/capabilities/settings.specs.d.ts +42 -0
  416. package/dist/capabilities/settings.specs.d.ts.map +1 -0
  417. package/dist/capabilities/settings.specs.js +126 -0
  418. package/dist/capabilities/settings.specs.js.map +1 -0
  419. package/dist/capabilities/shared.d.ts +35 -0
  420. package/dist/capabilities/shared.d.ts.map +1 -0
  421. package/dist/capabilities/shared.js +165 -0
  422. package/dist/capabilities/shared.js.map +1 -0
  423. package/dist/capabilities/shared.specs.d.ts +19 -0
  424. package/dist/capabilities/shared.specs.d.ts.map +1 -0
  425. package/dist/capabilities/shared.specs.js +134 -0
  426. package/dist/capabilities/shared.specs.js.map +1 -0
  427. package/dist/capabilities/sketches.d.ts +52 -0
  428. package/dist/capabilities/sketches.d.ts.map +1 -0
  429. package/dist/capabilities/sketches.js +1163 -0
  430. package/dist/capabilities/sketches.js.map +1 -0
  431. package/dist/capabilities/sketches.specs.d.ts +44 -0
  432. package/dist/capabilities/sketches.specs.d.ts.map +1 -0
  433. package/dist/capabilities/sketches.specs.js +392 -0
  434. package/dist/capabilities/sketches.specs.js.map +1 -0
  435. package/dist/capabilities/skills.d.ts +28 -0
  436. package/dist/capabilities/skills.d.ts.map +1 -0
  437. package/dist/capabilities/skills.js +269 -0
  438. package/dist/capabilities/skills.js.map +1 -0
  439. package/dist/capabilities/skills.specs.d.ts +17 -0
  440. package/dist/capabilities/skills.specs.d.ts.map +1 -0
  441. package/dist/capabilities/skills.specs.js +108 -0
  442. package/dist/capabilities/skills.specs.js.map +1 -0
  443. package/dist/capabilities/storyboards.d.ts +68 -0
  444. package/dist/capabilities/storyboards.d.ts.map +1 -0
  445. package/dist/capabilities/storyboards.js +2246 -0
  446. package/dist/capabilities/storyboards.js.map +1 -0
  447. package/dist/capabilities/storyboards.specs.d.ts +42 -0
  448. package/dist/capabilities/storyboards.specs.d.ts.map +1 -0
  449. package/dist/capabilities/storyboards.specs.js +418 -0
  450. package/dist/capabilities/storyboards.specs.js.map +1 -0
  451. package/dist/capabilities/threads.d.ts +25 -0
  452. package/dist/capabilities/threads.d.ts.map +1 -0
  453. package/dist/capabilities/threads.js +240 -0
  454. package/dist/capabilities/threads.js.map +1 -0
  455. package/dist/capabilities/threads.specs.d.ts +26 -0
  456. package/dist/capabilities/threads.specs.d.ts.map +1 -0
  457. package/dist/capabilities/threads.specs.js +108 -0
  458. package/dist/capabilities/threads.specs.js.map +1 -0
  459. package/dist/capabilities/timeline-audio-bake.d.ts +114 -0
  460. package/dist/capabilities/timeline-audio-bake.d.ts.map +1 -0
  461. package/dist/capabilities/timeline-audio-bake.js +188 -0
  462. package/dist/capabilities/timeline-audio-bake.js.map +1 -0
  463. package/dist/capabilities/timeline-bake.d.ts +21 -0
  464. package/dist/capabilities/timeline-bake.d.ts.map +1 -0
  465. package/dist/capabilities/timeline-bake.js +118 -0
  466. package/dist/capabilities/timeline-bake.js.map +1 -0
  467. package/dist/capabilities/timeline-isolate-subject.d.ts +157 -0
  468. package/dist/capabilities/timeline-isolate-subject.d.ts.map +1 -0
  469. package/dist/capabilities/timeline-isolate-subject.js +293 -0
  470. package/dist/capabilities/timeline-isolate-subject.js.map +1 -0
  471. package/dist/capabilities/timeline-native-media.d.ts +4 -0
  472. package/dist/capabilities/timeline-native-media.d.ts.map +1 -0
  473. package/dist/capabilities/timeline-native-media.js +920 -0
  474. package/dist/capabilities/timeline-native-media.js.map +1 -0
  475. package/dist/capabilities/timeline-track-object.d.ts +83 -0
  476. package/dist/capabilities/timeline-track-object.d.ts.map +1 -0
  477. package/dist/capabilities/timeline-track-object.js +195 -0
  478. package/dist/capabilities/timeline-track-object.js.map +1 -0
  479. package/dist/capabilities/timelines.d.ts +190 -0
  480. package/dist/capabilities/timelines.d.ts.map +1 -0
  481. package/dist/capabilities/timelines.js +2326 -0
  482. package/dist/capabilities/timelines.js.map +1 -0
  483. package/dist/capabilities/timelines.specs.d.ts +134 -0
  484. package/dist/capabilities/timelines.specs.d.ts.map +1 -0
  485. package/dist/capabilities/timelines.specs.js +1362 -0
  486. package/dist/capabilities/timelines.specs.js.map +1 -0
  487. package/dist/capabilities/types.d.ts +197 -0
  488. package/dist/capabilities/types.d.ts.map +1 -0
  489. package/dist/capabilities/types.js +19 -0
  490. package/dist/capabilities/types.js.map +1 -0
  491. package/dist/capabilities/ui.d.ts +38 -0
  492. package/dist/capabilities/ui.d.ts.map +1 -0
  493. package/dist/capabilities/ui.js +128 -0
  494. package/dist/capabilities/ui.js.map +1 -0
  495. package/dist/capabilities/ui.specs.d.ts +22 -0
  496. package/dist/capabilities/ui.specs.d.ts.map +1 -0
  497. package/dist/capabilities/ui.specs.js +59 -0
  498. package/dist/capabilities/ui.specs.js.map +1 -0
  499. package/dist/capabilities/video-production-acceptance.d.ts +27 -0
  500. package/dist/capabilities/video-production-acceptance.d.ts.map +1 -0
  501. package/dist/capabilities/video-production-acceptance.js +41 -0
  502. package/dist/capabilities/video-production-acceptance.js.map +1 -0
  503. package/dist/capabilities/video-production.d.ts +179 -0
  504. package/dist/capabilities/video-production.d.ts.map +1 -0
  505. package/dist/capabilities/video-production.js +1492 -0
  506. package/dist/capabilities/video-production.js.map +1 -0
  507. package/dist/capabilities/video-production.specs.d.ts +13 -0
  508. package/dist/capabilities/video-production.specs.d.ts.map +1 -0
  509. package/dist/capabilities/video-production.specs.js +256 -0
  510. package/dist/capabilities/video-production.specs.js.map +1 -0
  511. package/dist/capabilities/web.d.ts +86 -0
  512. package/dist/capabilities/web.d.ts.map +1 -0
  513. package/dist/capabilities/web.js +850 -0
  514. package/dist/capabilities/web.js.map +1 -0
  515. package/dist/capabilities/web.specs.d.ts +33 -0
  516. package/dist/capabilities/web.specs.d.ts.map +1 -0
  517. package/dist/capabilities/web.specs.js +286 -0
  518. package/dist/capabilities/web.specs.js.map +1 -0
  519. package/dist/capabilities/workflows.d.ts +58 -0
  520. package/dist/capabilities/workflows.d.ts.map +1 -0
  521. package/dist/capabilities/workflows.js +1530 -0
  522. package/dist/capabilities/workflows.js.map +1 -0
  523. package/dist/capabilities/workflows.specs.d.ts +63 -0
  524. package/dist/capabilities/workflows.specs.d.ts.map +1 -0
  525. package/dist/capabilities/workflows.specs.js +852 -0
  526. package/dist/capabilities/workflows.specs.js.map +1 -0
  527. package/dist/code-gen/analyze.d.ts +26 -0
  528. package/dist/code-gen/analyze.d.ts.map +1 -0
  529. package/dist/code-gen/analyze.js +79 -0
  530. package/dist/code-gen/analyze.js.map +1 -0
  531. package/dist/code-gen/port-types.d.ts +58 -0
  532. package/dist/code-gen/port-types.d.ts.map +1 -0
  533. package/dist/code-gen/port-types.js +115 -0
  534. package/dist/code-gen/port-types.js.map +1 -0
  535. package/dist/code-gen/prompt.d.ts +37 -0
  536. package/dist/code-gen/prompt.d.ts.map +1 -0
  537. package/dist/code-gen/prompt.js +129 -0
  538. package/dist/code-gen/prompt.js.map +1 -0
  539. package/dist/code-gen/sandbox-manifest.d.ts +120 -0
  540. package/dist/code-gen/sandbox-manifest.d.ts.map +1 -0
  541. package/dist/code-gen/sandbox-manifest.js +1023 -0
  542. package/dist/code-gen/sandbox-manifest.js.map +1 -0
  543. package/dist/code-gen/sandbox-prompt.d.ts +26 -0
  544. package/dist/code-gen/sandbox-prompt.d.ts.map +1 -0
  545. package/dist/code-gen/sandbox-prompt.js +126 -0
  546. package/dist/code-gen/sandbox-prompt.js.map +1 -0
  547. package/dist/code-planner.d.ts +72 -0
  548. package/dist/code-planner.d.ts.map +1 -0
  549. package/dist/code-planner.js +271 -0
  550. package/dist/code-planner.js.map +1 -0
  551. package/dist/codeact/action-diagnostics.d.ts +35 -0
  552. package/dist/codeact/action-diagnostics.d.ts.map +1 -0
  553. package/dist/codeact/action-diagnostics.js +147 -0
  554. package/dist/codeact/action-diagnostics.js.map +1 -0
  555. package/dist/codeact/capability-modules.d.ts +66 -0
  556. package/dist/codeact/capability-modules.d.ts.map +1 -0
  557. package/dist/codeact/capability-modules.js +278 -0
  558. package/dist/codeact/capability-modules.js.map +1 -0
  559. package/dist/codeact/chat-codeact.d.ts +104 -0
  560. package/dist/codeact/chat-codeact.d.ts.map +1 -0
  561. package/dist/codeact/chat-codeact.js +424 -0
  562. package/dist/codeact/chat-codeact.js.map +1 -0
  563. package/dist/codeact/codeact-executor.d.ts +247 -0
  564. package/dist/codeact/codeact-executor.d.ts.map +1 -0
  565. package/dist/codeact/codeact-executor.js +1176 -0
  566. package/dist/codeact/codeact-executor.js.map +1 -0
  567. package/dist/codeact/compact-ids.d.ts +28 -0
  568. package/dist/codeact/compact-ids.d.ts.map +1 -0
  569. package/dist/codeact/compact-ids.js +77 -0
  570. package/dist/codeact/compact-ids.js.map +1 -0
  571. package/dist/codeact/execute-code-contract.d.ts +97 -0
  572. package/dist/codeact/execute-code-contract.d.ts.map +1 -0
  573. package/dist/codeact/execute-code-contract.js +225 -0
  574. package/dist/codeact/execute-code-contract.js.map +1 -0
  575. package/dist/codeact/fabric-package.d.ts +29 -0
  576. package/dist/codeact/fabric-package.d.ts.map +1 -0
  577. package/dist/codeact/fabric-package.js +62 -0
  578. package/dist/codeact/fabric-package.js.map +1 -0
  579. package/dist/codeact/flow-package.d.ts +31 -0
  580. package/dist/codeact/flow-package.d.ts.map +1 -0
  581. package/dist/codeact/flow-package.js +80 -0
  582. package/dist/codeact/flow-package.js.map +1 -0
  583. package/dist/codeact/graph-dsl-package.d.ts +42 -0
  584. package/dist/codeact/graph-dsl-package.d.ts.map +1 -0
  585. package/dist/codeact/graph-dsl-package.js +100 -0
  586. package/dist/codeact/graph-dsl-package.js.map +1 -0
  587. package/dist/codeact/graph-model.d.ts +30 -0
  588. package/dist/codeact/graph-model.d.ts.map +1 -0
  589. package/dist/codeact/graph-model.js +408 -0
  590. package/dist/codeact/graph-model.js.map +1 -0
  591. package/dist/codeact/mcp-guest-contract.d.ts +66 -0
  592. package/dist/codeact/mcp-guest-contract.d.ts.map +1 -0
  593. package/dist/codeact/mcp-guest-contract.js +108 -0
  594. package/dist/codeact/mcp-guest-contract.js.map +1 -0
  595. package/dist/codeact/nodetool-api.d.ts +60 -0
  596. package/dist/codeact/nodetool-api.d.ts.map +1 -0
  597. package/dist/codeact/nodetool-api.js +2056 -0
  598. package/dist/codeact/nodetool-api.js.map +1 -0
  599. package/dist/codeact/prompt.d.ts +88 -0
  600. package/dist/codeact/prompt.d.ts.map +1 -0
  601. package/dist/codeact/prompt.js +326 -0
  602. package/dist/codeact/prompt.js.map +1 -0
  603. package/dist/codeact/sandbox-package-docs.d.ts +48 -0
  604. package/dist/codeact/sandbox-package-docs.d.ts.map +1 -0
  605. package/dist/codeact/sandbox-package-docs.js +55 -0
  606. package/dist/codeact/sandbox-package-docs.js.map +1 -0
  607. package/dist/codeact/sandbox-package-listing.d.ts +81 -0
  608. package/dist/codeact/sandbox-package-listing.d.ts.map +1 -0
  609. package/dist/codeact/sandbox-package-listing.js +101 -0
  610. package/dist/codeact/sandbox-package-listing.js.map +1 -0
  611. package/dist/codeact/sandbox-packages.d.ts +72 -0
  612. package/dist/codeact/sandbox-packages.d.ts.map +1 -0
  613. package/dist/codeact/sandbox-packages.js +230 -0
  614. package/dist/codeact/sandbox-packages.js.map +1 -0
  615. package/dist/codeact/timeline-package.d.ts +5 -0
  616. package/dist/codeact/timeline-package.d.ts.map +1 -0
  617. package/dist/codeact/timeline-package.js +10 -0
  618. package/dist/codeact/timeline-package.js.map +1 -0
  619. package/dist/codeact/tool-api.d.ts +197 -0
  620. package/dist/codeact/tool-api.d.ts.map +1 -0
  621. package/dist/codeact/tool-api.js +445 -0
  622. package/dist/codeact/tool-api.js.map +1 -0
  623. package/dist/codeact/tools-prelude.d.ts +32 -0
  624. package/dist/codeact/tools-prelude.d.ts.map +1 -0
  625. package/dist/codeact/tools-prelude.js +65 -0
  626. package/dist/codeact/tools-prelude.js.map +1 -0
  627. package/dist/constants.d.ts +47 -2
  628. package/dist/constants.d.ts.map +1 -1
  629. package/dist/constants.js +64 -2
  630. package/dist/constants.js.map +1 -1
  631. package/dist/custom-animation-bake.d.ts +57 -0
  632. package/dist/custom-animation-bake.d.ts.map +1 -0
  633. package/dist/custom-animation-bake.js +88 -0
  634. package/dist/custom-animation-bake.js.map +1 -0
  635. package/dist/dynamic-slots.d.ts +72 -0
  636. package/dist/dynamic-slots.d.ts.map +1 -0
  637. package/dist/dynamic-slots.js +0 -0
  638. package/dist/dynamic-slots.js.map +1 -0
  639. package/dist/evals/app-build-cases.d.ts +35 -0
  640. package/dist/evals/app-build-cases.d.ts.map +1 -0
  641. package/dist/evals/app-build-cases.js +722 -0
  642. package/dist/evals/app-build-cases.js.map +1 -0
  643. package/dist/evals/app-build-eval.d.ts +208 -0
  644. package/dist/evals/app-build-eval.d.ts.map +1 -0
  645. package/dist/evals/app-build-eval.js +518 -0
  646. package/dist/evals/app-build-eval.js.map +1 -0
  647. package/dist/evals/app-build-plan.d.ts +76 -0
  648. package/dist/evals/app-build-plan.d.ts.map +1 -0
  649. package/dist/evals/app-build-plan.js +140 -0
  650. package/dist/evals/app-build-plan.js.map +1 -0
  651. package/dist/evals/code-gen-cases.d.ts +13 -0
  652. package/dist/evals/code-gen-cases.d.ts.map +1 -0
  653. package/dist/evals/code-gen-cases.js +124 -0
  654. package/dist/evals/code-gen-cases.js.map +1 -0
  655. package/dist/evals/code-gen-eval.d.ts +109 -0
  656. package/dist/evals/code-gen-eval.d.ts.map +1 -0
  657. package/dist/evals/code-gen-eval.js +299 -0
  658. package/dist/evals/code-gen-eval.js.map +1 -0
  659. package/dist/evals/codeact-api-cases.d.ts +14 -0
  660. package/dist/evals/codeact-api-cases.d.ts.map +1 -0
  661. package/dist/evals/codeact-api-cases.js +29 -0
  662. package/dist/evals/codeact-api-cases.js.map +1 -0
  663. package/dist/evals/codeact-api-core.d.ts +23 -0
  664. package/dist/evals/codeact-api-core.d.ts.map +1 -0
  665. package/dist/evals/codeact-api-core.js +1411 -0
  666. package/dist/evals/codeact-api-core.js.map +1 -0
  667. package/dist/evals/codeact-api-surfaces.d.ts +25 -0
  668. package/dist/evals/codeact-api-surfaces.d.ts.map +1 -0
  669. package/dist/evals/codeact-api-surfaces.js +2191 -0
  670. package/dist/evals/codeact-api-surfaces.js.map +1 -0
  671. package/dist/evals/codeact-cases.d.ts +76 -0
  672. package/dist/evals/codeact-cases.d.ts.map +1 -0
  673. package/dist/evals/codeact-cases.js +151 -0
  674. package/dist/evals/codeact-cases.js.map +1 -0
  675. package/dist/evals/codeact-eval.d.ts +66 -0
  676. package/dist/evals/codeact-eval.d.ts.map +1 -0
  677. package/dist/evals/codeact-eval.js +250 -0
  678. package/dist/evals/codeact-eval.js.map +1 -0
  679. package/dist/evals/codeact-sandbox-pack-cases.d.ts +31 -0
  680. package/dist/evals/codeact-sandbox-pack-cases.d.ts.map +1 -0
  681. package/dist/evals/codeact-sandbox-pack-cases.js +219 -0
  682. package/dist/evals/codeact-sandbox-pack-cases.js.map +1 -0
  683. package/dist/evals/escalation-cases.d.ts +22 -0
  684. package/dist/evals/escalation-cases.d.ts.map +1 -0
  685. package/dist/evals/escalation-cases.js +343 -0
  686. package/dist/evals/escalation-cases.js.map +1 -0
  687. package/dist/evals/escalation.d.ts +92 -0
  688. package/dist/evals/escalation.d.ts.map +1 -0
  689. package/dist/evals/escalation.js +152 -0
  690. package/dist/evals/escalation.js.map +1 -0
  691. package/dist/evals/goal-judge.d.ts +51 -0
  692. package/dist/evals/goal-judge.d.ts.map +1 -0
  693. package/dist/evals/goal-judge.js +152 -0
  694. package/dist/evals/goal-judge.js.map +1 -0
  695. package/dist/evals/graph-e2e-cases.d.ts +21 -0
  696. package/dist/evals/graph-e2e-cases.d.ts.map +1 -0
  697. package/dist/evals/graph-e2e-cases.js +262 -0
  698. package/dist/evals/graph-e2e-cases.js.map +1 -0
  699. package/dist/evals/graph-e2e-eval.d.ts +202 -0
  700. package/dist/evals/graph-e2e-eval.d.ts.map +1 -0
  701. package/dist/evals/graph-e2e-eval.js +438 -0
  702. package/dist/evals/graph-e2e-eval.js.map +1 -0
  703. package/dist/evals/graph-planner-cases.d.ts +12 -0
  704. package/dist/evals/graph-planner-cases.d.ts.map +1 -0
  705. package/dist/evals/graph-planner-cases.js +256 -0
  706. package/dist/evals/graph-planner-cases.js.map +1 -0
  707. package/dist/evals/graph-planner-eval.d.ts +178 -0
  708. package/dist/evals/graph-planner-eval.d.ts.map +1 -0
  709. package/dist/evals/graph-planner-eval.js +495 -0
  710. package/dist/evals/graph-planner-eval.js.map +1 -0
  711. package/dist/evals/planner-tools.d.ts +21 -0
  712. package/dist/evals/planner-tools.d.ts.map +1 -0
  713. package/dist/evals/planner-tools.js +66 -0
  714. package/dist/evals/planner-tools.js.map +1 -0
  715. package/dist/evals/subtask-cases.d.ts +88 -0
  716. package/dist/evals/subtask-cases.d.ts.map +1 -0
  717. package/dist/evals/subtask-cases.js +322 -0
  718. package/dist/evals/subtask-cases.js.map +1 -0
  719. package/dist/evals/subtask-eval.d.ts +129 -0
  720. package/dist/evals/subtask-eval.d.ts.map +1 -0
  721. package/dist/evals/subtask-eval.js +397 -0
  722. package/dist/evals/subtask-eval.js.map +1 -0
  723. package/dist/evals/surfaces/app.d.ts +19 -0
  724. package/dist/evals/surfaces/app.d.ts.map +1 -0
  725. package/dist/evals/surfaces/app.js +341 -0
  726. package/dist/evals/surfaces/app.js.map +1 -0
  727. package/dist/evals/surfaces/creative-pipeline.d.ts +203 -0
  728. package/dist/evals/surfaces/creative-pipeline.d.ts.map +1 -0
  729. package/dist/evals/surfaces/creative-pipeline.js +909 -0
  730. package/dist/evals/surfaces/creative-pipeline.js.map +1 -0
  731. package/dist/evals/surfaces/game.d.ts +5 -0
  732. package/dist/evals/surfaces/game.d.ts.map +1 -0
  733. package/dist/evals/surfaces/game.js +42 -0
  734. package/dist/evals/surfaces/game.js.map +1 -0
  735. package/dist/evals/surfaces/js-script.d.ts +66 -0
  736. package/dist/evals/surfaces/js-script.d.ts.map +1 -0
  737. package/dist/evals/surfaces/js-script.js +407 -0
  738. package/dist/evals/surfaces/js-script.js.map +1 -0
  739. package/dist/evals/surfaces/memory.d.ts +34 -0
  740. package/dist/evals/surfaces/memory.d.ts.map +1 -0
  741. package/dist/evals/surfaces/memory.js +264 -0
  742. package/dist/evals/surfaces/memory.js.map +1 -0
  743. package/dist/evals/surfaces/model3d.d.ts +45 -0
  744. package/dist/evals/surfaces/model3d.d.ts.map +1 -0
  745. package/dist/evals/surfaces/model3d.js +346 -0
  746. package/dist/evals/surfaces/model3d.js.map +1 -0
  747. package/dist/evals/surfaces/script.d.ts +96 -0
  748. package/dist/evals/surfaces/script.d.ts.map +1 -0
  749. package/dist/evals/surfaces/script.js +709 -0
  750. package/dist/evals/surfaces/script.js.map +1 -0
  751. package/dist/evals/surfaces/sketch.d.ts +124 -0
  752. package/dist/evals/surfaces/sketch.d.ts.map +1 -0
  753. package/dist/evals/surfaces/sketch.js +1298 -0
  754. package/dist/evals/surfaces/sketch.js.map +1 -0
  755. package/dist/evals/surfaces/storyboard.d.ts +97 -0
  756. package/dist/evals/surfaces/storyboard.d.ts.map +1 -0
  757. package/dist/evals/surfaces/storyboard.js +693 -0
  758. package/dist/evals/surfaces/storyboard.js.map +1 -0
  759. package/dist/evals/surfaces/timeline.d.ts +416 -0
  760. package/dist/evals/surfaces/timeline.d.ts.map +1 -0
  761. package/dist/evals/surfaces/timeline.js +3267 -0
  762. package/dist/evals/surfaces/timeline.js.map +1 -0
  763. package/dist/evals/task-planner-cases.d.ts +57 -0
  764. package/dist/evals/task-planner-cases.d.ts.map +1 -0
  765. package/dist/evals/task-planner-cases.js +117 -0
  766. package/dist/evals/task-planner-cases.js.map +1 -0
  767. package/dist/evals/task-planner-eval.d.ts +101 -0
  768. package/dist/evals/task-planner-eval.d.ts.map +1 -0
  769. package/dist/evals/task-planner-eval.js +380 -0
  770. package/dist/evals/task-planner-eval.js.map +1 -0
  771. package/dist/evals/tool-loop-bridge.d.ts +57 -0
  772. package/dist/evals/tool-loop-bridge.d.ts.map +1 -0
  773. package/dist/evals/tool-loop-bridge.js +129 -0
  774. package/dist/evals/tool-loop-bridge.js.map +1 -0
  775. package/dist/evals/tool-loop-cases.d.ts +21 -0
  776. package/dist/evals/tool-loop-cases.d.ts.map +1 -0
  777. package/dist/evals/tool-loop-cases.js +401 -0
  778. package/dist/evals/tool-loop-cases.js.map +1 -0
  779. package/dist/evals/tool-loop-eval.d.ts +234 -0
  780. package/dist/evals/tool-loop-eval.d.ts.map +1 -0
  781. package/dist/evals/tool-loop-eval.js +373 -0
  782. package/dist/evals/tool-loop-eval.js.map +1 -0
  783. package/dist/evals/tool-loop-permission.d.ts +43 -0
  784. package/dist/evals/tool-loop-permission.d.ts.map +1 -0
  785. package/dist/evals/tool-loop-permission.js +76 -0
  786. package/dist/evals/tool-loop-permission.js.map +1 -0
  787. package/dist/game-examples.d.ts +447 -0
  788. package/dist/game-examples.d.ts.map +1 -0
  789. package/dist/game-examples.js +187 -0
  790. package/dist/game-examples.js.map +1 -0
  791. package/dist/graph-builder.d.ts +55 -3
  792. package/dist/graph-builder.d.ts.map +1 -1
  793. package/dist/graph-builder.js +159 -4
  794. package/dist/graph-builder.js.map +1 -1
  795. package/dist/graph-dsl-core.d.ts +25 -0
  796. package/dist/graph-dsl-core.d.ts.map +1 -0
  797. package/dist/graph-dsl-core.js +312 -0
  798. package/dist/graph-dsl-core.js.map +1 -0
  799. package/dist/graph-dsl.d.ts +30 -0
  800. package/dist/graph-dsl.d.ts.map +1 -0
  801. package/dist/graph-dsl.js +116 -0
  802. package/dist/graph-dsl.js.map +1 -0
  803. package/dist/host-binaries.d.ts +6 -0
  804. package/dist/host-binaries.d.ts.map +1 -0
  805. package/dist/host-binaries.js +6 -0
  806. package/dist/host-binaries.js.map +1 -0
  807. package/dist/host-binary-guard.d.ts +100 -0
  808. package/dist/host-binary-guard.d.ts.map +1 -0
  809. package/dist/host-binary-guard.js +205 -0
  810. package/dist/host-binary-guard.js.map +1 -0
  811. package/dist/host-modules/aws.d.ts +57 -0
  812. package/dist/host-modules/aws.d.ts.map +1 -0
  813. package/dist/host-modules/aws.js +309 -0
  814. package/dist/host-modules/aws.js.map +1 -0
  815. package/dist/host-modules/chrono.d.ts +15 -0
  816. package/dist/host-modules/chrono.d.ts.map +1 -0
  817. package/dist/host-modules/chrono.js +35 -0
  818. package/dist/host-modules/chrono.js.map +1 -0
  819. package/dist/host-modules/csv.d.ts +17 -0
  820. package/dist/host-modules/csv.d.ts.map +1 -0
  821. package/dist/host-modules/csv.js +64 -0
  822. package/dist/host-modules/csv.js.map +1 -0
  823. package/dist/host-modules/diff.d.ts +9 -0
  824. package/dist/host-modules/diff.d.ts.map +1 -0
  825. package/dist/host-modules/diff.js +26 -0
  826. package/dist/host-modules/diff.js.map +1 -0
  827. package/dist/host-modules/dispatcher.d.ts +41 -0
  828. package/dist/host-modules/dispatcher.d.ts.map +1 -0
  829. package/dist/host-modules/dispatcher.js +99 -0
  830. package/dist/host-modules/dispatcher.js.map +1 -0
  831. package/dist/host-modules/docx.d.ts +19 -0
  832. package/dist/host-modules/docx.d.ts.map +1 -0
  833. package/dist/host-modules/docx.js +120 -0
  834. package/dist/host-modules/docx.js.map +1 -0
  835. package/dist/host-modules/epub.d.ts +48 -0
  836. package/dist/host-modules/epub.d.ts.map +1 -0
  837. package/dist/host-modules/epub.js +100 -0
  838. package/dist/host-modules/epub.js.map +1 -0
  839. package/dist/host-modules/exif.d.ts +8 -0
  840. package/dist/host-modules/exif.d.ts.map +1 -0
  841. package/dist/host-modules/exif.js +19 -0
  842. package/dist/host-modules/exif.js.map +1 -0
  843. package/dist/host-modules/expr.d.ts +16 -0
  844. package/dist/host-modules/expr.d.ts.map +1 -0
  845. package/dist/host-modules/expr.js +18 -0
  846. package/dist/host-modules/expr.js.map +1 -0
  847. package/dist/host-modules/fabric.d.ts +46 -0
  848. package/dist/host-modules/fabric.d.ts.map +1 -0
  849. package/dist/host-modules/fabric.js +178 -0
  850. package/dist/host-modules/fabric.js.map +1 -0
  851. package/dist/host-modules/html.d.ts +51 -0
  852. package/dist/host-modules/html.d.ts.map +1 -0
  853. package/dist/host-modules/html.js +198 -0
  854. package/dist/host-modules/html.js.map +1 -0
  855. package/dist/host-modules/ics.d.ts +9 -0
  856. package/dist/host-modules/ics.d.ts.map +1 -0
  857. package/dist/host-modules/ics.js +35 -0
  858. package/dist/host-modules/ics.js.map +1 -0
  859. package/dist/host-modules/limits.d.ts +41 -0
  860. package/dist/host-modules/limits.d.ts.map +1 -0
  861. package/dist/host-modules/limits.js +76 -0
  862. package/dist/host-modules/limits.js.map +1 -0
  863. package/dist/host-modules/mammoth.d.ts +11 -0
  864. package/dist/host-modules/mammoth.d.ts.map +1 -0
  865. package/dist/host-modules/mammoth.js +29 -0
  866. package/dist/host-modules/mammoth.js.map +1 -0
  867. package/dist/host-modules/notion.d.ts +45 -0
  868. package/dist/host-modules/notion.d.ts.map +1 -0
  869. package/dist/host-modules/notion.js +128 -0
  870. package/dist/host-modules/notion.js.map +1 -0
  871. package/dist/host-modules/ocr.d.ts +25 -0
  872. package/dist/host-modules/ocr.d.ts.map +1 -0
  873. package/dist/host-modules/ocr.js +74 -0
  874. package/dist/host-modules/ocr.js.map +1 -0
  875. package/dist/host-modules/pdf.d.ts +21 -0
  876. package/dist/host-modules/pdf.d.ts.map +1 -0
  877. package/dist/host-modules/pdf.js +53 -0
  878. package/dist/host-modules/pdf.js.map +1 -0
  879. package/dist/host-modules/pdflib.d.ts +17 -0
  880. package/dist/host-modules/pdflib.d.ts.map +1 -0
  881. package/dist/host-modules/pdflib.js +138 -0
  882. package/dist/host-modules/pdflib.js.map +1 -0
  883. package/dist/host-modules/pptx.d.ts +19 -0
  884. package/dist/host-modules/pptx.d.ts.map +1 -0
  885. package/dist/host-modules/pptx.js +67 -0
  886. package/dist/host-modules/pptx.js.map +1 -0
  887. package/dist/host-modules/pptxgen.d.ts +13 -0
  888. package/dist/host-modules/pptxgen.d.ts.map +1 -0
  889. package/dist/host-modules/pptxgen.js +98 -0
  890. package/dist/host-modules/pptxgen.js.map +1 -0
  891. package/dist/host-modules/prepared-request.d.ts +41 -0
  892. package/dist/host-modules/prepared-request.d.ts.map +1 -0
  893. package/dist/host-modules/prepared-request.js +104 -0
  894. package/dist/host-modules/prepared-request.js.map +1 -0
  895. package/dist/host-modules/registry.d.ts +31 -0
  896. package/dist/host-modules/registry.d.ts.map +1 -0
  897. package/dist/host-modules/registry.js +193 -0
  898. package/dist/host-modules/registry.js.map +1 -0
  899. package/dist/host-modules/subtitle.d.ts +15 -0
  900. package/dist/host-modules/subtitle.d.ts.map +1 -0
  901. package/dist/host-modules/subtitle.js +45 -0
  902. package/dist/host-modules/subtitle.js.map +1 -0
  903. package/dist/host-modules/supabase.d.ts +42 -0
  904. package/dist/host-modules/supabase.d.ts.map +1 -0
  905. package/dist/host-modules/supabase.js +141 -0
  906. package/dist/host-modules/supabase.js.map +1 -0
  907. package/dist/host-modules/tfjs.d.ts +42 -0
  908. package/dist/host-modules/tfjs.d.ts.map +1 -0
  909. package/dist/host-modules/tfjs.js +186 -0
  910. package/dist/host-modules/tfjs.js.map +1 -0
  911. package/dist/host-modules/tokens.d.ts +17 -0
  912. package/dist/host-modules/tokens.d.ts.map +1 -0
  913. package/dist/host-modules/tokens.js +74 -0
  914. package/dist/host-modules/tokens.js.map +1 -0
  915. package/dist/host-modules/twilio.d.ts +34 -0
  916. package/dist/host-modules/twilio.d.ts.map +1 -0
  917. package/dist/host-modules/twilio.js +67 -0
  918. package/dist/host-modules/twilio.js.map +1 -0
  919. package/dist/host-modules/xlsx.d.ts +26 -0
  920. package/dist/host-modules/xlsx.d.ts.map +1 -0
  921. package/dist/host-modules/xlsx.js +323 -0
  922. package/dist/host-modules/xlsx.js.map +1 -0
  923. package/dist/host-modules/xml.d.ts +23 -0
  924. package/dist/host-modules/xml.d.ts.map +1 -0
  925. package/dist/host-modules/xml.js +38 -0
  926. package/dist/host-modules/xml.js.map +1 -0
  927. package/dist/host-modules/zip.d.ts +24 -0
  928. package/dist/host-modules/zip.d.ts.map +1 -0
  929. package/dist/host-modules/zip.js +70 -0
  930. package/dist/host-modules/zip.js.map +1 -0
  931. package/dist/index.d.ts +197 -60
  932. package/dist/index.d.ts.map +1 -1
  933. package/dist/index.js +153 -60
  934. package/dist/index.js.map +1 -1
  935. package/dist/js-sandbox-worker/host.d.ts +136 -0
  936. package/dist/js-sandbox-worker/host.d.ts.map +1 -0
  937. package/dist/js-sandbox-worker/host.js +482 -0
  938. package/dist/js-sandbox-worker/host.js.map +1 -0
  939. package/dist/js-sandbox-worker/interpreter.d.ts +276 -0
  940. package/dist/js-sandbox-worker/interpreter.d.ts.map +1 -0
  941. package/dist/js-sandbox-worker/interpreter.js +1201 -0
  942. package/dist/js-sandbox-worker/interpreter.js.map +1 -0
  943. package/dist/js-sandbox-worker/protocol.d.ts +168 -0
  944. package/dist/js-sandbox-worker/protocol.d.ts.map +1 -0
  945. package/dist/js-sandbox-worker/protocol.js +217 -0
  946. package/dist/js-sandbox-worker/protocol.js.map +1 -0
  947. package/dist/js-sandbox-worker/worker-entry.d.ts +26 -0
  948. package/dist/js-sandbox-worker/worker-entry.d.ts.map +1 -0
  949. package/dist/js-sandbox-worker/worker-entry.js +307 -0
  950. package/dist/js-sandbox-worker/worker-entry.js.map +1 -0
  951. package/dist/js-sandbox.d.ts +455 -15
  952. package/dist/js-sandbox.d.ts.map +1 -1
  953. package/dist/js-sandbox.js +1961 -309
  954. package/dist/js-sandbox.js.map +1 -1
  955. package/dist/js-script-app-runner.d.ts +9 -0
  956. package/dist/js-script-app-runner.d.ts.map +1 -0
  957. package/dist/js-script-app-runner.js +49 -0
  958. package/dist/js-script-app-runner.js.map +1 -0
  959. package/dist/js-script-sandbox.d.ts +33 -0
  960. package/dist/js-script-sandbox.d.ts.map +1 -0
  961. package/dist/js-script-sandbox.js +82 -0
  962. package/dist/js-script-sandbox.js.map +1 -0
  963. package/dist/jtbd/friction.d.ts +26 -0
  964. package/dist/jtbd/friction.d.ts.map +1 -0
  965. package/dist/jtbd/friction.js +169 -0
  966. package/dist/jtbd/friction.js.map +1 -0
  967. package/dist/jtbd/index.d.ts +6 -0
  968. package/dist/jtbd/index.d.ts.map +1 -0
  969. package/dist/jtbd/index.js +6 -0
  970. package/dist/jtbd/index.js.map +1 -0
  971. package/dist/jtbd/optimize.d.ts +71 -0
  972. package/dist/jtbd/optimize.d.ts.map +1 -0
  973. package/dist/jtbd/optimize.js +176 -0
  974. package/dist/jtbd/optimize.js.map +1 -0
  975. package/dist/jtbd/registry.d.ts +29 -0
  976. package/dist/jtbd/registry.d.ts.map +1 -0
  977. package/dist/jtbd/registry.js +451 -0
  978. package/dist/jtbd/registry.js.map +1 -0
  979. package/dist/jtbd/run.d.ts +70 -0
  980. package/dist/jtbd/run.d.ts.map +1 -0
  981. package/dist/jtbd/run.js +177 -0
  982. package/dist/jtbd/run.js.map +1 -0
  983. package/dist/jtbd/types.d.ts +141 -0
  984. package/dist/jtbd/types.d.ts.map +1 -0
  985. package/dist/jtbd/types.js +25 -0
  986. package/dist/jtbd/types.js.map +1 -0
  987. package/dist/model-prompting-skills.d.ts +45 -0
  988. package/dist/model-prompting-skills.d.ts.map +1 -0
  989. package/dist/model-prompting-skills.js +116 -0
  990. package/dist/model-prompting-skills.js.map +1 -0
  991. package/dist/network-guard.d.ts +50 -0
  992. package/dist/network-guard.d.ts.map +1 -0
  993. package/dist/network-guard.js +106 -0
  994. package/dist/network-guard.js.map +1 -0
  995. package/dist/normalize-model-properties.d.ts +26 -0
  996. package/dist/normalize-model-properties.d.ts.map +1 -0
  997. package/dist/normalize-model-properties.js +58 -0
  998. package/dist/normalize-model-properties.js.map +1 -0
  999. package/dist/output-format.d.ts +5 -1
  1000. package/dist/output-format.d.ts.map +1 -1
  1001. package/dist/output-format.js.map +1 -1
  1002. package/dist/parallel-task-executor.d.ts +68 -37
  1003. package/dist/parallel-task-executor.d.ts.map +1 -1
  1004. package/dist/parallel-task-executor.js +234 -203
  1005. package/dist/parallel-task-executor.js.map +1 -1
  1006. package/dist/prompts/background-subtask-prompt.d.ts +14 -0
  1007. package/dist/prompts/background-subtask-prompt.d.ts.map +1 -0
  1008. package/dist/prompts/background-subtask-prompt.js +64 -0
  1009. package/dist/prompts/background-subtask-prompt.js.map +1 -0
  1010. package/dist/prompts/product-knowledge.d.ts +3 -0
  1011. package/dist/prompts/product-knowledge.d.ts.map +1 -0
  1012. package/dist/prompts/product-knowledge.js +79 -0
  1013. package/dist/prompts/product-knowledge.js.map +1 -0
  1014. package/dist/prompts/read-only-search-prompt.d.ts +33 -0
  1015. package/dist/prompts/read-only-search-prompt.d.ts.map +1 -0
  1016. package/dist/prompts/read-only-search-prompt.js +109 -0
  1017. package/dist/prompts/read-only-search-prompt.js.map +1 -0
  1018. package/dist/prompts/sandbox-pack-catalog.d.ts +23 -0
  1019. package/dist/prompts/sandbox-pack-catalog.d.ts.map +1 -0
  1020. package/dist/prompts/sandbox-pack-catalog.js +40 -0
  1021. package/dist/prompts/sandbox-pack-catalog.js.map +1 -0
  1022. package/dist/prompts/security-monitor-prompt.d.ts +32 -0
  1023. package/dist/prompts/security-monitor-prompt.d.ts.map +1 -0
  1024. package/dist/prompts/security-monitor-prompt.js +99 -0
  1025. package/dist/prompts/security-monitor-prompt.js.map +1 -0
  1026. package/dist/prompts/workflow-authoring-knowledge.d.ts +77 -0
  1027. package/dist/prompts/workflow-authoring-knowledge.d.ts.map +1 -0
  1028. package/dist/prompts/workflow-authoring-knowledge.js +319 -0
  1029. package/dist/prompts/workflow-authoring-knowledge.js.map +1 -0
  1030. package/dist/run-policy.d.ts +25 -0
  1031. package/dist/run-policy.d.ts.map +1 -0
  1032. package/dist/run-policy.js +54 -0
  1033. package/dist/run-policy.js.map +1 -0
  1034. package/dist/sandbox-av-media.d.ts +33 -0
  1035. package/dist/sandbox-av-media.d.ts.map +1 -0
  1036. package/dist/sandbox-av-media.js +666 -0
  1037. package/dist/sandbox-av-media.js.map +1 -0
  1038. package/dist/sandbox-bootstrap-modules.d.ts +54 -0
  1039. package/dist/sandbox-bootstrap-modules.d.ts.map +1 -0
  1040. package/dist/sandbox-bootstrap-modules.js +104 -0
  1041. package/dist/sandbox-bootstrap-modules.js.map +1 -0
  1042. package/dist/sandbox-bytes.d.ts +43 -0
  1043. package/dist/sandbox-bytes.d.ts.map +1 -0
  1044. package/dist/sandbox-bytes.js +61 -0
  1045. package/dist/sandbox-bytes.js.map +1 -0
  1046. package/dist/sandbox-canvas-api.d.ts +30 -0
  1047. package/dist/sandbox-canvas-api.d.ts.map +1 -0
  1048. package/dist/sandbox-canvas-api.js +81 -0
  1049. package/dist/sandbox-canvas-api.js.map +1 -0
  1050. package/dist/sandbox-constants.d.ts +5 -0
  1051. package/dist/sandbox-constants.d.ts.map +1 -0
  1052. package/dist/sandbox-constants.js +13 -0
  1053. package/dist/sandbox-constants.js.map +1 -0
  1054. package/dist/sandbox-json-transport.d.ts +107 -0
  1055. package/dist/sandbox-json-transport.d.ts.map +1 -0
  1056. package/dist/sandbox-json-transport.js +324 -0
  1057. package/dist/sandbox-json-transport.js.map +1 -0
  1058. package/dist/sandbox-media-handle.d.ts +78 -0
  1059. package/dist/sandbox-media-handle.d.ts.map +1 -0
  1060. package/dist/sandbox-media-handle.js +114 -0
  1061. package/dist/sandbox-media-handle.js.map +1 -0
  1062. package/dist/sandbox-media-ref.d.ts +134 -0
  1063. package/dist/sandbox-media-ref.d.ts.map +1 -0
  1064. package/dist/sandbox-media-ref.js +442 -0
  1065. package/dist/sandbox-media-ref.js.map +1 -0
  1066. package/dist/sandbox-media.d.ts +177 -0
  1067. package/dist/sandbox-media.d.ts.map +1 -0
  1068. package/dist/sandbox-media.js +963 -0
  1069. package/dist/sandbox-media.js.map +1 -0
  1070. package/dist/sandbox-module-fixtures.d.ts +445 -0
  1071. package/dist/sandbox-module-fixtures.d.ts.map +1 -0
  1072. package/dist/sandbox-module-fixtures.js +214 -0
  1073. package/dist/sandbox-module-fixtures.js.map +1 -0
  1074. package/dist/sandbox-toolbelt.d.ts +13 -0
  1075. package/dist/sandbox-toolbelt.d.ts.map +1 -0
  1076. package/dist/sandbox-toolbelt.js +64 -0
  1077. package/dist/sandbox-toolbelt.js.map +1 -0
  1078. package/dist/security-monitor.d.ts +89 -0
  1079. package/dist/security-monitor.d.ts.map +1 -0
  1080. package/dist/security-monitor.js +307 -0
  1081. package/dist/security-monitor.js.map +1 -0
  1082. package/dist/serpapi/catalog.d.ts +101 -0
  1083. package/dist/serpapi/catalog.d.ts.map +1 -0
  1084. package/dist/serpapi/catalog.js +246 -0
  1085. package/dist/serpapi/catalog.js.map +1 -0
  1086. package/dist/serpapi/client.d.ts +81 -0
  1087. package/dist/serpapi/client.d.ts.map +1 -0
  1088. package/dist/serpapi/client.js +228 -0
  1089. package/dist/serpapi/client.js.map +1 -0
  1090. package/dist/serpapi/errors.d.ts +49 -0
  1091. package/dist/serpapi/errors.d.ts.map +1 -0
  1092. package/dist/serpapi/errors.js +64 -0
  1093. package/dist/serpapi/errors.js.map +1 -0
  1094. package/dist/serpapi/normalize.d.ts +58 -0
  1095. package/dist/serpapi/normalize.d.ts.map +1 -0
  1096. package/dist/serpapi/normalize.js +140 -0
  1097. package/dist/serpapi/normalize.js.map +1 -0
  1098. package/dist/skill-prompt.d.ts +27 -0
  1099. package/dist/skill-prompt.d.ts.map +1 -0
  1100. package/dist/skill-prompt.js +61 -0
  1101. package/dist/skill-prompt.js.map +1 -0
  1102. package/dist/step-executor.d.ts +90 -77
  1103. package/dist/step-executor.d.ts.map +1 -1
  1104. package/dist/step-executor.js +384 -690
  1105. package/dist/step-executor.js.map +1 -1
  1106. package/dist/subagent.d.ts +275 -0
  1107. package/dist/subagent.d.ts.map +1 -0
  1108. package/dist/subagent.js +444 -0
  1109. package/dist/subagent.js.map +1 -0
  1110. package/dist/supervisor/prompt.d.ts +12 -0
  1111. package/dist/supervisor/prompt.d.ts.map +1 -0
  1112. package/dist/supervisor/prompt.js +51 -0
  1113. package/dist/supervisor/prompt.js.map +1 -0
  1114. package/dist/supervisor/supervisor-agent.d.ts +72 -0
  1115. package/dist/supervisor/supervisor-agent.d.ts.map +1 -0
  1116. package/dist/supervisor/supervisor-agent.js +185 -0
  1117. package/dist/supervisor/supervisor-agent.js.map +1 -0
  1118. package/dist/supervisor/tools.d.ts +56 -0
  1119. package/dist/supervisor/tools.d.ts.map +1 -0
  1120. package/dist/supervisor/tools.js +83 -0
  1121. package/dist/supervisor/tools.js.map +1 -0
  1122. package/dist/supervisor/verdict-schema.d.ts +18 -0
  1123. package/dist/supervisor/verdict-schema.d.ts.map +1 -0
  1124. package/dist/supervisor/verdict-schema.js +58 -0
  1125. package/dist/supervisor/verdict-schema.js.map +1 -0
  1126. package/dist/system-skills.d.ts +68 -0
  1127. package/dist/system-skills.d.ts.map +1 -0
  1128. package/dist/system-skills.js +168 -0
  1129. package/dist/system-skills.js.map +1 -0
  1130. package/dist/task-executor.d.ts +90 -40
  1131. package/dist/task-executor.d.ts.map +1 -1
  1132. package/dist/task-executor.js +259 -282
  1133. package/dist/task-executor.js.map +1 -1
  1134. package/dist/task-planner.d.ts +18 -12
  1135. package/dist/task-planner.d.ts.map +1 -1
  1136. package/dist/task-planner.js +342 -328
  1137. package/dist/task-planner.js.map +1 -1
  1138. package/dist/timeline-preview/compare.d.ts +27 -0
  1139. package/dist/timeline-preview/compare.d.ts.map +1 -0
  1140. package/dist/timeline-preview/compare.js +71 -0
  1141. package/dist/timeline-preview/compare.js.map +1 -0
  1142. package/dist/timeline-preview/frames.d.ts +167 -0
  1143. package/dist/timeline-preview/frames.d.ts.map +1 -0
  1144. package/dist/timeline-preview/frames.js +646 -0
  1145. package/dist/timeline-preview/frames.js.map +1 -0
  1146. package/dist/timeline-preview/model3d.d.ts +67 -0
  1147. package/dist/timeline-preview/model3d.d.ts.map +1 -0
  1148. package/dist/timeline-preview/model3d.js +165 -0
  1149. package/dist/timeline-preview/model3d.js.map +1 -0
  1150. package/dist/timeline-preview/rasterize.d.ts +33 -0
  1151. package/dist/timeline-preview/rasterize.d.ts.map +1 -0
  1152. package/dist/timeline-preview/rasterize.js +83 -0
  1153. package/dist/timeline-preview/rasterize.js.map +1 -0
  1154. package/dist/timeline-preview/sheet.d.ts +38 -0
  1155. package/dist/timeline-preview/sheet.d.ts.map +1 -0
  1156. package/dist/timeline-preview/sheet.js +72 -0
  1157. package/dist/timeline-preview/sheet.js.map +1 -0
  1158. package/dist/tools/asset-persist.d.ts +29 -0
  1159. package/dist/tools/asset-persist.d.ts.map +1 -0
  1160. package/dist/tools/asset-persist.js +78 -0
  1161. package/dist/tools/asset-persist.js.map +1 -0
  1162. package/dist/tools/base-tool.d.ts +52 -5
  1163. package/dist/tools/base-tool.d.ts.map +1 -1
  1164. package/dist/tools/base-tool.js +180 -3
  1165. package/dist/tools/base-tool.js.map +1 -1
  1166. package/dist/tools/binary-output.d.ts +54 -0
  1167. package/dist/tools/binary-output.d.ts.map +1 -0
  1168. package/dist/tools/binary-output.js +127 -0
  1169. package/dist/tools/binary-output.js.map +1 -0
  1170. package/dist/tools/browser-tools.d.ts +5 -29
  1171. package/dist/tools/browser-tools.d.ts.map +1 -1
  1172. package/dist/tools/browser-tools.js +5 -205
  1173. package/dist/tools/browser-tools.js.map +1 -1
  1174. package/dist/tools/builtin-tools.d.ts +52 -0
  1175. package/dist/tools/builtin-tools.d.ts.map +1 -0
  1176. package/dist/tools/builtin-tools.js +276 -0
  1177. package/dist/tools/builtin-tools.js.map +1 -0
  1178. package/dist/tools/control-tool.d.ts +2 -5
  1179. package/dist/tools/control-tool.d.ts.map +1 -1
  1180. package/dist/tools/control-tool.js +18 -15
  1181. package/dist/tools/control-tool.js.map +1 -1
  1182. package/dist/tools/dataseo-tools.d.ts +34 -32
  1183. package/dist/tools/dataseo-tools.d.ts.map +1 -1
  1184. package/dist/tools/dataseo-tools.js +148 -233
  1185. package/dist/tools/dataseo-tools.js.map +1 -1
  1186. package/dist/tools/external-capability-tools.d.ts +36 -0
  1187. package/dist/tools/external-capability-tools.d.ts.map +1 -0
  1188. package/dist/tools/external-capability-tools.js +41 -0
  1189. package/dist/tools/external-capability-tools.js.map +1 -0
  1190. package/dist/tools/external-mcp-tools.d.ts +139 -0
  1191. package/dist/tools/external-mcp-tools.d.ts.map +1 -0
  1192. package/dist/tools/external-mcp-tools.js +552 -0
  1193. package/dist/tools/external-mcp-tools.js.map +1 -0
  1194. package/dist/tools/finish-step-tool.d.ts +1 -1
  1195. package/dist/tools/finish-step-tool.d.ts.map +1 -1
  1196. package/dist/tools/finish-step-tool.js +3 -3
  1197. package/dist/tools/finish-step-tool.js.map +1 -1
  1198. package/dist/tools/google-tools.d.ts +28 -39
  1199. package/dist/tools/google-tools.d.ts.map +1 -1
  1200. package/dist/tools/google-tools.js +51 -164
  1201. package/dist/tools/google-tools.js.map +1 -1
  1202. package/dist/tools/google-workspace-tools.d.ts +23 -0
  1203. package/dist/tools/google-workspace-tools.d.ts.map +1 -0
  1204. package/dist/tools/google-workspace-tools.js +26 -0
  1205. package/dist/tools/google-workspace-tools.js.map +1 -0
  1206. package/dist/tools/graph-validation-registry.d.ts +33 -0
  1207. package/dist/tools/graph-validation-registry.d.ts.map +1 -0
  1208. package/dist/tools/graph-validation-registry.js +54 -0
  1209. package/dist/tools/graph-validation-registry.js.map +1 -0
  1210. package/dist/tools/http-tools.d.ts +5 -53
  1211. package/dist/tools/http-tools.d.ts.map +1 -1
  1212. package/dist/tools/http-tools.js +5 -177
  1213. package/dist/tools/http-tools.js.map +1 -1
  1214. package/dist/tools/image-injection.d.ts +51 -0
  1215. package/dist/tools/image-injection.d.ts.map +1 -0
  1216. package/dist/tools/image-injection.js +85 -0
  1217. package/dist/tools/image-injection.js.map +1 -0
  1218. package/dist/tools/mcp-tool-support.d.ts +203 -0
  1219. package/dist/tools/mcp-tool-support.d.ts.map +1 -0
  1220. package/dist/tools/mcp-tool-support.js +536 -0
  1221. package/dist/tools/mcp-tool-support.js.map +1 -0
  1222. package/dist/tools/mcp-tools.d.ts +104 -390
  1223. package/dist/tools/mcp-tools.d.ts.map +1 -1
  1224. package/dist/tools/mcp-tools.js +128 -600
  1225. package/dist/tools/mcp-tools.js.map +1 -1
  1226. package/dist/tools/media-tools.d.ts +9 -272
  1227. package/dist/tools/media-tools.d.ts.map +1 -1
  1228. package/dist/tools/media-tools.js +11 -676
  1229. package/dist/tools/media-tools.js.map +1 -1
  1230. package/dist/tools/memory-tools.d.ts +36 -0
  1231. package/dist/tools/memory-tools.d.ts.map +1 -0
  1232. package/dist/tools/memory-tools.js +52 -0
  1233. package/dist/tools/memory-tools.js.map +1 -0
  1234. package/dist/tools/openai-tools.d.ts +28 -68
  1235. package/dist/tools/openai-tools.d.ts.map +1 -1
  1236. package/dist/tools/openai-tools.js +51 -181
  1237. package/dist/tools/openai-tools.js.map +1 -1
  1238. package/dist/tools/plan-builder-tools.d.ts +141 -7
  1239. package/dist/tools/plan-builder-tools.d.ts.map +1 -1
  1240. package/dist/tools/plan-builder-tools.js +159 -86
  1241. package/dist/tools/plan-builder-tools.js.map +1 -1
  1242. package/dist/tools/run-search-tool.d.ts +82 -0
  1243. package/dist/tools/run-search-tool.d.ts.map +1 -0
  1244. package/dist/tools/run-search-tool.js +121 -0
  1245. package/dist/tools/run-search-tool.js.map +1 -0
  1246. package/dist/tools/run-subtask-tool.d.ts +49 -0
  1247. package/dist/tools/run-subtask-tool.d.ts.map +1 -0
  1248. package/dist/tools/run-subtask-tool.js +88 -0
  1249. package/dist/tools/run-subtask-tool.js.map +1 -0
  1250. package/dist/tools/search-tools.d.ts +5 -36
  1251. package/dist/tools/search-tools.d.ts.map +1 -1
  1252. package/dist/tools/search-tools.js +5 -215
  1253. package/dist/tools/search-tools.js.map +1 -1
  1254. package/dist/tools/serp-providers/apify-provider.d.ts +18 -0
  1255. package/dist/tools/serp-providers/apify-provider.d.ts.map +1 -0
  1256. package/dist/tools/serp-providers/apify-provider.js +93 -0
  1257. package/dist/tools/serp-providers/apify-provider.js.map +1 -0
  1258. package/dist/tools/serp-providers/brave-provider.d.ts +34 -0
  1259. package/dist/tools/serp-providers/brave-provider.d.ts.map +1 -0
  1260. package/dist/tools/serp-providers/brave-provider.js +86 -0
  1261. package/dist/tools/serp-providers/brave-provider.js.map +1 -0
  1262. package/dist/tools/serp-providers/dataforseo-provider.d.ts +14 -1
  1263. package/dist/tools/serp-providers/dataforseo-provider.d.ts.map +1 -1
  1264. package/dist/tools/serp-providers/dataforseo-provider.js +0 -9
  1265. package/dist/tools/serp-providers/dataforseo-provider.js.map +1 -1
  1266. package/dist/tools/serp-providers/gemini-provider.d.ts +45 -0
  1267. package/dist/tools/serp-providers/gemini-provider.d.ts.map +1 -0
  1268. package/dist/tools/serp-providers/gemini-provider.js +148 -0
  1269. package/dist/tools/serp-providers/gemini-provider.js.map +1 -0
  1270. package/dist/tools/serp-providers/index.d.ts +61 -0
  1271. package/dist/tools/serp-providers/index.d.ts.map +1 -1
  1272. package/dist/tools/serp-providers/index.js +119 -3
  1273. package/dist/tools/serp-providers/index.js.map +1 -1
  1274. package/dist/tools/serp-providers/openai-provider.d.ts +58 -0
  1275. package/dist/tools/serp-providers/openai-provider.d.ts.map +1 -0
  1276. package/dist/tools/serp-providers/openai-provider.js +113 -0
  1277. package/dist/tools/serp-providers/openai-provider.js.map +1 -0
  1278. package/dist/tools/serp-providers/serpapi-provider.d.ts +9 -5
  1279. package/dist/tools/serp-providers/serpapi-provider.d.ts.map +1 -1
  1280. package/dist/tools/serp-providers/serpapi-provider.js +26 -44
  1281. package/dist/tools/serp-providers/serpapi-provider.js.map +1 -1
  1282. package/dist/tools/serp-tool-factory.d.ts +27 -0
  1283. package/dist/tools/serp-tool-factory.d.ts.map +1 -0
  1284. package/dist/tools/serp-tool-factory.js +56 -0
  1285. package/dist/tools/serp-tool-factory.js.map +1 -0
  1286. package/dist/tools/shared-tools.d.ts +33 -0
  1287. package/dist/tools/shared-tools.d.ts.map +1 -0
  1288. package/dist/tools/shared-tools.js +39 -0
  1289. package/dist/tools/shared-tools.js.map +1 -0
  1290. package/dist/tools/start-subtask-tool.d.ts +51 -0
  1291. package/dist/tools/start-subtask-tool.d.ts.map +1 -0
  1292. package/dist/tools/start-subtask-tool.js +189 -0
  1293. package/dist/tools/start-subtask-tool.js.map +1 -0
  1294. package/dist/tools/submit-code-tool.d.ts +159 -0
  1295. package/dist/tools/submit-code-tool.d.ts.map +1 -0
  1296. package/dist/tools/submit-code-tool.js +209 -0
  1297. package/dist/tools/submit-code-tool.js.map +1 -0
  1298. package/dist/tools/subtask-fields.d.ts +11 -0
  1299. package/dist/tools/subtask-fields.d.ts.map +1 -0
  1300. package/dist/tools/subtask-fields.js +11 -0
  1301. package/dist/tools/subtask-fields.js.map +1 -0
  1302. package/dist/tools/todo-tools.d.ts +15 -0
  1303. package/dist/tools/todo-tools.d.ts.map +1 -0
  1304. package/dist/tools/todo-tools.js +15 -0
  1305. package/dist/tools/todo-tools.js.map +1 -0
  1306. package/dist/tools/tool-permissions.d.ts +40 -0
  1307. package/dist/tools/tool-permissions.d.ts.map +1 -0
  1308. package/dist/tools/tool-permissions.js +52 -0
  1309. package/dist/tools/tool-permissions.js.map +1 -0
  1310. package/dist/tools/tool-search.d.ts +39 -0
  1311. package/dist/tools/tool-search.d.ts.map +1 -0
  1312. package/dist/tools/tool-search.js +108 -0
  1313. package/dist/tools/tool-search.js.map +1 -0
  1314. package/dist/tools/vector-tool-support.d.ts +15 -0
  1315. package/dist/tools/vector-tool-support.d.ts.map +1 -0
  1316. package/dist/tools/vector-tool-support.js +133 -0
  1317. package/dist/tools/vector-tool-support.js.map +1 -0
  1318. package/dist/tools/vector-tools.d.ts +13 -220
  1319. package/dist/tools/vector-tools.d.ts.map +1 -1
  1320. package/dist/tools/vector-tools.js +7 -578
  1321. package/dist/tools/vector-tools.js.map +1 -1
  1322. package/dist/tools/wait-subtasks-tool.d.ts +27 -0
  1323. package/dist/tools/wait-subtasks-tool.d.ts.map +1 -0
  1324. package/dist/tools/wait-subtasks-tool.js +66 -0
  1325. package/dist/tools/wait-subtasks-tool.js.map +1 -0
  1326. package/dist/tsconfig.tests.tmp.tsbuildinfo +1 -0
  1327. package/dist/types.d.ts +16 -31
  1328. package/dist/types.d.ts.map +1 -1
  1329. package/dist/types.js +8 -1
  1330. package/dist/types.js.map +1 -1
  1331. package/dist/utils/dag-scheduler.d.ts +85 -0
  1332. package/dist/utils/dag-scheduler.d.ts.map +1 -0
  1333. package/dist/utils/dag-scheduler.js +180 -0
  1334. package/dist/utils/dag-scheduler.js.map +1 -0
  1335. package/dist/utils/json-parser.d.ts +32 -1
  1336. package/dist/utils/json-parser.d.ts.map +1 -1
  1337. package/dist/utils/json-parser.js +145 -10
  1338. package/dist/utils/json-parser.js.map +1 -1
  1339. package/dist/utils/json-schema-validate.d.ts +29 -0
  1340. package/dist/utils/json-schema-validate.d.ts.map +1 -0
  1341. package/dist/utils/json-schema-validate.js +228 -0
  1342. package/dist/utils/json-schema-validate.js.map +1 -0
  1343. package/dist/utils/link-abort.d.ts +13 -0
  1344. package/dist/utils/link-abort.d.ts.map +1 -0
  1345. package/dist/utils/link-abort.js +23 -0
  1346. package/dist/utils/link-abort.js.map +1 -0
  1347. package/dist/utils/merge-generators.d.ts +58 -0
  1348. package/dist/utils/merge-generators.d.ts.map +1 -0
  1349. package/dist/utils/merge-generators.js +148 -0
  1350. package/dist/utils/merge-generators.js.map +1 -0
  1351. package/dist/utils/remove-base64-images.d.ts +0 -5
  1352. package/dist/utils/remove-base64-images.d.ts.map +1 -1
  1353. package/dist/utils/remove-base64-images.js.map +1 -1
  1354. package/dist/utils/step-failure.d.ts +20 -0
  1355. package/dist/utils/step-failure.d.ts.map +1 -0
  1356. package/dist/utils/step-failure.js +43 -0
  1357. package/dist/utils/step-failure.js.map +1 -0
  1358. package/dist/utils/think-tags.d.ts +16 -0
  1359. package/dist/utils/think-tags.d.ts.map +1 -0
  1360. package/dist/utils/think-tags.js +23 -0
  1361. package/dist/utils/think-tags.js.map +1 -0
  1362. package/dist/utils/type-guards.d.ts +26 -0
  1363. package/dist/utils/type-guards.d.ts.map +1 -0
  1364. package/dist/utils/type-guards.js +44 -0
  1365. package/dist/utils/type-guards.js.map +1 -0
  1366. package/dist/utils/ui-event-buffer.d.ts +18 -0
  1367. package/dist/utils/ui-event-buffer.d.ts.map +1 -0
  1368. package/dist/utils/ui-event-buffer.js +18 -0
  1369. package/dist/utils/ui-event-buffer.js.map +1 -0
  1370. package/dist/utils/wrap-generators-parallel.d.ts +0 -5
  1371. package/dist/utils/wrap-generators-parallel.d.ts.map +1 -1
  1372. package/dist/utils/wrap-generators-parallel.js +3 -6
  1373. package/dist/utils/wrap-generators-parallel.js.map +1 -1
  1374. package/dist/wasm-sandbox/host.d.ts +106 -0
  1375. package/dist/wasm-sandbox/host.d.ts.map +1 -0
  1376. package/dist/wasm-sandbox/host.js +409 -0
  1377. package/dist/wasm-sandbox/host.js.map +1 -0
  1378. package/dist/wasm-sandbox/workers.d.ts +43 -0
  1379. package/dist/wasm-sandbox/workers.d.ts.map +1 -0
  1380. package/dist/wasm-sandbox/workers.js +150 -0
  1381. package/dist/wasm-sandbox/workers.js.map +1 -0
  1382. package/dist/workspace-paths.d.ts +40 -0
  1383. package/dist/workspace-paths.d.ts.map +1 -0
  1384. package/dist/workspace-paths.js +102 -0
  1385. package/dist/workspace-paths.js.map +1 -0
  1386. package/dist/yt-dlp-gate.d.ts +19 -0
  1387. package/dist/yt-dlp-gate.d.ts.map +1 -0
  1388. package/dist/yt-dlp-gate.js +22 -0
  1389. package/dist/yt-dlp-gate.js.map +1 -0
  1390. package/package.json +112 -14
  1391. package/dist/agent-executor.d.ts +0 -62
  1392. package/dist/agent-executor.d.ts.map +0 -1
  1393. package/dist/agent-executor.js +0 -324
  1394. package/dist/agent-executor.js.map +0 -1
  1395. package/dist/agent-step-executor.d.ts +0 -28
  1396. package/dist/agent-step-executor.d.ts.map +0 -1
  1397. package/dist/agent-step-executor.js +0 -99
  1398. package/dist/agent-step-executor.js.map +0 -1
  1399. package/dist/agent-workflow-runner.d.ts +0 -31
  1400. package/dist/agent-workflow-runner.d.ts.map +0 -1
  1401. package/dist/agent-workflow-runner.js +0 -124
  1402. package/dist/agent-workflow-runner.js.map +0 -1
  1403. package/dist/agent.d.ts +0 -115
  1404. package/dist/agent.d.ts.map +0 -1
  1405. package/dist/agent.js +0 -587
  1406. package/dist/agent.js.map +0 -1
  1407. package/dist/base-agent.d.ts +0 -42
  1408. package/dist/base-agent.d.ts.map +0 -1
  1409. package/dist/base-agent.js +0 -29
  1410. package/dist/base-agent.js.map +0 -1
  1411. package/dist/graph-planner.d.ts +0 -56
  1412. package/dist/graph-planner.d.ts.map +0 -1
  1413. package/dist/graph-planner.js +0 -311
  1414. package/dist/graph-planner.js.map +0 -1
  1415. package/dist/multi-mode-agent.d.ts +0 -86
  1416. package/dist/multi-mode-agent.d.ts.map +0 -1
  1417. package/dist/multi-mode-agent.js +0 -476
  1418. package/dist/multi-mode-agent.js.map +0 -1
  1419. package/dist/prompts/graph-planner-prompt.d.ts +0 -48
  1420. package/dist/prompts/graph-planner-prompt.d.ts.map +0 -1
  1421. package/dist/prompts/graph-planner-prompt.js +0 -180
  1422. package/dist/prompts/graph-planner-prompt.js.map +0 -1
  1423. package/dist/reject-agentic-provider.d.ts +0 -21
  1424. package/dist/reject-agentic-provider.d.ts.map +0 -1
  1425. package/dist/reject-agentic-provider.js +0 -32
  1426. package/dist/reject-agentic-provider.js.map +0 -1
  1427. package/dist/simple-agent.d.ts +0 -29
  1428. package/dist/simple-agent.d.ts.map +0 -1
  1429. package/dist/simple-agent.js +0 -54
  1430. package/dist/simple-agent.js.map +0 -1
  1431. package/dist/sub-agent-planner.d.ts +0 -33
  1432. package/dist/sub-agent-planner.d.ts.map +0 -1
  1433. package/dist/sub-agent-planner.js +0 -203
  1434. package/dist/sub-agent-planner.js.map +0 -1
  1435. package/dist/team/db-task-board.d.ts +0 -54
  1436. package/dist/team/db-task-board.d.ts.map +0 -1
  1437. package/dist/team/db-task-board.js +0 -361
  1438. package/dist/team/db-task-board.js.map +0 -1
  1439. package/dist/team/edge-message-bus.d.ts +0 -51
  1440. package/dist/team/edge-message-bus.d.ts.map +0 -1
  1441. package/dist/team/edge-message-bus.js +0 -169
  1442. package/dist/team/edge-message-bus.js.map +0 -1
  1443. package/dist/team/edge-task-board.d.ts +0 -77
  1444. package/dist/team/edge-task-board.d.ts.map +0 -1
  1445. package/dist/team/edge-task-board.js +0 -140
  1446. package/dist/team/edge-task-board.js.map +0 -1
  1447. package/dist/team/index.d.ts +0 -16
  1448. package/dist/team/index.d.ts.map +0 -1
  1449. package/dist/team/index.js +0 -17
  1450. package/dist/team/index.js.map +0 -1
  1451. package/dist/team/message-bus.d.ts +0 -58
  1452. package/dist/team/message-bus.d.ts.map +0 -1
  1453. package/dist/team/message-bus.js +0 -151
  1454. package/dist/team/message-bus.js.map +0 -1
  1455. package/dist/team/task-board.d.ts +0 -106
  1456. package/dist/team/task-board.d.ts.map +0 -1
  1457. package/dist/team/task-board.js +0 -370
  1458. package/dist/team/task-board.js.map +0 -1
  1459. package/dist/team/team-executor.d.ts +0 -72
  1460. package/dist/team/team-executor.d.ts.map +0 -1
  1461. package/dist/team/team-executor.js +0 -466
  1462. package/dist/team/team-executor.js.map +0 -1
  1463. package/dist/team/team-tools.d.ts +0 -252
  1464. package/dist/team/team-tools.d.ts.map +0 -1
  1465. package/dist/team/team-tools.js +0 -412
  1466. package/dist/team/team-tools.js.map +0 -1
  1467. package/dist/team/types.d.ts +0 -198
  1468. package/dist/team/types.d.ts.map +0 -1
  1469. package/dist/team/types.js +0 -8
  1470. package/dist/team/types.js.map +0 -1
  1471. package/dist/tools/add-edge-tool.d.ts +0 -18
  1472. package/dist/tools/add-edge-tool.d.ts.map +0 -1
  1473. package/dist/tools/add-edge-tool.js +0 -92
  1474. package/dist/tools/add-edge-tool.js.map +0 -1
  1475. package/dist/tools/add-node-tool.d.ts +0 -22
  1476. package/dist/tools/add-node-tool.d.ts.map +0 -1
  1477. package/dist/tools/add-node-tool.js +0 -128
  1478. package/dist/tools/add-node-tool.js.map +0 -1
  1479. package/dist/tools/asset-tools.d.ts +0 -58
  1480. package/dist/tools/asset-tools.d.ts.map +0 -1
  1481. package/dist/tools/asset-tools.js +0 -191
  1482. package/dist/tools/asset-tools.js.map +0 -1
  1483. package/dist/tools/calculator-tool.d.ts +0 -24
  1484. package/dist/tools/calculator-tool.d.ts.map +0 -1
  1485. package/dist/tools/calculator-tool.js +0 -64
  1486. package/dist/tools/calculator-tool.js.map +0 -1
  1487. package/dist/tools/claude-code-tools.d.ts +0 -96
  1488. package/dist/tools/claude-code-tools.d.ts.map +0 -1
  1489. package/dist/tools/claude-code-tools.js +0 -463
  1490. package/dist/tools/claude-code-tools.js.map +0 -1
  1491. package/dist/tools/code-tools.d.ts +0 -26
  1492. package/dist/tools/code-tools.d.ts.map +0 -1
  1493. package/dist/tools/code-tools.js +0 -82
  1494. package/dist/tools/code-tools.js.map +0 -1
  1495. package/dist/tools/create-plan-tool.d.ts +0 -29
  1496. package/dist/tools/create-plan-tool.d.ts.map +0 -1
  1497. package/dist/tools/create-plan-tool.js +0 -355
  1498. package/dist/tools/create-plan-tool.js.map +0 -1
  1499. package/dist/tools/create-task-tool.d.ts +0 -28
  1500. package/dist/tools/create-task-tool.d.ts.map +0 -1
  1501. package/dist/tools/create-task-tool.js +0 -254
  1502. package/dist/tools/create-task-tool.js.map +0 -1
  1503. package/dist/tools/email-tools.d.ts +0 -76
  1504. package/dist/tools/email-tools.d.ts.map +0 -1
  1505. package/dist/tools/email-tools.js +0 -259
  1506. package/dist/tools/email-tools.js.map +0 -1
  1507. package/dist/tools/filesystem-tools.d.ts +0 -77
  1508. package/dist/tools/filesystem-tools.d.ts.map +0 -1
  1509. package/dist/tools/filesystem-tools.js +0 -334
  1510. package/dist/tools/filesystem-tools.js.map +0 -1
  1511. package/dist/tools/find-model-tool.d.ts +0 -25
  1512. package/dist/tools/find-model-tool.d.ts.map +0 -1
  1513. package/dist/tools/find-model-tool.js +0 -236
  1514. package/dist/tools/find-model-tool.js.map +0 -1
  1515. package/dist/tools/finish-graph-tool.d.ts +0 -23
  1516. package/dist/tools/finish-graph-tool.d.ts.map +0 -1
  1517. package/dist/tools/finish-graph-tool.js +0 -46
  1518. package/dist/tools/finish-graph-tool.js.map +0 -1
  1519. package/dist/tools/js-code-tool.d.ts +0 -30
  1520. package/dist/tools/js-code-tool.d.ts.map +0 -1
  1521. package/dist/tools/js-code-tool.js +0 -98
  1522. package/dist/tools/js-code-tool.js.map +0 -1
  1523. package/dist/tools/local-get-node-info-tool.d.ts +0 -19
  1524. package/dist/tools/local-get-node-info-tool.d.ts.map +0 -1
  1525. package/dist/tools/local-get-node-info-tool.js +0 -75
  1526. package/dist/tools/local-get-node-info-tool.js.map +0 -1
  1527. package/dist/tools/local-list-nodes-tool.d.ts +0 -19
  1528. package/dist/tools/local-list-nodes-tool.d.ts.map +0 -1
  1529. package/dist/tools/local-list-nodes-tool.js +0 -69
  1530. package/dist/tools/local-list-nodes-tool.js.map +0 -1
  1531. package/dist/tools/local-search-nodes-tool.d.ts +0 -21
  1532. package/dist/tools/local-search-nodes-tool.d.ts.map +0 -1
  1533. package/dist/tools/local-search-nodes-tool.js +0 -111
  1534. package/dist/tools/local-search-nodes-tool.js.map +0 -1
  1535. package/dist/tools/math-tools.d.ts +0 -156
  1536. package/dist/tools/math-tools.d.ts.map +0 -1
  1537. package/dist/tools/math-tools.js +0 -422
  1538. package/dist/tools/math-tools.js.map +0 -1
  1539. package/dist/tools/model-tools.d.ts +0 -25
  1540. package/dist/tools/model-tools.d.ts.map +0 -1
  1541. package/dist/tools/model-tools.js +0 -48
  1542. package/dist/tools/model-tools.js.map +0 -1
  1543. package/dist/tools/pdf-tools.d.ts +0 -152
  1544. package/dist/tools/pdf-tools.d.ts.map +0 -1
  1545. package/dist/tools/pdf-tools.js +0 -339
  1546. package/dist/tools/pdf-tools.js.map +0 -1
  1547. package/dist/tools/tool-registry.d.ts +0 -9
  1548. package/dist/tools/tool-registry.d.ts.map +0 -1
  1549. package/dist/tools/tool-registry.js +0 -17
  1550. package/dist/tools/tool-registry.js.map +0 -1
  1551. package/dist/tools/workspace-tools.d.ts +0 -58
  1552. package/dist/tools/workspace-tools.d.ts.map +0 -1
  1553. package/dist/tools/workspace-tools.js +0 -152
  1554. 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