@nodetool-ai/cli 0.8.2 → 0.8.4-a24.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 (317) hide show
  1. package/README.md +27 -0
  2. package/dist/.nodetool-build-stamp +1 -1
  3. package/dist/affected/affected.d.ts +4 -1
  4. package/dist/affected/affected.d.ts.map +1 -1
  5. package/dist/affected/affected.js +9 -2
  6. package/dist/affected/affected.js.map +1 -1
  7. package/dist/app-debug/harness.js +1 -1
  8. package/dist/app-debug/harness.js.map +1 -1
  9. package/dist/child-exit.d.ts +3 -0
  10. package/dist/child-exit.d.ts.map +1 -0
  11. package/dist/child-exit.js +17 -0
  12. package/dist/child-exit.js.map +1 -0
  13. package/dist/command-errors.d.ts +7 -9
  14. package/dist/command-errors.d.ts.map +1 -1
  15. package/dist/command-errors.js +36 -2
  16. package/dist/command-errors.js.map +1 -1
  17. package/dist/commands/__tests__/jtbd.test.js +1 -1
  18. package/dist/commands/__tests__/jtbd.test.js.map +1 -1
  19. package/dist/commands/__tests__/runtime.test.d.ts +2 -0
  20. package/dist/commands/__tests__/runtime.test.d.ts.map +1 -0
  21. package/dist/commands/__tests__/runtime.test.js +128 -0
  22. package/dist/commands/__tests__/runtime.test.js.map +1 -0
  23. package/dist/commands/affected.d.ts.map +1 -1
  24. package/dist/commands/affected.js +10 -5
  25. package/dist/commands/affected.js.map +1 -1
  26. package/dist/commands/agent.d.ts.map +1 -1
  27. package/dist/commands/agent.js +11 -2
  28. package/dist/commands/agent.js.map +1 -1
  29. package/dist/commands/app.d.ts.map +1 -1
  30. package/dist/commands/app.js +3 -5
  31. package/dist/commands/app.js.map +1 -1
  32. package/dist/commands/apps.d.ts.map +1 -1
  33. package/dist/commands/apps.js +128 -34
  34. package/dist/commands/apps.js.map +1 -1
  35. package/dist/commands/authorized-pack-install.d.ts +7 -0
  36. package/dist/commands/authorized-pack-install.d.ts.map +1 -0
  37. package/dist/commands/authorized-pack-install.js +20 -0
  38. package/dist/commands/authorized-pack-install.js.map +1 -0
  39. package/dist/commands/debug.d.ts.map +1 -1
  40. package/dist/commands/debug.js +15 -3
  41. package/dist/commands/debug.js.map +1 -1
  42. package/dist/commands/deploy-helpers.d.ts +2 -1
  43. package/dist/commands/deploy-helpers.d.ts.map +1 -1
  44. package/dist/commands/eval.d.ts.map +1 -1
  45. package/dist/commands/eval.js +4 -3
  46. package/dist/commands/eval.js.map +1 -1
  47. package/dist/commands/game-benchmark.d.ts +4 -0
  48. package/dist/commands/game-benchmark.d.ts.map +1 -1
  49. package/dist/commands/game-benchmark.js +8 -0
  50. package/dist/commands/game-benchmark.js.map +1 -1
  51. package/dist/commands/game-smoke.d.ts.map +1 -1
  52. package/dist/commands/game-smoke.js +3 -3
  53. package/dist/commands/game-smoke.js.map +1 -1
  54. package/dist/commands/game.d.ts.map +1 -1
  55. package/dist/commands/game.js +112 -23
  56. package/dist/commands/game.js.map +1 -1
  57. package/dist/commands/harness.d.ts +21 -0
  58. package/dist/commands/harness.d.ts.map +1 -1
  59. package/dist/commands/harness.js +203 -13
  60. package/dist/commands/harness.js.map +1 -1
  61. package/dist/commands/install-missing-packs.d.ts +21 -0
  62. package/dist/commands/install-missing-packs.d.ts.map +1 -0
  63. package/dist/commands/install-missing-packs.js +48 -0
  64. package/dist/commands/install-missing-packs.js.map +1 -0
  65. package/dist/commands/js-script.d.ts.map +1 -1
  66. package/dist/commands/js-script.js +11 -9
  67. package/dist/commands/js-script.js.map +1 -1
  68. package/dist/commands/mcp.d.ts.map +1 -1
  69. package/dist/commands/mcp.js +2 -0
  70. package/dist/commands/mcp.js.map +1 -1
  71. package/dist/commands/node.d.ts.map +1 -1
  72. package/dist/commands/node.js +15 -3
  73. package/dist/commands/node.js.map +1 -1
  74. package/dist/commands/output.d.ts +8 -0
  75. package/dist/commands/output.d.ts.map +1 -1
  76. package/dist/commands/output.js +18 -0
  77. package/dist/commands/output.js.map +1 -1
  78. package/dist/commands/pack-install-authorization.d.ts +40 -0
  79. package/dist/commands/pack-install-authorization.d.ts.map +1 -0
  80. package/dist/commands/pack-install-authorization.js +131 -0
  81. package/dist/commands/pack-install-authorization.js.map +1 -0
  82. package/dist/commands/pack-management.d.ts +26 -0
  83. package/dist/commands/pack-management.d.ts.map +1 -0
  84. package/dist/commands/pack-management.js +74 -0
  85. package/dist/commands/pack-management.js.map +1 -0
  86. package/dist/commands/packs.d.ts +2 -1
  87. package/dist/commands/packs.d.ts.map +1 -1
  88. package/dist/commands/packs.js +7 -2
  89. package/dist/commands/packs.js.map +1 -1
  90. package/dist/commands/projects.d.ts +11 -0
  91. package/dist/commands/projects.d.ts.map +1 -0
  92. package/dist/commands/projects.js +145 -0
  93. package/dist/commands/projects.js.map +1 -0
  94. package/dist/commands/resource-read.d.ts.map +1 -1
  95. package/dist/commands/resource-read.js +11 -13
  96. package/dist/commands/resource-read.js.map +1 -1
  97. package/dist/commands/runs.js +1 -1
  98. package/dist/commands/runs.js.map +1 -1
  99. package/dist/commands/runtime.d.ts +3 -0
  100. package/dist/commands/runtime.d.ts.map +1 -0
  101. package/dist/commands/runtime.js +122 -0
  102. package/dist/commands/runtime.js.map +1 -0
  103. package/dist/commands/sketch.d.ts.map +1 -1
  104. package/dist/commands/sketch.js +2 -4
  105. package/dist/commands/sketch.js.map +1 -1
  106. package/dist/commands/timeline-render.d.ts +0 -10
  107. package/dist/commands/timeline-render.d.ts.map +1 -1
  108. package/dist/commands/timeline-render.js +20 -29
  109. package/dist/commands/timeline-render.js.map +1 -1
  110. package/dist/commands/timeline-score.d.ts.map +1 -1
  111. package/dist/commands/timeline-score.js +4 -4
  112. package/dist/commands/timeline-score.js.map +1 -1
  113. package/dist/commands/timeline.d.ts.map +1 -1
  114. package/dist/commands/timeline.js +2 -4
  115. package/dist/commands/timeline.js.map +1 -1
  116. package/dist/commands/validate.d.ts +2 -0
  117. package/dist/commands/validate.d.ts.map +1 -1
  118. package/dist/commands/validate.js +8 -3
  119. package/dist/commands/validate.js.map +1 -1
  120. package/dist/commands/version-commands.d.ts +2 -5
  121. package/dist/commands/version-commands.d.ts.map +1 -1
  122. package/dist/commands/version-commands.js +5 -10
  123. package/dist/commands/version-commands.js.map +1 -1
  124. package/dist/debug/server-runner.d.ts.map +1 -1
  125. package/dist/debug/server-runner.js +15 -1
  126. package/dist/debug/server-runner.js.map +1 -1
  127. package/dist/debug/target.d.ts.map +1 -1
  128. package/dist/debug/target.js +2 -11
  129. package/dist/debug/target.js.map +1 -1
  130. package/dist/debug-bundle.d.ts +12 -0
  131. package/dist/debug-bundle.d.ts.map +1 -0
  132. package/dist/debug-bundle.js +23 -0
  133. package/dist/debug-bundle.js.map +1 -0
  134. package/dist/document-json.d.ts +11 -0
  135. package/dist/document-json.d.ts.map +1 -0
  136. package/dist/document-json.js +27 -0
  137. package/dist/document-json.js.map +1 -0
  138. package/dist/evals/graph-runner.d.ts +1 -1
  139. package/dist/evals/graph-runner.d.ts.map +1 -1
  140. package/dist/evals/graph-runner.js +2 -2
  141. package/dist/evals/graph-runner.js.map +1 -1
  142. package/dist/harness/capability-coverage.d.ts +1 -1
  143. package/dist/harness/capability-coverage.d.ts.map +1 -1
  144. package/dist/harness/capability-coverage.js +1 -1
  145. package/dist/harness/capability-coverage.js.map +1 -1
  146. package/dist/harness/capability-table.d.ts.map +1 -1
  147. package/dist/harness/capability-table.js +87 -17
  148. package/dist/harness/capability-table.js.map +1 -1
  149. package/dist/harness/registry.d.ts.map +1 -1
  150. package/dist/harness/registry.js +183 -6
  151. package/dist/harness/registry.js.map +1 -1
  152. package/dist/index.js +13 -5
  153. package/dist/index.js.map +1 -1
  154. package/dist/install-lock.d.ts +12 -0
  155. package/dist/install-lock.d.ts.map +1 -0
  156. package/dist/install-lock.js +139 -0
  157. package/dist/install-lock.js.map +1 -0
  158. package/dist/js-script-debug/harness.d.ts +22 -0
  159. package/dist/js-script-debug/harness.d.ts.map +1 -1
  160. package/dist/js-script-debug/harness.js +14 -35
  161. package/dist/js-script-debug/harness.js.map +1 -1
  162. package/dist/js-script-debug/target.d.ts.map +1 -1
  163. package/dist/js-script-debug/target.js +1 -24
  164. package/dist/js-script-debug/target.js.map +1 -1
  165. package/dist/node/run-node.d.ts +3 -0
  166. package/dist/node/run-node.d.ts.map +1 -1
  167. package/dist/node/run-node.js +18 -2
  168. package/dist/node/run-node.js.map +1 -1
  169. package/dist/node-registry.d.ts +6 -4
  170. package/dist/node-registry.d.ts.map +1 -1
  171. package/dist/node-registry.js +10 -5
  172. package/dist/node-registry.js.map +1 -1
  173. package/dist/nodetool-main.js +114 -76
  174. package/dist/nodetool-main.js.map +1 -1
  175. package/dist/nodetool.js +8 -1
  176. package/dist/nodetool.js.map +1 -1
  177. package/dist/npm-runner.d.ts +23 -0
  178. package/dist/npm-runner.d.ts.map +1 -0
  179. package/dist/npm-runner.js +159 -0
  180. package/dist/npm-runner.js.map +1 -0
  181. package/dist/optional-node-root.d.ts +10 -0
  182. package/dist/optional-node-root.d.ts.map +1 -0
  183. package/dist/optional-node-root.js +26 -0
  184. package/dist/optional-node-root.js.map +1 -0
  185. package/dist/package-assets.d.ts +8 -0
  186. package/dist/package-assets.d.ts.map +1 -0
  187. package/dist/package-assets.js +21 -0
  188. package/dist/package-assets.js.map +1 -0
  189. package/dist/packs/command-service.d.ts +14 -0
  190. package/dist/packs/command-service.d.ts.map +1 -0
  191. package/dist/packs/command-service.js +190 -0
  192. package/dist/packs/command-service.js.map +1 -0
  193. package/dist/packs/doctor-lock.d.ts +8 -0
  194. package/dist/packs/doctor-lock.d.ts.map +1 -0
  195. package/dist/packs/doctor-lock.js +50 -0
  196. package/dist/packs/doctor-lock.js.map +1 -0
  197. package/dist/packs/doctor.d.ts +25 -0
  198. package/dist/packs/doctor.d.ts.map +1 -0
  199. package/dist/packs/doctor.js +12 -0
  200. package/dist/packs/doctor.js.map +1 -0
  201. package/dist/packs/global-bootstrap.d.ts +11 -0
  202. package/dist/packs/global-bootstrap.d.ts.map +1 -0
  203. package/dist/packs/global-bootstrap.js +72 -0
  204. package/dist/packs/global-bootstrap.js.map +1 -0
  205. package/dist/packs/host.d.ts +17 -0
  206. package/dist/packs/host.d.ts.map +1 -0
  207. package/dist/packs/host.js +79 -0
  208. package/dist/packs/host.js.map +1 -0
  209. package/dist/packs/install-manifests.d.ts +2 -0
  210. package/dist/packs/install-manifests.d.ts.map +1 -0
  211. package/dist/packs/install-manifests.js +30 -0
  212. package/dist/packs/install-manifests.js.map +1 -0
  213. package/dist/packs/install-process.d.ts +4 -0
  214. package/dist/packs/install-process.d.ts.map +1 -0
  215. package/dist/packs/install-process.js +11 -0
  216. package/dist/packs/install-process.js.map +1 -0
  217. package/dist/packs/install-selection.d.ts +39 -0
  218. package/dist/packs/install-selection.d.ts.map +1 -0
  219. package/dist/packs/install-selection.js +67 -0
  220. package/dist/packs/install-selection.js.map +1 -0
  221. package/dist/packs/install-state.d.ts +21 -0
  222. package/dist/packs/install-state.d.ts.map +1 -0
  223. package/dist/packs/install-state.js +44 -0
  224. package/dist/packs/install-state.js.map +1 -0
  225. package/dist/packs/install-tree.d.ts +35 -0
  226. package/dist/packs/install-tree.d.ts.map +1 -0
  227. package/dist/packs/install-tree.js +253 -0
  228. package/dist/packs/install-tree.js.map +1 -0
  229. package/dist/packs/install-verification.d.ts +12 -0
  230. package/dist/packs/install-verification.d.ts.map +1 -0
  231. package/dist/packs/install-verification.js +76 -0
  232. package/dist/packs/install-verification.js.map +1 -0
  233. package/dist/packs/installed.d.ts +36 -0
  234. package/dist/packs/installed.d.ts.map +1 -0
  235. package/dist/packs/installed.js +87 -0
  236. package/dist/packs/installed.js.map +1 -0
  237. package/dist/packs/installer-load-check.d.ts +4 -0
  238. package/dist/packs/installer-load-check.d.ts.map +1 -0
  239. package/dist/packs/installer-load-check.js +52 -0
  240. package/dist/packs/installer-load-check.js.map +1 -0
  241. package/dist/packs/installer.d.ts +16 -0
  242. package/dist/packs/installer.d.ts.map +1 -0
  243. package/dist/packs/installer.js +142 -0
  244. package/dist/packs/installer.js.map +1 -0
  245. package/dist/packs/management.d.ts +51 -0
  246. package/dist/packs/management.d.ts.map +1 -0
  247. package/dist/packs/management.js +81 -0
  248. package/dist/packs/management.js.map +1 -0
  249. package/dist/packs/mode.d.ts +42 -0
  250. package/dist/packs/mode.d.ts.map +1 -0
  251. package/dist/packs/mode.js +215 -0
  252. package/dist/packs/mode.js.map +1 -0
  253. package/dist/packs/owned-replay-plan.d.ts +5 -0
  254. package/dist/packs/owned-replay-plan.d.ts.map +1 -0
  255. package/dist/packs/owned-replay-plan.js +68 -0
  256. package/dist/packs/owned-replay-plan.js.map +1 -0
  257. package/dist/packs/removal-selection.d.ts +12 -0
  258. package/dist/packs/removal-selection.d.ts.map +1 -0
  259. package/dist/packs/removal-selection.js +169 -0
  260. package/dist/packs/removal-selection.js.map +1 -0
  261. package/dist/packs/removal.d.ts +12 -0
  262. package/dist/packs/removal.d.ts.map +1 -0
  263. package/dist/packs/removal.js +138 -0
  264. package/dist/packs/removal.js.map +1 -0
  265. package/dist/packs/repair.d.ts +2 -0
  266. package/dist/packs/repair.d.ts.map +1 -0
  267. package/dist/packs/repair.js +2 -0
  268. package/dist/packs/repair.js.map +1 -0
  269. package/dist/packs/serve.d.ts +2 -0
  270. package/dist/packs/serve.d.ts.map +1 -0
  271. package/dist/packs/serve.js +14 -0
  272. package/dist/packs/serve.js.map +1 -0
  273. package/dist/providers.d.ts +1 -1
  274. package/dist/providers.d.ts.map +1 -1
  275. package/dist/providers.js +46 -6
  276. package/dist/providers.js.map +1 -1
  277. package/dist/run-dsl-supervised.d.ts.map +1 -1
  278. package/dist/run-dsl-supervised.js +8 -1
  279. package/dist/run-dsl-supervised.js.map +1 -1
  280. package/dist/runtime-env.d.ts +4 -0
  281. package/dist/runtime-env.d.ts.map +1 -0
  282. package/dist/runtime-env.js +31 -0
  283. package/dist/runtime-env.js.map +1 -0
  284. package/dist/sandbox-catalog.d.ts +3 -1
  285. package/dist/sandbox-catalog.d.ts.map +1 -1
  286. package/dist/sandbox-catalog.js +7 -2
  287. package/dist/sandbox-catalog.js.map +1 -1
  288. package/dist/settings.d.ts.map +1 -1
  289. package/dist/settings.js +2 -0
  290. package/dist/settings.js.map +1 -1
  291. package/dist/sketch-debug/harness.d.ts +15 -1
  292. package/dist/sketch-debug/harness.d.ts.map +1 -1
  293. package/dist/sketch-debug/harness.js +11 -38
  294. package/dist/sketch-debug/harness.js.map +1 -1
  295. package/dist/sketch-debug/target.d.ts.map +1 -1
  296. package/dist/sketch-debug/target.js +1 -24
  297. package/dist/sketch-debug/target.js.map +1 -1
  298. package/dist/stdin.d.ts +6 -1
  299. package/dist/stdin.d.ts.map +1 -1
  300. package/dist/stdin.js +8 -0
  301. package/dist/stdin.js.map +1 -1
  302. package/dist/timeline-debug/harness.d.ts +14 -0
  303. package/dist/timeline-debug/harness.d.ts.map +1 -1
  304. package/dist/timeline-debug/harness.js +9 -31
  305. package/dist/timeline-debug/harness.js.map +1 -1
  306. package/dist/timeline-debug/target.d.ts.map +1 -1
  307. package/dist/timeline-debug/target.js +1 -24
  308. package/dist/timeline-debug/target.js.map +1 -1
  309. package/dist/validate/index.d.ts +3 -2
  310. package/dist/validate/index.d.ts.map +1 -1
  311. package/dist/validate/index.js +30 -2
  312. package/dist/validate/index.js.map +1 -1
  313. package/dist/workflow-file.d.ts +3 -0
  314. package/dist/workflow-file.d.ts.map +1 -0
  315. package/dist/workflow-file.js +176 -0
  316. package/dist/workflow-file.js.map +1 -0
  317. package/package.json +34 -40
package/README.md CHANGED
@@ -10,6 +10,33 @@ Ships two executables: `nodetool` for managing workflows, jobs, assets, models,
10
10
  npm install -g @nodetool-ai/cli
11
11
  ```
12
12
 
13
+ ## Agents and headless machines
14
+
15
+ The CLI needs Node.js 22 or later and nothing else: no repository, no `.env`,
16
+ and no desktop session. Provider keys are read from the environment.
17
+
18
+ ```bash
19
+ # Run as an MCP server over stdio for Claude Code, Codex, or any MCP client
20
+ npx -y -p @nodetool-ai/cli nodetool mcp serve
21
+
22
+ # Serve the HTTP + WebSocket API (health check at /health)
23
+ npx -y -p @nodetool-ai/cli nodetool serve --port 7777
24
+
25
+ # Run a workflow file and print its outputs as JSON
26
+ OPENAI_API_KEY=sk-... npx -y -p @nodetool-ai/cli nodetool \
27
+ workflows run workflow.json --params '{"prompt":"hello"}' --json
28
+ ```
29
+
30
+ Keep `-p @nodetool-ai/cli nodetool`. The package installs two executables, so
31
+ `npx @nodetool-ai/cli` cannot tell which one to run.
32
+
33
+ On a machine without a system keychain (a container, CI, or a server without
34
+ a D-Bus session) the encrypted secret store stays locked. The API server, the
35
+ MCP server, and workflow runs still start, and stored secrets are unavailable.
36
+ To store secrets there, set `SECRETS_MASTER_KEY` to a base64
37
+ 32-byte key, for example from `openssl rand -base64 32`, and keep the same
38
+ value for every run.
39
+
13
40
  ## Executables
14
41
 
15
42
  | Command | Description |
@@ -1 +1 @@
1
- 2026-10-07T23:10:05.943Z
1
+ 2026-10-16T07:30:12.498Z
@@ -17,7 +17,10 @@ export interface PackageInfo {
17
17
  * the reliability harness runs; editing one changes what
18
18
  * `nodetool reliability run` does, but the files sit outside
19
19
  * `reliability/harness/`, so a path-prefix match alone reports them as
20
- * belonging to no workspace.
20
+ * belonging to no workspace. `packages/system-skills/` and
21
+ * `packages/sandbox-packs/` are not workspaces either, for the same reason.
22
+ * Turbo cannot see this ownership: each owner's `test` inputs in turbo.json
23
+ * list the directory, and `scripts/ci-plan.mjs` drops `--affected` for it.
21
24
  */
22
25
  export declare const EXTRA_WORKSPACE_PATHS: Readonly<Record<string, readonly string[]>>;
23
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"AAeA,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAMjD,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAGlC,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CA2BrE;AAED,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uDAAuD;IACvD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,YAAI,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAyC3E,wBAAgB,eAAe,CAC7B,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EACnC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,GACnC,cAAc,CAmDhB"}
1
+ {"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"AAeA,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAMjD,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAOlC,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CA2BrE;AAED,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uDAAuD;IACvD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,YAAI,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAyC3E,wBAAgB,eAAe,CAC7B,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EACnC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,GACnC,cAAc,CAmDhB"}
@@ -27,10 +27,17 @@ export const DECORATOR_PACKAGES = new Set([
27
27
  * the reliability harness runs; editing one changes what
28
28
  * `nodetool reliability run` does, but the files sit outside
29
29
  * `reliability/harness/`, so a path-prefix match alone reports them as
30
- * belonging to no workspace.
30
+ * belonging to no workspace. `packages/system-skills/` and
31
+ * `packages/sandbox-packs/` are not workspaces either, for the same reason.
32
+ * Turbo cannot see this ownership: each owner's `test` inputs in turbo.json
33
+ * list the directory, and `scripts/ci-plan.mjs` drops `--affected` for it.
31
34
  */
32
35
  export const EXTRA_WORKSPACE_PATHS = {
33
- "@nodetool-ai/reliability-harness": ["reliability/journeys"]
36
+ "@nodetool-ai/reliability-harness": ["reliability/journeys"],
37
+ // Shipped skills, loaded by `agents` (src/system-skills.ts).
38
+ "@nodetool-ai/agents": ["packages/system-skills"],
39
+ // Guest packs, loaded by node-sdk's pack loader and so by everything above it.
40
+ "@nodetool-ai/node-sdk": ["packages/sandbox-packs"]
34
41
  };
35
42
  /**
36
43
  * Mobile is deliberately not a root workspace, so its dependency on NodeTool
@@ -1 +1 @@
1
- {"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/affected/affected.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;IACxB,8BAA8B;IAC9B,+BAA+B;CAChC,CAAC,CAAC;AAaH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAE9B;IACF,kCAAkC,EAAE,CAAC,sBAAsB,CAAC;IAC5D,6DAA6D;IAC7D,qBAAqB,EAAE,CAAC,wBAAwB,CAAC;IACjD,+EAA+E;IAC/E,uBAAuB,EAAE,CAAC,wBAAwB,CAAC;CACpD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,GAAG,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAA2B,EAAE,CACzD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC,CAAE,OAAO,CAAC,YAAY,CAAc;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG;YACX,GAAI,GAAG,CAAC,cAAc,CAAwC;YAC9D,GAAI,GAAG,CAAC,iBAAiB,CAAwC;SAClE,CAAC;QACF,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI;YACJ,GAAG;YACH,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC5E,GAAG,CAAC,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAeD,qFAAqF;AACrF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAE3E,SAAS,cAAc,CACrB,IAAY,EACZ,QAAoC;IAEpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,KAAK,GAA0C,EAAE,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,iFAAiF;IACjF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CACtB,QAAoC;IAEpC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,YAAmC,EACnC,QAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;;YACnB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,iEAAiE;QACjE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,IAA6C,CAAC,EAAE,CAAC;YACjF,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,mCAAmC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE;QAC5B,QAAQ,EAAE,YAAY;QACtB,UAAU;QACV,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -93,7 +93,7 @@ export async function runAppDebug(ref, options, deps) {
93
93
  const context = new Context({ userId: LOCAL_USER_ID, jobId: `app-debug-${Date.now()}`,
94
94
  secretResolver: getSecret, storage: new FileStorageAdapter(getDefaultAssetsPath()) });
95
95
  const recording = createAppDebugRunRecording({ userId: LOCAL_USER_ID, target: resolved,
96
- context, registry: deps.registry ?? buildFullRegistry(), loadWorkflow: deps.loadFromDb, loadScript,
96
+ context, registry: deps.registry ?? await buildFullRegistry(), loadWorkflow: deps.loadFromDb, loadScript,
97
97
  onRunCreated: (id) => { runIds.add(id); },
98
98
  applicationId: resolved.info.source === "application" ? resolved.info.ref : undefined,
99
99
  runWorkflow: (parent, input) => runOnServer({ ...input, context: parent }),
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/app-debug/harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/app-debug/harness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SpawnSyncReturns } from "node:child_process";
2
+ export declare function childExitCode(result: Pick<SpawnSyncReturns<unknown>, "status" | "signal" | "error">): number;
3
+ //# sourceMappingURL=child-exit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-exit.d.ts","sourceRoot":"","sources":["../src/child-exit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GACrE,MAAM,CAIR"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The exit code to pass on for a child run with `spawnSync`.
3
+ *
4
+ * `result.status` is null when the child was killed by a signal or never
5
+ * started (`result.error`), so `status ?? 0` reported a crashed or missing
6
+ * server as success. A signal maps to the shell's `128 + n`; anything else
7
+ * without a status is a failure.
8
+ */
9
+ import { constants } from "node:os";
10
+ export function childExitCode(result) {
11
+ if (result.status !== null)
12
+ return result.status;
13
+ if (result.signal)
14
+ return 128 + (constants.signals[result.signal] ?? 0);
15
+ return 1;
16
+ }
17
+ //# sourceMappingURL=child-exit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-exit.js","sourceRoot":"","sources":["../src/child-exit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,MAAM,UAAU,aAAa,CAC3B,MAAsE;IAEtE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1,10 +1,8 @@
1
- /**
2
- * One failure shape for the harness commands.
3
- *
4
- * An agent that invoked a command with `--json` parses stdout. When the command
5
- * crashes it used to get a stderr string and nothing to parse, so the failure
6
- * was indistinguishable from a broken pipe. The human message still goes to
7
- * stderr; `--json` additionally puts `{"error": …}` on stdout.
8
- */
9
- export declare function printCommandError(err: unknown, json?: boolean): void;
1
+ import { type MissingRuntimeDetails } from "@nodetool-ai/protocol";
2
+ import { type MissingPackDetails } from "@nodetool-ai/protocol";
3
+ export declare function commandMissingPack(value: unknown): MissingPackDetails | null;
4
+ export declare function commandMissingRuntime(value: unknown): MissingRuntimeDetails | null;
5
+ /** Missing runtimes use the shared install-required exit code. */
6
+ export declare function commandFailureExitCode(error: unknown): 1 | 3;
7
+ export declare function printCommandError(err: unknown, json?: boolean): 1 | 3;
10
8
  //# sourceMappingURL=command-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-errors.d.ts","sourceRoot":"","sources":["../src/command-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAIpE"}
1
+ {"version":3,"file":"command-errors.d.ts","sourceRoot":"","sources":["../src/command-errors.ts"],"names":[],"mappings":"AASA,OAAO,EAA4E,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC7I,OAAO,EAAmE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAWjI,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAK5E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAKlF;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAE5D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAOrE"}
@@ -6,10 +6,44 @@
6
6
  * was indistinguishable from a broken pipe. The human message still goes to
7
7
  * stderr; `--json` additionally puts `{"error": …}` on stdout.
8
8
  */
9
+ import { z } from "zod";
10
+ import { missingRuntimeDetailsOf, missingRuntimeDetailsSchema, missingRuntimeText } from "@nodetool-ai/protocol";
11
+ import { missingPackDetailsOf, missingPackDetailsSchema, missingPackText } from "@nodetool-ai/protocol";
12
+ const commandFailureSchema = z.object({
13
+ missingPack: missingPackDetailsSchema.optional().catch(undefined),
14
+ missingRuntime: missingRuntimeDetailsSchema.optional().catch(undefined),
15
+ server: z.object({
16
+ missingPack: missingPackDetailsSchema.optional().catch(undefined),
17
+ missingRuntime: missingRuntimeDetailsSchema.optional().catch(undefined)
18
+ }).optional().catch(undefined)
19
+ });
20
+ export function commandMissingPack(value) {
21
+ const details = missingPackDetailsOf(value);
22
+ if (details) {
23
+ return details;
24
+ }
25
+ const parsed = commandFailureSchema.safeParse(value);
26
+ return parsed.success ? parsed.data.missingPack ?? parsed.data.server?.missingPack ?? null : null;
27
+ }
28
+ export function commandMissingRuntime(value) {
29
+ const details = missingRuntimeDetailsOf(value);
30
+ if (details) {
31
+ return details;
32
+ }
33
+ const parsed = commandFailureSchema.safeParse(value);
34
+ return parsed.success ? parsed.data.missingRuntime ?? parsed.data.server?.missingRuntime ?? null : null;
35
+ }
36
+ /** Missing runtimes use the shared install-required exit code. */
37
+ export function commandFailureExitCode(error) {
38
+ return commandMissingRuntime(error) || commandMissingPack(error) ? 3 : 1;
39
+ }
9
40
  export function printCommandError(err, json) {
10
- const message = err instanceof Error ? err.message : String(err);
41
+ const missing = commandMissingRuntime(err);
42
+ const pack = commandMissingPack(err);
43
+ const message = missing ? missingRuntimeText(missing) : pack ? missingPackText(pack) : err instanceof Error ? err.message : String(err);
11
44
  console.error(message);
12
45
  if (json)
13
- console.log(JSON.stringify({ error: message }, null, 2));
46
+ console.log(JSON.stringify(missing ? { error: "missing_runtime_package", ...missing } : pack ?? { error: message }, null, 2));
47
+ return commandFailureExitCode(err);
14
48
  }
15
49
  //# sourceMappingURL=command-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-errors.js","sourceRoot":"","sources":["../src/command-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,IAAc;IAC5D,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"command-errors.js","sourceRoot":"","sources":["../src/command-errors.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ const TEST_JOB = {
20
20
  difficulty: "smoke",
21
21
  objective: "Do the test job",
22
22
  outcomeNames: [],
23
- start: () => ({ tools: [], grade: () => [] })
23
+ start: async () => ({ tools: [], grade: () => [] })
24
24
  };
25
25
  const originalExitCode = process.exitCode;
26
26
  afterEach(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"jtbd.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/jtbd.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jtbd.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/jtbd.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runtime.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/runtime.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * `nodetool runtime` and the optional-node root it fills. The root lives in
3
+ * the data directory, so each test points XDG_DATA_HOME / APPDATA at a
4
+ * temporary directory and never touches the real one or the network.
5
+ */
6
+ import { mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
7
+ import { tmpdir } from "node:os";
8
+ import { join } from "node:path";
9
+ import { Command } from "commander";
10
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
11
+ import { RUNTIME_NPM_PACKAGES } from "@nodetool-ai/protocol";
12
+ import { optionalNodeRoot, optionalNodeModulesDir, applyOptionalNodeModules } from "../../optional-node-root.js";
13
+ import { registerRuntimeCommands } from "../runtime.js";
14
+ import * as npmRunner from "../../npm-runner.js";
15
+ const ENV_KEYS = ["XDG_DATA_HOME", "APPDATA", "HOME", "USERPROFILE", "NODETOOL_OPTIONAL_NODE_MODULES", "NODETOOL_HOST", "PATH", "UV_TOOL_DIR", "UV_TOOL_BIN_DIR", "UV_PYTHON_INSTALL_DIR"];
16
+ let saved;
17
+ let dataHome;
18
+ beforeEach(async () => {
19
+ saved = Object.fromEntries(ENV_KEYS.map((key) => [key, process.env[key]]));
20
+ dataHome = await mkdtemp(join(tmpdir(), "nodetool-runtime-"));
21
+ process.env["XDG_DATA_HOME"] = dataHome;
22
+ process.env["APPDATA"] = dataHome;
23
+ process.env["HOME"] = dataHome;
24
+ process.env["USERPROFILE"] = dataHome;
25
+ process.env["NODETOOL_HOST"] = "cli";
26
+ delete process.env["NODETOOL_OPTIONAL_NODE_MODULES"];
27
+ });
28
+ afterEach(async () => {
29
+ for (const key of ENV_KEYS) {
30
+ const value = saved[key];
31
+ if (value === undefined) {
32
+ delete process.env[key];
33
+ }
34
+ else {
35
+ process.env[key] = value;
36
+ }
37
+ }
38
+ vi.restoreAllMocks();
39
+ await rm(dataHome, { recursive: true, force: true });
40
+ });
41
+ /** Install a fake package into the optional-node root. */
42
+ async function fakeInstall(name, version) {
43
+ const dir = join(optionalNodeModulesDir(), name);
44
+ await mkdir(dir, { recursive: true });
45
+ await writeFile(join(dir, "package.json"), JSON.stringify({ name, version }));
46
+ }
47
+ async function run(args) {
48
+ const program = new Command().exitOverride();
49
+ registerRuntimeCommands(program);
50
+ const lines = [];
51
+ vi.spyOn(console, "log").mockImplementation((line) => {
52
+ lines.push(String(line));
53
+ });
54
+ await program.parseAsync(["node", "nodetool", ...args]);
55
+ return lines.join("\n");
56
+ }
57
+ describe("applyOptionalNodeModules", () => {
58
+ it("sets the variable before node_modules exists so a later install can resolve", () => {
59
+ applyOptionalNodeModules();
60
+ expect(process.env["NODETOOL_OPTIONAL_NODE_MODULES"]).toBe(optionalNodeModulesDir());
61
+ });
62
+ it("points the variable at the root once something is installed", async () => {
63
+ await fakeInstall("js-tiktoken", "1.0.21");
64
+ applyOptionalNodeModules();
65
+ expect(process.env["NODETOOL_OPTIONAL_NODE_MODULES"]).toBe(optionalNodeModulesDir());
66
+ });
67
+ it("keeps a root the caller already chose", async () => {
68
+ await fakeInstall("js-tiktoken", "1.0.21");
69
+ process.env["NODETOOL_OPTIONAL_NODE_MODULES"] = "/desktop/optional-node";
70
+ applyOptionalNodeModules();
71
+ expect(process.env["NODETOOL_OPTIONAL_NODE_MODULES"]).toBe("/desktop/optional-node");
72
+ });
73
+ });
74
+ describe("nodetool runtime", () => {
75
+ it("lists every catalog package with what the root holds", async () => {
76
+ await fakeInstall("js-tiktoken", "1.0.21");
77
+ // Only one half of a two-package runtime package: not installed.
78
+ await fakeInstall("imapflow", "1.7.1");
79
+ const listed = JSON.parse(await run(["runtime", "list", "--json"]));
80
+ expect(listed.packages.map((row) => row.id).sort()).toEqual(Object.keys(RUNTIME_NPM_PACKAGES).sort());
81
+ const byId = new Map(listed.packages.map((row) => [row.id, row]));
82
+ expect(byId.get("tokenizer")).toMatchObject({ installed: true, version: "1.0.21" });
83
+ expect(byId.get("email-imap")).toMatchObject({ installed: false });
84
+ expect(byId.get("fabric")).toMatchObject({ installed: false });
85
+ });
86
+ it("refuses an unknown id before it runs npm", async () => {
87
+ await expect(run(["runtime", "add", "tokenizer", "left-pad"])).rejects.toThrow(/Unknown runtime package: left-pad/);
88
+ });
89
+ it("installs exact registry specs under the target lock with a module manifest", async () => {
90
+ vi.spyOn(console, "error").mockImplementation(() => undefined);
91
+ const npm = vi.spyOn(npmRunner, "runNpm").mockImplementation(async (root) => {
92
+ const manifest = JSON.parse(await readFile(join(root, "package.json"), "utf8"));
93
+ expect(manifest).toMatchObject({ private: true, type: "module" });
94
+ const lock = JSON.parse(await readFile(join(root, ".nodetool-runtime.lock"), "utf8"));
95
+ expect(lock).toMatchObject({ pid: process.pid });
96
+ expect(lock.token).toEqual(expect.any(String));
97
+ });
98
+ await run(["runtime", "add", "tokenizer"]);
99
+ expect(npm).toHaveBeenCalledWith(optionalNodeRoot(), ["install", ...RUNTIME_NPM_PACKAGES.tokenizer.npmPackages], expect.objectContaining({ mode: "local", scriptPolicy: "user" }));
100
+ await expect(readFile(join(optionalNodeRoot(), ".nodetool-runtime.lock"))).rejects.toMatchObject({ code: "ENOENT" });
101
+ });
102
+ it("removes only the requested package names under the same target lock", async () => {
103
+ await writeFile(join(dataHome, "package.json"), "{}");
104
+ await mkdir(optionalNodeRoot(), { recursive: true });
105
+ await writeFile(join(optionalNodeRoot(), "package.json"), "{}");
106
+ const npm = vi.spyOn(npmRunner, "runNpm").mockImplementation(async (root) => {
107
+ expect(JSON.parse(await readFile(join(root, ".nodetool-runtime.lock"), "utf8"))).toMatchObject({ pid: process.pid });
108
+ });
109
+ await run(["runtime", "remove", "tokenizer"]);
110
+ expect(npm).toHaveBeenCalledWith(optionalNodeRoot(), ["uninstall", ...RUNTIME_NPM_PACKAGES.tokenizer.packageNames], expect.objectContaining({ mode: "local", scriptPolicy: "user" }));
111
+ });
112
+ it("prints the root it installs into", async () => {
113
+ expect(await run(["runtime", "path"])).toBe(join(dataHome, "nodetool", "optional-node"));
114
+ });
115
+ });
116
+ describe("RUNTIME_NPM_PACKAGES", () => {
117
+ it("pins every spec to an exact version of a package it names", () => {
118
+ for (const [id, spec] of Object.entries(RUNTIME_NPM_PACKAGES)) {
119
+ const names = spec.npmPackages.map((entry) => {
120
+ const match = /^(@?[^@]+)@(?:npm:@typescript\/typescript6@)?(\d+\.\d+\.\d+)$/.exec(entry);
121
+ expect(match, `${id}: ${entry} is not name@x.y.z`).not.toBeNull();
122
+ return match?.[1];
123
+ });
124
+ expect([...names].sort(), id).toEqual([...spec.packageNames].sort());
125
+ }
126
+ });
127
+ });
128
+ //# sourceMappingURL=runtime.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/runtime.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwG9D"}
1
+ {"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6G9D"}
@@ -10,7 +10,7 @@ export function registerAffectedCommand(program) {
10
10
  const { readFileSync, readdirSync, existsSync } = await import("node:fs");
11
11
  const { join, resolve, dirname } = await import("node:path");
12
12
  const { fileURLToPath } = await import("node:url");
13
- const { execSync } = await import("node:child_process");
13
+ const { execFileSync } = await import("node:child_process");
14
14
  const here = dirname(fileURLToPath(import.meta.url));
15
15
  // dist layout: packages/cli/dist/commands → repo root is four up.
16
16
  const repoRoot = resolve(here, "..", "..", "..", "..");
@@ -66,10 +66,15 @@ export function registerAffectedCommand(program) {
66
66
  }
67
67
  let changedFiles = files;
68
68
  if (changedFiles.length === 0) {
69
- const cmd = opts.base
70
- ? `git diff --name-only ${opts.base}...HEAD`
71
- : "git status --porcelain";
72
- const out = execSync(cmd, { cwd: repoRoot, encoding: "utf8" });
69
+ // argv, never a shell line: `--base` is a git ref, and ref names
70
+ // may carry `;`, `$(…)` and backticks.
71
+ const args = opts.base
72
+ ? ["diff", "--name-only", `${opts.base}...HEAD`]
73
+ : ["status", "--porcelain"];
74
+ const out = execFileSync("git", args, {
75
+ cwd: repoRoot,
76
+ encoding: "utf8"
77
+ });
73
78
  changedFiles = opts.base
74
79
  ? out.split("\n").map((l) => l.trim()).filter(Boolean)
75
80
  : out
@@ -1 +1 @@
1
- {"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6JpC,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAcD,4EAA4E;AAC5E,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA+NvE;AAgJD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+D5D"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8JpC,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAcD,4EAA4E;AAC5E,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAwOvE;AAgJD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+D5D"}
@@ -30,6 +30,7 @@ import { budgetStopReason, budgetSummaryLine, createCliRunBudget } from "../run-
30
30
  import { createCliPermissionGate, parsePermissionMode, PERMISSION_MODE_NAMES } from "../permission-gate.js";
31
31
  import { diagnoseRun, renderDiagnosis } from "../diagnose.js";
32
32
  import { isRecord, isString } from "../predicates.js";
33
+ import { parseNumericOption } from "../numeric-options.js";
33
34
  const PROVIDER_ALIASES = {
34
35
  google: "gemini",
35
36
  googleai: "gemini",
@@ -155,6 +156,14 @@ export async function runAgentCommand(opts) {
155
156
  if (!modelId) {
156
157
  throw new Error("No model specified. Use --model <id>.");
157
158
  }
159
+ // `Number("ten")` is NaN, and a NaN round limit runs no rounds at all: the
160
+ // run then failed as if the model had answered nothing.
161
+ const maxIterations = opts.maxIterations === undefined
162
+ ? undefined
163
+ : parseNumericOption(opts.maxIterations, "--max-iterations", {
164
+ integer: true,
165
+ min: 1
166
+ });
158
167
  const objective = opts.objective ?? (await readObjectiveFromStdin());
159
168
  if (!objective) {
160
169
  throw new Error('No objective provided. Use --objective "..." or pipe it via stdin.');
@@ -224,7 +233,7 @@ export async function runAgentCommand(opts) {
224
233
  // configuration — the thing YAML configs were removed for — and an agent
225
234
  // run that behaves differently from the last one is not reproducible.
226
235
  const belt = buildCliAgentBelt({
227
- baseTools: buildCliToolbelt(configuredProviders, buildFullRegistry()),
236
+ baseTools: buildCliToolbelt(configuredProviders, await buildFullRegistry()),
228
237
  provider,
229
238
  model: modelId,
230
239
  forwardMessage: emit,
@@ -260,7 +269,7 @@ export async function runAgentCommand(opts) {
260
269
  context,
261
270
  tools: turn.tools,
262
271
  turnBudget: budget,
263
- maxIterations: opts.maxIterations === undefined ? undefined : Number(opts.maxIterations),
272
+ maxIterations,
264
273
  callbacks: {
265
274
  onChunk: (content) => {
266
275
  emit({ type: "chunk", content, done: false });