@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,1163 @@
1
+ /**
2
+ * The `sketches` capability module.
3
+ *
4
+ * Sketch capabilities: list and create, the five version tools, the headless
5
+ * layer editor, validate, and delete. The version tools used to be
6
+ * `../tools/sketch-version-tools.ts`; the editor was `sketch-edit-tools.ts`;
7
+ * `validate_sketch` lived beside the workflow tools in `../tools/mcp-tools.ts`.
8
+ *
9
+ * Wire names, descriptions and schemas are unchanged from the old classes.
10
+ *
11
+ * The tRPC-only sketch loader `validate_sketch` took as a constructor argument
12
+ * is `run.loaders?.sketch`. Every heavy dependency (`@nodetool-ai/models`, the
13
+ * sketch validator, the eval surface's blend-mode table) is imported inside the
14
+ * implementation that needs it.
15
+ *
16
+ * Design: docs/tool-class-retirement-design.md § "Migration".
17
+ */
18
+ import { isShortResourceId } from "@nodetool-ai/protocol";
19
+ import { listSketchesSpec, createSketchSpec, getSketchSpec, listSketchVersionsSpec, getSketchVersionSpec, createSketchVersionSpec, restoreSketchVersionSpec, deleteSketchVersionSpec, editSketchSpec, refineImageBriefSpec, validateSketchSpec, DEFAULT_VERSION_LIMIT, MAX_VERSION_LIMIT, deleteSketchSpec } from "./sketches.specs.js";
20
+ import { isFiniteNumber, isNonBlankString, isNumber, isRecord, isString } from "../utils/type-guards.js";
21
+ import { resolveProjectId } from "./project-scope.js";
22
+ import { encodeSketchLayerData, findImageUseCase, IMAGE_USE_CASES } from "@nodetool-ai/protocol/api-schemas/sketch.js";
23
+ const isError = (value) => !!value &&
24
+ typeof value === "object" &&
25
+ typeof value.error === "string";
26
+ async function loadSketch(run, sketchId) {
27
+ if (!isString(sketchId) || !sketchId) {
28
+ return {
29
+ error: "image_document_id is required (use list_sketches to find one)."
30
+ };
31
+ }
32
+ const { ImageDocument } = await import("@nodetool-ai/models");
33
+ const doc = await ImageDocument.findById(sketchId);
34
+ // A sketch owned by someone else reads as missing — the same rule the tRPC
35
+ // router's ownership check applies.
36
+ if (!doc || doc.user_id !== run.context.userId) {
37
+ return { error: `Sketch ${sketchId} was not found.` };
38
+ }
39
+ return doc;
40
+ }
41
+ /** The list-item shape the tRPC router returns for a snapshot. */
42
+ function toVersionListItem(version) {
43
+ return {
44
+ id: version.id,
45
+ version: version.version,
46
+ name: version.name,
47
+ saveType: version.save_type,
48
+ width: version.width,
49
+ height: version.height,
50
+ backgroundColor: version.background_color,
51
+ createdAt: version.created_at
52
+ };
53
+ }
54
+ /**
55
+ * A snapshot's document is JSON text on SQLite and an object on Postgres, so
56
+ * parse only when it is a string. A row that is neither is corrupt, and saying
57
+ * so beats handing back a string the caller will treat as a document.
58
+ */
59
+ function parseVersionDocument(raw) {
60
+ if (!isString(raw))
61
+ return raw;
62
+ try {
63
+ return JSON.parse(raw);
64
+ }
65
+ catch {
66
+ return { error: "The stored version document is not valid JSON." };
67
+ }
68
+ }
69
+ /** One-line count of what a validation found. */
70
+ function validationSummary(validation) {
71
+ const errors = validation.errors.length;
72
+ const warnings = validation.warnings.length;
73
+ if (errors === 0 && warnings === 0)
74
+ return "No issues found.";
75
+ const parts = [];
76
+ if (errors > 0)
77
+ parts.push(`${errors} error${errors === 1 ? "" : "s"}`);
78
+ if (warnings > 0)
79
+ parts.push(`${warnings} warning${warnings === 1 ? "" : "s"}`);
80
+ return parts.join(", ");
81
+ }
82
+ function versionNumber(value) {
83
+ const n = Number(value);
84
+ if (!Number.isInteger(n) || n < 1) {
85
+ return {
86
+ error: "version must be a positive integer (use list_sketch_versions to see the available ones)."
87
+ };
88
+ }
89
+ return n;
90
+ }
91
+ const DEFAULT_CANVAS_SIZE = 1024;
92
+ const DEFAULT_BACKGROUND = "#ffffff";
93
+ /** A blank raster document matching `sketch.create` on the tRPC router. */
94
+ function emptySketchDocument(width, height, backgroundColor) {
95
+ const layerId = crypto.randomUUID();
96
+ const now = new Date().toISOString();
97
+ return {
98
+ sketch: {
99
+ version: 3,
100
+ canvas: { width, height, backgroundColor },
101
+ layers: [
102
+ {
103
+ id: layerId,
104
+ name: "Layer 1",
105
+ type: "raster",
106
+ visible: true,
107
+ opacity: 1,
108
+ locked: false,
109
+ alphaLock: false,
110
+ blendMode: "normal",
111
+ data: null,
112
+ transform: { x: 0, y: 0 },
113
+ contentBounds: { x: 0, y: 0, width, height },
114
+ effects: []
115
+ }
116
+ ],
117
+ activeLayerId: layerId,
118
+ maskLayerId: null,
119
+ activeTool: "brush",
120
+ viewport: { zoom: 1, pan: { x: 0, y: 0 } },
121
+ history: [],
122
+ historyIndex: -1,
123
+ metadata: { createdAt: now, updatedAt: now }
124
+ },
125
+ layerBindings: []
126
+ };
127
+ }
128
+ function canvasSize(value, fallback) {
129
+ if (value === undefined || value === null) {
130
+ return fallback;
131
+ }
132
+ if (!isFiniteNumber(value) || !Number.isInteger(value) || value < 1) {
133
+ return { error: "width and height must be positive integers." };
134
+ }
135
+ return value;
136
+ }
137
+ const createSketch = {
138
+ spec: createSketchSpec,
139
+ impl: async (run, params) => {
140
+ const userId = run.context.userId;
141
+ if (!userId)
142
+ return { error: "No user is bound to this session." };
143
+ const name = params["name"];
144
+ if (!isNonBlankString(name)) {
145
+ return { error: "name is required and must be a non-empty string." };
146
+ }
147
+ const width = canvasSize(params["width"], DEFAULT_CANVAS_SIZE);
148
+ if (isError(width))
149
+ return width;
150
+ const height = canvasSize(params["height"], DEFAULT_CANVAS_SIZE);
151
+ if (isError(height))
152
+ return height;
153
+ const backgroundColor = isNonBlankString(params["background_color"])
154
+ ? params["background_color"].trim()
155
+ : DEFAULT_BACKGROUND;
156
+ const projectId = resolveProjectId(run, params);
157
+ const requestedId = isNonBlankString(params["id"])
158
+ ? params["id"].trim()
159
+ : undefined;
160
+ const { ImageDocument } = await import("@nodetool-ai/models");
161
+ if (requestedId) {
162
+ const existing = await ImageDocument.findById(requestedId);
163
+ if (existing) {
164
+ if (existing.user_id !== userId) {
165
+ return { error: `A sketch with id ${requestedId} already exists.` };
166
+ }
167
+ return {
168
+ ok: true,
169
+ image_document_id: existing.id,
170
+ name: existing.name,
171
+ width: existing.width,
172
+ height: existing.height,
173
+ project_id: existing.project_id,
174
+ updated_at: existing.updated_at
175
+ };
176
+ }
177
+ }
178
+ const now = new Date().toISOString();
179
+ const document = emptySketchDocument(width, height, backgroundColor);
180
+ const fields = {
181
+ user_id: userId,
182
+ project_id: projectId,
183
+ name: name.trim(),
184
+ width,
185
+ height,
186
+ background_color: backgroundColor,
187
+ document: JSON.stringify(document),
188
+ created_at: now,
189
+ updated_at: now
190
+ };
191
+ if (requestedId) {
192
+ fields.id = requestedId;
193
+ }
194
+ const doc = new ImageDocument(fields);
195
+ await doc.save();
196
+ return {
197
+ ok: true,
198
+ image_document_id: doc.id,
199
+ name: doc.name,
200
+ width: doc.width,
201
+ height: doc.height,
202
+ project_id: doc.project_id,
203
+ updated_at: doc.updated_at
204
+ };
205
+ }
206
+ };
207
+ const listSketches = {
208
+ spec: listSketchesSpec,
209
+ impl: async (run, params) => {
210
+ const userId = run.context.userId;
211
+ if (!userId)
212
+ return { error: "No user is bound to this session." };
213
+ const { ImageDocument } = await import("@nodetool-ai/models");
214
+ const limit = Math.max(1, Math.min(Number(params["limit"]) || 20, 100));
215
+ const query = isString(params["query"])
216
+ ? params["query"].trim().toLowerCase()
217
+ : "";
218
+ // Filter after the read: the name filter is not indexed, and the per-user
219
+ // limit is what bounds the scan.
220
+ const rows = await ImageDocument.listByUser(userId, 100);
221
+ const matching = query
222
+ ? rows.filter((row) => row.name.toLowerCase().includes(query))
223
+ : rows;
224
+ return {
225
+ sketches: matching.slice(0, limit).map((row) => ({
226
+ id: row.id,
227
+ name: row.name,
228
+ width: row.width,
229
+ height: row.height,
230
+ updated_at: row.updated_at
231
+ }))
232
+ };
233
+ }
234
+ };
235
+ const getSketch = {
236
+ spec: getSketchSpec,
237
+ impl: async (run, params) => {
238
+ const doc = await loadSketch(run, params["image_document_id"]);
239
+ if (isError(doc))
240
+ return doc;
241
+ return { sketch: doc.toResponse() };
242
+ }
243
+ };
244
+ const listSketchVersions = {
245
+ spec: listSketchVersionsSpec,
246
+ impl: async (run, params) => {
247
+ const doc = await loadSketch(run, params["image_document_id"]);
248
+ if (isError(doc))
249
+ return doc;
250
+ const { ImageDocumentVersion } = await import("@nodetool-ai/models");
251
+ const limit = Math.max(1, Math.min(Number(params["limit"]) || DEFAULT_VERSION_LIMIT, MAX_VERSION_LIMIT));
252
+ const saveType = isString(params["save_type"])
253
+ ? params["save_type"]
254
+ : undefined;
255
+ const versions = await ImageDocumentVersion.listForDocument(doc.id, {
256
+ limit,
257
+ saveType
258
+ });
259
+ return {
260
+ image_document_id: doc.id,
261
+ name: doc.name,
262
+ versions: versions.map(toVersionListItem)
263
+ };
264
+ }
265
+ };
266
+ const getSketchVersion = {
267
+ spec: getSketchVersionSpec,
268
+ impl: async (run, params) => {
269
+ const doc = await loadSketch(run, params["image_document_id"]);
270
+ if (isError(doc))
271
+ return doc;
272
+ const number = versionNumber(params["version"]);
273
+ if (isError(number))
274
+ return number;
275
+ const { ImageDocumentVersion } = await import("@nodetool-ai/models");
276
+ const version = await ImageDocumentVersion.findByVersion(doc.id, number);
277
+ if (!version) {
278
+ return {
279
+ error: `Sketch ${doc.id} has no version ${number}. Call list_sketch_versions to see the available ones.`
280
+ };
281
+ }
282
+ const document = parseVersionDocument(version.document);
283
+ if (isError(document))
284
+ return document;
285
+ return {
286
+ image_document_id: doc.id,
287
+ ...toVersionListItem(version),
288
+ document
289
+ };
290
+ }
291
+ };
292
+ const createSketchVersion = {
293
+ spec: createSketchVersionSpec,
294
+ impl: async (run, params) => {
295
+ const doc = await loadSketch(run, params["image_document_id"]);
296
+ if (isError(doc))
297
+ return doc;
298
+ const { ImageDocumentVersion } = await import("@nodetool-ai/models");
299
+ const name = isString(params["name"]) && params["name"]
300
+ ? params["name"]
301
+ : null;
302
+ const version = await ImageDocumentVersion.snapshot(doc, {
303
+ saveType: "manual",
304
+ name
305
+ });
306
+ return {
307
+ ok: true,
308
+ image_document_id: doc.id,
309
+ ...toVersionListItem(version)
310
+ };
311
+ }
312
+ };
313
+ const restoreSketchVersion = {
314
+ spec: restoreSketchVersionSpec,
315
+ impl: async (run, params) => {
316
+ const doc = await loadSketch(run, params["image_document_id"]);
317
+ if (isError(doc))
318
+ return doc;
319
+ const number = versionNumber(params["version"]);
320
+ if (isError(number))
321
+ return number;
322
+ const { ImageDocument, ImageDocumentVersion } = await import("@nodetool-ai/models");
323
+ const version = await ImageDocumentVersion.findByVersion(doc.id, number);
324
+ if (!version) {
325
+ return {
326
+ error: `Sketch ${doc.id} has no version ${number}. Call list_sketch_versions to see the available ones.`
327
+ };
328
+ }
329
+ const document = parseVersionDocument(version.document);
330
+ if (isError(document))
331
+ return document;
332
+ // Snapshot what is about to be overwritten first, so a restore is itself
333
+ // undoable.
334
+ const undo = await ImageDocumentVersion.snapshot(doc, {
335
+ saveType: "restore",
336
+ name: `Before restore to v${number}`
337
+ });
338
+ const updated = await ImageDocument.updateFieldsIfUnchanged(doc.id, doc.updated_at, {
339
+ document: JSON.stringify(document),
340
+ width: version.width,
341
+ height: version.height,
342
+ background_color: version.background_color
343
+ });
344
+ if (!updated) {
345
+ return {
346
+ error: `Sketch ${doc.id} was modified since it was read (optimistic concurrency conflict); nothing was restored. Retry the call.`,
347
+ undo_version: undo.version
348
+ };
349
+ }
350
+ const { validateSketchDocument } = await import("@nodetool-ai/execution/sketch-debug");
351
+ const validation = validateSketchDocument(document, {
352
+ width: version.width,
353
+ height: version.height,
354
+ backgroundColor: version.background_color
355
+ });
356
+ return {
357
+ ok: true,
358
+ image_document_id: doc.id,
359
+ restored_version: number,
360
+ undo_version: undo.version,
361
+ width: updated.width,
362
+ height: updated.height,
363
+ backgroundColor: updated.background_color,
364
+ updated_at: updated.updated_at,
365
+ validation,
366
+ summary: validationSummary(validation)
367
+ };
368
+ }
369
+ };
370
+ const deleteSketchVersion = {
371
+ spec: deleteSketchVersionSpec,
372
+ impl: async (run, params) => {
373
+ const doc = await loadSketch(run, params["image_document_id"]);
374
+ if (isError(doc))
375
+ return doc;
376
+ const number = versionNumber(params["version"]);
377
+ if (isError(number))
378
+ return number;
379
+ const { ImageDocumentVersion } = await import("@nodetool-ai/models");
380
+ const version = await ImageDocumentVersion.findByVersion(doc.id, number);
381
+ if (!version) {
382
+ return {
383
+ error: `Sketch ${doc.id} has no version ${number}. Call list_sketch_versions to see the available ones.`
384
+ };
385
+ }
386
+ await version.delete();
387
+ return {
388
+ ok: true,
389
+ image_document_id: doc.id,
390
+ deleted_version: number
391
+ };
392
+ }
393
+ };
394
+ /** Operations one call may apply, so a runaway script cannot rewrite a sketch. */
395
+ const MAX_OPS = 60;
396
+ /** Stages the guided image flow can resume at (PRD § 10.5). */
397
+ const SETUP_STAGES = [
398
+ "idea",
399
+ "useCase",
400
+ "review",
401
+ "look",
402
+ "done"
403
+ ];
404
+ const OPS = [
405
+ "add_layer",
406
+ "remove_layer",
407
+ "rename_layer",
408
+ "set_layer_props",
409
+ "reorder_layer",
410
+ "duplicate_layer",
411
+ "select_layer",
412
+ "resize_canvas",
413
+ "set_layer_image",
414
+ "set_setup"
415
+ ];
416
+ const isOpName = (value) => OPS.includes(value);
417
+ function parseOps(raw) {
418
+ if (!Array.isArray(raw) || raw.length === 0) {
419
+ return {
420
+ error: 'ops must be a non-empty array, e.g. [{"op": "add_layer", "name": "Shadow"}].'
421
+ };
422
+ }
423
+ if (raw.length > MAX_OPS) {
424
+ return {
425
+ error: `ops holds ${raw.length} entries; at most ${MAX_OPS} per call.`
426
+ };
427
+ }
428
+ const parsed = [];
429
+ for (const [index, entry] of raw.entries()) {
430
+ if (!isRecord(entry)) {
431
+ return { error: `ops[${index}] must be an object.` };
432
+ }
433
+ const { op, ...args } = entry;
434
+ if (!isString(op) || !isOpName(op.trim())) {
435
+ return {
436
+ error: `ops[${index}] names "${String(op)}"; expected one of ${OPS.join(", ")}.`
437
+ };
438
+ }
439
+ parsed.push({ op: op.trim(), args });
440
+ }
441
+ return parsed;
442
+ }
443
+ /** Resolve a layer reference: id, name (case-insensitive), or "active". */
444
+ function findLayerIndex(layers, activeLayerId, target) {
445
+ const raw = isString(target) ? target.trim() : "";
446
+ if (raw === "" || raw === "active") {
447
+ return layers.findIndex((layer) => layer.id === activeLayerId);
448
+ }
449
+ const byId = layers.findIndex((layer) => layer.id === raw);
450
+ if (byId >= 0)
451
+ return byId;
452
+ const name = raw.toLowerCase();
453
+ return layers.findIndex((layer) => layer.name.trim().toLowerCase() === name);
454
+ }
455
+ /** A fresh, empty layer — no bitmap, sized to the canvas. */
456
+ function makeLayer(id, name, type, width, height) {
457
+ return {
458
+ id,
459
+ name,
460
+ type,
461
+ visible: true,
462
+ locked: false,
463
+ opacity: 1,
464
+ alphaLock: false,
465
+ blendMode: "normal",
466
+ data: null,
467
+ transform: { x: 0, y: 0 },
468
+ contentBounds: { x: 0, y: 0, width, height },
469
+ effects: []
470
+ };
471
+ }
472
+ function mintLayerId(layers) {
473
+ const used = new Set(layers.map((layer) => layer.id));
474
+ let n = layers.length + 1;
475
+ while (used.has(`layer-${n}`))
476
+ n += 1;
477
+ return `layer-${n}`;
478
+ }
479
+ /**
480
+ * The layer image references a caller may name. An asset id and an
481
+ * `asset://` locator both resolve through the asset's own `get_url` when the
482
+ * editor loads the layer; a data URL and an http(s) URL load directly.
483
+ */
484
+ const IMAGE_URI_SCHEMES = ["asset://", "data:", "http://", "https://"];
485
+ /**
486
+ * Normalize what a caller passed as an image into a locator the editor's
487
+ * canvas runtime resolves. A bare id becomes `asset://<id>`, which is how
488
+ * every other sketch surface stores a reference to a stored image.
489
+ */
490
+ function normalizeImageReference(value) {
491
+ if (!isNonBlankString(value)) {
492
+ return {
493
+ error: "set_layer_image needs an `image`: an asset id, an asset:// locator, a data: URL, or an http(s) URL."
494
+ };
495
+ }
496
+ const image = value.trim();
497
+ if (IMAGE_URI_SCHEMES.some((scheme) => image.startsWith(scheme))) {
498
+ return image;
499
+ }
500
+ if (image.includes("://")) {
501
+ return {
502
+ error: `image "${image}" uses a scheme the sketch canvas cannot load. Use an asset id, asset://, data:, or http(s)://.`
503
+ };
504
+ }
505
+ return `asset://${image}`;
506
+ }
507
+ /** The asset id an `asset://` locator names, ignoring any file extension. */
508
+ function assetIdOfReference(image) {
509
+ if (!image.startsWith("asset://"))
510
+ return null;
511
+ const rest = image.slice("asset://".length).split(/[?#]/)[0];
512
+ const last = rest.includes("/") ? rest.slice(rest.lastIndexOf("/") + 1) : rest;
513
+ return last.replace(/\.[^.]+$/, "") || null;
514
+ }
515
+ /**
516
+ * Point a layer at an image. The bitmap is not inlined: `data` holds the
517
+ * locator plus the bounds it occupies, and the editor's canvas runtime
518
+ * resolves and draws it on load. That is the same shape a sketch seeded from
519
+ * an asset carries, so a layer written here opens exactly like one the editor
520
+ * itself produced.
521
+ *
522
+ * Bounds default to the whole canvas. The image is drawn at its natural size
523
+ * anchored at the bounds' top-left, so a caller that knows the image's
524
+ * dimensions should pass them rather than leave the layer canvas oversized.
525
+ */
526
+ function setLayerImage(layer, args, canvasWidth, canvasHeight) {
527
+ const image = normalizeImageReference(args["image"]);
528
+ if (isError(image)) {
529
+ throw new Error(image.error);
530
+ }
531
+ const dimension = (value, fallback, name) => {
532
+ if (value === undefined || value === null)
533
+ return fallback;
534
+ const n = Number(value);
535
+ if (!Number.isFinite(n) || !Number.isInteger(n) || n < 1) {
536
+ throw new Error(`set_layer_image needs a positive integer \`${name}\`.`);
537
+ }
538
+ return n;
539
+ };
540
+ const offset = (value, name) => {
541
+ if (value === undefined || value === null)
542
+ return 0;
543
+ const n = Number(value);
544
+ if (!Number.isFinite(n) || !Number.isInteger(n)) {
545
+ throw new Error(`set_layer_image needs an integer \`${name}\`.`);
546
+ }
547
+ return n;
548
+ };
549
+ const bounds = {
550
+ x: offset(args["x"], "x"),
551
+ y: offset(args["y"], "y"),
552
+ width: dimension(args["width"], canvasWidth, "width"),
553
+ height: dimension(args["height"], canvasHeight, "height")
554
+ };
555
+ return {
556
+ layer: {
557
+ ...layer,
558
+ data: encodeSketchLayerData(image, bounds),
559
+ contentBounds: bounds
560
+ },
561
+ image,
562
+ bounds
563
+ };
564
+ }
565
+ /** Apply one operation. Returns the result summary, or throws with the reason. */
566
+ function applyOp(state, { op, args }, blendModes) {
567
+ const { layers } = state;
568
+ switch (op) {
569
+ case "add_layer": {
570
+ const name = isNonBlankString(args["name"])
571
+ ? args["name"].trim()
572
+ : `Layer ${layers.length + 1}`;
573
+ const type = args["type"] === "mask" ? "mask" : "raster";
574
+ let layer = makeLayer(mintLayerId(layers), name, type, state.canvas.width, state.canvas.height);
575
+ // An `image` makes this one op instead of add_layer + set_layer_image,
576
+ // which is how a caller places a picture on a fresh layer.
577
+ const placed = args["image"] === undefined
578
+ ? null
579
+ : setLayerImage(layer, args, state.canvas.width, state.canvas.height);
580
+ if (placed)
581
+ layer = placed.layer;
582
+ // Layers are ordered bottom-to-top, so a new one goes on top unless the
583
+ // caller pins an index.
584
+ const at = isNumber(args["index"])
585
+ ? Math.max(0, Math.min(Math.trunc(args["index"]), layers.length))
586
+ : layers.length;
587
+ layers.splice(at, 0, layer);
588
+ state.activeLayerId = layer.id;
589
+ const summary = { id: layer.id, name: layer.name, index: at };
590
+ if (placed) {
591
+ summary.image = placed.image;
592
+ summary.bounds = placed.bounds;
593
+ }
594
+ return summary;
595
+ }
596
+ case "remove_layer": {
597
+ if (layers.length <= 1) {
598
+ throw new Error("A sketch must keep at least one layer.");
599
+ }
600
+ const index = findLayerIndex(layers, state.activeLayerId, args["target"]);
601
+ if (index < 0)
602
+ throw new Error(`No layer matches "${String(args["target"])}".`);
603
+ const [removed] = layers.splice(index, 1);
604
+ state.bindings = state.bindings.filter((binding) => binding.layerId !== removed.id);
605
+ if (state.activeLayerId === removed.id) {
606
+ state.activeLayerId = layers[Math.min(index, layers.length - 1)].id;
607
+ }
608
+ return { removed: removed.id };
609
+ }
610
+ case "rename_layer": {
611
+ const index = findLayerIndex(layers, state.activeLayerId, args["target"]);
612
+ if (index < 0)
613
+ throw new Error(`No layer matches "${String(args["target"])}".`);
614
+ const name = args["name"];
615
+ if (!isString(name) || name.trim() === "") {
616
+ throw new Error("rename_layer needs a non-empty `name`.");
617
+ }
618
+ layers[index] = { ...layers[index], name: name.trim() };
619
+ return { id: layers[index].id, name: layers[index].name };
620
+ }
621
+ case "set_layer_props": {
622
+ const index = findLayerIndex(layers, state.activeLayerId, args["target"]);
623
+ if (index < 0)
624
+ throw new Error(`No layer matches "${String(args["target"])}".`);
625
+ const next = { ...layers[index] };
626
+ if (args["visible"] !== undefined)
627
+ next.visible = !!args["visible"];
628
+ if (args["locked"] !== undefined)
629
+ next.locked = !!args["locked"];
630
+ if (args["opacity"] !== undefined) {
631
+ const opacity = Number(args["opacity"]);
632
+ if (!Number.isFinite(opacity) || opacity < 0 || opacity > 1) {
633
+ throw new Error("opacity must be a number in [0, 1].");
634
+ }
635
+ next.opacity = opacity;
636
+ }
637
+ if (args["blendMode"] !== undefined) {
638
+ const blendMode = String(args["blendMode"]);
639
+ if (!blendModes.includes(blendMode)) {
640
+ throw new Error(`blendMode "${blendMode}" is not one the compositor ships. Use one of: ${blendModes.join(", ")}.`);
641
+ }
642
+ next.blendMode = blendMode;
643
+ }
644
+ layers[index] = next;
645
+ return {
646
+ id: next.id,
647
+ visible: next.visible,
648
+ locked: next.locked,
649
+ opacity: next.opacity,
650
+ blendMode: next.blendMode
651
+ };
652
+ }
653
+ case "reorder_layer": {
654
+ const index = findLayerIndex(layers, state.activeLayerId, args["target"]);
655
+ if (index < 0)
656
+ throw new Error(`No layer matches "${String(args["target"])}".`);
657
+ const to = Number(args["index"]);
658
+ if (!Number.isInteger(to) || to < 0 || to >= layers.length) {
659
+ throw new Error(`reorder_layer needs an \`index\` in [0, ${layers.length - 1}] (0 is the bottom layer).`);
660
+ }
661
+ const [moved] = layers.splice(index, 1);
662
+ layers.splice(to, 0, moved);
663
+ return { id: moved.id, index: to };
664
+ }
665
+ case "duplicate_layer": {
666
+ const index = findLayerIndex(layers, state.activeLayerId, args["target"]);
667
+ if (index < 0)
668
+ throw new Error(`No layer matches "${String(args["target"])}".`);
669
+ const source = layers[index];
670
+ // The bitmap is copied by reference to the same data URL — the copy is a
671
+ // duplicate, not a fork, and nothing here decodes pixels.
672
+ const copy = {
673
+ ...source,
674
+ id: mintLayerId(layers),
675
+ name: `${source.name} copy`
676
+ };
677
+ layers.splice(index + 1, 0, copy);
678
+ state.activeLayerId = copy.id;
679
+ return { id: copy.id, name: copy.name, index: index + 1 };
680
+ }
681
+ case "select_layer": {
682
+ const index = findLayerIndex(layers, state.activeLayerId, args["target"]);
683
+ if (index < 0)
684
+ throw new Error(`No layer matches "${String(args["target"])}".`);
685
+ state.activeLayerId = layers[index].id;
686
+ return { activeLayerId: state.activeLayerId };
687
+ }
688
+ case "set_layer_image": {
689
+ const index = findLayerIndex(layers, state.activeLayerId, args["target"]);
690
+ if (index < 0)
691
+ throw new Error(`No layer matches "${String(args["target"])}".`);
692
+ const applied = setLayerImage(layers[index], args, state.canvas.width, state.canvas.height);
693
+ layers[index] = applied.layer;
694
+ return {
695
+ id: applied.layer.id,
696
+ name: applied.layer.name,
697
+ image: applied.image,
698
+ bounds: applied.bounds
699
+ };
700
+ }
701
+ case "resize_canvas": {
702
+ const width = Number(args["width"] ?? state.canvas.width);
703
+ const height = Number(args["height"] ?? state.canvas.height);
704
+ if (!Number.isInteger(width) ||
705
+ !Number.isInteger(height) ||
706
+ width < 1 ||
707
+ height < 1) {
708
+ throw new Error("resize_canvas needs positive integer width/height.");
709
+ }
710
+ state.canvas = { ...state.canvas, width, height };
711
+ return { width, height };
712
+ }
713
+ case "set_setup": {
714
+ const current = state.setup ?? { stage: "done", brief: "" };
715
+ const next = { ...current };
716
+ if (args["brief"] !== undefined) {
717
+ if (!isString(args["brief"])) {
718
+ throw new Error("set_setup's `brief` must be a string.");
719
+ }
720
+ next.brief = args["brief"];
721
+ }
722
+ if (args["use_case"] !== undefined) {
723
+ const useCase = findImageUseCase(isString(args["use_case"]) ? args["use_case"] : null);
724
+ if (!useCase) {
725
+ throw new Error(`set_setup's \`use_case\` must be one of ${IMAGE_USE_CASES.map((entry) => entry.id).join(", ")}.`);
726
+ }
727
+ next.use_case = useCase.id;
728
+ // The card writes the same two defaults in the editor, so a headless
729
+ // caller that picks a use case gets the same document.
730
+ next.variations ??= useCase.defaultVariations;
731
+ state.canvas = {
732
+ ...state.canvas,
733
+ width: useCase.defaultSize.width,
734
+ height: useCase.defaultSize.height
735
+ };
736
+ }
737
+ if (args["variations"] !== undefined) {
738
+ const variations = Number(args["variations"]);
739
+ if (!Number.isInteger(variations) || variations < 1 || variations > 8) {
740
+ throw new Error("set_setup's `variations` must be 1..8.");
741
+ }
742
+ next.variations = variations;
743
+ }
744
+ if (args["stage"] !== undefined) {
745
+ const stage = isString(args["stage"]) ? args["stage"].trim() : "";
746
+ if (!SETUP_STAGES.includes(stage)) {
747
+ throw new Error(`set_setup's \`stage\` must be one of ${SETUP_STAGES.join(", ")}.`);
748
+ }
749
+ next.stage = stage;
750
+ }
751
+ state.setup = next;
752
+ return next;
753
+ }
754
+ default:
755
+ throw new Error(`Unknown operation "${op}".`);
756
+ }
757
+ }
758
+ const LAYER_TARGET_OPS = new Set([
759
+ "set_layer_props",
760
+ "set_layer_image",
761
+ "rename_layer",
762
+ "duplicate_layer",
763
+ "remove_layer",
764
+ "reorder_layer",
765
+ "select_layer"
766
+ ]);
767
+ /** Resolve a layer target against the state at this point in the batch. */
768
+ function resolveSketchOp(state, parsed) {
769
+ const rawTarget = parsed.args["target"];
770
+ if (typeof rawTarget === "string" && LAYER_TARGET_OPS.has(parsed.op)) {
771
+ const index = findLayerIndex(state.layers, state.activeLayerId, rawTarget);
772
+ if (index >= 0) {
773
+ const canonical = state.layers[index].id;
774
+ return {
775
+ tool: parsed.op,
776
+ input: { ...parsed.args, target: canonical, id: canonical }
777
+ };
778
+ }
779
+ }
780
+ return { tool: parsed.op, input: parsed.args };
781
+ }
782
+ /**
783
+ * Asset ids named by an op's `image` that this user has no asset for. Reading
784
+ * them up front turns "the layer is empty" into a message naming the id.
785
+ */
786
+ async function resolveSketchAssetReferences(run, ops) {
787
+ const ids = new Set();
788
+ for (const { op, args } of ops) {
789
+ if (op !== "set_layer_image" && op !== "add_layer")
790
+ continue;
791
+ const image = normalizeImageReference(args["image"]);
792
+ if (isError(image))
793
+ continue;
794
+ const assetId = assetIdOfReference(image);
795
+ if (assetId)
796
+ ids.add(assetId);
797
+ }
798
+ if (ids.size === 0)
799
+ return [];
800
+ const userId = run.context.userId;
801
+ if (!userId)
802
+ return [...ids];
803
+ // `findMany` is user-scoped, so another user's asset reads as missing — the
804
+ // same rule the rest of this module applies to sketches.
805
+ const { Asset } = await import("@nodetool-ai/models");
806
+ const fullIds = [...ids].filter((id) => !isShortResourceId(id));
807
+ const found = new Set((await Asset.findMany(userId, fullIds)).map((asset) => asset.id));
808
+ const resolved = new Map();
809
+ for (const id of ids) {
810
+ if (!isShortResourceId(id))
811
+ continue;
812
+ const asset = await Asset.find(userId, id);
813
+ if (asset)
814
+ resolved.set(id, asset.id);
815
+ }
816
+ for (const parsed of ops) {
817
+ if (parsed.op !== "set_layer_image" && parsed.op !== "add_layer")
818
+ continue;
819
+ const image = normalizeImageReference(parsed.args["image"]);
820
+ if (isError(image))
821
+ continue;
822
+ const id = assetIdOfReference(image);
823
+ const fullId = id ? resolved.get(id) : undefined;
824
+ if (fullId) {
825
+ parsed.args["image"] = `asset://${fullId}`;
826
+ }
827
+ }
828
+ return [...ids].filter((id) => !found.has(id) && !resolved.has(id));
829
+ }
830
+ const editSketch = {
831
+ spec: editSketchSpec,
832
+ impl: async (run, params) => {
833
+ const sketchId = params["image_document_id"];
834
+ if (!isString(sketchId) || !sketchId) {
835
+ return {
836
+ error: "image_document_id is required (use list_sketches to find one)."
837
+ };
838
+ }
839
+ const ops = parseOps(params["ops"]);
840
+ if (isError(ops))
841
+ return ops;
842
+ const { ImageDocument, ImageDocumentConflictError } = await import("@nodetool-ai/models");
843
+ const { SKETCH_BLEND_MODES } = await import("../evals/surfaces/sketch.js");
844
+ const existing = await ImageDocument.findById(sketchId);
845
+ // A sketch owned by someone else reads as missing — the rule the tRPC
846
+ // router's ownership check applies.
847
+ if (!existing || existing.user_id !== run.context.userId) {
848
+ return { error: `Sketch ${sketchId} was not found.` };
849
+ }
850
+ // Verify every referenced asset before writing. An id that resolves to
851
+ // nothing would otherwise be stored happily and show up as an empty layer
852
+ // in the editor — the failure this reports instead.
853
+ let missing;
854
+ try {
855
+ missing = await resolveSketchAssetReferences(run, ops);
856
+ }
857
+ catch (e) {
858
+ return { error: e instanceof Error ? e.message : String(e) };
859
+ }
860
+ if (missing.length > 0) {
861
+ return {
862
+ error: `No asset matches ${missing.map((id) => `"${id}"`).join(", ")}. ` +
863
+ "Use list_assets to find one, and pass its id as `image`."
864
+ };
865
+ }
866
+ try {
867
+ const mutated = await ImageDocument.mutateDocumentData(sketchId, (data) => {
868
+ const sketch = data.sketch;
869
+ const state = {
870
+ layers: [...sketch.layers],
871
+ activeLayerId: sketch.activeLayerId,
872
+ canvas: { ...sketch.canvas },
873
+ bindings: [...data.layerBindings],
874
+ setup: sketch.setup
875
+ };
876
+ // A failing op is recorded and the script continues: stopping at the
877
+ // first error hides every problem behind it.
878
+ const applied = [];
879
+ const resolvedOps = [];
880
+ for (const parsed of ops) {
881
+ try {
882
+ const resolved = resolveSketchOp(state, parsed);
883
+ const result = applyOp(state, parsed, SKETCH_BLEND_MODES);
884
+ applied.push({
885
+ op: parsed.op,
886
+ ok: true,
887
+ result
888
+ });
889
+ // Only successful operations touched the document. Resolve each
890
+ // target from the state immediately before that operation, so a
891
+ // prior select_layer or add/rename changes what "active" means.
892
+ resolvedOps.push(resolved);
893
+ }
894
+ catch (e) {
895
+ applied.push({
896
+ op: parsed.op,
897
+ ok: false,
898
+ error: e instanceof Error ? e.message : String(e)
899
+ });
900
+ }
901
+ }
902
+ data.sketch = {
903
+ ...sketch,
904
+ canvas: state.canvas,
905
+ layers: state.layers,
906
+ activeLayerId: state.activeLayerId,
907
+ setup: state.setup
908
+ };
909
+ data.layerBindings = state.bindings;
910
+ const layerSummary = state.layers.map((layer, index) => ({
911
+ id: layer.id,
912
+ name: layer.name,
913
+ index
914
+ }));
915
+ return {
916
+ records: applied,
917
+ layerSummary,
918
+ activeLayerId: state.activeLayerId,
919
+ ops: resolvedOps
920
+ };
921
+ },
922
+ // The ops ride on the write so an open editor merges this change per
923
+ // layer instead of treating the sketch as replaced.
924
+ undefined, (mutation) => ({ ops: mutation.ops }));
925
+ if (!mutated)
926
+ return { error: `Sketch ${sketchId} was not found.` };
927
+ const { records, layerSummary, activeLayerId } = mutated.result;
928
+ const failed = records.filter((record) => !record.ok);
929
+ return {
930
+ image_document_id: sketchId,
931
+ updated_at: mutated.document.updated_at,
932
+ applied: records.length - failed.length,
933
+ failed: failed.length,
934
+ ops: records,
935
+ active_layer_id: activeLayerId,
936
+ layers: layerSummary
937
+ };
938
+ }
939
+ catch (e) {
940
+ if (e instanceof ImageDocumentConflictError) {
941
+ return {
942
+ error: `Sketch ${sketchId} is being modified concurrently; nothing was saved. Retry the call.`
943
+ };
944
+ }
945
+ throw e;
946
+ }
947
+ }
948
+ };
949
+ // ---------------------------------------------------------------------------
950
+ // refine_image_brief
951
+ // ---------------------------------------------------------------------------
952
+ /**
953
+ * The brief expansion, headless. The browser sends the same prompt and schema
954
+ * from `@nodetool-ai/protocol` through `generate_text`; keeping both halves on
955
+ * one module is what makes a brief refined here and one refined in the editor
956
+ * the same artifact.
957
+ *
958
+ * D4: one language-model call and one document write. No layer is added and no
959
+ * generation is started.
960
+ */
961
+ const refineImageBrief = {
962
+ spec: refineImageBriefSpec,
963
+ impl: async (run, params) => {
964
+ const doc = await loadSketch(run, params["image_document_id"]);
965
+ if (isError(doc))
966
+ return doc;
967
+ const data = doc.toDocumentData();
968
+ const setup = data.sketch.setup;
969
+ const brief = setup?.brief?.trim() ?? "";
970
+ if (!brief) {
971
+ return {
972
+ error: `Sketch ${doc.id} has no brief, so there is nothing to refine. Write one with edit_sketch's set_setup op.`
973
+ };
974
+ }
975
+ const provider = isNonBlankString(params["provider"])
976
+ ? params["provider"].trim()
977
+ : "";
978
+ const model = isNonBlankString(params["model"])
979
+ ? params["model"].trim()
980
+ : "";
981
+ if (!provider || !model) {
982
+ return {
983
+ error: "Pass provider + model for the language model that expands the brief (use find_model with capability=generate_text)."
984
+ };
985
+ }
986
+ const { REFINE_BRIEF_SCHEMA, REFINE_BRIEF_SYSTEM_PROMPT, REFINE_BRIEF_TOOL_DESCRIPTION, REFINE_BRIEF_TOOL_NAME, buildRefineBriefPrompt, parseRefinedBrief } = await import("@nodetool-ai/protocol/api-schemas/sketch.js");
987
+ const { generateStructured } = await import("@nodetool-ai/runtime");
988
+ const languageProvider = await run.context.getProvider(provider);
989
+ const raw = await generateStructured(languageProvider, {
990
+ model,
991
+ maxTokens: 2048,
992
+ messages: [
993
+ { role: "system", content: REFINE_BRIEF_SYSTEM_PROMPT },
994
+ {
995
+ role: "user",
996
+ content: buildRefineBriefPrompt(brief, setup?.use_case)
997
+ }
998
+ ],
999
+ toolName: REFINE_BRIEF_TOOL_NAME,
1000
+ toolDescription: REFINE_BRIEF_TOOL_DESCRIPTION,
1001
+ schema: REFINE_BRIEF_SCHEMA
1002
+ });
1003
+ const refined = raw ? parseRefinedBrief(raw) : null;
1004
+ if (!refined) {
1005
+ return {
1006
+ error: `${model} returned no usable brief. Try again, or pass a model that supports structured output.`
1007
+ };
1008
+ }
1009
+ const { ImageDocument } = await import("@nodetool-ai/models");
1010
+ const mutated = await ImageDocument.mutateDocumentData(doc.id, (current) => {
1011
+ current.sketch = {
1012
+ ...current.sketch,
1013
+ setup: {
1014
+ brief,
1015
+ ...current.sketch.setup,
1016
+ refined,
1017
+ // The flow's next step is the review, whatever stage the caller was
1018
+ // on when it asked (PRD § 10.2).
1019
+ stage: "review"
1020
+ }
1021
+ };
1022
+ return refined;
1023
+ });
1024
+ if (!mutated) {
1025
+ return { error: `Sketch ${doc.id} was not found.` };
1026
+ }
1027
+ return {
1028
+ image_document_id: doc.id,
1029
+ stage: "review",
1030
+ refined,
1031
+ updated_at: mutated.document.updated_at
1032
+ };
1033
+ }
1034
+ };
1035
+ // ---------------------------------------------------------------------------
1036
+ // validate_sketch
1037
+ // ---------------------------------------------------------------------------
1038
+ /** A positive finite number from a tool param, or undefined. */
1039
+ function numberParam(value) {
1040
+ return isFiniteNumber(value) && value > 0
1041
+ ? value
1042
+ : undefined;
1043
+ }
1044
+ /** Unwrap a stored document that may still be JSON text. */
1045
+ function parseStoredDocument(document) {
1046
+ if (!isString(document))
1047
+ return document;
1048
+ try {
1049
+ return JSON.parse(document);
1050
+ }
1051
+ catch {
1052
+ return undefined;
1053
+ }
1054
+ }
1055
+ const validateSketch = {
1056
+ spec: validateSketchSpec,
1057
+ // The sketch API is tRPC-only, so there is no REST route to fall back on. A
1058
+ // host may put a loader on the run — the MCP server does, to apply its own
1059
+ // ownership rule — and without one the row is read the way every other
1060
+ // capability in this module reads it. The "no loader" refusal this replaced
1061
+ // meant a chat belt could edit a sketch it could not then validate.
1062
+ impl: async (run, params) => {
1063
+ const inline = params["document"];
1064
+ const sketchId = params["image_document_id"];
1065
+ let document = inline;
1066
+ // An inline document carries no stored canvas settings, so the caller
1067
+ // supplies them; the image_document_id path overwrites these from the row.
1068
+ let meta = {
1069
+ width: numberParam(params["width"]),
1070
+ height: numberParam(params["height"]),
1071
+ backgroundColor: isString(params["background_color"])
1072
+ ? params["background_color"]
1073
+ : undefined
1074
+ };
1075
+ let name;
1076
+ if (document === undefined && sketchId) {
1077
+ const loadRow = run.loaders?.sketch;
1078
+ const record = loadRow
1079
+ ? await loadRow(run.context, sketchId)
1080
+ : await (async () => {
1081
+ const doc = await loadSketch(run, sketchId);
1082
+ if (isError(doc))
1083
+ return null;
1084
+ return {
1085
+ document: doc.document,
1086
+ width: doc.width,
1087
+ height: doc.height,
1088
+ backgroundColor: doc.background_color,
1089
+ name: doc.name
1090
+ };
1091
+ })();
1092
+ if (!record) {
1093
+ return {
1094
+ error: `Sketch ${sketchId} was not found.`,
1095
+ validated: false
1096
+ };
1097
+ }
1098
+ document = parseStoredDocument(record.document);
1099
+ meta = {
1100
+ width: record.width,
1101
+ height: record.height,
1102
+ backgroundColor: record.backgroundColor
1103
+ };
1104
+ name = record.name;
1105
+ }
1106
+ if (document === undefined || document === null) {
1107
+ return {
1108
+ error: "No sketch to validate — pass an inline `document` ({sketch, layerBindings}) or a valid `image_document_id`."
1109
+ };
1110
+ }
1111
+ const { validateSketchDocument } = await import("@nodetool-ai/execution/sketch-debug");
1112
+ const validation = validateSketchDocument(document, meta);
1113
+ const report = { ...validation, summary: validationSummary(validation) };
1114
+ if (sketchId)
1115
+ report.image_document_id = sketchId;
1116
+ if (name)
1117
+ report.name = name;
1118
+ return report;
1119
+ }
1120
+ };
1121
+ /** Every sketch capability, in the order the tool files declared them. */
1122
+ /**
1123
+ * Delete a sketch the caller owns.
1124
+ *
1125
+ * The ownership check and the version cascade are `ImageDocument.deleteOwned`, the
1126
+ * same function the tRPC route calls — a delete is not a place for two copies
1127
+ * of one rule, and version rows outliving their document would be unreachable
1128
+ * garbage. Missing and not-yours are one answer.
1129
+ */
1130
+ const deleteSketch = {
1131
+ spec: deleteSketchSpec,
1132
+ impl: async (run, params) => {
1133
+ const userId = run.context.userId;
1134
+ if (!userId)
1135
+ return { error: "No user is bound to this session." };
1136
+ const { ImageDocument } = await import("@nodetool-ai/models");
1137
+ const id = String(params["image_document_id"]);
1138
+ const deleted = await ImageDocument.deleteOwned(userId, id);
1139
+ return deleted
1140
+ ? { image_document_id: id, deleted: true }
1141
+ : { error: `Sketch ${id} was not found, or it is not yours.` };
1142
+ }
1143
+ };
1144
+ export const SKETCH_CAPABILITIES = [
1145
+ listSketches,
1146
+ createSketch,
1147
+ getSketch,
1148
+ listSketchVersions,
1149
+ getSketchVersion,
1150
+ createSketchVersion,
1151
+ restoreSketchVersion,
1152
+ deleteSketchVersion,
1153
+ editSketch,
1154
+ refineImageBrief,
1155
+ validateSketch,
1156
+ deleteSketch
1157
+ ];
1158
+ export const module = {
1159
+ module: "sketches",
1160
+ exports: SKETCH_CAPABILITIES
1161
+ };
1162
+ export { listSketches, createSketch, getSketch, listSketchVersions, getSketchVersion, createSketchVersion, restoreSketchVersion, deleteSketchVersion, editSketch, refineImageBrief, validateSketch, deleteSketch };
1163
+ //# sourceMappingURL=sketches.js.map