@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,408 @@
1
+ /**
2
+ * `nodetool generations` — the record of every media generation, from the
3
+ * local DB, no server needed.
4
+ *
5
+ * One row per provider media call, opened before the call and closed with
6
+ * its outcome (docs/media-generation-tracking-design.md). `list` and `get`
7
+ * read the rows, `await` waits for one to settle, `cancel` closes a running
8
+ * one, `reconcile` asks the provider what it billed, and `sweep` runs the
9
+ * startup sweep plus one drain of the reconcile queue by hand.
10
+ *
11
+ * `provider-list` and `provider-get` ask the *provider* instead: its own
12
+ * record of what this account ran, from any machine, at the price it billed.
13
+ * The seven actions are the `generations` agent capabilities.
14
+ */
15
+ import { deriveGenerationStatus, Prediction, getSecret } from "@nodetool-ai/models";
16
+ import { drainReconcileQueue, reconcileGeneration, sweepInterruptedGenerations } from "@nodetool-ai/execution";
17
+ import { isProviderGenerationsUnsupported } from "@nodetool-ai/runtime";
18
+ import { createProviderStrict } from "../providers.js";
19
+ import { asJson, printTable, printKv } from "./output.js";
20
+ import { setupLocalDb, LOCAL_USER_ID } from "./local-db.js";
21
+ import { isString } from "../predicates.js";
22
+ const PUBLIC_STATUSES = new Set([
23
+ "pending",
24
+ "running",
25
+ "recovering",
26
+ "completed",
27
+ "failed",
28
+ "cancelled",
29
+ "needs_attention",
30
+ "interrupted"
31
+ ]);
32
+ const TERMINAL = new Set([
33
+ "completed",
34
+ "failed",
35
+ "cancelled",
36
+ "needs_attention",
37
+ "interrupted"
38
+ ]);
39
+ function lifecycleError(row, key) {
40
+ const value = row.metadata?.[key];
41
+ return isString(value) ? value : null;
42
+ }
43
+ /** Completed is public only after the durable output has been saved. */
44
+ function publicGenerationStatus(row) {
45
+ if (row.status === "interrupted")
46
+ return "interrupted";
47
+ if (row.lifecycle_owner !== "durable") {
48
+ return PUBLIC_STATUSES.has(row.status) ? row.status : "pending";
49
+ }
50
+ return deriveGenerationStatus(row);
51
+ }
52
+ function fail(e) {
53
+ console.error(String(e instanceof Error ? e.message : e));
54
+ process.exit(1);
55
+ }
56
+ function costCell(cost) {
57
+ return cost == null ? "unpriced" : `$${cost.toFixed(4)}`;
58
+ }
59
+ /** The row, in the shape `get_generation` answers with. */
60
+ function record(row) {
61
+ const metadata = row.metadata ?? {};
62
+ return {
63
+ generation_id: row.id,
64
+ status: publicGenerationStatus(row),
65
+ submission_status: row.submission_status ?? null,
66
+ provider_status: row.provider_status ?? null,
67
+ output_status: row.output_status ?? null,
68
+ attachment_status: row.attachment_status ?? null,
69
+ provider: row.provider,
70
+ model: row.model,
71
+ capability: row.capability ?? null,
72
+ cost: row.cost,
73
+ currency: row.currency,
74
+ billing_unit: row.billing_unit,
75
+ quantity: row.quantity,
76
+ unit_price: row.unit_price,
77
+ price_source: metadata.price_source ?? null,
78
+ asset_ids: row.asset_ids ?? [],
79
+ started_at: row.started_at,
80
+ completed_at: row.completed_at,
81
+ duration_seconds: row.duration,
82
+ generation_error: row.error,
83
+ submission_error: lifecycleError(row, "submission_error"),
84
+ provider_error: lifecycleError(row, "provider_error"),
85
+ output_error: lifecycleError(row, "output_error"),
86
+ attachment_error: lifecycleError(row, "attachment_error"),
87
+ origin: {
88
+ surface: row.surface ?? null,
89
+ thread_id: row.thread_id ?? null,
90
+ tool_call_id: row.tool_call_id ?? null,
91
+ job_id: row.job_id ?? null,
92
+ node_id: row.node_id,
93
+ workflow_id: row.workflow_id
94
+ },
95
+ provider_request_id: row.provider_request_id,
96
+ reconcile: {
97
+ reconciled_at: row.reconciled_at ?? null,
98
+ attempts: row.reconcile_attempts ?? 0,
99
+ error: metadata.reconcile_error ?? null,
100
+ next_at: metadata.reconcile_next_at ?? null
101
+ },
102
+ parameters: row.parameters
103
+ };
104
+ }
105
+ function summaryRow(row) {
106
+ return {
107
+ id: row.id,
108
+ status: publicGenerationStatus(row),
109
+ provider: row.provider,
110
+ model: row.model,
111
+ capability: row.capability ?? "",
112
+ cost: costCell(row.cost),
113
+ assets: (row.asset_ids ?? []).join(","),
114
+ output: row.output_status ?? "",
115
+ started: row.started_at ?? row.created_at ?? ""
116
+ };
117
+ }
118
+ const resolveSecret = (key, userId) => getSecret(key, userId);
119
+ const PROVIDER_STATUSES = new Set([
120
+ "running",
121
+ "completed",
122
+ "failed",
123
+ "cancelled",
124
+ "unknown"
125
+ ]);
126
+ /** `--status` as the provider vocabulary, rejecting anything else outright. */
127
+ function providerStatusOption(value) {
128
+ if (!PROVIDER_STATUSES.has(value)) {
129
+ fail(`Invalid --status value: ${value}. One of ${[...PROVIDER_STATUSES].join(", ")}.`);
130
+ }
131
+ // SAFETY: the set holds exactly the members of ProviderGenerationStatus.
132
+ return value;
133
+ }
134
+ /** A provider with no history API is a capability answer, not a stack trace. */
135
+ function providerGenerationsMessage(providerId, error) {
136
+ if (isProviderGenerationsUnsupported(error)) {
137
+ return (`${providerId} exposes no generation history. Read this installation's ` +
138
+ `own record with \`nodetool generations list\`.`);
139
+ }
140
+ return String(error instanceof Error ? error.message : error);
141
+ }
142
+ function providerSummaryRow(row) {
143
+ return {
144
+ request_id: row.request_id,
145
+ status: row.status,
146
+ model: row.model ?? "",
147
+ cost: costCell(row.cost),
148
+ started: row.created_at ?? "",
149
+ outputs: String(row.output_urls.length)
150
+ };
151
+ }
152
+ export function registerGenerationsCommands(program) {
153
+ const generations = program
154
+ .command("generations")
155
+ .description("Inspect, wait on, cancel and reconcile media generations");
156
+ generations
157
+ .command("list")
158
+ .description("List generations, newest first")
159
+ .option("--status <status>", "pending, running, recovering, completed, failed, cancelled, needs_attention, interrupted")
160
+ .option("--provider <name>", "Filter by provider")
161
+ .option("--capability <name>", "Filter by capability, e.g. text_to_video")
162
+ .option("--thread-id <id>", "Only generations a chat thread asked for")
163
+ .option("--job-id <id>", "Only generations a workflow run asked for")
164
+ .option("--since <iso>", "Only generations created at or after this time")
165
+ .option("--limit <n>", "Max results", "50")
166
+ .option("--json", "Output as JSON")
167
+ .action(async (opts) => {
168
+ const limit = Number.parseInt(opts.limit, 10);
169
+ if (!Number.isFinite(limit) || limit <= 0) {
170
+ console.error(`Invalid --limit value: ${opts.limit}`);
171
+ process.exit(1);
172
+ }
173
+ try {
174
+ await setupLocalDb();
175
+ const [rows, next] = await Prediction.listGenerations(LOCAL_USER_ID, {
176
+ status: opts.status,
177
+ provider: opts.provider,
178
+ capability: opts.capability,
179
+ threadId: opts.threadId,
180
+ jobId: opts.jobId,
181
+ since: opts.since,
182
+ limit
183
+ });
184
+ if (opts.json) {
185
+ asJson({ generations: rows.map(record), next: next || null });
186
+ return;
187
+ }
188
+ if (rows.length === 0) {
189
+ console.log("No generations recorded.");
190
+ return;
191
+ }
192
+ printTable(rows.map(summaryRow));
193
+ }
194
+ catch (e) {
195
+ fail(e);
196
+ }
197
+ });
198
+ generations
199
+ .command("get <generation_id>")
200
+ .description("Read one generation in full")
201
+ .option("--json", "Output as JSON")
202
+ .action(async (id, opts) => {
203
+ try {
204
+ await setupLocalDb();
205
+ const row = await Prediction.findForUser(LOCAL_USER_ID, id);
206
+ if (!row)
207
+ fail(`Generation ${id} was not found.`);
208
+ const rec = record(row);
209
+ if (opts.json) {
210
+ asJson(rec);
211
+ return;
212
+ }
213
+ printKv(rec);
214
+ }
215
+ catch (e) {
216
+ fail(e);
217
+ }
218
+ });
219
+ generations
220
+ .command("await <generation_id>")
221
+ .description("Wait for a generation to settle, polling the row")
222
+ .option("--timeout <seconds>", "How long to wait", "300")
223
+ .option("--json", "Output as JSON")
224
+ .action(async (id, opts) => {
225
+ const timeoutMs = Math.max(1, Number.parseInt(opts.timeout, 10) || 300) * 1000;
226
+ try {
227
+ await setupLocalDb();
228
+ const deadline = Date.now() + timeoutMs;
229
+ let row = await Prediction.findForUser(LOCAL_USER_ID, id);
230
+ if (!row)
231
+ fail(`Generation ${id} was not found.`);
232
+ while (!TERMINAL.has(publicGenerationStatus(row)) &&
233
+ Date.now() < deadline) {
234
+ await new Promise((r) => setTimeout(r, 2_000));
235
+ row = (await Prediction.findForUser(LOCAL_USER_ID, id)) ?? row;
236
+ }
237
+ const rec = record(row);
238
+ if (opts.json) {
239
+ asJson(rec);
240
+ }
241
+ else {
242
+ printKv(rec);
243
+ }
244
+ // The exit code is the verdict: a generation still running when the
245
+ // wait ran out is not a settled one.
246
+ process.exit(TERMINAL.has(publicGenerationStatus(row)) ? 0 : 1);
247
+ }
248
+ catch (e) {
249
+ fail(e);
250
+ }
251
+ });
252
+ generations
253
+ .command("cancel <generation_id>")
254
+ .description("Close a running generation as cancelled")
255
+ .option("--json", "Output as JSON")
256
+ .action(async (id, opts) => {
257
+ try {
258
+ await setupLocalDb();
259
+ const row = await Prediction.findForUser(LOCAL_USER_ID, id);
260
+ const isDurable = row?.lifecycle_owner === "durable";
261
+ const cancellationRequested = isDurable
262
+ ? await Prediction.requestCancellation(id, LOCAL_USER_ID)
263
+ : false;
264
+ const cancelled = isDurable
265
+ ? false
266
+ : await Prediction.markCancelledIfRunning(id, LOCAL_USER_ID);
267
+ const succeeded = cancellationRequested || cancelled;
268
+ const result = {
269
+ generation_id: id,
270
+ cancelled,
271
+ cancellation_requested: cancellationRequested
272
+ };
273
+ if (opts.json)
274
+ asJson(result);
275
+ else
276
+ console.log(cancellationRequested
277
+ ? `Cancellation requested for durable generation ${id}. The worker will close the record after the provider responds.`
278
+ : cancelled
279
+ ? `Generation ${id} cancelled. A call running in a server process finishes on its own; the record is closed.`
280
+ : `Generation ${id} is not running — it already settled, or it does not exist.`);
281
+ process.exit(succeeded ? 0 : 1);
282
+ }
283
+ catch (e) {
284
+ fail(e);
285
+ }
286
+ });
287
+ generations
288
+ .command("reconcile <generation_id>")
289
+ .description("Ask the provider what it billed, by request id, and update the row")
290
+ .option("--json", "Output as JSON")
291
+ .action(async (id, opts) => {
292
+ try {
293
+ await setupLocalDb();
294
+ const outcome = await reconcileGeneration(id, LOCAL_USER_ID, (key) => resolveSecret(key, LOCAL_USER_ID));
295
+ if (!outcome.found)
296
+ fail(`Generation ${id} was not found.`);
297
+ const result = {
298
+ generation_id: id,
299
+ before: outcome.before,
300
+ after: outcome.after,
301
+ reconciled: outcome.reconciled,
302
+ reason: outcome.reason ?? null
303
+ };
304
+ if (opts.json)
305
+ asJson(result);
306
+ else
307
+ printKv(result);
308
+ process.exit(outcome.reconciled ? 0 : 1);
309
+ }
310
+ catch (e) {
311
+ fail(e);
312
+ }
313
+ });
314
+ generations
315
+ .command("provider-list")
316
+ .description("List the provider's own record of this account's generations")
317
+ .requiredOption("--provider <name>", "Provider id, e.g. fal_ai")
318
+ .option("--model <id>", "Only this endpoint / model id (comma-separated)")
319
+ .option("--status <status>", "running, completed, failed, cancelled, unknown")
320
+ .option("--since <iso>", "Only generations started at or after this time")
321
+ .option("--until <iso>", "Exclusive upper bound")
322
+ .option("--limit <n>", "Max results", "50")
323
+ .option("--cursor <cursor>", "The next_cursor from a previous page")
324
+ .option("--json", "Output as JSON")
325
+ .action(async (opts) => {
326
+ try {
327
+ await setupLocalDb();
328
+ const provider = await createProviderStrict(opts.provider);
329
+ const query = {
330
+ limit: Math.max(1, Number.parseInt(opts.limit, 10) || 50)
331
+ };
332
+ if (opts.model)
333
+ query.model = opts.model.split(",").map((m) => m.trim());
334
+ if (opts.status)
335
+ query.status = providerStatusOption(opts.status);
336
+ if (opts.since)
337
+ query.since = opts.since;
338
+ if (opts.until)
339
+ query.until = opts.until;
340
+ if (opts.cursor)
341
+ query.cursor = opts.cursor;
342
+ const page = await provider.listGenerations(query);
343
+ if (opts.json) {
344
+ asJson(page);
345
+ return;
346
+ }
347
+ if (page.generations.length === 0) {
348
+ console.log(`${opts.provider} reports no generations.`);
349
+ }
350
+ else {
351
+ printTable(page.generations.map(providerSummaryRow));
352
+ }
353
+ if (page.note)
354
+ console.log(page.note);
355
+ if (page.next_cursor)
356
+ console.log(`next_cursor: ${page.next_cursor}`);
357
+ }
358
+ catch (e) {
359
+ fail(providerGenerationsMessage(opts.provider, e));
360
+ }
361
+ });
362
+ generations
363
+ .command("provider-get <request_id>")
364
+ .description("Ask a provider about one generation, by its own request id")
365
+ .requiredOption("--provider <name>", "Provider id, e.g. fal_ai")
366
+ .option("--model <id>", "The endpoint / model id, when known")
367
+ .option("--json", "Output as JSON")
368
+ .action(async (requestId, opts) => {
369
+ try {
370
+ await setupLocalDb();
371
+ const provider = await createProviderStrict(opts.provider);
372
+ const lookup = {};
373
+ if (opts.model)
374
+ lookup.model = opts.model;
375
+ const row = await provider.getGeneration(requestId, lookup);
376
+ if (!row)
377
+ fail(`${opts.provider} has no request ${requestId}.`);
378
+ if (opts.json)
379
+ asJson(row);
380
+ else
381
+ printKv({ ...row });
382
+ }
383
+ catch (e) {
384
+ fail(providerGenerationsMessage(opts.provider, e));
385
+ }
386
+ });
387
+ generations
388
+ .command("sweep")
389
+ .description("Close running rows older than now as interrupted, then drain the reconcile queue once")
390
+ .option("--json", "Output as JSON")
391
+ .action(async (opts) => {
392
+ try {
393
+ await setupLocalDb();
394
+ // Nothing is running in this process, so every open row is orphaned.
395
+ const interrupted = await sweepInterruptedGenerations(new Date().toISOString());
396
+ const reconciled = await drainReconcileQueue(resolveSecret);
397
+ const result = { interrupted, reconcile_attempts: reconciled };
398
+ if (opts.json)
399
+ asJson(result);
400
+ else
401
+ printKv(result);
402
+ }
403
+ catch (e) {
404
+ fail(e);
405
+ }
406
+ });
407
+ }
408
+ //# sourceMappingURL=generations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generations.js","sourceRoot":"","sources":["../../src/commands/generations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * `nodetool harness` — list the registry, audit surface coverage, and run
3
+ * the gate.
4
+ *
5
+ * The registry (src/harness/registry.ts) is the source of truth for
6
+ * harness-first engineering: `list` prints every headless harness and what it
7
+ * can do; `audit` prints each product surface with the harnesses covering it
8
+ * and the documented gaps (`--strict` exits non-zero while any gap remains);
9
+ * `gate` maps a diff onto surfaces and runs the selfcheck of every harness
10
+ * covering a touched surface — the checks are selected by the diff, not by
11
+ * the author. `gate`'s changed-file collection (rename handling, deleted
12
+ * files, base-ref + working-tree merge) lives in ../harness/changed-files.ts;
13
+ * `--timeout <seconds>` bounds each selfcheck (default 900s, fails closed on
14
+ * timeout); a code file no surface claims fails the gate outright, and
15
+ * `--strict` also fails on a touched surface only a gap note covers.
16
+ * Selfchecks that only re-run workspace test suites `npm run test:affected`
17
+ * already runs (`suiteOnly`) are skipped unless `--include-suites`.
18
+ * `--jobs <n>` runs the cheap selfchecks n at a time, each one's output
19
+ * buffered and printed as one block; expensive selfchecks stay serial.
20
+ *
21
+ * Every import of a built workspace package in this file is lazy, so the
22
+ * planning commands (`list`, `audit`, `gate --dry-run`) work on a tree whose
23
+ * `dist/` is not built (see ../nodetool.ts).
24
+ */
25
+ import type { Command } from "commander";
26
+ import { type GateCheck, type GatePlan } from "../harness/registry.js";
27
+ export declare function registerHarnessCommands(program: Command): void;
28
+ /**
29
+ * Split a plan's checks into what runs now and what is deliberately left out.
30
+ * A suite-only check is skipped (and named) rather than silently dropped:
31
+ * `npm run test:affected` runs the same suites for the same diff, so running
32
+ * them here again is pure repetition unless `--include-suites` asks for it.
33
+ */
34
+ export declare function selectChecks(checks: readonly GateCheck[], opts: {
35
+ expensive?: boolean;
36
+ includeSuites?: boolean;
37
+ }): {
38
+ toRun: GateCheck[];
39
+ skippedExpensive: GateCheck[];
40
+ skippedSuites: GateCheck[];
41
+ };
42
+ export interface GateCheckResult {
43
+ harnessId: string;
44
+ command: string;
45
+ ok: boolean;
46
+ exitCode: number;
47
+ timedOut: boolean;
48
+ /** Killed by a signal or a spawn error that is not the timeout. */
49
+ killed: boolean;
50
+ }
51
+ export interface ExecuteChecksOptions {
52
+ repoRoot: string;
53
+ json: boolean;
54
+ timeoutMs: number;
55
+ timeoutSeconds: number;
56
+ jobs: number;
57
+ }
58
+ /**
59
+ * Run the selected selfchecks and return their results in plan order.
60
+ *
61
+ * With `jobs` of 1 every check runs serially in plan order with live output.
62
+ * With more, the cheap checks run `jobs` at a time with buffered output
63
+ * printed per check as a block, then the expensive ones run serially: they
64
+ * stage bundles and bind ports, so they cannot share a machine with each other
65
+ * or with the cheap pool.
66
+ */
67
+ export declare function executeChecks(checks: readonly GateCheck[], o: ExecuteChecksOptions): Promise<GateCheckResult[]>;
68
+ export declare function printGatePlan(plan: GatePlan, runCount: number, skippedExpensive: number, skippedSuites: readonly GateCheck[], all?: boolean): void;
69
+ //# sourceMappingURL=harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../src/commands/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAML,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AA+BhC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwW9D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACrD;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,aAAa,EAAE,SAAS,EAAE,CAAC;CAC5B,CAQA;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AA0KD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,CAAC,EAAE,oBAAoB,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAgD5B;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,SAAS,SAAS,EAAE,EACnC,GAAG,CAAC,EAAE,OAAO,GACZ,IAAI,CA8DN"}