@nodetool-ai/agents 0.7.0-rc.22 → 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
@@ -4,24 +4,25 @@
4
4
  * Port of src/nodetool/agents/step_executor.py
5
5
  *
6
6
  * Manages the LLM interaction loop: sending messages, handling tool calls,
7
- * monitoring token limits, and capturing the step result via finish_step
8
- * or inline JSON extraction.
7
+ * and capturing the step result via finish_step (for schema'd steps) or the
8
+ * assistant's text response (for unstructured steps).
9
9
  */
10
- import * as fs from "node:fs/promises";
11
- import * as path from "node:path";
12
- import { createHash } from "node:crypto";
13
- import { withAgentSpanGen } from "@nodetool-ai/runtime";
10
+ import { ACTIVE_MODEL_CONTEXT_KEY, isChunk, isToolCall, memoryKeys, withAgentSpanGen, mediaResolverFor } from "@nodetool-ai/runtime";
11
+ import { linkAbort } from "./utils/link-abort.js";
14
12
  import { createLogger } from "@nodetool-ai/config";
15
13
  import { TaskUpdateEvent } from "@nodetool-ai/protocol";
16
- import { ControlNodeTool } from "./tools/control-tool.js";
14
+ import { Tool } from "./tools/base-tool.js";
15
+ import { extractInjectableImages, stripImagePayload } from "./tools/image-injection.js";
17
16
  import { FinishStepTool } from "./tools/finish-step-tool.js";
18
- import { extractJSON } from "./utils/json-parser.js";
19
- import { DEFAULT_TOKEN_LIMIT, MAX_TOOL_RESULT_CHARS } from "./constants.js";
20
- import { rejectAgenticProvider } from "./reject-agentic-provider.js";
17
+ import { getSharedTools } from "./tools/shared-tools.js";
18
+ import { truncateToolResult } from "./constants.js";
19
+ import { formatViolations, validateAgainstSchema } from "./utils/json-schema-validate.js";
20
+ import { lastProseHint } from "./utils/step-failure.js";
21
+ import { createUiEventBuffer } from "./utils/ui-event-buffer.js";
22
+ import { removeThinkTags } from "./utils/think-tags.js";
23
+ import { isBoolean, isFunction, isNonEmptyString, isNumber, isObjectLike, isRecord, isString } from "./utils/type-guards.js";
21
24
  const log = createLogger("nodetool.agents.step-executor");
22
25
  const DEFAULT_MAX_ITERATIONS = 30;
23
- const JSON_FAILURE_ALERT_THRESHOLD = 3;
24
- const MAX_JSON_PARSE_FAILURES = 6;
25
26
  // ---------------------------------------------------------------------------
26
27
  // Shared prompt fragments (DRY)
27
28
  // ---------------------------------------------------------------------------
@@ -41,24 +42,32 @@ const PROMPT_TOOL_USE = `# Tool Use
41
42
  - Use tools only when they materially improve correctness or are required.
42
43
  - Avoid exploratory or repeated tool calls that are unlikely to change the outcome.
43
44
  - Before each tool call, emit a one-sentence rationale describing what you're doing and why.
45
+ - Every tool's input schema includes a \`_message\` string field. Set it on EVERY call to a short (5-12 words), present-continuous status describing what you're doing — this is what the user sees while the tool runs. Examples: "Reading config.json", "Searching the web for AI trends", "Adding image generator node", "Calling http_request to POST /api/items". Be specific about the target (file, URL, query, node type) — generic strings like "Running tool" are useless to the user.
46
+
47
+ ## Memory Tools (progressive disclosure)
48
+ - Shared agent memory holds results from prior steps and tasks, original inputs, and facts published by other agents.
49
+ - Memory contents are NOT auto-included in your prompt. If you need upstream context, discover it on demand:
50
+ 1. Call \`list_shared\` to see what's available (returns metadata only — keys, titles, kinds, byte sizes).
51
+ 2. Call \`read_shared\` with the specific keys you actually need; it returns full values.
52
+ 3. Call \`share_result\` to publish a value under \`shared:<key>\` so other agents can find it via \`list_shared\`.
53
+ - Pull only what you need — don't fetch every entry by reflex.
44
54
 
45
55
  ## File Tools
46
- - Use \`read_file\` to read files. Do not use \`run_code\` with cat/head/tail.
56
+ - Use \`read_file\` to read files.
47
57
  - Use \`edit_file\` for modifying existing files — it performs exact string replacement and only sends the diff. Prefer it over \`write_file\` for modifications.
48
58
  - Use \`write_file\` only for creating new files or complete rewrites.
49
- - Use \`glob\` to find files by name pattern (e.g. "**/*.ts"). Do not use \`run_code\` with find or ls.
50
- - Use \`grep\` to search file contents with regex. Do not use \`run_code\` with grep or rg.
51
- - Use \`run_code\` with language="bash" only for system commands and operations that require shell execution.
59
+ - Use \`glob\` to find files by name pattern (e.g. "**/*.ts").
60
+ - Use \`grep\` to search file contents with regex.
52
61
 
53
62
  ## Web Tools
54
63
  - Use \`browser\` to fetch and read the content of a web page. It returns cleaned, readable text extracted from HTML. This is the right choice for reading articles, documentation, or any page content.
55
64
  - Use \`http_request\` for API calls, POST/PUT/PATCH requests, or when you need raw response headers and body. Do not use it for reading page content — use \`browser\` instead.
56
65
  - Use \`download_file\` to save a file (binary or text) from a URL to disk.`;
57
- const PROMPT_FINISH_STEP = `# Completion (Tool Call Only)
58
- - When done, CALL \`finish_step\` exactly once with:
59
- {"result": <result>}
60
- - Do NOT output the final result in assistant text — only use the tool.
61
- - Stop immediately after calling \`finish_step\`.`;
66
+ const PROMPT_FINISH_STEP = `# Completion
67
+ - When you have everything you need, call \`finish_step\` exactly once with
68
+ \`{"result": <result>}\` matching the declared schema.
69
+ - Use \`read_shared\` to fetch any upstream values you still need before
70
+ finishing.`;
62
71
  // ---------------------------------------------------------------------------
63
72
  // Assembled system prompts
64
73
  // ---------------------------------------------------------------------------
@@ -124,7 +133,7 @@ function validateAndSanitizeSchema(schema, defaultDescription = "Result object")
124
133
  throw new Error("Schema is null or undefined");
125
134
  }
126
135
  let parsed = schema;
127
- if (typeof parsed === "string") {
136
+ if (isString(parsed)) {
128
137
  parsed = JSON.parse(parsed);
129
138
  }
130
139
  if (typeof parsed !== "object" || Array.isArray(parsed)) {
@@ -168,7 +177,7 @@ function validateAndSanitizeSchema(schema, defaultDescription = "Result object")
168
177
  if (Array.isArray(obj)) {
169
178
  return obj.map(cleanSchemaRecursive);
170
179
  }
171
- if (obj !== null && typeof obj === "object") {
180
+ if (isObjectLike(obj)) {
172
181
  const cleaned = {};
173
182
  for (const [key, value] of Object.entries(obj)) {
174
183
  cleaned[key] = cleanSchemaRecursive(value);
@@ -182,16 +191,17 @@ function validateAndSanitizeSchema(schema, defaultDescription = "Result object")
182
191
  }
183
192
  return cleanSchemaRecursive(result);
184
193
  }
185
- // ---------------------------------------------------------------------------
186
- // Think-tag removal
187
- // ---------------------------------------------------------------------------
188
- function removeThinkTags(text) {
189
- if (!text)
190
- return "";
191
- return text
192
- .replace(/<think>[\s\S]*?<\/(?:redacted_thinking|think)>/g, "")
193
- .replace(/<think>[\s\S]*/g, "")
194
- .trim();
194
+ /**
195
+ * The authored schema, deep-copied and given a `type` when it omits one, so
196
+ * host validation reads exactly what the caller declared and nothing more.
197
+ */
198
+ function normalizeDeclaredSchema(raw) {
199
+ if (!isRecord(raw))
200
+ return null;
201
+ const copy = JSON.parse(JSON.stringify(raw));
202
+ if (!("type" in copy) && "properties" in copy)
203
+ copy["type"] = "object";
204
+ return copy;
195
205
  }
196
206
  // ---------------------------------------------------------------------------
197
207
  // Tool result normalization
@@ -199,15 +209,13 @@ function removeThinkTags(text) {
199
209
  function normalizeToolResult(value) {
200
210
  if (value === null || value === undefined)
201
211
  return value;
202
- if (typeof value === "string" ||
203
- typeof value === "number" ||
204
- typeof value === "boolean")
212
+ if (isString(value) || isNumber(value) || isBoolean(value))
205
213
  return value;
206
214
  if (Array.isArray(value))
207
215
  return value.map(normalizeToolResult);
208
- if (typeof value === "object") {
216
+ if (isObjectLike(value)) {
209
217
  const obj = value;
210
- if (typeof obj["toJSON"] === "function") {
218
+ if (isFunction(obj["toJSON"])) {
211
219
  return normalizeToolResult(obj.toJSON());
212
220
  }
213
221
  const result = {};
@@ -229,6 +237,12 @@ function renderTemplate(template, context) {
229
237
  }
230
238
  return result;
231
239
  }
240
+ /**
241
+ * Rejections by the acceptance callback before the step gives up. Three is
242
+ * enough for the model to read the reason and correct course; more is a model
243
+ * that cannot satisfy the contract, and looping costs real money.
244
+ */
245
+ export const MAX_REPAIR_ROUNDS = 3;
232
246
  export class StepExecutor {
233
247
  history = [];
234
248
  step;
@@ -238,22 +252,24 @@ export class StepExecutor {
238
252
  model;
239
253
  context;
240
254
  systemPrompt;
241
- maxTokenLimit;
242
255
  maxIterations;
256
+ maxTokens;
243
257
  useFinishTask;
244
- inConclusionStage = false;
258
+ signal;
245
259
  result = null;
246
260
  finishStepTool = null;
247
261
  resultSchema = null;
262
+ /** The schema as the caller wrote it — what host validation checks. */
263
+ declaredSchema = null;
248
264
  iterations = 0;
249
- jsonParseFailures = 0;
250
265
  generationFailures = 0;
251
- sources = [];
252
- sourcesSet = new Set();
253
- inputTokensTotal = 0;
254
- outputTokensTotal = 0;
255
- _controlEvents = [];
256
266
  threadId;
267
+ upstreamMemoryKeys;
268
+ acceptResult;
269
+ turnBudget;
270
+ repairRounds = 0;
271
+ /** Set when acceptance rejected the result once too often. */
272
+ acceptanceError = null;
257
273
  constructor(opts) {
258
274
  this.task = opts.task;
259
275
  this.step = opts.step;
@@ -261,26 +277,29 @@ export class StepExecutor {
261
277
  this.provider = opts.provider;
262
278
  this.model = opts.model;
263
279
  this.tools = opts.tools ? [...opts.tools] : [];
264
- this.maxTokenLimit = opts.maxTokenLimit ?? DEFAULT_TOKEN_LIMIT;
265
280
  this.maxIterations = opts.maxIterations ?? DEFAULT_MAX_ITERATIONS;
281
+ this.maxTokens = opts.maxTokens;
266
282
  this.useFinishTask = opts.useFinishTask ?? false;
267
283
  this.threadId = opts.threadId;
268
- // Load and sanitize the output schema
284
+ this.upstreamMemoryKeys = opts.upstreamMemoryKeys ?? [];
285
+ this.signal = opts.signal;
286
+ this.acceptResult = opts.acceptResult;
287
+ this.turnBudget = opts.turnBudget;
269
288
  this.resultSchema = this.loadResultSchema();
270
- // Setup finish_step tool if we have a schema
289
+ // Auto-attach memory tools so the step can list / read / write
290
+ // shared agent memory on demand. Skip any caller-supplied duplicates.
291
+ const existingNames = new Set(this.tools.map((t) => t.name));
292
+ for (const sharedTool of getSharedTools()) {
293
+ if (!existingNames.has(sharedTool.name)) {
294
+ this.tools.push(sharedTool);
295
+ }
296
+ }
271
297
  if (this.resultSchema) {
272
298
  this.finishStepTool = new FinishStepTool(this.resultSchema);
273
299
  this.tools.push(this.finishStepTool);
274
300
  }
275
- // Build the system prompt from templates
276
301
  this.systemPrompt = this.buildSystemPrompt(opts.systemPrompt);
277
302
  }
278
- /**
279
- * Rough token estimate based on JSON serialized history length / 4.
280
- */
281
- estimateTokens() {
282
- return Math.ceil(JSON.stringify(this.history).length / 4);
283
- }
284
303
  /**
285
304
  * Parse and sanitize the declared output schema for this step.
286
305
  */
@@ -291,39 +310,51 @@ export class StepExecutor {
291
310
  ? "The task result"
292
311
  : "The step result";
293
312
  try {
294
- const raw = typeof this.step.outputSchema === "string"
313
+ const raw = isString(this.step.outputSchema)
295
314
  ? JSON.parse(this.step.outputSchema)
296
315
  : this.step.outputSchema;
316
+ // Two schemas, on purpose. The sanitized one is what the provider is
317
+ // shown — it injects `additionalProperties: false` because strict
318
+ // structured-output modes demand it. The authored one is the contract,
319
+ // and it is what the host validates against: an author who wrote
320
+ // `properties: {}` meant "an object", not "an empty object", and
321
+ // enforcing a transport artifact would reject a result nobody forbade.
322
+ this.declaredSchema = normalizeDeclaredSchema(raw);
297
323
  return validateAndSanitizeSchema(raw, defaultDescription);
298
324
  }
299
325
  catch {
300
326
  // Fallback: permissive object schema
327
+ this.declaredSchema = null;
301
328
  return { type: "object", description: defaultDescription };
302
329
  }
303
330
  }
304
331
  /**
305
332
  * Build the system prompt for this step using templates.
333
+ *
334
+ * The default execution prompts encode the contract every step relies on
335
+ * (output discipline, finish_step protocol). They must always be present.
336
+ * A caller-supplied `userPrompt` is added as a preamble — never as a
337
+ * replacement — so domain context can be layered in without losing the
338
+ * execution discipline.
306
339
  */
307
- buildSystemPrompt(customPrompt) {
340
+ buildSystemPrompt(userPrompt) {
308
341
  let basePrompt;
309
342
  const templateContext = {};
310
343
  if (this.resultSchema) {
311
344
  const schemaJson = JSON.stringify(this.resultSchema, null, 2);
312
345
  templateContext["output_schema_json"] = schemaJson;
313
- if (this.useFinishTask) {
314
- basePrompt = customPrompt ?? DEFAULT_FINISH_TASK_SYSTEM_PROMPT;
315
- templateContext["step_content"] = this.step.instructions;
316
- }
317
- else {
318
- basePrompt = customPrompt ?? DEFAULT_EXECUTION_SYSTEM_PROMPT;
319
- templateContext["step_content"] = this.step.instructions;
320
- }
346
+ basePrompt = this.useFinishTask
347
+ ? DEFAULT_FINISH_TASK_SYSTEM_PROMPT
348
+ : DEFAULT_EXECUTION_SYSTEM_PROMPT;
321
349
  }
322
350
  else {
323
- basePrompt = customPrompt ?? DEFAULT_UNSTRUCTURED_SYSTEM_PROMPT;
324
- templateContext["step_content"] = this.step.instructions;
351
+ basePrompt = DEFAULT_UNSTRUCTURED_SYSTEM_PROMPT;
325
352
  }
353
+ templateContext["step_content"] = this.step.instructions;
326
354
  let prompt = renderTemplate(basePrompt, templateContext);
355
+ if (userPrompt && userPrompt.trim().length > 0) {
356
+ prompt = `${userPrompt.trim()}\n\n---\n\n${prompt}`;
357
+ }
327
358
  prompt += `\n\nToday's date is ${new Date().toISOString().slice(0, 10)}`;
328
359
  return prompt;
329
360
  }
@@ -336,43 +367,41 @@ export class StepExecutor {
336
367
  if (this.resultSchema === null) {
337
368
  return [true, null, normalized];
338
369
  }
339
- // Basic structural validation: check required keys from schema
340
- if (this.resultSchema["type"] === "object" &&
341
- typeof normalized === "object" &&
342
- normalized !== null) {
343
- const requiredKeys = this.resultSchema["required"];
344
- if (Array.isArray(requiredKeys)) {
345
- const obj = normalized;
346
- for (const key of requiredKeys) {
347
- if (!(key in obj)) {
348
- return [false, `Missing required key: ${key}`, normalized];
349
- }
350
- }
351
- }
352
- }
353
- // Type check
354
- const expectedType = this.resultSchema["type"];
355
- if (expectedType === "string" && typeof normalized !== "string") {
356
- return [false, `Expected string, got ${typeof normalized}`, normalized];
357
- }
358
- if (expectedType === "object" &&
359
- (typeof normalized !== "object" || normalized === null)) {
360
- return [false, `Expected object, got ${typeof normalized}`, normalized];
361
- }
362
- if (expectedType === "array" && !Array.isArray(normalized)) {
363
- return [false, `Expected array, got ${typeof normalized}`, normalized];
370
+ // The whole declared schema, not its outline. Backends vary in how much of
371
+ // a tool-parameter schema they enforce — enums and unions are routinely
372
+ // dropped — so a contract holds only where the host checks it.
373
+ const violations = validateAgainstSchema(normalized, this.declaredSchema ?? this.resultSchema);
374
+ if (violations.length > 0) {
375
+ return [false, formatViolations(violations), normalized];
364
376
  }
365
377
  return [true, null, normalized];
366
378
  }
367
379
  /**
368
380
  * Persist the final result and mark the step as completed.
381
+ *
382
+ * Writes a `step_result` entry to {@link ProcessingContext.memory} under
383
+ * `step:<id>`. For finish-task steps it additionally writes the same value
384
+ * as a `task_result` under `task:<id>` so downstream tasks can discover it
385
+ * via memory.
369
386
  */
370
- async storeCompletionResult(normalizedResult) {
387
+ storeCompletionResult(normalizedResult) {
371
388
  this.step.completed = true;
372
389
  this.step.endTime = Date.now();
373
- await this.context.storeStepResult(this.step.id, normalizedResult);
390
+ this.context.memory.set({
391
+ key: memoryKeys.step(this.step.id),
392
+ kind: "step_result",
393
+ value: normalizedResult,
394
+ source: this.step.id,
395
+ title: this.step.instructions.slice(0, 80)
396
+ });
374
397
  if (this.useFinishTask) {
375
- await this.context.storeStepResult(this.task.id, normalizedResult);
398
+ this.context.memory.set({
399
+ key: memoryKeys.task(this.task.id),
400
+ kind: "task_result",
401
+ value: normalizedResult,
402
+ source: this.task.id,
403
+ title: this.task.title
404
+ });
376
405
  }
377
406
  this.result = normalizedResult;
378
407
  }
@@ -401,166 +430,18 @@ export class StepExecutor {
401
430
  this.history.push({ role: "system", content: lines.join("\n") });
402
431
  }
403
432
  /**
404
- * Attempt to parse and store a completion payload from the assistant message.
433
+ * For unstructured steps (no schema), accept the assistant's text content
434
+ * as the result when the model produces a final response without tool
435
+ * calls. Schema'd steps finalize exclusively through `finish_step`.
405
436
  */
406
437
  maybeFinalizeFromMessage(message) {
407
438
  if (!message)
408
439
  return [false, null];
409
- // For unstructured steps (no schema), accept text content as the result
410
- if (this.resultSchema === null) {
411
- if (!message.toolCalls || message.toolCalls.length === 0) {
412
- return [true, message.content];
413
- }
414
- return [false, null];
415
- }
416
- if (!message.content || typeof message.content !== "string")
417
- return [false, null];
418
- const parsed = extractJSON(message.content);
419
- if (!parsed || typeof parsed !== "object")
440
+ if (this.resultSchema !== null)
420
441
  return [false, null];
421
- const obj = parsed;
422
- const status = obj["status"];
423
- if (status !== undefined && status !== "completed")
424
- return [false, null];
425
- if (status === "completed" && !("result" in obj)) {
426
- this.history.push({
427
- role: "system",
428
- content: 'Missing \'result\' in completion payload. Provide: {"status": "completed", "result": <your_result>}.'
429
- });
430
- return [false, null];
431
- }
432
- const candidateResult = "result" in obj ? obj["result"] : parsed;
433
- const [isValid, errorDetail, normalizedResult] = this.validateResultPayload(candidateResult);
434
- if (!isValid ||
435
- normalizedResult === null ||
436
- normalizedResult === undefined) {
437
- this.history.push({
438
- role: "system",
439
- content: `Schema validation failed: ${errorDetail ?? "unknown error"}`
440
- });
442
+ if (message.toolCalls && message.toolCalls.length > 0)
441
443
  return [false, null];
442
- }
443
- return [true, normalizedResult];
444
- }
445
- /**
446
- * Track JSON parsing/validation failures and enforce a hard stop.
447
- */
448
- registerJsonFailure(detail) {
449
- this.jsonParseFailures++;
450
- if (this.jsonParseFailures === JSON_FAILURE_ALERT_THRESHOLD) {
451
- const reminder = "SYSTEM: Do NOT output completion JSON in assistant text. You MUST call " +
452
- "`finish_step` with {'result': <result>} matching the schema, with no extra keys.";
453
- this.history.push({ role: "system", content: reminder });
454
- this.inConclusionStage = true;
455
- }
456
- if (this.jsonParseFailures >= MAX_JSON_PARSE_FAILURES) {
457
- throw new Error(`Exceeded maximum JSON parse attempts (${MAX_JSON_PARSE_FAILURES}) for step ${this.step.id}. Last failure: ${detail}`);
458
- }
459
- }
460
- /**
461
- * Filter tool calls based on whether we're in the conclusion stage.
462
- */
463
- filterToolCallsForCurrentStage(toolCalls) {
464
- if (!this.inConclusionStage)
465
- return toolCalls;
466
- return toolCalls.filter((tc) => tc.name === "finish_step");
467
- }
468
- /**
469
- * Get the tools available for the current stage.
470
- */
471
- getCurrentTools() {
472
- if (this.inConclusionStage) {
473
- return this.finishStepTool ? [this.finishStepTool] : [];
474
- }
475
- return [...this.tools];
476
- }
477
- /**
478
- * Transition to conclusion stage: restrict tools to finish_step only.
479
- */
480
- enterConclusionStage() {
481
- if (this.inConclusionStage)
482
- return;
483
- this.inConclusionStage = true;
484
- const hasFinishTool = !!this.finishStepTool;
485
- const message = hasFinishTool
486
- ? `SYSTEM: The conversation history is approaching the token limit (${this.maxTokenLimit} tokens).\n` +
487
- "ENTERING CONCLUSION STAGE: You MUST now synthesize all gathered information and finalize the step.\n" +
488
- "Only the `finish_step` tool is available. Call `finish_step` exactly once with:\n" +
489
- '{"result": <result>} where <result> matches the declared schema.'
490
- : `SYSTEM: The conversation history is approaching the token limit (${this.maxTokenLimit} tokens).\n` +
491
- "ENTERING CONCLUSION STAGE: You MUST now synthesize all gathered information and finalize the step.\n" +
492
- "Tools are not available. Provide the final answer concisely.";
493
- // Prevent duplicate conclusion messages
494
- if (!this.history.some((m) => m.role === "system" &&
495
- typeof m.content === "string" &&
496
- m.content.includes("ENTERING CONCLUSION STAGE"))) {
497
- this.history.push({ role: "system", content: message });
498
- }
499
- }
500
- /**
501
- * Summarize older messages into a concise, factual summary.
502
- */
503
- async summarizeMessages(messages) {
504
- const joined = messages
505
- .filter((m) => m.content)
506
- .map((m) => `${(m.role ?? "").toUpperCase()}: ${m.content}`)
507
- .join("\n");
508
- const prompt = "Summarize the following conversation concisely while preserving key facts, " +
509
- "decisions, and results:\n\n" +
510
- joined;
511
- try {
512
- const msg = await this.provider.generateMessageTraced({
513
- messages: [
514
- { role: "system", content: "Summarize previous context." },
515
- { role: "user", content: prompt }
516
- ],
517
- model: this.model,
518
- tools: [],
519
- maxTokens: 512
520
- });
521
- return String(msg.content ?? "").trim();
522
- }
523
- catch {
524
- return "Summary unavailable due to compression error.";
525
- }
526
- }
527
- /**
528
- * Trim or summarize older messages to stay within token limits.
529
- */
530
- async trimHistoryIfNeeded() {
531
- const tokenCount = this.estimateTokens();
532
- if (tokenCount < this.maxTokenLimit * 0.9)
533
- return;
534
- // Preserve the last 6 messages
535
- const preserved = [];
536
- for (let i = this.history.length - 1; i >= 0 && preserved.length < 6; i--) {
537
- preserved.unshift(this.history[i]);
538
- }
539
- const earlierCount = this.history.length - preserved.length;
540
- const earlierContext = earlierCount > 1 ? this.history.slice(1, earlierCount) : [];
541
- if (earlierContext.length > 0) {
542
- const summary = await this.summarizeMessages(earlierContext);
543
- const systemPrompt = this.history[0];
544
- this.history = [];
545
- if (systemPrompt) {
546
- this.history.push(systemPrompt);
547
- }
548
- this.history.push({
549
- role: "system",
550
- content: `Summary of previous context:\n${summary}`
551
- });
552
- }
553
- else {
554
- this.history = this.history.slice(0, 1);
555
- }
556
- this.history.push(...preserved);
557
- // Trim further if still over budget
558
- let currentTokens = this.estimateTokens();
559
- while (currentTokens > this.maxTokenLimit * 0.85 &&
560
- this.history.length > 2) {
561
- this.history.splice(2, 1);
562
- currentTokens = this.estimateTokens();
563
- }
444
+ return [true, message.content];
564
445
  }
565
446
  /**
566
447
  * Serialize a tool result for history, with truncation.
@@ -572,11 +453,7 @@ export class StepExecutor {
572
453
  try {
573
454
  const normalized = normalizeToolResult(toolResult);
574
455
  const serialized = JSON.stringify(normalized);
575
- if (serialized.length > MAX_TOOL_RESULT_CHARS) {
576
- return (serialized.slice(0, MAX_TOOL_RESULT_CHARS) +
577
- "... [truncated to maintain context size]");
578
- }
579
- return serialized;
456
+ return truncateToolResult(serialized);
580
457
  }
581
458
  catch (e) {
582
459
  return JSON.stringify({
@@ -586,164 +463,61 @@ export class StepExecutor {
586
463
  }
587
464
  }
588
465
  /**
589
- * Save base64 encoded binary data (images, audio) from tool results to workspace files.
590
- * Mirrors Python's StepExecutor._handle_binary_artifact().
591
- */
592
- async handleBinaryArtifact(toolResult) {
593
- if (typeof toolResult !== "object" ||
594
- toolResult === null ||
595
- Array.isArray(toolResult)) {
596
- return toolResult;
597
- }
598
- const result = { ...toolResult };
599
- const workspaceDir = this.context.workspaceDir;
600
- if (!workspaceDir)
601
- return result;
602
- for (const field of ["image", "audio"]) {
603
- const value = result[field];
604
- if (typeof value !== "string")
605
- continue;
606
- const dataUriMatch = value.match(/^data:([^;]+);base64,(.+)$/s);
607
- if (!dataUriMatch)
608
- continue;
609
- const [, mimeType, base64Data] = dataUriMatch;
610
- const ext = mimeType.split("/")[1] ?? "bin";
611
- const hash = createHash("sha256")
612
- .update(base64Data)
613
- .digest("hex")
614
- .slice(0, 16);
615
- const filename = `artifact_${hash}.${ext}`;
616
- const artifactsDir = path.join(workspaceDir, "artifacts");
617
- await fs.mkdir(artifactsDir, { recursive: true });
618
- const filepath = path.join(artifactsDir, filename);
619
- await fs.writeFile(filepath, Buffer.from(base64Data, "base64"));
620
- result[field] = filepath;
621
- if (!this.sourcesSet.has(filepath)) {
622
- this.sources.push(filepath);
623
- this.sourcesSet.add(filepath);
624
- }
625
- }
626
- return result;
627
- }
628
- /**
629
- * Persist important sandbox outputs (downloads, screenshots, generated artifacts)
630
- * as assets so they survive ephemeral workspace/container cleanup.
631
- */
632
- async capturePersistentSandboxOutputs(toolName, toolArgs, toolResult) {
633
- if (typeof toolResult !== "object" ||
634
- toolResult === null ||
635
- Array.isArray(toolResult)) {
636
- return toolResult;
637
- }
638
- const result = { ...toolResult };
639
- if (result.success === false) {
640
- return result;
641
- }
642
- const candidates = [];
643
- const candidateKeys = new Set();
644
- const isExternalUri = (value) => {
645
- const lower = value.toLowerCase();
646
- return (lower.startsWith("http://") ||
647
- lower.startsWith("https://") ||
648
- lower.startsWith("asset://") ||
649
- lower.startsWith("memory://") ||
650
- lower.startsWith("s3://") ||
651
- lower.startsWith("file://"));
652
- };
653
- const maybeAdd = (label, value) => {
654
- if (typeof value === "string" &&
655
- value.trim().length > 0 &&
656
- !value.startsWith("data:") &&
657
- !isExternalUri(value)) {
658
- const key = `${label}:${value}`;
659
- if (!candidateKeys.has(key)) {
660
- candidates.push({ label, path: value });
661
- candidateKeys.add(key);
662
- }
663
- }
664
- };
665
- maybeAdd("output_file", result.output_file);
666
- if (result.success === true) {
667
- maybeAdd("output_file", toolArgs?.["output_file"]);
668
- }
669
- maybeAdd("image", result.image);
670
- maybeAdd("audio", result.audio);
671
- if (candidates.length === 0) {
672
- return result;
673
- }
674
- const refs = {};
675
- for (const candidate of candidates) {
676
- try {
677
- const ref = await this.context.sandboxToAsset(candidate.path);
678
- refs[candidate.label] = ref;
679
- const uri = ref.uri;
680
- if (typeof uri === "string" && uri && !this.sourcesSet.has(uri)) {
681
- this.sources.push(uri);
682
- this.sourcesSet.add(uri);
683
- }
684
- }
685
- catch (error) {
686
- log.warn("Failed to persist sandbox output as asset", {
687
- stepId: this.step.id,
688
- toolName,
689
- path: candidate.path,
690
- error: error instanceof Error ? error.message : String(error)
691
- });
692
- }
693
- }
694
- if (Object.keys(refs).length > 0) {
695
- const existing = result.asset_refs;
696
- if (typeof existing === "object" &&
697
- existing !== null &&
698
- !Array.isArray(existing)) {
699
- result.asset_refs = { ...existing, ...refs };
700
- }
701
- else {
702
- result.asset_refs = refs;
703
- }
704
- }
705
- return result;
706
- }
707
- /**
708
- * Track URLs from browser tool navigation results.
709
- * Mirrors Python's _process_special_tool_side_effects().
710
- */
711
- trackToolSideEffects(toolName, result) {
712
- if (toolName === "browser" &&
713
- typeof result === "object" &&
714
- result !== null) {
715
- const url = result.url;
716
- if (typeof url === "string" && url && !this.sourcesSet.has(url)) {
717
- this.sources.push(url);
718
- this.sourcesSet.add(url);
719
- }
720
- }
721
- }
722
- /**
723
- * Generate a user-facing message for a tool call.
466
+ * Generate a user-facing message for a tool call. Prefers the LLM-authored
467
+ * `_message` arg; falls back to the tool's parameter-aware template.
724
468
  */
725
469
  generateToolCallMessage(toolCall) {
470
+ const llm = Tool.extractMessage(toolCall.args);
471
+ if (llm)
472
+ return llm;
726
473
  for (const tool of this.tools) {
727
474
  if (tool.name === toolCall.name) {
728
- return tool.userMessage(toolCall.args);
475
+ return tool.userMessage(Tool.stripMessage(toolCall.args));
729
476
  }
730
477
  }
731
478
  return `Running ${toolCall.name}`;
732
479
  }
733
480
  /**
734
- * Build the initial user message with instructions and dependency results.
481
+ * Build the initial user message.
482
+ *
483
+ * Memory contents are NOT auto-included — callers fetch on demand via the
484
+ * `list_shared` / `read_shared` tools (progressive disclosure; tool usage
485
+ * is documented in the default system prompt).
486
+ *
487
+ * The only memory information the user message carries is a short list of
488
+ * **specific** upstream keys the planner declared as relevant to this step:
489
+ *
490
+ * - `step:<id>` for every entry of `step.dependsOn` (intra-task deps).
491
+ * - any caller-supplied {@link StepExecutorOptions.upstreamMemoryKeys}
492
+ * (typically `task:<id>` entries from the parent task's `dependsOn`).
493
+ *
494
+ * Only keys that actually exist in `context.memory` are listed. The LLM
495
+ * is expected to call `read_shared` with whichever subset it needs.
735
496
  */
736
- async buildUserMessage() {
497
+ buildUserMessage() {
737
498
  const parts = [this.step.instructions];
738
- if (this.step.dependsOn.length > 0) {
739
- for (const depId of this.step.dependsOn) {
740
- const depResult = await this.context.loadStepResult(depId);
741
- if (depResult !== undefined && depResult !== null) {
742
- parts.push(`**Result from Task ${depId}:**\n${JSON.stringify(depResult, null, 2)}\n`);
743
- }
499
+ const declared = [
500
+ ...this.step.dependsOn.map((id) => memoryKeys.step(id)),
501
+ ...this.upstreamMemoryKeys
502
+ ];
503
+ const seen = new Set();
504
+ const hints = [];
505
+ for (const key of declared) {
506
+ if (seen.has(key))
507
+ continue;
508
+ seen.add(key);
509
+ const entry = this.context.memory.get(key);
510
+ if (!entry)
511
+ continue;
512
+ hints.push({ key: entry.key, title: entry.title });
513
+ }
514
+ if (hints.length > 0) {
515
+ parts.push("");
516
+ parts.push("# Required upstream memory (call `read_shared` with these keys):");
517
+ for (const hint of hints) {
518
+ parts.push(`- ${hint.key}${hint.title ? ` — ${hint.title}` : ""}`);
744
519
  }
745
520
  }
746
- parts.push("Please perform the step based on the provided context, instructions, and upstream task results.");
747
521
  return parts.join("\n");
748
522
  }
749
523
  /**
@@ -766,12 +540,15 @@ export class StepExecutor {
766
540
  stepId: this.step.id,
767
541
  instructions: this.step.instructions.slice(0, 60)
768
542
  });
769
- // Initialize history with system prompt
543
+ // Stamp the loop's own selection so a tool that launches another harness
544
+ // inherits this agent's provider/model when the call doesn't name one.
545
+ this.context.set(ACTIVE_MODEL_CONTEXT_KEY, {
546
+ provider: this.provider.provider,
547
+ model: this.model
548
+ });
770
549
  this.history.push({ role: "system", content: this.systemPrompt });
771
- // Build user message with instructions and dependency results
772
- const userContent = await this.buildUserMessage();
550
+ const userContent = this.buildUserMessage();
773
551
  this.history.push({ role: "user", content: userContent });
774
- // Yield task update: step started
775
552
  this.step.startTime = Date.now();
776
553
  yield {
777
554
  type: "task_update",
@@ -780,280 +557,231 @@ export class StepExecutor {
780
557
  step: { id: this.step.id, instructions: this.step.instructions },
781
558
  event: TaskUpdateEvent.StepStarted
782
559
  };
783
- rejectAgenticProvider(this.provider, "StepExecutor.execute");
784
- // --- Standard multi-iteration loop ---
785
- while (!this.step.completed && this.iterations < this.maxIterations) {
786
- this.iterations++;
787
- // Check token budget
788
- const tokenCount = this.estimateTokens();
789
- if (tokenCount > this.maxTokenLimit && !this.inConclusionStage) {
790
- this.enterConclusionStage();
791
- yield {
792
- type: "task_update",
793
- node_id: this.step.id,
794
- task: { id: this.task.id, title: this.task.title },
795
- step: { id: this.step.id, instructions: this.step.instructions },
796
- event: TaskUpdateEvent.EnteredConclusionStage
797
- };
798
- }
799
- // Trim history if needed
800
- await this.trimHistoryIfNeeded();
801
- // Determine available tools
802
- const currentTools = this.getCurrentTools();
803
- const providerTools = currentTools.map((t) => t.toProviderTool());
804
- // Yield log update
805
- yield {
806
- type: "log_update",
560
+ // The provider drives the tool loop, so backends that run their own agent
561
+ // loop (e.g. the Claude Agent SDK) work. Each tool carries its own `execute`
562
+ // closure — running the tool, persisting artifacts, tracking sources — and
563
+ // buffers the completion events; the stream consumer surfaces chunks and
564
+ // tool-call updates.
565
+ //
566
+ // `finish_step` is only *conditionally* terminal: it ends the loop when it
567
+ // captures a schema-valid result, but on an invalid result it returns the
568
+ // error so the model can retry within the iteration budget. The static
569
+ // `terminal` flag can't express that, so the AbortController stops the loop
570
+ // on a valid completion instead.
571
+ const abort = new AbortController();
572
+ // External cancellation (user pressed Stop) fires the same controller.
573
+ const unlinkAbort = linkAbort(abort, this.signal);
574
+ const ui = createUiEventBuffer();
575
+ let lastAssistant = null;
576
+ // Captures a real exception thrown by the provider loop (401, rate limit,
577
+ // network, tool-schema error) so the failure path reports the actual cause
578
+ // instead of misattributing it to iteration exhaustion.
579
+ let generationError = null;
580
+ const emitCompletion = (normalizedResult) => {
581
+ this.storeCompletionResult(normalizedResult);
582
+ ui.push({
583
+ type: "task_update",
807
584
  node_id: this.step.id,
808
- node_name: `Step: ${this.step.id}`,
809
- content: !this.inConclusionStage
810
- ? "Generating next steps..."
811
- : "Synthesizing final answer...",
812
- severity: "info"
813
- };
814
- // Track input tokens
815
- this.inputTokensTotal += this.estimateTokens();
816
- // Call LLM
817
- let content = "";
818
- const toolCalls = [];
819
- let message;
820
- try {
821
- const stream = this.provider.generateMessagesTraced({
822
- messages: [...this.history],
823
- model: this.model,
824
- tools: providerTools.length > 0 ? providerTools : undefined,
825
- threadId: this.threadId
826
- });
827
- for await (const item of stream) {
828
- if (isChunk(item)) {
829
- content += item.content ?? "";
830
- yield {
831
- type: "chunk",
832
- node_id: this.step.id,
833
- content: item.content,
834
- done: false
835
- };
836
- }
837
- if (isToolCall(item)) {
838
- log.debug("Tool call", { name: item.name });
839
- toolCalls.push(item);
585
+ task: { id: this.task.id, title: this.task.title },
586
+ step: { id: this.step.id, instructions: this.step.instructions },
587
+ event: TaskUpdateEvent.StepCompleted
588
+ });
589
+ ui.push({
590
+ type: "step_result",
591
+ step: { id: this.step.id, instructions: this.step.instructions },
592
+ result: normalizedResult,
593
+ is_task_result: this.useFinishTask
594
+ });
595
+ };
596
+ // finish_step is the only completion path for schema'd steps.
597
+ const finishStepExecute = async (args) => {
598
+ const rawResult = args?.["result"];
599
+ // Fall back to the whole args object when `result` is absent, but strip
600
+ // the injected `_message` protocol field so it can't leak into the result.
601
+ let resultPayload = rawResult !== undefined && rawResult !== null
602
+ ? rawResult
603
+ : Tool.stripMessage(args ?? {});
604
+ // Array-output steps are wrapped as `{ result: { items: <array> } }` for
605
+ // the tool parameter schema (OpenAI requires an object top-level). Unwrap
606
+ // `{ items: [...] }` back to the array before validating against the
607
+ // original array schema. Gate on the declared schema type so a legitimate
608
+ // object result with an `items` key is not misinterpreted.
609
+ if (this.resultSchema?.["type"] === "array" &&
610
+ isRecord(resultPayload) &&
611
+ Array.isArray(resultPayload["items"])) {
612
+ resultPayload = resultPayload["items"];
613
+ }
614
+ if (resultPayload === undefined || resultPayload === null) {
615
+ return '{"error": "Missing result in finish_step call"}';
616
+ }
617
+ const [isValid, errorDetail, normalizedResult] = this.validateResultPayload(resultPayload);
618
+ if (isValid &&
619
+ normalizedResult !== null &&
620
+ normalizedResult !== undefined) {
621
+ if (this.acceptResult) {
622
+ const acceptance = await this.acceptResult(normalizedResult);
623
+ if (!acceptance.accepted) {
624
+ this.repairRounds++;
625
+ if (this.repairRounds >= MAX_REPAIR_ROUNDS) {
626
+ // Out of rounds. Stop the loop rather than pay for another
627
+ // attempt at a contract this model is not meeting.
628
+ this.acceptanceError = acceptance.reason;
629
+ abort.abort();
630
+ return JSON.stringify({
631
+ error: `Result rejected: ${acceptance.reason}`
632
+ });
633
+ }
634
+ return JSON.stringify({
635
+ error: `Result rejected: ${acceptance.reason}. Call finish_step again with a corrected result.`
636
+ });
840
637
  }
841
638
  }
842
- // Clean think tags from content
843
- content = removeThinkTags(content);
844
- message = { role: "assistant", content: content ?? "" };
845
- if (toolCalls.length > 0) {
846
- message.toolCalls = toolCalls;
847
- }
848
- // Estimate output tokens
849
- this.outputTokensTotal += Math.ceil((content.length + JSON.stringify(toolCalls).length) / 4);
639
+ emitCompletion(normalizedResult);
640
+ abort.abort();
641
+ return '{"status": "completed"}';
642
+ }
643
+ return JSON.stringify({
644
+ error: `Result validation failed: ${errorDetail ?? "Result failed schema validation."}`
645
+ });
646
+ };
647
+ const runTool = async (tool, args, toolCallId) => {
648
+ let toolResult;
649
+ try {
650
+ toolResult = await Tool.executeTool(tool, this.context, args, {
651
+ toolCallId
652
+ });
850
653
  }
851
654
  catch (e) {
852
- log.error("Step failed", { stepId: this.step.id, error: String(e) });
853
- this.generationFailures++;
854
- if (this.generationFailures >= 3)
855
- throw e;
856
- message = {
857
- role: "assistant",
858
- content: `Error generating message: ${e}`
859
- };
655
+ return JSON.stringify({ error: String(e) });
656
+ }
657
+ // A view-image-style result carries pixels the model asked for. Forward
658
+ // them as a user image message (generateLoop splits a MessageContent[]
659
+ // result into a light tool note + the image); the note stays in history.
660
+ const injected = extractInjectableImages(toolResult);
661
+ if (injected) {
662
+ toolResult = stripImagePayload(toolResult);
663
+ }
664
+ const resultStr = this.serializeToolResultForHistory(toolResult, tool.name);
665
+ if (injected) {
666
+ return [{ type: "text", text: resultStr }, ...injected.images];
860
667
  }
861
- // Filter tool calls for current stage
862
- const filteredToolCalls = message.toolCalls
863
- ? this.filterToolCallsForCurrentStage(message.toolCalls)
864
- : [];
865
- message.toolCalls =
866
- filteredToolCalls.length > 0 ? filteredToolCalls : undefined;
867
- // Add assistant message to history
868
- this.history.push(message);
869
- // Process tool calls
870
- if (filteredToolCalls.length > 0) {
871
- // Check for finish_step tool call first
872
- const finishStepCall = filteredToolCalls.find((tc) => tc.name === "finish_step");
873
- if (finishStepCall && this.finishStepTool) {
874
- // Yield tool call update
668
+ return resultStr;
669
+ };
670
+ const providerTools = this.tools.map((tool) => {
671
+ if (tool === this.finishStepTool) {
672
+ return { ...tool.toProviderTool(), execute: finishStepExecute };
673
+ }
674
+ return {
675
+ ...tool.toProviderTool(),
676
+ execute: (args, toolCallId) => runTool(tool, args, toolCallId)
677
+ };
678
+ });
679
+ try {
680
+ const stream = this.provider.generateLoop({
681
+ messages: this.history,
682
+ model: this.model,
683
+ tools: providerTools.length > 0 ? providerTools : undefined,
684
+ threadId: this.threadId,
685
+ maxIterations: this.maxIterations,
686
+ maxTokens: this.maxTokens,
687
+ sequentialTools: true,
688
+ turnBudget: this.turnBudget,
689
+ resolveMedia: mediaResolverFor(this.context),
690
+ signal: abort.signal
691
+ });
692
+ for await (const item of stream) {
693
+ if (isToolCall(item)) {
875
694
  yield {
876
695
  type: "tool_call_update",
877
696
  node_id: this.step.id,
878
- name: finishStepCall.name,
879
- args: finishStepCall.args,
880
- message: this.generateToolCallMessage(finishStepCall)
697
+ tool_call_id: item.id,
698
+ name: item.name,
699
+ args: item.args,
700
+ message: this.generateToolCallMessage(item)
881
701
  };
882
- // Extract and validate result
883
- const resultPayload = finishStepCall.args?.["result"] ?? finishStepCall.args;
884
- if (resultPayload !== undefined && resultPayload !== null) {
885
- const [isValid, errorDetail, normalizedResult] = this.validateResultPayload(resultPayload);
886
- if (isValid &&
887
- normalizedResult !== null &&
888
- normalizedResult !== undefined) {
889
- // Add tool result to history
890
- this.history.push({
891
- role: "tool",
892
- toolCallId: finishStepCall.id,
893
- content: '{"status": "completed"}'
894
- });
895
- await this.storeCompletionResult(normalizedResult);
896
- log.debug("Step completed", { stepId: this.step.id });
897
- yield {
898
- type: "task_update",
899
- node_id: this.step.id,
900
- task: { id: this.task.id, title: this.task.title },
901
- step: {
902
- id: this.step.id,
903
- instructions: this.step.instructions
904
- },
905
- event: TaskUpdateEvent.StepCompleted
906
- };
907
- yield {
908
- type: "step_result",
909
- step: {
910
- id: this.step.id,
911
- instructions: this.step.instructions
912
- },
913
- result: normalizedResult,
914
- is_task_result: this.useFinishTask
915
- };
916
- break;
917
- }
918
- else {
919
- // Invalid result - add feedback and continue loop
920
- this.history.push({
921
- role: "tool",
922
- toolCallId: finishStepCall.id,
923
- content: JSON.stringify({
924
- error: `Result validation failed: ${errorDetail}`
925
- })
926
- });
927
- this.appendCompletionFeedback(errorDetail ?? "Result failed schema validation.", resultPayload);
928
- }
929
- }
930
- else {
931
- this.history.push({
932
- role: "tool",
933
- toolCallId: finishStepCall.id,
934
- content: '{"error": "Missing result in finish_step call"}'
935
- });
936
- }
702
+ yield* ui.drain();
703
+ continue;
937
704
  }
938
- else {
939
- // Process non-finish_step tool calls
940
- const regularToolCalls = filteredToolCalls.filter((tc) => tc.name !== "finish_step");
941
- // Yield tool call updates
942
- for (const tc of regularToolCalls) {
705
+ if (isChunk(item)) {
706
+ if (isNonEmptyString(item.content)) {
943
707
  yield {
944
- type: "tool_call_update",
708
+ type: "chunk",
945
709
  node_id: this.step.id,
946
- name: tc.name,
947
- args: tc.args,
948
- message: this.generateToolCallMessage(tc)
710
+ content: item.content,
711
+ done: false
949
712
  };
950
713
  }
951
- const toolNamesStr = regularToolCalls.map((tc) => tc.name).join(", ");
952
- // Standard execution path: run tools ourselves and add results to history
953
- yield {
954
- type: "log_update",
955
- node_id: this.step.id,
956
- node_name: `Step: ${this.step.id}`,
957
- content: `Executing tools: ${toolNamesStr}...`,
958
- severity: "info"
959
- };
960
- // Execute tool calls in parallel
961
- const toolResults = await Promise.allSettled(regularToolCalls.map(async (tc) => {
962
- const tool = this.tools.find((t) => t.name === tc.name);
963
- if (!tool)
964
- return { error: `Unknown tool: ${tc.name}` };
965
- // Intercept ControlNodeTool: create event instead of calling process()
966
- if (tool instanceof ControlNodeTool) {
967
- const event = tool.createControlEvent(tc.args ?? {});
968
- this._controlEvents.push({
969
- targetNodeId: tool.targetNodeId,
970
- event
971
- });
972
- return tool.userMessage(tc.args ?? {});
973
- }
974
- try {
975
- const result = await tool.process(this.context, tc.args ?? {});
976
- return result;
977
- }
978
- catch (e) {
979
- return { error: String(e) };
980
- }
981
- }));
982
- // Add tool results to history
983
- for (let i = 0; i < regularToolCalls.length; i++) {
984
- const tc = regularToolCalls[i];
985
- const settledResult = toolResults[i];
986
- let toolResult;
987
- if (settledResult.status === "fulfilled") {
988
- toolResult = settledResult.value;
989
- }
990
- else {
991
- toolResult = {
992
- error: `Tool execution failed: ${settledResult.reason}`
993
- };
994
- }
995
- // Save base64 binary artifacts (images, audio) to workspace files
996
- toolResult = await this.handleBinaryArtifact(toolResult);
997
- toolResult = await this.capturePersistentSandboxOutputs(tc.name, tc.args, toolResult);
998
- // Track browser URLs for source lineage (from args and results)
999
- if (tc.name === "browser" && tc.args?.["url"]) {
1000
- const url = String(tc.args["url"]);
1001
- if (!this.sourcesSet.has(url)) {
1002
- this.sources.push(url);
1003
- this.sourcesSet.add(url);
1004
- }
1005
- }
1006
- this.trackToolSideEffects(tc.name, toolResult);
1007
- const resultStr = this.serializeToolResultForHistory(toolResult, tc.name);
1008
- this.history.push({
1009
- role: "tool",
1010
- toolCallId: tc.id,
1011
- content: resultStr
1012
- });
714
+ yield* ui.drain();
715
+ continue;
716
+ }
717
+ if ("type" in item && item.type === "message") {
718
+ const m = item.message;
719
+ if (m && m.role === "assistant") {
720
+ // One assistant message per provider turn — this is the iteration
721
+ // count the failure path reports.
722
+ this.iterations++;
723
+ lastAssistant = isString(m.content)
724
+ ? { ...m, content: removeThinkTags(m.content) }
725
+ : m;
1013
726
  }
1014
- yield {
1015
- type: "log_update",
1016
- node_id: this.step.id,
1017
- node_name: `Step: ${this.step.id}`,
1018
- content: `Completed tool execution: ${toolNamesStr}.`,
1019
- severity: "info"
1020
- };
1021
727
  }
728
+ yield* ui.drain();
1022
729
  }
1023
- // Try to finalize from message content (inline JSON completion).
1024
- if (!this.step.completed) {
1025
- const [completed, normalizedResult] = this.maybeFinalizeFromMessage(message);
1026
- if (completed &&
1027
- normalizedResult !== null &&
1028
- normalizedResult !== undefined) {
1029
- await this.storeCompletionResult(normalizedResult);
1030
- yield {
1031
- type: "task_update",
1032
- node_id: this.step.id,
1033
- task: { id: this.task.id, title: this.task.title },
1034
- step: { id: this.step.id, instructions: this.step.instructions },
1035
- event: TaskUpdateEvent.StepCompleted
1036
- };
1037
- yield {
1038
- type: "step_result",
1039
- step: { id: this.step.id, instructions: this.step.instructions },
1040
- result: normalizedResult,
1041
- is_task_result: this.useFinishTask
1042
- };
1043
- break;
1044
- }
730
+ }
731
+ catch (e) {
732
+ generationError = e instanceof Error ? e : new Error(String(e));
733
+ log.error("Step generation failed", {
734
+ stepId: this.step.id,
735
+ error: generationError.message
736
+ });
737
+ }
738
+ finally {
739
+ unlinkAbort();
740
+ }
741
+ yield* ui.drain();
742
+ // Unstructured steps finalize from the final assistant text (no finish_step).
743
+ if (!this.step.completed) {
744
+ const [done, normalizedResult] = this.maybeFinalizeFromMessage(lastAssistant);
745
+ if (done && normalizedResult !== null && normalizedResult !== undefined) {
746
+ emitCompletion(normalizedResult);
747
+ yield* ui.drain();
1045
748
  }
1046
749
  }
1047
- // If we exhausted iterations without completing, yield a failure event
1048
- // and a step_result so downstream steps see an explicit error rather than undefined.
750
+ // If we didn't complete, yield a failure event and a step_result so
751
+ // downstream steps see an explicit error rather than undefined. Each
752
+ // terminal state gets its own sentence: the provider threw, the iteration
753
+ // budget really ran out, or the model ended its turn without calling
754
+ // `finish_step`. Reporting them all as "exceeded N iterations" pointed the
755
+ // reader at a budget that a two-turn step never came near.
756
+ //
757
+ // A failed step is terminal but NOT completed: `failed`/`error` are set and
758
+ // `completed` stays false, so a scheduler cannot treat the failure as a
759
+ // satisfied dependency. The protocol-level `error` field carries the same
760
+ // cause, so a consumer never has to sniff the result payload for it.
1049
761
  if (!this.step.completed) {
1050
- this.step.completed = true;
1051
762
  this.step.endTime = Date.now();
1052
- const errorResult = {
1053
- error: `Step failed: exceeded ${this.maxIterations} iterations without completion`
1054
- };
763
+ const message = this.acceptanceError
764
+ ? `Step failed: result rejected after ${MAX_REPAIR_ROUNDS} attempts — ${this.acceptanceError}`
765
+ : generationError
766
+ ? `Step failed: ${generationError.message}`
767
+ : this.iterations >= this.maxIterations
768
+ ? `Step failed: exceeded ${this.maxIterations} iterations without completion`
769
+ : this.resultSchema !== null
770
+ ? `Step failed: ended after ${this.iterations} model turn(s) ` +
771
+ `without calling finish_step.${lastProseHint(lastAssistant)}`
772
+ : `Step failed: ended after ${this.iterations} model turn(s) ` +
773
+ `with no final message to use as the result.`;
774
+ this.step.failed = true;
775
+ this.step.error = message;
776
+ const errorResult = { error: message };
1055
777
  this.result = errorResult;
1056
- await this.context.storeStepResult(this.step.id, errorResult);
778
+ this.context.memory.set({
779
+ key: memoryKeys.step(this.step.id),
780
+ kind: "step_result",
781
+ value: errorResult,
782
+ source: this.step.id,
783
+ title: `Failed: ${this.step.instructions.slice(0, 60)}`
784
+ });
1057
785
  yield {
1058
786
  type: "task_update",
1059
787
  node_id: this.step.id,
@@ -1065,6 +793,7 @@ export class StepExecutor {
1065
793
  type: "step_result",
1066
794
  step: { id: this.step.id, instructions: this.step.instructions },
1067
795
  result: errorResult,
796
+ error: message,
1068
797
  is_task_result: this.useFinishTask
1069
798
  };
1070
799
  }
@@ -1075,40 +804,5 @@ export class StepExecutor {
1075
804
  getResult() {
1076
805
  return this.result;
1077
806
  }
1078
- /**
1079
- * Get tracked sources (e.g. browser URLs).
1080
- */
1081
- getSources() {
1082
- return [...this.sources];
1083
- }
1084
- /**
1085
- * Get token usage statistics.
1086
- */
1087
- getTokenUsage() {
1088
- return {
1089
- inputTokensTotal: this.inputTokensTotal,
1090
- outputTokensTotal: this.outputTokensTotal
1091
- };
1092
- }
1093
- /**
1094
- * Get control events emitted during execution (from ControlNodeTool calls).
1095
- * The caller (workflow actor/runner) is responsible for dispatching these.
1096
- */
1097
- getControlEvents() {
1098
- return [...this._controlEvents];
1099
- }
1100
- }
1101
- // ---------------------------------------------------------------------------
1102
- // Helpers to discriminate ProviderStreamItem union members
1103
- // ---------------------------------------------------------------------------
1104
- function isChunk(item) {
1105
- return ("type" in item &&
1106
- item["type"] === "chunk" &&
1107
- typeof item["content"] === "string");
1108
- }
1109
- function isToolCall(item) {
1110
- return ("name" in item &&
1111
- typeof item["name"] === "string" &&
1112
- "id" in item);
1113
807
  }
1114
808
  //# sourceMappingURL=step-executor.js.map