@cluesmith/codev 2.0.0-rc.4 → 2.0.0-rc.41

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 (316) hide show
  1. package/bin/porch.js +6 -35
  2. package/dashboard/dist/assets/index-BLqoFC1H.js +120 -0
  3. package/dashboard/dist/assets/index-BLqoFC1H.js.map +1 -0
  4. package/dashboard/dist/assets/index-CXwnJkPh.css +32 -0
  5. package/dashboard/dist/index.html +13 -0
  6. package/dist/agent-farm/cli.d.ts.map +1 -1
  7. package/dist/agent-farm/cli.js +93 -64
  8. package/dist/agent-farm/cli.js.map +1 -1
  9. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  10. package/dist/agent-farm/commands/architect.js +13 -6
  11. package/dist/agent-farm/commands/architect.js.map +1 -1
  12. package/dist/agent-farm/commands/attach.d.ts +13 -0
  13. package/dist/agent-farm/commands/attach.d.ts.map +1 -0
  14. package/dist/agent-farm/commands/attach.js +179 -0
  15. package/dist/agent-farm/commands/attach.js.map +1 -0
  16. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  17. package/dist/agent-farm/commands/cleanup.js +30 -3
  18. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  19. package/dist/agent-farm/commands/consult.js +1 -1
  20. package/dist/agent-farm/commands/consult.js.map +1 -1
  21. package/dist/agent-farm/commands/index.d.ts +2 -2
  22. package/dist/agent-farm/commands/index.d.ts.map +1 -1
  23. package/dist/agent-farm/commands/index.js +2 -2
  24. package/dist/agent-farm/commands/index.js.map +1 -1
  25. package/dist/agent-farm/commands/{util.d.ts → shell.d.ts} +5 -5
  26. package/dist/agent-farm/commands/shell.d.ts.map +1 -0
  27. package/dist/agent-farm/commands/{util.js → shell.js} +23 -36
  28. package/dist/agent-farm/commands/shell.js.map +1 -0
  29. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  30. package/dist/agent-farm/commands/spawn.js +455 -217
  31. package/dist/agent-farm/commands/spawn.js.map +1 -1
  32. package/dist/agent-farm/commands/start.d.ts.map +1 -1
  33. package/dist/agent-farm/commands/start.js +27 -79
  34. package/dist/agent-farm/commands/start.js.map +1 -1
  35. package/dist/agent-farm/commands/stop.d.ts.map +1 -1
  36. package/dist/agent-farm/commands/stop.js +79 -10
  37. package/dist/agent-farm/commands/stop.js.map +1 -1
  38. package/dist/agent-farm/commands/tower.d.ts +9 -0
  39. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  40. package/dist/agent-farm/commands/tower.js +59 -19
  41. package/dist/agent-farm/commands/tower.js.map +1 -1
  42. package/dist/agent-farm/db/index.d.ts.map +1 -1
  43. package/dist/agent-farm/db/index.js +15 -0
  44. package/dist/agent-farm/db/index.js.map +1 -1
  45. package/dist/agent-farm/db/schema.d.ts +1 -1
  46. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  47. package/dist/agent-farm/db/schema.js +6 -3
  48. package/dist/agent-farm/db/schema.js.map +1 -1
  49. package/dist/agent-farm/db/types.d.ts +3 -0
  50. package/dist/agent-farm/db/types.d.ts.map +1 -1
  51. package/dist/agent-farm/db/types.js +3 -0
  52. package/dist/agent-farm/db/types.js.map +1 -1
  53. package/dist/agent-farm/hq-connector.d.ts +2 -2
  54. package/dist/agent-farm/hq-connector.js +2 -2
  55. package/dist/agent-farm/servers/dashboard-server.js +435 -131
  56. package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
  57. package/dist/agent-farm/servers/tower-server.js +430 -17
  58. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  59. package/dist/agent-farm/state.d.ts +4 -10
  60. package/dist/agent-farm/state.d.ts.map +1 -1
  61. package/dist/agent-farm/state.js +30 -31
  62. package/dist/agent-farm/state.js.map +1 -1
  63. package/dist/agent-farm/types.d.ts +48 -0
  64. package/dist/agent-farm/types.d.ts.map +1 -1
  65. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  66. package/dist/agent-farm/utils/config.js +12 -11
  67. package/dist/agent-farm/utils/config.js.map +1 -1
  68. package/dist/agent-farm/utils/deps.d.ts.map +1 -1
  69. package/dist/agent-farm/utils/deps.js +0 -16
  70. package/dist/agent-farm/utils/deps.js.map +1 -1
  71. package/dist/agent-farm/utils/notifications.d.ts +30 -0
  72. package/dist/agent-farm/utils/notifications.d.ts.map +1 -0
  73. package/dist/agent-farm/utils/notifications.js +121 -0
  74. package/dist/agent-farm/utils/notifications.js.map +1 -0
  75. package/dist/agent-farm/utils/server-utils.d.ts +2 -1
  76. package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
  77. package/dist/agent-farm/utils/server-utils.js +11 -1
  78. package/dist/agent-farm/utils/server-utils.js.map +1 -1
  79. package/dist/agent-farm/utils/shell.d.ts +9 -22
  80. package/dist/agent-farm/utils/shell.d.ts.map +1 -1
  81. package/dist/agent-farm/utils/shell.js +34 -34
  82. package/dist/agent-farm/utils/shell.js.map +1 -1
  83. package/dist/agent-farm/utils/terminal-ports.d.ts +1 -1
  84. package/dist/agent-farm/utils/terminal-ports.js +1 -1
  85. package/dist/cli.d.ts.map +1 -1
  86. package/dist/cli.js +5 -54
  87. package/dist/cli.js.map +1 -1
  88. package/dist/commands/adopt.d.ts.map +1 -1
  89. package/dist/commands/adopt.js +39 -4
  90. package/dist/commands/adopt.js.map +1 -1
  91. package/dist/commands/consult/index.d.ts.map +1 -1
  92. package/dist/commands/consult/index.js +63 -3
  93. package/dist/commands/consult/index.js.map +1 -1
  94. package/dist/commands/doctor.d.ts.map +1 -1
  95. package/dist/commands/doctor.js +0 -15
  96. package/dist/commands/doctor.js.map +1 -1
  97. package/dist/commands/init.d.ts.map +1 -1
  98. package/dist/commands/init.js +31 -2
  99. package/dist/commands/init.js.map +1 -1
  100. package/dist/commands/porch/build-counter.d.ts +5 -0
  101. package/dist/commands/porch/build-counter.d.ts.map +1 -0
  102. package/dist/commands/porch/build-counter.js +5 -0
  103. package/dist/commands/porch/build-counter.js.map +1 -0
  104. package/dist/commands/porch/checks.d.ts +16 -29
  105. package/dist/commands/porch/checks.d.ts.map +1 -1
  106. package/dist/commands/porch/checks.js +90 -144
  107. package/dist/commands/porch/checks.js.map +1 -1
  108. package/dist/commands/porch/claude.d.ts +27 -0
  109. package/dist/commands/porch/claude.d.ts.map +1 -0
  110. package/dist/commands/porch/claude.js +107 -0
  111. package/dist/commands/porch/claude.js.map +1 -0
  112. package/dist/commands/porch/index.d.ts +21 -43
  113. package/dist/commands/porch/index.d.ts.map +1 -1
  114. package/dist/commands/porch/index.js +466 -926
  115. package/dist/commands/porch/index.js.map +1 -1
  116. package/dist/commands/porch/plan.d.ts +70 -0
  117. package/dist/commands/porch/plan.d.ts.map +1 -0
  118. package/dist/commands/porch/plan.js +190 -0
  119. package/dist/commands/porch/plan.js.map +1 -0
  120. package/dist/commands/porch/prompts.d.ts +19 -0
  121. package/dist/commands/porch/prompts.d.ts.map +1 -0
  122. package/dist/commands/porch/prompts.js +250 -0
  123. package/dist/commands/porch/prompts.js.map +1 -0
  124. package/dist/commands/porch/protocol.d.ts +59 -0
  125. package/dist/commands/porch/protocol.d.ts.map +1 -0
  126. package/dist/commands/porch/protocol.js +260 -0
  127. package/dist/commands/porch/protocol.js.map +1 -0
  128. package/dist/commands/porch/run.d.ts +40 -0
  129. package/dist/commands/porch/run.d.ts.map +1 -0
  130. package/dist/commands/porch/run.js +893 -0
  131. package/dist/commands/porch/run.js.map +1 -0
  132. package/dist/commands/porch/state.d.ts +23 -112
  133. package/dist/commands/porch/state.d.ts.map +1 -1
  134. package/dist/commands/porch/state.js +81 -699
  135. package/dist/commands/porch/state.js.map +1 -1
  136. package/dist/commands/porch/types.d.ts +72 -173
  137. package/dist/commands/porch/types.d.ts.map +1 -1
  138. package/dist/commands/porch/types.js +2 -1
  139. package/dist/commands/porch/types.js.map +1 -1
  140. package/dist/commands/update.d.ts.map +1 -1
  141. package/dist/commands/update.js +22 -0
  142. package/dist/commands/update.js.map +1 -1
  143. package/dist/lib/scaffold.d.ts +24 -0
  144. package/dist/lib/scaffold.d.ts.map +1 -1
  145. package/dist/lib/scaffold.js +78 -0
  146. package/dist/lib/scaffold.js.map +1 -1
  147. package/dist/terminal/index.d.ts +8 -0
  148. package/dist/terminal/index.d.ts.map +1 -0
  149. package/dist/terminal/index.js +5 -0
  150. package/dist/terminal/index.js.map +1 -0
  151. package/dist/terminal/pty-manager.d.ts +60 -0
  152. package/dist/terminal/pty-manager.d.ts.map +1 -0
  153. package/dist/terminal/pty-manager.js +334 -0
  154. package/dist/terminal/pty-manager.js.map +1 -0
  155. package/dist/terminal/pty-session.d.ts +79 -0
  156. package/dist/terminal/pty-session.d.ts.map +1 -0
  157. package/dist/terminal/pty-session.js +215 -0
  158. package/dist/terminal/pty-session.js.map +1 -0
  159. package/dist/terminal/ring-buffer.d.ts +27 -0
  160. package/dist/terminal/ring-buffer.d.ts.map +1 -0
  161. package/dist/terminal/ring-buffer.js +74 -0
  162. package/dist/terminal/ring-buffer.js.map +1 -0
  163. package/dist/terminal/ws-protocol.d.ts +27 -0
  164. package/dist/terminal/ws-protocol.d.ts.map +1 -0
  165. package/dist/terminal/ws-protocol.js +44 -0
  166. package/dist/terminal/ws-protocol.js.map +1 -0
  167. package/package.json +18 -3
  168. package/skeleton/DEPENDENCIES.md +3 -29
  169. package/skeleton/builders.md +1 -1
  170. package/skeleton/protocol-schema.json +282 -0
  171. package/skeleton/protocols/bugfix/builder-prompt.md +49 -0
  172. package/skeleton/protocols/bugfix/protocol.json +14 -2
  173. package/skeleton/protocols/experiment/builder-prompt.md +47 -0
  174. package/skeleton/protocols/experiment/protocol.json +101 -0
  175. package/skeleton/protocols/maintain/builder-prompt.md +41 -0
  176. package/skeleton/protocols/maintain/prompts/audit.md +111 -0
  177. package/skeleton/protocols/maintain/prompts/clean.md +91 -0
  178. package/skeleton/protocols/maintain/prompts/sync.md +113 -0
  179. package/skeleton/protocols/maintain/prompts/verify.md +110 -0
  180. package/skeleton/protocols/maintain/protocol.json +141 -0
  181. package/skeleton/protocols/maintain/protocol.md +13 -7
  182. package/skeleton/protocols/protocol-schema.json +53 -0
  183. package/skeleton/protocols/spider/builder-prompt.md +53 -0
  184. package/skeleton/protocols/spider/prompts/implement.md +109 -50
  185. package/skeleton/protocols/spider/prompts/specify.md +29 -4
  186. package/skeleton/protocols/spider/protocol.json +96 -154
  187. package/skeleton/protocols/spider/protocol.md +26 -16
  188. package/skeleton/protocols/spider/templates/plan.md +14 -0
  189. package/skeleton/protocols/tick/builder-prompt.md +51 -0
  190. package/skeleton/protocols/tick/protocol.json +7 -2
  191. package/skeleton/resources/commands/agent-farm.md +25 -43
  192. package/skeleton/resources/commands/overview.md +6 -16
  193. package/skeleton/resources/workflow-reference.md +2 -2
  194. package/skeleton/roles/architect.md +152 -315
  195. package/skeleton/roles/builder.md +109 -218
  196. package/skeleton/templates/AGENTS.md +1 -1
  197. package/skeleton/templates/CLAUDE.md +1 -1
  198. package/skeleton/templates/cheatsheet.md +4 -2
  199. package/templates/dashboard/index.html +17 -43
  200. package/templates/dashboard/js/dialogs.js +7 -7
  201. package/templates/dashboard/js/files.js +2 -2
  202. package/templates/dashboard/js/main.js +3 -3
  203. package/templates/dashboard/js/projects.js +3 -3
  204. package/templates/dashboard/js/tabs.js +1 -1
  205. package/templates/dashboard/js/utils.js +22 -87
  206. package/templates/tower.html +497 -26
  207. package/dist/agent-farm/commands/kickoff.d.ts +0 -19
  208. package/dist/agent-farm/commands/kickoff.d.ts.map +0 -1
  209. package/dist/agent-farm/commands/kickoff.js +0 -331
  210. package/dist/agent-farm/commands/kickoff.js.map +0 -1
  211. package/dist/agent-farm/commands/rename.d.ts +0 -13
  212. package/dist/agent-farm/commands/rename.d.ts.map +0 -1
  213. package/dist/agent-farm/commands/rename.js +0 -33
  214. package/dist/agent-farm/commands/rename.js.map +0 -1
  215. package/dist/agent-farm/commands/tutorial.d.ts +0 -10
  216. package/dist/agent-farm/commands/tutorial.d.ts.map +0 -1
  217. package/dist/agent-farm/commands/tutorial.js +0 -49
  218. package/dist/agent-farm/commands/tutorial.js.map +0 -1
  219. package/dist/agent-farm/commands/util.d.ts.map +0 -1
  220. package/dist/agent-farm/commands/util.js.map +0 -1
  221. package/dist/agent-farm/tutorial/index.d.ts +0 -8
  222. package/dist/agent-farm/tutorial/index.d.ts.map +0 -1
  223. package/dist/agent-farm/tutorial/index.js +0 -8
  224. package/dist/agent-farm/tutorial/index.js.map +0 -1
  225. package/dist/agent-farm/tutorial/prompts.d.ts +0 -57
  226. package/dist/agent-farm/tutorial/prompts.d.ts.map +0 -1
  227. package/dist/agent-farm/tutorial/prompts.js +0 -147
  228. package/dist/agent-farm/tutorial/prompts.js.map +0 -1
  229. package/dist/agent-farm/tutorial/runner.d.ts +0 -52
  230. package/dist/agent-farm/tutorial/runner.d.ts.map +0 -1
  231. package/dist/agent-farm/tutorial/runner.js +0 -204
  232. package/dist/agent-farm/tutorial/runner.js.map +0 -1
  233. package/dist/agent-farm/tutorial/state.d.ts +0 -26
  234. package/dist/agent-farm/tutorial/state.d.ts.map +0 -1
  235. package/dist/agent-farm/tutorial/state.js +0 -89
  236. package/dist/agent-farm/tutorial/state.js.map +0 -1
  237. package/dist/agent-farm/tutorial/steps/first-spec.d.ts +0 -7
  238. package/dist/agent-farm/tutorial/steps/first-spec.d.ts.map +0 -1
  239. package/dist/agent-farm/tutorial/steps/first-spec.js +0 -136
  240. package/dist/agent-farm/tutorial/steps/first-spec.js.map +0 -1
  241. package/dist/agent-farm/tutorial/steps/implementation.d.ts +0 -7
  242. package/dist/agent-farm/tutorial/steps/implementation.d.ts.map +0 -1
  243. package/dist/agent-farm/tutorial/steps/implementation.js +0 -76
  244. package/dist/agent-farm/tutorial/steps/implementation.js.map +0 -1
  245. package/dist/agent-farm/tutorial/steps/index.d.ts +0 -10
  246. package/dist/agent-farm/tutorial/steps/index.d.ts.map +0 -1
  247. package/dist/agent-farm/tutorial/steps/index.js +0 -10
  248. package/dist/agent-farm/tutorial/steps/index.js.map +0 -1
  249. package/dist/agent-farm/tutorial/steps/planning.d.ts +0 -7
  250. package/dist/agent-farm/tutorial/steps/planning.d.ts.map +0 -1
  251. package/dist/agent-farm/tutorial/steps/planning.js +0 -143
  252. package/dist/agent-farm/tutorial/steps/planning.js.map +0 -1
  253. package/dist/agent-farm/tutorial/steps/review.d.ts +0 -7
  254. package/dist/agent-farm/tutorial/steps/review.d.ts.map +0 -1
  255. package/dist/agent-farm/tutorial/steps/review.js +0 -78
  256. package/dist/agent-farm/tutorial/steps/review.js.map +0 -1
  257. package/dist/agent-farm/tutorial/steps/setup.d.ts +0 -7
  258. package/dist/agent-farm/tutorial/steps/setup.d.ts.map +0 -1
  259. package/dist/agent-farm/tutorial/steps/setup.js +0 -126
  260. package/dist/agent-farm/tutorial/steps/setup.js.map +0 -1
  261. package/dist/agent-farm/tutorial/steps/welcome.d.ts +0 -7
  262. package/dist/agent-farm/tutorial/steps/welcome.d.ts.map +0 -1
  263. package/dist/agent-farm/tutorial/steps/welcome.js +0 -50
  264. package/dist/agent-farm/tutorial/steps/welcome.js.map +0 -1
  265. package/dist/commands/pcheck/cache.d.ts +0 -48
  266. package/dist/commands/pcheck/cache.d.ts.map +0 -1
  267. package/dist/commands/pcheck/cache.js +0 -170
  268. package/dist/commands/pcheck/cache.js.map +0 -1
  269. package/dist/commands/pcheck/evaluator.d.ts +0 -15
  270. package/dist/commands/pcheck/evaluator.d.ts.map +0 -1
  271. package/dist/commands/pcheck/evaluator.js +0 -246
  272. package/dist/commands/pcheck/evaluator.js.map +0 -1
  273. package/dist/commands/pcheck/index.d.ts +0 -12
  274. package/dist/commands/pcheck/index.d.ts.map +0 -1
  275. package/dist/commands/pcheck/index.js +0 -249
  276. package/dist/commands/pcheck/index.js.map +0 -1
  277. package/dist/commands/pcheck/parser.d.ts +0 -39
  278. package/dist/commands/pcheck/parser.d.ts.map +0 -1
  279. package/dist/commands/pcheck/parser.js +0 -155
  280. package/dist/commands/pcheck/parser.js.map +0 -1
  281. package/dist/commands/pcheck/types.d.ts +0 -82
  282. package/dist/commands/pcheck/types.d.ts.map +0 -1
  283. package/dist/commands/pcheck/types.js +0 -5
  284. package/dist/commands/pcheck/types.js.map +0 -1
  285. package/dist/commands/porch/consultation.d.ts +0 -56
  286. package/dist/commands/porch/consultation.d.ts.map +0 -1
  287. package/dist/commands/porch/consultation.js +0 -330
  288. package/dist/commands/porch/consultation.js.map +0 -1
  289. package/dist/commands/porch/notifications.d.ts +0 -99
  290. package/dist/commands/porch/notifications.d.ts.map +0 -1
  291. package/dist/commands/porch/notifications.js +0 -223
  292. package/dist/commands/porch/notifications.js.map +0 -1
  293. package/dist/commands/porch/plan-parser.d.ts +0 -38
  294. package/dist/commands/porch/plan-parser.d.ts.map +0 -1
  295. package/dist/commands/porch/plan-parser.js +0 -166
  296. package/dist/commands/porch/plan-parser.js.map +0 -1
  297. package/dist/commands/porch/protocol-loader.d.ts +0 -46
  298. package/dist/commands/porch/protocol-loader.d.ts.map +0 -1
  299. package/dist/commands/porch/protocol-loader.js +0 -249
  300. package/dist/commands/porch/protocol-loader.js.map +0 -1
  301. package/dist/commands/porch/signal-parser.d.ts +0 -88
  302. package/dist/commands/porch/signal-parser.d.ts.map +0 -1
  303. package/dist/commands/porch/signal-parser.js +0 -148
  304. package/dist/commands/porch/signal-parser.js.map +0 -1
  305. package/dist/commands/tower.d.ts +0 -16
  306. package/dist/commands/tower.d.ts.map +0 -1
  307. package/dist/commands/tower.js +0 -21
  308. package/dist/commands/tower.js.map +0 -1
  309. package/skeleton/config.json +0 -7
  310. package/skeleton/porch/protocols/bugfix.json +0 -85
  311. package/skeleton/porch/protocols/spider.json +0 -135
  312. package/skeleton/porch/protocols/tick.json +0 -76
  313. package/skeleton/protocols/spider/prompts/defend.md +0 -215
  314. package/skeleton/protocols/spider/prompts/evaluate.md +0 -241
  315. package/templates/dashboard/css/activity.css +0 -151
  316. package/templates/dashboard/js/activity.js +0 -112
@@ -45,11 +45,21 @@ export function parseJsonBody(req, maxSize = 1024 * 1024) {
45
45
  }
46
46
  /**
47
47
  * Security: Validate request origin to prevent CSRF and DNS rebinding attacks
48
- * Allows only localhost and 127.0.0.1 hosts/origins
48
+ * When CODEV_WEB_KEY is set, allows any host (auth handles security)
49
+ * Otherwise, allows only localhost and 127.0.0.1
49
50
  * @param req - HTTP incoming message
50
51
  * @returns true if request should be allowed
51
52
  */
52
53
  export function isRequestAllowed(req) {
54
+ // INSECURE MODE: Skip all checks (for testing only!)
55
+ if (process.env.CODEV_WEB_INSECURE === '1') {
56
+ return true;
57
+ }
58
+ // When CODEV_WEB_KEY is set, allow any host - auth will handle security
59
+ // This is needed for tunnel access (cloudflared, ngrok, etc.)
60
+ if (process.env.CODEV_WEB_KEY) {
61
+ return true;
62
+ }
53
63
  const host = req.headers.host;
54
64
  const origin = req.headers.origin;
55
65
  // Host check (prevent DNS rebinding attacks)
@@ -1 +1 @@
1
- {"version":3,"file":"server-utils.js","sourceRoot":"","sources":["../../../src/agent-farm/utils/server-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAyB,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAC5E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC5C,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAyB;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAElC,6CAA6C;IAC7C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kDAAkD;IAClD,gGAAgG;IAChG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"server-utils.js","sourceRoot":"","sources":["../../../src/agent-farm/utils/server-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAyB,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAC5E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC5C,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAyB;IACxD,qDAAqD;IACrD,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAElC,6CAA6C;IAC7C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kDAAkD;IAClD,gGAAgG;IAChG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -20,6 +20,7 @@ export declare function run(command: string, options?: {
20
20
  export declare function spawnDetached(command: string, args: string[], options?: {
21
21
  cwd?: string;
22
22
  logFile?: string;
23
+ env?: NodeJS.ProcessEnv;
23
24
  }): ChildProcess;
24
25
  /**
25
26
  * Check if a command exists
@@ -36,32 +37,18 @@ export declare function findAvailablePort(startPort: number): Promise<number>;
36
37
  */
37
38
  export declare function isProcessRunning(pid: number): Promise<boolean>;
38
39
  /**
39
- * Kill a process tree
40
+ * Kill a single process with SIGTERM → wait → SIGKILL escalation.
41
+ * Does NOT walk the process tree — safe for tmux processes where
42
+ * tree-kill could kill siblings across projects.
40
43
  */
41
44
  export declare function killProcess(pid: number): Promise<void>;
42
45
  /**
43
- * Open a URL in the default browser
46
+ * Kill a process tree (all children). Use for non-tmux processes
47
+ * like annotation servers and dashboard servers where children must also die.
44
48
  */
45
- export declare function openBrowser(url: string): Promise<void>;
46
- export interface TtydOptions {
47
- /** Port to run ttyd on */
48
- port: number;
49
- /** tmux session name to attach to (REQUIRED - prevents attaching to wrong session) */
50
- sessionName: string;
51
- /** Working directory */
52
- cwd?: string;
53
- /** Custom index.html path for ttyd */
54
- customIndexPath?: string;
55
- /** Bind host (default: localhost, use 0.0.0.0 for remote access) */
56
- bindHost?: string;
57
- }
49
+ export declare function killProcessTree(pid: number): Promise<void>;
58
50
  /**
59
- * Spawn ttyd attached to a specific tmux session.
60
- *
61
- * IMPORTANT: Always specify sessionName to prevent ttyd from attaching
62
- * to the wrong tmux session. This has caused cross-project issues.
63
- *
64
- * @returns The spawned child process, or null if spawn failed
51
+ * Open a URL in the default browser
65
52
  */
66
- export declare function spawnTtyd(options: TtydOptions): ChildProcess | null;
53
+ export declare function openBrowser(url: string): Promise<void>;
67
54
  //# sourceMappingURL=shell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKpE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,GAAG,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,OAAO,CAAC,UAAU,CAAC,CAgBrB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,YAAY,CA6Cd;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYrE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB1E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOpE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D;AAED,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,GAAG,IAAI,CA8BnE"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKpE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,GAAG,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,OAAO,CAAC,UAAU,CAAC,CAgBrB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAO,GACxE,YAAY,CA+Cd;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYrE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB1E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOpE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5D;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAehE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D"}
@@ -29,10 +29,12 @@ export async function run(command, options = {}) {
29
29
  */
30
30
  export function spawnDetached(command, args, options = {}) {
31
31
  // Always capture stderr for error reporting, even when not logging
32
+ // Explicitly pass environment to ensure CODEV_WEB_KEY etc. are inherited
32
33
  const child = spawn(command, args, {
33
34
  cwd: options.cwd,
34
35
  detached: true,
35
36
  stdio: ['ignore', 'pipe', 'pipe'], // Always capture stdout/stderr
37
+ env: options.env || process.env,
36
38
  });
37
39
  // Buffer stderr for error reporting (keeps last 4KB)
38
40
  let stderrBuffer = '';
@@ -122,14 +124,44 @@ export async function isProcessRunning(pid) {
122
124
  }
123
125
  }
124
126
  /**
125
- * Kill a process tree
127
+ * Kill a single process with SIGTERM → wait → SIGKILL escalation.
128
+ * Does NOT walk the process tree — safe for tmux processes where
129
+ * tree-kill could kill siblings across projects.
126
130
  */
127
131
  export async function killProcess(pid) {
132
+ // Send SIGTERM
133
+ try {
134
+ process.kill(pid, 'SIGTERM');
135
+ }
136
+ catch (err) {
137
+ if (err.code === 'ESRCH')
138
+ return; // already gone
139
+ throw err;
140
+ }
141
+ // Wait up to 3s for process to exit, then escalate to SIGKILL
142
+ for (let i = 0; i < 6; i++) {
143
+ await new Promise((r) => setTimeout(r, 500));
144
+ if (!(await isProcessRunning(pid)))
145
+ return;
146
+ }
147
+ try {
148
+ process.kill(pid, 'SIGKILL');
149
+ }
150
+ catch (err) {
151
+ if (err.code === 'ESRCH')
152
+ return;
153
+ throw err;
154
+ }
155
+ }
156
+ /**
157
+ * Kill a process tree (all children). Use for non-tmux processes
158
+ * like annotation servers and dashboard servers where children must also die.
159
+ */
160
+ export async function killProcessTree(pid) {
128
161
  const treeKill = (await import('tree-kill')).default;
129
162
  return new Promise((resolve, reject) => {
130
163
  treeKill(pid, 'SIGTERM', (err) => {
131
164
  if (err) {
132
- // Try SIGKILL if SIGTERM fails
133
165
  treeKill(pid, 'SIGKILL', (err2) => {
134
166
  if (err2)
135
167
  reject(err2);
@@ -150,36 +182,4 @@ export async function openBrowser(url) {
150
182
  const open = (await import('open')).default;
151
183
  await open(url);
152
184
  }
153
- /**
154
- * Spawn ttyd attached to a specific tmux session.
155
- *
156
- * IMPORTANT: Always specify sessionName to prevent ttyd from attaching
157
- * to the wrong tmux session. This has caused cross-project issues.
158
- *
159
- * @returns The spawned child process, or null if spawn failed
160
- */
161
- export function spawnTtyd(options) {
162
- const { port, sessionName, cwd, customIndexPath, bindHost } = options;
163
- const ttydArgs = [
164
- '-W',
165
- '-p', String(port),
166
- '-t', 'theme={"background":"#000000"}',
167
- '-t', 'rightClickSelectsWord=true',
168
- ];
169
- // Add bind interface if specified (default is localhost)
170
- if (bindHost) {
171
- ttydArgs.push('-i', bindHost);
172
- }
173
- // Add custom index if provided and exists
174
- if (customIndexPath) {
175
- ttydArgs.push('-I', customIndexPath);
176
- }
177
- // CRITICAL: Always specify the session name to prevent attaching to wrong session
178
- ttydArgs.push('tmux', 'attach-session', '-t', sessionName);
179
- const child = spawnDetached('ttyd', ttydArgs, { cwd });
180
- if (!child.pid) {
181
- return null;
182
- }
183
- return child;
184
- }
185
185
  //# sourceMappingURL=shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/agent-farm/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAOlC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,OAAe,EACf,UAA8C,EAAE;IAEhD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;YACtC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;SACrC,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,KAAqD,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,mBAAmB,OAAO,KAAK,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CACvE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,IAAc,EACd,UAA8C,EAAE;IAEhD,mEAAmE;IACnE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACjC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,+BAA+B;KACnE,CAAC,CAAC;IAEH,qDAAqD;IACrD,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,MAAM,aAAa,GAAG,IAAI,CAAC;IAE3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,YAAY,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;gBACxC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAChC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,4CAA4C,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChG,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,4BAA4B,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,4CAA4C,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,oCAAoC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,kCAAkC;IACvE,CAAC;IAED,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,sDAAsD;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,CAAC,2CAA2C;IAC3D,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAErC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAoB,EAAE;QACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,OAAO,IAAI,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC;QAC9B,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IAErD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,GAAG,EAAE,CAAC;gBACR,+BAA+B;gBAC/B,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;oBAChC,IAAI,IAAI;wBAAE,MAAM,CAAC,IAAI,CAAC,CAAC;;wBAClB,OAAO,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAeD;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAAoB;IAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEtE,MAAM,QAAQ,GAAG;QACf,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAClB,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,4BAA4B;KACnC,CAAC;IAEF,yDAAyD;IACzD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,0CAA0C;IAC1C,IAAI,eAAe,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvC,CAAC;IAED,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/agent-farm/utils/shell.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { DashboardState } from '../types.js';
8
8
  /**
9
- * Get the ttyd port for a given terminal ID
9
+ * Get the port for a given terminal ID
10
10
  * Returns null if the terminal is not found
11
11
  *
12
12
  * Terminal ID formats:
@@ -5,7 +5,7 @@
5
5
  * Extracted to a separate module for testability.
6
6
  */
7
7
  /**
8
- * Get the ttyd port for a given terminal ID
8
+ * Get the port for a given terminal ID
9
9
  * Returns null if the terminal is not found
10
10
  *
11
11
  * Terminal ID formats:
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AA2NH;;;GAGG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvD"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AAyKH;;;GAGG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvD"}
package/dist/cli.js CHANGED
@@ -7,9 +7,8 @@ import { doctor } from './commands/doctor.js';
7
7
  import { init } from './commands/init.js';
8
8
  import { adopt } from './commands/adopt.js';
9
9
  import { update } from './commands/update.js';
10
- import { tower } from './commands/tower.js';
11
10
  import { consult } from './commands/consult/index.js';
12
- import { porch } from './commands/porch/index.js';
11
+ import { cli as porchCli } from './commands/porch/index.js';
13
12
  import { importCommand } from './commands/import.js';
14
13
  import { generateImage } from './commands/generate-image.js';
15
14
  import { runAgentFarm } from './agent-farm/cli.js';
@@ -76,42 +75,6 @@ program
76
75
  process.exit(1);
77
76
  }
78
77
  });
79
- // Tower command with subcommands
80
- const towerCmd = program
81
- .command('tower')
82
- .description('Cross-project dashboard showing all agent-farm instances');
83
- towerCmd
84
- .command('start')
85
- .description('Start the tower dashboard')
86
- .option('-p, --port <port>', 'Port to run on (default: 4100)')
87
- .action(async (options) => {
88
- try {
89
- await tower({
90
- port: options.port ? parseInt(options.port, 10) : undefined,
91
- stop: false,
92
- });
93
- }
94
- catch (error) {
95
- console.error(error instanceof Error ? error.message : String(error));
96
- process.exit(1);
97
- }
98
- });
99
- towerCmd
100
- .command('stop')
101
- .description('Stop the tower dashboard')
102
- .option('-p, --port <port>', 'Port to stop (default: 4100)')
103
- .action(async (options) => {
104
- try {
105
- await tower({
106
- port: options.port ? parseInt(options.port, 10) : undefined,
107
- stop: true,
108
- });
109
- }
110
- catch (error) {
111
- console.error(error instanceof Error ? error.message : String(error));
112
- process.exit(1);
113
- }
114
- });
115
78
  // Consult command
116
79
  program
117
80
  .command('consult')
@@ -143,24 +106,12 @@ program
143
106
  program
144
107
  .command('porch')
145
108
  .description('Protocol orchestrator - run development protocols')
146
- .argument('<subcommand>', 'Subcommand: run, init, approve, status, pending, list, show')
109
+ .argument('<subcommand>', 'Subcommand: status, check, done, gate, approve, init')
147
110
  .argument('[args...]', 'Arguments for the subcommand')
148
- .option('-n, --dry-run', 'Show what would execute without running')
149
- .option('--no-claude', 'Skip Claude invocations (for testing)')
150
- .option('-p, --poll-interval <seconds>', 'Override poll interval for gate checks')
151
- .option('-d, --description <text>', 'Project description (for init)')
152
- .option('-w, --worktree <path>', 'Worktree path (for init)')
153
- .action(async (subcommand, args, options) => {
111
+ .allowUnknownOption()
112
+ .action(async (subcommand, args) => {
154
113
  try {
155
- await porch({
156
- subcommand,
157
- args,
158
- dryRun: options.dryRun,
159
- noClaude: options.noClaude,
160
- pollInterval: options.pollInterval ? parseInt(options.pollInterval, 10) : undefined,
161
- description: options.description,
162
- worktree: options.worktree,
163
- });
114
+ await porchCli([subcommand, ...args]);
164
115
  }
165
116
  catch (error) {
166
117
  console.error(error instanceof Error ? error.message : String(error));
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,eAAe,EAAE,+BAA+B,CAAC;KACxD,MAAM,CAAC,aAAa,EAAE,mCAAmC,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iCAAiC;AACjC,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,0DAA0D,CAAC,CAAC;AAE3E,QAAQ;KACL,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3D,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sCAAsC,CAAC;KACnD,QAAQ,CAAC,cAAc,EAAE,wCAAwC,CAAC;KAClE,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAC;KACrD,cAAc,CAAC,qBAAqB,EAAE,kEAAkE,CAAC;KACzG,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;KAClE,MAAM,CAAC,mBAAmB,EAAE,kFAAkF,CAAC;KAC/G,MAAM,CAAC,mBAAmB,EAAE,kFAAkF,CAAC;KAC/G,kBAAkB,CAAC,IAAI,CAAC;KACxB,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,CAAC;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU;YACV,IAAI;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,IAAI;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,wCAAwC;AACxC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mDAAmD,CAAC;KAChE,QAAQ,CAAC,cAAc,EAAE,6DAA6D,CAAC;KACvF,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;KAClE,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;KAC9D,MAAM,CAAC,+BAA+B,EAAE,wCAAwC,CAAC;KACjF,MAAM,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;KACpE,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1C,IAAI,CAAC;QACH,MAAM,KAAK,CAAC;YACV,UAAU;YACV,IAAI;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACnF,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,eAAe,EAAE,oDAAoD,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,yBAAyB;AACzB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,QAAQ,CAAC,UAAU,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,CAAC;KAC/D,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,EAAE,IAAI,CAAC;KACnE,MAAM,CAAC,sBAAsB,EAAE,mDAAmD,EAAE,KAAK,CAAC;KAC1F,MAAM,CAAC,iBAAiB,EAAE,6DAA6D,CAAC;KACxF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,EAAE;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,4DAA4D;AAC5D,OAAO;KACJ,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KACxC,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,kDAAkD,CAAC;KAC/D,kBAAkB,CAAC,IAAI,CAAC;KACxB,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,qDAAqD;IACrD,wDAAwD;AAC1D,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,yCAAyC;IACzC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,iCAAiC;AACjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEtC,IAAI,YAAY,EAAE,CAAC;IACjB,0DAA0D;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAoCD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+IrE"}
1
+ {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAoCD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsLrE"}
@@ -10,7 +10,7 @@ import { spawn } from 'node:child_process';
10
10
  import chalk from 'chalk';
11
11
  import { getTemplatesDir } from '../lib/templates.js';
12
12
  import { confirm } from '../lib/cli-prompts.js';
13
- import { createUserDirs, copyProjectlist, copyProjectlistArchive, copyConsultTypes, copyResourceTemplates, copyRootFiles, updateGitignore, } from '../lib/scaffold.js';
13
+ import { createUserDirs, createProjectsDir, copyProjectlist, copyProjectlistArchive, copyConsultTypes, copyResourceTemplates, copyProtocols, copyRootFiles, updateGitignore, } from '../lib/scaffold.js';
14
14
  // confirm imported from ../lib/cli-prompts.js
15
15
  /**
16
16
  * Detect conflicts with existing files
@@ -65,6 +65,11 @@ export async function adopt(options = {}) {
65
65
  process.exit(0);
66
66
  }
67
67
  }
68
+ // Ask about permission mode
69
+ let skipPermissions = false;
70
+ if (!yes) {
71
+ skipPermissions = await confirm('Allow AI agents to run commands without confirmation prompts?', true);
72
+ }
68
73
  // Create minimal codev structure using shared scaffold utilities
69
74
  let fileCount = 0;
70
75
  let skippedCount = 0;
@@ -79,6 +84,12 @@ export async function adopt(options = {}) {
79
84
  console.log(chalk.green(' +'), `codev/${dir}/`);
80
85
  fileCount++;
81
86
  }
87
+ // Create projects directory for porch state files - skip existing
88
+ const projectsDirResult = createProjectsDir(targetDir, { skipExisting: true });
89
+ if (projectsDirResult.created) {
90
+ console.log(chalk.green(' +'), 'codev/projects/');
91
+ fileCount++;
92
+ }
82
93
  // Create projectlist.md - skip if exists
83
94
  const projectlistResult = copyProjectlist(targetDir, skeletonDir, { skipExisting: true });
84
95
  if (projectlistResult.copied) {
@@ -107,6 +118,16 @@ export async function adopt(options = {}) {
107
118
  console.log(chalk.green(' +'), `codev/consult-types/${file}`);
108
119
  fileCount++;
109
120
  }
121
+ // Copy protocol definitions (required for porch orchestration) - skip existing
122
+ const protocolsResult = copyProtocols(targetDir, skeletonDir, { skipExisting: true });
123
+ if (protocolsResult.directoryCreated) {
124
+ console.log(chalk.green(' +'), 'codev/protocols/');
125
+ fileCount++;
126
+ }
127
+ for (const protocol of protocolsResult.copied) {
128
+ console.log(chalk.green(' +'), `codev/protocols/${protocol}`);
129
+ fileCount++;
130
+ }
110
131
  // Copy root files with conflict handling
111
132
  const rootResult = copyRootFiles(targetDir, skeletonDir, projectName, { handleConflicts: true });
112
133
  for (const file of rootResult.copied) {
@@ -117,6 +138,20 @@ export async function adopt(options = {}) {
117
138
  console.log(chalk.yellow(' !'), file, chalk.dim('(conflict - .codev-new created)'));
118
139
  skippedCount++;
119
140
  }
141
+ // Create af-config.json if it doesn't exist
142
+ const afConfigPath = path.join(targetDir, 'af-config.json');
143
+ if (!fs.existsSync(afConfigPath)) {
144
+ const afConfig = {
145
+ shell: {
146
+ architect: skipPermissions ? 'claude --dangerously-skip-permissions' : 'claude',
147
+ builder: skipPermissions ? 'claude --dangerously-skip-permissions' : 'claude',
148
+ shell: 'bash',
149
+ },
150
+ };
151
+ fs.writeFileSync(afConfigPath, JSON.stringify(afConfig, null, 2) + '\n');
152
+ console.log(chalk.green(' +'), 'af-config.json');
153
+ fileCount++;
154
+ }
120
155
  // Update or create .gitignore
121
156
  const gitResult = updateGitignore(targetDir);
122
157
  if (gitResult.created) {
@@ -134,9 +169,9 @@ export async function adopt(options = {}) {
134
169
  console.log('');
135
170
  console.log(chalk.bold('Next steps:'));
136
171
  console.log('');
137
- console.log(' git remote -v # Verify remote is configured (required for builders)');
138
- console.log(' codev doctor # Check dependencies');
139
- console.log(' af start # Start the architect dashboard');
172
+ console.log(' codev consult plan # Review the plan with an architect');
173
+ console.log(' af dash start # Start the architect dashboard');
174
+ console.log(' af spawn # Spawn a builder to implement the plan');
140
175
  console.log('');
141
176
  console.log(chalk.dim('For more info, see: https://github.com/cluesmith/codev'));
142
177
  // If there are root conflicts (CLAUDE.md, AGENTS.md), spawn Claude to merge
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+BH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgeD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+BH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA+gBD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HpE"}
@@ -13,7 +13,7 @@ const MODEL_CONFIGS = {
13
13
  gemini: { cli: 'gemini', args: ['--yolo'], envVar: 'GEMINI_SYSTEM_MD' },
14
14
  // Codex uses experimental_instructions_file config flag (not env var)
15
15
  // See: https://github.com/openai/codex/discussions/3896
16
- codex: { cli: 'codex', args: ['exec', '--full-auto'], envVar: null },
16
+ codex: { cli: 'codex', args: ['exec', '-m', 'gpt-5.2-codex', '--full-auto'], envVar: null },
17
17
  claude: { cli: 'claude', args: ['--print', '-p'], envVar: null },
18
18
  };
19
19
  // Model aliases
@@ -283,12 +283,13 @@ async function runConsultation(model, query, projectRoot, dryRun, reviewType, cu
283
283
  return;
284
284
  }
285
285
  // Execute with passthrough stdio
286
+ // Use 'ignore' for stdin to prevent blocking when spawned as subprocess
286
287
  const fullEnv = { ...process.env, ...env };
287
288
  const startTime = Date.now();
288
289
  return new Promise((resolve, reject) => {
289
290
  const proc = spawn(cmd[0], cmd.slice(1), {
290
291
  env: fullEnv,
291
- stdio: 'inherit',
292
+ stdio: ['ignore', 'inherit', 'inherit'],
292
293
  });
293
294
  proc.on('close', (code) => {
294
295
  const duration = (Date.now() - startTime) / 1000;
@@ -407,6 +408,47 @@ SUMMARY: [One-line summary of your review]
407
408
  CONFIDENCE: [HIGH | MEDIUM | LOW]
408
409
  ---
409
410
 
411
+ KEY_ISSUES: [List of critical issues if any, or "None"]`;
412
+ return query;
413
+ }
414
+ /**
415
+ * Build query for implementation review
416
+ */
417
+ function buildImplQuery(projectNumber, projectRoot) {
418
+ const specPath = findSpec(projectRoot, projectNumber);
419
+ const planPath = findPlan(projectRoot, projectNumber);
420
+ let query = `Review Implementation for Project ${projectNumber}
421
+
422
+ You are in the project working directory. Read the files directly from the filesystem to review the implementation.
423
+
424
+ ## Context Files
425
+ `;
426
+ if (specPath) {
427
+ query += `- Spec: ${specPath}\n`;
428
+ }
429
+ if (planPath) {
430
+ query += `- Plan: ${planPath}\n`;
431
+ }
432
+ query += `
433
+ ## Instructions
434
+
435
+ Read the spec and plan files above, then explore the source code to review the implementation. You have full filesystem access — read whatever files you need.
436
+
437
+ Please review:
438
+ 1. **Spec Adherence**: Does the code fulfill the spec requirements?
439
+ 2. **Code Quality**: Is the code readable, maintainable, and bug-free?
440
+ 3. **Test Coverage**: Are there adequate tests for the changes?
441
+ 4. **Error Handling**: Are edge cases and errors handled properly?
442
+ 5. **Plan Alignment**: Does the implementation follow the plan?
443
+
444
+ End your review with a verdict in this EXACT format:
445
+
446
+ ---
447
+ VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
448
+ SUMMARY: [One-line summary of your review]
449
+ CONFIDENCE: [HIGH | MEDIUM | LOW]
450
+ ---
451
+
410
452
  KEY_ISSUES: [List of critical issues if any, or "None"]`;
411
453
  return query;
412
454
  }
@@ -524,8 +566,26 @@ export async function consult(options) {
524
566
  query = args.join(' ');
525
567
  break;
526
568
  }
569
+ case 'impl': {
570
+ if (args.length === 0) {
571
+ throw new Error('Project number required\nUsage: consult -m <model> impl <number>');
572
+ }
573
+ const implNumber = parseInt(args[0], 10);
574
+ if (isNaN(implNumber)) {
575
+ throw new Error(`Invalid project number: ${args[0]}`);
576
+ }
577
+ const specPath = findSpec(projectRoot, implNumber);
578
+ const planPath = findPlan(projectRoot, implNumber);
579
+ query = buildImplQuery(implNumber, projectRoot);
580
+ console.error(`Project: ${implNumber}`);
581
+ if (specPath)
582
+ console.error(`Spec: ${specPath}`);
583
+ if (planPath)
584
+ console.error(`Plan: ${planPath}`);
585
+ break;
586
+ }
527
587
  default:
528
- throw new Error(`Unknown subcommand: ${subcommand}\nValid subcommands: pr, spec, plan, general`);
588
+ throw new Error(`Unknown subcommand: ${subcommand}\nValid subcommands: pr, spec, plan, impl, general`);
529
589
  }
530
590
  // Show the query/prompt being sent
531
591
  console.error('');