@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
@@ -0,0 +1,1176 @@
1
+ /**
2
+ * CodeActExecutor — executes a single step with JavaScript code as the action
3
+ * space instead of JSON tool calls (Wang et al., ICML 2024, arXiv:2402.01030).
4
+ *
5
+ * The provider sees exactly one tool, `execute_code`. Each call runs the
6
+ * model's program in the QuickJS sandbox where the step's toolbelt is exposed
7
+ * as imported capability modules, and `finish(result)` completes the step
8
+ * (host-validated against the step's output schema). The program's outcome —
9
+ * return value, logs, error — is the observation for the next turn. Results a
10
+ * later action or turn needs go through memory (`nodetool.memory.*`).
11
+ *
12
+ * The message contract (`task_update`, `step_result`, `tool_call_update`,
13
+ * `chunk`), memory writes, and failure semantics are byte-compatible with
14
+ * {@link StepExecutor}, so every consumer works unchanged.
15
+ */
16
+ import { ACTIVE_MODEL_CONTEXT_KEY, isChunk, isProviderStop, isRunBudget, isToolCall, memoryKeys, withAgentSpanGen, withSpan, mediaResolverFor, generationRegistry } from "@nodetool-ai/runtime";
17
+ import { createLogger } from "@nodetool-ai/config";
18
+ import { TaskUpdateEvent } from "@nodetool-ai/protocol";
19
+ import { Tool } from "../tools/base-tool.js";
20
+ import { getSharedTools } from "../tools/shared-tools.js";
21
+ import { runInSandbox } from "../js-sandbox.js";
22
+ import { sandboxCapabilitySpecifier } from "@nodetool-ai/protocol";
23
+ import { capabilityModuleOf } from "../capabilities/registry.js";
24
+ import { graftedModuleFor, mountCapabilityModules } from "./capability-modules.js";
25
+ import { ACTION_TRUNCATION_ADVICE, MAX_ACTION_IMAGES, MAX_ACTION_LOGS_CHARS, MAX_ACTION_RESULT_CHARS, MAX_TOOL_RESULT_CHARS, truncateToolResult } from "../constants.js";
26
+ import { formatViolations, validateAgainstSchema } from "../utils/json-schema-validate.js";
27
+ import { linkAbort } from "../utils/link-abort.js";
28
+ import { lastProseHint } from "../utils/step-failure.js";
29
+ import { createUiEventBuffer } from "../utils/ui-event-buffer.js";
30
+ import { removeThinkTags } from "../utils/think-tags.js";
31
+ import { buildToolBridge, buildCoreProviderTools, splitCoreTools, toolSearchHit, CODEACT_PRELUDE } from "./tool-api.js";
32
+ import { admitCodeAction, EXECUTE_CODE_INPUT_SCHEMA, EXECUTE_CODE_TOOL_NAME, executeCodeMessage } from "./execute-code-contract.js";
33
+ import { searchTools } from "../tools/tool-search.js";
34
+ import { buildCodeActSystemPrompt } from "./prompt.js";
35
+ import { annotateFailure } from "./action-diagnostics.js";
36
+ import { mountActionModules, packagePromptLines, sessionAllowedPackages, withGamePackage } from "./sandbox-packages.js";
37
+ import { SANDBOX_PACKAGE_DOCS_TOOL_NAME, SANDBOX_PACKAGE_LIST_TOOL_NAME, sandboxPackageDocsTool, sandboxPackageListTool } from "../capabilities/packs.js";
38
+ import { GRAPH_DSL_PACKAGE, withGraphDslPackage } from "./graph-dsl-package.js";
39
+ import { FLOW_PACKAGE, withFlowPackage } from "./flow-package.js";
40
+ import { withTimelinePackage } from "./timeline-package.js";
41
+ import { FABRIC_PACKAGE, FABRIC_PROMPT_SECTION, withFabricPackage } from "./fabric-package.js";
42
+ import { GRAPH_MODEL_PRELUDE, GRAPH_MODEL_PROMPT_SECTION, GRAPH_MODEL_TOOL_NAMES, hasGraphModelTools } from "./graph-model.js";
43
+ import { NODETOOL_API_PRELUDE_FULL, buildNodetoolApiPromptSection, hasNodetoolApiTools, nodetoolApiCoveredToolNames } from "./nodetool-api.js";
44
+ import { isFiniteNumber, isNonEmptyString, isObjectLike, isRecord, isString } from "../utils/type-guards.js";
45
+ const log = createLogger("nodetool.agents.codeact");
46
+ /**
47
+ * Code actions batch several tool calls per turn, so the turn budget is
48
+ * deliberately lower than tool mode's 30.
49
+ */
50
+ export const DEFAULT_CODEACT_MAX_ITERATIONS = 20;
51
+ /**
52
+ * Wall-clock limit per code action. Codeact actions await real tools —
53
+ * sub-agents, media generation, background-job waits — so the sandbox's 30 s
54
+ * default kills legitimate work mid-flight (`run_subtask` alone routinely
55
+ * takes a minute). The same value feeds QuickJS's interrupt deadline, so a
56
+ * pure CPU spin can now also run this long — acceptable here because every
57
+ * action is abortable via the run's signal, and tool-awaiting actions are the
58
+ * codeact norm.
59
+ */
60
+ export const DEFAULT_CODEACT_ACTION_TIMEOUT_MS = 600_000;
61
+ /**
62
+ * The sandbox a step action runs in is closed: no bare `fetch` and no secret.
63
+ * The belt is the network — `nodetool.web.*`, `http_request`, the capability
64
+ * imports — and every one of those runs behind the permission gate and the
65
+ * SSRF guard, which a bare `fetch(url)` with a `getSecret(...)` header did
66
+ * not. Same shape the chat session passes.
67
+ */
68
+ export const STEP_ACTION_SANDBOX_LIMITS = {
69
+ maxFetchCalls: 0,
70
+ secretScope: []
71
+ };
72
+ /**
73
+ * Consecutive actions with identical code and an identical error before the
74
+ * observation stops describing the failure and says the program was already
75
+ * run. A model resubmitting the same crashing program otherwise spends the
76
+ * whole iteration budget reading the same error.
77
+ */
78
+ export const REPEATED_ACTION_LIMIT = 2;
79
+ // The `execute_code` contract lives beside the auto-mode admission that reads
80
+ // it (execute-code-contract.ts); re-exported here so every importer keeps its
81
+ // path.
82
+ export { EXECUTE_CODE_INPUT_SCHEMA, EXECUTE_CODE_TOOL_NAME, executeCodeMessage, declaredActionRisk, admitCodeAction, ACTION_RISK_VALUES } from "./execute-code-contract.js";
83
+ /**
84
+ * A string leaf that is a JSON-serialized tool envelope rather than the value
85
+ * itself: it parses to an object carrying an envelope key (status/outputs/
86
+ * result/error) or a key named like the field it sits in. Deliberately
87
+ * narrow — a legitimate JSON-text output rarely nests its own field name or a
88
+ * run envelope.
89
+ */
90
+ function stringifiedEnvelope(value, path) {
91
+ const trimmed = value.trim();
92
+ if (!trimmed.startsWith("{"))
93
+ return false;
94
+ let parsed;
95
+ try {
96
+ parsed = JSON.parse(trimmed);
97
+ }
98
+ catch {
99
+ return false;
100
+ }
101
+ if (!isObjectLike(parsed) || Array.isArray(parsed)) {
102
+ return false;
103
+ }
104
+ const keys = Object.keys(parsed);
105
+ const field = path
106
+ .split(".")
107
+ .pop()
108
+ ?.replace(/\[\d+\]$/, "") ?? "";
109
+ return keys.some((key) => key === "status" ||
110
+ key === "outputs" ||
111
+ key === "result" ||
112
+ key === "error" ||
113
+ key === field);
114
+ }
115
+ /**
116
+ * Paths in a finish() payload whose string values carry the tell-tale
117
+ * `[object Object]` of an unread object coerced to a string, or a
118
+ * JSON-serialized envelope standing in for the value it wraps. A schema
119
+ * cannot catch these — the garbage is still a string — so the finish bridge
120
+ * rejects them and the model repairs the extraction inside the same action.
121
+ */
122
+ export function coercionArtifactPaths(value, path = "result", depth = 0) {
123
+ if (depth > 6)
124
+ return [];
125
+ if (isString(value)) {
126
+ if (value.includes("[object Object]"))
127
+ return [path];
128
+ return stringifiedEnvelope(value, path) ? [path] : [];
129
+ }
130
+ if (Array.isArray(value)) {
131
+ return value.flatMap((entry, i) => coercionArtifactPaths(entry, `${path}[${i}]`, depth + 1));
132
+ }
133
+ if (isObjectLike(value)) {
134
+ return Object.entries(value).flatMap(([key, entry]) => coercionArtifactPaths(entry, `${path}.${key}`, depth + 1));
135
+ }
136
+ return [];
137
+ }
138
+ /**
139
+ * Tools documented in full in the prompt regardless of toolbelt size — the
140
+ * high-traffic set nearly every step reaches for (mirroring the chat
141
+ * runner's resident-toolbelt idea). Everything else is deferred: still
142
+ * callable, but discovered through `searchTools()` first, so a 70-tool belt
143
+ * does not cost 70 signatures of prompt.
144
+ */
145
+ export const CODEACT_RESIDENT_TOOL_NAMES = new Set([
146
+ // Search family — every discovery entry point stays top level.
147
+ "web_search",
148
+ "image_search",
149
+ "run_search",
150
+ "asset_search",
151
+ "grep",
152
+ "glob",
153
+ // Host media binaries.
154
+ "ffmpeg",
155
+ "yt_dlp",
156
+ // Workspace files — the Claude-agent core set (read/write/edit/glob/grep
157
+ // above) stays top level in full.
158
+ "read_file",
159
+ "write_file",
160
+ "edit_file",
161
+ // Shared agent memory.
162
+ "list_shared",
163
+ "read_shared",
164
+ "share_result"
165
+ ]);
166
+ // Not listed: `list_directory`, `browser`, `http_request`, `download_file`,
167
+ // `run_subtask`, `search_nodes`. They are in `DIRECT_TOOL_NAMES` and no SDK
168
+ // built-in replaces them, so every host documents them as direct tools and the
169
+ // coverage pass below removed them from the catalog before the split — a
170
+ // resident entry for them never rendered. The names that stay are covered
171
+ // only conditionally: the file set and `web_search` are subtracted from the
172
+ // direct offer on the MCP mount, and the rest depend on the object model
173
+ // being loaded for the belt.
174
+ /**
175
+ * Toolbelts at or below this size skip the split entirely — deferring three
176
+ * tools saves nothing and costs a discovery round.
177
+ */
178
+ export const CODEACT_DEFER_THRESHOLD = 16;
179
+ /**
180
+ * `result` and `logs` for the envelope, each cut to its own budget. Returns
181
+ * whether either was cut, for the action span.
182
+ */
183
+ function boundActionPayload(result, logs) {
184
+ const out = {
185
+ truncated: false
186
+ };
187
+ if (result !== undefined) {
188
+ const json = JSON.stringify(result);
189
+ if (json !== undefined && json.length > MAX_ACTION_RESULT_CHARS) {
190
+ out.result = truncateToolResult(json, MAX_ACTION_RESULT_CHARS, ACTION_TRUNCATION_ADVICE);
191
+ out.truncated = true;
192
+ }
193
+ else {
194
+ out.result = result;
195
+ }
196
+ }
197
+ if (logs !== undefined && logs.length > 0) {
198
+ const kept = [];
199
+ let chars = 0;
200
+ let whole = 0;
201
+ for (const line of logs) {
202
+ if (chars + line.length > MAX_ACTION_LOGS_CHARS) {
203
+ // A first line larger than the whole budget keeps its head, so the
204
+ // observation shows what was logged rather than nothing.
205
+ if (kept.length === 0)
206
+ kept.push(line.slice(0, MAX_ACTION_LOGS_CHARS));
207
+ break;
208
+ }
209
+ kept.push(line);
210
+ chars += line.length;
211
+ whole++;
212
+ }
213
+ if (whole < logs.length) {
214
+ kept.push(`... [${logs.length - whole} of ${logs.length} log lines omitted past ` +
215
+ `${MAX_ACTION_LOGS_CHARS} characters. Log less: ${ACTION_TRUNCATION_ADVICE}]`);
216
+ out.truncated = true;
217
+ }
218
+ out.logs = kept;
219
+ }
220
+ return out;
221
+ }
222
+ /**
223
+ * Told to the model when a schema'd action returned a value instead of
224
+ * finishing. `finished` was previously absent rather than false, so an
225
+ * observation for the losing move (`return graph`) was byte-identical to one
226
+ * for a step still in progress — nothing in it said the step had not ended.
227
+ */
228
+ const RETURN_IS_NOT_FINISH_NOTE = "This step is NOT finished: a returned value is an observation only. " +
229
+ "Call `await finish(<value>)` inside the action to complete the step.";
230
+ const RETURN_MATCHES_SCHEMA_NOTE = "This step is NOT finished: the value you returned matches the required " +
231
+ "output schema — call finish() on it (`await finish(<that value>)`) inside " +
232
+ "an execute_code action. Nothing else completes the step.";
233
+ /**
234
+ * Sent as a user message when a schema'd step's turn ended in prose. The model
235
+ * that built the right value and then described it is one sentence away from a
236
+ * passing step, and the prose message itself proves it never saw the contract.
237
+ */
238
+ export const FINISH_CONTRACT_NUDGE = "You answered with prose. This step completes only when you call " +
239
+ "`await finish(result)` inside an `execute_code` action. If you already " +
240
+ "built the value, call finish() on it now.";
241
+ /**
242
+ * Re-prompts allowed per step. Bounded because a model that ignores the
243
+ * contract twice is not going to honor it on the third ask, and each nudge is
244
+ * a paid provider round.
245
+ */
246
+ export const MAX_FINISH_NUDGES = 2;
247
+ export class CodeActExecutor {
248
+ task;
249
+ step;
250
+ context;
251
+ provider;
252
+ model;
253
+ /** The sandbox toolbelt: everything the model can import into an action. */
254
+ tools;
255
+ /**
256
+ * The subset also offered to the provider as ordinary tools — see
257
+ * {@link splitCoreTools}. These stay on the belt so code can still compose
258
+ * them; what changes is that the prompt documents them as direct calls.
259
+ */
260
+ coreTools;
261
+ systemPrompt;
262
+ maxIterations;
263
+ maxTokens;
264
+ turnBudget;
265
+ /** The same budget when it carries the run's deadline; otherwise absent. */
266
+ runBudget;
267
+ useFinishTask;
268
+ threadId;
269
+ upstreamMemoryKeys;
270
+ signal;
271
+ actionTimeoutMs;
272
+ clock;
273
+ maxToolCallsPerAction;
274
+ resultSchema;
275
+ residentTools;
276
+ deferredTools;
277
+ /** Namespace → the belt names grafted onto it for this step. */
278
+ sessionModuleExports;
279
+ /** Belt name → the specifier the prompt tells the model to import from. */
280
+ graftedSpecifiers;
281
+ /** Guest prelude for each action: tool wrappers + the object models. */
282
+ prelude;
283
+ /** Specifiers this session's actions may import (flag-gated, may be empty). */
284
+ sandboxPackages;
285
+ /** Whether the graph DSL pack is among them — the prompt section turns on it. */
286
+ withGraphDsl;
287
+ withFlow;
288
+ withFabric;
289
+ /** The run whose capability modules an action may import, when a host has one. */
290
+ capabilityRun;
291
+ /**
292
+ * Uncommitted graph-model op queues, carried across actions of the step.
293
+ * Internal plumbing for `openWorkflow()` — not a guest-facing contract;
294
+ * durable results belong in memory (`nodetool.memory.*`).
295
+ */
296
+ graphQueues = {};
297
+ result = null;
298
+ actionCount = 0;
299
+ /** The last failed action, for {@link REPEATED_ACTION_LIMIT}. */
300
+ lastFailure = null;
301
+ repeatedFailures = 0;
302
+ constructor(opts) {
303
+ this.task = opts.task;
304
+ this.step = opts.step;
305
+ this.context = opts.context;
306
+ this.provider = opts.provider;
307
+ this.model = opts.model;
308
+ this.tools = opts.tools ? [...opts.tools] : [];
309
+ this.maxIterations = opts.maxIterations ?? DEFAULT_CODEACT_MAX_ITERATIONS;
310
+ this.maxTokens = opts.maxTokens;
311
+ this.turnBudget = opts.turnBudget;
312
+ if (isRunBudget(opts.turnBudget))
313
+ this.runBudget = opts.turnBudget;
314
+ this.useFinishTask = opts.useFinishTask ?? false;
315
+ this.threadId = opts.threadId;
316
+ this.upstreamMemoryKeys = opts.upstreamMemoryKeys ?? [];
317
+ this.signal = opts.signal;
318
+ this.actionTimeoutMs = opts.actionTimeoutMs;
319
+ this.clock = opts.clock;
320
+ this.maxToolCallsPerAction = opts.maxToolCallsPerAction;
321
+ this.sandboxPackages = sessionAllowedPackages(opts.sandboxPackages);
322
+ this.capabilityRun = opts.capabilityRun;
323
+ // Memory tools ride in the toolbelt as functions like everything else.
324
+ const existing = new Set(this.tools.map((t) => t.name));
325
+ for (const sharedTool of getSharedTools()) {
326
+ if (!existing.has(sharedTool.name))
327
+ this.tools.push(sharedTool);
328
+ }
329
+ // Authoring a graph is a package, not a builder: a belt that can save,
330
+ // validate and run a workflow gets the DSL pack on its allowlist, provided
331
+ // this machine installed it.
332
+ this.sandboxPackages = withTimelinePackage(withGamePackage(withFlowPackage(withFabricPackage(withGraphDslPackage(this.sandboxPackages, this.tools.map((t) => t.name), this.context.sandboxModuleCatalog), this.context.sandboxModuleCatalog), this.context.sandboxModuleCatalog), this.tools.map((t) => t.name), this.context.sandboxModuleCatalog), this.context.sandboxModuleCatalog);
333
+ this.withGraphDsl = this.sandboxPackages.includes(GRAPH_DSL_PACKAGE);
334
+ this.withFlow = this.sandboxPackages.includes(FLOW_PACKAGE);
335
+ this.withFabric = this.sandboxPackages.includes(FABRIC_PACKAGE);
336
+ // A session that allows packages can read what they document. The prompt
337
+ // carries one line per package; the body is fetched, never injected.
338
+ if (this.sandboxPackages.length > 0) {
339
+ const docsTool = sandboxPackageDocsTool(this.sandboxPackages, this.context.sandboxModuleCatalog);
340
+ if (!existing.has(docsTool.name))
341
+ this.tools.push(docsTool);
342
+ }
343
+ const hasPackageDocsTool = this.tools.some((t) => t.name === SANDBOX_PACKAGE_DOCS_TOOL_NAME);
344
+ // Discovery covers what the allowlist does not: a pack installed here but
345
+ // not allowed is listed as such, so the model reports it instead of writing
346
+ // an import that gets refused.
347
+ if (this.sandboxPackages.length > 0 ||
348
+ (this.context.sandboxModuleCatalog?.summaries().length ?? 0) > 0) {
349
+ const listTool = sandboxPackageListTool(this.sandboxPackages, this.context.sandboxModuleCatalog, this.capabilityRun !== undefined);
350
+ if (!existing.has(listTool.name))
351
+ this.tools.push(listTool);
352
+ }
353
+ const hasPackageListTool = this.tools.some((t) => t.name === SANDBOX_PACKAGE_LIST_TOOL_NAME);
354
+ // The core set is offered to the provider as ordinary tools as well.
355
+ this.coreTools = splitCoreTools(this.tools).core;
356
+ const toolNames = this.tools.map((t) => t.name);
357
+ const withGraphModel = hasGraphModelTools(toolNames);
358
+ const withNodetoolApi = hasNodetoolApiTools(toolNames);
359
+ // Tools an object model wraps are documented once, as `nodetool.*` /
360
+ // `openWorkflow()` — not again as raw signatures in the catalog. They
361
+ // stay callable through the bridge (and findable via searchTools).
362
+ const covered = new Set();
363
+ if (withNodetoolApi) {
364
+ for (const name of nodetoolApiCoveredToolNames(toolNames)) {
365
+ covered.add(name);
366
+ }
367
+ }
368
+ if (withGraphModel) {
369
+ for (const name of GRAPH_MODEL_TOOL_NAMES)
370
+ covered.add(name);
371
+ }
372
+ // Same rule for the core set, one level up: it is documented as direct
373
+ // tools, so the catalog does not repeat it as a raw signature. The
374
+ // bridge still reaches it, which is what keeps `nodetool.web`,
375
+ // `nodetool.agents` and any hand-written fan-out composable in one action.
376
+ for (const tool of this.coreTools)
377
+ covered.add(tool.name);
378
+ const catalogTools = this.tools.filter((t) => !covered.has(t.name));
379
+ // Progressive disclosure: resident tools are documented in full; the
380
+ // long tail is name-only in the prompt and discovered via searchTools().
381
+ // Every tool stays callable either way — the split spends prompt tokens,
382
+ // not capability.
383
+ const residentNames = new Set(opts.residentToolNames ?? CODEACT_RESIDENT_TOOL_NAMES);
384
+ if (catalogTools.length <= CODEACT_DEFER_THRESHOLD) {
385
+ this.residentTools = [...catalogTools];
386
+ this.deferredTools = [];
387
+ }
388
+ else {
389
+ this.residentTools = catalogTools.filter((t) => residentNames.has(t.name));
390
+ this.deferredTools = catalogTools.filter((t) => !residentNames.has(t.name));
391
+ }
392
+ const nodetoolApiSection = withNodetoolApi
393
+ ? buildNodetoolApiPromptSection(toolNames, {
394
+ graphDsl: this.withGraphDsl,
395
+ nativeFlow: this.withFlow
396
+ })
397
+ : "";
398
+ const extraSections = [];
399
+ if (withGraphModel)
400
+ extraSections.push(GRAPH_MODEL_PROMPT_SECTION);
401
+ if (nodetoolApiSection)
402
+ extraSections.push(nodetoolApiSection);
403
+ if (this.withFabric)
404
+ extraSections.push(FABRIC_PROMPT_SECTION);
405
+ const preludeParts = [CODEACT_PRELUDE];
406
+ if (withGraphModel)
407
+ preludeParts.push(GRAPH_MODEL_PRELUDE);
408
+ // Always: `nodetool` carries tool discovery and package discovery, which a
409
+ // belt with no platform tools still needs. Every method whose tool is
410
+ // missing throws and names it, so an empty belt degrades to that.
411
+ preludeParts.push(NODETOOL_API_PRELUDE_FULL);
412
+ this.prelude = preludeParts.join("\n");
413
+ // What this step's belt makes importable, and from where.
414
+ //
415
+ // A name a capability module owns is grafted onto that namespace: with no
416
+ // capability run there is nothing else to serve the import, and with one
417
+ // the registry's own export wins, so the graft only ever adds reach. A
418
+ // name no module owns — a tool a step or an eval constructed at its call
419
+ // site — goes under `session`. Retiring the `tools` global would otherwise
420
+ // have taken the reach of both with it.
421
+ this.sessionModuleExports = new Map();
422
+ this.graftedSpecifiers = new Map();
423
+ for (const tool of this.tools) {
424
+ const module = capabilityModuleOf(tool.name) ?? graftedModuleFor(tool.name);
425
+ this.graftedSpecifiers.set(tool.name, sandboxCapabilitySpecifier(module));
426
+ const names = this.sessionModuleExports.get(module);
427
+ if (names === undefined)
428
+ this.sessionModuleExports.set(module, [tool.name]);
429
+ else
430
+ names.push(tool.name);
431
+ }
432
+ this.resultSchema = this.loadResultSchema();
433
+ this.systemPrompt = buildCodeActSystemPrompt({
434
+ tools: this.residentTools,
435
+ deferredTools: this.deferredTools,
436
+ graftedSpecifiers: this.graftedSpecifiers,
437
+ resultSchema: this.resultSchema,
438
+ preamble: opts.systemPrompt,
439
+ directToolNames: this.coreTools.map((t) => t.name),
440
+ extraSections,
441
+ packageLines: packagePromptLines(this.sandboxPackages, this.context.sandboxModuleCatalog),
442
+ packageDocsTool: hasPackageDocsTool,
443
+ packageListTool: hasPackageListTool
444
+ });
445
+ }
446
+ getResult() {
447
+ return this.result;
448
+ }
449
+ async *execute() {
450
+ yield* withAgentSpanGen("step", {
451
+ provider: this.provider.provider,
452
+ model: this.model,
453
+ task: this.step.instructions,
454
+ toolsCount: this.tools.length,
455
+ extra: {
456
+ "agent.step.id": this.step.id,
457
+ "agent.task.id": this.task.id,
458
+ "agent.step.mode": "codeact"
459
+ }
460
+ }, () => this._executeImpl());
461
+ }
462
+ async *_executeImpl() {
463
+ log.debug("CodeAct step started", {
464
+ stepId: this.step.id,
465
+ instructions: this.step.instructions.slice(0, 60)
466
+ });
467
+ this.context.set(ACTIVE_MODEL_CONTEXT_KEY, {
468
+ provider: this.provider.provider,
469
+ model: this.model
470
+ });
471
+ const history = [
472
+ { role: "system", content: this.systemPrompt },
473
+ { role: "user", content: this.buildUserMessage() }
474
+ ];
475
+ this.step.startTime = Date.now();
476
+ yield this.taskUpdate(TaskUpdateEvent.StepStarted);
477
+ const abort = new AbortController();
478
+ const unlinkAbort = linkAbort(abort, this.signal);
479
+ const ui = createUiEventBuffer();
480
+ let lastAssistant = null;
481
+ let generationError = null;
482
+ let finishedResult = null;
483
+ const toolsByName = new Map(this.tools.map((t) => [t.name, t]));
484
+ const onToolCall = (record) => {
485
+ const tool = toolsByName.get(record.name);
486
+ ui.push({
487
+ type: "tool_call_update",
488
+ node_id: this.step.id,
489
+ tool_call_id: record.toolCallId,
490
+ name: record.name,
491
+ args: record.args,
492
+ message: tool
493
+ ? Tool.resolveMessage(tool, record.args)
494
+ : `Running ${record.name}`
495
+ });
496
+ };
497
+ // What the call returned, so a rendered tool row can show its result the
498
+ // way the chat's own tool messages do. `tool_result_update.result` is a
499
+ // record, so a scalar return travels wrapped.
500
+ const onToolResult = (record) => {
501
+ ui.push({
502
+ type: "tool_result_update",
503
+ node_id: this.step.id,
504
+ tool_call_id: record.toolCallId,
505
+ name: record.name,
506
+ is_error: record.isError,
507
+ result: isRecord(record.result)
508
+ ? record.result
509
+ : { result: record.result }
510
+ });
511
+ };
512
+ const bridge = buildToolBridge({
513
+ tools: this.tools,
514
+ context: this.context,
515
+ onToolCall,
516
+ onToolResult,
517
+ maxToolCallsPerAction: this.maxToolCallsPerAction
518
+ });
519
+ // The run's wall clock, when the host gave this step one. A step that has
520
+ // run out of time must stop where it is: an expired deadline aborts the
521
+ // controller the provider loop and the action's sandbox both run on, and
522
+ // the stop is remembered here so the step fails naming the deadline rather
523
+ // than the abort it caused (invariant I-3).
524
+ let deadlineStop = null;
525
+ const stopIfPastDeadline = () => {
526
+ const budget = this.runBudget;
527
+ if (!budget || !budget.deadline.expired())
528
+ return null;
529
+ if (!deadlineStop) {
530
+ const exhausted = budget.exhausted;
531
+ deadlineStop = {
532
+ type: "stop",
533
+ reason: "deadline",
534
+ detail: exhausted?.kind === "deadline"
535
+ ? exhausted.detail
536
+ : "the run deadline passed"
537
+ };
538
+ }
539
+ abort.abort();
540
+ return deadlineStop;
541
+ };
542
+ // `__callTool` serves the graft as well as the belt, so gating is
543
+ // unchanged on either path.
544
+ const bridgedCall = bridge.globals["__callTool"];
545
+ const callBeltTool = async (name, argsJson) => {
546
+ const expired = stopIfPastDeadline();
547
+ if (expired)
548
+ return { ok: false, error: expired.detail };
549
+ return bridgedCall(name, argsJson);
550
+ };
551
+ // The guest reaches tools through this global, so the check covers every
552
+ // bridged call an action makes, not just the ones the host initiates.
553
+ bridge.globals["__callTool"] = callBeltTool;
554
+ const finishBridge = async (resultJson) => {
555
+ let payload = null;
556
+ if (isString(resultJson)) {
557
+ try {
558
+ payload = JSON.parse(resultJson);
559
+ }
560
+ catch {
561
+ return {
562
+ ok: false,
563
+ error: "finish: result must be JSON-serializable"
564
+ };
565
+ }
566
+ }
567
+ if (payload === null || payload === undefined) {
568
+ return { ok: false, error: "finish: missing result" };
569
+ }
570
+ if (this.resultSchema) {
571
+ const violations = validateAgainstSchema(payload, this.resultSchema);
572
+ if (violations.length > 0) {
573
+ return {
574
+ ok: false,
575
+ error: `Result validation failed: ${formatViolations(violations)}`
576
+ };
577
+ }
578
+ }
579
+ // A schema checks types, not truth — but "[object Object]" is always an
580
+ // unread object coerced to a string. Reject it here so the catch-around-
581
+ // finish repair loop fixes the extraction inside the same action.
582
+ const artifacts = coercionArtifactPaths(payload);
583
+ if (artifacts.length > 0) {
584
+ return {
585
+ ok: false,
586
+ error: `finish: ${artifacts.join(", ")} holds a coerced or serialized ` +
587
+ `object instead of the value itself. Log the raw value ` +
588
+ `(console.log(JSON.stringify(...))) and extract the actual field ` +
589
+ `— never String() or JSON.stringify() an envelope into a string ` +
590
+ `field.`
591
+ };
592
+ }
593
+ finishedResult = { value: payload };
594
+ return { ok: true };
595
+ };
596
+ // Discovery over the FULL toolbelt (resident hits included, so a
597
+ // redundant query still answers instead of coming back empty).
598
+ const searchCatalog = this.tools.map((t) => ({
599
+ name: t.name,
600
+ description: t.description
601
+ }));
602
+ const searchToolsBridge = async (query, maxResults) => {
603
+ try {
604
+ const limit = isFiniteNumber(maxResults)
605
+ ? Math.max(1, Math.min(25, Math.floor(maxResults)))
606
+ : 5;
607
+ const byName = new Map(this.tools.map((t) => [t.name, t]));
608
+ const hits = searchTools(searchCatalog, String(query ?? ""), limit).map((entry) => toolSearchHit(byName.get(entry.name), capabilityModuleOf(entry.name) ?? graftedModuleFor(entry.name)));
609
+ return { ok: true, result: hits };
610
+ }
611
+ catch (e) {
612
+ return { ok: false, error: e instanceof Error ? e.message : String(e) };
613
+ }
614
+ };
615
+ const sessionModules = [...this.sessionModuleExports.entries()].map(([module, exports]) => ({
616
+ module,
617
+ exports,
618
+ call: async (name, args) => {
619
+ const r = await callBeltTool(name, JSON.stringify(args ?? {}));
620
+ if (r.ok !== true)
621
+ throw new Error(r.error);
622
+ return r.result;
623
+ }
624
+ }));
625
+ const executeAction = async (args) => {
626
+ const expired = stopIfPastDeadline();
627
+ if (expired) {
628
+ return JSON.stringify({
629
+ ok: false,
630
+ error: expired.detail,
631
+ toolCalls: 0
632
+ });
633
+ }
634
+ const code = isString(args?.["code"]) ? args["code"] : "";
635
+ if (!code.trim()) {
636
+ return JSON.stringify({
637
+ ok: false,
638
+ error: "execute_code: `code` must be a non-empty string",
639
+ toolCalls: 0
640
+ });
641
+ }
642
+ // Auto mode's one question, asked before the program runs.
643
+ const admission = await admitCodeAction(this.capabilityRun?.gate, args);
644
+ if (!admission.allowed) {
645
+ return JSON.stringify({
646
+ ok: false,
647
+ error: admission.error,
648
+ toolCalls: 0
649
+ });
650
+ }
651
+ const mountOptions = {};
652
+ if (this.signal !== undefined)
653
+ mountOptions.signal = this.signal;
654
+ if (sessionModules.length > 0)
655
+ mountOptions.session = sessionModules;
656
+ const platform = await mountCapabilityModules(code, this.capabilityRun, mountOptions);
657
+ if (!platform.ok) {
658
+ return JSON.stringify({
659
+ ok: false,
660
+ error: platform.error,
661
+ toolCalls: 0
662
+ });
663
+ }
664
+ const mount = mountActionModules(code, this.sandboxPackages, this.context.sandboxModuleCatalog, new Set(platform.mount?.facades.keys() ?? []));
665
+ if (!mount.ok) {
666
+ return JSON.stringify({
667
+ ok: false,
668
+ error: mount.error,
669
+ toolCalls: 0
670
+ });
671
+ }
672
+ this.actionCount++;
673
+ bridge.resetActionBudget();
674
+ // One span per action; bridged calls inside it are not spanned.
675
+ return withSpan("agent.action", {
676
+ "agent.step.id": this.step.id,
677
+ "agent.action.index": this.actionCount,
678
+ "agent.action.code_length": code.length
679
+ }, async (span) => {
680
+ const startedAt = Date.now();
681
+ const outcome = await runInSandbox({
682
+ code: `${this.prelude}\n${code}`,
683
+ context: this.context,
684
+ timeoutMs: this.actionTimeoutMs ?? DEFAULT_CODEACT_ACTION_TIMEOUT_MS,
685
+ // The linked controller, not the caller's raw signal: it fires
686
+ // for the caller's cancellation *and* for a deadline that expires
687
+ // mid-action, which is the only way an in-flight program is
688
+ // stopped.
689
+ signal: abort.signal,
690
+ clock: this.clock,
691
+ limits: STEP_ACTION_SANDBOX_LIMITS,
692
+ modules: mount.modules,
693
+ capabilities: platform.mount,
694
+ globals: {
695
+ ...bridge.globals,
696
+ __finish: finishBridge,
697
+ __searchTools: searchToolsBridge,
698
+ __graphQueues: this.graphQueues
699
+ }
700
+ });
701
+ const failure = outcome.success
702
+ ? null
703
+ : annotateFailure(outcome.error, outcome.stack, this.prelude, code);
704
+ // A validated finish() completes the step even when the action
705
+ // crashed after recording it — the model cannot retract a validated
706
+ // result.
707
+ let finished;
708
+ let note;
709
+ if (finishedResult) {
710
+ finished = true;
711
+ this.storeCompletionResult(finishedResult.value);
712
+ ui.push(this.taskUpdate(TaskUpdateEvent.StepCompleted));
713
+ ui.push(this.stepResult(finishedResult.value));
714
+ abort.abort();
715
+ }
716
+ else if (this.resultSchema !== null &&
717
+ outcome.success &&
718
+ outcome.result !== undefined &&
719
+ outcome.result !== null) {
720
+ // The action produced a value and ended the turn without
721
+ // finishing. Say so in the observation: an absent `finished`
722
+ // reads as success.
723
+ finished = false;
724
+ note =
725
+ validateAgainstSchema(outcome.result, this.resultSchema)
726
+ .length === 0
727
+ ? RETURN_MATCHES_SCHEMA_NOTE
728
+ : RETURN_IS_NOT_FINISH_NOTE;
729
+ }
730
+ // The same program failing the same way twice in a row: say so
731
+ // instead of describing the failure a second time.
732
+ let repeated = false;
733
+ if (failure !== null) {
734
+ const error = failure.error ?? "";
735
+ const trimmed = code.trim();
736
+ if (this.lastFailure !== null &&
737
+ this.lastFailure.code === trimmed &&
738
+ this.lastFailure.error === error) {
739
+ this.repeatedFailures++;
740
+ }
741
+ else {
742
+ this.repeatedFailures = 1;
743
+ }
744
+ this.lastFailure = { code: trimmed, error };
745
+ repeated = this.repeatedFailures >= REPEATED_ACTION_LIMIT;
746
+ }
747
+ else {
748
+ this.lastFailure = null;
749
+ this.repeatedFailures = 0;
750
+ }
751
+ // Pixels a tool returned during the action ride beside the
752
+ // observation as a provider image message; the observation itself
753
+ // stays light.
754
+ const { images, dropped } = bridge.drainImages();
755
+ const payload = repeated
756
+ ? { truncated: false }
757
+ : boundActionPayload(outcome.result, outcome.logs);
758
+ // Field order is the truncation order: the small leading fields
759
+ // must survive a cut that lands in `result` or `logs`.
760
+ const observation = {
761
+ ok: outcome.success,
762
+ toolCalls: 0
763
+ };
764
+ if (finished !== undefined) {
765
+ observation.finished = finished;
766
+ }
767
+ if (note !== undefined) {
768
+ observation.note = note;
769
+ }
770
+ if (repeated) {
771
+ observation.error =
772
+ `This exact program was already run ${this.repeatedFailures} ` +
773
+ `times in a row and failed the same way each time: ` +
774
+ `${failure?.error ?? ""}. Do not resubmit it unchanged. ` +
775
+ `Change the code or the approach, or finish with what ` +
776
+ `you have and explain what could not be done.`;
777
+ observation.repeated = true;
778
+ }
779
+ else if (failure) {
780
+ if (failure.error !== undefined) {
781
+ observation.error = failure.error;
782
+ }
783
+ if (failure.stack !== undefined) {
784
+ observation.stack = failure.stack;
785
+ }
786
+ }
787
+ if (dropped > 0) {
788
+ observation.imagesDropped =
789
+ `${dropped} image(s) beyond the ${MAX_ACTION_IMAGES}-per-action ` +
790
+ `cap were not forwarded. View fewer images per action.`;
791
+ }
792
+ // `toolCalls` was created first to hold the key slot ahead of
793
+ // `result` and `logs`; the count is known only now.
794
+ observation.toolCalls = bridge.callCount();
795
+ if (payload.result !== undefined) {
796
+ observation.result = payload.result;
797
+ }
798
+ if (payload.logs !== undefined) {
799
+ observation.logs = payload.logs;
800
+ }
801
+ // The leading fields are first and the two big ones are already
802
+ // bounded, so this only ever trims an oversized error text.
803
+ const text = truncateToolResult(JSON.stringify(observation), MAX_TOOL_RESULT_CHARS, ACTION_TRUNCATION_ADVICE);
804
+ span?.setAttributes({
805
+ "agent.action.duration_ms": Date.now() - startedAt,
806
+ "agent.action.tool_calls": observation.toolCalls,
807
+ "agent.action.ok": outcome.success,
808
+ "agent.action.truncated": payload.truncated || text.length > MAX_TOOL_RESULT_CHARS
809
+ });
810
+ if (observation.error !== undefined) {
811
+ span?.setAttributes({
812
+ "agent.action.error": observation.error.slice(0, 500)
813
+ });
814
+ }
815
+ return images.length > 0
816
+ ? [{ type: "text", text }, ...images]
817
+ : text;
818
+ });
819
+ };
820
+ const providerTools = [
821
+ {
822
+ name: EXECUTE_CODE_TOOL_NAME,
823
+ description: "Execute a JavaScript action in the sandbox. The observation " +
824
+ "(return value, logs, error) is the tool result.",
825
+ inputSchema: EXECUTE_CODE_INPUT_SCHEMA,
826
+ execute: (args) => executeAction(args)
827
+ },
828
+ // No `onToolCall` here: a top-level call already arrives as a ToolCall
829
+ // item on the provider stream, which the loop below reports. Only the
830
+ // sandbox's bridged calls need the extra hook.
831
+ ...buildCoreProviderTools({
832
+ tools: this.coreTools,
833
+ context: this.context
834
+ })
835
+ ];
836
+ // Whether the last generation round used up its iteration budget, as
837
+ // opposed to the model ending its turn on its own. Only the first case is
838
+ // "exceeded N iterations"; the loop below distinguishes them.
839
+ let exhaustedIterations = false;
840
+ let nudges = 0;
841
+ // Model turns across every nudge round. `maxIterations` bounds the *step*,
842
+ // so each round is given what is left of it — handing every round the full
843
+ // allowance let MAX_FINISH_NUDGES multiply the ceiling by three.
844
+ let turnsTotal = 0;
845
+ // Why the provider loop stopped, when it was not the model ending its turn.
846
+ let providerStop = null;
847
+ try {
848
+ for (;;) {
849
+ const remainingIterations = this.maxIterations - turnsTotal;
850
+ if (remainingIterations <= 0) {
851
+ // Nothing left to spend on another round, so there is no round to
852
+ // run: `generateLoop` with a non-positive budget makes no turn and
853
+ // would report an iteration stop nobody asked for.
854
+ exhaustedIterations = true;
855
+ break;
856
+ }
857
+ const loopArgs = {
858
+ messages: history,
859
+ model: this.model,
860
+ tools: providerTools,
861
+ threadId: this.threadId,
862
+ maxIterations: remainingIterations,
863
+ maxTokens: this.maxTokens,
864
+ sequentialTools: true,
865
+ workspaceDir: this.context.workspaceDir ?? undefined,
866
+ resolveMedia: mediaResolverFor(this.context),
867
+ signal: abort.signal
868
+ };
869
+ if (this.turnBudget)
870
+ loopArgs.turnBudget = this.turnBudget;
871
+ const stream = this.provider.generateLoop(loopArgs);
872
+ // One assistant message per provider turn, so this counts the round's
873
+ // iterations against the budget the round was given.
874
+ let turnsThisRound = 0;
875
+ // Every finalized message the round produced, in order: the assistant
876
+ // turns and the observations the actions returned. The provider copies
877
+ // the message array, so none of it lands on `history` by itself.
878
+ const roundMessages = [];
879
+ for await (const item of stream) {
880
+ if (isProviderStop(item)) {
881
+ // The loop ran out of something. Recorded rather than yielded: it
882
+ // is what the step's failure message names.
883
+ providerStop = item;
884
+ yield* ui.drain();
885
+ continue;
886
+ }
887
+ if (isToolCall(item)) {
888
+ const coreTool = item.name === EXECUTE_CODE_TOOL_NAME
889
+ ? undefined
890
+ : toolsByName.get(item.name);
891
+ yield {
892
+ type: "tool_call_update",
893
+ node_id: this.step.id,
894
+ tool_call_id: item.id,
895
+ name: item.name,
896
+ args: item.args,
897
+ message: coreTool
898
+ ? Tool.resolveMessage(coreTool, item.args)
899
+ : executeCodeMessage(item.args)
900
+ };
901
+ yield* ui.drain();
902
+ continue;
903
+ }
904
+ if (isChunk(item)) {
905
+ if (isNonEmptyString(item.content)) {
906
+ yield {
907
+ type: "chunk",
908
+ node_id: this.step.id,
909
+ content: item.content,
910
+ done: false
911
+ };
912
+ }
913
+ yield* ui.drain();
914
+ continue;
915
+ }
916
+ if ("type" in item && item.type === "message") {
917
+ const m = item.message;
918
+ if (m && m.role === "assistant") {
919
+ turnsThisRound++;
920
+ lastAssistant =
921
+ isString(m.content)
922
+ ? { ...m, content: removeThinkTags(m.content) }
923
+ : m;
924
+ roundMessages.push(lastAssistant);
925
+ }
926
+ else if (m) {
927
+ roundMessages.push(m);
928
+ }
929
+ }
930
+ yield* ui.drain();
931
+ }
932
+ turnsTotal += turnsThisRound;
933
+ exhaustedIterations = turnsTotal >= this.maxIterations;
934
+ if (!this.shouldNudgeToFinish(lastAssistant, nudges, abort.signal)) {
935
+ break;
936
+ }
937
+ nudges++;
938
+ // The provider copies the message array, so this round's transcript
939
+ // never came back to us. Carrying the whole round forward — the
940
+ // actions and the observations they returned, not just the closing
941
+ // prose — is what lets the model answer the nudge from what it
942
+ // computed instead of re-deriving it from the brief. A content-less
943
+ // assistant turn that called nothing is dropped: several provider APIs
944
+ // reject a message with neither content nor tool calls, and it says
945
+ // nothing the next round needs. One that carries tool calls always
946
+ // rides along, otherwise its results arrive orphaned.
947
+ for (const message of roundMessages) {
948
+ const toolCalls = message.toolCalls;
949
+ if (message.role === "assistant" &&
950
+ !hasContent(message) &&
951
+ (!toolCalls || toolCalls.length === 0)) {
952
+ continue;
953
+ }
954
+ history.push(message);
955
+ }
956
+ history.push({ role: "user", content: FINISH_CONTRACT_NUDGE });
957
+ log.debug("CodeAct step ended in prose; re-prompting to finish", {
958
+ stepId: this.step.id,
959
+ nudge: nudges
960
+ });
961
+ }
962
+ }
963
+ catch (e) {
964
+ generationError = e instanceof Error ? e : new Error(String(e));
965
+ log.error("CodeAct step generation failed", {
966
+ stepId: this.step.id,
967
+ error: generationError.message
968
+ });
969
+ }
970
+ finally {
971
+ unlinkAbort();
972
+ }
973
+ yield* ui.drain();
974
+ // Unschema'd steps also finalize from a no-tool-call assistant message —
975
+ // the same prose-mode rule StepExecutor has.
976
+ if (!this.step.completed &&
977
+ this.resultSchema === null &&
978
+ lastAssistant &&
979
+ (!lastAssistant.toolCalls || lastAssistant.toolCalls.length === 0) &&
980
+ lastAssistant.content !== null &&
981
+ lastAssistant.content !== undefined) {
982
+ this.storeCompletionResult(lastAssistant.content);
983
+ yield this.taskUpdate(TaskUpdateEvent.StepCompleted);
984
+ yield this.stepResult(lastAssistant.content);
985
+ }
986
+ if (!this.step.completed) {
987
+ this.step.endTime = Date.now();
988
+ // A deadline this executor tripped outranks the abort it caused; an
989
+ // `iterations` stop keeps the wording it always had.
990
+ const budgetStop = deadlineStop ??
991
+ (providerStop && providerStop.reason !== "iterations"
992
+ ? providerStop
993
+ : null);
994
+ const message = generationError
995
+ ? `Step failed: ${generationError.message}`
996
+ : budgetStop
997
+ ? `Step failed: ${this.stopDetail(budgetStop)}${this.paidWorkToRecover(bridge.generationIds())}`
998
+ : exhaustedIterations
999
+ ? `Step failed: exceeded ${this.maxIterations} iterations without completion`
1000
+ : this.resultSchema !== null
1001
+ ? `Step failed: ended after ${this.actionCount} action(s) without ` +
1002
+ `calling finish().${lastProseHint(lastAssistant)}`
1003
+ : `Step failed: ended after ${this.actionCount} action(s) with no ` +
1004
+ `final message to use as the result.`;
1005
+ this.step.failed = true;
1006
+ this.step.error = message;
1007
+ const errorResult = { error: message };
1008
+ this.result = errorResult;
1009
+ this.context.memory.set({
1010
+ key: memoryKeys.step(this.step.id),
1011
+ kind: "step_result",
1012
+ value: errorResult,
1013
+ source: this.step.id,
1014
+ title: `Failed: ${this.step.instructions.slice(0, 60)}`
1015
+ });
1016
+ yield this.taskUpdate(TaskUpdateEvent.StepFailed);
1017
+ yield {
1018
+ type: "step_result",
1019
+ step: { id: this.step.id, instructions: this.step.instructions },
1020
+ result: errorResult,
1021
+ error: message,
1022
+ is_task_result: this.useFinishTask
1023
+ };
1024
+ }
1025
+ }
1026
+ /**
1027
+ * The generations this step paid for, when it is failing before the code that
1028
+ * would have written their asset ids down.
1029
+ *
1030
+ * A step killed by its deadline or budget loses everything the guest held in
1031
+ * variables. Generations are the half of that which costs money: six clips
1032
+ * came back, the action died before persisting the URIs, and the next turn
1033
+ * had no way to know they existed — so it generated them again. The assets
1034
+ * and their `predictions` rows are already saved; naming the ids here is what
1035
+ * lets the next turn reuse them.
1036
+ *
1037
+ * The registry is user-scoped, and under a parallel plan every sibling step
1038
+ * fails in the same window, so the list is cut down to the ids this step's
1039
+ * own bridged calls answered with (`ownIds`). When no call returned an id,
1040
+ * the user-scoped list stands and the note says so.
1041
+ */
1042
+ paidWorkToRecover(ownIds) {
1043
+ const startedAt = this.step.startTime;
1044
+ if (startedAt === undefined)
1045
+ return "";
1046
+ const completed = generationRegistry.completedSince(this.context.userId, startedAt);
1047
+ const scoped = ownIds.size > 0;
1048
+ const done = scoped
1049
+ ? completed.filter((entry) => ownIds.has(entry.id))
1050
+ : completed;
1051
+ if (done.length === 0)
1052
+ return "";
1053
+ const named = done
1054
+ .map((entry) => `${entry.id} (${entry.asset_ids.join(", ")})`)
1055
+ .join("; ")
1056
+ .slice(0, 2000);
1057
+ const scopeNote = scoped
1058
+ ? ""
1059
+ : " (no call in this step returned a generation id, so this is every " +
1060
+ "generation the user completed in the window, other steps and turns included)";
1061
+ return (`. ${done.length} generation(s) completed and were saved before the stop${scopeNote} — ` +
1062
+ "reuse them instead of generating again: " +
1063
+ `${named}. Read them with list_generations or get_generation.`);
1064
+ }
1065
+ /**
1066
+ * What to say about a stop the step ended on. A {@link RunBudget} knows which
1067
+ * ceiling it was and says so ("turn budget of $5 reached"); a bare
1068
+ * {@link TurnBudget} only knows that one refused, and the stop item's own
1069
+ * text is all there is.
1070
+ */
1071
+ stopDetail(stop) {
1072
+ if (stop.reason === "budget" || stop.reason === "deadline") {
1073
+ return this.runBudget?.exhausted?.detail ?? stop.detail;
1074
+ }
1075
+ return stop.detail;
1076
+ }
1077
+ /**
1078
+ * Whether to re-prompt after a generation round that produced no result.
1079
+ *
1080
+ * The recoverable case is narrow: a schema'd step whose last assistant
1081
+ * message carried no tool calls — the model stopped to explain instead of
1082
+ * calling `finish()`, and the work it did is recoverable in the next round.
1083
+ * A round that ended on a tool call ran out of budget instead, which another user
1084
+ * message does not fix, and a cancelled run must not spend a turn at all.
1085
+ */
1086
+ shouldNudgeToFinish(lastAssistant, nudges, signal) {
1087
+ if (this.step.completed)
1088
+ return false;
1089
+ if (this.resultSchema === null)
1090
+ return false;
1091
+ if (nudges >= MAX_FINISH_NUDGES)
1092
+ return false;
1093
+ if (signal.aborted)
1094
+ return false;
1095
+ if (this.signal?.aborted === true)
1096
+ return false;
1097
+ if (!lastAssistant)
1098
+ return false;
1099
+ const toolCalls = lastAssistant.toolCalls;
1100
+ return !toolCalls || toolCalls.length === 0;
1101
+ }
1102
+ loadResultSchema() {
1103
+ if (!this.step.outputSchema)
1104
+ return null;
1105
+ try {
1106
+ const parsed = JSON.parse(this.step.outputSchema);
1107
+ if (isRecord(parsed)) {
1108
+ return parsed;
1109
+ }
1110
+ return null;
1111
+ }
1112
+ catch {
1113
+ log.warn("Ignoring unparseable outputSchema", { stepId: this.step.id });
1114
+ return null;
1115
+ }
1116
+ }
1117
+ buildUserMessage() {
1118
+ const parts = [this.step.instructions];
1119
+ const keys = [
1120
+ ...this.step.dependsOn.map((id) => memoryKeys.step(id)),
1121
+ ...this.upstreamMemoryKeys
1122
+ ];
1123
+ if (keys.length > 0) {
1124
+ parts.push(`Required upstream context — read these before acting (via ` +
1125
+ `\`await nodetool.shared.read([...])\`):\n` +
1126
+ keys.map((k) => `- ${k}`).join("\n"));
1127
+ }
1128
+ return parts.join("\n\n");
1129
+ }
1130
+ storeCompletionResult(value) {
1131
+ this.step.completed = true;
1132
+ this.step.endTime = Date.now();
1133
+ this.context.memory.set({
1134
+ key: memoryKeys.step(this.step.id),
1135
+ kind: "step_result",
1136
+ value,
1137
+ source: this.step.id,
1138
+ title: this.step.instructions.slice(0, 80)
1139
+ });
1140
+ if (this.useFinishTask) {
1141
+ this.context.memory.set({
1142
+ key: memoryKeys.task(this.task.id),
1143
+ kind: "task_result",
1144
+ value,
1145
+ source: this.task.id,
1146
+ title: this.task.title
1147
+ });
1148
+ }
1149
+ this.result = value;
1150
+ }
1151
+ taskUpdate(event) {
1152
+ return {
1153
+ type: "task_update",
1154
+ node_id: this.step.id,
1155
+ task: { id: this.task.id, title: this.task.title },
1156
+ step: { id: this.step.id, instructions: this.step.instructions },
1157
+ event
1158
+ };
1159
+ }
1160
+ stepResult(result) {
1161
+ return {
1162
+ type: "step_result",
1163
+ step: { id: this.step.id, instructions: this.step.instructions },
1164
+ result,
1165
+ is_task_result: this.useFinishTask
1166
+ };
1167
+ }
1168
+ }
1169
+ /** Whether a message carries anything a provider will accept as content. */
1170
+ function hasContent(message) {
1171
+ const content = message.content;
1172
+ if (isString(content))
1173
+ return content.trim() !== "";
1174
+ return Array.isArray(content) && content.length > 0;
1175
+ }
1176
+ //# sourceMappingURL=codeact-executor.js.map