@mobrienv/autoloop 0.4.0 → 0.7.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 (441) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -14
  3. package/bin/autoloop +1 -1
  4. package/dist/index.d.ts +6 -0
  5. package/dist/index.js +19 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/testing/mock-backend.js +3 -5
  8. package/dist/testing/mock-backend.js.map +1 -1
  9. package/package.json +32 -23
  10. package/plugins/autoloop/.claude-plugin/plugin.json +1 -1
  11. package/dist/agent-map.d.ts +0 -10
  12. package/dist/agent-map.js +0 -58
  13. package/dist/agent-map.js.map +0 -1
  14. package/dist/backend/acp-client.d.ts +0 -38
  15. package/dist/backend/acp-client.js +0 -293
  16. package/dist/backend/acp-client.js.map +0 -1
  17. package/dist/backend/index.d.ts +0 -10
  18. package/dist/backend/index.js +0 -71
  19. package/dist/backend/index.js.map +0 -1
  20. package/dist/backend/kiro-bridge.d.ts +0 -19
  21. package/dist/backend/kiro-bridge.js +0 -114
  22. package/dist/backend/kiro-bridge.js.map +0 -1
  23. package/dist/backend/kiro-worker.d.ts +0 -1
  24. package/dist/backend/kiro-worker.js +0 -96
  25. package/dist/backend/kiro-worker.js.map +0 -1
  26. package/dist/backend/run-command.d.ts +0 -7
  27. package/dist/backend/run-command.js +0 -50
  28. package/dist/backend/run-command.js.map +0 -1
  29. package/dist/backend/run-kiro.d.ts +0 -3
  30. package/dist/backend/run-kiro.js +0 -16
  31. package/dist/backend/run-kiro.js.map +0 -1
  32. package/dist/backend/run-mock.d.ts +0 -1
  33. package/dist/backend/run-mock.js +0 -6
  34. package/dist/backend/run-mock.js.map +0 -1
  35. package/dist/backend/run-pi.d.ts +0 -5
  36. package/dist/backend/run-pi.js +0 -5
  37. package/dist/backend/run-pi.js.map +0 -1
  38. package/dist/backend/types.d.ts +0 -21
  39. package/dist/backend/types.js +0 -2
  40. package/dist/backend/types.js.map +0 -1
  41. package/dist/chains/budget.d.ts +0 -7
  42. package/dist/chains/budget.js +0 -54
  43. package/dist/chains/budget.js.map +0 -1
  44. package/dist/chains/load.d.ts +0 -18
  45. package/dist/chains/load.js +0 -129
  46. package/dist/chains/load.js.map +0 -1
  47. package/dist/chains/render.d.ts +0 -2
  48. package/dist/chains/render.js +0 -74
  49. package/dist/chains/render.js.map +0 -1
  50. package/dist/chains/run.d.ts +0 -17
  51. package/dist/chains/run.js +0 -260
  52. package/dist/chains/run.js.map +0 -1
  53. package/dist/chains/types.d.ts +0 -38
  54. package/dist/chains/types.js +0 -2
  55. package/dist/chains/types.js.map +0 -1
  56. package/dist/chains.d.ts +0 -6
  57. package/dist/chains.js +0 -5
  58. package/dist/chains.js.map +0 -1
  59. package/dist/cli/color.d.ts +0 -6
  60. package/dist/cli/color.js +0 -40
  61. package/dist/cli/color.js.map +0 -1
  62. package/dist/commands/chain.d.ts +0 -1
  63. package/dist/commands/chain.js +0 -53
  64. package/dist/commands/chain.js.map +0 -1
  65. package/dist/commands/config.d.ts +0 -1
  66. package/dist/commands/config.js +0 -74
  67. package/dist/commands/config.js.map +0 -1
  68. package/dist/commands/dashboard.d.ts +0 -1
  69. package/dist/commands/dashboard.js +0 -68
  70. package/dist/commands/dashboard.js.map +0 -1
  71. package/dist/commands/guide.d.ts +0 -1
  72. package/dist/commands/guide.js +0 -33
  73. package/dist/commands/guide.js.map +0 -1
  74. package/dist/commands/inspect.d.ts +0 -1
  75. package/dist/commands/inspect.js +0 -243
  76. package/dist/commands/inspect.js.map +0 -1
  77. package/dist/commands/list.d.ts +0 -1
  78. package/dist/commands/list.js +0 -15
  79. package/dist/commands/list.js.map +0 -1
  80. package/dist/commands/loops.d.ts +0 -1
  81. package/dist/commands/loops.js +0 -72
  82. package/dist/commands/loops.js.map +0 -1
  83. package/dist/commands/memory.d.ts +0 -1
  84. package/dist/commands/memory.js +0 -65
  85. package/dist/commands/memory.js.map +0 -1
  86. package/dist/commands/pi-adapter.d.ts +0 -1
  87. package/dist/commands/pi-adapter.js +0 -6
  88. package/dist/commands/pi-adapter.js.map +0 -1
  89. package/dist/commands/run.d.ts +0 -1
  90. package/dist/commands/run.js +0 -292
  91. package/dist/commands/run.js.map +0 -1
  92. package/dist/commands/runs.d.ts +0 -1
  93. package/dist/commands/runs.js +0 -50
  94. package/dist/commands/runs.js.map +0 -1
  95. package/dist/commands/task.d.ts +0 -1
  96. package/dist/commands/task.js +0 -74
  97. package/dist/commands/task.js.map +0 -1
  98. package/dist/commands/worktree.d.ts +0 -1
  99. package/dist/commands/worktree.js +0 -162
  100. package/dist/commands/worktree.js.map +0 -1
  101. package/dist/config.d.ts +0 -31
  102. package/dist/config.js +0 -261
  103. package/dist/config.js.map +0 -1
  104. package/dist/dashboard/app.d.ts +0 -12
  105. package/dist/dashboard/app.js +0 -23
  106. package/dist/dashboard/app.js.map +0 -1
  107. package/dist/dashboard/routes/api.d.ts +0 -3
  108. package/dist/dashboard/routes/api.js +0 -186
  109. package/dist/dashboard/routes/api.js.map +0 -1
  110. package/dist/dashboard/routes/pages.d.ts +0 -2
  111. package/dist/dashboard/routes/pages.js +0 -16
  112. package/dist/dashboard/routes/pages.js.map +0 -1
  113. package/dist/dashboard/views/alpine-vendor.d.ts +0 -1
  114. package/dist/dashboard/views/alpine-vendor.js +0 -10
  115. package/dist/dashboard/views/alpine-vendor.js.map +0 -1
  116. package/dist/dashboard/views/shell.d.ts +0 -1
  117. package/dist/dashboard/views/shell.js +0 -1062
  118. package/dist/dashboard/views/shell.js.map +0 -1
  119. package/dist/events/decode.d.ts +0 -2
  120. package/dist/events/decode.js +0 -45
  121. package/dist/events/decode.js.map +0 -1
  122. package/dist/events/encode.d.ts +0 -2
  123. package/dist/events/encode.js +0 -33
  124. package/dist/events/encode.js.map +0 -1
  125. package/dist/events/guards.d.ts +0 -5
  126. package/dist/events/guards.js +0 -42
  127. package/dist/events/guards.js.map +0 -1
  128. package/dist/events/types.d.ts +0 -27
  129. package/dist/events/types.js +0 -2
  130. package/dist/events/types.js.map +0 -1
  131. package/dist/harness/artifacts.d.ts +0 -50
  132. package/dist/harness/artifacts.js +0 -333
  133. package/dist/harness/artifacts.js.map +0 -1
  134. package/dist/harness/config-helpers.d.ts +0 -35
  135. package/dist/harness/config-helpers.js +0 -409
  136. package/dist/harness/config-helpers.js.map +0 -1
  137. package/dist/harness/coordination.d.ts +0 -1
  138. package/dist/harness/coordination.js +0 -127
  139. package/dist/harness/coordination.js.map +0 -1
  140. package/dist/harness/display.d.ts +0 -21
  141. package/dist/harness/display.js +0 -176
  142. package/dist/harness/display.js.map +0 -1
  143. package/dist/harness/emit.d.ts +0 -15
  144. package/dist/harness/emit.js +0 -240
  145. package/dist/harness/emit.js.map +0 -1
  146. package/dist/harness/index.d.ts +0 -20
  147. package/dist/harness/index.js +0 -311
  148. package/dist/harness/index.js.map +0 -1
  149. package/dist/harness/iteration.d.ts +0 -16
  150. package/dist/harness/iteration.js +0 -131
  151. package/dist/harness/iteration.js.map +0 -1
  152. package/dist/harness/journal-format.d.ts +0 -25
  153. package/dist/harness/journal-format.js +0 -153
  154. package/dist/harness/journal-format.js.map +0 -1
  155. package/dist/harness/journal.d.ts +0 -31
  156. package/dist/harness/journal.js +0 -178
  157. package/dist/harness/journal.js.map +0 -1
  158. package/dist/harness/metareview.d.ts +0 -4
  159. package/dist/harness/metareview.js +0 -48
  160. package/dist/harness/metareview.js.map +0 -1
  161. package/dist/harness/metrics.d.ts +0 -12
  162. package/dist/harness/metrics.js +0 -180
  163. package/dist/harness/metrics.js.map +0 -1
  164. package/dist/harness/parallel.d.ts +0 -37
  165. package/dist/harness/parallel.js +0 -237
  166. package/dist/harness/parallel.js.map +0 -1
  167. package/dist/harness/prompt.d.ts +0 -46
  168. package/dist/harness/prompt.js +0 -403
  169. package/dist/harness/prompt.js.map +0 -1
  170. package/dist/harness/scratchpad.d.ts +0 -2
  171. package/dist/harness/scratchpad.js +0 -67
  172. package/dist/harness/scratchpad.js.map +0 -1
  173. package/dist/harness/stop.d.ts +0 -5
  174. package/dist/harness/stop.js +0 -70
  175. package/dist/harness/stop.js.map +0 -1
  176. package/dist/harness/tools.d.ts +0 -3
  177. package/dist/harness/tools.js +0 -65
  178. package/dist/harness/tools.js.map +0 -1
  179. package/dist/harness/types.d.ts +0 -110
  180. package/dist/harness/types.js +0 -2
  181. package/dist/harness/types.js.map +0 -1
  182. package/dist/harness/wave/finalize-wave.d.ts +0 -9
  183. package/dist/harness/wave/finalize-wave.js +0 -87
  184. package/dist/harness/wave/finalize-wave.js.map +0 -1
  185. package/dist/harness/wave/launch-branches.d.ts +0 -6
  186. package/dist/harness/wave/launch-branches.js +0 -314
  187. package/dist/harness/wave/launch-branches.js.map +0 -1
  188. package/dist/harness/wave/parse-objectives.d.ts +0 -3
  189. package/dist/harness/wave/parse-objectives.js +0 -32
  190. package/dist/harness/wave/parse-objectives.js.map +0 -1
  191. package/dist/harness/wave/types.d.ts +0 -43
  192. package/dist/harness/wave/types.js +0 -2
  193. package/dist/harness/wave/types.js.map +0 -1
  194. package/dist/harness/wave.d.ts +0 -6
  195. package/dist/harness/wave.js +0 -159
  196. package/dist/harness/wave.js.map +0 -1
  197. package/dist/isolation/index.d.ts +0 -4
  198. package/dist/isolation/index.js +0 -3
  199. package/dist/isolation/index.js.map +0 -1
  200. package/dist/isolation/resolve.d.ts +0 -39
  201. package/dist/isolation/resolve.js +0 -118
  202. package/dist/isolation/resolve.js.map +0 -1
  203. package/dist/isolation/run-scope.d.ts +0 -21
  204. package/dist/isolation/run-scope.js +0 -50
  205. package/dist/isolation/run-scope.js.map +0 -1
  206. package/dist/json.d.ts +0 -8
  207. package/dist/json.js +0 -82
  208. package/dist/json.js.map +0 -1
  209. package/dist/loops/health.d.ts +0 -17
  210. package/dist/loops/health.js +0 -152
  211. package/dist/loops/health.js.map +0 -1
  212. package/dist/loops/list.d.ts +0 -6
  213. package/dist/loops/list.js +0 -21
  214. package/dist/loops/list.js.map +0 -1
  215. package/dist/loops/policy.d.ts +0 -6
  216. package/dist/loops/policy.js +0 -41
  217. package/dist/loops/policy.js.map +0 -1
  218. package/dist/loops/render.d.ts +0 -19
  219. package/dist/loops/render.js +0 -100
  220. package/dist/loops/render.js.map +0 -1
  221. package/dist/loops/show.d.ts +0 -8
  222. package/dist/loops/show.js +0 -31
  223. package/dist/loops/show.js.map +0 -1
  224. package/dist/loops/watch.d.ts +0 -14
  225. package/dist/loops/watch.js +0 -143
  226. package/dist/loops/watch.js.map +0 -1
  227. package/dist/main.d.ts +0 -1
  228. package/dist/main.js +0 -148
  229. package/dist/main.js.map +0 -1
  230. package/dist/markdown.d.ts +0 -10
  231. package/dist/markdown.js +0 -66
  232. package/dist/markdown.js.map +0 -1
  233. package/dist/memory-render.d.ts +0 -6
  234. package/dist/memory-render.js +0 -81
  235. package/dist/memory-render.js.map +0 -1
  236. package/dist/memory.d.ts +0 -22
  237. package/dist/memory.js +0 -318
  238. package/dist/memory.js.map +0 -1
  239. package/dist/pi-adapter.d.ts +0 -1
  240. package/dist/pi-adapter.js +0 -220
  241. package/dist/pi-adapter.js.map +0 -1
  242. package/dist/profiles.d.ts +0 -12
  243. package/dist/profiles.js +0 -71
  244. package/dist/profiles.js.map +0 -1
  245. package/dist/registry/derive.d.ts +0 -8
  246. package/dist/registry/derive.js +0 -88
  247. package/dist/registry/derive.js.map +0 -1
  248. package/dist/registry/discover.d.ts +0 -20
  249. package/dist/registry/discover.js +0 -98
  250. package/dist/registry/discover.js.map +0 -1
  251. package/dist/registry/harness.d.ts +0 -7
  252. package/dist/registry/harness.js +0 -63
  253. package/dist/registry/harness.js.map +0 -1
  254. package/dist/registry/index.d.ts +0 -6
  255. package/dist/registry/index.js +0 -6
  256. package/dist/registry/index.js.map +0 -1
  257. package/dist/registry/read.d.ts +0 -11
  258. package/dist/registry/read.js +0 -50
  259. package/dist/registry/read.js.map +0 -1
  260. package/dist/registry/rebuild.d.ts +0 -5
  261. package/dist/registry/rebuild.js +0 -22
  262. package/dist/registry/rebuild.js.map +0 -1
  263. package/dist/registry/types.d.ts +0 -28
  264. package/dist/registry/types.js +0 -2
  265. package/dist/registry/types.js.map +0 -1
  266. package/dist/registry/update.d.ts +0 -2
  267. package/dist/registry/update.js +0 -7
  268. package/dist/registry/update.js.map +0 -1
  269. package/dist/tasks-render.d.ts +0 -2
  270. package/dist/tasks-render.js +0 -44
  271. package/dist/tasks-render.js.map +0 -1
  272. package/dist/tasks.d.ts +0 -24
  273. package/dist/tasks.js +0 -184
  274. package/dist/tasks.js.map +0 -1
  275. package/dist/topology.d.ts +0 -31
  276. package/dist/topology.js +0 -309
  277. package/dist/topology.js.map +0 -1
  278. package/dist/usage.d.ts +0 -9
  279. package/dist/usage.js +0 -160
  280. package/dist/usage.js.map +0 -1
  281. package/dist/utils.d.ts +0 -21
  282. package/dist/utils.js +0 -349
  283. package/dist/utils.js.map +0 -1
  284. package/dist/worktree/clean.d.ts +0 -12
  285. package/dist/worktree/clean.js +0 -113
  286. package/dist/worktree/clean.js.map +0 -1
  287. package/dist/worktree/create.d.ts +0 -14
  288. package/dist/worktree/create.js +0 -71
  289. package/dist/worktree/create.js.map +0 -1
  290. package/dist/worktree/index.d.ts +0 -10
  291. package/dist/worktree/index.js +0 -6
  292. package/dist/worktree/index.js.map +0 -1
  293. package/dist/worktree/list.d.ts +0 -9
  294. package/dist/worktree/list.js +0 -24
  295. package/dist/worktree/list.js.map +0 -1
  296. package/dist/worktree/merge.d.ts +0 -11
  297. package/dist/worktree/merge.js +0 -129
  298. package/dist/worktree/merge.js.map +0 -1
  299. package/dist/worktree/meta.d.ts +0 -17
  300. package/dist/worktree/meta.js +0 -34
  301. package/dist/worktree/meta.js.map +0 -1
  302. package/presets/autocode/README.md +0 -81
  303. package/presets/autocode/autoloops.toml +0 -30
  304. package/presets/autocode/harness.md +0 -26
  305. package/presets/autocode/miniloops.toml +0 -22
  306. package/presets/autocode/roles/build.md +0 -34
  307. package/presets/autocode/roles/critic.md +0 -40
  308. package/presets/autocode/roles/finalizer.md +0 -43
  309. package/presets/autocode/roles/planner.md +0 -40
  310. package/presets/autocode/topology.toml +0 -32
  311. package/presets/autodebug/README.md +0 -50
  312. package/presets/autodebug/autoloops.toml +0 -18
  313. package/presets/autodebug/harness.md +0 -31
  314. package/presets/autodebug/roles/fixer.md +0 -58
  315. package/presets/autodebug/roles/investigator.md +0 -52
  316. package/presets/autodebug/roles/strategist.md +0 -45
  317. package/presets/autodebug/roles/verifier.md +0 -66
  318. package/presets/autodebug/topology.toml +0 -34
  319. package/presets/autodoc/README.md +0 -42
  320. package/presets/autodoc/autoloops.toml +0 -21
  321. package/presets/autodoc/harness.md +0 -19
  322. package/presets/autodoc/miniloops.toml +0 -21
  323. package/presets/autodoc/roles/auditor.md +0 -39
  324. package/presets/autodoc/roles/checker.md +0 -43
  325. package/presets/autodoc/roles/publisher.md +0 -51
  326. package/presets/autodoc/roles/writer.md +0 -37
  327. package/presets/autodoc/topology.toml +0 -31
  328. package/presets/autofix/README.md +0 -56
  329. package/presets/autofix/autoloops.toml +0 -24
  330. package/presets/autofix/harness.md +0 -25
  331. package/presets/autofix/miniloops.toml +0 -21
  332. package/presets/autofix/roles/closer.md +0 -48
  333. package/presets/autofix/roles/diagnoser.md +0 -43
  334. package/presets/autofix/roles/fixer.md +0 -28
  335. package/presets/autofix/roles/verifier.md +0 -31
  336. package/presets/autofix/topology.toml +0 -33
  337. package/presets/autoideas/README.md +0 -73
  338. package/presets/autoideas/autoloops.toml +0 -18
  339. package/presets/autoideas/harness.md +0 -31
  340. package/presets/autoideas/miniloops.toml +0 -18
  341. package/presets/autoideas/roles/analyst.md +0 -32
  342. package/presets/autoideas/roles/reviewer.md +0 -36
  343. package/presets/autoideas/roles/scanner.md +0 -26
  344. package/presets/autoideas/roles/synthesizer.md +0 -61
  345. package/presets/autoideas/topology.toml +0 -32
  346. package/presets/automerge/README.md +0 -3
  347. package/presets/automerge/autoloops.toml +0 -12
  348. package/presets/automerge/harness.md +0 -10
  349. package/presets/automerge/miniloops.toml +0 -12
  350. package/presets/automerge/roles/merge.md +0 -10
  351. package/presets/automerge/topology.toml +0 -10
  352. package/presets/autoperf/README.md +0 -56
  353. package/presets/autoperf/autoloops.toml +0 -21
  354. package/presets/autoperf/harness.md +0 -21
  355. package/presets/autoperf/miniloops.toml +0 -21
  356. package/presets/autoperf/roles/judge.md +0 -38
  357. package/presets/autoperf/roles/measurer.md +0 -36
  358. package/presets/autoperf/roles/optimizer.md +0 -35
  359. package/presets/autoperf/roles/profiler.md +0 -38
  360. package/presets/autoperf/topology.toml +0 -32
  361. package/presets/autopr/README.md +0 -99
  362. package/presets/autopr/autoloops.toml +0 -22
  363. package/presets/autopr/harness.md +0 -27
  364. package/presets/autopr/miniloops.toml +0 -22
  365. package/presets/autopr/roles/collector.md +0 -55
  366. package/presets/autopr/roles/drafter.md +0 -38
  367. package/presets/autopr/roles/publisher.md +0 -28
  368. package/presets/autopr/roles/validator.md +0 -31
  369. package/presets/autopr/topology.toml +0 -32
  370. package/presets/autopreset/README.md +0 -35
  371. package/presets/autopreset/autoloops.toml +0 -18
  372. package/presets/autopreset/harness.md +0 -38
  373. package/presets/autopreset/roles/designer.md +0 -33
  374. package/presets/autopreset/roles/finalizer.md +0 -23
  375. package/presets/autopreset/roles/generator.md +0 -34
  376. package/presets/autopreset/roles/validator.md +0 -31
  377. package/presets/autopreset/topology.toml +0 -32
  378. package/presets/autoqa/README.md +0 -105
  379. package/presets/autoqa/autoloops.toml +0 -21
  380. package/presets/autoqa/harness.md +0 -52
  381. package/presets/autoqa/miniloops.toml +0 -21
  382. package/presets/autoqa/roles/executor.md +0 -96
  383. package/presets/autoqa/roles/inspector.md +0 -100
  384. package/presets/autoqa/roles/planner.md +0 -87
  385. package/presets/autoqa/roles/reporter.md +0 -117
  386. package/presets/autoqa/topology.toml +0 -31
  387. package/presets/autoresearch/README.md +0 -63
  388. package/presets/autoresearch/autoloops.toml +0 -18
  389. package/presets/autoresearch/harness.md +0 -28
  390. package/presets/autoresearch/miniloops.toml +0 -18
  391. package/presets/autoresearch/roles/benchmarker.md +0 -34
  392. package/presets/autoresearch/roles/evaluator.md +0 -33
  393. package/presets/autoresearch/roles/implementer.md +0 -26
  394. package/presets/autoresearch/roles/strategist.md +0 -43
  395. package/presets/autoresearch/topology.toml +0 -31
  396. package/presets/autoreview/README.md +0 -51
  397. package/presets/autoreview/autoloops.toml +0 -21
  398. package/presets/autoreview/harness.md +0 -20
  399. package/presets/autoreview/miniloops.toml +0 -21
  400. package/presets/autoreview/roles/checker.md +0 -36
  401. package/presets/autoreview/roles/reader.md +0 -33
  402. package/presets/autoreview/roles/suggester.md +0 -26
  403. package/presets/autoreview/roles/summarizer.md +0 -57
  404. package/presets/autoreview/topology.toml +0 -31
  405. package/presets/autosec/README.md +0 -51
  406. package/presets/autosec/autoloops.toml +0 -21
  407. package/presets/autosec/harness.md +0 -20
  408. package/presets/autosec/miniloops.toml +0 -21
  409. package/presets/autosec/roles/analyst.md +0 -38
  410. package/presets/autosec/roles/hardener.md +0 -36
  411. package/presets/autosec/roles/reporter.md +0 -63
  412. package/presets/autosec/roles/scanner.md +0 -38
  413. package/presets/autosec/topology.toml +0 -31
  414. package/presets/autosimplify/README.md +0 -83
  415. package/presets/autosimplify/autoloops.toml +0 -26
  416. package/presets/autosimplify/harness.md +0 -25
  417. package/presets/autosimplify/miniloops.toml +0 -22
  418. package/presets/autosimplify/roles/reviewer.md +0 -38
  419. package/presets/autosimplify/roles/scoper.md +0 -42
  420. package/presets/autosimplify/roles/simplifier.md +0 -51
  421. package/presets/autosimplify/roles/verifier.md +0 -40
  422. package/presets/autosimplify/topology.toml +0 -32
  423. package/presets/autospec/README.md +0 -84
  424. package/presets/autospec/autoloops.toml +0 -21
  425. package/presets/autospec/harness.md +0 -23
  426. package/presets/autospec/miniloops.toml +0 -21
  427. package/presets/autospec/roles/clarifier.md +0 -39
  428. package/presets/autospec/roles/critic.md +0 -41
  429. package/presets/autospec/roles/designer.md +0 -37
  430. package/presets/autospec/roles/planner.md +0 -38
  431. package/presets/autospec/roles/researcher.md +0 -33
  432. package/presets/autospec/topology.toml +0 -38
  433. package/presets/autotest/README.md +0 -55
  434. package/presets/autotest/autoloops.toml +0 -21
  435. package/presets/autotest/harness.md +0 -21
  436. package/presets/autotest/miniloops.toml +0 -21
  437. package/presets/autotest/roles/assessor.md +0 -57
  438. package/presets/autotest/roles/runner.md +0 -31
  439. package/presets/autotest/roles/surveyor.md +0 -39
  440. package/presets/autotest/roles/writer.md +0 -37
  441. package/presets/autotest/topology.toml +0 -32
@@ -1,260 +0,0 @@
1
- import { existsSync, mkdirSync, readdirSync, writeFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- import * as config from "../config.js";
4
- import * as harness from "../harness/index.js";
5
- import { appendText, extractField, extractTopic, readLines, } from "../harness/journal.js";
6
- import { presetCategory } from "../isolation/resolve.js";
7
- import { jsonField } from "../json.js";
8
- import { generateCompactId, generateReadableId, joinCsv, uniqueGeneratedId, } from "../utils.js";
9
- import { checkBudget, defaultBudget } from "./budget.js";
10
- import { parseInlineChain } from "./load.js";
11
- export function runChain(chainSpec, projectDir, selfCommand, runOptions) {
12
- const chainName = chainSpec.name;
13
- const steps = chainSpec.steps;
14
- const cfg = config.loadProject(projectDir);
15
- const chainRunId = nextChainRunId(projectDir, cfg);
16
- const chainDir = join(chainStateRoot(projectDir), chainRunId);
17
- const journalFile = config.resolveJournalFile(projectDir);
18
- mkdirSync(chainDir, { recursive: true });
19
- appendChainEvent(journalFile, chainRunId, "chain.start", jsonField("name", chainName) +
20
- ", " +
21
- jsonField("steps", joinCsv(steps.map((s) => s.name))) +
22
- ", " +
23
- jsonField("step_count", String(steps.length)));
24
- const result = runSteps(steps, 1, projectDir, chainDir, chainRunId, selfCommand, runOptions, journalFile, []);
25
- appendChainEvent(journalFile, chainRunId, "chain.complete", jsonField("name", chainName) +
26
- ", " +
27
- jsonField("steps_completed", String(result.completed.length)) +
28
- ", " +
29
- jsonField("outcome", result.outcome));
30
- return result;
31
- }
32
- export function spawnDynamicChain(spec, projectDir, selfCommand, runOptions, parentId) {
33
- const budget = spec.budget ?? defaultBudget();
34
- const tracker = loadChainTracker(projectDir);
35
- const budgetResult = checkBudget(budget, tracker);
36
- if (!budgetResult.ok) {
37
- return {
38
- outcome: "budget_exceeded",
39
- reason: budgetResult.reason ?? "unknown rejection",
40
- };
41
- }
42
- const qualityResult = checkQualityGate(projectDir);
43
- if (!qualityResult.ok) {
44
- return {
45
- outcome: "quality_gate_rejected",
46
- reason: qualityResult.reason ?? "unknown rejection",
47
- };
48
- }
49
- return executeDynamicChain(spec, projectDir, selfCommand, runOptions, parentId);
50
- }
51
- export function writeDynamicSpec(projectDir, spec) {
52
- const specsDir = join(chainStateRoot(projectDir), "specs");
53
- mkdirSync(specsDir, { recursive: true });
54
- const chainId = spec.chainId ?? `dyn-${countDynamicSpecs(specsDir) + 1}`;
55
- const path = join(specsDir, `${chainId}.json`);
56
- writeFileSync(path, renderDynamicSpecJson(spec, chainId));
57
- return chainId;
58
- }
59
- function chainStateRoot(projectDir) {
60
- return join(config.stateDirPath(projectDir), "chains");
61
- }
62
- function runSteps(steps, stepNum, projectDir, chainDir, chainRunId, selfCommand, runOptions, journalFile, completed) {
63
- if (steps.length === 0) {
64
- return { completed, outcome: "all_steps_complete" };
65
- }
66
- const [step, ...rest] = steps;
67
- const stepName = step.name;
68
- const presetDir = step.presetDir;
69
- const stepWorkDir = join(chainDir, `step-${stepNum}`);
70
- mkdirSync(stepWorkDir, { recursive: true });
71
- writeHandoffArtifact(stepWorkDir, stepNum, completed, runOptions.prompt ?? null);
72
- appendChainEvent(journalFile, chainRunId, "chain.step.start", jsonField("step", String(stepNum)) +
73
- ", " +
74
- jsonField("preset", stepName) +
75
- ", " +
76
- jsonField("preset_dir", presetDir) +
77
- ", " +
78
- jsonField("work_dir", stepWorkDir));
79
- const category = presetCategory(stepName, projectDir);
80
- const suppressWorktree = category === "planning" && runOptions.worktree;
81
- const stepOptions = {
82
- ...runOptions,
83
- workDir: stepWorkDir,
84
- trigger: "chain",
85
- ...(suppressWorktree ? { worktree: undefined, noWorktree: true } : {}),
86
- };
87
- const prompt = stepNum === 1 ? (runOptions.prompt ?? null) : null;
88
- const result = harness.run(presetDir, prompt, selfCommand, stepOptions);
89
- const stopReason = result.stopReason;
90
- writeResultArtifact(stepWorkDir, stepNum, stepName, result);
91
- appendChainEvent(journalFile, chainRunId, "chain.step.finish", jsonField("step", String(stepNum)) +
92
- ", " +
93
- jsonField("preset", stepName) +
94
- ", " +
95
- jsonField("stop_reason", stopReason));
96
- const record = {
97
- step: stepNum,
98
- name: stepName,
99
- stopReason,
100
- runId: result.runId,
101
- };
102
- const updatedCompleted = [...completed, record];
103
- if (chainStepSuccess(stopReason)) {
104
- return runSteps(rest, stepNum + 1, projectDir, chainDir, chainRunId, selfCommand, runOptions, journalFile, updatedCompleted);
105
- }
106
- return {
107
- completed: updatedCompleted,
108
- outcome: "step_failed",
109
- failedStep: stepNum,
110
- failedReason: stopReason,
111
- };
112
- }
113
- function chainStepSuccess(stopReason) {
114
- return (stopReason === "max_iterations" ||
115
- stopReason === "completion_event" ||
116
- stopReason === "completion_promise");
117
- }
118
- function writeHandoffArtifact(stepWorkDir, stepNum, completed, prompt) {
119
- let content = `# Chain Handoff — Step ${stepNum}\n\n`;
120
- if (prompt)
121
- content += `## Entry Objective\n\n${prompt}\n\n`;
122
- if (completed.length === 0) {
123
- content += "First step in chain. No prior results.\n";
124
- }
125
- else {
126
- content += "## Prior Steps\n";
127
- for (const rec of completed) {
128
- const runTag = rec.runId ? ` [run_id=${rec.runId}]` : "";
129
- content +=
130
- "- Step " +
131
- rec.step +
132
- " (" +
133
- rec.name +
134
- "): " +
135
- rec.stopReason +
136
- runTag +
137
- "\n";
138
- }
139
- // Expose the most recent run ID as parent_run_id for downstream steps (e.g. automerge)
140
- const lastWithRunId = [...completed].reverse().find((r) => r.runId);
141
- if (lastWithRunId) {
142
- content += "\n## Parent Run\n";
143
- content += `parent_run_id: ${lastWithRunId.runId}\n`;
144
- }
145
- }
146
- writeFileSync(join(stepWorkDir, "handoff.md"), content);
147
- }
148
- function writeResultArtifact(stepWorkDir, stepNum, stepName, result) {
149
- const content = "# Chain Result — Step " +
150
- stepNum +
151
- " (" +
152
- stepName +
153
- ")\n\n" +
154
- "Stop reason: " +
155
- result.stopReason +
156
- "\n" +
157
- "Iterations: " +
158
- result.iterations +
159
- "\n" +
160
- (result.runId ? `Run ID: ${result.runId}\n` : "");
161
- writeFileSync(join(stepWorkDir, "result.md"), content);
162
- }
163
- function nextChainRunId(projectDir, cfg) {
164
- const journalFile = config.resolveJournalFile(projectDir);
165
- const lines = readLines(journalFile);
166
- const format = config.get(cfg, "core.run_id_format", "human");
167
- if (format === "counter") {
168
- const count = lines.filter((l) => extractTopic(l) === "chain.start").length;
169
- return `chain-${count + 1}`;
170
- }
171
- const existing = new Set(lines.map((line) => extractField(line, "chain_run")).filter(Boolean));
172
- if (format === "compact") {
173
- return (uniqueGeneratedId(() => generateCompactId("chain"), existing) ??
174
- generateCompactId("chain"));
175
- }
176
- return (uniqueGeneratedId(generateReadableId, existing) ??
177
- generateCompactId("chain"));
178
- }
179
- function appendChainEvent(journalFile, chainRunId, topic, fieldsJson) {
180
- const line = "{" +
181
- jsonField("chain_run", chainRunId) +
182
- ", " +
183
- jsonField("topic", topic) +
184
- ', "fields": {' +
185
- fieldsJson +
186
- "}}\n";
187
- appendText(journalFile, line);
188
- }
189
- function loadChainTracker(projectDir) {
190
- const journalFile = config.resolveJournalFile(projectDir);
191
- const lines = readLines(journalFile);
192
- const tracker = {
193
- depth: 0,
194
- totalSteps: 0,
195
- children: 0,
196
- consecutiveFailures: 0,
197
- };
198
- for (const line of lines) {
199
- const topic = extractTopic(line);
200
- if (topic === "chain.start") {
201
- tracker.children++;
202
- tracker.consecutiveFailures = 0;
203
- }
204
- else if (topic === "chain.step.finish") {
205
- tracker.totalSteps++;
206
- }
207
- else if (topic === "chain.complete") {
208
- const outcome = extractField(line, "outcome");
209
- if (outcome === "all_steps_complete")
210
- tracker.consecutiveFailures = 0;
211
- else
212
- tracker.consecutiveFailures++;
213
- }
214
- }
215
- return tracker;
216
- }
217
- function checkQualityGate(projectDir) {
218
- const tracker = loadChainTracker(projectDir);
219
- if (tracker.consecutiveFailures >= 2) {
220
- return {
221
- ok: false,
222
- reason: `quality gate: ${tracker.consecutiveFailures} consecutive failures — consolidate before spawning`,
223
- };
224
- }
225
- return { ok: true };
226
- }
227
- function executeDynamicChain(spec, projectDir, selfCommand, runOptions, parentId) {
228
- const chainId = writeDynamicSpec(projectDir, { ...spec, parentId });
229
- const stepsCsv = spec.steps;
230
- const journalFile = config.resolveJournalFile(projectDir);
231
- const justification = spec.justification ?? "";
232
- appendChainEvent(journalFile, chainId, "chain.spawn", jsonField("chain_id", chainId) +
233
- ", " +
234
- jsonField("parent_id", parentId) +
235
- ", " +
236
- jsonField("steps", joinCsv(stepsCsv)) +
237
- ", " +
238
- jsonField("justification", justification));
239
- const chainSpec = parseInlineChain(joinCsv(stepsCsv), projectDir);
240
- const namedSpec = { ...chainSpec, name: chainId };
241
- const result = runChain(namedSpec, projectDir, selfCommand, runOptions);
242
- return { ...result, chainId };
243
- }
244
- function countDynamicSpecs(specsDir) {
245
- if (!existsSync(specsDir))
246
- return 0;
247
- return readdirSync(specsDir).filter((f) => f.endsWith(".json")).length;
248
- }
249
- function renderDynamicSpecJson(spec, chainId) {
250
- return ("{" +
251
- jsonField("chain_id", chainId) +
252
- ", " +
253
- jsonField("parent_id", spec.parentId ?? "") +
254
- ", " +
255
- jsonField("steps", joinCsv(spec.steps)) +
256
- ", " +
257
- jsonField("justification", spec.justification ?? "") +
258
- "}\n");
259
- }
260
- //# sourceMappingURL=run.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/chains/run.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- export interface ChainStep {
2
- name: string;
3
- presetDir: string;
4
- }
5
- export interface ChainSpec {
6
- name: string;
7
- steps: ChainStep[];
8
- }
9
- export interface Budget {
10
- maxDepth: number;
11
- maxSteps: number;
12
- maxRuntimeMs: number;
13
- maxChildren: number;
14
- maxConsecutiveFailures: number;
15
- }
16
- export interface ChainsConfig {
17
- chains: ChainSpec[];
18
- budget: Budget;
19
- }
20
- export interface DynamicChainSpec {
21
- steps: string[];
22
- justification?: string;
23
- budget?: Budget;
24
- chainId?: string;
25
- parentId?: string;
26
- }
27
- export interface StepRecord {
28
- step: number;
29
- name: string;
30
- stopReason: string;
31
- runId?: string;
32
- }
33
- export interface ChainTracker {
34
- depth: number;
35
- totalSteps: number;
36
- children: number;
37
- consecutiveFailures: number;
38
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/chains/types.ts"],"names":[],"mappings":""}
package/dist/chains.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export { checkBudget, defaultBudget, parseBudgetFromToml, } from "./chains/budget.js";
2
- export type { PresetInfo } from "./chains/load.js";
3
- export { getPresetDescription, listChains, listKnownPresets, listPresetsWithDescriptions, load, loadBudget, parseInlineChain, resolveChain, resolvePresetDir, validatePresetVocabulary, } from "./chains/load.js";
4
- export { renderChainLines, renderChainState } from "./chains/render.js";
5
- export { runChain, spawnDynamicChain, writeDynamicSpec } from "./chains/run.js";
6
- export type { Budget, ChainSpec, ChainStep, ChainsConfig, ChainTracker, DynamicChainSpec, StepRecord, } from "./chains/types.js";
package/dist/chains.js DELETED
@@ -1,5 +0,0 @@
1
- export { checkBudget, defaultBudget, parseBudgetFromToml, } from "./chains/budget.js";
2
- export { getPresetDescription, listChains, listKnownPresets, listPresetsWithDescriptions, load, loadBudget, parseInlineChain, resolveChain, resolvePresetDir, validatePresetVocabulary, } from "./chains/load.js";
3
- export { renderChainLines, renderChainState } from "./chains/render.js";
4
- export { runChain, spawnDynamicChain, writeDynamicSpec } from "./chains/run.js";
5
- //# sourceMappingURL=chains.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chains.js","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,IAAI,EACJ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * ANSI color utility respecting NO_COLOR / FORCE_COLOR env vars and TTY detection.
3
- * No external dependencies.
4
- */
5
- export declare function color(text: string, ...styles: string[]): string;
6
- export declare function strip(text: string): string;
package/dist/cli/color.js DELETED
@@ -1,40 +0,0 @@
1
- /**
2
- * ANSI color utility respecting NO_COLOR / FORCE_COLOR env vars and TTY detection.
3
- * No external dependencies.
4
- */
5
- const RESET = "\x1b[0m";
6
- const STYLES = {
7
- bold: "\x1b[1m",
8
- dim: "\x1b[2m",
9
- red: "\x1b[31m",
10
- green: "\x1b[32m",
11
- yellow: "\x1b[33m",
12
- blue: "\x1b[34m",
13
- magenta: "\x1b[35m",
14
- cyan: "\x1b[36m",
15
- gray: "\x1b[90m",
16
- brightRed: "\x1b[91m",
17
- dimBlue: "\x1b[2;34m",
18
- };
19
- function colorsEnabled() {
20
- if (process.env.NO_COLOR !== undefined)
21
- return false;
22
- if (process.env.FORCE_COLOR !== undefined)
23
- return true;
24
- return process.stdout.isTTY === true;
25
- }
26
- export function color(text, ...styles) {
27
- if (!colorsEnabled())
28
- return text;
29
- const codes = styles
30
- .map((s) => STYLES[s])
31
- .filter((c) => c !== undefined);
32
- if (codes.length === 0)
33
- return text;
34
- return codes.join("") + text + RESET;
35
- }
36
- export function strip(text) {
37
- // biome-ignore lint/suspicious/noControlCharactersInRegex: stripping ANSI escapes
38
- return text.replace(/\x1b\[[0-9;]*m/g, "");
39
- }
40
- //# sourceMappingURL=color.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/cli/color.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,KAAK,GAAG,SAAS,CAAC;AAExB,MAAM,MAAM,GAA2B;IACrC,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAAG,MAAgB;IACrD,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM;SACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACrB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,kFAAkF;IAClF,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -1 +0,0 @@
1
- export declare function dispatchChain(args: string[], selfCmd: string): boolean;
@@ -1,53 +0,0 @@
1
- import * as chains from "../chains.js";
2
- export function dispatchChain(args, selfCmd) {
3
- const sub = args[0] ?? "";
4
- switch (sub) {
5
- case "list": {
6
- const projectDir = args[1] ?? resolveRuntimeProjectDir();
7
- const chainsData = chains.load(projectDir);
8
- const chainList = chains.listChains(chainsData);
9
- if (chainList.length === 0) {
10
- console.log("No chains defined. Add [[chain]] sections to chains.toml.");
11
- return true;
12
- }
13
- for (const chain of chainList) {
14
- const stepNames = chain.steps.map((s) => s.name).join(" -> ") || "(empty)";
15
- console.log(`${chain.name}: ${stepNames}`);
16
- }
17
- return true;
18
- }
19
- case "run": {
20
- const name = args[1];
21
- if (!name) {
22
- console.log("Usage: autoloop chain run <name> [project-dir] [prompt...]");
23
- return true;
24
- }
25
- const projectDir = args[2] ?? resolveRuntimeProjectDir();
26
- const prompt = args.slice(3).join(" ") || null;
27
- const chainsData = chains.load(projectDir);
28
- const chainSpec = chains.resolveChain(chainsData, name);
29
- if (!chainSpec) {
30
- console.log(`chain \`${name}\` not found in chains.toml`);
31
- return true;
32
- }
33
- chains.runChain(chainSpec, projectDir, selfCmd, {
34
- prompt: normalizePrompt(prompt),
35
- });
36
- return true;
37
- }
38
- default:
39
- console.log("Usage:");
40
- console.log(" autoloop chain list [project-dir]");
41
- console.log(" autoloop chain run <name> [project-dir] [prompt...]");
42
- return true;
43
- }
44
- }
45
- function resolveRuntimeProjectDir() {
46
- return process.env.AUTOLOOP_PROJECT_DIR || ".";
47
- }
48
- function normalizePrompt(prompt) {
49
- if (prompt === null || prompt === "")
50
- return null;
51
- return prompt;
52
- }
53
- //# sourceMappingURL=chain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/commands/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,OAAe;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAwB,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CACT,2DAA2D,CAC5D,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,SAAS,GACb,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CACT,4DAA4D,CAC7D,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAwB,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,6BAA6B,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE;gBAC9C,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;aAChC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD;YACE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,GAAG,CAAC;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- export declare function dispatchConfig(args: string[]): boolean;
@@ -1,74 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import * as config from "../config.js";
3
- export function dispatchConfig(args) {
4
- const sub = args[0] ?? "";
5
- if (sub === "show") {
6
- return configShow(args.slice(1));
7
- }
8
- if (sub === "path") {
9
- return configPath();
10
- }
11
- if (sub === "--help" || sub === "-h" || sub === "") {
12
- printConfigUsage();
13
- return true;
14
- }
15
- console.log(`unknown config subcommand: ${sub}`);
16
- printConfigUsage();
17
- return true;
18
- }
19
- function configShow(args) {
20
- let projectDir = ".";
21
- let json = false;
22
- for (let i = 0; i < args.length; i++) {
23
- if ((args[i] === "--project" || args[i] === "-d") && args[i + 1]) {
24
- projectDir = args[i + 1];
25
- i++;
26
- }
27
- else if (args[i] === "--json") {
28
- json = true;
29
- }
30
- }
31
- const { config: resolved, provenance } = config.loadLayered(projectDir);
32
- if (json) {
33
- console.log(JSON.stringify({ config: resolved, provenance }, null, 2));
34
- return true;
35
- }
36
- console.log("# Resolved configuration (highest-precedence source shown)");
37
- console.log("");
38
- for (const section of Object.keys(resolved)) {
39
- console.log(`[${section}]`);
40
- const value = resolved[section];
41
- if (typeof value === "object" && value !== null) {
42
- for (const [k, v] of Object.entries(value)) {
43
- const dotPath = `${section}.${k}`;
44
- const source = provenance[dotPath] ?? "default";
45
- console.log(` ${k} = ${JSON.stringify(String(v))} # ${source}`);
46
- }
47
- }
48
- else {
49
- const source = provenance[section] ?? "default";
50
- console.log(` ${JSON.stringify(String(value))} # ${source}`);
51
- }
52
- console.log("");
53
- }
54
- return true;
55
- }
56
- function configPath() {
57
- const path = config.userConfigPath();
58
- const exists = existsSync(path);
59
- console.log(path);
60
- console.log(exists ? "exists: yes" : "exists: no");
61
- return true;
62
- }
63
- function printConfigUsage() {
64
- console.log("Usage: autoloop config <subcommand>");
65
- console.log("");
66
- console.log("Subcommands:");
67
- console.log(" show Show resolved config with provenance labels");
68
- console.log(" path Print user config file path and existence");
69
- console.log("");
70
- console.log("Options (show):");
71
- console.log(" --project <dir> Resolve against a specific project directory");
72
- console.log(" --json Output as JSON with config and provenance");
73
- }
74
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function dispatchDashboard(args: string[], bundleRoot: string, selfCmd: string): void;
@@ -1,68 +0,0 @@
1
- import { join, resolve } from "node:path";
2
- import { serve } from "@hono/node-server";
3
- import { createApp } from "../dashboard/app.js";
4
- export function dispatchDashboard(args, bundleRoot, selfCmd) {
5
- let port = 4800;
6
- let host = "127.0.0.1";
7
- let projectDir = ".";
8
- for (let i = 0; i < args.length; i++) {
9
- const arg = args[i];
10
- if ((arg === "--port" || arg === "-p") && args[i + 1]) {
11
- port = parseInt(args[i + 1], 10);
12
- i++;
13
- }
14
- else if (arg === "--host" && args[i + 1]) {
15
- host = args[i + 1];
16
- i++;
17
- }
18
- else if (arg === "--project-dir" && args[i + 1]) {
19
- projectDir = args[i + 1];
20
- i++;
21
- }
22
- else if (arg === "--help" || arg === "-h") {
23
- printUsage();
24
- return;
25
- }
26
- }
27
- const resolved = resolve(projectDir);
28
- const stateDir = join(resolved, ".autoloop");
29
- const ctx = {
30
- registryPath: join(stateDir, "registry.jsonl"),
31
- journalPath: join(stateDir, "journal.jsonl"),
32
- stateDir,
33
- bundleRoot,
34
- projectDir: resolved,
35
- selfCmd,
36
- };
37
- const app = createApp({ ...ctx, host, port });
38
- const server = serve({ fetch: app.fetch, port, hostname: host }, (info) => {
39
- if (process.stderr.isTTY) {
40
- console.error(`autoloop dashboard → http://${info.address}:${info.port}`);
41
- }
42
- console.log(`Dashboard listening on http://${info.address}:${info.port}`);
43
- });
44
- const shutdown = () => {
45
- console.log("\nShutting down dashboard...");
46
- server.close();
47
- process.exit(0);
48
- };
49
- process.on("SIGINT", shutdown);
50
- process.on("SIGTERM", shutdown);
51
- server.on("error", (err) => {
52
- if (err.code === "EADDRINUSE") {
53
- console.error(`Port ${port} is already in use.`);
54
- process.exit(1);
55
- }
56
- throw err;
57
- });
58
- }
59
- function printUsage() {
60
- console.log("Usage: autoloop dashboard [options]");
61
- console.log("");
62
- console.log("Options:");
63
- console.log(" --port, -p <port> Port to listen on (default: 4800)");
64
- console.log(" --host <host> Host to bind to (default: 127.0.0.1)");
65
- console.log(" --project-dir <dir> Project directory (default: .)");
66
- console.log(" --help, -h Show this help");
67
- }
68
- //# sourceMappingURL=dashboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function dispatchGuide(args: string[]): void;