@mobrienv/autoloop 0.3.0 → 0.7.0

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 (415) hide show
  1. package/README.md +140 -43
  2. package/bin/autoloop +1 -1
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.js +19 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/testing/mock-backend.js +3 -5
  7. package/dist/testing/mock-backend.js.map +1 -1
  8. package/package.json +32 -10
  9. package/plugins/autoloop/.claude-plugin/plugin.json +1 -1
  10. package/dist/agent-map.d.ts +0 -10
  11. package/dist/agent-map.js +0 -58
  12. package/dist/agent-map.js.map +0 -1
  13. package/dist/backend/acp-client.d.ts +0 -38
  14. package/dist/backend/acp-client.js +0 -288
  15. package/dist/backend/acp-client.js.map +0 -1
  16. package/dist/backend/index.d.ts +0 -10
  17. package/dist/backend/index.js +0 -71
  18. package/dist/backend/index.js.map +0 -1
  19. package/dist/backend/kiro-bridge.d.ts +0 -17
  20. package/dist/backend/kiro-bridge.js +0 -84
  21. package/dist/backend/kiro-bridge.js.map +0 -1
  22. package/dist/backend/kiro-worker.d.ts +0 -1
  23. package/dist/backend/kiro-worker.js +0 -92
  24. package/dist/backend/kiro-worker.js.map +0 -1
  25. package/dist/backend/run-command.d.ts +0 -7
  26. package/dist/backend/run-command.js +0 -50
  27. package/dist/backend/run-command.js.map +0 -1
  28. package/dist/backend/run-kiro.d.ts +0 -3
  29. package/dist/backend/run-kiro.js +0 -16
  30. package/dist/backend/run-kiro.js.map +0 -1
  31. package/dist/backend/run-mock.d.ts +0 -1
  32. package/dist/backend/run-mock.js +0 -6
  33. package/dist/backend/run-mock.js.map +0 -1
  34. package/dist/backend/run-pi.d.ts +0 -5
  35. package/dist/backend/run-pi.js +0 -5
  36. package/dist/backend/run-pi.js.map +0 -1
  37. package/dist/backend/types.d.ts +0 -21
  38. package/dist/backend/types.js +0 -2
  39. package/dist/backend/types.js.map +0 -1
  40. package/dist/chains/budget.d.ts +0 -7
  41. package/dist/chains/budget.js +0 -54
  42. package/dist/chains/budget.js.map +0 -1
  43. package/dist/chains/load.d.ts +0 -18
  44. package/dist/chains/load.js +0 -129
  45. package/dist/chains/load.js.map +0 -1
  46. package/dist/chains/render.d.ts +0 -2
  47. package/dist/chains/render.js +0 -74
  48. package/dist/chains/render.js.map +0 -1
  49. package/dist/chains/run.d.ts +0 -17
  50. package/dist/chains/run.js +0 -260
  51. package/dist/chains/run.js.map +0 -1
  52. package/dist/chains/types.d.ts +0 -38
  53. package/dist/chains/types.js +0 -2
  54. package/dist/chains/types.js.map +0 -1
  55. package/dist/chains.d.ts +0 -6
  56. package/dist/chains.js +0 -5
  57. package/dist/chains.js.map +0 -1
  58. package/dist/commands/chain.d.ts +0 -1
  59. package/dist/commands/chain.js +0 -53
  60. package/dist/commands/chain.js.map +0 -1
  61. package/dist/commands/config.d.ts +0 -1
  62. package/dist/commands/config.js +0 -74
  63. package/dist/commands/config.js.map +0 -1
  64. package/dist/commands/dashboard.d.ts +0 -1
  65. package/dist/commands/dashboard.js +0 -68
  66. package/dist/commands/dashboard.js.map +0 -1
  67. package/dist/commands/guide.d.ts +0 -1
  68. package/dist/commands/guide.js +0 -33
  69. package/dist/commands/guide.js.map +0 -1
  70. package/dist/commands/inspect.d.ts +0 -1
  71. package/dist/commands/inspect.js +0 -203
  72. package/dist/commands/inspect.js.map +0 -1
  73. package/dist/commands/list.d.ts +0 -1
  74. package/dist/commands/list.js +0 -15
  75. package/dist/commands/list.js.map +0 -1
  76. package/dist/commands/loops.d.ts +0 -1
  77. package/dist/commands/loops.js +0 -72
  78. package/dist/commands/loops.js.map +0 -1
  79. package/dist/commands/memory.d.ts +0 -1
  80. package/dist/commands/memory.js +0 -65
  81. package/dist/commands/memory.js.map +0 -1
  82. package/dist/commands/pi-adapter.d.ts +0 -1
  83. package/dist/commands/pi-adapter.js +0 -6
  84. package/dist/commands/pi-adapter.js.map +0 -1
  85. package/dist/commands/run.d.ts +0 -1
  86. package/dist/commands/run.js +0 -292
  87. package/dist/commands/run.js.map +0 -1
  88. package/dist/commands/runs.d.ts +0 -1
  89. package/dist/commands/runs.js +0 -50
  90. package/dist/commands/runs.js.map +0 -1
  91. package/dist/commands/task.d.ts +0 -1
  92. package/dist/commands/task.js +0 -74
  93. package/dist/commands/task.js.map +0 -1
  94. package/dist/commands/worktree.d.ts +0 -1
  95. package/dist/commands/worktree.js +0 -162
  96. package/dist/commands/worktree.js.map +0 -1
  97. package/dist/config.d.ts +0 -31
  98. package/dist/config.js +0 -261
  99. package/dist/config.js.map +0 -1
  100. package/dist/dashboard/app.d.ts +0 -12
  101. package/dist/dashboard/app.js +0 -23
  102. package/dist/dashboard/app.js.map +0 -1
  103. package/dist/dashboard/routes/api.d.ts +0 -3
  104. package/dist/dashboard/routes/api.js +0 -130
  105. package/dist/dashboard/routes/api.js.map +0 -1
  106. package/dist/dashboard/routes/pages.d.ts +0 -2
  107. package/dist/dashboard/routes/pages.js +0 -14
  108. package/dist/dashboard/routes/pages.js.map +0 -1
  109. package/dist/dashboard/views/alpine-vendor.d.ts +0 -1
  110. package/dist/dashboard/views/alpine-vendor.js +0 -10
  111. package/dist/dashboard/views/alpine-vendor.js.map +0 -1
  112. package/dist/dashboard/views/shell.d.ts +0 -1
  113. package/dist/dashboard/views/shell.js +0 -746
  114. package/dist/dashboard/views/shell.js.map +0 -1
  115. package/dist/events/decode.d.ts +0 -2
  116. package/dist/events/decode.js +0 -45
  117. package/dist/events/decode.js.map +0 -1
  118. package/dist/events/encode.d.ts +0 -2
  119. package/dist/events/encode.js +0 -33
  120. package/dist/events/encode.js.map +0 -1
  121. package/dist/events/guards.d.ts +0 -5
  122. package/dist/events/guards.js +0 -42
  123. package/dist/events/guards.js.map +0 -1
  124. package/dist/events/types.d.ts +0 -26
  125. package/dist/events/types.js +0 -2
  126. package/dist/events/types.js.map +0 -1
  127. package/dist/harness/config-helpers.d.ts +0 -35
  128. package/dist/harness/config-helpers.js +0 -411
  129. package/dist/harness/config-helpers.js.map +0 -1
  130. package/dist/harness/coordination.d.ts +0 -1
  131. package/dist/harness/coordination.js +0 -127
  132. package/dist/harness/coordination.js.map +0 -1
  133. package/dist/harness/display.d.ts +0 -21
  134. package/dist/harness/display.js +0 -176
  135. package/dist/harness/display.js.map +0 -1
  136. package/dist/harness/emit.d.ts +0 -15
  137. package/dist/harness/emit.js +0 -240
  138. package/dist/harness/emit.js.map +0 -1
  139. package/dist/harness/index.d.ts +0 -13
  140. package/dist/harness/index.js +0 -240
  141. package/dist/harness/index.js.map +0 -1
  142. package/dist/harness/iteration.d.ts +0 -16
  143. package/dist/harness/iteration.js +0 -131
  144. package/dist/harness/iteration.js.map +0 -1
  145. package/dist/harness/journal.d.ts +0 -31
  146. package/dist/harness/journal.js +0 -178
  147. package/dist/harness/journal.js.map +0 -1
  148. package/dist/harness/metareview.d.ts +0 -4
  149. package/dist/harness/metareview.js +0 -48
  150. package/dist/harness/metareview.js.map +0 -1
  151. package/dist/harness/metrics.d.ts +0 -12
  152. package/dist/harness/metrics.js +0 -180
  153. package/dist/harness/metrics.js.map +0 -1
  154. package/dist/harness/parallel.d.ts +0 -37
  155. package/dist/harness/parallel.js +0 -237
  156. package/dist/harness/parallel.js.map +0 -1
  157. package/dist/harness/prompt.d.ts +0 -46
  158. package/dist/harness/prompt.js +0 -403
  159. package/dist/harness/prompt.js.map +0 -1
  160. package/dist/harness/scratchpad.d.ts +0 -2
  161. package/dist/harness/scratchpad.js +0 -67
  162. package/dist/harness/scratchpad.js.map +0 -1
  163. package/dist/harness/stop.d.ts +0 -5
  164. package/dist/harness/stop.js +0 -70
  165. package/dist/harness/stop.js.map +0 -1
  166. package/dist/harness/tools.d.ts +0 -3
  167. package/dist/harness/tools.js +0 -65
  168. package/dist/harness/tools.js.map +0 -1
  169. package/dist/harness/types.d.ts +0 -110
  170. package/dist/harness/types.js +0 -2
  171. package/dist/harness/types.js.map +0 -1
  172. package/dist/harness/wave/finalize-wave.d.ts +0 -9
  173. package/dist/harness/wave/finalize-wave.js +0 -87
  174. package/dist/harness/wave/finalize-wave.js.map +0 -1
  175. package/dist/harness/wave/launch-branches.d.ts +0 -6
  176. package/dist/harness/wave/launch-branches.js +0 -314
  177. package/dist/harness/wave/launch-branches.js.map +0 -1
  178. package/dist/harness/wave/parse-objectives.d.ts +0 -3
  179. package/dist/harness/wave/parse-objectives.js +0 -32
  180. package/dist/harness/wave/parse-objectives.js.map +0 -1
  181. package/dist/harness/wave/types.d.ts +0 -43
  182. package/dist/harness/wave/types.js +0 -2
  183. package/dist/harness/wave/types.js.map +0 -1
  184. package/dist/harness/wave.d.ts +0 -6
  185. package/dist/harness/wave.js +0 -159
  186. package/dist/harness/wave.js.map +0 -1
  187. package/dist/isolation/index.d.ts +0 -4
  188. package/dist/isolation/index.js +0 -3
  189. package/dist/isolation/index.js.map +0 -1
  190. package/dist/isolation/resolve.d.ts +0 -39
  191. package/dist/isolation/resolve.js +0 -118
  192. package/dist/isolation/resolve.js.map +0 -1
  193. package/dist/isolation/run-scope.d.ts +0 -21
  194. package/dist/isolation/run-scope.js +0 -50
  195. package/dist/isolation/run-scope.js.map +0 -1
  196. package/dist/json.d.ts +0 -8
  197. package/dist/json.js +0 -82
  198. package/dist/json.js.map +0 -1
  199. package/dist/loops/health.d.ts +0 -16
  200. package/dist/loops/health.js +0 -152
  201. package/dist/loops/health.js.map +0 -1
  202. package/dist/loops/list.d.ts +0 -6
  203. package/dist/loops/list.js +0 -21
  204. package/dist/loops/list.js.map +0 -1
  205. package/dist/loops/policy.d.ts +0 -6
  206. package/dist/loops/policy.js +0 -41
  207. package/dist/loops/policy.js.map +0 -1
  208. package/dist/loops/render.d.ts +0 -19
  209. package/dist/loops/render.js +0 -100
  210. package/dist/loops/render.js.map +0 -1
  211. package/dist/loops/show.d.ts +0 -8
  212. package/dist/loops/show.js +0 -31
  213. package/dist/loops/show.js.map +0 -1
  214. package/dist/loops/watch.d.ts +0 -14
  215. package/dist/loops/watch.js +0 -143
  216. package/dist/loops/watch.js.map +0 -1
  217. package/dist/main.d.ts +0 -1
  218. package/dist/main.js +0 -148
  219. package/dist/main.js.map +0 -1
  220. package/dist/markdown.d.ts +0 -10
  221. package/dist/markdown.js +0 -66
  222. package/dist/markdown.js.map +0 -1
  223. package/dist/memory-render.d.ts +0 -6
  224. package/dist/memory-render.js +0 -81
  225. package/dist/memory-render.js.map +0 -1
  226. package/dist/memory.d.ts +0 -22
  227. package/dist/memory.js +0 -318
  228. package/dist/memory.js.map +0 -1
  229. package/dist/pi-adapter.d.ts +0 -1
  230. package/dist/pi-adapter.js +0 -220
  231. package/dist/pi-adapter.js.map +0 -1
  232. package/dist/profiles.d.ts +0 -12
  233. package/dist/profiles.js +0 -71
  234. package/dist/profiles.js.map +0 -1
  235. package/dist/registry/derive.d.ts +0 -8
  236. package/dist/registry/derive.js +0 -88
  237. package/dist/registry/derive.js.map +0 -1
  238. package/dist/registry/discover.d.ts +0 -20
  239. package/dist/registry/discover.js +0 -98
  240. package/dist/registry/discover.js.map +0 -1
  241. package/dist/registry/harness.d.ts +0 -7
  242. package/dist/registry/harness.js +0 -63
  243. package/dist/registry/harness.js.map +0 -1
  244. package/dist/registry/index.d.ts +0 -6
  245. package/dist/registry/index.js +0 -6
  246. package/dist/registry/index.js.map +0 -1
  247. package/dist/registry/read.d.ts +0 -11
  248. package/dist/registry/read.js +0 -50
  249. package/dist/registry/read.js.map +0 -1
  250. package/dist/registry/rebuild.d.ts +0 -5
  251. package/dist/registry/rebuild.js +0 -22
  252. package/dist/registry/rebuild.js.map +0 -1
  253. package/dist/registry/types.d.ts +0 -28
  254. package/dist/registry/types.js +0 -2
  255. package/dist/registry/types.js.map +0 -1
  256. package/dist/registry/update.d.ts +0 -2
  257. package/dist/registry/update.js +0 -7
  258. package/dist/registry/update.js.map +0 -1
  259. package/dist/tasks-render.d.ts +0 -2
  260. package/dist/tasks-render.js +0 -44
  261. package/dist/tasks-render.js.map +0 -1
  262. package/dist/tasks.d.ts +0 -24
  263. package/dist/tasks.js +0 -184
  264. package/dist/tasks.js.map +0 -1
  265. package/dist/topology.d.ts +0 -31
  266. package/dist/topology.js +0 -309
  267. package/dist/topology.js.map +0 -1
  268. package/dist/usage.d.ts +0 -9
  269. package/dist/usage.js +0 -159
  270. package/dist/usage.js.map +0 -1
  271. package/dist/utils.d.ts +0 -21
  272. package/dist/utils.js +0 -349
  273. package/dist/utils.js.map +0 -1
  274. package/dist/worktree/clean.d.ts +0 -12
  275. package/dist/worktree/clean.js +0 -98
  276. package/dist/worktree/clean.js.map +0 -1
  277. package/dist/worktree/create.d.ts +0 -14
  278. package/dist/worktree/create.js +0 -71
  279. package/dist/worktree/create.js.map +0 -1
  280. package/dist/worktree/index.d.ts +0 -10
  281. package/dist/worktree/index.js +0 -6
  282. package/dist/worktree/index.js.map +0 -1
  283. package/dist/worktree/list.d.ts +0 -9
  284. package/dist/worktree/list.js +0 -24
  285. package/dist/worktree/list.js.map +0 -1
  286. package/dist/worktree/merge.d.ts +0 -11
  287. package/dist/worktree/merge.js +0 -129
  288. package/dist/worktree/merge.js.map +0 -1
  289. package/dist/worktree/meta.d.ts +0 -17
  290. package/dist/worktree/meta.js +0 -34
  291. package/dist/worktree/meta.js.map +0 -1
  292. package/presets/autocode/README.md +0 -81
  293. package/presets/autocode/autoloops.toml +0 -30
  294. package/presets/autocode/harness.md +0 -26
  295. package/presets/autocode/miniloops.toml +0 -22
  296. package/presets/autocode/roles/build.md +0 -34
  297. package/presets/autocode/roles/critic.md +0 -40
  298. package/presets/autocode/roles/finalizer.md +0 -43
  299. package/presets/autocode/roles/planner.md +0 -40
  300. package/presets/autocode/topology.toml +0 -32
  301. package/presets/autodoc/README.md +0 -42
  302. package/presets/autodoc/autoloops.toml +0 -21
  303. package/presets/autodoc/harness.md +0 -19
  304. package/presets/autodoc/miniloops.toml +0 -21
  305. package/presets/autodoc/roles/auditor.md +0 -39
  306. package/presets/autodoc/roles/checker.md +0 -43
  307. package/presets/autodoc/roles/publisher.md +0 -51
  308. package/presets/autodoc/roles/writer.md +0 -37
  309. package/presets/autodoc/topology.toml +0 -31
  310. package/presets/autofix/README.md +0 -56
  311. package/presets/autofix/autoloops.toml +0 -24
  312. package/presets/autofix/harness.md +0 -25
  313. package/presets/autofix/miniloops.toml +0 -21
  314. package/presets/autofix/roles/closer.md +0 -48
  315. package/presets/autofix/roles/diagnoser.md +0 -43
  316. package/presets/autofix/roles/fixer.md +0 -28
  317. package/presets/autofix/roles/verifier.md +0 -31
  318. package/presets/autofix/topology.toml +0 -33
  319. package/presets/autoideas/README.md +0 -73
  320. package/presets/autoideas/autoloops.toml +0 -18
  321. package/presets/autoideas/harness.md +0 -31
  322. package/presets/autoideas/miniloops.toml +0 -18
  323. package/presets/autoideas/roles/analyst.md +0 -32
  324. package/presets/autoideas/roles/reviewer.md +0 -36
  325. package/presets/autoideas/roles/scanner.md +0 -26
  326. package/presets/autoideas/roles/synthesizer.md +0 -61
  327. package/presets/autoideas/topology.toml +0 -32
  328. package/presets/automerge/README.md +0 -3
  329. package/presets/automerge/autoloops.toml +0 -12
  330. package/presets/automerge/harness.md +0 -10
  331. package/presets/automerge/miniloops.toml +0 -12
  332. package/presets/automerge/roles/merge.md +0 -10
  333. package/presets/automerge/topology.toml +0 -10
  334. package/presets/autoperf/README.md +0 -56
  335. package/presets/autoperf/autoloops.toml +0 -21
  336. package/presets/autoperf/harness.md +0 -21
  337. package/presets/autoperf/miniloops.toml +0 -21
  338. package/presets/autoperf/roles/judge.md +0 -38
  339. package/presets/autoperf/roles/measurer.md +0 -36
  340. package/presets/autoperf/roles/optimizer.md +0 -35
  341. package/presets/autoperf/roles/profiler.md +0 -38
  342. package/presets/autoperf/topology.toml +0 -32
  343. package/presets/autopr/README.md +0 -99
  344. package/presets/autopr/autoloops.toml +0 -22
  345. package/presets/autopr/harness.md +0 -27
  346. package/presets/autopr/miniloops.toml +0 -22
  347. package/presets/autopr/roles/collector.md +0 -55
  348. package/presets/autopr/roles/drafter.md +0 -38
  349. package/presets/autopr/roles/publisher.md +0 -28
  350. package/presets/autopr/roles/validator.md +0 -31
  351. package/presets/autopr/topology.toml +0 -32
  352. package/presets/autoqa/README.md +0 -76
  353. package/presets/autoqa/autoloops.toml +0 -21
  354. package/presets/autoqa/harness.md +0 -30
  355. package/presets/autoqa/miniloops.toml +0 -21
  356. package/presets/autoqa/roles/executor.md +0 -43
  357. package/presets/autoqa/roles/inspector.md +0 -45
  358. package/presets/autoqa/roles/planner.md +0 -55
  359. package/presets/autoqa/roles/reporter.md +0 -74
  360. package/presets/autoqa/topology.toml +0 -31
  361. package/presets/autoresearch/README.md +0 -63
  362. package/presets/autoresearch/autoloops.toml +0 -18
  363. package/presets/autoresearch/harness.md +0 -28
  364. package/presets/autoresearch/miniloops.toml +0 -18
  365. package/presets/autoresearch/roles/benchmarker.md +0 -34
  366. package/presets/autoresearch/roles/evaluator.md +0 -33
  367. package/presets/autoresearch/roles/implementer.md +0 -26
  368. package/presets/autoresearch/roles/strategist.md +0 -43
  369. package/presets/autoresearch/topology.toml +0 -31
  370. package/presets/autoreview/README.md +0 -51
  371. package/presets/autoreview/autoloops.toml +0 -21
  372. package/presets/autoreview/harness.md +0 -20
  373. package/presets/autoreview/miniloops.toml +0 -21
  374. package/presets/autoreview/roles/checker.md +0 -36
  375. package/presets/autoreview/roles/reader.md +0 -33
  376. package/presets/autoreview/roles/suggester.md +0 -26
  377. package/presets/autoreview/roles/summarizer.md +0 -57
  378. package/presets/autoreview/topology.toml +0 -31
  379. package/presets/autosec/README.md +0 -51
  380. package/presets/autosec/autoloops.toml +0 -21
  381. package/presets/autosec/harness.md +0 -20
  382. package/presets/autosec/miniloops.toml +0 -21
  383. package/presets/autosec/roles/analyst.md +0 -38
  384. package/presets/autosec/roles/hardener.md +0 -36
  385. package/presets/autosec/roles/reporter.md +0 -63
  386. package/presets/autosec/roles/scanner.md +0 -38
  387. package/presets/autosec/topology.toml +0 -31
  388. package/presets/autosimplify/README.md +0 -83
  389. package/presets/autosimplify/autoloops.toml +0 -26
  390. package/presets/autosimplify/harness.md +0 -25
  391. package/presets/autosimplify/miniloops.toml +0 -22
  392. package/presets/autosimplify/roles/reviewer.md +0 -38
  393. package/presets/autosimplify/roles/scoper.md +0 -42
  394. package/presets/autosimplify/roles/simplifier.md +0 -51
  395. package/presets/autosimplify/roles/verifier.md +0 -40
  396. package/presets/autosimplify/topology.toml +0 -32
  397. package/presets/autospec/README.md +0 -84
  398. package/presets/autospec/autoloops.toml +0 -21
  399. package/presets/autospec/harness.md +0 -23
  400. package/presets/autospec/miniloops.toml +0 -21
  401. package/presets/autospec/roles/clarifier.md +0 -39
  402. package/presets/autospec/roles/critic.md +0 -41
  403. package/presets/autospec/roles/designer.md +0 -37
  404. package/presets/autospec/roles/planner.md +0 -38
  405. package/presets/autospec/roles/researcher.md +0 -33
  406. package/presets/autospec/topology.toml +0 -38
  407. package/presets/autotest/README.md +0 -55
  408. package/presets/autotest/autoloops.toml +0 -21
  409. package/presets/autotest/harness.md +0 -21
  410. package/presets/autotest/miniloops.toml +0 -21
  411. package/presets/autotest/roles/assessor.md +0 -57
  412. package/presets/autotest/roles/runner.md +0 -31
  413. package/presets/autotest/roles/surveyor.md +0 -39
  414. package/presets/autotest/roles/writer.md +0 -37
  415. package/presets/autotest/topology.toml +0 -32
@@ -1,152 +0,0 @@
1
- import { readMergedRegistry } from "../registry/discover.js";
2
- import { policyForPreset } from "./policy.js";
3
- import { renderListHeader, renderRunLine } from "./render.js";
4
- const RECENT_WINDOW_MS = 24 * 60 * 60 * 1000; // 24 hours
5
- /**
6
- * Produce a health summary string from the registry.
7
- * Exception-focused: only surfaces issues by default.
8
- * Pass verbose=true to also list recent completions.
9
- */
10
- export function healthSummary(stateDir, verbose) {
11
- const result = categorizeRuns(stateDir);
12
- return renderHealth(result, verbose);
13
- }
14
- export function categorizeRuns(stateDir) {
15
- const all = readMergedRegistry(stateDir);
16
- return categorizeRecords(all);
17
- }
18
- export function categorizeRecords(records, nowMs = Date.now()) {
19
- const active = [];
20
- const watching = [];
21
- const stuck = [];
22
- const recentFailed = [];
23
- const recentCompleted = [];
24
- for (const r of records) {
25
- if (r.status === "running") {
26
- // If PID is recorded and the process is dead, treat as stopped
27
- if (r.pid != null && !isProcessAlive(r.pid)) {
28
- r.status = "stopped";
29
- r.stop_reason = r.stop_reason || "interrupted";
30
- // Fall through to non-running classification
31
- }
32
- else {
33
- const elapsed = elapsedMs(r, nowMs);
34
- if (elapsed === null) {
35
- active.push(r);
36
- continue;
37
- }
38
- const policy = policyForPreset(r.preset);
39
- if (elapsed > policy.stuckAfterMs) {
40
- stuck.push(r);
41
- }
42
- else if (elapsed > policy.warningAfterMs) {
43
- watching.push(r);
44
- }
45
- else {
46
- active.push(r);
47
- }
48
- continue;
49
- }
50
- }
51
- if (!isRecent(r, nowMs))
52
- continue;
53
- if (r.status === "failed" || r.status === "timed_out") {
54
- recentFailed.push(r);
55
- }
56
- else if (r.status === "completed") {
57
- recentCompleted.push(r);
58
- }
59
- }
60
- return { active, watching, stuck, recentFailed, recentCompleted };
61
- }
62
- function elapsedMs(r, nowMs) {
63
- if (!r.updated_at)
64
- return null;
65
- const updatedMs = new Date(r.updated_at).getTime();
66
- if (Number.isNaN(updatedMs))
67
- return null;
68
- return nowMs - updatedMs;
69
- }
70
- function isProcessAlive(pid) {
71
- try {
72
- process.kill(pid, 0);
73
- return true;
74
- }
75
- catch {
76
- return false;
77
- }
78
- }
79
- function isRecent(r, nowMs) {
80
- if (!r.updated_at)
81
- return false;
82
- const updatedMs = new Date(r.updated_at).getTime();
83
- if (Number.isNaN(updatedMs))
84
- return false;
85
- return nowMs - updatedMs <= RECENT_WINDOW_MS;
86
- }
87
- function renderHealth(h, verbose) {
88
- const hasExceptions = h.stuck.length > 0 || h.recentFailed.length > 0 || h.watching.length > 0;
89
- if (!hasExceptions && h.active.length === 0) {
90
- return ("All clear. 0 active, " +
91
- h.recentCompleted.length +
92
- " completed in last 24h.");
93
- }
94
- if (!hasExceptions) {
95
- return ("All clear. " +
96
- h.active.length +
97
- " active, " +
98
- h.recentCompleted.length +
99
- " completed in last 24h.");
100
- }
101
- const lines = [];
102
- lines.push("Health: " +
103
- h.active.length +
104
- " active, " +
105
- h.watching.length +
106
- " watching, " +
107
- h.stuck.length +
108
- " stuck, " +
109
- h.recentFailed.length +
110
- " failed (last 24h)");
111
- lines.push("");
112
- if (h.stuck.length > 0) {
113
- lines.push("STUCK:");
114
- lines.push(renderListHeader());
115
- for (const r of h.stuck)
116
- lines.push(renderRunLine(r));
117
- lines.push("");
118
- }
119
- if (h.watching.length > 0) {
120
- lines.push("WATCHING:");
121
- lines.push(renderListHeader());
122
- for (const r of h.watching)
123
- lines.push(renderRunLine(r));
124
- lines.push("");
125
- }
126
- if (h.recentFailed.length > 0) {
127
- lines.push("FAILED:");
128
- lines.push(renderListHeader());
129
- for (const r of h.recentFailed)
130
- lines.push(renderRunLine(r));
131
- lines.push("");
132
- }
133
- if (h.active.length > 0) {
134
- lines.push("ACTIVE:");
135
- lines.push(renderListHeader());
136
- for (const r of h.active)
137
- lines.push(renderRunLine(r));
138
- lines.push("");
139
- }
140
- if (verbose && h.recentCompleted.length > 0) {
141
- lines.push("COMPLETED (last 24h):");
142
- lines.push(renderListHeader());
143
- for (const r of h.recentCompleted)
144
- lines.push(renderRunLine(r));
145
- lines.push("");
146
- }
147
- // Trim trailing blank line
148
- while (lines.length > 0 && lines[lines.length - 1] === "")
149
- lines.pop();
150
- return lines.join("\n");
151
- }
152
- //# sourceMappingURL=health.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/loops/health.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * List runs from the merged registry (root + chain/worktree children).
3
- * When `all` is false, only active (running) runs are shown.
4
- * When `all` is true, all runs are shown sorted by updated_at descending.
5
- */
6
- export declare function listRuns(stateDir: string, all: boolean): string;
@@ -1,21 +0,0 @@
1
- import { mergedActiveRuns, readMergedRegistry } from "../registry/discover.js";
2
- import { renderListHeader, renderRunLine } from "./render.js";
3
- /**
4
- * List runs from the merged registry (root + chain/worktree children).
5
- * When `all` is false, only active (running) runs are shown.
6
- * When `all` is true, all runs are shown sorted by updated_at descending.
7
- */
8
- export function listRuns(stateDir, all) {
9
- const runs = all
10
- ? readMergedRegistry(stateDir).sort((a, b) => b.updated_at.localeCompare(a.updated_at))
11
- : mergedActiveRuns(stateDir);
12
- if (runs.length === 0) {
13
- return all ? "No runs found." : "No active runs.";
14
- }
15
- const lines = [renderListHeader()];
16
- for (const r of runs) {
17
- lines.push(renderRunLine(r));
18
- }
19
- return lines.join("\n");
20
- }
21
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/loops/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,GAAY;IACrD,MAAM,IAAI,GAAG,GAAG;QACd,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CACzC;QACH,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACpD,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,6 +0,0 @@
1
- export interface SupervisionPolicy {
2
- label: string;
3
- warningAfterMs: number;
4
- stuckAfterMs: number;
5
- }
6
- export declare function policyForPreset(preset: string): SupervisionPolicy;
@@ -1,41 +0,0 @@
1
- const DEFAULT_POLICY = {
2
- label: "default",
3
- warningAfterMs: 5 * 60 * 1000,
4
- stuckAfterMs: 10 * 60 * 1000,
5
- };
6
- const POLICIES = {
7
- autospec: {
8
- label: "autospec",
9
- warningAfterMs: 10 * 60 * 1000,
10
- stuckAfterMs: 20 * 60 * 1000,
11
- },
12
- autocode: {
13
- label: "autocode",
14
- warningAfterMs: 5 * 60 * 1000,
15
- stuckAfterMs: 12 * 60 * 1000,
16
- },
17
- autosimplify: {
18
- label: "autosimplify",
19
- warningAfterMs: 2 * 60 * 1000,
20
- stuckAfterMs: 6 * 60 * 1000,
21
- },
22
- autoqa: {
23
- label: "autoqa",
24
- warningAfterMs: 6 * 60 * 1000,
25
- stuckAfterMs: 15 * 60 * 1000,
26
- },
27
- autofix: {
28
- label: "autofix",
29
- warningAfterMs: 4 * 60 * 1000,
30
- stuckAfterMs: 10 * 60 * 1000,
31
- },
32
- autopr: {
33
- label: "autopr",
34
- warningAfterMs: 3 * 60 * 1000,
35
- stuckAfterMs: 8 * 60 * 1000,
36
- },
37
- };
38
- export function policyForPreset(preset) {
39
- return POLICIES[preset] ?? DEFAULT_POLICY;
40
- }
41
- //# sourceMappingURL=policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/loops/policy.ts"],"names":[],"mappings":"AAMA,MAAM,cAAc,GAAsB;IACxC,KAAK,EAAE,SAAS;IAChB,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC7B,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;CAC7B,CAAC;AAEF,MAAM,QAAQ,GAAsC;IAClD,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU;QACjB,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QAC9B,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;KAC7B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU;QACjB,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QAC7B,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;KAC7B;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QAC7B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;KAC5B;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QAC7B,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;KAC7B;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QAC7B,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;KAC7B;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QAC7B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;KAC5B;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC;AAC5C,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { RunRecord } from "../registry/types.js";
2
- /**
3
- * Render a concise one-line summary for a run record.
4
- * Format: <short-id> <status> <preset> iter:<N> <latest_event> <updated_at>
5
- */
6
- export declare function renderRunLine(r: RunRecord): string;
7
- /**
8
- * Render a multi-line detail view for a single run.
9
- */
10
- export declare function renderRunDetail(r: RunRecord): string;
11
- /**
12
- * Render artifact paths for a run.
13
- */
14
- export declare function renderArtifacts(r: RunRecord, stateDir: string): string;
15
- /**
16
- * Render a header line for the list view.
17
- */
18
- export declare function renderListHeader(): string;
19
- export declare function formatTime(iso: string): string;
@@ -1,100 +0,0 @@
1
- /**
2
- * Render a concise one-line summary for a run record.
3
- * Format: <short-id> <status> <preset> iter:<N> <latest_event> <updated_at>
4
- */
5
- export function renderRunLine(r) {
6
- const shortId = shortRunId(r.run_id);
7
- const wt = r.isolation_mode === "worktree" ? "WT" : "──";
8
- const parts = [
9
- shortId.padEnd(24),
10
- r.status.padEnd(10),
11
- r.preset.padEnd(14),
12
- wt.padEnd(4),
13
- `iter:${r.iteration}`.padEnd(8),
14
- r.latest_event.padEnd(18),
15
- formatTime(r.created_at).padEnd(18),
16
- formatTime(r.updated_at),
17
- ];
18
- return parts.join(" ");
19
- }
20
- /**
21
- * Render a multi-line detail view for a single run.
22
- */
23
- export function renderRunDetail(r) {
24
- const lines = [
25
- field("Run", r.run_id),
26
- field("Status", r.status),
27
- field("Preset", r.preset),
28
- field("Objective", truncate(r.objective, 120)),
29
- field("Trigger", r.trigger),
30
- field("Backend", r.backend),
31
- field("Args", r.backend_args?.length ? r.backend_args.join(" ") : "(none)"),
32
- field("Iteration", String(r.iteration)),
33
- field("Latest", r.latest_event),
34
- ];
35
- if (r.stop_reason)
36
- lines.push(field("Stop", r.stop_reason));
37
- lines.push(field("Isolation", r.isolation_mode || "shared"));
38
- if (r.worktree_name)
39
- lines.push(field("Worktree", r.worktree_name));
40
- if (r.worktree_path)
41
- lines.push(field("WT Path", r.worktree_path));
42
- lines.push(field("Created", r.created_at));
43
- lines.push(field("Updated", r.updated_at));
44
- lines.push(field("Work dir", r.work_dir));
45
- lines.push(field("State dir", r.state_dir));
46
- if (r.parent_run_id)
47
- lines.push(field("Parent", r.parent_run_id));
48
- return lines.join("\n");
49
- }
50
- /**
51
- * Render artifact paths for a run.
52
- */
53
- export function renderArtifacts(r, stateDir) {
54
- const lines = [
55
- field("Journal", r.journal_file),
56
- field("State dir", r.state_dir || stateDir),
57
- field("Work dir", r.work_dir),
58
- ];
59
- return lines.join("\n");
60
- }
61
- /**
62
- * Render a header line for the list view.
63
- */
64
- export function renderListHeader() {
65
- const parts = [
66
- "RUN ID".padEnd(24),
67
- "STATUS".padEnd(10),
68
- "PRESET".padEnd(14),
69
- "WT".padEnd(4),
70
- "ITER".padEnd(8),
71
- "LATEST EVENT".padEnd(18),
72
- "STARTED".padEnd(18),
73
- "UPDATED",
74
- ];
75
- return parts.join(" ");
76
- }
77
- function field(label, value) {
78
- return `${label}:`.padEnd(12) + value;
79
- }
80
- function shortRunId(id) {
81
- // Human-readable ids fit comfortably; only truncate unusually long custom ids.
82
- if (id.length <= 24)
83
- return id;
84
- return `${id.slice(0, 22)}..`;
85
- }
86
- function truncate(s, max) {
87
- if (s.length <= max)
88
- return s;
89
- return `${s.slice(0, max - 3)}...`;
90
- }
91
- export function formatTime(iso) {
92
- if (!iso)
93
- return "-";
94
- const d = new Date(iso);
95
- if (Number.isNaN(d.getTime()))
96
- return iso;
97
- const pad = (n) => String(n).padStart(2, "0");
98
- return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}`;
99
- }
100
- //# sourceMappingURL=render.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/loops/render.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Show detail view for a run by exact or partial ID.
3
- */
4
- export declare function showRun(stateDir: string, partial: string): string;
5
- /**
6
- * Show artifact paths for a run by exact or partial ID.
7
- */
8
- export declare function showArtifacts(stateDir: string, partial: string): string;
@@ -1,31 +0,0 @@
1
- import { mergedFindRunByPrefix } from "../registry/discover.js";
2
- import { renderArtifacts, renderRunDetail } from "./render.js";
3
- /**
4
- * Show detail view for a run by exact or partial ID.
5
- */
6
- export function showRun(stateDir, partial) {
7
- const result = mergedFindRunByPrefix(stateDir, partial);
8
- if (result === undefined) {
9
- return `No run matching '${partial}'.`;
10
- }
11
- if (Array.isArray(result)) {
12
- const ids = result.map((r) => ` ${r.run_id}`).join("\n");
13
- return `Ambiguous run ID '${partial}'. Matches:\n${ids}`;
14
- }
15
- return renderRunDetail(result);
16
- }
17
- /**
18
- * Show artifact paths for a run by exact or partial ID.
19
- */
20
- export function showArtifacts(stateDir, partial) {
21
- const result = mergedFindRunByPrefix(stateDir, partial);
22
- if (result === undefined) {
23
- return `No run matching '${partial}'.`;
24
- }
25
- if (Array.isArray(result)) {
26
- const ids = result.map((r) => ` ${r.run_id}`).join("\n");
27
- return `Ambiguous run ID '${partial}'. Matches:\n${ids}`;
28
- }
29
- return renderArtifacts(result, stateDir);
30
- }
31
- //# sourceMappingURL=show.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/loops/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,QAAgB,EAAE,OAAe;IACvD,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,oBAAoB,OAAO,IAAI,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,qBAAqB,OAAO,gBAAgB,GAAG,EAAE,CAAC;IAC3D,CAAC;IAED,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC7D,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,oBAAoB,OAAO,IAAI,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,qBAAqB,OAAO,gBAAgB,GAAG,EAAE,CAAC;IAC3D,CAAC;IAED,OAAO,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,14 +0,0 @@
1
- import type { RunRecord } from "../registry/types.js";
2
- /**
3
- * Compute a health advisory string for a run, or null if the run is healthy.
4
- * Returns a message only when the run is in the watching or stuck band.
5
- */
6
- export declare function healthAdvisory(r: RunRecord, nowMs?: number): string | null;
7
- /**
8
- * Watch a run by polling the registry. Prints compact progress lines when
9
- * state changes, then a full detail view when the run reaches a terminal
10
- * status.
11
- *
12
- * For already-terminal runs, prints the detail view and returns immediately.
13
- */
14
- export declare function watchRun(stateDir: string, partial: string, intervalMs?: number): Promise<void>;
@@ -1,143 +0,0 @@
1
- import { mergedFindRunByPrefix } from "../registry/discover.js";
2
- import { policyForPreset } from "./policy.js";
3
- import { renderListHeader, renderRunDetail, renderRunLine } from "./render.js";
4
- const DEFAULT_INTERVAL_MS = 2000;
5
- const TERMINAL_STATUSES = new Set([
6
- "completed",
7
- "failed",
8
- "timed_out",
9
- "stopped",
10
- ]);
11
- /**
12
- * Compute a health advisory string for a run, or null if the run is healthy.
13
- * Returns a message only when the run is in the watching or stuck band.
14
- */
15
- export function healthAdvisory(r, nowMs = Date.now()) {
16
- if (r.status !== "running")
17
- return null;
18
- if (!r.updated_at)
19
- return null;
20
- const updatedMs = new Date(r.updated_at).getTime();
21
- if (Number.isNaN(updatedMs))
22
- return null;
23
- const elapsed = nowMs - updatedMs;
24
- const policy = policyForPreset(r.preset);
25
- if (elapsed > policy.stuckAfterMs) {
26
- const mins = Math.round(elapsed / 60000);
27
- return ("[watch] " +
28
- r.preset +
29
- ": no progress for " +
30
- mins +
31
- "m — likely stuck, investigate now");
32
- }
33
- if (elapsed > policy.warningAfterMs) {
34
- const mins = Math.round(elapsed / 60000);
35
- return ("[watch] " +
36
- r.preset +
37
- ": no progress for " +
38
- mins +
39
- "m — investigate soon");
40
- }
41
- return null;
42
- }
43
- function healthState(r, nowMs) {
44
- if (r.status !== "running" || !r.updated_at)
45
- return "active";
46
- const updatedMs = new Date(r.updated_at).getTime();
47
- if (Number.isNaN(updatedMs))
48
- return "active";
49
- const elapsed = nowMs - updatedMs;
50
- const policy = policyForPreset(r.preset);
51
- if (elapsed > policy.stuckAfterMs)
52
- return "stuck";
53
- if (elapsed > policy.warningAfterMs)
54
- return "watching";
55
- return "active";
56
- }
57
- /**
58
- * Watch a run by polling the registry. Prints compact progress lines when
59
- * state changes, then a full detail view when the run reaches a terminal
60
- * status.
61
- *
62
- * For already-terminal runs, prints the detail view and returns immediately.
63
- */
64
- export async function watchRun(stateDir, partial, intervalMs = DEFAULT_INTERVAL_MS) {
65
- const initial = resolveRun(stateDir, partial);
66
- if (typeof initial === "string") {
67
- console.log(initial);
68
- return;
69
- }
70
- if (isTerminal(initial)) {
71
- console.log(`[watch] Run already ${initial.status}.`);
72
- console.log(renderRunDetail(initial));
73
- return;
74
- }
75
- console.log("[watch] Watching " +
76
- initial.run_id +
77
- " (poll every " +
78
- intervalMs / 1000 +
79
- "s)");
80
- console.log(renderListHeader());
81
- console.log(renderRunLine(initial));
82
- let prev = snapshot(initial);
83
- let prevHealth = healthState(initial, Date.now());
84
- return new Promise((resolve) => {
85
- const onSigint = () => {
86
- console.log("\n[watch] Interrupted.");
87
- clearInterval(timer);
88
- resolve();
89
- };
90
- process.on("SIGINT", onSigint);
91
- const timer = setInterval(() => {
92
- const current = resolveRun(stateDir, initial.run_id);
93
- if (typeof current === "string") {
94
- // Run disappeared from registry — unusual but handle gracefully
95
- console.log(`[watch] ${current}`);
96
- clearInterval(timer);
97
- process.off("SIGINT", onSigint);
98
- resolve();
99
- return;
100
- }
101
- const snap = snapshot(current);
102
- if (snap !== prev) {
103
- prev = snap;
104
- console.log(renderRunLine(current));
105
- }
106
- // Print advisory on health state transition
107
- const nowMs = Date.now();
108
- const currentHealth = healthState(current, nowMs);
109
- if (currentHealth !== prevHealth && currentHealth !== "active") {
110
- const advisory = healthAdvisory(current, nowMs);
111
- if (advisory)
112
- console.log(advisory);
113
- }
114
- prevHealth = currentHealth;
115
- if (isTerminal(current)) {
116
- console.log("");
117
- console.log(`[watch] Run ${current.status}.`);
118
- console.log(renderRunDetail(current));
119
- clearInterval(timer);
120
- process.off("SIGINT", onSigint);
121
- resolve();
122
- }
123
- }, intervalMs);
124
- });
125
- }
126
- function resolveRun(stateDir, partial) {
127
- const result = mergedFindRunByPrefix(stateDir, partial);
128
- if (result === undefined) {
129
- return `No run matching '${partial}'.`;
130
- }
131
- if (Array.isArray(result)) {
132
- const ids = result.map((r) => ` ${r.run_id}`).join("\n");
133
- return `Ambiguous run ID '${partial}'. Matches:\n${ids}`;
134
- }
135
- return result;
136
- }
137
- function isTerminal(r) {
138
- return TERMINAL_STATUSES.has(r.status);
139
- }
140
- function snapshot(r) {
141
- return `${r.iteration}|${r.latest_event}|${r.status}|${r.updated_at}`;
142
- }
143
- //# sourceMappingURL=watch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/loops/watch.ts"],"names":[],"mappings":"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"}
package/dist/main.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};