@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,409 +0,0 @@
1
- import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
2
- import { basename, join, resolve } from "node:path";
3
- import { loadAgentMap } from "../agent-map.js";
4
- import * as config from "../config.js";
5
- import { presetCategory, resolveIsolationMode } from "../isolation/resolve.js";
6
- import { createRunScopedDir } from "../isolation/run-scope.js";
7
- import * as profiles from "../profiles.js";
8
- import { activeRuns } from "../registry/read.js";
9
- import * as topo from "../topology.js";
10
- import { assertNoRawAutoloopPaths, expandTemplatePlaceholders, generateCompactId, generateReadableId, splitCsv, uniqueGeneratedId, } from "../utils.js";
11
- import { createWorktree } from "../worktree/create.js";
12
- import { extractField, extractIteration, extractTopic, latestRunId, readLines, readRunLines, resolveRunJournalPath, } from "./journal.js";
13
- import { emitToolScript, piAdapterScript } from "./tools.js";
14
- export function resolvePrompt(projectDir, cfg, override) {
15
- if (override !== null)
16
- return override;
17
- const inlinePrompt = config.get(cfg, "event_loop.prompt", "");
18
- if (inlinePrompt)
19
- return inlinePrompt;
20
- const promptFile = config.get(cfg, "event_loop.prompt_file", "");
21
- if (promptFile) {
22
- const fullPath = join(projectDir, promptFile);
23
- if (existsSync(fullPath))
24
- return readFileSync(fullPath, "utf-8");
25
- }
26
- return "Do the task and publish the completion event when finished.";
27
- }
28
- export function resolveReviewPrompt(projectDir, cfg) {
29
- const inlinePrompt = config.get(cfg, "review.prompt", "");
30
- if (inlinePrompt)
31
- return inlinePrompt;
32
- return readOptionalProjectFile(projectDir, config.get(cfg, "review.prompt_file", "metareview.md"));
33
- }
34
- export function readOptionalProjectFile(projectDir, relativePath) {
35
- if (!relativePath)
36
- return "";
37
- const fullPath = join(projectDir, relativePath);
38
- if (!existsSync(fullPath))
39
- return "";
40
- return readFileSync(fullPath, "utf-8");
41
- }
42
- export function resolveReviewEvery(cfg, topoData) {
43
- const configured = config.getInt(cfg, "review.every_iterations", 0);
44
- if (configured > 0)
45
- return configured;
46
- const count = topo.roleCount(topoData);
47
- return count > 0 ? count : 1;
48
- }
49
- export function truthySetting(value) {
50
- return value !== "false" && value !== "0" && value !== "";
51
- }
52
- export function ensureLayout(stateDir) {
53
- mkdirSync(stateDir, { recursive: true });
54
- }
55
- export function installRuntimeTools(loop) {
56
- writeFileSync(loop.paths.toolPath, emitToolScript(loop));
57
- chmodSync(loop.paths.toolPath, 0o755);
58
- writeFileSync(loop.paths.piAdapterPath, piAdapterScript(loop));
59
- chmodSync(loop.paths.piAdapterPath, 0o755);
60
- }
61
- export function resolveProcessKind(kind, command) {
62
- if (kind === "pi" || piBinary(command))
63
- return "pi";
64
- if (kind === "kiro")
65
- return "kiro";
66
- return "command";
67
- }
68
- function piBinary(command) {
69
- return command === "pi" || command.endsWith("/pi");
70
- }
71
- export function normalizePromptMode(value) {
72
- return value === "stdin" ? "stdin" : "arg";
73
- }
74
- export function configListWithFallback(cfg, key, fallback) {
75
- const marker = "__missing__";
76
- const raw = config.get(cfg, key, marker);
77
- if (raw === marker)
78
- return fallback;
79
- return splitCsv(raw);
80
- }
81
- export function injectClaudePermissions(command, args) {
82
- if (!claudeBackend(command))
83
- return args;
84
- const injected = [...args];
85
- if (!injected.includes("-p"))
86
- injected.unshift("-p");
87
- if (!injected.includes("--dangerously-skip-permissions")) {
88
- injected.push("--dangerously-skip-permissions");
89
- }
90
- return injected;
91
- }
92
- export function processStringOverride(override, key, fallback) {
93
- const val = override[key];
94
- return typeof val === "string" ? val : fallback;
95
- }
96
- export function processListOverride(override, key, fallback) {
97
- const val = override[key];
98
- return Array.isArray(val) ? val : fallback;
99
- }
100
- export function claudeBackend(command) {
101
- return command === "claude" || command.endsWith("/claude");
102
- }
103
- export function nextRunId(path, cfg) {
104
- const lines = readLines(path);
105
- const format = config.get(cfg, "core.run_id_format", "human");
106
- if (format === "counter") {
107
- const count = lines.filter((l) => extractTopic(l) === "loop.start").length;
108
- return `run-${count + 1}`;
109
- }
110
- const existing = new Set(lines.map((line) => extractField(line, "run")).filter(Boolean));
111
- if (format === "compact") {
112
- return (uniqueGeneratedId(() => generateCompactId("run"), existing) ??
113
- generateCompactId("run"));
114
- }
115
- return (uniqueGeneratedId(generateReadableId, existing) ?? generateCompactId("run"));
116
- }
117
- export function iterationFieldForRun(journalFile, runId, iteration, topic, field) {
118
- const lines = readRunLines(journalFile, runId);
119
- let current = "";
120
- for (const line of lines) {
121
- if (extractTopic(line) === topic && extractIteration(line) === iteration) {
122
- current = extractField(line, field);
123
- }
124
- }
125
- return current;
126
- }
127
- export function ensureRenderRunId(journalFile) {
128
- return process.env.AUTOLOOP_RUN_ID || latestRunId(journalFile);
129
- }
130
- export function absolutePath(path) {
131
- if (path.startsWith("/"))
132
- return path;
133
- return resolve(process.cwd(), path);
134
- }
135
- export function emptyFallback(text) {
136
- return text || "(empty)";
137
- }
138
- /**
139
- * Resolve the journal file path for a specific run.
140
- * Delegates to resolveRunJournalPath for run-scoped/worktree paths,
141
- * falling back to the top-level journal.
142
- */
143
- export function resolveJournalFileForRun(projectDir, runId) {
144
- const stateDir = config.stateDirPath(projectDir);
145
- const resolved = resolveRunJournalPath(stateDir, runId);
146
- const journalFile = resolved ?? config.resolveJournalFile(projectDir);
147
- return { journalFile, runId };
148
- }
149
- export function buildLoopContext(projectDir, promptOverride, selfCommand, runOptions) {
150
- const resolvedProjectDir = absolutePath(projectDir);
151
- const resolvedWorkDir = absolutePath(runOptions.workDir || ".");
152
- const cfg = config.loadProject(resolvedProjectDir);
153
- const stateDir = join(resolvedWorkDir, config.get(cfg, "core.state_dir", ".miniloop"));
154
- const journalFile = config.resolveJournalFileIn(resolvedProjectDir, resolvedWorkDir);
155
- const memoryFile = config.resolveMemoryFileIn(resolvedProjectDir, resolvedWorkDir);
156
- // tasksFile is resolved later, after isolation mode determines effectiveStateDir
157
- const runId = nextRunId(journalFile, cfg);
158
- const backendOverride = runOptions.backendOverride || {};
159
- const logLevel = runOptions.logLevel || config.get(cfg, "core.log_level", "info");
160
- // Resolve isolation mode
161
- const registryFile = join(stateDir, "registry.jsonl");
162
- const otherActive = activeRuns(registryFile);
163
- const configIsolationEnabled = config.get(cfg, "worktree.enabled", "") === "true" ||
164
- config.get(cfg, "isolation.enabled", "false") === "true";
165
- const currentPresetName = basename(resolvedProjectDir);
166
- const currentCat = presetCategory(currentPresetName, resolvedProjectDir);
167
- const isolation = resolveIsolationMode({
168
- worktree: runOptions.worktree,
169
- noWorktree: runOptions.noWorktree,
170
- configEnabled: configIsolationEnabled,
171
- currentCategory: currentCat,
172
- }, otherActive);
173
- if (isolation.warning) {
174
- process.stderr.write(`\n${isolation.warning}\n\n`);
175
- }
176
- // For run-scoped isolation, route per-run state files to runs/<runId>/
177
- let effectiveStateDir = isolation.mode === "run-scoped"
178
- ? createRunScopedDir(stateDir, runId)
179
- : stateDir;
180
- // Worktree mode: create git worktree and redirect workDir + stateDir
181
- let effectiveWorkDir = resolvedWorkDir;
182
- let worktreeBranch = "";
183
- let worktreePath = "";
184
- let worktreeMetaDir = "";
185
- if (isolation.mode === "worktree") {
186
- const branchPrefix = config.get(cfg, "worktree.branch_prefix", "autoloop");
187
- const mergeStrategy = runOptions.mergeStrategy ||
188
- config.get(cfg, "worktree.merge_strategy", "squash");
189
- const wt = createWorktree({
190
- mainProjectDir: resolvedProjectDir,
191
- mainStateDir: stateDir,
192
- runId,
193
- branchPrefix,
194
- mergeStrategy,
195
- });
196
- effectiveWorkDir = wt.worktreePath;
197
- worktreeBranch = wt.branch;
198
- worktreePath = wt.worktreePath;
199
- worktreeMetaDir = wt.metaDir;
200
- effectiveStateDir = join(wt.worktreePath, config.get(cfg, "core.state_dir", ".miniloop"));
201
- }
202
- // Compute active profiles: config defaults (unless suppressed) + CLI explicit
203
- const cliProfiles = runOptions.profiles ?? [];
204
- const noDefaults = runOptions.noDefaultProfiles ?? false;
205
- const configDefaults = noDefaults ? [] : config.getProfileDefaults(cfg);
206
- const activeProfiles = [...configDefaults, ...cliProfiles];
207
- // Tasks are always per-run: use effectiveStateDir (already per-run for
208
- // run-scoped/worktree), or route to runs/<runId>/ for shared mode.
209
- const tasksFile = isolation.mode === "run-scoped" || isolation.mode === "worktree"
210
- ? join(effectiveStateDir, "tasks.jsonl")
211
- : join(stateDir, "runs", runId, "tasks.jsonl");
212
- // Only paths, runtime, launch, profiles, and store survive — reloadLoop fills the rest from config.
213
- const seed = {
214
- paths: {
215
- projectDir: resolvedProjectDir,
216
- workDir: effectiveWorkDir,
217
- stateDir: effectiveStateDir,
218
- journalFile: isolation.mode === "worktree"
219
- ? join(effectiveStateDir, "journal.jsonl")
220
- : journalFile,
221
- memoryFile,
222
- tasksFile,
223
- registryFile,
224
- toolPath: join(effectiveStateDir, "autoloops"),
225
- piAdapterPath: join(effectiveStateDir, "pi-adapter"),
226
- baseStateDir: stateDir,
227
- mainProjectDir: resolvedProjectDir,
228
- worktreeBranch,
229
- worktreePath,
230
- worktreeMetaDir,
231
- },
232
- runtime: {
233
- runId,
234
- selfCommand,
235
- promptOverride: promptOverride ?? null,
236
- backendOverride,
237
- logLevel,
238
- branchMode: false,
239
- isolationMode: isolation.mode,
240
- },
241
- launch: {
242
- preset: basename(resolvedProjectDir),
243
- trigger: runOptions.trigger ?? "cli",
244
- createdAt: new Date().toISOString(),
245
- parentRunId: runOptions.parentRunId ?? "",
246
- },
247
- profiles: {
248
- active: activeProfiles,
249
- fragments: new Map(),
250
- warnings: [],
251
- },
252
- store: {},
253
- };
254
- return reloadLoop(seed);
255
- }
256
- export function reloadLoop(loop) {
257
- const pd = loop.paths.projectDir;
258
- const wd = loop.paths.workDir;
259
- const cfg = config.loadProject(pd);
260
- const topoData = topo.loadTopology(pd);
261
- const backend = readBackendConfig(cfg, loop.runtime.backendOverride);
262
- const review = readReviewConfig(cfg, topoData, pd, backend);
263
- const parallel = readParallelConfig(cfg);
264
- // Resolve and apply profile fragments
265
- const activeProfiles = loop.profiles?.active ?? [];
266
- let profileInfo = loop.profiles ?? {
267
- active: [],
268
- fragments: new Map(),
269
- warnings: [],
270
- };
271
- let finalTopology = topoData;
272
- if (activeProfiles.length > 0) {
273
- const presetName = loop.launch.preset;
274
- const resolved = profiles.resolveProfileFragments(activeProfiles, presetName, topoData.roles, wd);
275
- profileInfo = {
276
- active: activeProfiles,
277
- fragments: resolved.fragments,
278
- warnings: resolved.warnings,
279
- };
280
- finalTopology = {
281
- ...topoData,
282
- roles: profiles.applyProfileFragments(topoData.roles, resolved.fragments),
283
- };
284
- for (const w of resolved.warnings) {
285
- process.stderr.write(`profile warning: ${w}\n`);
286
- }
287
- }
288
- const templateVars = {
289
- STATE_DIR: loop.paths.stateDir,
290
- TOOL_PATH: loop.paths.toolPath,
291
- };
292
- const updatedTopology = {
293
- ...finalTopology,
294
- roles: finalTopology.roles.map((role) => {
295
- const prompt = expandTemplatePlaceholders(role.prompt, templateVars);
296
- assertNoRawAutoloopPaths(prompt, `role prompt: ${role.id}`);
297
- return { ...role, prompt };
298
- }),
299
- };
300
- const updated = {
301
- objective: resolvePrompt(pd, cfg, loop.runtime.promptOverride),
302
- topology: updatedTopology,
303
- limits: {
304
- maxIterations: config.getInt(cfg, "event_loop.max_iterations", 3),
305
- },
306
- completion: {
307
- promise: config.get(cfg, "event_loop.completion_promise", "LOOP_COMPLETE"),
308
- event: topo.completionEvent(topoData, config.get(cfg, "event_loop.completion_event", "task.complete")),
309
- requiredEvents: config.getList(cfg, "event_loop.required_events"),
310
- },
311
- backend,
312
- review: {
313
- ...review,
314
- prompt: (() => {
315
- const p = expandTemplatePlaceholders(review.prompt, templateVars);
316
- assertNoRawAutoloopPaths(p, "metareview prompt");
317
- return p;
318
- })(),
319
- },
320
- parallel,
321
- memory: {
322
- budgetChars: config.getInt(cfg, "memory.prompt_budget_chars", 8000),
323
- },
324
- tasks: {
325
- budgetChars: config.getInt(cfg, "tasks.prompt_budget_chars", 4000),
326
- },
327
- harness: {
328
- instructions: (() => {
329
- const raw = readOptionalProjectFile(pd, config.get(cfg, "harness.instructions_file", "harness.md"));
330
- const expanded = expandTemplatePlaceholders(raw, templateVars);
331
- assertNoRawAutoloopPaths(expanded, "harness instructions");
332
- return expanded;
333
- })(),
334
- },
335
- profiles: profileInfo,
336
- paths: loop.paths,
337
- runtime: loop.runtime,
338
- launch: loop.launch,
339
- store: {
340
- ...loop.store,
341
- ...(backend.kind === "kiro"
342
- ? {
343
- kiro_trust_all_tools: config.get(cfg, "backend.trust_all_tools", "true") !== "false",
344
- kiro_agent: config.get(cfg, "backend.agent", ""),
345
- kiro_model: config.get(cfg, "backend.model", ""),
346
- }
347
- : {}),
348
- },
349
- agentMap: loadAgentMap(pd),
350
- };
351
- return applyRuntimeModeOverrides(updated);
352
- }
353
- function readBackendConfig(cfg, bo) {
354
- const command = processStringOverride(bo, "command", config.get(cfg, "backend.command", "claude"));
355
- const kind = resolveProcessKind(processStringOverride(bo, "kind", config.get(cfg, "backend.kind", "")), command);
356
- const args = injectClaudePermissions(command, processListOverride(bo, "args", configListWithFallback(cfg, "backend.args", [])));
357
- const promptMode = normalizePromptMode(processStringOverride(bo, "prompt_mode", config.get(cfg, "backend.prompt_mode", "arg")));
358
- const timeoutMs = config.getInt(cfg, "backend.timeout_ms", 300000);
359
- return { kind, command, args, promptMode, timeoutMs };
360
- }
361
- function readReviewConfig(cfg, topoData, projectDir, backend) {
362
- const command = config.get(cfg, "review.command", backend.command);
363
- const kind = resolveProcessKind(config.get(cfg, "review.kind", backend.kind), command);
364
- return {
365
- enabled: truthySetting(config.get(cfg, "review.enabled", "true")),
366
- every: resolveReviewEvery(cfg, topoData),
367
- kind,
368
- command,
369
- args: configListWithFallback(cfg, "review.args", backend.args),
370
- promptMode: normalizePromptMode(config.get(cfg, "review.prompt_mode", backend.promptMode)),
371
- prompt: resolveReviewPrompt(projectDir, cfg),
372
- timeoutMs: config.getInt(cfg, "review.timeout_ms", 300000),
373
- };
374
- }
375
- function readParallelConfig(cfg) {
376
- return {
377
- enabled: truthySetting(config.get(cfg, "parallel.enabled", "false")),
378
- maxBranches: config.getInt(cfg, "parallel.max_branches", 3),
379
- branchTimeoutMs: config.getInt(cfg, "parallel.branch_timeout_ms", 180000),
380
- };
381
- }
382
- export function applyRuntimeModeOverrides(loop) {
383
- if (!loop.runtime.branchMode)
384
- return loop;
385
- return {
386
- ...loop,
387
- limits: { maxIterations: 1 },
388
- review: { ...loop.review, enabled: false },
389
- parallel: { ...loop.parallel, enabled: false },
390
- backend: {
391
- ...loop.backend,
392
- timeoutMs: Math.min(loop.backend.timeoutMs, loop.parallel.branchTimeoutMs),
393
- },
394
- };
395
- }
396
- export function initStore(loop) {
397
- return {
398
- ...loop,
399
- store: {
400
- run_id: loop.runtime.runId,
401
- project_dir: loop.paths.projectDir,
402
- self_command: loop.runtime.selfCommand,
403
- max_iterations: loop.limits.maxIterations,
404
- completion_event: loop.completion.event,
405
- completion_promise: loop.completion.promise,
406
- },
407
- };
408
- }
409
- //# sourceMappingURL=config-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-helpers.js","sourceRoot":"","sources":["../../src/harness/config-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function coordinationFromLines(lines: string[]): string;
@@ -1,127 +0,0 @@
1
- import { decodeEvent } from "../events/decode.js";
2
- import { bulletList, heading } from "../markdown.js";
3
- export function coordinationFromLines(lines) {
4
- const state = {
5
- issues: [],
6
- slices: [],
7
- commits: [],
8
- archives: [],
9
- };
10
- for (const line of lines) {
11
- const event = decodeEvent(line);
12
- if (!event || event.shape !== "payload")
13
- continue;
14
- collectCoordinationEvent(String(event.topic), event.payload, state);
15
- }
16
- return renderCoordinationState(state);
17
- }
18
- function collectCoordinationEvent(topic, payload, state) {
19
- switch (topic) {
20
- case "issue.discovered":
21
- state.issues.push({
22
- id: extractKvFromPayload(payload, "id"),
23
- summary: extractKvFromPayload(payload, "summary"),
24
- disposition: extractKvFromPayload(payload, "disposition"),
25
- owner: extractKvFromPayload(payload, "owner"),
26
- });
27
- break;
28
- case "issue.resolved": {
29
- const id = extractKvFromPayload(payload, "id");
30
- const resolution = extractKvFromPayload(payload, "resolution");
31
- for (const issue of state.issues) {
32
- if (issue.id === id) {
33
- issue.disposition = "resolved";
34
- issue.resolution = resolution;
35
- }
36
- }
37
- break;
38
- }
39
- case "slice.started":
40
- state.slices.push({
41
- id: extractKvFromPayload(payload, "id"),
42
- description: extractKvFromPayload(payload, "description"),
43
- status: "in-progress",
44
- });
45
- break;
46
- case "slice.verified": {
47
- const sid = extractKvFromPayload(payload, "id");
48
- for (const s of state.slices) {
49
- if (s.id === sid)
50
- s.status = "verified";
51
- }
52
- break;
53
- }
54
- case "slice.committed": {
55
- const cid = extractKvFromPayload(payload, "id");
56
- const hash = extractKvFromPayload(payload, "commit_hash");
57
- state.commits.push({ sliceId: cid, commitHash: hash });
58
- for (const s of state.slices) {
59
- if (s.id === cid)
60
- s.status = "committed";
61
- }
62
- break;
63
- }
64
- case "context.archived":
65
- state.archives.push({
66
- sourceFile: extractKvFromPayload(payload, "source_file"),
67
- destFile: extractKvFromPayload(payload, "dest_file"),
68
- reason: extractKvFromPayload(payload, "reason"),
69
- });
70
- break;
71
- }
72
- }
73
- function extractKvFromPayload(payload, key) {
74
- const marker = `${key}=`;
75
- const parts = payload.split(marker);
76
- if (parts.length <= 1)
77
- return "";
78
- const rest = parts[1];
79
- const delimited = rest.split(";");
80
- return (delimited[0] ?? "").trim();
81
- }
82
- function renderCoordinationState(state) {
83
- if (state.issues.length === 0 &&
84
- state.slices.length === 0 &&
85
- state.commits.length === 0 &&
86
- state.archives.length === 0) {
87
- return "";
88
- }
89
- return (heading(1, "Coordination State (from journal)") +
90
- "\n\n" +
91
- renderIssues(state.issues) +
92
- renderSlices(state.slices) +
93
- renderCommits(state.commits) +
94
- renderArchives(state.archives));
95
- }
96
- function renderIssues(issues) {
97
- if (issues.length === 0)
98
- return "";
99
- const items = issues.map((i) => {
100
- let text = `[${i.disposition}] ${i.id}: ${i.summary}`;
101
- if (i.resolution)
102
- text += ` — ${i.resolution}`;
103
- if (i.owner)
104
- text += ` (owner: ${i.owner})`;
105
- return text;
106
- });
107
- return `${heading(2, "Issues")}\n${bulletList(items)}\n\n`;
108
- }
109
- function renderSlices(slices) {
110
- if (slices.length === 0)
111
- return "";
112
- const items = slices.map((s) => `[${s.status}] ${s.id}: ${s.description}`);
113
- return `${heading(2, "Slices")}\n${bulletList(items)}\n\n`;
114
- }
115
- function renderCommits(commits) {
116
- if (commits.length === 0)
117
- return "";
118
- const items = commits.map((c) => `${c.sliceId} → ${c.commitHash}`);
119
- return `${heading(2, "Commits")}\n${bulletList(items)}\n\n`;
120
- }
121
- function renderArchives(archives) {
122
- if (archives.length === 0)
123
- return "";
124
- const items = archives.map((a) => `${a.sourceFile} → ${a.destFile} (${a.reason})`);
125
- return `${heading(2, "Archives")}\n${bulletList(items)}\n\n`;
126
- }
127
- //# sourceMappingURL=coordination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordination.js","sourceRoot":"","sources":["../../src/harness/coordination.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { IterationContext } from "./prompt.js";
2
- import type { LoopContext, RunSummary } from "./types.js";
3
- export declare function printSummary(summary: RunSummary, loop: LoopContext): void;
4
- export declare function printIterationBanner(loop: LoopContext, iter: IterationContext): void;
5
- export declare function printIterationFooter(iter: IterationContext, elapsedS: number): void;
6
- export declare function printProgressLine(data: {
7
- runId: string;
8
- iteration: number;
9
- recentEvent: string;
10
- allowedRoles: string[];
11
- emittedTopic?: string;
12
- outcome: string;
13
- }): void;
14
- export declare function printReviewBanner(iteration: number): void;
15
- export declare function printBackendOutputTail(output: string, maxLines?: number): void;
16
- export declare function printFailureDiagnostic(output: string, stopReason: string): void;
17
- export declare function terminalWidth(): number;
18
- export declare function lastNChars(text: string, n: number): string;
19
- export declare function log(loop: LoopContext, level: string, message: string): void;
20
- export declare function printProjectedMarkdown(text: string, _format: string): void;
21
- export declare function printProjectedText(text: string, _format: string): void;