night-orch 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (911) hide show
  1. package/README.md +138 -0
  2. package/dist/cli/commands/cleanup.d.ts +14 -0
  3. package/dist/cli/commands/cleanup.d.ts.map +1 -0
  4. package/dist/cli/commands/cleanup.js +62 -0
  5. package/dist/cli/commands/cleanup.js.map +1 -0
  6. package/dist/cli/commands/continue.d.ts +9 -0
  7. package/dist/cli/commands/continue.d.ts.map +1 -0
  8. package/dist/cli/commands/continue.js +70 -0
  9. package/dist/cli/commands/continue.js.map +1 -0
  10. package/dist/cli/commands/cost-override.d.ts +11 -0
  11. package/dist/cli/commands/cost-override.d.ts.map +1 -0
  12. package/dist/cli/commands/cost-override.js +76 -0
  13. package/dist/cli/commands/cost-override.js.map +1 -0
  14. package/dist/cli/commands/daily-cost-override.d.ts +11 -0
  15. package/dist/cli/commands/daily-cost-override.d.ts.map +1 -0
  16. package/dist/cli/commands/daily-cost-override.js +71 -0
  17. package/dist/cli/commands/daily-cost-override.js.map +1 -0
  18. package/dist/cli/commands/delete-entry.d.ts +12 -0
  19. package/dist/cli/commands/delete-entry.d.ts.map +1 -0
  20. package/dist/cli/commands/delete-entry.js +68 -0
  21. package/dist/cli/commands/delete-entry.js.map +1 -0
  22. package/dist/cli/commands/doctor.d.ts +9 -0
  23. package/dist/cli/commands/doctor.d.ts.map +1 -0
  24. package/dist/cli/commands/doctor.js +227 -0
  25. package/dist/cli/commands/doctor.js.map +1 -0
  26. package/dist/cli/commands/init.d.ts +2 -0
  27. package/dist/cli/commands/init.d.ts.map +1 -0
  28. package/dist/cli/commands/init.js +73 -0
  29. package/dist/cli/commands/init.js.map +1 -0
  30. package/dist/cli/commands/labels-init.d.ts +9 -0
  31. package/dist/cli/commands/labels-init.d.ts.map +1 -0
  32. package/dist/cli/commands/labels-init.js +52 -0
  33. package/dist/cli/commands/labels-init.js.map +1 -0
  34. package/dist/cli/commands/mcp.d.ts +9 -0
  35. package/dist/cli/commands/mcp.d.ts.map +1 -0
  36. package/dist/cli/commands/mcp.js +52 -0
  37. package/dist/cli/commands/mcp.js.map +1 -0
  38. package/dist/cli/commands/monitoring-init.d.ts +2 -0
  39. package/dist/cli/commands/monitoring-init.d.ts.map +1 -0
  40. package/dist/cli/commands/monitoring-init.js +43 -0
  41. package/dist/cli/commands/monitoring-init.js.map +1 -0
  42. package/dist/cli/commands/notify-test.d.ts +9 -0
  43. package/dist/cli/commands/notify-test.d.ts.map +1 -0
  44. package/dist/cli/commands/notify-test.js +41 -0
  45. package/dist/cli/commands/notify-test.js.map +1 -0
  46. package/dist/cli/commands/rebase.d.ts +9 -0
  47. package/dist/cli/commands/rebase.d.ts.map +1 -0
  48. package/dist/cli/commands/rebase.js +63 -0
  49. package/dist/cli/commands/rebase.js.map +1 -0
  50. package/dist/cli/commands/retry.d.ts +14 -0
  51. package/dist/cli/commands/retry.d.ts.map +1 -0
  52. package/dist/cli/commands/retry.js +52 -0
  53. package/dist/cli/commands/retry.js.map +1 -0
  54. package/dist/cli/commands/run-once.d.ts +9 -0
  55. package/dist/cli/commands/run-once.d.ts.map +1 -0
  56. package/dist/cli/commands/run-once.js +62 -0
  57. package/dist/cli/commands/run-once.js.map +1 -0
  58. package/dist/cli/commands/run.d.ts +9 -0
  59. package/dist/cli/commands/run.d.ts.map +1 -0
  60. package/dist/cli/commands/run.js +142 -0
  61. package/dist/cli/commands/run.js.map +1 -0
  62. package/dist/cli/commands/serve.d.ts +14 -0
  63. package/dist/cli/commands/serve.d.ts.map +1 -0
  64. package/dist/cli/commands/serve.js +51 -0
  65. package/dist/cli/commands/serve.js.map +1 -0
  66. package/dist/cli/commands/settings.d.ts +10 -0
  67. package/dist/cli/commands/settings.d.ts.map +1 -0
  68. package/dist/cli/commands/settings.js +100 -0
  69. package/dist/cli/commands/settings.js.map +1 -0
  70. package/dist/cli/commands/status.d.ts +8 -0
  71. package/dist/cli/commands/status.d.ts.map +1 -0
  72. package/dist/cli/commands/status.js +153 -0
  73. package/dist/cli/commands/status.js.map +1 -0
  74. package/dist/cli/commands/sync.d.ts +9 -0
  75. package/dist/cli/commands/sync.d.ts.map +1 -0
  76. package/dist/cli/commands/sync.js +60 -0
  77. package/dist/cli/commands/sync.js.map +1 -0
  78. package/dist/cli/commands/update.d.ts +4 -0
  79. package/dist/cli/commands/update.d.ts.map +1 -0
  80. package/dist/cli/commands/update.js +29 -0
  81. package/dist/cli/commands/update.js.map +1 -0
  82. package/dist/cli/commands/watch.d.ts +9 -0
  83. package/dist/cli/commands/watch.d.ts.map +1 -0
  84. package/dist/cli/commands/watch.js +56 -0
  85. package/dist/cli/commands/watch.js.map +1 -0
  86. package/dist/cli/commands/web.d.ts +16 -0
  87. package/dist/cli/commands/web.d.ts.map +1 -0
  88. package/dist/cli/commands/web.js +206 -0
  89. package/dist/cli/commands/web.js.map +1 -0
  90. package/dist/cli/index.d.ts +3 -0
  91. package/dist/cli/index.d.ts.map +1 -0
  92. package/dist/cli/index.js +213 -0
  93. package/dist/cli/index.js.map +1 -0
  94. package/dist/cli/init/detector.d.ts +7 -0
  95. package/dist/cli/init/detector.d.ts.map +1 -0
  96. package/dist/cli/init/detector.js +40 -0
  97. package/dist/cli/init/detector.js.map +1 -0
  98. package/dist/cli/init/templates.d.ts +10 -0
  99. package/dist/cli/init/templates.d.ts.map +1 -0
  100. package/dist/cli/init/templates.js +30 -0
  101. package/dist/cli/init/templates.js.map +1 -0
  102. package/dist/cli/tui/actions-bar.d.ts +21 -0
  103. package/dist/cli/tui/actions-bar.d.ts.map +1 -0
  104. package/dist/cli/tui/actions-bar.js +91 -0
  105. package/dist/cli/tui/actions-bar.js.map +1 -0
  106. package/dist/cli/tui/active-runs.d.ts +9 -0
  107. package/dist/cli/tui/active-runs.d.ts.map +1 -0
  108. package/dist/cli/tui/active-runs.js +23 -0
  109. package/dist/cli/tui/active-runs.js.map +1 -0
  110. package/dist/cli/tui/agent-stream.d.ts +10 -0
  111. package/dist/cli/tui/agent-stream.d.ts.map +1 -0
  112. package/dist/cli/tui/agent-stream.js +83 -0
  113. package/dist/cli/tui/agent-stream.js.map +1 -0
  114. package/dist/cli/tui/app.d.ts +40 -0
  115. package/dist/cli/tui/app.d.ts.map +1 -0
  116. package/dist/cli/tui/app.js +995 -0
  117. package/dist/cli/tui/app.js.map +1 -0
  118. package/dist/cli/tui/constants.d.ts +15 -0
  119. package/dist/cli/tui/constants.d.ts.map +1 -0
  120. package/dist/cli/tui/constants.js +102 -0
  121. package/dist/cli/tui/constants.js.map +1 -0
  122. package/dist/cli/tui/cost-bar.d.ts +10 -0
  123. package/dist/cli/tui/cost-bar.d.ts.map +1 -0
  124. package/dist/cli/tui/cost-bar.js +17 -0
  125. package/dist/cli/tui/cost-bar.js.map +1 -0
  126. package/dist/cli/tui/data.d.ts +56 -0
  127. package/dist/cli/tui/data.d.ts.map +1 -0
  128. package/dist/cli/tui/data.js +296 -0
  129. package/dist/cli/tui/data.js.map +1 -0
  130. package/dist/cli/tui/format.d.ts +11 -0
  131. package/dist/cli/tui/format.d.ts.map +1 -0
  132. package/dist/cli/tui/format.js +83 -0
  133. package/dist/cli/tui/format.js.map +1 -0
  134. package/dist/cli/tui/header.d.ts +16 -0
  135. package/dist/cli/tui/header.d.ts.map +1 -0
  136. package/dist/cli/tui/header.js +22 -0
  137. package/dist/cli/tui/header.js.map +1 -0
  138. package/dist/cli/tui/logs-view.d.ts +19 -0
  139. package/dist/cli/tui/logs-view.d.ts.map +1 -0
  140. package/dist/cli/tui/logs-view.js +63 -0
  141. package/dist/cli/tui/logs-view.js.map +1 -0
  142. package/dist/cli/tui/merge-queue-panel.d.ts +9 -0
  143. package/dist/cli/tui/merge-queue-panel.d.ts.map +1 -0
  144. package/dist/cli/tui/merge-queue-panel.js +14 -0
  145. package/dist/cli/tui/merge-queue-panel.js.map +1 -0
  146. package/dist/cli/tui/projects-view.d.ts +25 -0
  147. package/dist/cli/tui/projects-view.d.ts.map +1 -0
  148. package/dist/cli/tui/projects-view.js +145 -0
  149. package/dist/cli/tui/projects-view.js.map +1 -0
  150. package/dist/cli/tui/recent-runs.d.ts +9 -0
  151. package/dist/cli/tui/recent-runs.d.ts.map +1 -0
  152. package/dist/cli/tui/recent-runs.js +20 -0
  153. package/dist/cli/tui/recent-runs.js.map +1 -0
  154. package/dist/cli/tui/runs-view.d.ts +22 -0
  155. package/dist/cli/tui/runs-view.d.ts.map +1 -0
  156. package/dist/cli/tui/runs-view.js +48 -0
  157. package/dist/cli/tui/runs-view.js.map +1 -0
  158. package/dist/cli/tui/settings-view.d.ts +9 -0
  159. package/dist/cli/tui/settings-view.d.ts.map +1 -0
  160. package/dist/cli/tui/settings-view.js +21 -0
  161. package/dist/cli/tui/settings-view.js.map +1 -0
  162. package/dist/cli/tui/stats-view.d.ts +11 -0
  163. package/dist/cli/tui/stats-view.d.ts.map +1 -0
  164. package/dist/cli/tui/stats-view.js +48 -0
  165. package/dist/cli/tui/stats-view.js.map +1 -0
  166. package/dist/cli/tui/titles.d.ts +36 -0
  167. package/dist/cli/tui/titles.d.ts.map +1 -0
  168. package/dist/cli/tui/titles.js +50 -0
  169. package/dist/cli/tui/titles.js.map +1 -0
  170. package/dist/cli/tui/types.d.ts +10 -0
  171. package/dist/cli/tui/types.d.ts.map +1 -0
  172. package/dist/cli/tui/types.js +2 -0
  173. package/dist/cli/tui/types.js.map +1 -0
  174. package/dist/cli/tui/view-model.d.ts +20 -0
  175. package/dist/cli/tui/view-model.d.ts.map +1 -0
  176. package/dist/cli/tui/view-model.js +80 -0
  177. package/dist/cli/tui/view-model.js.map +1 -0
  178. package/dist/components/button/button.tui.d.ts +4 -0
  179. package/dist/components/button/button.tui.d.ts.map +1 -0
  180. package/dist/components/button/button.tui.js +16 -0
  181. package/dist/components/button/button.tui.js.map +1 -0
  182. package/dist/components/button/button.web.d.ts +4 -0
  183. package/dist/components/button/button.web.d.ts.map +1 -0
  184. package/dist/components/button/button.web.js +7 -0
  185. package/dist/components/button/button.web.js.map +1 -0
  186. package/dist/components/button/index.d.ts +5 -0
  187. package/dist/components/button/index.d.ts.map +1 -0
  188. package/dist/components/button/index.js +4 -0
  189. package/dist/components/button/index.js.map +1 -0
  190. package/dist/components/button/types.d.ts +28 -0
  191. package/dist/components/button/types.d.ts.map +1 -0
  192. package/dist/components/button/types.js +2 -0
  193. package/dist/components/button/types.js.map +1 -0
  194. package/dist/components/button/view-model.d.ts +3 -0
  195. package/dist/components/button/view-model.d.ts.map +1 -0
  196. package/dist/components/button/view-model.js +53 -0
  197. package/dist/components/button/view-model.js.map +1 -0
  198. package/dist/components/card/card.tui.d.ts +4 -0
  199. package/dist/components/card/card.tui.d.ts.map +1 -0
  200. package/dist/components/card/card.tui.js +41 -0
  201. package/dist/components/card/card.tui.js.map +1 -0
  202. package/dist/components/card/card.web.d.ts +4 -0
  203. package/dist/components/card/card.web.d.ts.map +1 -0
  204. package/dist/components/card/card.web.js +12 -0
  205. package/dist/components/card/card.web.js.map +1 -0
  206. package/dist/components/card/index.d.ts +5 -0
  207. package/dist/components/card/index.d.ts.map +1 -0
  208. package/dist/components/card/index.js +4 -0
  209. package/dist/components/card/index.js.map +1 -0
  210. package/dist/components/card/types.d.ts +22 -0
  211. package/dist/components/card/types.d.ts.map +1 -0
  212. package/dist/components/card/types.js +2 -0
  213. package/dist/components/card/types.js.map +1 -0
  214. package/dist/components/card/view-model.d.ts +3 -0
  215. package/dist/components/card/view-model.d.ts.map +1 -0
  216. package/dist/components/card/view-model.js +35 -0
  217. package/dist/components/card/view-model.js.map +1 -0
  218. package/dist/components/index.d.ts +5 -0
  219. package/dist/components/index.d.ts.map +1 -0
  220. package/dist/components/index.js +5 -0
  221. package/dist/components/index.js.map +1 -0
  222. package/dist/components/issue-row/index.d.ts +5 -0
  223. package/dist/components/issue-row/index.d.ts.map +1 -0
  224. package/dist/components/issue-row/index.js +4 -0
  225. package/dist/components/issue-row/index.js.map +1 -0
  226. package/dist/components/issue-row/issue-row.tui.d.ts +4 -0
  227. package/dist/components/issue-row/issue-row.tui.d.ts.map +1 -0
  228. package/dist/components/issue-row/issue-row.tui.js +15 -0
  229. package/dist/components/issue-row/issue-row.tui.js.map +1 -0
  230. package/dist/components/issue-row/issue-row.web.d.ts +4 -0
  231. package/dist/components/issue-row/issue-row.web.d.ts.map +1 -0
  232. package/dist/components/issue-row/issue-row.web.js +14 -0
  233. package/dist/components/issue-row/issue-row.web.js.map +1 -0
  234. package/dist/components/issue-row/types.d.ts +18 -0
  235. package/dist/components/issue-row/types.d.ts.map +1 -0
  236. package/dist/components/issue-row/types.js +2 -0
  237. package/dist/components/issue-row/types.js.map +1 -0
  238. package/dist/components/issue-row/view-model.d.ts +3 -0
  239. package/dist/components/issue-row/view-model.d.ts.map +1 -0
  240. package/dist/components/issue-row/view-model.js +31 -0
  241. package/dist/components/issue-row/view-model.js.map +1 -0
  242. package/dist/components/modal/index.d.ts +3 -0
  243. package/dist/components/modal/index.d.ts.map +1 -0
  244. package/dist/components/modal/index.js +2 -0
  245. package/dist/components/modal/index.js.map +1 -0
  246. package/dist/components/modal/modal.web.d.ts +16 -0
  247. package/dist/components/modal/modal.web.d.ts.map +1 -0
  248. package/dist/components/modal/modal.web.js +92 -0
  249. package/dist/components/modal/modal.web.js.map +1 -0
  250. package/dist/components/modal/types.d.ts +15 -0
  251. package/dist/components/modal/types.d.ts.map +1 -0
  252. package/dist/components/modal/types.js +2 -0
  253. package/dist/components/modal/types.js.map +1 -0
  254. package/dist/config/loader.d.ts +23 -0
  255. package/dist/config/loader.d.ts.map +1 -0
  256. package/dist/config/loader.js +136 -0
  257. package/dist/config/loader.js.map +1 -0
  258. package/dist/config/paths.d.ts +6 -0
  259. package/dist/config/paths.d.ts.map +1 -0
  260. package/dist/config/paths.js +24 -0
  261. package/dist/config/paths.js.map +1 -0
  262. package/dist/config/schema.d.ts +3088 -0
  263. package/dist/config/schema.d.ts.map +1 -0
  264. package/dist/config/schema.js +328 -0
  265. package/dist/config/schema.js.map +1 -0
  266. package/dist/discovery/commands.d.ts +33 -0
  267. package/dist/discovery/commands.d.ts.map +1 -0
  268. package/dist/discovery/commands.js +82 -0
  269. package/dist/discovery/commands.js.map +1 -0
  270. package/dist/discovery/decomposer.d.ts +6 -0
  271. package/dist/discovery/decomposer.d.ts.map +1 -0
  272. package/dist/discovery/decomposer.js +102 -0
  273. package/dist/discovery/decomposer.js.map +1 -0
  274. package/dist/discovery/discover.d.ts +21 -0
  275. package/dist/discovery/discover.d.ts.map +1 -0
  276. package/dist/discovery/discover.js +98 -0
  277. package/dist/discovery/discover.js.map +1 -0
  278. package/dist/discovery/followup.d.ts +14 -0
  279. package/dist/discovery/followup.d.ts.map +1 -0
  280. package/dist/discovery/followup.js +27 -0
  281. package/dist/discovery/followup.js.map +1 -0
  282. package/dist/discovery/roles.d.ts +15 -0
  283. package/dist/discovery/roles.d.ts.map +1 -0
  284. package/dist/discovery/roles.js +36 -0
  285. package/dist/discovery/roles.js.map +1 -0
  286. package/dist/discovery/selector.d.ts +13 -0
  287. package/dist/discovery/selector.d.ts.map +1 -0
  288. package/dist/discovery/selector.js +27 -0
  289. package/dist/discovery/selector.js.map +1 -0
  290. package/dist/discovery/triage.d.ts +29 -0
  291. package/dist/discovery/triage.d.ts.map +1 -0
  292. package/dist/discovery/triage.js +61 -0
  293. package/dist/discovery/triage.js.map +1 -0
  294. package/dist/environment/bootstrap.d.ts +19 -0
  295. package/dist/environment/bootstrap.d.ts.map +1 -0
  296. package/dist/environment/bootstrap.js +89 -0
  297. package/dist/environment/bootstrap.js.map +1 -0
  298. package/dist/environment/dedicated.d.ts +17 -0
  299. package/dist/environment/dedicated.d.ts.map +1 -0
  300. package/dist/environment/dedicated.js +68 -0
  301. package/dist/environment/dedicated.js.map +1 -0
  302. package/dist/environment/env-file.d.ts +16 -0
  303. package/dist/environment/env-file.d.ts.map +1 -0
  304. package/dist/environment/env-file.js +74 -0
  305. package/dist/environment/env-file.js.map +1 -0
  306. package/dist/environment/manager.d.ts +33 -0
  307. package/dist/environment/manager.d.ts.map +1 -0
  308. package/dist/environment/manager.js +113 -0
  309. package/dist/environment/manager.js.map +1 -0
  310. package/dist/environment/port.d.ts +15 -0
  311. package/dist/environment/port.d.ts.map +1 -0
  312. package/dist/environment/port.js +21 -0
  313. package/dist/environment/port.js.map +1 -0
  314. package/dist/environment/shared.d.ts +6 -0
  315. package/dist/environment/shared.d.ts.map +1 -0
  316. package/dist/environment/shared.js +30 -0
  317. package/dist/environment/shared.js.map +1 -0
  318. package/dist/events/bus.d.ts +18 -0
  319. package/dist/events/bus.d.ts.map +1 -0
  320. package/dist/events/bus.js +70 -0
  321. package/dist/events/bus.js.map +1 -0
  322. package/dist/events/observability.d.ts +32 -0
  323. package/dist/events/observability.d.ts.map +1 -0
  324. package/dist/events/observability.js +155 -0
  325. package/dist/events/observability.js.map +1 -0
  326. package/dist/events/types.d.ts +18 -0
  327. package/dist/events/types.d.ts.map +1 -0
  328. package/dist/events/types.js +2 -0
  329. package/dist/events/types.js.map +1 -0
  330. package/dist/forge/bot-comment.d.ts +17 -0
  331. package/dist/forge/bot-comment.d.ts.map +1 -0
  332. package/dist/forge/bot-comment.js +30 -0
  333. package/dist/forge/bot-comment.js.map +1 -0
  334. package/dist/forge/factory.d.ts +4 -0
  335. package/dist/forge/factory.d.ts.map +1 -0
  336. package/dist/forge/factory.js +31 -0
  337. package/dist/forge/factory.js.map +1 -0
  338. package/dist/forge/forgejo-client.d.ts +20 -0
  339. package/dist/forge/forgejo-client.d.ts.map +1 -0
  340. package/dist/forge/forgejo-client.js +114 -0
  341. package/dist/forge/forgejo-client.js.map +1 -0
  342. package/dist/forge/forgejo-labels.d.ts +13 -0
  343. package/dist/forge/forgejo-labels.d.ts.map +1 -0
  344. package/dist/forge/forgejo-labels.js +51 -0
  345. package/dist/forge/forgejo-labels.js.map +1 -0
  346. package/dist/forge/forgejo.d.ts +31 -0
  347. package/dist/forge/forgejo.d.ts.map +1 -0
  348. package/dist/forge/forgejo.js +264 -0
  349. package/dist/forge/forgejo.js.map +1 -0
  350. package/dist/forge/github.d.ts +31 -0
  351. package/dist/forge/github.d.ts.map +1 -0
  352. package/dist/forge/github.js +438 -0
  353. package/dist/forge/github.js.map +1 -0
  354. package/dist/forge/status-comment.d.ts +19 -0
  355. package/dist/forge/status-comment.d.ts.map +1 -0
  356. package/dist/forge/status-comment.js +44 -0
  357. package/dist/forge/status-comment.js.map +1 -0
  358. package/dist/forge/types.d.ts +118 -0
  359. package/dist/forge/types.d.ts.map +1 -0
  360. package/dist/forge/types.js +2 -0
  361. package/dist/forge/types.js.map +1 -0
  362. package/dist/git/process.d.ts +15 -0
  363. package/dist/git/process.d.ts.map +1 -0
  364. package/dist/git/process.js +38 -0
  365. package/dist/git/process.js.map +1 -0
  366. package/dist/git/repo.d.ts +64 -0
  367. package/dist/git/repo.d.ts.map +1 -0
  368. package/dist/git/repo.js +158 -0
  369. package/dist/git/repo.js.map +1 -0
  370. package/dist/git/slug.d.ts +13 -0
  371. package/dist/git/slug.d.ts.map +1 -0
  372. package/dist/git/slug.js +28 -0
  373. package/dist/git/slug.js.map +1 -0
  374. package/dist/git/worktree.d.ts +23 -0
  375. package/dist/git/worktree.d.ts.map +1 -0
  376. package/dist/git/worktree.js +200 -0
  377. package/dist/git/worktree.js.map +1 -0
  378. package/dist/labels/bootstrap.d.ts +12 -0
  379. package/dist/labels/bootstrap.d.ts.map +1 -0
  380. package/dist/labels/bootstrap.js +101 -0
  381. package/dist/labels/bootstrap.js.map +1 -0
  382. package/dist/labels/config.d.ts +6 -0
  383. package/dist/labels/config.d.ts.map +1 -0
  384. package/dist/labels/config.js +56 -0
  385. package/dist/labels/config.js.map +1 -0
  386. package/dist/labels/manager.d.ts +10 -0
  387. package/dist/labels/manager.d.ts.map +1 -0
  388. package/dist/labels/manager.js +30 -0
  389. package/dist/labels/manager.js.map +1 -0
  390. package/dist/labels/transitions.d.ts +33 -0
  391. package/dist/labels/transitions.d.ts.map +1 -0
  392. package/dist/labels/transitions.js +81 -0
  393. package/dist/labels/transitions.js.map +1 -0
  394. package/dist/loop/checkpoint.d.ts +60 -0
  395. package/dist/loop/checkpoint.d.ts.map +1 -0
  396. package/dist/loop/checkpoint.js +226 -0
  397. package/dist/loop/checkpoint.js.map +1 -0
  398. package/dist/loop/commit.d.ts +17 -0
  399. package/dist/loop/commit.d.ts.map +1 -0
  400. package/dist/loop/commit.js +65 -0
  401. package/dist/loop/commit.js.map +1 -0
  402. package/dist/loop/context.d.ts +11 -0
  403. package/dist/loop/context.d.ts.map +1 -0
  404. package/dist/loop/context.js +26 -0
  405. package/dist/loop/context.js.map +1 -0
  406. package/dist/loop/cost.d.ts +79 -0
  407. package/dist/loop/cost.d.ts.map +1 -0
  408. package/dist/loop/cost.js +223 -0
  409. package/dist/loop/cost.js.map +1 -0
  410. package/dist/loop/decision.d.ts +22 -0
  411. package/dist/loop/decision.d.ts.map +1 -0
  412. package/dist/loop/decision.js +118 -0
  413. package/dist/loop/decision.js.map +1 -0
  414. package/dist/loop/diff-guard.d.ts +21 -0
  415. package/dist/loop/diff-guard.d.ts.map +1 -0
  416. package/dist/loop/diff-guard.js +52 -0
  417. package/dist/loop/diff-guard.js.map +1 -0
  418. package/dist/loop/engine.d.ts +32 -0
  419. package/dist/loop/engine.d.ts.map +1 -0
  420. package/dist/loop/engine.js +376 -0
  421. package/dist/loop/engine.js.map +1 -0
  422. package/dist/loop/parallel.d.ts +20 -0
  423. package/dist/loop/parallel.d.ts.map +1 -0
  424. package/dist/loop/parallel.js +144 -0
  425. package/dist/loop/parallel.js.map +1 -0
  426. package/dist/loop/plan-summary-comment.d.ts +5 -0
  427. package/dist/loop/plan-summary-comment.d.ts.map +1 -0
  428. package/dist/loop/plan-summary-comment.js +89 -0
  429. package/dist/loop/plan-summary-comment.js.map +1 -0
  430. package/dist/loop/pricing.d.ts +23 -0
  431. package/dist/loop/pricing.d.ts.map +1 -0
  432. package/dist/loop/pricing.js +64 -0
  433. package/dist/loop/pricing.js.map +1 -0
  434. package/dist/loop/review-feedback.d.ts +12 -0
  435. package/dist/loop/review-feedback.d.ts.map +1 -0
  436. package/dist/loop/review-feedback.js +55 -0
  437. package/dist/loop/review-feedback.js.map +1 -0
  438. package/dist/loop/step-executor.d.ts +70 -0
  439. package/dist/loop/step-executor.d.ts.map +1 -0
  440. package/dist/loop/step-executor.js +328 -0
  441. package/dist/loop/step-executor.js.map +1 -0
  442. package/dist/loop/supervisor.d.ts +9 -0
  443. package/dist/loop/supervisor.d.ts.map +1 -0
  444. package/dist/loop/supervisor.js +22 -0
  445. package/dist/loop/supervisor.js.map +1 -0
  446. package/dist/loop/types.d.ts +66 -0
  447. package/dist/loop/types.d.ts.map +1 -0
  448. package/dist/loop/types.js +2 -0
  449. package/dist/loop/types.js.map +1 -0
  450. package/dist/loop/verifier.d.ts +9 -0
  451. package/dist/loop/verifier.d.ts.map +1 -0
  452. package/dist/loop/verifier.js +59 -0
  453. package/dist/loop/verifier.js.map +1 -0
  454. package/dist/loop/workflow.d.ts +38 -0
  455. package/dist/loop/workflow.d.ts.map +1 -0
  456. package/dist/loop/workflow.js +64 -0
  457. package/dist/loop/workflow.js.map +1 -0
  458. package/dist/mcp/http.d.ts +8 -0
  459. package/dist/mcp/http.d.ts.map +1 -0
  460. package/dist/mcp/http.js +76 -0
  461. package/dist/mcp/http.js.map +1 -0
  462. package/dist/mcp/resources/index.d.ts +11 -0
  463. package/dist/mcp/resources/index.d.ts.map +1 -0
  464. package/dist/mcp/resources/index.js +137 -0
  465. package/dist/mcp/resources/index.js.map +1 -0
  466. package/dist/mcp/server.d.ts +16 -0
  467. package/dist/mcp/server.d.ts.map +1 -0
  468. package/dist/mcp/server.js +54 -0
  469. package/dist/mcp/server.js.map +1 -0
  470. package/dist/mcp/tools/index.d.ts +19 -0
  471. package/dist/mcp/tools/index.d.ts.map +1 -0
  472. package/dist/mcp/tools/index.js +847 -0
  473. package/dist/mcp/tools/index.js.map +1 -0
  474. package/dist/mentions/manager.d.ts +12 -0
  475. package/dist/mentions/manager.d.ts.map +1 -0
  476. package/dist/mentions/manager.js +50 -0
  477. package/dist/mentions/manager.js.map +1 -0
  478. package/dist/mentions/resolver.d.ts +12 -0
  479. package/dist/mentions/resolver.d.ts.map +1 -0
  480. package/dist/mentions/resolver.js +26 -0
  481. package/dist/mentions/resolver.js.map +1 -0
  482. package/dist/mentions/tracker.d.ts +8 -0
  483. package/dist/mentions/tracker.d.ts.map +1 -0
  484. package/dist/mentions/tracker.js +18 -0
  485. package/dist/mentions/tracker.js.map +1 -0
  486. package/dist/merge-queue/batch.d.ts +19 -0
  487. package/dist/merge-queue/batch.d.ts.map +1 -0
  488. package/dist/merge-queue/batch.js +100 -0
  489. package/dist/merge-queue/batch.js.map +1 -0
  490. package/dist/merge-queue/bisect.d.ts +10 -0
  491. package/dist/merge-queue/bisect.d.ts.map +1 -0
  492. package/dist/merge-queue/bisect.js +18 -0
  493. package/dist/merge-queue/bisect.js.map +1 -0
  494. package/dist/merge-queue/eligibility.d.ts +25 -0
  495. package/dist/merge-queue/eligibility.d.ts.map +1 -0
  496. package/dist/merge-queue/eligibility.js +125 -0
  497. package/dist/merge-queue/eligibility.js.map +1 -0
  498. package/dist/merge-queue/finalize.d.ts +7 -0
  499. package/dist/merge-queue/finalize.d.ts.map +1 -0
  500. package/dist/merge-queue/finalize.js +36 -0
  501. package/dist/merge-queue/finalize.js.map +1 -0
  502. package/dist/merge-queue/runner.d.ts +13 -0
  503. package/dist/merge-queue/runner.d.ts.map +1 -0
  504. package/dist/merge-queue/runner.js +246 -0
  505. package/dist/merge-queue/runner.js.map +1 -0
  506. package/dist/merge-queue/staging.d.ts +13 -0
  507. package/dist/merge-queue/staging.d.ts.map +1 -0
  508. package/dist/merge-queue/staging.js +88 -0
  509. package/dist/merge-queue/staging.js.map +1 -0
  510. package/dist/merge-queue/types.d.ts +23 -0
  511. package/dist/merge-queue/types.d.ts.map +1 -0
  512. package/dist/merge-queue/types.js +2 -0
  513. package/dist/merge-queue/types.js.map +1 -0
  514. package/dist/metrics/collectors.d.ts +24 -0
  515. package/dist/metrics/collectors.d.ts.map +1 -0
  516. package/dist/metrics/collectors.js +132 -0
  517. package/dist/metrics/collectors.js.map +1 -0
  518. package/dist/metrics/server.d.ts +8 -0
  519. package/dist/metrics/server.d.ts.map +1 -0
  520. package/dist/metrics/server.js +41 -0
  521. package/dist/metrics/server.js.map +1 -0
  522. package/dist/metrics/service.d.ts +26 -0
  523. package/dist/metrics/service.d.ts.map +1 -0
  524. package/dist/metrics/service.js +161 -0
  525. package/dist/metrics/service.js.map +1 -0
  526. package/dist/notify/channels/console.d.ts +10 -0
  527. package/dist/notify/channels/console.d.ts.map +1 -0
  528. package/dist/notify/channels/console.js +17 -0
  529. package/dist/notify/channels/console.js.map +1 -0
  530. package/dist/notify/channels/discord.d.ts +13 -0
  531. package/dist/notify/channels/discord.d.ts.map +1 -0
  532. package/dist/notify/channels/discord.js +183 -0
  533. package/dist/notify/channels/discord.js.map +1 -0
  534. package/dist/notify/channels/github-comment.d.ts +13 -0
  535. package/dist/notify/channels/github-comment.d.ts.map +1 -0
  536. package/dist/notify/channels/github-comment.js +52 -0
  537. package/dist/notify/channels/github-comment.js.map +1 -0
  538. package/dist/notify/channels/smtp.d.ts +17 -0
  539. package/dist/notify/channels/smtp.d.ts.map +1 -0
  540. package/dist/notify/channels/smtp.js +65 -0
  541. package/dist/notify/channels/smtp.js.map +1 -0
  542. package/dist/notify/channels/webhook-common.d.ts +19 -0
  543. package/dist/notify/channels/webhook-common.d.ts.map +1 -0
  544. package/dist/notify/channels/webhook-common.js +111 -0
  545. package/dist/notify/channels/webhook-common.js.map +1 -0
  546. package/dist/notify/channels/webhook.d.ts +13 -0
  547. package/dist/notify/channels/webhook.d.ts.map +1 -0
  548. package/dist/notify/channels/webhook.js +72 -0
  549. package/dist/notify/channels/webhook.js.map +1 -0
  550. package/dist/notify/dispatcher.d.ts +11 -0
  551. package/dist/notify/dispatcher.d.ts.map +1 -0
  552. package/dist/notify/dispatcher.js +66 -0
  553. package/dist/notify/dispatcher.js.map +1 -0
  554. package/dist/notify/factory.d.ts +5 -0
  555. package/dist/notify/factory.d.ts.map +1 -0
  556. package/dist/notify/factory.js +46 -0
  557. package/dist/notify/factory.js.map +1 -0
  558. package/dist/notify/payload.d.ts +8 -0
  559. package/dist/notify/payload.d.ts.map +1 -0
  560. package/dist/notify/payload.js +37 -0
  561. package/dist/notify/payload.js.map +1 -0
  562. package/dist/notify/types.d.ts +34 -0
  563. package/dist/notify/types.d.ts.map +1 -0
  564. package/dist/notify/types.js +2 -0
  565. package/dist/notify/types.js.map +1 -0
  566. package/dist/ops/auto-cleanup.d.ts +14 -0
  567. package/dist/ops/auto-cleanup.d.ts.map +1 -0
  568. package/dist/ops/auto-cleanup.js +58 -0
  569. package/dist/ops/auto-cleanup.js.map +1 -0
  570. package/dist/ops/cleanup.d.ts +32 -0
  571. package/dist/ops/cleanup.d.ts.map +1 -0
  572. package/dist/ops/cleanup.js +208 -0
  573. package/dist/ops/cleanup.js.map +1 -0
  574. package/dist/ops/continue.d.ts +12 -0
  575. package/dist/ops/continue.d.ts.map +1 -0
  576. package/dist/ops/continue.js +240 -0
  577. package/dist/ops/continue.js.map +1 -0
  578. package/dist/ops/cost-override.d.ts +16 -0
  579. package/dist/ops/cost-override.d.ts.map +1 -0
  580. package/dist/ops/cost-override.js +28 -0
  581. package/dist/ops/cost-override.js.map +1 -0
  582. package/dist/ops/daily-cost-override.d.ts +15 -0
  583. package/dist/ops/daily-cost-override.d.ts.map +1 -0
  584. package/dist/ops/daily-cost-override.js +23 -0
  585. package/dist/ops/daily-cost-override.js.map +1 -0
  586. package/dist/ops/delete-entry.d.ts +44 -0
  587. package/dist/ops/delete-entry.d.ts.map +1 -0
  588. package/dist/ops/delete-entry.js +381 -0
  589. package/dist/ops/delete-entry.js.map +1 -0
  590. package/dist/ops/labels-init.d.ts +43 -0
  591. package/dist/ops/labels-init.d.ts.map +1 -0
  592. package/dist/ops/labels-init.js +149 -0
  593. package/dist/ops/labels-init.js.map +1 -0
  594. package/dist/ops/rebase-and-check.d.ts +34 -0
  595. package/dist/ops/rebase-and-check.d.ts.map +1 -0
  596. package/dist/ops/rebase-and-check.js +110 -0
  597. package/dist/ops/rebase-and-check.js.map +1 -0
  598. package/dist/ops/rebase.d.ts +18 -0
  599. package/dist/ops/rebase.d.ts.map +1 -0
  600. package/dist/ops/rebase.js +67 -0
  601. package/dist/ops/rebase.js.map +1 -0
  602. package/dist/ops/retention.d.ts +29 -0
  603. package/dist/ops/retention.d.ts.map +1 -0
  604. package/dist/ops/retention.js +120 -0
  605. package/dist/ops/retention.js.map +1 -0
  606. package/dist/ops/retry.d.ts +19 -0
  607. package/dist/ops/retry.d.ts.map +1 -0
  608. package/dist/ops/retry.js +106 -0
  609. package/dist/ops/retry.js.map +1 -0
  610. package/dist/ops/summary.d.ts +42 -0
  611. package/dist/ops/summary.d.ts.map +1 -0
  612. package/dist/ops/summary.js +86 -0
  613. package/dist/ops/summary.js.map +1 -0
  614. package/dist/ops/sync.d.ts +47 -0
  615. package/dist/ops/sync.d.ts.map +1 -0
  616. package/dist/ops/sync.js +445 -0
  617. package/dist/ops/sync.js.map +1 -0
  618. package/dist/planning/mode.d.ts +14 -0
  619. package/dist/planning/mode.d.ts.map +1 -0
  620. package/dist/planning/mode.js +33 -0
  621. package/dist/planning/mode.js.map +1 -0
  622. package/dist/poller/control.d.ts +21 -0
  623. package/dist/poller/control.d.ts.map +1 -0
  624. package/dist/poller/control.js +42 -0
  625. package/dist/poller/control.js.map +1 -0
  626. package/dist/poller/shutdown.d.ts +20 -0
  627. package/dist/poller/shutdown.d.ts.map +1 -0
  628. package/dist/poller/shutdown.js +94 -0
  629. package/dist/poller/shutdown.js.map +1 -0
  630. package/dist/publishing/pr-body.d.ts +25 -0
  631. package/dist/publishing/pr-body.d.ts.map +1 -0
  632. package/dist/publishing/pr-body.js +119 -0
  633. package/dist/publishing/pr-body.js.map +1 -0
  634. package/dist/publishing/publisher.d.ts +19 -0
  635. package/dist/publishing/publisher.d.ts.map +1 -0
  636. package/dist/publishing/publisher.js +116 -0
  637. package/dist/publishing/publisher.js.map +1 -0
  638. package/dist/publishing/push.d.ts +13 -0
  639. package/dist/publishing/push.d.ts.map +1 -0
  640. package/dist/publishing/push.js +56 -0
  641. package/dist/publishing/push.js.map +1 -0
  642. package/dist/reactions/handler.d.ts +20 -0
  643. package/dist/reactions/handler.d.ts.map +1 -0
  644. package/dist/reactions/handler.js +50 -0
  645. package/dist/reactions/handler.js.map +1 -0
  646. package/dist/reactions/scanner.d.ts +13 -0
  647. package/dist/reactions/scanner.d.ts.map +1 -0
  648. package/dist/reactions/scanner.js +141 -0
  649. package/dist/reactions/scanner.js.map +1 -0
  650. package/dist/reactions/types.d.ts +41 -0
  651. package/dist/reactions/types.d.ts.map +1 -0
  652. package/dist/reactions/types.js +2 -0
  653. package/dist/reactions/types.js.map +1 -0
  654. package/dist/runner/poller.d.ts +19 -0
  655. package/dist/runner/poller.d.ts.map +1 -0
  656. package/dist/runner/poller.js +1358 -0
  657. package/dist/runner/poller.js.map +1 -0
  658. package/dist/settings/registry.d.ts +37 -0
  659. package/dist/settings/registry.d.ts.map +1 -0
  660. package/dist/settings/registry.js +299 -0
  661. package/dist/settings/registry.js.map +1 -0
  662. package/dist/settings/runtime.d.ts +33 -0
  663. package/dist/settings/runtime.d.ts.map +1 -0
  664. package/dist/settings/runtime.js +148 -0
  665. package/dist/settings/runtime.js.map +1 -0
  666. package/dist/state/db.d.ts +3 -0
  667. package/dist/state/db.d.ts.map +1 -0
  668. package/dist/state/db.js +80 -0
  669. package/dist/state/db.js.map +1 -0
  670. package/dist/state/issues.d.ts +47 -0
  671. package/dist/state/issues.d.ts.map +1 -0
  672. package/dist/state/issues.js +188 -0
  673. package/dist/state/issues.js.map +1 -0
  674. package/dist/state/leases.d.ts +27 -0
  675. package/dist/state/leases.d.ts.map +1 -0
  676. package/dist/state/leases.js +75 -0
  677. package/dist/state/leases.js.map +1 -0
  678. package/dist/state/migrations/001-initial.d.ts +3 -0
  679. package/dist/state/migrations/001-initial.d.ts.map +1 -0
  680. package/dist/state/migrations/001-initial.js +70 -0
  681. package/dist/state/migrations/001-initial.js.map +1 -0
  682. package/dist/state/migrations/002-placeholder.d.ts +7 -0
  683. package/dist/state/migrations/002-placeholder.d.ts.map +1 -0
  684. package/dist/state/migrations/002-placeholder.js +8 -0
  685. package/dist/state/migrations/002-placeholder.js.map +1 -0
  686. package/dist/state/migrations/003-mention-tracking.d.ts +3 -0
  687. package/dist/state/migrations/003-mention-tracking.d.ts.map +1 -0
  688. package/dist/state/migrations/003-mention-tracking.js +13 -0
  689. package/dist/state/migrations/003-mention-tracking.js.map +1 -0
  690. package/dist/state/migrations/004-command-tracking.d.ts +3 -0
  691. package/dist/state/migrations/004-command-tracking.d.ts.map +1 -0
  692. package/dist/state/migrations/004-command-tracking.js +13 -0
  693. package/dist/state/migrations/004-command-tracking.js.map +1 -0
  694. package/dist/state/migrations/005-block-reason.d.ts +3 -0
  695. package/dist/state/migrations/005-block-reason.d.ts.map +1 -0
  696. package/dist/state/migrations/005-block-reason.js +4 -0
  697. package/dist/state/migrations/005-block-reason.js.map +1 -0
  698. package/dist/state/migrations/006-parent-run.d.ts +3 -0
  699. package/dist/state/migrations/006-parent-run.d.ts.map +1 -0
  700. package/dist/state/migrations/006-parent-run.js +4 -0
  701. package/dist/state/migrations/006-parent-run.js.map +1 -0
  702. package/dist/state/migrations/007-merge-queue.d.ts +3 -0
  703. package/dist/state/migrations/007-merge-queue.d.ts.map +1 -0
  704. package/dist/state/migrations/007-merge-queue.js +21 -0
  705. package/dist/state/migrations/007-merge-queue.js.map +1 -0
  706. package/dist/state/migrations/008-agent-events.d.ts +3 -0
  707. package/dist/state/migrations/008-agent-events.d.ts.map +1 -0
  708. package/dist/state/migrations/008-agent-events.js +15 -0
  709. package/dist/state/migrations/008-agent-events.js.map +1 -0
  710. package/dist/state/migrations/009-run-titles.d.ts +3 -0
  711. package/dist/state/migrations/009-run-titles.d.ts.map +1 -0
  712. package/dist/state/migrations/009-run-titles.js +11 -0
  713. package/dist/state/migrations/009-run-titles.js.map +1 -0
  714. package/dist/state/migrations/010-issues.d.ts +9 -0
  715. package/dist/state/migrations/010-issues.d.ts.map +1 -0
  716. package/dist/state/migrations/010-issues.js +193 -0
  717. package/dist/state/migrations/010-issues.js.map +1 -0
  718. package/dist/state/migrations/011-rebuild-issues-from-latest-run.d.ts +8 -0
  719. package/dist/state/migrations/011-rebuild-issues-from-latest-run.d.ts.map +1 -0
  720. package/dist/state/migrations/011-rebuild-issues-from-latest-run.js +125 -0
  721. package/dist/state/migrations/011-rebuild-issues-from-latest-run.js.map +1 -0
  722. package/dist/state/migrations/012-settings-overrides.d.ts +3 -0
  723. package/dist/state/migrations/012-settings-overrides.d.ts.map +1 -0
  724. package/dist/state/migrations/012-settings-overrides.js +14 -0
  725. package/dist/state/migrations/012-settings-overrides.js.map +1 -0
  726. package/dist/state/migrations/013-token-usage.d.ts +3 -0
  727. package/dist/state/migrations/013-token-usage.d.ts.map +1 -0
  728. package/dist/state/migrations/013-token-usage.js +21 -0
  729. package/dist/state/migrations/013-token-usage.js.map +1 -0
  730. package/dist/state/migrations/014-daily-run-usage.d.ts +3 -0
  731. package/dist/state/migrations/014-daily-run-usage.d.ts.map +1 -0
  732. package/dist/state/migrations/014-daily-run-usage.js +14 -0
  733. package/dist/state/migrations/014-daily-run-usage.js.map +1 -0
  734. package/dist/state/migrations/015-run-cost-override.d.ts +11 -0
  735. package/dist/state/migrations/015-run-cost-override.d.ts.map +1 -0
  736. package/dist/state/migrations/015-run-cost-override.js +20 -0
  737. package/dist/state/migrations/015-run-cost-override.js.map +1 -0
  738. package/dist/state/migrations/016-daily-cost-cap-override.d.ts +15 -0
  739. package/dist/state/migrations/016-daily-cost-cap-override.d.ts.map +1 -0
  740. package/dist/state/migrations/016-daily-cost-cap-override.js +24 -0
  741. package/dist/state/migrations/016-daily-cost-cap-override.js.map +1 -0
  742. package/dist/state/migrations/017-merge-batch-merged-prs.d.ts +13 -0
  743. package/dist/state/migrations/017-merge-batch-merged-prs.d.ts.map +1 -0
  744. package/dist/state/migrations/017-merge-batch-merged-prs.js +22 -0
  745. package/dist/state/migrations/017-merge-batch-merged-prs.js.map +1 -0
  746. package/dist/state/migrations/018-run-retry-count.d.ts +13 -0
  747. package/dist/state/migrations/018-run-retry-count.d.ts.map +1 -0
  748. package/dist/state/migrations/018-run-retry-count.js +22 -0
  749. package/dist/state/migrations/018-run-retry-count.js.map +1 -0
  750. package/dist/state/migrations/019-runs-active-index-top-level.d.ts +16 -0
  751. package/dist/state/migrations/019-runs-active-index-top-level.d.ts.map +1 -0
  752. package/dist/state/migrations/019-runs-active-index-top-level.js +23 -0
  753. package/dist/state/migrations/019-runs-active-index-top-level.js.map +1 -0
  754. package/dist/state/runs.d.ts +100 -0
  755. package/dist/state/runs.d.ts.map +1 -0
  756. package/dist/state/runs.js +321 -0
  757. package/dist/state/runs.js.map +1 -0
  758. package/dist/state/settings.d.ts +16 -0
  759. package/dist/state/settings.d.ts.map +1 -0
  760. package/dist/state/settings.js +55 -0
  761. package/dist/state/settings.js.map +1 -0
  762. package/dist/state/stats.d.ts +133 -0
  763. package/dist/state/stats.d.ts.map +1 -0
  764. package/dist/state/stats.js +419 -0
  765. package/dist/state/stats.js.map +1 -0
  766. package/dist/supervisor/health.d.ts +24 -0
  767. package/dist/supervisor/health.d.ts.map +1 -0
  768. package/dist/supervisor/health.js +186 -0
  769. package/dist/supervisor/health.js.map +1 -0
  770. package/dist/supervisor/index.d.ts +31 -0
  771. package/dist/supervisor/index.d.ts.map +1 -0
  772. package/dist/supervisor/index.js +387 -0
  773. package/dist/supervisor/index.js.map +1 -0
  774. package/dist/supervisor/status.d.ts +18 -0
  775. package/dist/supervisor/status.d.ts.map +1 -0
  776. package/dist/supervisor/status.js +30 -0
  777. package/dist/supervisor/status.js.map +1 -0
  778. package/dist/supervisor/updater.d.ts +18 -0
  779. package/dist/supervisor/updater.d.ts.map +1 -0
  780. package/dist/supervisor/updater.js +108 -0
  781. package/dist/supervisor/updater.js.map +1 -0
  782. package/dist/utils/build-info.d.ts +6 -0
  783. package/dist/utils/build-info.d.ts.map +1 -0
  784. package/dist/utils/build-info.js +56 -0
  785. package/dist/utils/build-info.js.map +1 -0
  786. package/dist/utils/command.d.ts +8 -0
  787. package/dist/utils/command.d.ts.map +1 -0
  788. package/dist/utils/command.js +71 -0
  789. package/dist/utils/command.js.map +1 -0
  790. package/dist/utils/ids.d.ts +4 -0
  791. package/dist/utils/ids.d.ts.map +1 -0
  792. package/dist/utils/ids.js +17 -0
  793. package/dist/utils/ids.js.map +1 -0
  794. package/dist/utils/install-method.d.ts +4 -0
  795. package/dist/utils/install-method.d.ts.map +1 -0
  796. package/dist/utils/install-method.js +13 -0
  797. package/dist/utils/install-method.js.map +1 -0
  798. package/dist/utils/issue-repo.d.ts +2 -0
  799. package/dist/utils/issue-repo.d.ts.map +1 -0
  800. package/dist/utils/issue-repo.js +7 -0
  801. package/dist/utils/issue-repo.js.map +1 -0
  802. package/dist/utils/logger.d.ts +7 -0
  803. package/dist/utils/logger.d.ts.map +1 -0
  804. package/dist/utils/logger.js +63 -0
  805. package/dist/utils/logger.js.map +1 -0
  806. package/dist/utils/project-root.d.ts +8 -0
  807. package/dist/utils/project-root.d.ts.map +1 -0
  808. package/dist/utils/project-root.js +22 -0
  809. package/dist/utils/project-root.js.map +1 -0
  810. package/dist/utils/sanitize-error.d.ts +36 -0
  811. package/dist/utils/sanitize-error.d.ts.map +1 -0
  812. package/dist/utils/sanitize-error.js +89 -0
  813. package/dist/utils/sanitize-error.js.map +1 -0
  814. package/dist/utils/time.d.ts +7 -0
  815. package/dist/utils/time.d.ts.map +1 -0
  816. package/dist/utils/time.js +47 -0
  817. package/dist/utils/time.js.map +1 -0
  818. package/dist/web/server.d.ts +14 -0
  819. package/dist/web/server.d.ts.map +1 -0
  820. package/dist/web/server.js +1185 -0
  821. package/dist/web/server.js.map +1 -0
  822. package/dist/workers/acp.d.ts +9 -0
  823. package/dist/workers/acp.d.ts.map +1 -0
  824. package/dist/workers/acp.js +190 -0
  825. package/dist/workers/acp.js.map +1 -0
  826. package/dist/workers/acpx-imports.d.ts +18 -0
  827. package/dist/workers/acpx-imports.d.ts.map +1 -0
  828. package/dist/workers/acpx-imports.js +43 -0
  829. package/dist/workers/acpx-imports.js.map +1 -0
  830. package/dist/workers/claude.d.ts +9 -0
  831. package/dist/workers/claude.d.ts.map +1 -0
  832. package/dist/workers/claude.js +341 -0
  833. package/dist/workers/claude.js.map +1 -0
  834. package/dist/workers/codex.d.ts +21 -0
  835. package/dist/workers/codex.d.ts.map +1 -0
  836. package/dist/workers/codex.js +337 -0
  837. package/dist/workers/codex.js.map +1 -0
  838. package/dist/workers/command.d.ts +6 -0
  839. package/dist/workers/command.d.ts.map +1 -0
  840. package/dist/workers/command.js +15 -0
  841. package/dist/workers/command.js.map +1 -0
  842. package/dist/workers/env.d.ts +18 -0
  843. package/dist/workers/env.d.ts.map +1 -0
  844. package/dist/workers/env.js +172 -0
  845. package/dist/workers/env.js.map +1 -0
  846. package/dist/workers/events.d.ts +7 -0
  847. package/dist/workers/events.d.ts.map +1 -0
  848. package/dist/workers/events.js +30 -0
  849. package/dist/workers/events.js.map +1 -0
  850. package/dist/workers/factory.d.ts +6 -0
  851. package/dist/workers/factory.d.ts.map +1 -0
  852. package/dist/workers/factory.js +13 -0
  853. package/dist/workers/factory.js.map +1 -0
  854. package/dist/workers/parsers/coder.d.ts +6 -0
  855. package/dist/workers/parsers/coder.d.ts.map +1 -0
  856. package/dist/workers/parsers/coder.js +59 -0
  857. package/dist/workers/parsers/coder.js.map +1 -0
  858. package/dist/workers/parsers/decomposer.d.ts +16 -0
  859. package/dist/workers/parsers/decomposer.d.ts.map +1 -0
  860. package/dist/workers/parsers/decomposer.js +35 -0
  861. package/dist/workers/parsers/decomposer.js.map +1 -0
  862. package/dist/workers/parsers/extract.d.ts +41 -0
  863. package/dist/workers/parsers/extract.d.ts.map +1 -0
  864. package/dist/workers/parsers/extract.js +231 -0
  865. package/dist/workers/parsers/extract.js.map +1 -0
  866. package/dist/workers/parsers/planner.d.ts +6 -0
  867. package/dist/workers/parsers/planner.d.ts.map +1 -0
  868. package/dist/workers/parsers/planner.js +77 -0
  869. package/dist/workers/parsers/planner.js.map +1 -0
  870. package/dist/workers/parsers/reviewer.d.ts +6 -0
  871. package/dist/workers/parsers/reviewer.d.ts.map +1 -0
  872. package/dist/workers/parsers/reviewer.js +105 -0
  873. package/dist/workers/parsers/reviewer.js.map +1 -0
  874. package/dist/workers/prompt/compiler.d.ts +11 -0
  875. package/dist/workers/prompt/compiler.d.ts.map +1 -0
  876. package/dist/workers/prompt/compiler.js +199 -0
  877. package/dist/workers/prompt/compiler.js.map +1 -0
  878. package/dist/workers/prompt/templates.d.ts +13 -0
  879. package/dist/workers/prompt/templates.d.ts.map +1 -0
  880. package/dist/workers/prompt/templates.js +110 -0
  881. package/dist/workers/prompt/templates.js.map +1 -0
  882. package/dist/workers/registry.d.ts +9 -0
  883. package/dist/workers/registry.d.ts.map +1 -0
  884. package/dist/workers/registry.js +21 -0
  885. package/dist/workers/registry.js.map +1 -0
  886. package/dist/workers/streaming-exec.d.ts +26 -0
  887. package/dist/workers/streaming-exec.d.ts.map +1 -0
  888. package/dist/workers/streaming-exec.js +166 -0
  889. package/dist/workers/streaming-exec.js.map +1 -0
  890. package/dist/workers/timeout.d.ts +17 -0
  891. package/dist/workers/timeout.d.ts.map +1 -0
  892. package/dist/workers/timeout.js +37 -0
  893. package/dist/workers/timeout.js.map +1 -0
  894. package/dist/workers/types.d.ts +120 -0
  895. package/dist/workers/types.d.ts.map +1 -0
  896. package/dist/workers/types.js +2 -0
  897. package/dist/workers/types.js.map +1 -0
  898. package/docker-compose.example.yaml +29 -0
  899. package/examples/config.example.yaml +256 -0
  900. package/examples/night-orch.service +40 -0
  901. package/monitoring/grafana/dashboards/night-orch.json +140 -0
  902. package/monitoring/grafana/provisioning/dashboards/dashboards.yml +10 -0
  903. package/monitoring/grafana/provisioning/datasources/prometheus.yml +9 -0
  904. package/monitoring/prometheus.yml +8 -0
  905. package/package.json +104 -0
  906. package/web/dist/assets/index-CBFNqVuV.js +9 -0
  907. package/web/dist/assets/index-RCNGmuI2.css +1 -0
  908. package/web/dist/icon.svg +10 -0
  909. package/web/dist/index.html +22 -0
  910. package/web/dist/manifest.webmanifest +16 -0
  911. package/web/dist/sw.js +58 -0
@@ -0,0 +1,3088 @@
1
+ import { z } from 'zod';
2
+ declare const WorkerProfileSchema: z.ZodObject<{
3
+ type: z.ZodString;
4
+ pricingModel: z.ZodOptional<z.ZodString>;
5
+ command: z.ZodString;
6
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7
+ workerTimeoutSeconds: z.ZodDefault<z.ZodNumber>;
8
+ /** @deprecated Ignored at runtime — always uses whitelist-only env mode. */
9
+ minimalEnv: z.ZodDefault<z.ZodBoolean>;
10
+ runtimeWrapper: z.ZodDefault<z.ZodNullable<z.ZodString>>;
11
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ env: Record<string, string>;
14
+ type: string;
15
+ command: string;
16
+ args: string[];
17
+ workerTimeoutSeconds: number;
18
+ minimalEnv: boolean;
19
+ runtimeWrapper: string | null;
20
+ pricingModel?: string | undefined;
21
+ }, {
22
+ type: string;
23
+ command: string;
24
+ env?: Record<string, string> | undefined;
25
+ pricingModel?: string | undefined;
26
+ args?: string[] | undefined;
27
+ workerTimeoutSeconds?: number | undefined;
28
+ minimalEnv?: boolean | undefined;
29
+ runtimeWrapper?: string | null | undefined;
30
+ }>;
31
+ declare const EnvironmentConfigSchema: z.ZodObject<{
32
+ defaultMode: z.ZodDefault<z.ZodEnum<["shared", "dedicated"]>>;
33
+ dedicated: z.ZodOptional<z.ZodObject<{
34
+ compose: z.ZodObject<{
35
+ file: z.ZodString;
36
+ services: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
37
+ projectName: z.ZodDefault<z.ZodString>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ file: string;
40
+ services: string[];
41
+ projectName: string;
42
+ }, {
43
+ file: string;
44
+ services?: string[] | undefined;
45
+ projectName?: string | undefined;
46
+ }>;
47
+ env: z.ZodDefault<z.ZodObject<{
48
+ copyFrom: z.ZodDefault<z.ZodString>;
49
+ overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
50
+ overrideFiles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ copyFrom: string;
53
+ overrides: Record<string, string>;
54
+ overrideFiles: string[];
55
+ }, {
56
+ copyFrom?: string | undefined;
57
+ overrides?: Record<string, string> | undefined;
58
+ overrideFiles?: string[] | undefined;
59
+ }>>;
60
+ healthcheck: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
61
+ teardownOnComplete: z.ZodDefault<z.ZodBoolean>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ env: {
64
+ copyFrom: string;
65
+ overrides: Record<string, string>;
66
+ overrideFiles: string[];
67
+ };
68
+ compose: {
69
+ file: string;
70
+ services: string[];
71
+ projectName: string;
72
+ };
73
+ teardownOnComplete: boolean;
74
+ healthcheck?: string | string[] | undefined;
75
+ }, {
76
+ compose: {
77
+ file: string;
78
+ services?: string[] | undefined;
79
+ projectName?: string | undefined;
80
+ };
81
+ env?: {
82
+ copyFrom?: string | undefined;
83
+ overrides?: Record<string, string> | undefined;
84
+ overrideFiles?: string[] | undefined;
85
+ } | undefined;
86
+ healthcheck?: string | string[] | undefined;
87
+ teardownOnComplete?: boolean | undefined;
88
+ }>>;
89
+ shared: z.ZodOptional<z.ZodObject<{
90
+ requireRunning: z.ZodDefault<z.ZodBoolean>;
91
+ healthcheck: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
92
+ }, "strip", z.ZodTypeAny, {
93
+ requireRunning: boolean;
94
+ healthcheck?: string | string[] | undefined;
95
+ }, {
96
+ healthcheck?: string | string[] | undefined;
97
+ requireRunning?: boolean | undefined;
98
+ }>>;
99
+ bootstrap: z.ZodDefault<z.ZodArray<z.ZodObject<{
100
+ command: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
101
+ when: z.ZodDefault<z.ZodEnum<["always", "dedicated", "shared"]>>;
102
+ failureHints: z.ZodDefault<z.ZodArray<z.ZodObject<{
103
+ contains: z.ZodString;
104
+ message: z.ZodString;
105
+ output: z.ZodDefault<z.ZodEnum<["combined", "stdout", "stderr"]>>;
106
+ }, "strip", z.ZodTypeAny, {
107
+ message: string;
108
+ contains: string;
109
+ output: "stdout" | "stderr" | "combined";
110
+ }, {
111
+ message: string;
112
+ contains: string;
113
+ output?: "stdout" | "stderr" | "combined" | undefined;
114
+ }>, "many">>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ command: string | string[];
117
+ when: "always" | "dedicated" | "shared";
118
+ failureHints: {
119
+ message: string;
120
+ contains: string;
121
+ output: "stdout" | "stderr" | "combined";
122
+ }[];
123
+ }, {
124
+ command: string | string[];
125
+ when?: "always" | "dedicated" | "shared" | undefined;
126
+ failureHints?: {
127
+ message: string;
128
+ contains: string;
129
+ output?: "stdout" | "stderr" | "combined" | undefined;
130
+ }[] | undefined;
131
+ }>, "many">>;
132
+ cleanup: z.ZodDefault<z.ZodArray<z.ZodObject<{
133
+ command: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
134
+ when: z.ZodDefault<z.ZodEnum<["always", "dedicated", "shared"]>>;
135
+ failureHints: z.ZodDefault<z.ZodArray<z.ZodObject<{
136
+ contains: z.ZodString;
137
+ message: z.ZodString;
138
+ output: z.ZodDefault<z.ZodEnum<["combined", "stdout", "stderr"]>>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ message: string;
141
+ contains: string;
142
+ output: "stdout" | "stderr" | "combined";
143
+ }, {
144
+ message: string;
145
+ contains: string;
146
+ output?: "stdout" | "stderr" | "combined" | undefined;
147
+ }>, "many">>;
148
+ }, "strip", z.ZodTypeAny, {
149
+ command: string | string[];
150
+ when: "always" | "dedicated" | "shared";
151
+ failureHints: {
152
+ message: string;
153
+ contains: string;
154
+ output: "stdout" | "stderr" | "combined";
155
+ }[];
156
+ }, {
157
+ command: string | string[];
158
+ when?: "always" | "dedicated" | "shared" | undefined;
159
+ failureHints?: {
160
+ message: string;
161
+ contains: string;
162
+ output?: "stdout" | "stderr" | "combined" | undefined;
163
+ }[] | undefined;
164
+ }>, "many">>;
165
+ }, "strip", z.ZodTypeAny, {
166
+ defaultMode: "dedicated" | "shared";
167
+ bootstrap: {
168
+ command: string | string[];
169
+ when: "always" | "dedicated" | "shared";
170
+ failureHints: {
171
+ message: string;
172
+ contains: string;
173
+ output: "stdout" | "stderr" | "combined";
174
+ }[];
175
+ }[];
176
+ cleanup: {
177
+ command: string | string[];
178
+ when: "always" | "dedicated" | "shared";
179
+ failureHints: {
180
+ message: string;
181
+ contains: string;
182
+ output: "stdout" | "stderr" | "combined";
183
+ }[];
184
+ }[];
185
+ dedicated?: {
186
+ env: {
187
+ copyFrom: string;
188
+ overrides: Record<string, string>;
189
+ overrideFiles: string[];
190
+ };
191
+ compose: {
192
+ file: string;
193
+ services: string[];
194
+ projectName: string;
195
+ };
196
+ teardownOnComplete: boolean;
197
+ healthcheck?: string | string[] | undefined;
198
+ } | undefined;
199
+ shared?: {
200
+ requireRunning: boolean;
201
+ healthcheck?: string | string[] | undefined;
202
+ } | undefined;
203
+ }, {
204
+ dedicated?: {
205
+ compose: {
206
+ file: string;
207
+ services?: string[] | undefined;
208
+ projectName?: string | undefined;
209
+ };
210
+ env?: {
211
+ copyFrom?: string | undefined;
212
+ overrides?: Record<string, string> | undefined;
213
+ overrideFiles?: string[] | undefined;
214
+ } | undefined;
215
+ healthcheck?: string | string[] | undefined;
216
+ teardownOnComplete?: boolean | undefined;
217
+ } | undefined;
218
+ shared?: {
219
+ healthcheck?: string | string[] | undefined;
220
+ requireRunning?: boolean | undefined;
221
+ } | undefined;
222
+ defaultMode?: "dedicated" | "shared" | undefined;
223
+ bootstrap?: {
224
+ command: string | string[];
225
+ when?: "always" | "dedicated" | "shared" | undefined;
226
+ failureHints?: {
227
+ message: string;
228
+ contains: string;
229
+ output?: "stdout" | "stderr" | "combined" | undefined;
230
+ }[] | undefined;
231
+ }[] | undefined;
232
+ cleanup?: {
233
+ command: string | string[];
234
+ when?: "always" | "dedicated" | "shared" | undefined;
235
+ failureHints?: {
236
+ message: string;
237
+ contains: string;
238
+ output?: "stdout" | "stderr" | "combined" | undefined;
239
+ }[] | undefined;
240
+ }[] | undefined;
241
+ }>;
242
+ declare const RepoConfigSchema: z.ZodEffects<z.ZodObject<{
243
+ repo: z.ZodString;
244
+ forge: z.ZodDefault<z.ZodEnum<["github", "forgejo"]>>;
245
+ linkedProjects: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
246
+ apiBaseUrl: z.ZodOptional<z.ZodString>;
247
+ tokenEnv: z.ZodOptional<z.ZodString>;
248
+ maxConcurrentRuns: z.ZodDefault<z.ZodNumber>;
249
+ localPath: z.ZodString;
250
+ baseBranch: z.ZodDefault<z.ZodString>;
251
+ branchPrefix: z.ZodDefault<z.ZodString>;
252
+ labels: z.ZodDefault<z.ZodObject<{
253
+ ready: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, string[], string | string[]>;
254
+ running: z.ZodDefault<z.ZodString>;
255
+ blocked: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodArray<z.ZodString, "many">, string, string[]>]>>;
256
+ needsHuman: z.ZodDefault<z.ZodString>;
257
+ reviewReady: z.ZodDefault<z.ZodString>;
258
+ error: z.ZodDefault<z.ZodString>;
259
+ retry: z.ZodDefault<z.ZodString>;
260
+ planning: z.ZodDefault<z.ZodString>;
261
+ mergeQueued: z.ZodDefault<z.ZodString>;
262
+ merging: z.ZodDefault<z.ZodString>;
263
+ mergeFailed: z.ZodDefault<z.ZodString>;
264
+ }, "strip", z.ZodTypeAny, {
265
+ error: string;
266
+ ready: string[];
267
+ running: string;
268
+ blocked: string;
269
+ needsHuman: string;
270
+ reviewReady: string;
271
+ retry: string;
272
+ planning: string;
273
+ mergeQueued: string;
274
+ merging: string;
275
+ mergeFailed: string;
276
+ }, {
277
+ ready: string | string[];
278
+ error?: string | undefined;
279
+ running?: string | undefined;
280
+ blocked?: string | string[] | undefined;
281
+ needsHuman?: string | undefined;
282
+ reviewReady?: string | undefined;
283
+ retry?: string | undefined;
284
+ planning?: string | undefined;
285
+ mergeQueued?: string | undefined;
286
+ merging?: string | undefined;
287
+ mergeFailed?: string | undefined;
288
+ }>>;
289
+ kanban: z.ZodOptional<z.ZodObject<{
290
+ triggerLabel: z.ZodString;
291
+ labels: z.ZodObject<{
292
+ ready: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, string[], string | string[]>;
293
+ running: z.ZodDefault<z.ZodString>;
294
+ blocked: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodArray<z.ZodString, "many">, string, string[]>]>>;
295
+ needsHuman: z.ZodDefault<z.ZodString>;
296
+ reviewReady: z.ZodDefault<z.ZodString>;
297
+ error: z.ZodDefault<z.ZodString>;
298
+ retry: z.ZodDefault<z.ZodString>;
299
+ planning: z.ZodDefault<z.ZodString>;
300
+ mergeQueued: z.ZodDefault<z.ZodString>;
301
+ merging: z.ZodDefault<z.ZodString>;
302
+ mergeFailed: z.ZodDefault<z.ZodString>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ error: string;
305
+ ready: string[];
306
+ running: string;
307
+ blocked: string;
308
+ needsHuman: string;
309
+ reviewReady: string;
310
+ retry: string;
311
+ planning: string;
312
+ mergeQueued: string;
313
+ merging: string;
314
+ mergeFailed: string;
315
+ }, {
316
+ ready: string | string[];
317
+ error?: string | undefined;
318
+ running?: string | undefined;
319
+ blocked?: string | string[] | undefined;
320
+ needsHuman?: string | undefined;
321
+ reviewReady?: string | undefined;
322
+ retry?: string | undefined;
323
+ planning?: string | undefined;
324
+ mergeQueued?: string | undefined;
325
+ merging?: string | undefined;
326
+ mergeFailed?: string | undefined;
327
+ }>;
328
+ }, "strip", z.ZodTypeAny, {
329
+ triggerLabel: string;
330
+ labels: {
331
+ error: string;
332
+ ready: string[];
333
+ running: string;
334
+ blocked: string;
335
+ needsHuman: string;
336
+ reviewReady: string;
337
+ retry: string;
338
+ planning: string;
339
+ mergeQueued: string;
340
+ merging: string;
341
+ mergeFailed: string;
342
+ };
343
+ }, {
344
+ triggerLabel: string;
345
+ labels: {
346
+ ready: string | string[];
347
+ error?: string | undefined;
348
+ running?: string | undefined;
349
+ blocked?: string | string[] | undefined;
350
+ needsHuman?: string | undefined;
351
+ reviewReady?: string | undefined;
352
+ retry?: string | undefined;
353
+ planning?: string | undefined;
354
+ mergeQueued?: string | undefined;
355
+ merging?: string | undefined;
356
+ mergeFailed?: string | undefined;
357
+ };
358
+ }>>;
359
+ labelConfig: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{
360
+ color: z.ZodOptional<z.ZodString>;
361
+ description: z.ZodOptional<z.ZodString>;
362
+ }, "strip", z.ZodTypeAny, {
363
+ color?: string | undefined;
364
+ description?: string | undefined;
365
+ }, {
366
+ color?: string | undefined;
367
+ description?: string | undefined;
368
+ }>, {
369
+ color?: string | undefined;
370
+ description?: string | undefined;
371
+ }, {
372
+ color?: string | undefined;
373
+ description?: string | undefined;
374
+ }>>>;
375
+ defaults: z.ZodDefault<z.ZodObject<{
376
+ planner: z.ZodDefault<z.ZodEnum<["claude", "codex"]>>;
377
+ coder: z.ZodDefault<z.ZodEnum<["claude", "codex"]>>;
378
+ reviewer: z.ZodDefault<z.ZodEnum<["claude", "codex"]>>;
379
+ /** @deprecated Reserved — not read by the loop engine or notification dispatch. */
380
+ doneMode: z.ZodDefault<z.ZodEnum<["pr-ready", "manual-only"]>>;
381
+ /** @deprecated Reserved — not read by the notification dispatch. */
382
+ notifyPriority: z.ZodDefault<z.ZodEnum<["normal", "high"]>>;
383
+ prMentions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
384
+ }, "strip", z.ZodTypeAny, {
385
+ planner: "claude" | "codex";
386
+ coder: "claude" | "codex";
387
+ reviewer: "claude" | "codex";
388
+ doneMode: "pr-ready" | "manual-only";
389
+ notifyPriority: "normal" | "high";
390
+ prMentions: string[];
391
+ }, {
392
+ planner?: "claude" | "codex" | undefined;
393
+ coder?: "claude" | "codex" | undefined;
394
+ reviewer?: "claude" | "codex" | undefined;
395
+ doneMode?: "pr-ready" | "manual-only" | undefined;
396
+ notifyPriority?: "normal" | "high" | undefined;
397
+ prMentions?: string[] | undefined;
398
+ }>>;
399
+ environment: z.ZodOptional<z.ZodObject<{
400
+ defaultMode: z.ZodDefault<z.ZodEnum<["shared", "dedicated"]>>;
401
+ dedicated: z.ZodOptional<z.ZodObject<{
402
+ compose: z.ZodObject<{
403
+ file: z.ZodString;
404
+ services: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
405
+ projectName: z.ZodDefault<z.ZodString>;
406
+ }, "strip", z.ZodTypeAny, {
407
+ file: string;
408
+ services: string[];
409
+ projectName: string;
410
+ }, {
411
+ file: string;
412
+ services?: string[] | undefined;
413
+ projectName?: string | undefined;
414
+ }>;
415
+ env: z.ZodDefault<z.ZodObject<{
416
+ copyFrom: z.ZodDefault<z.ZodString>;
417
+ overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
418
+ overrideFiles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
419
+ }, "strip", z.ZodTypeAny, {
420
+ copyFrom: string;
421
+ overrides: Record<string, string>;
422
+ overrideFiles: string[];
423
+ }, {
424
+ copyFrom?: string | undefined;
425
+ overrides?: Record<string, string> | undefined;
426
+ overrideFiles?: string[] | undefined;
427
+ }>>;
428
+ healthcheck: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
429
+ teardownOnComplete: z.ZodDefault<z.ZodBoolean>;
430
+ }, "strip", z.ZodTypeAny, {
431
+ env: {
432
+ copyFrom: string;
433
+ overrides: Record<string, string>;
434
+ overrideFiles: string[];
435
+ };
436
+ compose: {
437
+ file: string;
438
+ services: string[];
439
+ projectName: string;
440
+ };
441
+ teardownOnComplete: boolean;
442
+ healthcheck?: string | string[] | undefined;
443
+ }, {
444
+ compose: {
445
+ file: string;
446
+ services?: string[] | undefined;
447
+ projectName?: string | undefined;
448
+ };
449
+ env?: {
450
+ copyFrom?: string | undefined;
451
+ overrides?: Record<string, string> | undefined;
452
+ overrideFiles?: string[] | undefined;
453
+ } | undefined;
454
+ healthcheck?: string | string[] | undefined;
455
+ teardownOnComplete?: boolean | undefined;
456
+ }>>;
457
+ shared: z.ZodOptional<z.ZodObject<{
458
+ requireRunning: z.ZodDefault<z.ZodBoolean>;
459
+ healthcheck: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
460
+ }, "strip", z.ZodTypeAny, {
461
+ requireRunning: boolean;
462
+ healthcheck?: string | string[] | undefined;
463
+ }, {
464
+ healthcheck?: string | string[] | undefined;
465
+ requireRunning?: boolean | undefined;
466
+ }>>;
467
+ bootstrap: z.ZodDefault<z.ZodArray<z.ZodObject<{
468
+ command: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
469
+ when: z.ZodDefault<z.ZodEnum<["always", "dedicated", "shared"]>>;
470
+ failureHints: z.ZodDefault<z.ZodArray<z.ZodObject<{
471
+ contains: z.ZodString;
472
+ message: z.ZodString;
473
+ output: z.ZodDefault<z.ZodEnum<["combined", "stdout", "stderr"]>>;
474
+ }, "strip", z.ZodTypeAny, {
475
+ message: string;
476
+ contains: string;
477
+ output: "stdout" | "stderr" | "combined";
478
+ }, {
479
+ message: string;
480
+ contains: string;
481
+ output?: "stdout" | "stderr" | "combined" | undefined;
482
+ }>, "many">>;
483
+ }, "strip", z.ZodTypeAny, {
484
+ command: string | string[];
485
+ when: "always" | "dedicated" | "shared";
486
+ failureHints: {
487
+ message: string;
488
+ contains: string;
489
+ output: "stdout" | "stderr" | "combined";
490
+ }[];
491
+ }, {
492
+ command: string | string[];
493
+ when?: "always" | "dedicated" | "shared" | undefined;
494
+ failureHints?: {
495
+ message: string;
496
+ contains: string;
497
+ output?: "stdout" | "stderr" | "combined" | undefined;
498
+ }[] | undefined;
499
+ }>, "many">>;
500
+ cleanup: z.ZodDefault<z.ZodArray<z.ZodObject<{
501
+ command: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
502
+ when: z.ZodDefault<z.ZodEnum<["always", "dedicated", "shared"]>>;
503
+ failureHints: z.ZodDefault<z.ZodArray<z.ZodObject<{
504
+ contains: z.ZodString;
505
+ message: z.ZodString;
506
+ output: z.ZodDefault<z.ZodEnum<["combined", "stdout", "stderr"]>>;
507
+ }, "strip", z.ZodTypeAny, {
508
+ message: string;
509
+ contains: string;
510
+ output: "stdout" | "stderr" | "combined";
511
+ }, {
512
+ message: string;
513
+ contains: string;
514
+ output?: "stdout" | "stderr" | "combined" | undefined;
515
+ }>, "many">>;
516
+ }, "strip", z.ZodTypeAny, {
517
+ command: string | string[];
518
+ when: "always" | "dedicated" | "shared";
519
+ failureHints: {
520
+ message: string;
521
+ contains: string;
522
+ output: "stdout" | "stderr" | "combined";
523
+ }[];
524
+ }, {
525
+ command: string | string[];
526
+ when?: "always" | "dedicated" | "shared" | undefined;
527
+ failureHints?: {
528
+ message: string;
529
+ contains: string;
530
+ output?: "stdout" | "stderr" | "combined" | undefined;
531
+ }[] | undefined;
532
+ }>, "many">>;
533
+ }, "strip", z.ZodTypeAny, {
534
+ defaultMode: "dedicated" | "shared";
535
+ bootstrap: {
536
+ command: string | string[];
537
+ when: "always" | "dedicated" | "shared";
538
+ failureHints: {
539
+ message: string;
540
+ contains: string;
541
+ output: "stdout" | "stderr" | "combined";
542
+ }[];
543
+ }[];
544
+ cleanup: {
545
+ command: string | string[];
546
+ when: "always" | "dedicated" | "shared";
547
+ failureHints: {
548
+ message: string;
549
+ contains: string;
550
+ output: "stdout" | "stderr" | "combined";
551
+ }[];
552
+ }[];
553
+ dedicated?: {
554
+ env: {
555
+ copyFrom: string;
556
+ overrides: Record<string, string>;
557
+ overrideFiles: string[];
558
+ };
559
+ compose: {
560
+ file: string;
561
+ services: string[];
562
+ projectName: string;
563
+ };
564
+ teardownOnComplete: boolean;
565
+ healthcheck?: string | string[] | undefined;
566
+ } | undefined;
567
+ shared?: {
568
+ requireRunning: boolean;
569
+ healthcheck?: string | string[] | undefined;
570
+ } | undefined;
571
+ }, {
572
+ dedicated?: {
573
+ compose: {
574
+ file: string;
575
+ services?: string[] | undefined;
576
+ projectName?: string | undefined;
577
+ };
578
+ env?: {
579
+ copyFrom?: string | undefined;
580
+ overrides?: Record<string, string> | undefined;
581
+ overrideFiles?: string[] | undefined;
582
+ } | undefined;
583
+ healthcheck?: string | string[] | undefined;
584
+ teardownOnComplete?: boolean | undefined;
585
+ } | undefined;
586
+ shared?: {
587
+ healthcheck?: string | string[] | undefined;
588
+ requireRunning?: boolean | undefined;
589
+ } | undefined;
590
+ defaultMode?: "dedicated" | "shared" | undefined;
591
+ bootstrap?: {
592
+ command: string | string[];
593
+ when?: "always" | "dedicated" | "shared" | undefined;
594
+ failureHints?: {
595
+ message: string;
596
+ contains: string;
597
+ output?: "stdout" | "stderr" | "combined" | undefined;
598
+ }[] | undefined;
599
+ }[] | undefined;
600
+ cleanup?: {
601
+ command: string | string[];
602
+ when?: "always" | "dedicated" | "shared" | undefined;
603
+ failureHints?: {
604
+ message: string;
605
+ contains: string;
606
+ output?: "stdout" | "stderr" | "combined" | undefined;
607
+ }[] | undefined;
608
+ }[] | undefined;
609
+ }>>;
610
+ verify: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, "many">>;
611
+ prompts: z.ZodOptional<z.ZodObject<{
612
+ plannerSystem: z.ZodOptional<z.ZodString>;
613
+ coderSystem: z.ZodOptional<z.ZodString>;
614
+ reviewerSystem: z.ZodOptional<z.ZodString>;
615
+ }, "strip", z.ZodTypeAny, {
616
+ plannerSystem?: string | undefined;
617
+ coderSystem?: string | undefined;
618
+ reviewerSystem?: string | undefined;
619
+ }, {
620
+ plannerSystem?: string | undefined;
621
+ coderSystem?: string | undefined;
622
+ reviewerSystem?: string | undefined;
623
+ }>>;
624
+ planning: z.ZodDefault<z.ZodObject<{
625
+ prdDirectory: z.ZodDefault<z.ZodString>;
626
+ }, "strip", z.ZodTypeAny, {
627
+ prdDirectory: string;
628
+ }, {
629
+ prdDirectory?: string | undefined;
630
+ }>>;
631
+ selectors: z.ZodDefault<z.ZodObject<{
632
+ includeLabelsAny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
633
+ excludeLabelsAny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
634
+ }, "strip", z.ZodTypeAny, {
635
+ includeLabelsAny: string[];
636
+ excludeLabelsAny: string[];
637
+ }, {
638
+ includeLabelsAny?: string[] | undefined;
639
+ excludeLabelsAny?: string[] | undefined;
640
+ }>>;
641
+ agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
642
+ workflow: z.ZodOptional<z.ZodString>;
643
+ workflowByTriage: z.ZodOptional<z.ZodObject<{
644
+ trivial: z.ZodOptional<z.ZodString>;
645
+ standard: z.ZodOptional<z.ZodString>;
646
+ }, "strict", z.ZodTypeAny, {
647
+ trivial?: string | undefined;
648
+ standard?: string | undefined;
649
+ }, {
650
+ trivial?: string | undefined;
651
+ standard?: string | undefined;
652
+ }>>;
653
+ mergeQueue: z.ZodDefault<z.ZodObject<{
654
+ enabled: z.ZodDefault<z.ZodBoolean>;
655
+ batchSize: z.ZodDefault<z.ZodNumber>;
656
+ mergeMethod: z.ZodDefault<z.ZodEnum<["merge", "squash", "rebase"]>>;
657
+ retryFlakyOnce: z.ZodDefault<z.ZodBoolean>;
658
+ requireApproval: z.ZodDefault<z.ZodBoolean>;
659
+ stagingBranchPrefix: z.ZodDefault<z.ZodString>;
660
+ }, "strip", z.ZodTypeAny, {
661
+ enabled: boolean;
662
+ batchSize: number;
663
+ mergeMethod: "merge" | "squash" | "rebase";
664
+ retryFlakyOnce: boolean;
665
+ requireApproval: boolean;
666
+ stagingBranchPrefix: string;
667
+ }, {
668
+ enabled?: boolean | undefined;
669
+ batchSize?: number | undefined;
670
+ mergeMethod?: "merge" | "squash" | "rebase" | undefined;
671
+ retryFlakyOnce?: boolean | undefined;
672
+ requireApproval?: boolean | undefined;
673
+ stagingBranchPrefix?: string | undefined;
674
+ }>>;
675
+ }, "strip", z.ZodTypeAny, {
676
+ planning: {
677
+ prdDirectory: string;
678
+ };
679
+ labels: {
680
+ error: string;
681
+ ready: string[];
682
+ running: string;
683
+ blocked: string;
684
+ needsHuman: string;
685
+ reviewReady: string;
686
+ retry: string;
687
+ planning: string;
688
+ mergeQueued: string;
689
+ merging: string;
690
+ mergeFailed: string;
691
+ };
692
+ verify: (string | string[])[];
693
+ agents: Record<string, string>;
694
+ repo: string;
695
+ forge: "github" | "forgejo";
696
+ linkedProjects: string[];
697
+ maxConcurrentRuns: number;
698
+ localPath: string;
699
+ baseBranch: string;
700
+ branchPrefix: string;
701
+ labelConfig: Record<string, {
702
+ color?: string | undefined;
703
+ description?: string | undefined;
704
+ }>;
705
+ defaults: {
706
+ planner: "claude" | "codex";
707
+ coder: "claude" | "codex";
708
+ reviewer: "claude" | "codex";
709
+ doneMode: "pr-ready" | "manual-only";
710
+ notifyPriority: "normal" | "high";
711
+ prMentions: string[];
712
+ };
713
+ selectors: {
714
+ includeLabelsAny: string[];
715
+ excludeLabelsAny: string[];
716
+ };
717
+ mergeQueue: {
718
+ enabled: boolean;
719
+ batchSize: number;
720
+ mergeMethod: "merge" | "squash" | "rebase";
721
+ retryFlakyOnce: boolean;
722
+ requireApproval: boolean;
723
+ stagingBranchPrefix: string;
724
+ };
725
+ apiBaseUrl?: string | undefined;
726
+ tokenEnv?: string | undefined;
727
+ kanban?: {
728
+ triggerLabel: string;
729
+ labels: {
730
+ error: string;
731
+ ready: string[];
732
+ running: string;
733
+ blocked: string;
734
+ needsHuman: string;
735
+ reviewReady: string;
736
+ retry: string;
737
+ planning: string;
738
+ mergeQueued: string;
739
+ merging: string;
740
+ mergeFailed: string;
741
+ };
742
+ } | undefined;
743
+ environment?: {
744
+ defaultMode: "dedicated" | "shared";
745
+ bootstrap: {
746
+ command: string | string[];
747
+ when: "always" | "dedicated" | "shared";
748
+ failureHints: {
749
+ message: string;
750
+ contains: string;
751
+ output: "stdout" | "stderr" | "combined";
752
+ }[];
753
+ }[];
754
+ cleanup: {
755
+ command: string | string[];
756
+ when: "always" | "dedicated" | "shared";
757
+ failureHints: {
758
+ message: string;
759
+ contains: string;
760
+ output: "stdout" | "stderr" | "combined";
761
+ }[];
762
+ }[];
763
+ dedicated?: {
764
+ env: {
765
+ copyFrom: string;
766
+ overrides: Record<string, string>;
767
+ overrideFiles: string[];
768
+ };
769
+ compose: {
770
+ file: string;
771
+ services: string[];
772
+ projectName: string;
773
+ };
774
+ teardownOnComplete: boolean;
775
+ healthcheck?: string | string[] | undefined;
776
+ } | undefined;
777
+ shared?: {
778
+ requireRunning: boolean;
779
+ healthcheck?: string | string[] | undefined;
780
+ } | undefined;
781
+ } | undefined;
782
+ prompts?: {
783
+ plannerSystem?: string | undefined;
784
+ coderSystem?: string | undefined;
785
+ reviewerSystem?: string | undefined;
786
+ } | undefined;
787
+ workflow?: string | undefined;
788
+ workflowByTriage?: {
789
+ trivial?: string | undefined;
790
+ standard?: string | undefined;
791
+ } | undefined;
792
+ }, {
793
+ repo: string;
794
+ localPath: string;
795
+ planning?: {
796
+ prdDirectory?: string | undefined;
797
+ } | undefined;
798
+ labels?: {
799
+ ready: string | string[];
800
+ error?: string | undefined;
801
+ running?: string | undefined;
802
+ blocked?: string | string[] | undefined;
803
+ needsHuman?: string | undefined;
804
+ reviewReady?: string | undefined;
805
+ retry?: string | undefined;
806
+ planning?: string | undefined;
807
+ mergeQueued?: string | undefined;
808
+ merging?: string | undefined;
809
+ mergeFailed?: string | undefined;
810
+ } | undefined;
811
+ verify?: (string | string[])[] | undefined;
812
+ agents?: Record<string, string> | undefined;
813
+ forge?: "github" | "forgejo" | undefined;
814
+ linkedProjects?: string[] | undefined;
815
+ apiBaseUrl?: string | undefined;
816
+ tokenEnv?: string | undefined;
817
+ maxConcurrentRuns?: number | undefined;
818
+ baseBranch?: string | undefined;
819
+ branchPrefix?: string | undefined;
820
+ kanban?: {
821
+ triggerLabel: string;
822
+ labels: {
823
+ ready: string | string[];
824
+ error?: string | undefined;
825
+ running?: string | undefined;
826
+ blocked?: string | string[] | undefined;
827
+ needsHuman?: string | undefined;
828
+ reviewReady?: string | undefined;
829
+ retry?: string | undefined;
830
+ planning?: string | undefined;
831
+ mergeQueued?: string | undefined;
832
+ merging?: string | undefined;
833
+ mergeFailed?: string | undefined;
834
+ };
835
+ } | undefined;
836
+ labelConfig?: Record<string, {
837
+ color?: string | undefined;
838
+ description?: string | undefined;
839
+ }> | undefined;
840
+ defaults?: {
841
+ planner?: "claude" | "codex" | undefined;
842
+ coder?: "claude" | "codex" | undefined;
843
+ reviewer?: "claude" | "codex" | undefined;
844
+ doneMode?: "pr-ready" | "manual-only" | undefined;
845
+ notifyPriority?: "normal" | "high" | undefined;
846
+ prMentions?: string[] | undefined;
847
+ } | undefined;
848
+ environment?: {
849
+ dedicated?: {
850
+ compose: {
851
+ file: string;
852
+ services?: string[] | undefined;
853
+ projectName?: string | undefined;
854
+ };
855
+ env?: {
856
+ copyFrom?: string | undefined;
857
+ overrides?: Record<string, string> | undefined;
858
+ overrideFiles?: string[] | undefined;
859
+ } | undefined;
860
+ healthcheck?: string | string[] | undefined;
861
+ teardownOnComplete?: boolean | undefined;
862
+ } | undefined;
863
+ shared?: {
864
+ healthcheck?: string | string[] | undefined;
865
+ requireRunning?: boolean | undefined;
866
+ } | undefined;
867
+ defaultMode?: "dedicated" | "shared" | undefined;
868
+ bootstrap?: {
869
+ command: string | string[];
870
+ when?: "always" | "dedicated" | "shared" | undefined;
871
+ failureHints?: {
872
+ message: string;
873
+ contains: string;
874
+ output?: "stdout" | "stderr" | "combined" | undefined;
875
+ }[] | undefined;
876
+ }[] | undefined;
877
+ cleanup?: {
878
+ command: string | string[];
879
+ when?: "always" | "dedicated" | "shared" | undefined;
880
+ failureHints?: {
881
+ message: string;
882
+ contains: string;
883
+ output?: "stdout" | "stderr" | "combined" | undefined;
884
+ }[] | undefined;
885
+ }[] | undefined;
886
+ } | undefined;
887
+ prompts?: {
888
+ plannerSystem?: string | undefined;
889
+ coderSystem?: string | undefined;
890
+ reviewerSystem?: string | undefined;
891
+ } | undefined;
892
+ selectors?: {
893
+ includeLabelsAny?: string[] | undefined;
894
+ excludeLabelsAny?: string[] | undefined;
895
+ } | undefined;
896
+ workflow?: string | undefined;
897
+ workflowByTriage?: {
898
+ trivial?: string | undefined;
899
+ standard?: string | undefined;
900
+ } | undefined;
901
+ mergeQueue?: {
902
+ enabled?: boolean | undefined;
903
+ batchSize?: number | undefined;
904
+ mergeMethod?: "merge" | "squash" | "rebase" | undefined;
905
+ retryFlakyOnce?: boolean | undefined;
906
+ requireApproval?: boolean | undefined;
907
+ stagingBranchPrefix?: string | undefined;
908
+ } | undefined;
909
+ }>, {
910
+ planning: {
911
+ prdDirectory: string;
912
+ };
913
+ labels: {
914
+ error: string;
915
+ ready: string[];
916
+ running: string;
917
+ blocked: string;
918
+ needsHuman: string;
919
+ reviewReady: string;
920
+ retry: string;
921
+ planning: string;
922
+ mergeQueued: string;
923
+ merging: string;
924
+ mergeFailed: string;
925
+ };
926
+ verify: (string | string[])[];
927
+ agents: Record<string, string>;
928
+ repo: string;
929
+ forge: "github" | "forgejo";
930
+ linkedProjects: string[];
931
+ maxConcurrentRuns: number;
932
+ localPath: string;
933
+ baseBranch: string;
934
+ branchPrefix: string;
935
+ labelConfig: Record<string, {
936
+ color?: string | undefined;
937
+ description?: string | undefined;
938
+ }>;
939
+ defaults: {
940
+ planner: "claude" | "codex";
941
+ coder: "claude" | "codex";
942
+ reviewer: "claude" | "codex";
943
+ doneMode: "pr-ready" | "manual-only";
944
+ notifyPriority: "normal" | "high";
945
+ prMentions: string[];
946
+ };
947
+ selectors: {
948
+ includeLabelsAny: string[];
949
+ excludeLabelsAny: string[];
950
+ };
951
+ mergeQueue: {
952
+ enabled: boolean;
953
+ batchSize: number;
954
+ mergeMethod: "merge" | "squash" | "rebase";
955
+ retryFlakyOnce: boolean;
956
+ requireApproval: boolean;
957
+ stagingBranchPrefix: string;
958
+ };
959
+ apiBaseUrl?: string | undefined;
960
+ tokenEnv?: string | undefined;
961
+ kanban?: {
962
+ triggerLabel: string;
963
+ labels: {
964
+ error: string;
965
+ ready: string[];
966
+ running: string;
967
+ blocked: string;
968
+ needsHuman: string;
969
+ reviewReady: string;
970
+ retry: string;
971
+ planning: string;
972
+ mergeQueued: string;
973
+ merging: string;
974
+ mergeFailed: string;
975
+ };
976
+ } | undefined;
977
+ environment?: {
978
+ defaultMode: "dedicated" | "shared";
979
+ bootstrap: {
980
+ command: string | string[];
981
+ when: "always" | "dedicated" | "shared";
982
+ failureHints: {
983
+ message: string;
984
+ contains: string;
985
+ output: "stdout" | "stderr" | "combined";
986
+ }[];
987
+ }[];
988
+ cleanup: {
989
+ command: string | string[];
990
+ when: "always" | "dedicated" | "shared";
991
+ failureHints: {
992
+ message: string;
993
+ contains: string;
994
+ output: "stdout" | "stderr" | "combined";
995
+ }[];
996
+ }[];
997
+ dedicated?: {
998
+ env: {
999
+ copyFrom: string;
1000
+ overrides: Record<string, string>;
1001
+ overrideFiles: string[];
1002
+ };
1003
+ compose: {
1004
+ file: string;
1005
+ services: string[];
1006
+ projectName: string;
1007
+ };
1008
+ teardownOnComplete: boolean;
1009
+ healthcheck?: string | string[] | undefined;
1010
+ } | undefined;
1011
+ shared?: {
1012
+ requireRunning: boolean;
1013
+ healthcheck?: string | string[] | undefined;
1014
+ } | undefined;
1015
+ } | undefined;
1016
+ prompts?: {
1017
+ plannerSystem?: string | undefined;
1018
+ coderSystem?: string | undefined;
1019
+ reviewerSystem?: string | undefined;
1020
+ } | undefined;
1021
+ workflow?: string | undefined;
1022
+ workflowByTriage?: {
1023
+ trivial?: string | undefined;
1024
+ standard?: string | undefined;
1025
+ } | undefined;
1026
+ }, {
1027
+ repo: string;
1028
+ localPath: string;
1029
+ planning?: {
1030
+ prdDirectory?: string | undefined;
1031
+ } | undefined;
1032
+ labels?: {
1033
+ ready: string | string[];
1034
+ error?: string | undefined;
1035
+ running?: string | undefined;
1036
+ blocked?: string | string[] | undefined;
1037
+ needsHuman?: string | undefined;
1038
+ reviewReady?: string | undefined;
1039
+ retry?: string | undefined;
1040
+ planning?: string | undefined;
1041
+ mergeQueued?: string | undefined;
1042
+ merging?: string | undefined;
1043
+ mergeFailed?: string | undefined;
1044
+ } | undefined;
1045
+ verify?: (string | string[])[] | undefined;
1046
+ agents?: Record<string, string> | undefined;
1047
+ forge?: "github" | "forgejo" | undefined;
1048
+ linkedProjects?: string[] | undefined;
1049
+ apiBaseUrl?: string | undefined;
1050
+ tokenEnv?: string | undefined;
1051
+ maxConcurrentRuns?: number | undefined;
1052
+ baseBranch?: string | undefined;
1053
+ branchPrefix?: string | undefined;
1054
+ kanban?: {
1055
+ triggerLabel: string;
1056
+ labels: {
1057
+ ready: string | string[];
1058
+ error?: string | undefined;
1059
+ running?: string | undefined;
1060
+ blocked?: string | string[] | undefined;
1061
+ needsHuman?: string | undefined;
1062
+ reviewReady?: string | undefined;
1063
+ retry?: string | undefined;
1064
+ planning?: string | undefined;
1065
+ mergeQueued?: string | undefined;
1066
+ merging?: string | undefined;
1067
+ mergeFailed?: string | undefined;
1068
+ };
1069
+ } | undefined;
1070
+ labelConfig?: Record<string, {
1071
+ color?: string | undefined;
1072
+ description?: string | undefined;
1073
+ }> | undefined;
1074
+ defaults?: {
1075
+ planner?: "claude" | "codex" | undefined;
1076
+ coder?: "claude" | "codex" | undefined;
1077
+ reviewer?: "claude" | "codex" | undefined;
1078
+ doneMode?: "pr-ready" | "manual-only" | undefined;
1079
+ notifyPriority?: "normal" | "high" | undefined;
1080
+ prMentions?: string[] | undefined;
1081
+ } | undefined;
1082
+ environment?: {
1083
+ dedicated?: {
1084
+ compose: {
1085
+ file: string;
1086
+ services?: string[] | undefined;
1087
+ projectName?: string | undefined;
1088
+ };
1089
+ env?: {
1090
+ copyFrom?: string | undefined;
1091
+ overrides?: Record<string, string> | undefined;
1092
+ overrideFiles?: string[] | undefined;
1093
+ } | undefined;
1094
+ healthcheck?: string | string[] | undefined;
1095
+ teardownOnComplete?: boolean | undefined;
1096
+ } | undefined;
1097
+ shared?: {
1098
+ healthcheck?: string | string[] | undefined;
1099
+ requireRunning?: boolean | undefined;
1100
+ } | undefined;
1101
+ defaultMode?: "dedicated" | "shared" | undefined;
1102
+ bootstrap?: {
1103
+ command: string | string[];
1104
+ when?: "always" | "dedicated" | "shared" | undefined;
1105
+ failureHints?: {
1106
+ message: string;
1107
+ contains: string;
1108
+ output?: "stdout" | "stderr" | "combined" | undefined;
1109
+ }[] | undefined;
1110
+ }[] | undefined;
1111
+ cleanup?: {
1112
+ command: string | string[];
1113
+ when?: "always" | "dedicated" | "shared" | undefined;
1114
+ failureHints?: {
1115
+ message: string;
1116
+ contains: string;
1117
+ output?: "stdout" | "stderr" | "combined" | undefined;
1118
+ }[] | undefined;
1119
+ }[] | undefined;
1120
+ } | undefined;
1121
+ prompts?: {
1122
+ plannerSystem?: string | undefined;
1123
+ coderSystem?: string | undefined;
1124
+ reviewerSystem?: string | undefined;
1125
+ } | undefined;
1126
+ selectors?: {
1127
+ includeLabelsAny?: string[] | undefined;
1128
+ excludeLabelsAny?: string[] | undefined;
1129
+ } | undefined;
1130
+ workflow?: string | undefined;
1131
+ workflowByTriage?: {
1132
+ trivial?: string | undefined;
1133
+ standard?: string | undefined;
1134
+ } | undefined;
1135
+ mergeQueue?: {
1136
+ enabled?: boolean | undefined;
1137
+ batchSize?: number | undefined;
1138
+ mergeMethod?: "merge" | "squash" | "rebase" | undefined;
1139
+ retryFlakyOnce?: boolean | undefined;
1140
+ requireApproval?: boolean | undefined;
1141
+ stagingBranchPrefix?: string | undefined;
1142
+ } | undefined;
1143
+ }>;
1144
+ declare const CostModelSchema: z.ZodEnum<["pay-per-use", "subscription"]>;
1145
+ export declare const ConfigSchema: z.ZodObject<{
1146
+ version: z.ZodLiteral<1>;
1147
+ github: z.ZodObject<{
1148
+ tokenEnv: z.ZodEffects<z.ZodString, string, string>;
1149
+ apiBaseUrl: z.ZodDefault<z.ZodString>;
1150
+ pollIntervalSeconds: z.ZodDefault<z.ZodNumber>;
1151
+ appMentions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1152
+ enabled: z.ZodDefault<z.ZodBoolean>;
1153
+ commentTemplate: z.ZodString;
1154
+ }, "strip", z.ZodTypeAny, {
1155
+ enabled: boolean;
1156
+ commentTemplate: string;
1157
+ }, {
1158
+ commentTemplate: string;
1159
+ enabled?: boolean | undefined;
1160
+ }>>>;
1161
+ }, "strip", z.ZodTypeAny, {
1162
+ apiBaseUrl: string;
1163
+ tokenEnv: string;
1164
+ pollIntervalSeconds: number;
1165
+ appMentions: Record<string, {
1166
+ enabled: boolean;
1167
+ commentTemplate: string;
1168
+ }>;
1169
+ }, {
1170
+ tokenEnv: string;
1171
+ apiBaseUrl?: string | undefined;
1172
+ pollIntervalSeconds?: number | undefined;
1173
+ appMentions?: Record<string, {
1174
+ commentTemplate: string;
1175
+ enabled?: boolean | undefined;
1176
+ }> | undefined;
1177
+ }>;
1178
+ storage: z.ZodDefault<z.ZodObject<{
1179
+ dbPath: z.ZodDefault<z.ZodString>;
1180
+ worktreeRoot: z.ZodDefault<z.ZodString>;
1181
+ logsRoot: z.ZodDefault<z.ZodString>;
1182
+ autoCleanup: z.ZodDefault<z.ZodObject<{
1183
+ enabled: z.ZodDefault<z.ZodBoolean>;
1184
+ intervalMinutes: z.ZodDefault<z.ZodNumber>;
1185
+ }, "strip", z.ZodTypeAny, {
1186
+ enabled: boolean;
1187
+ intervalMinutes: number;
1188
+ }, {
1189
+ enabled?: boolean | undefined;
1190
+ intervalMinutes?: number | undefined;
1191
+ }>>;
1192
+ retention: z.ZodDefault<z.ZodObject<{
1193
+ worktreeAgeDays: z.ZodDefault<z.ZodNumber>;
1194
+ detailDays: z.ZodDefault<z.ZodNumber>;
1195
+ archiveDays: z.ZodDefault<z.ZodNumber>;
1196
+ }, "strip", z.ZodTypeAny, {
1197
+ worktreeAgeDays: number;
1198
+ detailDays: number;
1199
+ archiveDays: number;
1200
+ }, {
1201
+ worktreeAgeDays?: number | undefined;
1202
+ detailDays?: number | undefined;
1203
+ archiveDays?: number | undefined;
1204
+ }>>;
1205
+ }, "strip", z.ZodTypeAny, {
1206
+ dbPath: string;
1207
+ worktreeRoot: string;
1208
+ logsRoot: string;
1209
+ autoCleanup: {
1210
+ enabled: boolean;
1211
+ intervalMinutes: number;
1212
+ };
1213
+ retention: {
1214
+ worktreeAgeDays: number;
1215
+ detailDays: number;
1216
+ archiveDays: number;
1217
+ };
1218
+ }, {
1219
+ dbPath?: string | undefined;
1220
+ worktreeRoot?: string | undefined;
1221
+ logsRoot?: string | undefined;
1222
+ autoCleanup?: {
1223
+ enabled?: boolean | undefined;
1224
+ intervalMinutes?: number | undefined;
1225
+ } | undefined;
1226
+ retention?: {
1227
+ worktreeAgeDays?: number | undefined;
1228
+ detailDays?: number | undefined;
1229
+ archiveDays?: number | undefined;
1230
+ } | undefined;
1231
+ }>>;
1232
+ notifications: z.ZodDefault<z.ZodObject<{
1233
+ channels: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1234
+ type: z.ZodLiteral<"console">;
1235
+ }, "strip", z.ZodTypeAny, {
1236
+ type: "console";
1237
+ }, {
1238
+ type: "console";
1239
+ }>, z.ZodObject<{
1240
+ type: z.ZodLiteral<"webhook">;
1241
+ urlEnv: z.ZodString;
1242
+ }, "strip", z.ZodTypeAny, {
1243
+ type: "webhook";
1244
+ urlEnv: string;
1245
+ }, {
1246
+ type: "webhook";
1247
+ urlEnv: string;
1248
+ }>, z.ZodObject<{
1249
+ type: z.ZodLiteral<"discord">;
1250
+ urlEnv: z.ZodString;
1251
+ }, "strip", z.ZodTypeAny, {
1252
+ type: "discord";
1253
+ urlEnv: string;
1254
+ }, {
1255
+ type: "discord";
1256
+ urlEnv: string;
1257
+ }>, z.ZodObject<{
1258
+ type: z.ZodLiteral<"smtp">;
1259
+ host: z.ZodString;
1260
+ port: z.ZodDefault<z.ZodNumber>;
1261
+ from: z.ZodString;
1262
+ to: z.ZodString;
1263
+ userEnv: z.ZodString;
1264
+ passEnv: z.ZodString;
1265
+ }, "strip", z.ZodTypeAny, {
1266
+ type: "smtp";
1267
+ host: string;
1268
+ port: number;
1269
+ from: string;
1270
+ to: string;
1271
+ userEnv: string;
1272
+ passEnv: string;
1273
+ }, {
1274
+ type: "smtp";
1275
+ host: string;
1276
+ from: string;
1277
+ to: string;
1278
+ userEnv: string;
1279
+ passEnv: string;
1280
+ port?: number | undefined;
1281
+ }>]>, "many">>;
1282
+ events: z.ZodDefault<z.ZodObject<{
1283
+ onRunStarted: z.ZodDefault<z.ZodBoolean>;
1284
+ onBlocked: z.ZodDefault<z.ZodBoolean>;
1285
+ onPrReady: z.ZodDefault<z.ZodBoolean>;
1286
+ onPrUpdated: z.ZodDefault<z.ZodBoolean>;
1287
+ onError: z.ZodDefault<z.ZodBoolean>;
1288
+ onRetryExhausted: z.ZodDefault<z.ZodBoolean>;
1289
+ }, "strip", z.ZodTypeAny, {
1290
+ onRunStarted: boolean;
1291
+ onBlocked: boolean;
1292
+ onPrReady: boolean;
1293
+ onPrUpdated: boolean;
1294
+ onError: boolean;
1295
+ onRetryExhausted: boolean;
1296
+ }, {
1297
+ onRunStarted?: boolean | undefined;
1298
+ onBlocked?: boolean | undefined;
1299
+ onPrReady?: boolean | undefined;
1300
+ onPrUpdated?: boolean | undefined;
1301
+ onError?: boolean | undefined;
1302
+ onRetryExhausted?: boolean | undefined;
1303
+ }>>;
1304
+ }, "strip", z.ZodTypeAny, {
1305
+ channels: ({
1306
+ type: "console";
1307
+ } | {
1308
+ type: "webhook";
1309
+ urlEnv: string;
1310
+ } | {
1311
+ type: "discord";
1312
+ urlEnv: string;
1313
+ } | {
1314
+ type: "smtp";
1315
+ host: string;
1316
+ port: number;
1317
+ from: string;
1318
+ to: string;
1319
+ userEnv: string;
1320
+ passEnv: string;
1321
+ })[];
1322
+ events: {
1323
+ onRunStarted: boolean;
1324
+ onBlocked: boolean;
1325
+ onPrReady: boolean;
1326
+ onPrUpdated: boolean;
1327
+ onError: boolean;
1328
+ onRetryExhausted: boolean;
1329
+ };
1330
+ }, {
1331
+ channels?: ({
1332
+ type: "console";
1333
+ } | {
1334
+ type: "webhook";
1335
+ urlEnv: string;
1336
+ } | {
1337
+ type: "discord";
1338
+ urlEnv: string;
1339
+ } | {
1340
+ type: "smtp";
1341
+ host: string;
1342
+ from: string;
1343
+ to: string;
1344
+ userEnv: string;
1345
+ passEnv: string;
1346
+ port?: number | undefined;
1347
+ })[] | undefined;
1348
+ events?: {
1349
+ onRunStarted?: boolean | undefined;
1350
+ onBlocked?: boolean | undefined;
1351
+ onPrReady?: boolean | undefined;
1352
+ onPrUpdated?: boolean | undefined;
1353
+ onError?: boolean | undefined;
1354
+ onRetryExhausted?: boolean | undefined;
1355
+ } | undefined;
1356
+ }>>;
1357
+ loop: z.ZodDefault<z.ZodObject<{
1358
+ maxReviewIterations: z.ZodDefault<z.ZodNumber>;
1359
+ maxTotalAgentPasses: z.ZodDefault<z.ZodNumber>;
1360
+ stopOnPlannerFailure: z.ZodDefault<z.ZodBoolean>;
1361
+ requireVerificationPass: z.ZodDefault<z.ZodBoolean>;
1362
+ reviewApprovalKeyword: z.ZodDefault<z.ZodString>;
1363
+ reviewNeedsChangesKeyword: z.ZodDefault<z.ZodString>;
1364
+ blockOnAmbiguousReview: z.ZodDefault<z.ZodBoolean>;
1365
+ maxAutoRetries: z.ZodDefault<z.ZodNumber>;
1366
+ decompose: z.ZodDefault<z.ZodBoolean>;
1367
+ maxSubtasks: z.ZodDefault<z.ZodNumber>;
1368
+ maxConcurrentSubtasks: z.ZodDefault<z.ZodNumber>;
1369
+ }, "strip", z.ZodTypeAny, {
1370
+ maxReviewIterations: number;
1371
+ maxTotalAgentPasses: number;
1372
+ stopOnPlannerFailure: boolean;
1373
+ requireVerificationPass: boolean;
1374
+ reviewApprovalKeyword: string;
1375
+ reviewNeedsChangesKeyword: string;
1376
+ blockOnAmbiguousReview: boolean;
1377
+ maxAutoRetries: number;
1378
+ decompose: boolean;
1379
+ maxSubtasks: number;
1380
+ maxConcurrentSubtasks: number;
1381
+ }, {
1382
+ maxReviewIterations?: number | undefined;
1383
+ maxTotalAgentPasses?: number | undefined;
1384
+ stopOnPlannerFailure?: boolean | undefined;
1385
+ requireVerificationPass?: boolean | undefined;
1386
+ reviewApprovalKeyword?: string | undefined;
1387
+ reviewNeedsChangesKeyword?: string | undefined;
1388
+ blockOnAmbiguousReview?: boolean | undefined;
1389
+ maxAutoRetries?: number | undefined;
1390
+ decompose?: boolean | undefined;
1391
+ maxSubtasks?: number | undefined;
1392
+ maxConcurrentSubtasks?: number | undefined;
1393
+ }>>;
1394
+ security: z.ZodDefault<z.ZodObject<{
1395
+ maxChangedFiles: z.ZodDefault<z.ZodNumber>;
1396
+ maxChangedLines: z.ZodDefault<z.ZodNumber>;
1397
+ maxDailyCostUsd: z.ZodDefault<z.ZodNumber>;
1398
+ maxCostPerRunUsd: z.ZodDefault<z.ZodNumber>;
1399
+ }, "strip", z.ZodTypeAny, {
1400
+ maxChangedFiles: number;
1401
+ maxChangedLines: number;
1402
+ maxDailyCostUsd: number;
1403
+ maxCostPerRunUsd: number;
1404
+ }, {
1405
+ maxChangedFiles?: number | undefined;
1406
+ maxChangedLines?: number | undefined;
1407
+ maxDailyCostUsd?: number | undefined;
1408
+ maxCostPerRunUsd?: number | undefined;
1409
+ }>>;
1410
+ cost: z.ZodDefault<z.ZodObject<{
1411
+ model: z.ZodDefault<z.ZodEnum<["pay-per-use", "subscription"]>>;
1412
+ pricing: z.ZodOptional<z.ZodObject<{
1413
+ defaultModel: z.ZodDefault<z.ZodString>;
1414
+ models: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1415
+ inputUsdPerMillionTokens: z.ZodDefault<z.ZodNumber>;
1416
+ outputUsdPerMillionTokens: z.ZodDefault<z.ZodNumber>;
1417
+ minuteUsd: z.ZodDefault<z.ZodNumber>;
1418
+ }, "strip", z.ZodTypeAny, {
1419
+ inputUsdPerMillionTokens: number;
1420
+ outputUsdPerMillionTokens: number;
1421
+ minuteUsd: number;
1422
+ }, {
1423
+ inputUsdPerMillionTokens?: number | undefined;
1424
+ outputUsdPerMillionTokens?: number | undefined;
1425
+ minuteUsd?: number | undefined;
1426
+ }>>>;
1427
+ }, "strip", z.ZodTypeAny, {
1428
+ defaultModel: string;
1429
+ models: Record<string, {
1430
+ inputUsdPerMillionTokens: number;
1431
+ outputUsdPerMillionTokens: number;
1432
+ minuteUsd: number;
1433
+ }>;
1434
+ }, {
1435
+ defaultModel?: string | undefined;
1436
+ models?: Record<string, {
1437
+ inputUsdPerMillionTokens?: number | undefined;
1438
+ outputUsdPerMillionTokens?: number | undefined;
1439
+ minuteUsd?: number | undefined;
1440
+ }> | undefined;
1441
+ }>>;
1442
+ }, "strip", z.ZodTypeAny, {
1443
+ model: "pay-per-use" | "subscription";
1444
+ pricing?: {
1445
+ defaultModel: string;
1446
+ models: Record<string, {
1447
+ inputUsdPerMillionTokens: number;
1448
+ outputUsdPerMillionTokens: number;
1449
+ minuteUsd: number;
1450
+ }>;
1451
+ } | undefined;
1452
+ }, {
1453
+ model?: "pay-per-use" | "subscription" | undefined;
1454
+ pricing?: {
1455
+ defaultModel?: string | undefined;
1456
+ models?: Record<string, {
1457
+ inputUsdPerMillionTokens?: number | undefined;
1458
+ outputUsdPerMillionTokens?: number | undefined;
1459
+ minuteUsd?: number | undefined;
1460
+ }> | undefined;
1461
+ } | undefined;
1462
+ }>>;
1463
+ workerProfiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1464
+ type: z.ZodString;
1465
+ pricingModel: z.ZodOptional<z.ZodString>;
1466
+ command: z.ZodString;
1467
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1468
+ workerTimeoutSeconds: z.ZodDefault<z.ZodNumber>;
1469
+ /** @deprecated Ignored at runtime — always uses whitelist-only env mode. */
1470
+ minimalEnv: z.ZodDefault<z.ZodBoolean>;
1471
+ runtimeWrapper: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1472
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1473
+ }, "strip", z.ZodTypeAny, {
1474
+ env: Record<string, string>;
1475
+ type: string;
1476
+ command: string;
1477
+ args: string[];
1478
+ workerTimeoutSeconds: number;
1479
+ minimalEnv: boolean;
1480
+ runtimeWrapper: string | null;
1481
+ pricingModel?: string | undefined;
1482
+ }, {
1483
+ type: string;
1484
+ command: string;
1485
+ env?: Record<string, string> | undefined;
1486
+ pricingModel?: string | undefined;
1487
+ args?: string[] | undefined;
1488
+ workerTimeoutSeconds?: number | undefined;
1489
+ minimalEnv?: boolean | undefined;
1490
+ runtimeWrapper?: string | null | undefined;
1491
+ }>>>;
1492
+ metrics: z.ZodDefault<z.ZodObject<{
1493
+ enabled: z.ZodDefault<z.ZodBoolean>;
1494
+ port: z.ZodDefault<z.ZodNumber>;
1495
+ host: z.ZodDefault<z.ZodString>;
1496
+ }, "strip", z.ZodTypeAny, {
1497
+ host: string;
1498
+ port: number;
1499
+ enabled: boolean;
1500
+ }, {
1501
+ host?: string | undefined;
1502
+ port?: number | undefined;
1503
+ enabled?: boolean | undefined;
1504
+ }>>;
1505
+ observability: z.ZodDefault<z.ZodObject<{
1506
+ agentStreaming: z.ZodDefault<z.ZodBoolean>;
1507
+ eventRetention: z.ZodDefault<z.ZodNumber>;
1508
+ sessionLogs: z.ZodDefault<z.ZodBoolean>;
1509
+ sessionLogRetention: z.ZodDefault<z.ZodNumber>;
1510
+ }, "strip", z.ZodTypeAny, {
1511
+ agentStreaming: boolean;
1512
+ eventRetention: number;
1513
+ sessionLogs: boolean;
1514
+ sessionLogRetention: number;
1515
+ }, {
1516
+ agentStreaming?: boolean | undefined;
1517
+ eventRetention?: number | undefined;
1518
+ sessionLogs?: boolean | undefined;
1519
+ sessionLogRetention?: number | undefined;
1520
+ }>>;
1521
+ mcp: z.ZodDefault<z.ZodObject<{
1522
+ enabled: z.ZodDefault<z.ZodBoolean>;
1523
+ transport: z.ZodDefault<z.ZodEnum<["stdio"]>>;
1524
+ authTokenEnv: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1525
+ httpPort: z.ZodDefault<z.ZodNumber>;
1526
+ httpHost: z.ZodDefault<z.ZodString>;
1527
+ }, "strip", z.ZodTypeAny, {
1528
+ transport: "stdio";
1529
+ enabled: boolean;
1530
+ authTokenEnv: string | null;
1531
+ httpPort: number;
1532
+ httpHost: string;
1533
+ }, {
1534
+ transport?: "stdio" | undefined;
1535
+ enabled?: boolean | undefined;
1536
+ authTokenEnv?: string | null | undefined;
1537
+ httpPort?: number | undefined;
1538
+ httpHost?: string | undefined;
1539
+ }>>;
1540
+ commentCommands: z.ZodDefault<z.ZodObject<{
1541
+ enabled: z.ZodDefault<z.ZodBoolean>;
1542
+ /** Default true: only repo collaborators may run /orch commands. Set
1543
+ * to false only for private repos where all commenters are trusted. */
1544
+ requireCollaborator: z.ZodDefault<z.ZodBoolean>;
1545
+ }, "strip", z.ZodTypeAny, {
1546
+ enabled: boolean;
1547
+ requireCollaborator: boolean;
1548
+ }, {
1549
+ enabled?: boolean | undefined;
1550
+ requireCollaborator?: boolean | undefined;
1551
+ }>>;
1552
+ repos: z.ZodArray<z.ZodEffects<z.ZodObject<{
1553
+ repo: z.ZodString;
1554
+ forge: z.ZodDefault<z.ZodEnum<["github", "forgejo"]>>;
1555
+ linkedProjects: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1556
+ apiBaseUrl: z.ZodOptional<z.ZodString>;
1557
+ tokenEnv: z.ZodOptional<z.ZodString>;
1558
+ maxConcurrentRuns: z.ZodDefault<z.ZodNumber>;
1559
+ localPath: z.ZodString;
1560
+ baseBranch: z.ZodDefault<z.ZodString>;
1561
+ branchPrefix: z.ZodDefault<z.ZodString>;
1562
+ labels: z.ZodDefault<z.ZodObject<{
1563
+ ready: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, string[], string | string[]>;
1564
+ running: z.ZodDefault<z.ZodString>;
1565
+ blocked: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodArray<z.ZodString, "many">, string, string[]>]>>;
1566
+ needsHuman: z.ZodDefault<z.ZodString>;
1567
+ reviewReady: z.ZodDefault<z.ZodString>;
1568
+ error: z.ZodDefault<z.ZodString>;
1569
+ retry: z.ZodDefault<z.ZodString>;
1570
+ planning: z.ZodDefault<z.ZodString>;
1571
+ mergeQueued: z.ZodDefault<z.ZodString>;
1572
+ merging: z.ZodDefault<z.ZodString>;
1573
+ mergeFailed: z.ZodDefault<z.ZodString>;
1574
+ }, "strip", z.ZodTypeAny, {
1575
+ error: string;
1576
+ ready: string[];
1577
+ running: string;
1578
+ blocked: string;
1579
+ needsHuman: string;
1580
+ reviewReady: string;
1581
+ retry: string;
1582
+ planning: string;
1583
+ mergeQueued: string;
1584
+ merging: string;
1585
+ mergeFailed: string;
1586
+ }, {
1587
+ ready: string | string[];
1588
+ error?: string | undefined;
1589
+ running?: string | undefined;
1590
+ blocked?: string | string[] | undefined;
1591
+ needsHuman?: string | undefined;
1592
+ reviewReady?: string | undefined;
1593
+ retry?: string | undefined;
1594
+ planning?: string | undefined;
1595
+ mergeQueued?: string | undefined;
1596
+ merging?: string | undefined;
1597
+ mergeFailed?: string | undefined;
1598
+ }>>;
1599
+ kanban: z.ZodOptional<z.ZodObject<{
1600
+ triggerLabel: z.ZodString;
1601
+ labels: z.ZodObject<{
1602
+ ready: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, string[], string | string[]>;
1603
+ running: z.ZodDefault<z.ZodString>;
1604
+ blocked: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodArray<z.ZodString, "many">, string, string[]>]>>;
1605
+ needsHuman: z.ZodDefault<z.ZodString>;
1606
+ reviewReady: z.ZodDefault<z.ZodString>;
1607
+ error: z.ZodDefault<z.ZodString>;
1608
+ retry: z.ZodDefault<z.ZodString>;
1609
+ planning: z.ZodDefault<z.ZodString>;
1610
+ mergeQueued: z.ZodDefault<z.ZodString>;
1611
+ merging: z.ZodDefault<z.ZodString>;
1612
+ mergeFailed: z.ZodDefault<z.ZodString>;
1613
+ }, "strip", z.ZodTypeAny, {
1614
+ error: string;
1615
+ ready: string[];
1616
+ running: string;
1617
+ blocked: string;
1618
+ needsHuman: string;
1619
+ reviewReady: string;
1620
+ retry: string;
1621
+ planning: string;
1622
+ mergeQueued: string;
1623
+ merging: string;
1624
+ mergeFailed: string;
1625
+ }, {
1626
+ ready: string | string[];
1627
+ error?: string | undefined;
1628
+ running?: string | undefined;
1629
+ blocked?: string | string[] | undefined;
1630
+ needsHuman?: string | undefined;
1631
+ reviewReady?: string | undefined;
1632
+ retry?: string | undefined;
1633
+ planning?: string | undefined;
1634
+ mergeQueued?: string | undefined;
1635
+ merging?: string | undefined;
1636
+ mergeFailed?: string | undefined;
1637
+ }>;
1638
+ }, "strip", z.ZodTypeAny, {
1639
+ triggerLabel: string;
1640
+ labels: {
1641
+ error: string;
1642
+ ready: string[];
1643
+ running: string;
1644
+ blocked: string;
1645
+ needsHuman: string;
1646
+ reviewReady: string;
1647
+ retry: string;
1648
+ planning: string;
1649
+ mergeQueued: string;
1650
+ merging: string;
1651
+ mergeFailed: string;
1652
+ };
1653
+ }, {
1654
+ triggerLabel: string;
1655
+ labels: {
1656
+ ready: string | string[];
1657
+ error?: string | undefined;
1658
+ running?: string | undefined;
1659
+ blocked?: string | string[] | undefined;
1660
+ needsHuman?: string | undefined;
1661
+ reviewReady?: string | undefined;
1662
+ retry?: string | undefined;
1663
+ planning?: string | undefined;
1664
+ mergeQueued?: string | undefined;
1665
+ merging?: string | undefined;
1666
+ mergeFailed?: string | undefined;
1667
+ };
1668
+ }>>;
1669
+ labelConfig: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{
1670
+ color: z.ZodOptional<z.ZodString>;
1671
+ description: z.ZodOptional<z.ZodString>;
1672
+ }, "strip", z.ZodTypeAny, {
1673
+ color?: string | undefined;
1674
+ description?: string | undefined;
1675
+ }, {
1676
+ color?: string | undefined;
1677
+ description?: string | undefined;
1678
+ }>, {
1679
+ color?: string | undefined;
1680
+ description?: string | undefined;
1681
+ }, {
1682
+ color?: string | undefined;
1683
+ description?: string | undefined;
1684
+ }>>>;
1685
+ defaults: z.ZodDefault<z.ZodObject<{
1686
+ planner: z.ZodDefault<z.ZodEnum<["claude", "codex"]>>;
1687
+ coder: z.ZodDefault<z.ZodEnum<["claude", "codex"]>>;
1688
+ reviewer: z.ZodDefault<z.ZodEnum<["claude", "codex"]>>;
1689
+ /** @deprecated Reserved — not read by the loop engine or notification dispatch. */
1690
+ doneMode: z.ZodDefault<z.ZodEnum<["pr-ready", "manual-only"]>>;
1691
+ /** @deprecated Reserved — not read by the notification dispatch. */
1692
+ notifyPriority: z.ZodDefault<z.ZodEnum<["normal", "high"]>>;
1693
+ prMentions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1694
+ }, "strip", z.ZodTypeAny, {
1695
+ planner: "claude" | "codex";
1696
+ coder: "claude" | "codex";
1697
+ reviewer: "claude" | "codex";
1698
+ doneMode: "pr-ready" | "manual-only";
1699
+ notifyPriority: "normal" | "high";
1700
+ prMentions: string[];
1701
+ }, {
1702
+ planner?: "claude" | "codex" | undefined;
1703
+ coder?: "claude" | "codex" | undefined;
1704
+ reviewer?: "claude" | "codex" | undefined;
1705
+ doneMode?: "pr-ready" | "manual-only" | undefined;
1706
+ notifyPriority?: "normal" | "high" | undefined;
1707
+ prMentions?: string[] | undefined;
1708
+ }>>;
1709
+ environment: z.ZodOptional<z.ZodObject<{
1710
+ defaultMode: z.ZodDefault<z.ZodEnum<["shared", "dedicated"]>>;
1711
+ dedicated: z.ZodOptional<z.ZodObject<{
1712
+ compose: z.ZodObject<{
1713
+ file: z.ZodString;
1714
+ services: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1715
+ projectName: z.ZodDefault<z.ZodString>;
1716
+ }, "strip", z.ZodTypeAny, {
1717
+ file: string;
1718
+ services: string[];
1719
+ projectName: string;
1720
+ }, {
1721
+ file: string;
1722
+ services?: string[] | undefined;
1723
+ projectName?: string | undefined;
1724
+ }>;
1725
+ env: z.ZodDefault<z.ZodObject<{
1726
+ copyFrom: z.ZodDefault<z.ZodString>;
1727
+ overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1728
+ overrideFiles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1729
+ }, "strip", z.ZodTypeAny, {
1730
+ copyFrom: string;
1731
+ overrides: Record<string, string>;
1732
+ overrideFiles: string[];
1733
+ }, {
1734
+ copyFrom?: string | undefined;
1735
+ overrides?: Record<string, string> | undefined;
1736
+ overrideFiles?: string[] | undefined;
1737
+ }>>;
1738
+ healthcheck: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
1739
+ teardownOnComplete: z.ZodDefault<z.ZodBoolean>;
1740
+ }, "strip", z.ZodTypeAny, {
1741
+ env: {
1742
+ copyFrom: string;
1743
+ overrides: Record<string, string>;
1744
+ overrideFiles: string[];
1745
+ };
1746
+ compose: {
1747
+ file: string;
1748
+ services: string[];
1749
+ projectName: string;
1750
+ };
1751
+ teardownOnComplete: boolean;
1752
+ healthcheck?: string | string[] | undefined;
1753
+ }, {
1754
+ compose: {
1755
+ file: string;
1756
+ services?: string[] | undefined;
1757
+ projectName?: string | undefined;
1758
+ };
1759
+ env?: {
1760
+ copyFrom?: string | undefined;
1761
+ overrides?: Record<string, string> | undefined;
1762
+ overrideFiles?: string[] | undefined;
1763
+ } | undefined;
1764
+ healthcheck?: string | string[] | undefined;
1765
+ teardownOnComplete?: boolean | undefined;
1766
+ }>>;
1767
+ shared: z.ZodOptional<z.ZodObject<{
1768
+ requireRunning: z.ZodDefault<z.ZodBoolean>;
1769
+ healthcheck: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
1770
+ }, "strip", z.ZodTypeAny, {
1771
+ requireRunning: boolean;
1772
+ healthcheck?: string | string[] | undefined;
1773
+ }, {
1774
+ healthcheck?: string | string[] | undefined;
1775
+ requireRunning?: boolean | undefined;
1776
+ }>>;
1777
+ bootstrap: z.ZodDefault<z.ZodArray<z.ZodObject<{
1778
+ command: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
1779
+ when: z.ZodDefault<z.ZodEnum<["always", "dedicated", "shared"]>>;
1780
+ failureHints: z.ZodDefault<z.ZodArray<z.ZodObject<{
1781
+ contains: z.ZodString;
1782
+ message: z.ZodString;
1783
+ output: z.ZodDefault<z.ZodEnum<["combined", "stdout", "stderr"]>>;
1784
+ }, "strip", z.ZodTypeAny, {
1785
+ message: string;
1786
+ contains: string;
1787
+ output: "stdout" | "stderr" | "combined";
1788
+ }, {
1789
+ message: string;
1790
+ contains: string;
1791
+ output?: "stdout" | "stderr" | "combined" | undefined;
1792
+ }>, "many">>;
1793
+ }, "strip", z.ZodTypeAny, {
1794
+ command: string | string[];
1795
+ when: "always" | "dedicated" | "shared";
1796
+ failureHints: {
1797
+ message: string;
1798
+ contains: string;
1799
+ output: "stdout" | "stderr" | "combined";
1800
+ }[];
1801
+ }, {
1802
+ command: string | string[];
1803
+ when?: "always" | "dedicated" | "shared" | undefined;
1804
+ failureHints?: {
1805
+ message: string;
1806
+ contains: string;
1807
+ output?: "stdout" | "stderr" | "combined" | undefined;
1808
+ }[] | undefined;
1809
+ }>, "many">>;
1810
+ cleanup: z.ZodDefault<z.ZodArray<z.ZodObject<{
1811
+ command: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
1812
+ when: z.ZodDefault<z.ZodEnum<["always", "dedicated", "shared"]>>;
1813
+ failureHints: z.ZodDefault<z.ZodArray<z.ZodObject<{
1814
+ contains: z.ZodString;
1815
+ message: z.ZodString;
1816
+ output: z.ZodDefault<z.ZodEnum<["combined", "stdout", "stderr"]>>;
1817
+ }, "strip", z.ZodTypeAny, {
1818
+ message: string;
1819
+ contains: string;
1820
+ output: "stdout" | "stderr" | "combined";
1821
+ }, {
1822
+ message: string;
1823
+ contains: string;
1824
+ output?: "stdout" | "stderr" | "combined" | undefined;
1825
+ }>, "many">>;
1826
+ }, "strip", z.ZodTypeAny, {
1827
+ command: string | string[];
1828
+ when: "always" | "dedicated" | "shared";
1829
+ failureHints: {
1830
+ message: string;
1831
+ contains: string;
1832
+ output: "stdout" | "stderr" | "combined";
1833
+ }[];
1834
+ }, {
1835
+ command: string | string[];
1836
+ when?: "always" | "dedicated" | "shared" | undefined;
1837
+ failureHints?: {
1838
+ message: string;
1839
+ contains: string;
1840
+ output?: "stdout" | "stderr" | "combined" | undefined;
1841
+ }[] | undefined;
1842
+ }>, "many">>;
1843
+ }, "strip", z.ZodTypeAny, {
1844
+ defaultMode: "dedicated" | "shared";
1845
+ bootstrap: {
1846
+ command: string | string[];
1847
+ when: "always" | "dedicated" | "shared";
1848
+ failureHints: {
1849
+ message: string;
1850
+ contains: string;
1851
+ output: "stdout" | "stderr" | "combined";
1852
+ }[];
1853
+ }[];
1854
+ cleanup: {
1855
+ command: string | string[];
1856
+ when: "always" | "dedicated" | "shared";
1857
+ failureHints: {
1858
+ message: string;
1859
+ contains: string;
1860
+ output: "stdout" | "stderr" | "combined";
1861
+ }[];
1862
+ }[];
1863
+ dedicated?: {
1864
+ env: {
1865
+ copyFrom: string;
1866
+ overrides: Record<string, string>;
1867
+ overrideFiles: string[];
1868
+ };
1869
+ compose: {
1870
+ file: string;
1871
+ services: string[];
1872
+ projectName: string;
1873
+ };
1874
+ teardownOnComplete: boolean;
1875
+ healthcheck?: string | string[] | undefined;
1876
+ } | undefined;
1877
+ shared?: {
1878
+ requireRunning: boolean;
1879
+ healthcheck?: string | string[] | undefined;
1880
+ } | undefined;
1881
+ }, {
1882
+ dedicated?: {
1883
+ compose: {
1884
+ file: string;
1885
+ services?: string[] | undefined;
1886
+ projectName?: string | undefined;
1887
+ };
1888
+ env?: {
1889
+ copyFrom?: string | undefined;
1890
+ overrides?: Record<string, string> | undefined;
1891
+ overrideFiles?: string[] | undefined;
1892
+ } | undefined;
1893
+ healthcheck?: string | string[] | undefined;
1894
+ teardownOnComplete?: boolean | undefined;
1895
+ } | undefined;
1896
+ shared?: {
1897
+ healthcheck?: string | string[] | undefined;
1898
+ requireRunning?: boolean | undefined;
1899
+ } | undefined;
1900
+ defaultMode?: "dedicated" | "shared" | undefined;
1901
+ bootstrap?: {
1902
+ command: string | string[];
1903
+ when?: "always" | "dedicated" | "shared" | undefined;
1904
+ failureHints?: {
1905
+ message: string;
1906
+ contains: string;
1907
+ output?: "stdout" | "stderr" | "combined" | undefined;
1908
+ }[] | undefined;
1909
+ }[] | undefined;
1910
+ cleanup?: {
1911
+ command: string | string[];
1912
+ when?: "always" | "dedicated" | "shared" | undefined;
1913
+ failureHints?: {
1914
+ message: string;
1915
+ contains: string;
1916
+ output?: "stdout" | "stderr" | "combined" | undefined;
1917
+ }[] | undefined;
1918
+ }[] | undefined;
1919
+ }>>;
1920
+ verify: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, "many">>;
1921
+ prompts: z.ZodOptional<z.ZodObject<{
1922
+ plannerSystem: z.ZodOptional<z.ZodString>;
1923
+ coderSystem: z.ZodOptional<z.ZodString>;
1924
+ reviewerSystem: z.ZodOptional<z.ZodString>;
1925
+ }, "strip", z.ZodTypeAny, {
1926
+ plannerSystem?: string | undefined;
1927
+ coderSystem?: string | undefined;
1928
+ reviewerSystem?: string | undefined;
1929
+ }, {
1930
+ plannerSystem?: string | undefined;
1931
+ coderSystem?: string | undefined;
1932
+ reviewerSystem?: string | undefined;
1933
+ }>>;
1934
+ planning: z.ZodDefault<z.ZodObject<{
1935
+ prdDirectory: z.ZodDefault<z.ZodString>;
1936
+ }, "strip", z.ZodTypeAny, {
1937
+ prdDirectory: string;
1938
+ }, {
1939
+ prdDirectory?: string | undefined;
1940
+ }>>;
1941
+ selectors: z.ZodDefault<z.ZodObject<{
1942
+ includeLabelsAny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1943
+ excludeLabelsAny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1944
+ }, "strip", z.ZodTypeAny, {
1945
+ includeLabelsAny: string[];
1946
+ excludeLabelsAny: string[];
1947
+ }, {
1948
+ includeLabelsAny?: string[] | undefined;
1949
+ excludeLabelsAny?: string[] | undefined;
1950
+ }>>;
1951
+ agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1952
+ workflow: z.ZodOptional<z.ZodString>;
1953
+ workflowByTriage: z.ZodOptional<z.ZodObject<{
1954
+ trivial: z.ZodOptional<z.ZodString>;
1955
+ standard: z.ZodOptional<z.ZodString>;
1956
+ }, "strict", z.ZodTypeAny, {
1957
+ trivial?: string | undefined;
1958
+ standard?: string | undefined;
1959
+ }, {
1960
+ trivial?: string | undefined;
1961
+ standard?: string | undefined;
1962
+ }>>;
1963
+ mergeQueue: z.ZodDefault<z.ZodObject<{
1964
+ enabled: z.ZodDefault<z.ZodBoolean>;
1965
+ batchSize: z.ZodDefault<z.ZodNumber>;
1966
+ mergeMethod: z.ZodDefault<z.ZodEnum<["merge", "squash", "rebase"]>>;
1967
+ retryFlakyOnce: z.ZodDefault<z.ZodBoolean>;
1968
+ requireApproval: z.ZodDefault<z.ZodBoolean>;
1969
+ stagingBranchPrefix: z.ZodDefault<z.ZodString>;
1970
+ }, "strip", z.ZodTypeAny, {
1971
+ enabled: boolean;
1972
+ batchSize: number;
1973
+ mergeMethod: "merge" | "squash" | "rebase";
1974
+ retryFlakyOnce: boolean;
1975
+ requireApproval: boolean;
1976
+ stagingBranchPrefix: string;
1977
+ }, {
1978
+ enabled?: boolean | undefined;
1979
+ batchSize?: number | undefined;
1980
+ mergeMethod?: "merge" | "squash" | "rebase" | undefined;
1981
+ retryFlakyOnce?: boolean | undefined;
1982
+ requireApproval?: boolean | undefined;
1983
+ stagingBranchPrefix?: string | undefined;
1984
+ }>>;
1985
+ }, "strip", z.ZodTypeAny, {
1986
+ planning: {
1987
+ prdDirectory: string;
1988
+ };
1989
+ labels: {
1990
+ error: string;
1991
+ ready: string[];
1992
+ running: string;
1993
+ blocked: string;
1994
+ needsHuman: string;
1995
+ reviewReady: string;
1996
+ retry: string;
1997
+ planning: string;
1998
+ mergeQueued: string;
1999
+ merging: string;
2000
+ mergeFailed: string;
2001
+ };
2002
+ verify: (string | string[])[];
2003
+ agents: Record<string, string>;
2004
+ repo: string;
2005
+ forge: "github" | "forgejo";
2006
+ linkedProjects: string[];
2007
+ maxConcurrentRuns: number;
2008
+ localPath: string;
2009
+ baseBranch: string;
2010
+ branchPrefix: string;
2011
+ labelConfig: Record<string, {
2012
+ color?: string | undefined;
2013
+ description?: string | undefined;
2014
+ }>;
2015
+ defaults: {
2016
+ planner: "claude" | "codex";
2017
+ coder: "claude" | "codex";
2018
+ reviewer: "claude" | "codex";
2019
+ doneMode: "pr-ready" | "manual-only";
2020
+ notifyPriority: "normal" | "high";
2021
+ prMentions: string[];
2022
+ };
2023
+ selectors: {
2024
+ includeLabelsAny: string[];
2025
+ excludeLabelsAny: string[];
2026
+ };
2027
+ mergeQueue: {
2028
+ enabled: boolean;
2029
+ batchSize: number;
2030
+ mergeMethod: "merge" | "squash" | "rebase";
2031
+ retryFlakyOnce: boolean;
2032
+ requireApproval: boolean;
2033
+ stagingBranchPrefix: string;
2034
+ };
2035
+ apiBaseUrl?: string | undefined;
2036
+ tokenEnv?: string | undefined;
2037
+ kanban?: {
2038
+ triggerLabel: string;
2039
+ labels: {
2040
+ error: string;
2041
+ ready: string[];
2042
+ running: string;
2043
+ blocked: string;
2044
+ needsHuman: string;
2045
+ reviewReady: string;
2046
+ retry: string;
2047
+ planning: string;
2048
+ mergeQueued: string;
2049
+ merging: string;
2050
+ mergeFailed: string;
2051
+ };
2052
+ } | undefined;
2053
+ environment?: {
2054
+ defaultMode: "dedicated" | "shared";
2055
+ bootstrap: {
2056
+ command: string | string[];
2057
+ when: "always" | "dedicated" | "shared";
2058
+ failureHints: {
2059
+ message: string;
2060
+ contains: string;
2061
+ output: "stdout" | "stderr" | "combined";
2062
+ }[];
2063
+ }[];
2064
+ cleanup: {
2065
+ command: string | string[];
2066
+ when: "always" | "dedicated" | "shared";
2067
+ failureHints: {
2068
+ message: string;
2069
+ contains: string;
2070
+ output: "stdout" | "stderr" | "combined";
2071
+ }[];
2072
+ }[];
2073
+ dedicated?: {
2074
+ env: {
2075
+ copyFrom: string;
2076
+ overrides: Record<string, string>;
2077
+ overrideFiles: string[];
2078
+ };
2079
+ compose: {
2080
+ file: string;
2081
+ services: string[];
2082
+ projectName: string;
2083
+ };
2084
+ teardownOnComplete: boolean;
2085
+ healthcheck?: string | string[] | undefined;
2086
+ } | undefined;
2087
+ shared?: {
2088
+ requireRunning: boolean;
2089
+ healthcheck?: string | string[] | undefined;
2090
+ } | undefined;
2091
+ } | undefined;
2092
+ prompts?: {
2093
+ plannerSystem?: string | undefined;
2094
+ coderSystem?: string | undefined;
2095
+ reviewerSystem?: string | undefined;
2096
+ } | undefined;
2097
+ workflow?: string | undefined;
2098
+ workflowByTriage?: {
2099
+ trivial?: string | undefined;
2100
+ standard?: string | undefined;
2101
+ } | undefined;
2102
+ }, {
2103
+ repo: string;
2104
+ localPath: string;
2105
+ planning?: {
2106
+ prdDirectory?: string | undefined;
2107
+ } | undefined;
2108
+ labels?: {
2109
+ ready: string | string[];
2110
+ error?: string | undefined;
2111
+ running?: string | undefined;
2112
+ blocked?: string | string[] | undefined;
2113
+ needsHuman?: string | undefined;
2114
+ reviewReady?: string | undefined;
2115
+ retry?: string | undefined;
2116
+ planning?: string | undefined;
2117
+ mergeQueued?: string | undefined;
2118
+ merging?: string | undefined;
2119
+ mergeFailed?: string | undefined;
2120
+ } | undefined;
2121
+ verify?: (string | string[])[] | undefined;
2122
+ agents?: Record<string, string> | undefined;
2123
+ forge?: "github" | "forgejo" | undefined;
2124
+ linkedProjects?: string[] | undefined;
2125
+ apiBaseUrl?: string | undefined;
2126
+ tokenEnv?: string | undefined;
2127
+ maxConcurrentRuns?: number | undefined;
2128
+ baseBranch?: string | undefined;
2129
+ branchPrefix?: string | undefined;
2130
+ kanban?: {
2131
+ triggerLabel: string;
2132
+ labels: {
2133
+ ready: string | string[];
2134
+ error?: string | undefined;
2135
+ running?: string | undefined;
2136
+ blocked?: string | string[] | undefined;
2137
+ needsHuman?: string | undefined;
2138
+ reviewReady?: string | undefined;
2139
+ retry?: string | undefined;
2140
+ planning?: string | undefined;
2141
+ mergeQueued?: string | undefined;
2142
+ merging?: string | undefined;
2143
+ mergeFailed?: string | undefined;
2144
+ };
2145
+ } | undefined;
2146
+ labelConfig?: Record<string, {
2147
+ color?: string | undefined;
2148
+ description?: string | undefined;
2149
+ }> | undefined;
2150
+ defaults?: {
2151
+ planner?: "claude" | "codex" | undefined;
2152
+ coder?: "claude" | "codex" | undefined;
2153
+ reviewer?: "claude" | "codex" | undefined;
2154
+ doneMode?: "pr-ready" | "manual-only" | undefined;
2155
+ notifyPriority?: "normal" | "high" | undefined;
2156
+ prMentions?: string[] | undefined;
2157
+ } | undefined;
2158
+ environment?: {
2159
+ dedicated?: {
2160
+ compose: {
2161
+ file: string;
2162
+ services?: string[] | undefined;
2163
+ projectName?: string | undefined;
2164
+ };
2165
+ env?: {
2166
+ copyFrom?: string | undefined;
2167
+ overrides?: Record<string, string> | undefined;
2168
+ overrideFiles?: string[] | undefined;
2169
+ } | undefined;
2170
+ healthcheck?: string | string[] | undefined;
2171
+ teardownOnComplete?: boolean | undefined;
2172
+ } | undefined;
2173
+ shared?: {
2174
+ healthcheck?: string | string[] | undefined;
2175
+ requireRunning?: boolean | undefined;
2176
+ } | undefined;
2177
+ defaultMode?: "dedicated" | "shared" | undefined;
2178
+ bootstrap?: {
2179
+ command: string | string[];
2180
+ when?: "always" | "dedicated" | "shared" | undefined;
2181
+ failureHints?: {
2182
+ message: string;
2183
+ contains: string;
2184
+ output?: "stdout" | "stderr" | "combined" | undefined;
2185
+ }[] | undefined;
2186
+ }[] | undefined;
2187
+ cleanup?: {
2188
+ command: string | string[];
2189
+ when?: "always" | "dedicated" | "shared" | undefined;
2190
+ failureHints?: {
2191
+ message: string;
2192
+ contains: string;
2193
+ output?: "stdout" | "stderr" | "combined" | undefined;
2194
+ }[] | undefined;
2195
+ }[] | undefined;
2196
+ } | undefined;
2197
+ prompts?: {
2198
+ plannerSystem?: string | undefined;
2199
+ coderSystem?: string | undefined;
2200
+ reviewerSystem?: string | undefined;
2201
+ } | undefined;
2202
+ selectors?: {
2203
+ includeLabelsAny?: string[] | undefined;
2204
+ excludeLabelsAny?: string[] | undefined;
2205
+ } | undefined;
2206
+ workflow?: string | undefined;
2207
+ workflowByTriage?: {
2208
+ trivial?: string | undefined;
2209
+ standard?: string | undefined;
2210
+ } | undefined;
2211
+ mergeQueue?: {
2212
+ enabled?: boolean | undefined;
2213
+ batchSize?: number | undefined;
2214
+ mergeMethod?: "merge" | "squash" | "rebase" | undefined;
2215
+ retryFlakyOnce?: boolean | undefined;
2216
+ requireApproval?: boolean | undefined;
2217
+ stagingBranchPrefix?: string | undefined;
2218
+ } | undefined;
2219
+ }>, {
2220
+ planning: {
2221
+ prdDirectory: string;
2222
+ };
2223
+ labels: {
2224
+ error: string;
2225
+ ready: string[];
2226
+ running: string;
2227
+ blocked: string;
2228
+ needsHuman: string;
2229
+ reviewReady: string;
2230
+ retry: string;
2231
+ planning: string;
2232
+ mergeQueued: string;
2233
+ merging: string;
2234
+ mergeFailed: string;
2235
+ };
2236
+ verify: (string | string[])[];
2237
+ agents: Record<string, string>;
2238
+ repo: string;
2239
+ forge: "github" | "forgejo";
2240
+ linkedProjects: string[];
2241
+ maxConcurrentRuns: number;
2242
+ localPath: string;
2243
+ baseBranch: string;
2244
+ branchPrefix: string;
2245
+ labelConfig: Record<string, {
2246
+ color?: string | undefined;
2247
+ description?: string | undefined;
2248
+ }>;
2249
+ defaults: {
2250
+ planner: "claude" | "codex";
2251
+ coder: "claude" | "codex";
2252
+ reviewer: "claude" | "codex";
2253
+ doneMode: "pr-ready" | "manual-only";
2254
+ notifyPriority: "normal" | "high";
2255
+ prMentions: string[];
2256
+ };
2257
+ selectors: {
2258
+ includeLabelsAny: string[];
2259
+ excludeLabelsAny: string[];
2260
+ };
2261
+ mergeQueue: {
2262
+ enabled: boolean;
2263
+ batchSize: number;
2264
+ mergeMethod: "merge" | "squash" | "rebase";
2265
+ retryFlakyOnce: boolean;
2266
+ requireApproval: boolean;
2267
+ stagingBranchPrefix: string;
2268
+ };
2269
+ apiBaseUrl?: string | undefined;
2270
+ tokenEnv?: string | undefined;
2271
+ kanban?: {
2272
+ triggerLabel: string;
2273
+ labels: {
2274
+ error: string;
2275
+ ready: string[];
2276
+ running: string;
2277
+ blocked: string;
2278
+ needsHuman: string;
2279
+ reviewReady: string;
2280
+ retry: string;
2281
+ planning: string;
2282
+ mergeQueued: string;
2283
+ merging: string;
2284
+ mergeFailed: string;
2285
+ };
2286
+ } | undefined;
2287
+ environment?: {
2288
+ defaultMode: "dedicated" | "shared";
2289
+ bootstrap: {
2290
+ command: string | string[];
2291
+ when: "always" | "dedicated" | "shared";
2292
+ failureHints: {
2293
+ message: string;
2294
+ contains: string;
2295
+ output: "stdout" | "stderr" | "combined";
2296
+ }[];
2297
+ }[];
2298
+ cleanup: {
2299
+ command: string | string[];
2300
+ when: "always" | "dedicated" | "shared";
2301
+ failureHints: {
2302
+ message: string;
2303
+ contains: string;
2304
+ output: "stdout" | "stderr" | "combined";
2305
+ }[];
2306
+ }[];
2307
+ dedicated?: {
2308
+ env: {
2309
+ copyFrom: string;
2310
+ overrides: Record<string, string>;
2311
+ overrideFiles: string[];
2312
+ };
2313
+ compose: {
2314
+ file: string;
2315
+ services: string[];
2316
+ projectName: string;
2317
+ };
2318
+ teardownOnComplete: boolean;
2319
+ healthcheck?: string | string[] | undefined;
2320
+ } | undefined;
2321
+ shared?: {
2322
+ requireRunning: boolean;
2323
+ healthcheck?: string | string[] | undefined;
2324
+ } | undefined;
2325
+ } | undefined;
2326
+ prompts?: {
2327
+ plannerSystem?: string | undefined;
2328
+ coderSystem?: string | undefined;
2329
+ reviewerSystem?: string | undefined;
2330
+ } | undefined;
2331
+ workflow?: string | undefined;
2332
+ workflowByTriage?: {
2333
+ trivial?: string | undefined;
2334
+ standard?: string | undefined;
2335
+ } | undefined;
2336
+ }, {
2337
+ repo: string;
2338
+ localPath: string;
2339
+ planning?: {
2340
+ prdDirectory?: string | undefined;
2341
+ } | undefined;
2342
+ labels?: {
2343
+ ready: string | string[];
2344
+ error?: string | undefined;
2345
+ running?: string | undefined;
2346
+ blocked?: string | string[] | undefined;
2347
+ needsHuman?: string | undefined;
2348
+ reviewReady?: string | undefined;
2349
+ retry?: string | undefined;
2350
+ planning?: string | undefined;
2351
+ mergeQueued?: string | undefined;
2352
+ merging?: string | undefined;
2353
+ mergeFailed?: string | undefined;
2354
+ } | undefined;
2355
+ verify?: (string | string[])[] | undefined;
2356
+ agents?: Record<string, string> | undefined;
2357
+ forge?: "github" | "forgejo" | undefined;
2358
+ linkedProjects?: string[] | undefined;
2359
+ apiBaseUrl?: string | undefined;
2360
+ tokenEnv?: string | undefined;
2361
+ maxConcurrentRuns?: number | undefined;
2362
+ baseBranch?: string | undefined;
2363
+ branchPrefix?: string | undefined;
2364
+ kanban?: {
2365
+ triggerLabel: string;
2366
+ labels: {
2367
+ ready: string | string[];
2368
+ error?: string | undefined;
2369
+ running?: string | undefined;
2370
+ blocked?: string | string[] | undefined;
2371
+ needsHuman?: string | undefined;
2372
+ reviewReady?: string | undefined;
2373
+ retry?: string | undefined;
2374
+ planning?: string | undefined;
2375
+ mergeQueued?: string | undefined;
2376
+ merging?: string | undefined;
2377
+ mergeFailed?: string | undefined;
2378
+ };
2379
+ } | undefined;
2380
+ labelConfig?: Record<string, {
2381
+ color?: string | undefined;
2382
+ description?: string | undefined;
2383
+ }> | undefined;
2384
+ defaults?: {
2385
+ planner?: "claude" | "codex" | undefined;
2386
+ coder?: "claude" | "codex" | undefined;
2387
+ reviewer?: "claude" | "codex" | undefined;
2388
+ doneMode?: "pr-ready" | "manual-only" | undefined;
2389
+ notifyPriority?: "normal" | "high" | undefined;
2390
+ prMentions?: string[] | undefined;
2391
+ } | undefined;
2392
+ environment?: {
2393
+ dedicated?: {
2394
+ compose: {
2395
+ file: string;
2396
+ services?: string[] | undefined;
2397
+ projectName?: string | undefined;
2398
+ };
2399
+ env?: {
2400
+ copyFrom?: string | undefined;
2401
+ overrides?: Record<string, string> | undefined;
2402
+ overrideFiles?: string[] | undefined;
2403
+ } | undefined;
2404
+ healthcheck?: string | string[] | undefined;
2405
+ teardownOnComplete?: boolean | undefined;
2406
+ } | undefined;
2407
+ shared?: {
2408
+ healthcheck?: string | string[] | undefined;
2409
+ requireRunning?: boolean | undefined;
2410
+ } | undefined;
2411
+ defaultMode?: "dedicated" | "shared" | undefined;
2412
+ bootstrap?: {
2413
+ command: string | string[];
2414
+ when?: "always" | "dedicated" | "shared" | undefined;
2415
+ failureHints?: {
2416
+ message: string;
2417
+ contains: string;
2418
+ output?: "stdout" | "stderr" | "combined" | undefined;
2419
+ }[] | undefined;
2420
+ }[] | undefined;
2421
+ cleanup?: {
2422
+ command: string | string[];
2423
+ when?: "always" | "dedicated" | "shared" | undefined;
2424
+ failureHints?: {
2425
+ message: string;
2426
+ contains: string;
2427
+ output?: "stdout" | "stderr" | "combined" | undefined;
2428
+ }[] | undefined;
2429
+ }[] | undefined;
2430
+ } | undefined;
2431
+ prompts?: {
2432
+ plannerSystem?: string | undefined;
2433
+ coderSystem?: string | undefined;
2434
+ reviewerSystem?: string | undefined;
2435
+ } | undefined;
2436
+ selectors?: {
2437
+ includeLabelsAny?: string[] | undefined;
2438
+ excludeLabelsAny?: string[] | undefined;
2439
+ } | undefined;
2440
+ workflow?: string | undefined;
2441
+ workflowByTriage?: {
2442
+ trivial?: string | undefined;
2443
+ standard?: string | undefined;
2444
+ } | undefined;
2445
+ mergeQueue?: {
2446
+ enabled?: boolean | undefined;
2447
+ batchSize?: number | undefined;
2448
+ mergeMethod?: "merge" | "squash" | "rebase" | undefined;
2449
+ retryFlakyOnce?: boolean | undefined;
2450
+ requireApproval?: boolean | undefined;
2451
+ stagingBranchPrefix?: string | undefined;
2452
+ } | undefined;
2453
+ }>, "many">;
2454
+ workflows: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
2455
+ steps: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2456
+ type: z.ZodLiteral<"worker">;
2457
+ id: z.ZodString;
2458
+ role: z.ZodString;
2459
+ skipWhen: z.ZodOptional<z.ZodString>;
2460
+ continueFrom: z.ZodOptional<z.ZodString>;
2461
+ prompt: z.ZodOptional<z.ZodString>;
2462
+ }, "strip", z.ZodTypeAny, {
2463
+ type: "worker";
2464
+ id: string;
2465
+ role: string;
2466
+ skipWhen?: string | undefined;
2467
+ continueFrom?: string | undefined;
2468
+ prompt?: string | undefined;
2469
+ }, {
2470
+ type: "worker";
2471
+ id: string;
2472
+ role: string;
2473
+ skipWhen?: string | undefined;
2474
+ continueFrom?: string | undefined;
2475
+ prompt?: string | undefined;
2476
+ }>, z.ZodObject<{
2477
+ type: z.ZodLiteral<"verify">;
2478
+ id: z.ZodString;
2479
+ skipWhen: z.ZodOptional<z.ZodString>;
2480
+ }, "strip", z.ZodTypeAny, {
2481
+ type: "verify";
2482
+ id: string;
2483
+ skipWhen?: string | undefined;
2484
+ }, {
2485
+ type: "verify";
2486
+ id: string;
2487
+ skipWhen?: string | undefined;
2488
+ }>, z.ZodObject<{
2489
+ type: z.ZodLiteral<"decide">;
2490
+ id: z.ZodString;
2491
+ onIterate: z.ZodString;
2492
+ requireReview: z.ZodOptional<z.ZodBoolean>;
2493
+ }, "strip", z.ZodTypeAny, {
2494
+ type: "decide";
2495
+ id: string;
2496
+ onIterate: string;
2497
+ requireReview?: boolean | undefined;
2498
+ }, {
2499
+ type: "decide";
2500
+ id: string;
2501
+ onIterate: string;
2502
+ requireReview?: boolean | undefined;
2503
+ }>]>, "many">;
2504
+ roles: z.ZodOptional<z.ZodObject<{
2505
+ planner: z.ZodOptional<z.ZodEnum<["claude", "codex"]>>;
2506
+ coder: z.ZodOptional<z.ZodEnum<["claude", "codex"]>>;
2507
+ reviewer: z.ZodOptional<z.ZodEnum<["claude", "codex"]>>;
2508
+ }, "strip", z.ZodTypeAny, {
2509
+ planner?: "claude" | "codex" | undefined;
2510
+ coder?: "claude" | "codex" | undefined;
2511
+ reviewer?: "claude" | "codex" | undefined;
2512
+ }, {
2513
+ planner?: "claude" | "codex" | undefined;
2514
+ coder?: "claude" | "codex" | undefined;
2515
+ reviewer?: "claude" | "codex" | undefined;
2516
+ }>>;
2517
+ agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2518
+ }, "strip", z.ZodTypeAny, {
2519
+ steps: ({
2520
+ type: "worker";
2521
+ id: string;
2522
+ role: string;
2523
+ skipWhen?: string | undefined;
2524
+ continueFrom?: string | undefined;
2525
+ prompt?: string | undefined;
2526
+ } | {
2527
+ type: "verify";
2528
+ id: string;
2529
+ skipWhen?: string | undefined;
2530
+ } | {
2531
+ type: "decide";
2532
+ id: string;
2533
+ onIterate: string;
2534
+ requireReview?: boolean | undefined;
2535
+ })[];
2536
+ roles?: {
2537
+ planner?: "claude" | "codex" | undefined;
2538
+ coder?: "claude" | "codex" | undefined;
2539
+ reviewer?: "claude" | "codex" | undefined;
2540
+ } | undefined;
2541
+ agents?: Record<string, string> | undefined;
2542
+ }, {
2543
+ steps: ({
2544
+ type: "worker";
2545
+ id: string;
2546
+ role: string;
2547
+ skipWhen?: string | undefined;
2548
+ continueFrom?: string | undefined;
2549
+ prompt?: string | undefined;
2550
+ } | {
2551
+ type: "verify";
2552
+ id: string;
2553
+ skipWhen?: string | undefined;
2554
+ } | {
2555
+ type: "decide";
2556
+ id: string;
2557
+ onIterate: string;
2558
+ requireReview?: boolean | undefined;
2559
+ })[];
2560
+ roles?: {
2561
+ planner?: "claude" | "codex" | undefined;
2562
+ coder?: "claude" | "codex" | undefined;
2563
+ reviewer?: "claude" | "codex" | undefined;
2564
+ } | undefined;
2565
+ agents?: Record<string, string> | undefined;
2566
+ }>>>;
2567
+ }, "strip", z.ZodTypeAny, {
2568
+ version: 1;
2569
+ github: {
2570
+ apiBaseUrl: string;
2571
+ tokenEnv: string;
2572
+ pollIntervalSeconds: number;
2573
+ appMentions: Record<string, {
2574
+ enabled: boolean;
2575
+ commentTemplate: string;
2576
+ }>;
2577
+ };
2578
+ storage: {
2579
+ dbPath: string;
2580
+ worktreeRoot: string;
2581
+ logsRoot: string;
2582
+ autoCleanup: {
2583
+ enabled: boolean;
2584
+ intervalMinutes: number;
2585
+ };
2586
+ retention: {
2587
+ worktreeAgeDays: number;
2588
+ detailDays: number;
2589
+ archiveDays: number;
2590
+ };
2591
+ };
2592
+ notifications: {
2593
+ channels: ({
2594
+ type: "console";
2595
+ } | {
2596
+ type: "webhook";
2597
+ urlEnv: string;
2598
+ } | {
2599
+ type: "discord";
2600
+ urlEnv: string;
2601
+ } | {
2602
+ type: "smtp";
2603
+ host: string;
2604
+ port: number;
2605
+ from: string;
2606
+ to: string;
2607
+ userEnv: string;
2608
+ passEnv: string;
2609
+ })[];
2610
+ events: {
2611
+ onRunStarted: boolean;
2612
+ onBlocked: boolean;
2613
+ onPrReady: boolean;
2614
+ onPrUpdated: boolean;
2615
+ onError: boolean;
2616
+ onRetryExhausted: boolean;
2617
+ };
2618
+ };
2619
+ loop: {
2620
+ maxReviewIterations: number;
2621
+ maxTotalAgentPasses: number;
2622
+ stopOnPlannerFailure: boolean;
2623
+ requireVerificationPass: boolean;
2624
+ reviewApprovalKeyword: string;
2625
+ reviewNeedsChangesKeyword: string;
2626
+ blockOnAmbiguousReview: boolean;
2627
+ maxAutoRetries: number;
2628
+ decompose: boolean;
2629
+ maxSubtasks: number;
2630
+ maxConcurrentSubtasks: number;
2631
+ };
2632
+ security: {
2633
+ maxChangedFiles: number;
2634
+ maxChangedLines: number;
2635
+ maxDailyCostUsd: number;
2636
+ maxCostPerRunUsd: number;
2637
+ };
2638
+ cost: {
2639
+ model: "pay-per-use" | "subscription";
2640
+ pricing?: {
2641
+ defaultModel: string;
2642
+ models: Record<string, {
2643
+ inputUsdPerMillionTokens: number;
2644
+ outputUsdPerMillionTokens: number;
2645
+ minuteUsd: number;
2646
+ }>;
2647
+ } | undefined;
2648
+ };
2649
+ workerProfiles: Record<string, {
2650
+ env: Record<string, string>;
2651
+ type: string;
2652
+ command: string;
2653
+ args: string[];
2654
+ workerTimeoutSeconds: number;
2655
+ minimalEnv: boolean;
2656
+ runtimeWrapper: string | null;
2657
+ pricingModel?: string | undefined;
2658
+ }>;
2659
+ metrics: {
2660
+ host: string;
2661
+ port: number;
2662
+ enabled: boolean;
2663
+ };
2664
+ observability: {
2665
+ agentStreaming: boolean;
2666
+ eventRetention: number;
2667
+ sessionLogs: boolean;
2668
+ sessionLogRetention: number;
2669
+ };
2670
+ mcp: {
2671
+ transport: "stdio";
2672
+ enabled: boolean;
2673
+ authTokenEnv: string | null;
2674
+ httpPort: number;
2675
+ httpHost: string;
2676
+ };
2677
+ commentCommands: {
2678
+ enabled: boolean;
2679
+ requireCollaborator: boolean;
2680
+ };
2681
+ repos: {
2682
+ planning: {
2683
+ prdDirectory: string;
2684
+ };
2685
+ labels: {
2686
+ error: string;
2687
+ ready: string[];
2688
+ running: string;
2689
+ blocked: string;
2690
+ needsHuman: string;
2691
+ reviewReady: string;
2692
+ retry: string;
2693
+ planning: string;
2694
+ mergeQueued: string;
2695
+ merging: string;
2696
+ mergeFailed: string;
2697
+ };
2698
+ verify: (string | string[])[];
2699
+ agents: Record<string, string>;
2700
+ repo: string;
2701
+ forge: "github" | "forgejo";
2702
+ linkedProjects: string[];
2703
+ maxConcurrentRuns: number;
2704
+ localPath: string;
2705
+ baseBranch: string;
2706
+ branchPrefix: string;
2707
+ labelConfig: Record<string, {
2708
+ color?: string | undefined;
2709
+ description?: string | undefined;
2710
+ }>;
2711
+ defaults: {
2712
+ planner: "claude" | "codex";
2713
+ coder: "claude" | "codex";
2714
+ reviewer: "claude" | "codex";
2715
+ doneMode: "pr-ready" | "manual-only";
2716
+ notifyPriority: "normal" | "high";
2717
+ prMentions: string[];
2718
+ };
2719
+ selectors: {
2720
+ includeLabelsAny: string[];
2721
+ excludeLabelsAny: string[];
2722
+ };
2723
+ mergeQueue: {
2724
+ enabled: boolean;
2725
+ batchSize: number;
2726
+ mergeMethod: "merge" | "squash" | "rebase";
2727
+ retryFlakyOnce: boolean;
2728
+ requireApproval: boolean;
2729
+ stagingBranchPrefix: string;
2730
+ };
2731
+ apiBaseUrl?: string | undefined;
2732
+ tokenEnv?: string | undefined;
2733
+ kanban?: {
2734
+ triggerLabel: string;
2735
+ labels: {
2736
+ error: string;
2737
+ ready: string[];
2738
+ running: string;
2739
+ blocked: string;
2740
+ needsHuman: string;
2741
+ reviewReady: string;
2742
+ retry: string;
2743
+ planning: string;
2744
+ mergeQueued: string;
2745
+ merging: string;
2746
+ mergeFailed: string;
2747
+ };
2748
+ } | undefined;
2749
+ environment?: {
2750
+ defaultMode: "dedicated" | "shared";
2751
+ bootstrap: {
2752
+ command: string | string[];
2753
+ when: "always" | "dedicated" | "shared";
2754
+ failureHints: {
2755
+ message: string;
2756
+ contains: string;
2757
+ output: "stdout" | "stderr" | "combined";
2758
+ }[];
2759
+ }[];
2760
+ cleanup: {
2761
+ command: string | string[];
2762
+ when: "always" | "dedicated" | "shared";
2763
+ failureHints: {
2764
+ message: string;
2765
+ contains: string;
2766
+ output: "stdout" | "stderr" | "combined";
2767
+ }[];
2768
+ }[];
2769
+ dedicated?: {
2770
+ env: {
2771
+ copyFrom: string;
2772
+ overrides: Record<string, string>;
2773
+ overrideFiles: string[];
2774
+ };
2775
+ compose: {
2776
+ file: string;
2777
+ services: string[];
2778
+ projectName: string;
2779
+ };
2780
+ teardownOnComplete: boolean;
2781
+ healthcheck?: string | string[] | undefined;
2782
+ } | undefined;
2783
+ shared?: {
2784
+ requireRunning: boolean;
2785
+ healthcheck?: string | string[] | undefined;
2786
+ } | undefined;
2787
+ } | undefined;
2788
+ prompts?: {
2789
+ plannerSystem?: string | undefined;
2790
+ coderSystem?: string | undefined;
2791
+ reviewerSystem?: string | undefined;
2792
+ } | undefined;
2793
+ workflow?: string | undefined;
2794
+ workflowByTriage?: {
2795
+ trivial?: string | undefined;
2796
+ standard?: string | undefined;
2797
+ } | undefined;
2798
+ }[];
2799
+ workflows: Record<string, {
2800
+ steps: ({
2801
+ type: "worker";
2802
+ id: string;
2803
+ role: string;
2804
+ skipWhen?: string | undefined;
2805
+ continueFrom?: string | undefined;
2806
+ prompt?: string | undefined;
2807
+ } | {
2808
+ type: "verify";
2809
+ id: string;
2810
+ skipWhen?: string | undefined;
2811
+ } | {
2812
+ type: "decide";
2813
+ id: string;
2814
+ onIterate: string;
2815
+ requireReview?: boolean | undefined;
2816
+ })[];
2817
+ roles?: {
2818
+ planner?: "claude" | "codex" | undefined;
2819
+ coder?: "claude" | "codex" | undefined;
2820
+ reviewer?: "claude" | "codex" | undefined;
2821
+ } | undefined;
2822
+ agents?: Record<string, string> | undefined;
2823
+ }>;
2824
+ }, {
2825
+ version: 1;
2826
+ github: {
2827
+ tokenEnv: string;
2828
+ apiBaseUrl?: string | undefined;
2829
+ pollIntervalSeconds?: number | undefined;
2830
+ appMentions?: Record<string, {
2831
+ commentTemplate: string;
2832
+ enabled?: boolean | undefined;
2833
+ }> | undefined;
2834
+ };
2835
+ repos: {
2836
+ repo: string;
2837
+ localPath: string;
2838
+ planning?: {
2839
+ prdDirectory?: string | undefined;
2840
+ } | undefined;
2841
+ labels?: {
2842
+ ready: string | string[];
2843
+ error?: string | undefined;
2844
+ running?: string | undefined;
2845
+ blocked?: string | string[] | undefined;
2846
+ needsHuman?: string | undefined;
2847
+ reviewReady?: string | undefined;
2848
+ retry?: string | undefined;
2849
+ planning?: string | undefined;
2850
+ mergeQueued?: string | undefined;
2851
+ merging?: string | undefined;
2852
+ mergeFailed?: string | undefined;
2853
+ } | undefined;
2854
+ verify?: (string | string[])[] | undefined;
2855
+ agents?: Record<string, string> | undefined;
2856
+ forge?: "github" | "forgejo" | undefined;
2857
+ linkedProjects?: string[] | undefined;
2858
+ apiBaseUrl?: string | undefined;
2859
+ tokenEnv?: string | undefined;
2860
+ maxConcurrentRuns?: number | undefined;
2861
+ baseBranch?: string | undefined;
2862
+ branchPrefix?: string | undefined;
2863
+ kanban?: {
2864
+ triggerLabel: string;
2865
+ labels: {
2866
+ ready: string | string[];
2867
+ error?: string | undefined;
2868
+ running?: string | undefined;
2869
+ blocked?: string | string[] | undefined;
2870
+ needsHuman?: string | undefined;
2871
+ reviewReady?: string | undefined;
2872
+ retry?: string | undefined;
2873
+ planning?: string | undefined;
2874
+ mergeQueued?: string | undefined;
2875
+ merging?: string | undefined;
2876
+ mergeFailed?: string | undefined;
2877
+ };
2878
+ } | undefined;
2879
+ labelConfig?: Record<string, {
2880
+ color?: string | undefined;
2881
+ description?: string | undefined;
2882
+ }> | undefined;
2883
+ defaults?: {
2884
+ planner?: "claude" | "codex" | undefined;
2885
+ coder?: "claude" | "codex" | undefined;
2886
+ reviewer?: "claude" | "codex" | undefined;
2887
+ doneMode?: "pr-ready" | "manual-only" | undefined;
2888
+ notifyPriority?: "normal" | "high" | undefined;
2889
+ prMentions?: string[] | undefined;
2890
+ } | undefined;
2891
+ environment?: {
2892
+ dedicated?: {
2893
+ compose: {
2894
+ file: string;
2895
+ services?: string[] | undefined;
2896
+ projectName?: string | undefined;
2897
+ };
2898
+ env?: {
2899
+ copyFrom?: string | undefined;
2900
+ overrides?: Record<string, string> | undefined;
2901
+ overrideFiles?: string[] | undefined;
2902
+ } | undefined;
2903
+ healthcheck?: string | string[] | undefined;
2904
+ teardownOnComplete?: boolean | undefined;
2905
+ } | undefined;
2906
+ shared?: {
2907
+ healthcheck?: string | string[] | undefined;
2908
+ requireRunning?: boolean | undefined;
2909
+ } | undefined;
2910
+ defaultMode?: "dedicated" | "shared" | undefined;
2911
+ bootstrap?: {
2912
+ command: string | string[];
2913
+ when?: "always" | "dedicated" | "shared" | undefined;
2914
+ failureHints?: {
2915
+ message: string;
2916
+ contains: string;
2917
+ output?: "stdout" | "stderr" | "combined" | undefined;
2918
+ }[] | undefined;
2919
+ }[] | undefined;
2920
+ cleanup?: {
2921
+ command: string | string[];
2922
+ when?: "always" | "dedicated" | "shared" | undefined;
2923
+ failureHints?: {
2924
+ message: string;
2925
+ contains: string;
2926
+ output?: "stdout" | "stderr" | "combined" | undefined;
2927
+ }[] | undefined;
2928
+ }[] | undefined;
2929
+ } | undefined;
2930
+ prompts?: {
2931
+ plannerSystem?: string | undefined;
2932
+ coderSystem?: string | undefined;
2933
+ reviewerSystem?: string | undefined;
2934
+ } | undefined;
2935
+ selectors?: {
2936
+ includeLabelsAny?: string[] | undefined;
2937
+ excludeLabelsAny?: string[] | undefined;
2938
+ } | undefined;
2939
+ workflow?: string | undefined;
2940
+ workflowByTriage?: {
2941
+ trivial?: string | undefined;
2942
+ standard?: string | undefined;
2943
+ } | undefined;
2944
+ mergeQueue?: {
2945
+ enabled?: boolean | undefined;
2946
+ batchSize?: number | undefined;
2947
+ mergeMethod?: "merge" | "squash" | "rebase" | undefined;
2948
+ retryFlakyOnce?: boolean | undefined;
2949
+ requireApproval?: boolean | undefined;
2950
+ stagingBranchPrefix?: string | undefined;
2951
+ } | undefined;
2952
+ }[];
2953
+ storage?: {
2954
+ dbPath?: string | undefined;
2955
+ worktreeRoot?: string | undefined;
2956
+ logsRoot?: string | undefined;
2957
+ autoCleanup?: {
2958
+ enabled?: boolean | undefined;
2959
+ intervalMinutes?: number | undefined;
2960
+ } | undefined;
2961
+ retention?: {
2962
+ worktreeAgeDays?: number | undefined;
2963
+ detailDays?: number | undefined;
2964
+ archiveDays?: number | undefined;
2965
+ } | undefined;
2966
+ } | undefined;
2967
+ notifications?: {
2968
+ channels?: ({
2969
+ type: "console";
2970
+ } | {
2971
+ type: "webhook";
2972
+ urlEnv: string;
2973
+ } | {
2974
+ type: "discord";
2975
+ urlEnv: string;
2976
+ } | {
2977
+ type: "smtp";
2978
+ host: string;
2979
+ from: string;
2980
+ to: string;
2981
+ userEnv: string;
2982
+ passEnv: string;
2983
+ port?: number | undefined;
2984
+ })[] | undefined;
2985
+ events?: {
2986
+ onRunStarted?: boolean | undefined;
2987
+ onBlocked?: boolean | undefined;
2988
+ onPrReady?: boolean | undefined;
2989
+ onPrUpdated?: boolean | undefined;
2990
+ onError?: boolean | undefined;
2991
+ onRetryExhausted?: boolean | undefined;
2992
+ } | undefined;
2993
+ } | undefined;
2994
+ loop?: {
2995
+ maxReviewIterations?: number | undefined;
2996
+ maxTotalAgentPasses?: number | undefined;
2997
+ stopOnPlannerFailure?: boolean | undefined;
2998
+ requireVerificationPass?: boolean | undefined;
2999
+ reviewApprovalKeyword?: string | undefined;
3000
+ reviewNeedsChangesKeyword?: string | undefined;
3001
+ blockOnAmbiguousReview?: boolean | undefined;
3002
+ maxAutoRetries?: number | undefined;
3003
+ decompose?: boolean | undefined;
3004
+ maxSubtasks?: number | undefined;
3005
+ maxConcurrentSubtasks?: number | undefined;
3006
+ } | undefined;
3007
+ security?: {
3008
+ maxChangedFiles?: number | undefined;
3009
+ maxChangedLines?: number | undefined;
3010
+ maxDailyCostUsd?: number | undefined;
3011
+ maxCostPerRunUsd?: number | undefined;
3012
+ } | undefined;
3013
+ cost?: {
3014
+ model?: "pay-per-use" | "subscription" | undefined;
3015
+ pricing?: {
3016
+ defaultModel?: string | undefined;
3017
+ models?: Record<string, {
3018
+ inputUsdPerMillionTokens?: number | undefined;
3019
+ outputUsdPerMillionTokens?: number | undefined;
3020
+ minuteUsd?: number | undefined;
3021
+ }> | undefined;
3022
+ } | undefined;
3023
+ } | undefined;
3024
+ workerProfiles?: Record<string, {
3025
+ type: string;
3026
+ command: string;
3027
+ env?: Record<string, string> | undefined;
3028
+ pricingModel?: string | undefined;
3029
+ args?: string[] | undefined;
3030
+ workerTimeoutSeconds?: number | undefined;
3031
+ minimalEnv?: boolean | undefined;
3032
+ runtimeWrapper?: string | null | undefined;
3033
+ }> | undefined;
3034
+ metrics?: {
3035
+ host?: string | undefined;
3036
+ port?: number | undefined;
3037
+ enabled?: boolean | undefined;
3038
+ } | undefined;
3039
+ observability?: {
3040
+ agentStreaming?: boolean | undefined;
3041
+ eventRetention?: number | undefined;
3042
+ sessionLogs?: boolean | undefined;
3043
+ sessionLogRetention?: number | undefined;
3044
+ } | undefined;
3045
+ mcp?: {
3046
+ transport?: "stdio" | undefined;
3047
+ enabled?: boolean | undefined;
3048
+ authTokenEnv?: string | null | undefined;
3049
+ httpPort?: number | undefined;
3050
+ httpHost?: string | undefined;
3051
+ } | undefined;
3052
+ commentCommands?: {
3053
+ enabled?: boolean | undefined;
3054
+ requireCollaborator?: boolean | undefined;
3055
+ } | undefined;
3056
+ workflows?: Record<string, {
3057
+ steps: ({
3058
+ type: "worker";
3059
+ id: string;
3060
+ role: string;
3061
+ skipWhen?: string | undefined;
3062
+ continueFrom?: string | undefined;
3063
+ prompt?: string | undefined;
3064
+ } | {
3065
+ type: "verify";
3066
+ id: string;
3067
+ skipWhen?: string | undefined;
3068
+ } | {
3069
+ type: "decide";
3070
+ id: string;
3071
+ onIterate: string;
3072
+ requireReview?: boolean | undefined;
3073
+ })[];
3074
+ roles?: {
3075
+ planner?: "claude" | "codex" | undefined;
3076
+ coder?: "claude" | "codex" | undefined;
3077
+ reviewer?: "claude" | "codex" | undefined;
3078
+ } | undefined;
3079
+ agents?: Record<string, string> | undefined;
3080
+ }> | undefined;
3081
+ }>;
3082
+ export type Config = z.infer<typeof ConfigSchema>;
3083
+ export type RepoConfig = z.infer<typeof RepoConfigSchema>;
3084
+ export type WorkerProfile = z.infer<typeof WorkerProfileSchema>;
3085
+ export type EnvironmentConfig = z.infer<typeof EnvironmentConfigSchema>;
3086
+ export type CostModel = z.infer<typeof CostModelSchema>;
3087
+ export {};
3088
+ //# sourceMappingURL=schema.d.ts.map