@cluesmith/codev 2.0.0-rc.5 → 2.0.0-rc.51

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 (330) hide show
  1. package/bin/af.js +2 -2
  2. package/bin/consult.js +1 -1
  3. package/bin/porch.js +6 -35
  4. package/dashboard/dist/assets/index-BIHeqvy0.css +32 -0
  5. package/dashboard/dist/assets/index-VvUWRPNP.js +120 -0
  6. package/dashboard/dist/assets/index-VvUWRPNP.js.map +1 -0
  7. package/dashboard/dist/index.html +14 -0
  8. package/dist/agent-farm/cli.d.ts.map +1 -1
  9. package/dist/agent-farm/cli.js +93 -64
  10. package/dist/agent-farm/cli.js.map +1 -1
  11. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  12. package/dist/agent-farm/commands/architect.js +13 -6
  13. package/dist/agent-farm/commands/architect.js.map +1 -1
  14. package/dist/agent-farm/commands/attach.d.ts +13 -0
  15. package/dist/agent-farm/commands/attach.d.ts.map +1 -0
  16. package/dist/agent-farm/commands/attach.js +179 -0
  17. package/dist/agent-farm/commands/attach.js.map +1 -0
  18. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  19. package/dist/agent-farm/commands/cleanup.js +30 -3
  20. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  21. package/dist/agent-farm/commands/consult.js +1 -1
  22. package/dist/agent-farm/commands/consult.js.map +1 -1
  23. package/dist/agent-farm/commands/index.d.ts +2 -2
  24. package/dist/agent-farm/commands/index.d.ts.map +1 -1
  25. package/dist/agent-farm/commands/index.js +2 -2
  26. package/dist/agent-farm/commands/index.js.map +1 -1
  27. package/dist/agent-farm/commands/{util.d.ts → shell.d.ts} +5 -5
  28. package/dist/agent-farm/commands/shell.d.ts.map +1 -0
  29. package/dist/agent-farm/commands/{util.js → shell.js} +23 -36
  30. package/dist/agent-farm/commands/shell.js.map +1 -0
  31. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  32. package/dist/agent-farm/commands/spawn.js +455 -217
  33. package/dist/agent-farm/commands/spawn.js.map +1 -1
  34. package/dist/agent-farm/commands/start.d.ts +3 -0
  35. package/dist/agent-farm/commands/start.d.ts.map +1 -1
  36. package/dist/agent-farm/commands/start.js +92 -79
  37. package/dist/agent-farm/commands/start.js.map +1 -1
  38. package/dist/agent-farm/commands/status.d.ts +2 -0
  39. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  40. package/dist/agent-farm/commands/status.js +56 -1
  41. package/dist/agent-farm/commands/status.js.map +1 -1
  42. package/dist/agent-farm/commands/stop.d.ts +6 -0
  43. package/dist/agent-farm/commands/stop.d.ts.map +1 -1
  44. package/dist/agent-farm/commands/stop.js +115 -11
  45. package/dist/agent-farm/commands/stop.js.map +1 -1
  46. package/dist/agent-farm/commands/tower.d.ts +9 -0
  47. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  48. package/dist/agent-farm/commands/tower.js +59 -19
  49. package/dist/agent-farm/commands/tower.js.map +1 -1
  50. package/dist/agent-farm/db/index.d.ts.map +1 -1
  51. package/dist/agent-farm/db/index.js +59 -0
  52. package/dist/agent-farm/db/index.js.map +1 -1
  53. package/dist/agent-farm/db/schema.d.ts +2 -2
  54. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  55. package/dist/agent-farm/db/schema.js +8 -3
  56. package/dist/agent-farm/db/schema.js.map +1 -1
  57. package/dist/agent-farm/db/types.d.ts +3 -0
  58. package/dist/agent-farm/db/types.d.ts.map +1 -1
  59. package/dist/agent-farm/db/types.js +3 -0
  60. package/dist/agent-farm/db/types.js.map +1 -1
  61. package/dist/agent-farm/hq-connector.d.ts +2 -2
  62. package/dist/agent-farm/hq-connector.js +2 -2
  63. package/dist/agent-farm/lib/tower-client.d.ts +157 -0
  64. package/dist/agent-farm/lib/tower-client.d.ts.map +1 -0
  65. package/dist/agent-farm/lib/tower-client.js +223 -0
  66. package/dist/agent-farm/lib/tower-client.js.map +1 -0
  67. package/dist/agent-farm/servers/tower-server.js +1155 -99
  68. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  69. package/dist/agent-farm/state.d.ts +4 -10
  70. package/dist/agent-farm/state.d.ts.map +1 -1
  71. package/dist/agent-farm/state.js +30 -31
  72. package/dist/agent-farm/state.js.map +1 -1
  73. package/dist/agent-farm/types.d.ts +48 -0
  74. package/dist/agent-farm/types.d.ts.map +1 -1
  75. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  76. package/dist/agent-farm/utils/config.js +12 -11
  77. package/dist/agent-farm/utils/config.js.map +1 -1
  78. package/dist/agent-farm/utils/deps.d.ts.map +1 -1
  79. package/dist/agent-farm/utils/deps.js +0 -16
  80. package/dist/agent-farm/utils/deps.js.map +1 -1
  81. package/dist/agent-farm/utils/notifications.d.ts +30 -0
  82. package/dist/agent-farm/utils/notifications.d.ts.map +1 -0
  83. package/dist/agent-farm/utils/notifications.js +121 -0
  84. package/dist/agent-farm/utils/notifications.js.map +1 -0
  85. package/dist/agent-farm/utils/server-utils.d.ts +2 -1
  86. package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
  87. package/dist/agent-farm/utils/server-utils.js +11 -1
  88. package/dist/agent-farm/utils/server-utils.js.map +1 -1
  89. package/dist/agent-farm/utils/shell.d.ts +9 -22
  90. package/dist/agent-farm/utils/shell.d.ts.map +1 -1
  91. package/dist/agent-farm/utils/shell.js +34 -34
  92. package/dist/agent-farm/utils/shell.js.map +1 -1
  93. package/dist/agent-farm/utils/terminal-ports.d.ts +1 -1
  94. package/dist/agent-farm/utils/terminal-ports.js +1 -1
  95. package/dist/cli.d.ts.map +1 -1
  96. package/dist/cli.js +5 -54
  97. package/dist/cli.js.map +1 -1
  98. package/dist/commands/adopt.d.ts.map +1 -1
  99. package/dist/commands/adopt.js +39 -4
  100. package/dist/commands/adopt.js.map +1 -1
  101. package/dist/commands/consult/index.d.ts.map +1 -1
  102. package/dist/commands/consult/index.js +63 -3
  103. package/dist/commands/consult/index.js.map +1 -1
  104. package/dist/commands/doctor.d.ts.map +1 -1
  105. package/dist/commands/doctor.js +0 -15
  106. package/dist/commands/doctor.js.map +1 -1
  107. package/dist/commands/init.d.ts.map +1 -1
  108. package/dist/commands/init.js +31 -2
  109. package/dist/commands/init.js.map +1 -1
  110. package/dist/commands/porch/build-counter.d.ts +5 -0
  111. package/dist/commands/porch/build-counter.d.ts.map +1 -0
  112. package/dist/commands/porch/build-counter.js +5 -0
  113. package/dist/commands/porch/build-counter.js.map +1 -0
  114. package/dist/commands/porch/checks.d.ts +16 -29
  115. package/dist/commands/porch/checks.d.ts.map +1 -1
  116. package/dist/commands/porch/checks.js +90 -144
  117. package/dist/commands/porch/checks.js.map +1 -1
  118. package/dist/commands/porch/claude.d.ts +27 -0
  119. package/dist/commands/porch/claude.d.ts.map +1 -0
  120. package/dist/commands/porch/claude.js +107 -0
  121. package/dist/commands/porch/claude.js.map +1 -0
  122. package/dist/commands/porch/index.d.ts +21 -43
  123. package/dist/commands/porch/index.d.ts.map +1 -1
  124. package/dist/commands/porch/index.js +456 -1015
  125. package/dist/commands/porch/index.js.map +1 -1
  126. package/dist/commands/porch/plan.d.ts +70 -0
  127. package/dist/commands/porch/plan.d.ts.map +1 -0
  128. package/dist/commands/porch/plan.js +190 -0
  129. package/dist/commands/porch/plan.js.map +1 -0
  130. package/dist/commands/porch/prompts.d.ts +19 -0
  131. package/dist/commands/porch/prompts.d.ts.map +1 -0
  132. package/dist/commands/porch/prompts.js +250 -0
  133. package/dist/commands/porch/prompts.js.map +1 -0
  134. package/dist/commands/porch/protocol.d.ts +59 -0
  135. package/dist/commands/porch/protocol.d.ts.map +1 -0
  136. package/dist/commands/porch/protocol.js +260 -0
  137. package/dist/commands/porch/protocol.js.map +1 -0
  138. package/dist/commands/porch/run.d.ts +40 -0
  139. package/dist/commands/porch/run.d.ts.map +1 -0
  140. package/dist/commands/porch/run.js +893 -0
  141. package/dist/commands/porch/run.js.map +1 -0
  142. package/dist/commands/porch/state.d.ts +23 -112
  143. package/dist/commands/porch/state.d.ts.map +1 -1
  144. package/dist/commands/porch/state.js +81 -699
  145. package/dist/commands/porch/state.js.map +1 -1
  146. package/dist/commands/porch/types.d.ts +72 -173
  147. package/dist/commands/porch/types.d.ts.map +1 -1
  148. package/dist/commands/porch/types.js +2 -1
  149. package/dist/commands/porch/types.js.map +1 -1
  150. package/dist/commands/update.d.ts.map +1 -1
  151. package/dist/commands/update.js +22 -0
  152. package/dist/commands/update.js.map +1 -1
  153. package/dist/lib/scaffold.d.ts +24 -0
  154. package/dist/lib/scaffold.d.ts.map +1 -1
  155. package/dist/lib/scaffold.js +78 -0
  156. package/dist/lib/scaffold.js.map +1 -1
  157. package/dist/terminal/index.d.ts +8 -0
  158. package/dist/terminal/index.d.ts.map +1 -0
  159. package/dist/terminal/index.js +5 -0
  160. package/dist/terminal/index.js.map +1 -0
  161. package/dist/terminal/pty-manager.d.ts +60 -0
  162. package/dist/terminal/pty-manager.d.ts.map +1 -0
  163. package/dist/terminal/pty-manager.js +334 -0
  164. package/dist/terminal/pty-manager.js.map +1 -0
  165. package/dist/terminal/pty-session.d.ts +79 -0
  166. package/dist/terminal/pty-session.d.ts.map +1 -0
  167. package/dist/terminal/pty-session.js +215 -0
  168. package/dist/terminal/pty-session.js.map +1 -0
  169. package/dist/terminal/ring-buffer.d.ts +27 -0
  170. package/dist/terminal/ring-buffer.d.ts.map +1 -0
  171. package/dist/terminal/ring-buffer.js +74 -0
  172. package/dist/terminal/ring-buffer.js.map +1 -0
  173. package/dist/terminal/ws-protocol.d.ts +27 -0
  174. package/dist/terminal/ws-protocol.d.ts.map +1 -0
  175. package/dist/terminal/ws-protocol.js +44 -0
  176. package/dist/terminal/ws-protocol.js.map +1 -0
  177. package/package.json +18 -3
  178. package/skeleton/DEPENDENCIES.md +3 -29
  179. package/skeleton/builders.md +1 -1
  180. package/skeleton/protocol-schema.json +282 -0
  181. package/skeleton/protocols/bugfix/builder-prompt.md +49 -0
  182. package/skeleton/protocols/bugfix/protocol.json +14 -2
  183. package/skeleton/protocols/experiment/builder-prompt.md +47 -0
  184. package/skeleton/protocols/experiment/protocol.json +101 -0
  185. package/skeleton/protocols/maintain/builder-prompt.md +41 -0
  186. package/skeleton/protocols/maintain/prompts/audit.md +111 -0
  187. package/skeleton/protocols/maintain/prompts/clean.md +91 -0
  188. package/skeleton/protocols/maintain/prompts/sync.md +113 -0
  189. package/skeleton/protocols/maintain/prompts/verify.md +110 -0
  190. package/skeleton/protocols/maintain/protocol.json +141 -0
  191. package/skeleton/protocols/maintain/protocol.md +13 -7
  192. package/skeleton/protocols/protocol-schema.json +53 -0
  193. package/skeleton/protocols/spider/builder-prompt.md +53 -0
  194. package/skeleton/protocols/spider/prompts/implement.md +109 -50
  195. package/skeleton/protocols/spider/prompts/specify.md +29 -4
  196. package/skeleton/protocols/spider/protocol.json +96 -154
  197. package/skeleton/protocols/spider/protocol.md +26 -16
  198. package/skeleton/protocols/spider/templates/plan.md +14 -0
  199. package/skeleton/protocols/tick/builder-prompt.md +51 -0
  200. package/skeleton/protocols/tick/protocol.json +7 -2
  201. package/skeleton/resources/commands/agent-farm.md +25 -43
  202. package/skeleton/resources/commands/overview.md +6 -16
  203. package/skeleton/resources/workflow-reference.md +2 -2
  204. package/skeleton/roles/architect.md +152 -315
  205. package/skeleton/roles/builder.md +109 -218
  206. package/skeleton/templates/AGENTS.md +1 -1
  207. package/skeleton/templates/CLAUDE.md +1 -1
  208. package/skeleton/templates/cheatsheet.md +4 -2
  209. package/templates/dashboard/index.html +17 -43
  210. package/templates/dashboard/js/dialogs.js +7 -7
  211. package/templates/dashboard/js/files.js +2 -2
  212. package/templates/dashboard/js/main.js +3 -3
  213. package/templates/dashboard/js/projects.js +3 -3
  214. package/templates/dashboard/js/tabs.js +1 -1
  215. package/templates/dashboard/js/utils.js +22 -87
  216. package/templates/tower.html +542 -27
  217. package/dist/agent-farm/commands/kickoff.d.ts +0 -19
  218. package/dist/agent-farm/commands/kickoff.d.ts.map +0 -1
  219. package/dist/agent-farm/commands/kickoff.js +0 -331
  220. package/dist/agent-farm/commands/kickoff.js.map +0 -1
  221. package/dist/agent-farm/commands/rename.d.ts +0 -13
  222. package/dist/agent-farm/commands/rename.d.ts.map +0 -1
  223. package/dist/agent-farm/commands/rename.js +0 -33
  224. package/dist/agent-farm/commands/rename.js.map +0 -1
  225. package/dist/agent-farm/commands/tutorial.d.ts +0 -10
  226. package/dist/agent-farm/commands/tutorial.d.ts.map +0 -1
  227. package/dist/agent-farm/commands/tutorial.js +0 -49
  228. package/dist/agent-farm/commands/tutorial.js.map +0 -1
  229. package/dist/agent-farm/commands/util.d.ts.map +0 -1
  230. package/dist/agent-farm/commands/util.js.map +0 -1
  231. package/dist/agent-farm/servers/dashboard-server.d.ts +0 -7
  232. package/dist/agent-farm/servers/dashboard-server.d.ts.map +0 -1
  233. package/dist/agent-farm/servers/dashboard-server.js +0 -1872
  234. package/dist/agent-farm/servers/dashboard-server.js.map +0 -1
  235. package/dist/agent-farm/tutorial/index.d.ts +0 -8
  236. package/dist/agent-farm/tutorial/index.d.ts.map +0 -1
  237. package/dist/agent-farm/tutorial/index.js +0 -8
  238. package/dist/agent-farm/tutorial/index.js.map +0 -1
  239. package/dist/agent-farm/tutorial/prompts.d.ts +0 -57
  240. package/dist/agent-farm/tutorial/prompts.d.ts.map +0 -1
  241. package/dist/agent-farm/tutorial/prompts.js +0 -147
  242. package/dist/agent-farm/tutorial/prompts.js.map +0 -1
  243. package/dist/agent-farm/tutorial/runner.d.ts +0 -52
  244. package/dist/agent-farm/tutorial/runner.d.ts.map +0 -1
  245. package/dist/agent-farm/tutorial/runner.js +0 -204
  246. package/dist/agent-farm/tutorial/runner.js.map +0 -1
  247. package/dist/agent-farm/tutorial/state.d.ts +0 -26
  248. package/dist/agent-farm/tutorial/state.d.ts.map +0 -1
  249. package/dist/agent-farm/tutorial/state.js +0 -89
  250. package/dist/agent-farm/tutorial/state.js.map +0 -1
  251. package/dist/agent-farm/tutorial/steps/first-spec.d.ts +0 -7
  252. package/dist/agent-farm/tutorial/steps/first-spec.d.ts.map +0 -1
  253. package/dist/agent-farm/tutorial/steps/first-spec.js +0 -136
  254. package/dist/agent-farm/tutorial/steps/first-spec.js.map +0 -1
  255. package/dist/agent-farm/tutorial/steps/implementation.d.ts +0 -7
  256. package/dist/agent-farm/tutorial/steps/implementation.d.ts.map +0 -1
  257. package/dist/agent-farm/tutorial/steps/implementation.js +0 -76
  258. package/dist/agent-farm/tutorial/steps/implementation.js.map +0 -1
  259. package/dist/agent-farm/tutorial/steps/index.d.ts +0 -10
  260. package/dist/agent-farm/tutorial/steps/index.d.ts.map +0 -1
  261. package/dist/agent-farm/tutorial/steps/index.js +0 -10
  262. package/dist/agent-farm/tutorial/steps/index.js.map +0 -1
  263. package/dist/agent-farm/tutorial/steps/planning.d.ts +0 -7
  264. package/dist/agent-farm/tutorial/steps/planning.d.ts.map +0 -1
  265. package/dist/agent-farm/tutorial/steps/planning.js +0 -143
  266. package/dist/agent-farm/tutorial/steps/planning.js.map +0 -1
  267. package/dist/agent-farm/tutorial/steps/review.d.ts +0 -7
  268. package/dist/agent-farm/tutorial/steps/review.d.ts.map +0 -1
  269. package/dist/agent-farm/tutorial/steps/review.js +0 -78
  270. package/dist/agent-farm/tutorial/steps/review.js.map +0 -1
  271. package/dist/agent-farm/tutorial/steps/setup.d.ts +0 -7
  272. package/dist/agent-farm/tutorial/steps/setup.d.ts.map +0 -1
  273. package/dist/agent-farm/tutorial/steps/setup.js +0 -126
  274. package/dist/agent-farm/tutorial/steps/setup.js.map +0 -1
  275. package/dist/agent-farm/tutorial/steps/welcome.d.ts +0 -7
  276. package/dist/agent-farm/tutorial/steps/welcome.d.ts.map +0 -1
  277. package/dist/agent-farm/tutorial/steps/welcome.js +0 -50
  278. package/dist/agent-farm/tutorial/steps/welcome.js.map +0 -1
  279. package/dist/commands/pcheck/cache.d.ts +0 -48
  280. package/dist/commands/pcheck/cache.d.ts.map +0 -1
  281. package/dist/commands/pcheck/cache.js +0 -170
  282. package/dist/commands/pcheck/cache.js.map +0 -1
  283. package/dist/commands/pcheck/evaluator.d.ts +0 -15
  284. package/dist/commands/pcheck/evaluator.d.ts.map +0 -1
  285. package/dist/commands/pcheck/evaluator.js +0 -246
  286. package/dist/commands/pcheck/evaluator.js.map +0 -1
  287. package/dist/commands/pcheck/index.d.ts +0 -12
  288. package/dist/commands/pcheck/index.d.ts.map +0 -1
  289. package/dist/commands/pcheck/index.js +0 -249
  290. package/dist/commands/pcheck/index.js.map +0 -1
  291. package/dist/commands/pcheck/parser.d.ts +0 -39
  292. package/dist/commands/pcheck/parser.d.ts.map +0 -1
  293. package/dist/commands/pcheck/parser.js +0 -155
  294. package/dist/commands/pcheck/parser.js.map +0 -1
  295. package/dist/commands/pcheck/types.d.ts +0 -82
  296. package/dist/commands/pcheck/types.d.ts.map +0 -1
  297. package/dist/commands/pcheck/types.js +0 -5
  298. package/dist/commands/pcheck/types.js.map +0 -1
  299. package/dist/commands/porch/consultation.d.ts +0 -56
  300. package/dist/commands/porch/consultation.d.ts.map +0 -1
  301. package/dist/commands/porch/consultation.js +0 -330
  302. package/dist/commands/porch/consultation.js.map +0 -1
  303. package/dist/commands/porch/notifications.d.ts +0 -99
  304. package/dist/commands/porch/notifications.d.ts.map +0 -1
  305. package/dist/commands/porch/notifications.js +0 -223
  306. package/dist/commands/porch/notifications.js.map +0 -1
  307. package/dist/commands/porch/plan-parser.d.ts +0 -38
  308. package/dist/commands/porch/plan-parser.d.ts.map +0 -1
  309. package/dist/commands/porch/plan-parser.js +0 -166
  310. package/dist/commands/porch/plan-parser.js.map +0 -1
  311. package/dist/commands/porch/protocol-loader.d.ts +0 -46
  312. package/dist/commands/porch/protocol-loader.d.ts.map +0 -1
  313. package/dist/commands/porch/protocol-loader.js +0 -253
  314. package/dist/commands/porch/protocol-loader.js.map +0 -1
  315. package/dist/commands/porch/signal-parser.d.ts +0 -88
  316. package/dist/commands/porch/signal-parser.d.ts.map +0 -1
  317. package/dist/commands/porch/signal-parser.js +0 -148
  318. package/dist/commands/porch/signal-parser.js.map +0 -1
  319. package/dist/commands/tower.d.ts +0 -16
  320. package/dist/commands/tower.d.ts.map +0 -1
  321. package/dist/commands/tower.js +0 -21
  322. package/dist/commands/tower.js.map +0 -1
  323. package/skeleton/config.json +0 -7
  324. package/skeleton/porch/protocols/bugfix.json +0 -85
  325. package/skeleton/porch/protocols/spider.json +0 -135
  326. package/skeleton/porch/protocols/tick.json +0 -76
  327. package/skeleton/protocols/spider/prompts/defend.md +0 -215
  328. package/skeleton/protocols/spider/prompts/evaluate.md +0 -241
  329. package/templates/dashboard/css/activity.css +0 -151
  330. package/templates/dashboard/js/activity.js +0 -112
@@ -1,12 +1,35 @@
1
1
  /**
2
2
  * Cleanup command - removes builder worktrees and branches
3
3
  */
4
- import { existsSync } from 'node:fs';
5
- import { basename } from 'node:path';
4
+ import { existsSync, readdirSync } from 'node:fs';
5
+ import { rm } from 'node:fs/promises';
6
+ import { basename, join } from 'node:path';
6
7
  import { getConfig } from '../utils/index.js';
7
8
  import { logger, fatal } from '../utils/logger.js';
8
9
  import { run } from '../utils/shell.js';
9
10
  import { loadState, removeBuilder } from '../state.js';
11
+ /**
12
+ * Remove porch state for a project from codev/projects/
13
+ */
14
+ async function cleanupPorchState(projectId, config) {
15
+ const projectsDir = join(config.codevDir, 'projects');
16
+ if (!existsSync(projectsDir)) {
17
+ return;
18
+ }
19
+ try {
20
+ const entries = readdirSync(projectsDir, { withFileTypes: true });
21
+ for (const entry of entries) {
22
+ if (entry.isDirectory() && entry.name.startsWith(`${projectId}-`)) {
23
+ const porchStatePath = join(projectsDir, entry.name);
24
+ logger.info(`Removing porch state: ${entry.name}`);
25
+ await rm(porchStatePath, { recursive: true, force: true });
26
+ }
27
+ }
28
+ }
29
+ catch (error) {
30
+ logger.warn(`Warning: Failed to cleanup porch state: ${error}`);
31
+ }
32
+ }
10
33
  /**
11
34
  * Get a namespaced tmux session name: builder-{project}-{id}
12
35
  */
@@ -115,7 +138,7 @@ async function cleanupBuilder(builder, force, issueNumber) {
115
138
  logger.info(`Worktree has uncommitted changes: ${details}`);
116
139
  }
117
140
  }
118
- // Kill ttyd process if running
141
+ // Kill terminal process if running
119
142
  if (builder.pid) {
120
143
  logger.info('Stopping builder terminal...');
121
144
  try {
@@ -206,6 +229,10 @@ async function cleanupBuilder(builder, force, issueNumber) {
206
229
  }
207
230
  // Remove from state
208
231
  removeBuilder(builder.id);
232
+ // Clean up porch state (codev/projects/NNNN-*/) so fresh kickoff gets fresh state
233
+ if (!isShellMode) {
234
+ await cleanupPorchState(builder.id, config);
235
+ }
209
236
  // Always prune stale worktree entries to prevent "can't find session" errors
210
237
  // This catches any orphaned worktrees from crashes or manual kills
211
238
  if (!isShellMode) {
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/cleanup.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import { loadState } from '../state.js';
13
13
  export async function consult(subcommand, target, options) {
14
14
  const state = loadState();
15
15
  if (!state.architect) {
16
- fatal('Dashboard not running. Start with: af start');
16
+ fatal('Dashboard not running. Start with: af dash start');
17
17
  }
18
18
  const config = getConfig();
19
19
  const dashboardPort = config.dashboardPort;
@@ -1 +1 @@
1
- {"version":3,"file":"consult.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/consult.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,UAAkB,EAClB,MAAc,EACd,OAAuB;IAEvB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAE1B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAE3C,iEAAiE;IACjE,IAAI,GAAG,GAAG,mBAAmB,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,GAAG,IAAI,WAAW,OAAO,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,GAAG,IAAI,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;IAElC,yDAAyD;IACzD,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,aAAa,iBAAiB,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;SAC7C,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmC,CAAC;YACzE,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YAClD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"consult.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/consult.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,UAAkB,EAClB,MAAc,EACd,OAAuB;IAEvB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAE1B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAE3C,iEAAiE;IACjE,IAAI,GAAG,GAAG,mBAAmB,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,GAAG,IAAI,WAAW,OAAO,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,GAAG,IAAI,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;IAElC,yDAAyD;IACzD,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,aAAa,iBAAiB,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;SAC7C,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmC,CAAC;YACzE,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YAClD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
@@ -5,8 +5,8 @@ export { start } from './start.js';
5
5
  export { stop } from './stop.js';
6
6
  export { status } from './status.js';
7
7
  export { spawn } from './spawn.js';
8
- export { kickoff } from './kickoff.js';
9
- export { util } from './util.js';
8
+ export { shell } from './shell.js';
10
9
  export { open } from './open.js';
11
10
  export { send } from './send.js';
11
+ export { attach } from './attach.js';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -5,8 +5,8 @@ export { start } from './start.js';
5
5
  export { stop } from './stop.js';
6
6
  export { status } from './status.js';
7
7
  export { spawn } from './spawn.js';
8
- export { kickoff } from './kickoff.js';
9
- export { util } from './util.js';
8
+ export { shell } from './shell.js';
10
9
  export { open } from './open.js';
11
10
  export { send } from './send.js';
11
+ export { attach } from './attach.js';
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- * Util command - spawns a utility terminal
2
+ * Shell command - spawns a utility shell terminal
3
3
  *
4
4
  * When the dashboard is running, this creates a tab in the dashboard.
5
- * When the dashboard is not running, it spawns the terminal directly.
5
+ * When the dashboard is not running, it spawns the terminal directly via node-pty.
6
6
  */
7
7
  interface UtilOptions {
8
8
  name?: string;
9
9
  }
10
10
  /**
11
- * Spawn a utility terminal
11
+ * Spawn a utility shell terminal
12
12
  */
13
- export declare function util(options?: UtilOptions): Promise<void>;
13
+ export declare function shell(options?: UtilOptions): Promise<void>;
14
14
  export {};
15
- //# sourceMappingURL=util.d.ts.map
15
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/shell.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAuCD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDpE"}
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Util command - spawns a utility terminal
2
+ * Shell command - spawns a utility shell terminal
3
3
  *
4
4
  * When the dashboard is running, this creates a tab in the dashboard.
5
- * When the dashboard is not running, it spawns the terminal directly.
5
+ * When the dashboard is not running, it spawns the terminal directly via node-pty.
6
6
  */
7
7
  import { getConfig, getResolvedCommands } from '../utils/index.js';
8
8
  import { logger, fatal } from '../utils/logger.js';
9
- import { spawnDetached, commandExists, findAvailablePort, openBrowser } from '../utils/shell.js';
9
+ import { openBrowser } from '../utils/shell.js';
10
10
  import { loadState, addUtil } from '../state.js';
11
11
  /**
12
12
  * Try to create a shell tab via the dashboard API
@@ -41,61 +41,48 @@ async function tryDashboardApi(name) {
41
41
  }
42
42
  }
43
43
  /**
44
- * Spawn a utility terminal
44
+ * Spawn a utility shell terminal
45
45
  */
46
- export async function util(options = {}) {
46
+ export async function shell(options = {}) {
47
47
  const config = getConfig();
48
48
  // Try to use dashboard API first (if dashboard is running)
49
49
  const dashboardOpened = await tryDashboardApi(options.name);
50
50
  if (dashboardOpened) {
51
51
  return;
52
52
  }
53
- // Fall back to direct spawn
54
- // Check for ttyd
55
- if (!(await commandExists('ttyd'))) {
56
- fatal('ttyd not found. Install with: brew install ttyd');
57
- }
58
- // Generate ID and name
53
+ // Direct spawn via node-pty REST API
59
54
  const id = generateUtilId();
60
55
  const name = options.name || `util-${id}`;
61
- // Find available port
62
- const port = await findAvailablePort(config.utilPortRange[0]);
63
56
  // Get shell command from config (hierarchy: CLI > config.json > default)
64
57
  const commands = getResolvedCommands();
65
- const shell = commands.shell;
58
+ const shellCmd = commands.shell;
66
59
  logger.header(`Spawning Utility Terminal`);
67
60
  logger.kv('ID', id);
68
61
  logger.kv('Name', name);
69
- logger.kv('Port', port);
70
- // Start ttyd
71
- const ttydArgs = [
72
- '-W',
73
- '-p', String(port),
74
- '-t', `titleFixed=${name}`,
75
- '-t', 'fontSize=14',
76
- '-t', 'rightClickSelectsWord=true', // Enable word selection on right-click for better UX
77
- shell,
78
- ];
79
- const ttydProcess = spawnDetached('ttyd', ttydArgs, {
80
- cwd: config.projectRoot,
62
+ // Create PTY session via REST API (node-pty backend)
63
+ logger.info('Creating PTY terminal session...');
64
+ const dashboardPort = config.dashboardPort;
65
+ const response = await fetch(`http://localhost:${dashboardPort}/api/terminals`, {
66
+ method: 'POST',
67
+ headers: { 'Content-Type': 'application/json' },
68
+ body: JSON.stringify({ command: shellCmd, args: [], cwd: config.projectRoot, cols: 200, rows: 50 }),
81
69
  });
82
- if (!ttydProcess.pid) {
83
- fatal('Failed to start ttyd process for utility terminal');
70
+ if (!response.ok) {
71
+ fatal(`Failed to create PTY session: ${response.status} ${await response.text()}`);
84
72
  }
85
- // Create util record
73
+ const result = await response.json();
86
74
  const utilTerminal = {
87
75
  id,
88
76
  name,
89
- port,
90
- pid: ttydProcess.pid,
77
+ port: 0,
78
+ pid: 0,
91
79
  };
92
80
  addUtil(utilTerminal);
93
81
  logger.blank();
94
82
  logger.success(`Utility terminal spawned!`);
95
- logger.kv('Terminal', `http://localhost:${port}`);
96
- // Open in browser if not using dashboard
97
- const url = `http://localhost:${port}`;
98
- await openBrowser(url);
83
+ logger.kv('Terminal ID', result.id);
84
+ // Open dashboard (terminal is accessible via WebSocket)
85
+ await openBrowser(`http://localhost:${config.dashboardPort}`);
99
86
  }
100
87
  /**
101
88
  * Generate a unique utility ID
@@ -105,4 +92,4 @@ function generateUtilId() {
105
92
  const random = Math.random().toString(36).substring(2, 4);
106
93
  return `U${timestamp.slice(-3)}${random}`.toUpperCase();
107
94
  }
108
- //# sourceMappingURL=util.js.map
95
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/shell.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAgC,MAAM,aAAa,CAAC;AA+6B9E;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmChE"}
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAoD,MAAM,aAAa,CAAC;AA8uClG;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmChE"}