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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/README.md +82 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/ExecutionTree.d.ts +2 -1
  4. package/dist/ExecutionTree.d.ts.map +1 -1
  5. package/dist/ExecutionTree.js +1 -1
  6. package/dist/ExecutionTree.js.map +1 -1
  7. package/dist/affected/affected.d.ts +45 -0
  8. package/dist/affected/affected.d.ts.map +1 -0
  9. package/dist/affected/affected.js +160 -0
  10. package/dist/affected/affected.js.map +1 -0
  11. package/dist/agent-toolbelt.d.ts +15 -0
  12. package/dist/agent-toolbelt.d.ts.map +1 -0
  13. package/dist/agent-toolbelt.js +28 -0
  14. package/dist/agent-toolbelt.js.map +1 -0
  15. package/dist/api-client.d.ts +12 -0
  16. package/dist/api-client.d.ts.map +1 -0
  17. package/dist/api-client.js +21 -0
  18. package/dist/api-client.js.map +1 -0
  19. package/dist/app-build/bundle.d.ts +15 -0
  20. package/dist/app-build/bundle.d.ts.map +1 -0
  21. package/dist/app-build/bundle.js +45 -0
  22. package/dist/app-build/bundle.js.map +1 -0
  23. package/dist/app-build/watch.d.ts +13 -0
  24. package/dist/app-build/watch.d.ts.map +1 -0
  25. package/dist/app-build/watch.js +25 -0
  26. package/dist/app-build/watch.js.map +1 -0
  27. package/dist/app-debug/app-target.d.ts +14 -0
  28. package/dist/app-debug/app-target.d.ts.map +1 -0
  29. package/dist/app-debug/app-target.js +120 -0
  30. package/dist/app-debug/app-target.js.map +1 -0
  31. package/dist/app-debug/harness.d.ts +29 -0
  32. package/dist/app-debug/harness.d.ts.map +1 -0
  33. package/dist/app-debug/harness.js +116 -0
  34. package/dist/app-debug/harness.js.map +1 -0
  35. package/dist/app-debug/index.d.ts +12 -0
  36. package/dist/app-debug/index.d.ts.map +1 -0
  37. package/dist/app-debug/index.js +9 -0
  38. package/dist/app-debug/index.js.map +1 -0
  39. package/dist/app.d.ts +38 -48
  40. package/dist/app.d.ts.map +1 -1
  41. package/dist/app.js +980 -677
  42. package/dist/app.js.map +1 -1
  43. package/dist/bash-tool.d.ts +13 -0
  44. package/dist/bash-tool.d.ts.map +1 -0
  45. package/dist/bash-tool.js +85 -0
  46. package/dist/bash-tool.js.map +1 -0
  47. package/dist/chat-codeact.d.ts +93 -0
  48. package/dist/chat-codeact.d.ts.map +1 -0
  49. package/dist/chat-codeact.js +179 -0
  50. package/dist/chat-codeact.js.map +1 -0
  51. package/dist/chat-context.d.ts +18 -0
  52. package/dist/chat-context.d.ts.map +1 -0
  53. package/dist/chat-context.js +32 -0
  54. package/dist/chat-context.js.map +1 -0
  55. package/dist/chat-media.d.ts +3 -0
  56. package/dist/chat-media.d.ts.map +1 -0
  57. package/dist/chat-media.js +46 -0
  58. package/dist/chat-media.js.map +1 -0
  59. package/dist/chat-prompts.d.ts +20 -0
  60. package/dist/chat-prompts.d.ts.map +1 -0
  61. package/dist/chat-prompts.js +42 -0
  62. package/dist/chat-prompts.js.map +1 -0
  63. package/dist/chat-sessions.d.ts +25 -0
  64. package/dist/chat-sessions.d.ts.map +1 -0
  65. package/dist/chat-sessions.js +153 -0
  66. package/dist/chat-sessions.js.map +1 -0
  67. package/dist/command-errors.d.ts +10 -0
  68. package/dist/command-errors.d.ts.map +1 -0
  69. package/dist/command-errors.js +15 -0
  70. package/dist/command-errors.js.map +1 -0
  71. package/dist/commands/__tests__/jtbd.test.d.ts +2 -0
  72. package/dist/commands/__tests__/jtbd.test.d.ts.map +1 -0
  73. package/dist/commands/__tests__/jtbd.test.js +120 -0
  74. package/dist/commands/__tests__/jtbd.test.js.map +1 -0
  75. package/dist/commands/__tests__/timeline-render-audio.test.d.ts +2 -0
  76. package/dist/commands/__tests__/timeline-render-audio.test.d.ts.map +1 -0
  77. package/dist/commands/__tests__/timeline-render-audio.test.js +53 -0
  78. package/dist/commands/__tests__/timeline-render-audio.test.js.map +1 -0
  79. package/dist/commands/__tests__/timeline-render-completeness.test.d.ts +2 -0
  80. package/dist/commands/__tests__/timeline-render-completeness.test.d.ts.map +1 -0
  81. package/dist/commands/__tests__/timeline-render-completeness.test.js +117 -0
  82. package/dist/commands/__tests__/timeline-render-completeness.test.js.map +1 -0
  83. package/dist/commands/__tests__/timeline-render.test.d.ts +2 -0
  84. package/dist/commands/__tests__/timeline-render.test.d.ts.map +1 -0
  85. package/dist/commands/__tests__/timeline-render.test.js +115 -0
  86. package/dist/commands/__tests__/timeline-render.test.js.map +1 -0
  87. package/dist/commands/__tests__/timeline-score.test.d.ts +2 -0
  88. package/dist/commands/__tests__/timeline-score.test.d.ts.map +1 -0
  89. package/dist/commands/__tests__/timeline-score.test.js +100 -0
  90. package/dist/commands/__tests__/timeline-score.test.js.map +1 -0
  91. package/dist/commands/affected.d.ts +9 -0
  92. package/dist/commands/affected.d.ts.map +1 -0
  93. package/dist/commands/affected.js +122 -0
  94. package/dist/commands/affected.js.map +1 -0
  95. package/dist/commands/agent.d.ts +26 -4
  96. package/dist/commands/agent.d.ts.map +1 -1
  97. package/dist/commands/agent.js +328 -306
  98. package/dist/commands/agent.js.map +1 -1
  99. package/dist/commands/app.d.ts +3 -0
  100. package/dist/commands/app.d.ts.map +1 -0
  101. package/dist/commands/app.js +405 -0
  102. package/dist/commands/app.js.map +1 -0
  103. package/dist/commands/apps.d.ts +15 -0
  104. package/dist/commands/apps.d.ts.map +1 -0
  105. package/dist/commands/apps.js +180 -0
  106. package/dist/commands/apps.js.map +1 -0
  107. package/dist/commands/auth.d.ts +12 -0
  108. package/dist/commands/auth.d.ts.map +1 -0
  109. package/dist/commands/auth.js +154 -0
  110. package/dist/commands/auth.js.map +1 -0
  111. package/dist/commands/collections.d.ts +10 -0
  112. package/dist/commands/collections.d.ts.map +1 -0
  113. package/dist/commands/collections.js +257 -0
  114. package/dist/commands/collections.js.map +1 -0
  115. package/dist/commands/costs.d.ts +15 -0
  116. package/dist/commands/costs.d.ts.map +1 -0
  117. package/dist/commands/costs.js +201 -0
  118. package/dist/commands/costs.js.map +1 -0
  119. package/dist/commands/db.d.ts +3 -0
  120. package/dist/commands/db.d.ts.map +1 -0
  121. package/dist/commands/db.js +176 -0
  122. package/dist/commands/db.js.map +1 -0
  123. package/dist/commands/debug-summary-output.d.ts +22 -0
  124. package/dist/commands/debug-summary-output.d.ts.map +1 -0
  125. package/dist/commands/debug-summary-output.js +28 -0
  126. package/dist/commands/debug-summary-output.js.map +1 -0
  127. package/dist/commands/debug.d.ts +13 -0
  128. package/dist/commands/debug.d.ts.map +1 -0
  129. package/dist/commands/debug.js +138 -0
  130. package/dist/commands/debug.js.map +1 -0
  131. package/dist/commands/deploy-helpers.d.ts +49 -18
  132. package/dist/commands/deploy-helpers.d.ts.map +1 -1
  133. package/dist/commands/deploy-helpers.js +10 -276
  134. package/dist/commands/deploy-helpers.js.map +1 -1
  135. package/dist/commands/deploy.d.ts +0 -1
  136. package/dist/commands/deploy.d.ts.map +1 -1
  137. package/dist/commands/deploy.js +21 -217
  138. package/dist/commands/deploy.js.map +1 -1
  139. package/dist/commands/errors.d.ts +11 -0
  140. package/dist/commands/errors.d.ts.map +1 -0
  141. package/dist/commands/errors.js +177 -0
  142. package/dist/commands/errors.js.map +1 -0
  143. package/dist/commands/eval.d.ts +152 -0
  144. package/dist/commands/eval.d.ts.map +1 -0
  145. package/dist/commands/eval.js +690 -0
  146. package/dist/commands/eval.js.map +1 -0
  147. package/dist/commands/extension.d.ts +12 -0
  148. package/dist/commands/extension.d.ts.map +1 -0
  149. package/dist/commands/extension.js +30 -0
  150. package/dist/commands/extension.js.map +1 -0
  151. package/dist/commands/game-benchmark.d.ts +34 -0
  152. package/dist/commands/game-benchmark.d.ts.map +1 -0
  153. package/dist/commands/game-benchmark.js +95 -0
  154. package/dist/commands/game-benchmark.js.map +1 -0
  155. package/dist/commands/game-smoke.d.ts +3 -0
  156. package/dist/commands/game-smoke.d.ts.map +1 -0
  157. package/dist/commands/game-smoke.js +23 -0
  158. package/dist/commands/game-smoke.js.map +1 -0
  159. package/dist/commands/game.d.ts +4 -0
  160. package/dist/commands/game.d.ts.map +1 -0
  161. package/dist/commands/game.js +624 -0
  162. package/dist/commands/game.js.map +1 -0
  163. package/dist/commands/generate.d.ts +17 -0
  164. package/dist/commands/generate.d.ts.map +1 -0
  165. package/dist/commands/generate.js +324 -0
  166. package/dist/commands/generate.js.map +1 -0
  167. package/dist/commands/generations.d.ts +17 -0
  168. package/dist/commands/generations.d.ts.map +1 -0
  169. package/dist/commands/generations.js +408 -0
  170. package/dist/commands/generations.js.map +1 -0
  171. package/dist/commands/harness.d.ts +69 -0
  172. package/dist/commands/harness.d.ts.map +1 -0
  173. package/dist/commands/harness.js +575 -0
  174. package/dist/commands/harness.js.map +1 -0
  175. package/dist/commands/js-script-validation-output.d.ts +7 -0
  176. package/dist/commands/js-script-validation-output.d.ts.map +1 -0
  177. package/dist/commands/js-script-validation-output.js +5 -0
  178. package/dist/commands/js-script-validation-output.js.map +1 -0
  179. package/dist/commands/js-script-versions.d.ts +53 -0
  180. package/dist/commands/js-script-versions.d.ts.map +1 -0
  181. package/dist/commands/js-script-versions.js +89 -0
  182. package/dist/commands/js-script-versions.js.map +1 -0
  183. package/dist/commands/js-script.d.ts +29 -0
  184. package/dist/commands/js-script.d.ts.map +1 -0
  185. package/dist/commands/js-script.js +211 -0
  186. package/dist/commands/js-script.js.map +1 -0
  187. package/dist/commands/jtbd.d.ts +38 -0
  188. package/dist/commands/jtbd.d.ts.map +1 -0
  189. package/dist/commands/jtbd.js +261 -0
  190. package/dist/commands/jtbd.js.map +1 -0
  191. package/dist/commands/local-db.d.ts +16 -0
  192. package/dist/commands/local-db.d.ts.map +1 -0
  193. package/dist/commands/local-db.js +33 -0
  194. package/dist/commands/local-db.js.map +1 -0
  195. package/dist/commands/mcp.d.ts +21 -0
  196. package/dist/commands/mcp.d.ts.map +1 -0
  197. package/dist/commands/mcp.js +164 -0
  198. package/dist/commands/mcp.js.map +1 -0
  199. package/dist/commands/migrate-code-inputs.d.ts +24 -0
  200. package/dist/commands/migrate-code-inputs.d.ts.map +1 -0
  201. package/dist/commands/migrate-code-inputs.js +120 -0
  202. package/dist/commands/migrate-code-inputs.js.map +1 -0
  203. package/dist/commands/models-hf.js +4 -4
  204. package/dist/commands/models-hf.js.map +1 -1
  205. package/dist/commands/models-recommended.d.ts.map +1 -1
  206. package/dist/commands/models-recommended.js +16 -24
  207. package/dist/commands/models-recommended.js.map +1 -1
  208. package/dist/commands/node.d.ts +10 -0
  209. package/dist/commands/node.d.ts.map +1 -0
  210. package/dist/commands/node.js +72 -0
  211. package/dist/commands/node.js.map +1 -0
  212. package/dist/commands/output.d.ts +24 -0
  213. package/dist/commands/output.d.ts.map +1 -0
  214. package/dist/commands/output.js +132 -0
  215. package/dist/commands/output.js.map +1 -0
  216. package/dist/commands/package-helpers.d.ts +1 -7
  217. package/dist/commands/package-helpers.d.ts.map +1 -1
  218. package/dist/commands/package-helpers.js +3 -26
  219. package/dist/commands/package-helpers.js.map +1 -1
  220. package/dist/commands/package.d.ts.map +1 -1
  221. package/dist/commands/package.js +14 -14
  222. package/dist/commands/package.js.map +1 -1
  223. package/dist/commands/packs.d.ts +13 -0
  224. package/dist/commands/packs.d.ts.map +1 -0
  225. package/dist/commands/packs.js +60 -0
  226. package/dist/commands/packs.js.map +1 -0
  227. package/dist/commands/reliability.d.ts +14 -0
  228. package/dist/commands/reliability.d.ts.map +1 -0
  229. package/dist/commands/reliability.js +80 -0
  230. package/dist/commands/reliability.js.map +1 -0
  231. package/dist/commands/resource-read.d.ts +28 -0
  232. package/dist/commands/resource-read.d.ts.map +1 -0
  233. package/dist/commands/resource-read.js +316 -0
  234. package/dist/commands/resource-read.js.map +1 -0
  235. package/dist/commands/runs.d.ts +7 -0
  236. package/dist/commands/runs.d.ts.map +1 -0
  237. package/dist/commands/runs.js +302 -0
  238. package/dist/commands/runs.js.map +1 -0
  239. package/dist/commands/sketch-validation-output.d.ts +7 -0
  240. package/dist/commands/sketch-validation-output.d.ts.map +1 -0
  241. package/dist/commands/sketch-validation-output.js +5 -0
  242. package/dist/commands/sketch-validation-output.js.map +1 -0
  243. package/dist/commands/sketch-versions.d.ts +66 -0
  244. package/dist/commands/sketch-versions.d.ts.map +1 -0
  245. package/dist/commands/sketch-versions.js +108 -0
  246. package/dist/commands/sketch-versions.js.map +1 -0
  247. package/dist/commands/sketch.d.ts +21 -0
  248. package/dist/commands/sketch.d.ts.map +1 -0
  249. package/dist/commands/sketch.js +101 -0
  250. package/dist/commands/sketch.js.map +1 -0
  251. package/dist/commands/storage.d.ts +24 -0
  252. package/dist/commands/storage.d.ts.map +1 -0
  253. package/dist/commands/storage.js +112 -0
  254. package/dist/commands/storage.js.map +1 -0
  255. package/dist/commands/telegram.d.ts +11 -0
  256. package/dist/commands/telegram.d.ts.map +1 -0
  257. package/dist/commands/telegram.js +66 -0
  258. package/dist/commands/telegram.js.map +1 -0
  259. package/dist/commands/timeline-render.d.ts +85 -0
  260. package/dist/commands/timeline-render.d.ts.map +1 -0
  261. package/dist/commands/timeline-render.js +474 -0
  262. package/dist/commands/timeline-render.js.map +1 -0
  263. package/dist/commands/timeline-score.d.ts +16 -0
  264. package/dist/commands/timeline-score.d.ts.map +1 -0
  265. package/dist/commands/timeline-score.js +89 -0
  266. package/dist/commands/timeline-score.js.map +1 -0
  267. package/dist/commands/timeline-validation-output.d.ts +7 -0
  268. package/dist/commands/timeline-validation-output.d.ts.map +1 -0
  269. package/dist/commands/timeline-validation-output.js +9 -0
  270. package/dist/commands/timeline-validation-output.js.map +1 -0
  271. package/dist/commands/timeline-versions.d.ts +72 -0
  272. package/dist/commands/timeline-versions.d.ts.map +1 -0
  273. package/dist/commands/timeline-versions.js +108 -0
  274. package/dist/commands/timeline-versions.js.map +1 -0
  275. package/dist/commands/timeline.d.ts +22 -0
  276. package/dist/commands/timeline.d.ts.map +1 -0
  277. package/dist/commands/timeline.js +105 -0
  278. package/dist/commands/timeline.js.map +1 -0
  279. package/dist/commands/validate.d.ts +22 -0
  280. package/dist/commands/validate.d.ts.map +1 -0
  281. package/dist/commands/validate.js +127 -0
  282. package/dist/commands/validate.js.map +1 -0
  283. package/dist/commands/validation-output.d.ts +25 -0
  284. package/dist/commands/validation-output.d.ts.map +1 -0
  285. package/dist/commands/validation-output.js +29 -0
  286. package/dist/commands/validation-output.js.map +1 -0
  287. package/dist/commands/version-commands.d.ts +94 -0
  288. package/dist/commands/version-commands.d.ts.map +1 -0
  289. package/dist/commands/version-commands.js +227 -0
  290. package/dist/commands/version-commands.js.map +1 -0
  291. package/dist/commands/worker-models.d.ts +13 -0
  292. package/dist/commands/worker-models.d.ts.map +1 -0
  293. package/dist/commands/worker-models.js +207 -0
  294. package/dist/commands/worker-models.js.map +1 -0
  295. package/dist/commands/worker.d.ts +23 -0
  296. package/dist/commands/worker.d.ts.map +1 -0
  297. package/dist/commands/worker.js +374 -0
  298. package/dist/commands/worker.js.map +1 -0
  299. package/dist/debug/browser-runner.d.ts +21 -0
  300. package/dist/debug/browser-runner.d.ts.map +1 -0
  301. package/dist/debug/browser-runner.js +196 -0
  302. package/dist/debug/browser-runner.js.map +1 -0
  303. package/dist/debug/collector.d.ts +9 -0
  304. package/dist/debug/collector.d.ts.map +1 -0
  305. package/dist/debug/collector.js +9 -0
  306. package/dist/debug/collector.js.map +1 -0
  307. package/dist/debug/diff.d.ts +48 -0
  308. package/dist/debug/diff.d.ts.map +1 -0
  309. package/dist/debug/diff.js +68 -0
  310. package/dist/debug/diff.js.map +1 -0
  311. package/dist/debug/harness.d.ts +11 -0
  312. package/dist/debug/harness.d.ts.map +1 -0
  313. package/dist/debug/harness.js +103 -0
  314. package/dist/debug/harness.js.map +1 -0
  315. package/dist/debug/index.d.ts +17 -0
  316. package/dist/debug/index.d.ts.map +1 -0
  317. package/dist/debug/index.js +16 -0
  318. package/dist/debug/index.js.map +1 -0
  319. package/dist/debug/markdown.d.ts +3 -0
  320. package/dist/debug/markdown.d.ts.map +1 -0
  321. package/dist/debug/markdown.js +127 -0
  322. package/dist/debug/markdown.js.map +1 -0
  323. package/dist/debug/server-runner.d.ts +24 -0
  324. package/dist/debug/server-runner.d.ts.map +1 -0
  325. package/dist/debug/server-runner.js +197 -0
  326. package/dist/debug/server-runner.js.map +1 -0
  327. package/dist/debug/target.d.ts +34 -0
  328. package/dist/debug/target.d.ts.map +1 -0
  329. package/dist/debug/target.js +104 -0
  330. package/dist/debug/target.js.map +1 -0
  331. package/dist/debug/trace.d.ts +30 -0
  332. package/dist/debug/trace.d.ts.map +1 -0
  333. package/dist/debug/trace.js +87 -0
  334. package/dist/debug/trace.js.map +1 -0
  335. package/dist/debug/types.d.ts +82 -0
  336. package/dist/debug/types.d.ts.map +1 -0
  337. package/dist/debug/types.js +13 -0
  338. package/dist/debug/types.js.map +1 -0
  339. package/dist/debug/verdict.d.ts +3 -0
  340. package/dist/debug/verdict.d.ts.map +1 -0
  341. package/dist/debug/verdict.js +78 -0
  342. package/dist/debug/verdict.js.map +1 -0
  343. package/dist/debug/watch.d.ts +23 -0
  344. package/dist/debug/watch.d.ts.map +1 -0
  345. package/dist/debug/watch.js +68 -0
  346. package/dist/debug/watch.js.map +1 -0
  347. package/dist/diagnose.d.ts +139 -0
  348. package/dist/diagnose.d.ts.map +1 -0
  349. package/dist/diagnose.js +418 -0
  350. package/dist/diagnose.js.map +1 -0
  351. package/dist/evals/graph-runner.d.ts +8 -0
  352. package/dist/evals/graph-runner.d.ts.map +1 -0
  353. package/dist/evals/graph-runner.js +136 -0
  354. package/dist/evals/graph-runner.js.map +1 -0
  355. package/dist/harness/capability-coverage.d.ts +161 -0
  356. package/dist/harness/capability-coverage.d.ts.map +1 -0
  357. package/dist/harness/capability-coverage.js +266 -0
  358. package/dist/harness/capability-coverage.js.map +1 -0
  359. package/dist/harness/capability-table.d.ts +17 -0
  360. package/dist/harness/capability-table.d.ts.map +1 -0
  361. package/dist/harness/capability-table.js +3844 -0
  362. package/dist/harness/capability-table.js.map +1 -0
  363. package/dist/harness/changed-files.d.ts +20 -0
  364. package/dist/harness/changed-files.d.ts.map +1 -0
  365. package/dist/harness/changed-files.js +90 -0
  366. package/dist/harness/changed-files.js.map +1 -0
  367. package/dist/harness/declared-capabilities.d.ts +12 -0
  368. package/dist/harness/declared-capabilities.d.ts.map +1 -0
  369. package/dist/harness/declared-capabilities.js +21 -0
  370. package/dist/harness/declared-capabilities.js.map +1 -0
  371. package/dist/harness/registry.d.ts +190 -0
  372. package/dist/harness/registry.d.ts.map +1 -0
  373. package/dist/harness/registry.js +2034 -0
  374. package/dist/harness/registry.js.map +1 -0
  375. package/dist/index.js +122 -131
  376. package/dist/index.js.map +1 -1
  377. package/dist/interaction-script.d.ts +40 -0
  378. package/dist/interaction-script.d.ts.map +1 -0
  379. package/dist/interaction-script.js +96 -0
  380. package/dist/interaction-script.js.map +1 -0
  381. package/dist/js-script-debug/harness.d.ts +124 -0
  382. package/dist/js-script-debug/harness.d.ts.map +1 -0
  383. package/dist/js-script-debug/harness.js +230 -0
  384. package/dist/js-script-debug/harness.js.map +1 -0
  385. package/dist/js-script-debug/index.d.ts +9 -0
  386. package/dist/js-script-debug/index.d.ts.map +1 -0
  387. package/dist/js-script-debug/index.js +9 -0
  388. package/dist/js-script-debug/index.js.map +1 -0
  389. package/dist/js-script-debug/interactions.d.ts +19 -0
  390. package/dist/js-script-debug/interactions.d.ts.map +1 -0
  391. package/dist/js-script-debug/interactions.js +17 -0
  392. package/dist/js-script-debug/interactions.js.map +1 -0
  393. package/dist/js-script-debug/target.d.ts +20 -0
  394. package/dist/js-script-debug/target.d.ts.map +1 -0
  395. package/dist/js-script-debug/target.js +78 -0
  396. package/dist/js-script-debug/target.js.map +1 -0
  397. package/dist/local-model-interfaces.d.ts +20 -0
  398. package/dist/local-model-interfaces.d.ts.map +1 -0
  399. package/dist/local-model-interfaces.js +41 -0
  400. package/dist/local-model-interfaces.js.map +1 -0
  401. package/dist/local-secrets.d.ts +3 -0
  402. package/dist/local-secrets.d.ts.map +1 -0
  403. package/dist/local-secrets.js +16 -0
  404. package/dist/local-secrets.js.map +1 -0
  405. package/dist/markdown.d.ts.map +1 -1
  406. package/dist/markdown.js +7 -2
  407. package/dist/markdown.js.map +1 -1
  408. package/dist/node/run-node.d.ts +28 -0
  409. package/dist/node/run-node.d.ts.map +1 -0
  410. package/dist/node/run-node.js +76 -0
  411. package/dist/node/run-node.js.map +1 -0
  412. package/dist/node-registry.d.ts +27 -0
  413. package/dist/node-registry.d.ts.map +1 -0
  414. package/dist/node-registry.js +33 -0
  415. package/dist/node-registry.js.map +1 -0
  416. package/dist/nodetool-main.d.ts +15 -0
  417. package/dist/nodetool-main.d.ts.map +1 -0
  418. package/dist/nodetool-main.js +1368 -0
  419. package/dist/nodetool-main.js.map +1 -0
  420. package/dist/nodetool.d.ts +0 -13
  421. package/dist/nodetool.d.ts.map +1 -1
  422. package/dist/nodetool.js +17 -1147
  423. package/dist/nodetool.js.map +1 -1
  424. package/dist/numeric-options.d.ts +22 -0
  425. package/dist/numeric-options.d.ts.map +1 -0
  426. package/dist/numeric-options.js +45 -0
  427. package/dist/numeric-options.js.map +1 -0
  428. package/dist/permission-gate.d.ts +55 -0
  429. package/dist/permission-gate.d.ts.map +1 -0
  430. package/dist/permission-gate.js +118 -0
  431. package/dist/permission-gate.js.map +1 -0
  432. package/dist/predicates.d.ts +6 -0
  433. package/dist/predicates.d.ts.map +1 -0
  434. package/dist/predicates.js +6 -0
  435. package/dist/predicates.js.map +1 -0
  436. package/dist/providers.d.ts +73 -10
  437. package/dist/providers.d.ts.map +1 -1
  438. package/dist/providers.js +339 -97
  439. package/dist/providers.js.map +1 -1
  440. package/dist/readline-input.d.ts +13 -19
  441. package/dist/readline-input.d.ts.map +1 -1
  442. package/dist/readline-input.js +201 -190
  443. package/dist/readline-input.js.map +1 -1
  444. package/dist/run-budget.d.ts +40 -0
  445. package/dist/run-budget.d.ts.map +1 -0
  446. package/dist/run-budget.js +119 -0
  447. package/dist/run-budget.js.map +1 -0
  448. package/dist/run-dsl-supervised.d.ts +11 -0
  449. package/dist/run-dsl-supervised.d.ts.map +1 -0
  450. package/dist/run-dsl-supervised.js +82 -0
  451. package/dist/run-dsl-supervised.js.map +1 -0
  452. package/dist/run-dsl.d.ts +29 -0
  453. package/dist/run-dsl.d.ts.map +1 -1
  454. package/dist/run-dsl.js +44 -10
  455. package/dist/run-dsl.js.map +1 -1
  456. package/dist/run-json.d.ts +24 -0
  457. package/dist/run-json.d.ts.map +1 -0
  458. package/dist/run-json.js +132 -0
  459. package/dist/run-json.js.map +1 -0
  460. package/dist/sandbox-catalog.d.ts +24 -0
  461. package/dist/sandbox-catalog.d.ts.map +1 -0
  462. package/dist/sandbox-catalog.js +78 -0
  463. package/dist/sandbox-catalog.js.map +1 -0
  464. package/dist/settings.d.ts +11 -10
  465. package/dist/settings.d.ts.map +1 -1
  466. package/dist/settings.js +71 -13
  467. package/dist/settings.js.map +1 -1
  468. package/dist/sketch-debug/harness.d.ts +87 -0
  469. package/dist/sketch-debug/harness.d.ts.map +1 -0
  470. package/dist/sketch-debug/harness.js +145 -0
  471. package/dist/sketch-debug/harness.js.map +1 -0
  472. package/dist/sketch-debug/index.d.ts +9 -0
  473. package/dist/sketch-debug/index.d.ts.map +1 -0
  474. package/dist/sketch-debug/index.js +9 -0
  475. package/dist/sketch-debug/index.js.map +1 -0
  476. package/dist/sketch-debug/interactions.d.ts +19 -0
  477. package/dist/sketch-debug/interactions.d.ts.map +1 -0
  478. package/dist/sketch-debug/interactions.js +17 -0
  479. package/dist/sketch-debug/interactions.js.map +1 -0
  480. package/dist/sketch-debug/target.d.ts +48 -0
  481. package/dist/sketch-debug/target.d.ts.map +1 -0
  482. package/dist/sketch-debug/target.js +138 -0
  483. package/dist/sketch-debug/target.js.map +1 -0
  484. package/dist/stdin.d.ts +18 -19
  485. package/dist/stdin.d.ts.map +1 -1
  486. package/dist/stdin.js +160 -157
  487. package/dist/stdin.js.map +1 -1
  488. package/dist/supervisor.d.ts +97 -0
  489. package/dist/supervisor.d.ts.map +1 -0
  490. package/dist/supervisor.js +194 -0
  491. package/dist/supervisor.js.map +1 -0
  492. package/dist/terminal-clipboard.d.ts +3 -0
  493. package/dist/terminal-clipboard.d.ts.map +1 -0
  494. package/dist/terminal-clipboard.js +24 -0
  495. package/dist/terminal-clipboard.js.map +1 -0
  496. package/dist/terminal-mouse.d.ts +24 -0
  497. package/dist/terminal-mouse.d.ts.map +1 -0
  498. package/dist/terminal-mouse.js +84 -0
  499. package/dist/terminal-mouse.js.map +1 -0
  500. package/dist/terminal-screen.d.ts +41 -0
  501. package/dist/terminal-screen.d.ts.map +1 -0
  502. package/dist/terminal-screen.js +228 -0
  503. package/dist/terminal-screen.js.map +1 -0
  504. package/dist/timeline-debug/harness.d.ts +79 -0
  505. package/dist/timeline-debug/harness.d.ts.map +1 -0
  506. package/dist/timeline-debug/harness.js +122 -0
  507. package/dist/timeline-debug/harness.js.map +1 -0
  508. package/dist/timeline-debug/index.d.ts +9 -0
  509. package/dist/timeline-debug/index.d.ts.map +1 -0
  510. package/dist/timeline-debug/index.js +9 -0
  511. package/dist/timeline-debug/index.js.map +1 -0
  512. package/dist/timeline-debug/interactions.d.ts +19 -0
  513. package/dist/timeline-debug/interactions.d.ts.map +1 -0
  514. package/dist/timeline-debug/interactions.js +17 -0
  515. package/dist/timeline-debug/interactions.js.map +1 -0
  516. package/dist/timeline-debug/target.d.ts +34 -0
  517. package/dist/timeline-debug/target.d.ts.map +1 -0
  518. package/dist/timeline-debug/target.js +132 -0
  519. package/dist/timeline-debug/target.js.map +1 -0
  520. package/dist/tool-format.d.ts +54 -0
  521. package/dist/tool-format.d.ts.map +1 -0
  522. package/dist/tool-format.js +360 -0
  523. package/dist/tool-format.js.map +1 -0
  524. package/dist/useExecutionState.d.ts.map +1 -1
  525. package/dist/useExecutionState.js +8 -4
  526. package/dist/useExecutionState.js.map +1 -1
  527. package/dist/validate/index.d.ts +28 -0
  528. package/dist/validate/index.d.ts.map +1 -0
  529. package/dist/validate/index.js +51 -0
  530. package/dist/validate/index.js.map +1 -0
  531. package/dist/websocket-client.d.ts +78 -15
  532. package/dist/websocket-client.d.ts.map +1 -1
  533. package/dist/websocket-client.js +497 -171
  534. package/dist/websocket-client.js.map +1 -1
  535. package/package.json +65 -31
@@ -0,0 +1,53 @@
1
+ /**
2
+ * `nodetool jsscript versions` — the version-history half of the JS-script
3
+ * commands. The commands themselves live in `version-commands.ts`; this file
4
+ * is the script's row shapes, database seam, columns and messages.
5
+ *
6
+ * JS scripts keep immutable snapshots: manual saves, autosaves the server
7
+ * writes on a document update, and the pre-restore snapshot that makes a
8
+ * restore undoable. The history is read and written directly against the local
9
+ * database, so an agent can work without a server.
10
+ */
11
+ import type { Command } from "commander";
12
+ import type { JsScriptValidation } from "@nodetool-ai/execution/js-script-debug";
13
+ import { type JsonValue, type VersionCommandDeps, type VersionStore } from "./version-commands.js";
14
+ export { parseVersionDocument, parseVersionNumber } from "./version-commands.js";
15
+ /** A `js_scripts` row as these commands need it. */
16
+ export interface JsScriptRow {
17
+ id: string;
18
+ user_id: string;
19
+ name?: string | null;
20
+ updated_at: string;
21
+ document: string;
22
+ }
23
+ /** A `js_script_versions` row. */
24
+ export interface JsScriptVersionRow {
25
+ id: string;
26
+ js_script_id: string;
27
+ version: number;
28
+ name: string | null;
29
+ save_type: string;
30
+ created_at: string;
31
+ document: string;
32
+ }
33
+ export type JsScriptVersionStore = VersionStore<JsScriptRow, JsScriptVersionRow>;
34
+ /** The list-item shape, matching the tRPC router's `jsScriptVersionListItem`. */
35
+ export interface JsScriptVersionListItem {
36
+ id: string;
37
+ version: number;
38
+ name: string | null;
39
+ saveType: string;
40
+ createdAt: string;
41
+ }
42
+ export declare function toVersionListItem(row: JsScriptVersionRow): JsScriptVersionListItem;
43
+ /** One table row per version: what it is and when it was taken. */
44
+ export declare function versionTableRows(items: JsScriptVersionListItem[]): Record<string, unknown>[];
45
+ /** Port and test counts of whatever a version stored. */
46
+ export declare function documentCounts(document: JsonValue | undefined): {
47
+ inputs: number;
48
+ outputs: number;
49
+ tests: number;
50
+ };
51
+ export type JsScriptVersionsDeps = VersionCommandDeps<JsScriptRow, JsScriptVersionRow, JsScriptValidation, void>;
52
+ export declare function registerJsScriptVersionsCommands(jsscript: Command, deps?: JsScriptVersionsDeps): void;
53
+ //# sourceMappingURL=js-script-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-script-versions.d.ts","sourceRoot":"","sources":["../../src/commands/js-script-versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAEjF,iFAAiF;AACjF,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,kBAAkB,GACtB,uBAAuB,CAQzB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,uBAAuB,EAAE,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAE3B;AAWD,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;IAG1D,MAAM;IACN,OAAO;IACP,KAAK;EAER;AAwED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CACnD,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,IAAI,CACL,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,OAAO,EACjB,IAAI,GAAE,oBAAyB,GAC9B,IAAI,CAKN"}
@@ -0,0 +1,89 @@
1
+ import { renderJsScriptValidation } from "./js-script-validation-output.js";
2
+ import { countArray, registerVersionCommands } from "./version-commands.js";
3
+ export { parseVersionDocument, parseVersionNumber } from "./version-commands.js";
4
+ export function toVersionListItem(row) {
5
+ return {
6
+ id: row.id,
7
+ version: row.version,
8
+ name: row.name ?? null,
9
+ saveType: row.save_type,
10
+ createdAt: row.created_at
11
+ };
12
+ }
13
+ /** One table row per version: what it is and when it was taken. */
14
+ export function versionTableRows(items) {
15
+ return items.map(tableRow);
16
+ }
17
+ function tableRow(v) {
18
+ return {
19
+ version: v.version,
20
+ saveType: v.saveType,
21
+ name: v.name ?? "",
22
+ createdAt: v.createdAt
23
+ };
24
+ }
25
+ /** Port and test counts of whatever a version stored. */
26
+ export function documentCounts(document) {
27
+ const doc = (document ?? {});
28
+ return {
29
+ inputs: countArray(doc.inputs),
30
+ outputs: countArray(doc.outputs),
31
+ tests: countArray(doc.tests)
32
+ };
33
+ }
34
+ async function defaultValidate(document) {
35
+ const { validateJsScriptDoc } = await import("@nodetool-ai/execution/js-script-debug");
36
+ return validateJsScriptDoc(document);
37
+ }
38
+ async function defaultStore() {
39
+ const { initDb, JsScript, JsScriptVersion } = await import("@nodetool-ai/models");
40
+ const { getDefaultDbPath } = await import("@nodetool-ai/config");
41
+ initDb(getDefaultDbPath());
42
+ return {
43
+ load: async (id) => await JsScript.findById(id),
44
+ listVersions: async (jsScriptId, opts) => await JsScriptVersion.listForScript(jsScriptId, opts),
45
+ findVersion: async (jsScriptId, version) => await JsScriptVersion.findByVersion(jsScriptId, version),
46
+ snapshot: async (script, opts) => await JsScriptVersion.snapshot(script, opts),
47
+ restore: async (script, version) => await JsScript.updateFieldsIfUnchanged(script.id, script.updated_at, {
48
+ document: version.document
49
+ }),
50
+ deleteVersion: async (jsScriptId, version) => {
51
+ const row = await JsScriptVersion.findByVersion(jsScriptId, version);
52
+ if (row)
53
+ await row.delete();
54
+ }
55
+ };
56
+ }
57
+ const spec = {
58
+ idArg: "js_script_id",
59
+ idKey: "jsScriptId",
60
+ descriptions: {
61
+ group: "Inspect and restore the snapshot history of a JS script (manual saves, autosaves, pre-restore snapshots)",
62
+ list: "List a script's versions, newest first",
63
+ show: "Print one version's metadata and the document it stored",
64
+ create: "Snapshot the script as it stands now (a manual save)",
65
+ restore: "Restore a version onto the script. The pre-restore state is snapshotted first, and the restored document is validated against the current schema — a restore whose document no longer validates exits non-zero",
66
+ delete: "Delete one version from a script's history",
67
+ restoreJson: "Print the restore result as JSON"
68
+ },
69
+ notFoundDocument: (id) => `JS script not found: ${id}`,
70
+ notFoundVersion: (id, version) => `JS script version not found: ${id} v${version}`,
71
+ conflict: "Script was modified since last read",
72
+ confirmDelete: (id, version) => `Delete v${version} of JS script ${id}?`,
73
+ deleted: (id, version) => `✅ Deleted v${version} of JS script ${id}`,
74
+ toItem: toVersionListItem,
75
+ tableRow,
76
+ counts: documentCounts,
77
+ showSummary: (counts) => `\n ${counts.inputs} input(s), ${counts.outputs} output(s), ${counts.tests} test(s)`,
78
+ restoreSummary: (id, version, counts) => `✅ Restored v${version} onto ${id}: ${counts.inputs} input(s), ${counts.outputs} output(s), ${counts.tests} test(s)`,
79
+ restoreJsonExtra: () => ({}),
80
+ validateMeta: () => undefined,
81
+ renderValidation: renderJsScriptValidation
82
+ };
83
+ export function registerJsScriptVersionsCommands(jsscript, deps = {}) {
84
+ registerVersionCommands(jsscript, spec, deps, {
85
+ store: defaultStore,
86
+ validate: defaultValidate
87
+ });
88
+ }
89
+ //# sourceMappingURL=js-script-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-script-versions.js","sourceRoot":"","sources":["../../src/commands/js-script-versions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `nodetool jsscript validate`, `run`, `test`, `debug` and `versions` — the
3
+ * JS-script harness commands.
4
+ *
5
+ * `validate` checks a script document statically: the body's syntax and
6
+ * imports, ports the body reads that nothing declares, outputs no emit/output
7
+ * call reaches, tests naming ports the script lacks. `run` executes the body
8
+ * once in the QuickJS sandbox; `test` runs the document's own saved cases and
9
+ * exits non-zero on any failure — the selfcheck-friendly command. `debug`
10
+ * replays a scripted `--interact` session against the headless
11
+ * `ui_jsscript_*` bridge and writes a bundle. Every target is a script JSON
12
+ * file or a `js_scripts` row id; file targets need no database.
13
+ *
14
+ * Heavy dependencies (the database, the validator core, the sandbox, the
15
+ * bridge) are imported lazily inside each action, so command registration
16
+ * stays light and unit-testable.
17
+ */
18
+ import type { Command } from "commander";
19
+ import { renderJsScriptValidation } from "./js-script-validation-output.js";
20
+ export { renderJsScriptValidation };
21
+ /** `--inputs` is a JSON object; anything else names itself in the error. */
22
+ export declare function parseInputsOption(raw: string): Record<string, unknown>;
23
+ /**
24
+ * `--input-streams` stages items per handle for a body that reads `stream`:
25
+ * a JSON object whose every value is an array.
26
+ */
27
+ export declare function parseInputStreamsOption(raw: string): Record<string, unknown[]>;
28
+ export declare function registerJsScriptCommands(program: Command): void;
29
+ //# sourceMappingURL=js-script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-script.d.ts","sourceRoot":"","sources":["../../src/commands/js-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAoCpC,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWtE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,6BAwBlD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuK/D"}
@@ -0,0 +1,211 @@
1
+ import { printCommandError } from "../command-errors.js";
2
+ import { printDebugSummary } from "./debug-summary-output.js";
3
+ import { renderJsScriptValidation } from "./js-script-validation-output.js";
4
+ import { registerJsScriptVersionsCommands } from "./js-script-versions.js";
5
+ import { isRecord } from "../predicates.js";
6
+ export { renderJsScriptValidation };
7
+ /** Read a `js_scripts` row through the local database. */
8
+ async function scriptLoader() {
9
+ const { initDb, JsScript } = await import("@nodetool-ai/models");
10
+ const { getDefaultDbPath } = await import("@nodetool-ai/config");
11
+ let ready = false;
12
+ return async (id) => {
13
+ if (!ready) {
14
+ initDb(getDefaultDbPath());
15
+ ready = true;
16
+ }
17
+ const row = await JsScript.findById(id);
18
+ return row ? { id: row.id, name: row.name, document: row.document } : null;
19
+ };
20
+ }
21
+ /** `--inputs` is a JSON object; anything else names itself in the error. */
22
+ export function parseInputsOption(raw) {
23
+ let parsed;
24
+ try {
25
+ parsed = JSON.parse(raw);
26
+ }
27
+ catch (e) {
28
+ throw new Error(`--inputs is not valid JSON: ${e.message}`);
29
+ }
30
+ if (!isRecord(parsed)) {
31
+ throw new Error("--inputs must be a JSON object, e.g. '{\"a\":1}'");
32
+ }
33
+ return parsed;
34
+ }
35
+ /**
36
+ * `--input-streams` stages items per handle for a body that reads `stream`:
37
+ * a JSON object whose every value is an array.
38
+ */
39
+ export function parseInputStreamsOption(raw) {
40
+ let parsed;
41
+ try {
42
+ parsed = JSON.parse(raw);
43
+ }
44
+ catch (e) {
45
+ throw new Error(`--input-streams is not valid JSON: ${e.message}`);
46
+ }
47
+ if (!isRecord(parsed)) {
48
+ throw new Error("--input-streams must be a JSON object of arrays, e.g. '{\"nums\":[1,2,3]}'");
49
+ }
50
+ const staged = {};
51
+ for (const [handle, items] of Object.entries(parsed)) {
52
+ if (!Array.isArray(items)) {
53
+ throw new Error(`--input-streams entry "${handle}" is not an array`);
54
+ }
55
+ staged[handle] = items;
56
+ }
57
+ return staged;
58
+ }
59
+ export function registerJsScriptCommands(program) {
60
+ const jsscript = program
61
+ .command("jsscript")
62
+ .description("Work with JS script documents");
63
+ jsscript
64
+ .command("validate <script_id_or_file>")
65
+ .description("Validate a JS script without running it: body syntax, imports against the declared packages, undeclared inputs, outputs nothing emits, tests naming ports the script lacks. Takes a script JSON file or a js_scripts row id")
66
+ .option("--json", "Print the full JsScriptValidation as JSON")
67
+ .option("--warnings-as-errors", "Exit non-zero when there are warnings (not just errors)")
68
+ .action(async (ref, opts) => {
69
+ try {
70
+ const { runJsScriptValidate } = await import("../js-script-debug/index.js");
71
+ const { target, validation } = await runJsScriptValidate(ref, {
72
+ loadScript: await scriptLoader()
73
+ });
74
+ if (opts.json) {
75
+ console.log(JSON.stringify({ target, validation }, null, 2));
76
+ }
77
+ else {
78
+ console.log(renderJsScriptValidation(validation).join("\n"));
79
+ }
80
+ const failed = !validation.ok ||
81
+ (opts.warningsAsErrors === true && validation.warnings.length > 0);
82
+ process.exit(failed ? 1 : 0);
83
+ }
84
+ catch (e) {
85
+ printCommandError(e, opts.json);
86
+ process.exit(1);
87
+ }
88
+ });
89
+ jsscript
90
+ .command("run <script_id_or_file>")
91
+ .description("Run a JS script once in the QuickJS sandbox and print its outputs, streamed emits, logs and error")
92
+ .option("--inputs <json>", "Input values, e.g. '{\"a\":1}'")
93
+ .option("--input-streams <json>", "Items staged per handle for a body that reads `stream`, e.g. '{\"nums\":[1,2,3]}'")
94
+ .option("--json", "Print the run result as JSON")
95
+ .action(async (ref, opts) => {
96
+ let ok = false;
97
+ try {
98
+ const { runJsScriptOnce } = await import("../js-script-debug/index.js");
99
+ const inputs = opts.inputs ? parseInputsOption(opts.inputs) : {};
100
+ const inputStreams = opts.inputStreams
101
+ ? parseInputStreamsOption(opts.inputStreams)
102
+ : undefined;
103
+ const { result } = await runJsScriptOnce(ref, inputs, { loadScript: await scriptLoader() }, inputStreams);
104
+ if (opts.json) {
105
+ // process.exit below drops what a pipe has not taken yet, so a
106
+ // result past the pipe buffer (64 KB) arrived cut off.
107
+ await new Promise((resolve) => process.stdout.write(`${JSON.stringify(result, null, 2)}\n`, () => resolve()));
108
+ }
109
+ else {
110
+ printRunResult(result);
111
+ }
112
+ ok = result.ok;
113
+ }
114
+ catch (e) {
115
+ printCommandError(e, opts.json);
116
+ process.exit(1);
117
+ }
118
+ process.exit(ok ? 0 : 1);
119
+ });
120
+ jsscript
121
+ .command("test <script_id_or_file>")
122
+ .description("Run a JS script's saved test cases and grade each one. Exits non-zero when any case fails")
123
+ .option("--json", "Print the grade report as JSON")
124
+ .action(async (ref, opts) => {
125
+ let ok = false;
126
+ try {
127
+ const { runJsScriptTests } = await import("../js-script-debug/index.js");
128
+ const { report } = await runJsScriptTests(ref, {
129
+ loadScript: await scriptLoader()
130
+ });
131
+ if (opts.json) {
132
+ console.log(JSON.stringify(report, null, 2));
133
+ }
134
+ else {
135
+ printTestReport(report);
136
+ }
137
+ ok = report.ok;
138
+ }
139
+ catch (e) {
140
+ printCommandError(e, opts.json);
141
+ process.exit(1);
142
+ }
143
+ process.exit(ok ? 0 : 1);
144
+ });
145
+ jsscript
146
+ .command("debug <script_id_or_file>")
147
+ .description("Replay a scripted editing session against a JS script headlessly and collect a debug bundle (the document, the report, every step's result)")
148
+ .option("--interact <json>", 'Scripted steps: [{"tool":"set_code","input":{"code":"..."}}] — the ui_jsscript_ prefix is optional')
149
+ .option("--out <dir>", "Bundle output directory (default: nodetool-debug/jsscript-<id>-<timestamp>)")
150
+ .option("--json", "Print the full JsScriptDebugReport as JSON to stdout")
151
+ .action(async (ref, opts) => {
152
+ try {
153
+ const { parseInteractionScript, runJsScriptDebug } = await import("../js-script-debug/index.js");
154
+ const interact = opts.interact
155
+ ? parseInteractionScript(opts.interact)
156
+ : undefined;
157
+ const debugOptions = {};
158
+ if (interact) {
159
+ debugOptions.interact = interact;
160
+ }
161
+ if (opts.out) {
162
+ debugOptions.outDir = opts.out;
163
+ }
164
+ const { report, bundleDir } = await runJsScriptDebug(ref, debugOptions, {
165
+ loadScript: await scriptLoader(),
166
+ onLog: (line) => console.error(line)
167
+ });
168
+ if (opts.json) {
169
+ console.log(JSON.stringify(report, null, 2));
170
+ }
171
+ else {
172
+ printDebugSummary(report, bundleDir, {
173
+ label: "script",
174
+ meta: `${report.meta.inputCount} input(s), ${report.meta.outputCount} output(s), ${report.meta.testCount} test(s)`,
175
+ file: "jsscript.json"
176
+ });
177
+ }
178
+ process.exit(report.verdict.ok ? 0 : 1);
179
+ }
180
+ catch (e) {
181
+ printCommandError(e, opts.json);
182
+ process.exit(1);
183
+ }
184
+ });
185
+ registerJsScriptVersionsCommands(jsscript);
186
+ }
187
+ function printRunResult(result) {
188
+ console.log(`\n${result.ok ? "✅" : "❌"} ${result.ok ? "ran" : "failed"} in ${result.duration_ms}ms`);
189
+ if (result.error)
190
+ console.log(` error: ${result.error}`);
191
+ if (result.outputs) {
192
+ console.log(` outputs: ${JSON.stringify(result.outputs)}`);
193
+ }
194
+ if (result.streamed && result.streamed.length > 0) {
195
+ console.log(` streamed: ${JSON.stringify(result.streamed)}`);
196
+ }
197
+ for (const line of result.logs)
198
+ console.log(` log: ${line}`);
199
+ }
200
+ function printTestReport(report) {
201
+ console.log(`\n${report.ok ? "✅" : "❌"} ${report.passed} passed, ${report.failed} failed`);
202
+ for (const testCase of report.results) {
203
+ console.log(` ${testCase.ok ? "✓" : "✗"} ${testCase.name}`);
204
+ if (testCase.error)
205
+ console.log(` error: ${testCase.error}`);
206
+ for (const mismatch of testCase.mismatches) {
207
+ console.log(` ${mismatch.output}: expected ${JSON.stringify(mismatch.expected)}, got ${JSON.stringify(mismatch.actual)}`);
208
+ }
209
+ }
210
+ }
211
+ //# sourceMappingURL=js-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-script.js","sourceRoot":"","sources":["../../src/commands/js-script.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * `nodetool jtbd` — run the jobs an agent is asked to get done, and review how
3
+ * the runs went.
4
+ *
5
+ * Three subcommands, one loop:
6
+ *
7
+ * list what jobs exist, what they cross, how hard they are meant to be
8
+ * run drive a model through them and write a bundle per run
9
+ * optimize read those bundles back and propose a fix per run
10
+ *
11
+ * `run` and `optimize` are separate commands rather than one flag because the
12
+ * bundle is the handoff. A run costs model time and produces a record worth
13
+ * keeping; reviewing it is a different model, a different prompt, and often a
14
+ * different day. Splitting them means a bundle can be re-reviewed with a better
15
+ * optimizer without paying for the runs again — and that a human can read the
16
+ * transcript before any model proposes anything.
17
+ *
18
+ * `optimize` writes proposals into the bundle. It changes no prompt and no
19
+ * tool; see `packages/agents/src/jtbd/optimize.ts` for why.
20
+ */
21
+ import type { Command } from "commander";
22
+ type InitializeSecrets = () => Promise<void>;
23
+ /**
24
+ * The collaborators these subcommands reach for, behind loaders.
25
+ *
26
+ * `@nodetool-ai/agents` is heavy and `nodetool jtbd list` must not pay for it,
27
+ * so production still resolves both lazily through `import()`. Passing them in
28
+ * is what lets a test supply fakes without mocking modules: `typeof import(…)`
29
+ * is a type position, so naming the modules here loads nothing, and `Pick`
30
+ * keeps a double down to the members this file actually calls.
31
+ */
32
+ export interface JtbdDeps {
33
+ loadAgents: () => Promise<Pick<typeof import("@nodetool-ai/agents"), "JOBS_TO_BE_DONE" | "runJobSuite" | "optimizeFromRun" | "renderRunForReview">>;
34
+ loadProviders: () => Promise<Pick<typeof import("../providers.js"), "createProviderStrict" | "buildConfiguredProviders">>;
35
+ }
36
+ export declare function registerJtbdCommand(program: Command, initializeSecrets: InitializeSecrets, deps?: JtbdDeps): void;
37
+ export {};
38
+ //# sourceMappingURL=jtbd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jtbd.d.ts","sourceRoot":"","sources":["../../src/commands/jtbd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BzC,KAAK,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,OAAO,CACvB,IAAI,CACF,cAAc,qBAAqB,CAAC,EACpC,iBAAiB,GAAG,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,CAC7E,CACF,CAAC;IACF,aAAa,EAAE,MAAM,OAAO,CAC1B,IAAI,CACF,cAAc,iBAAiB,CAAC,EAChC,sBAAsB,GAAG,0BAA0B,CACpD,CACF,CAAC;CACH;AAyQD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,GAAE,QAAsB,GAC3B,IAAI,CA0CN"}