@chief-clancy/core 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 (635) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/dist/board/azdo/api/api.d.ts +95 -0
  4. package/dist/board/azdo/api/api.d.ts.map +1 -0
  5. package/dist/board/azdo/api/api.js +173 -0
  6. package/dist/board/azdo/api/api.js.map +1 -0
  7. package/dist/board/azdo/api/helpers.d.ts +89 -0
  8. package/dist/board/azdo/api/helpers.d.ts.map +1 -0
  9. package/dist/board/azdo/api/helpers.js +133 -0
  10. package/dist/board/azdo/api/helpers.js.map +1 -0
  11. package/dist/board/azdo/api/index.d.ts +5 -0
  12. package/dist/board/azdo/api/index.d.ts.map +1 -0
  13. package/dist/board/azdo/api/index.js +3 -0
  14. package/dist/board/azdo/api/index.js.map +1 -0
  15. package/dist/board/azdo/azdo-board.d.ts +12 -0
  16. package/dist/board/azdo/azdo-board.d.ts.map +1 -0
  17. package/dist/board/azdo/azdo-board.js +104 -0
  18. package/dist/board/azdo/azdo-board.js.map +1 -0
  19. package/dist/board/azdo/index.d.ts +3 -0
  20. package/dist/board/azdo/index.d.ts.map +1 -0
  21. package/dist/board/azdo/index.js +3 -0
  22. package/dist/board/azdo/index.js.map +1 -0
  23. package/dist/board/azdo/labels/index.d.ts +2 -0
  24. package/dist/board/azdo/labels/index.d.ts.map +1 -0
  25. package/dist/board/azdo/labels/index.js +2 -0
  26. package/dist/board/azdo/labels/index.js.map +1 -0
  27. package/dist/board/azdo/labels/labels.d.ts +27 -0
  28. package/dist/board/azdo/labels/labels.d.ts.map +1 -0
  29. package/dist/board/azdo/labels/labels.js +64 -0
  30. package/dist/board/azdo/labels/labels.js.map +1 -0
  31. package/dist/board/azdo/relations/index.d.ts +2 -0
  32. package/dist/board/azdo/relations/index.d.ts.map +1 -0
  33. package/dist/board/azdo/relations/index.js +2 -0
  34. package/dist/board/azdo/relations/index.js.map +1 -0
  35. package/dist/board/azdo/relations/relations.d.ts +37 -0
  36. package/dist/board/azdo/relations/relations.d.ts.map +1 -0
  37. package/dist/board/azdo/relations/relations.js +109 -0
  38. package/dist/board/azdo/relations/relations.js.map +1 -0
  39. package/dist/board/detect-board.d.ts +28 -0
  40. package/dist/board/detect-board.d.ts.map +1 -0
  41. package/dist/board/detect-board.js +80 -0
  42. package/dist/board/detect-board.js.map +1 -0
  43. package/dist/board/factory/factory.d.ts +18 -0
  44. package/dist/board/factory/factory.d.ts.map +1 -0
  45. package/dist/board/factory/factory.js +34 -0
  46. package/dist/board/factory/factory.js.map +1 -0
  47. package/dist/board/factory/index.d.ts +2 -0
  48. package/dist/board/factory/index.d.ts.map +1 -0
  49. package/dist/board/factory/index.js +2 -0
  50. package/dist/board/factory/index.js.map +1 -0
  51. package/dist/board/github/api/api.d.ts +86 -0
  52. package/dist/board/github/api/api.d.ts.map +1 -0
  53. package/dist/board/github/api/api.js +161 -0
  54. package/dist/board/github/api/api.js.map +1 -0
  55. package/dist/board/github/api/index.d.ts +3 -0
  56. package/dist/board/github/api/index.d.ts.map +1 -0
  57. package/dist/board/github/api/index.js +2 -0
  58. package/dist/board/github/api/index.js.map +1 -0
  59. package/dist/board/github/github-board.d.ts +19 -0
  60. package/dist/board/github/github-board.d.ts.map +1 -0
  61. package/dist/board/github/github-board.js +104 -0
  62. package/dist/board/github/github-board.js.map +1 -0
  63. package/dist/board/github/index.d.ts +3 -0
  64. package/dist/board/github/index.d.ts.map +1 -0
  65. package/dist/board/github/index.js +3 -0
  66. package/dist/board/github/index.js.map +1 -0
  67. package/dist/board/github/labels/index.d.ts +2 -0
  68. package/dist/board/github/labels/index.d.ts.map +1 -0
  69. package/dist/board/github/labels/index.js +2 -0
  70. package/dist/board/github/labels/index.js.map +1 -0
  71. package/dist/board/github/labels/labels.d.ts +42 -0
  72. package/dist/board/github/labels/labels.d.ts.map +1 -0
  73. package/dist/board/github/labels/labels.js +93 -0
  74. package/dist/board/github/labels/labels.js.map +1 -0
  75. package/dist/board/github/relations/index.d.ts +2 -0
  76. package/dist/board/github/relations/index.d.ts.map +1 -0
  77. package/dist/board/github/relations/index.js +2 -0
  78. package/dist/board/github/relations/index.js.map +1 -0
  79. package/dist/board/github/relations/relations.d.ts +54 -0
  80. package/dist/board/github/relations/relations.d.ts.map +1 -0
  81. package/dist/board/github/relations/relations.js +152 -0
  82. package/dist/board/github/relations/relations.js.map +1 -0
  83. package/dist/board/index.d.ts +2 -0
  84. package/dist/board/index.d.ts.map +1 -0
  85. package/dist/board/index.js +2 -0
  86. package/dist/board/index.js.map +1 -0
  87. package/dist/board/jira/api/api.d.ts +129 -0
  88. package/dist/board/jira/api/api.d.ts.map +1 -0
  89. package/dist/board/jira/api/api.js +207 -0
  90. package/dist/board/jira/api/api.js.map +1 -0
  91. package/dist/board/jira/api/index.d.ts +3 -0
  92. package/dist/board/jira/api/index.d.ts.map +1 -0
  93. package/dist/board/jira/api/index.js +2 -0
  94. package/dist/board/jira/api/index.js.map +1 -0
  95. package/dist/board/jira/index.d.ts +3 -0
  96. package/dist/board/jira/index.d.ts.map +1 -0
  97. package/dist/board/jira/index.js +3 -0
  98. package/dist/board/jira/index.js.map +1 -0
  99. package/dist/board/jira/jira-board.d.ts +12 -0
  100. package/dist/board/jira/jira-board.d.ts.map +1 -0
  101. package/dist/board/jira/jira-board.js +112 -0
  102. package/dist/board/jira/jira-board.js.map +1 -0
  103. package/dist/board/jira/labels/index.d.ts +2 -0
  104. package/dist/board/jira/labels/index.d.ts.map +1 -0
  105. package/dist/board/jira/labels/index.js +2 -0
  106. package/dist/board/jira/labels/index.js.map +1 -0
  107. package/dist/board/jira/labels/labels.d.ts +34 -0
  108. package/dist/board/jira/labels/labels.d.ts.map +1 -0
  109. package/dist/board/jira/labels/labels.js +69 -0
  110. package/dist/board/jira/labels/labels.js.map +1 -0
  111. package/dist/board/jira/relations/index.d.ts +2 -0
  112. package/dist/board/jira/relations/index.d.ts.map +1 -0
  113. package/dist/board/jira/relations/index.js +2 -0
  114. package/dist/board/jira/relations/index.js.map +1 -0
  115. package/dist/board/jira/relations/relations.d.ts +44 -0
  116. package/dist/board/jira/relations/relations.d.ts.map +1 -0
  117. package/dist/board/jira/relations/relations.js +111 -0
  118. package/dist/board/jira/relations/relations.js.map +1 -0
  119. package/dist/board/linear/api/api.d.ts +68 -0
  120. package/dist/board/linear/api/api.d.ts.map +1 -0
  121. package/dist/board/linear/api/api.js +179 -0
  122. package/dist/board/linear/api/api.js.map +1 -0
  123. package/dist/board/linear/api/index.d.ts +2 -0
  124. package/dist/board/linear/api/index.d.ts.map +1 -0
  125. package/dist/board/linear/api/index.js +2 -0
  126. package/dist/board/linear/api/index.js.map +1 -0
  127. package/dist/board/linear/index.d.ts +3 -0
  128. package/dist/board/linear/index.d.ts.map +1 -0
  129. package/dist/board/linear/index.js +3 -0
  130. package/dist/board/linear/index.js.map +1 -0
  131. package/dist/board/linear/labels/index.d.ts +2 -0
  132. package/dist/board/linear/labels/index.d.ts.map +1 -0
  133. package/dist/board/linear/labels/index.js +2 -0
  134. package/dist/board/linear/labels/index.js.map +1 -0
  135. package/dist/board/linear/labels/labels.d.ts +63 -0
  136. package/dist/board/linear/labels/labels.d.ts.map +1 -0
  137. package/dist/board/linear/labels/labels.js +204 -0
  138. package/dist/board/linear/labels/labels.js.map +1 -0
  139. package/dist/board/linear/linear-board.d.ts +18 -0
  140. package/dist/board/linear/linear-board.d.ts.map +1 -0
  141. package/dist/board/linear/linear-board.js +115 -0
  142. package/dist/board/linear/linear-board.js.map +1 -0
  143. package/dist/board/linear/relations/index.d.ts +2 -0
  144. package/dist/board/linear/relations/index.d.ts.map +1 -0
  145. package/dist/board/linear/relations/index.js +2 -0
  146. package/dist/board/linear/relations/index.js.map +1 -0
  147. package/dist/board/linear/relations/relations.d.ts +67 -0
  148. package/dist/board/linear/relations/relations.d.ts.map +1 -0
  149. package/dist/board/linear/relations/relations.js +195 -0
  150. package/dist/board/linear/relations/relations.js.map +1 -0
  151. package/dist/board/notion/api/api.d.ts +83 -0
  152. package/dist/board/notion/api/api.d.ts.map +1 -0
  153. package/dist/board/notion/api/api.js +124 -0
  154. package/dist/board/notion/api/api.js.map +1 -0
  155. package/dist/board/notion/api/helpers.d.ts +105 -0
  156. package/dist/board/notion/api/helpers.d.ts.map +1 -0
  157. package/dist/board/notion/api/helpers.js +175 -0
  158. package/dist/board/notion/api/helpers.js.map +1 -0
  159. package/dist/board/notion/api/index.d.ts +4 -0
  160. package/dist/board/notion/api/index.d.ts.map +1 -0
  161. package/dist/board/notion/api/index.js +3 -0
  162. package/dist/board/notion/api/index.js.map +1 -0
  163. package/dist/board/notion/index.d.ts +3 -0
  164. package/dist/board/notion/index.d.ts.map +1 -0
  165. package/dist/board/notion/index.js +3 -0
  166. package/dist/board/notion/index.js.map +1 -0
  167. package/dist/board/notion/labels/index.d.ts +2 -0
  168. package/dist/board/notion/labels/index.d.ts.map +1 -0
  169. package/dist/board/notion/labels/index.js +2 -0
  170. package/dist/board/notion/labels/index.js.map +1 -0
  171. package/dist/board/notion/labels/labels.d.ts +30 -0
  172. package/dist/board/notion/labels/labels.d.ts.map +1 -0
  173. package/dist/board/notion/labels/labels.js +56 -0
  174. package/dist/board/notion/labels/labels.js.map +1 -0
  175. package/dist/board/notion/notion-board.d.ts +12 -0
  176. package/dist/board/notion/notion-board.d.ts.map +1 -0
  177. package/dist/board/notion/notion-board.js +156 -0
  178. package/dist/board/notion/notion-board.js.map +1 -0
  179. package/dist/board/notion/relations/index.d.ts +2 -0
  180. package/dist/board/notion/relations/index.d.ts.map +1 -0
  181. package/dist/board/notion/relations/index.js +2 -0
  182. package/dist/board/notion/relations/index.js.map +1 -0
  183. package/dist/board/notion/relations/relations.d.ts +43 -0
  184. package/dist/board/notion/relations/relations.d.ts.map +1 -0
  185. package/dist/board/notion/relations/relations.js +127 -0
  186. package/dist/board/notion/relations/relations.js.map +1 -0
  187. package/dist/board/shortcut/api/api.d.ts +110 -0
  188. package/dist/board/shortcut/api/api.d.ts.map +1 -0
  189. package/dist/board/shortcut/api/api.js +227 -0
  190. package/dist/board/shortcut/api/api.js.map +1 -0
  191. package/dist/board/shortcut/api/index.d.ts +2 -0
  192. package/dist/board/shortcut/api/index.d.ts.map +1 -0
  193. package/dist/board/shortcut/api/index.js +2 -0
  194. package/dist/board/shortcut/api/index.js.map +1 -0
  195. package/dist/board/shortcut/index.d.ts +3 -0
  196. package/dist/board/shortcut/index.d.ts.map +1 -0
  197. package/dist/board/shortcut/index.js +3 -0
  198. package/dist/board/shortcut/index.js.map +1 -0
  199. package/dist/board/shortcut/labels/index.d.ts +2 -0
  200. package/dist/board/shortcut/labels/index.d.ts.map +1 -0
  201. package/dist/board/shortcut/labels/index.js +2 -0
  202. package/dist/board/shortcut/labels/index.js.map +1 -0
  203. package/dist/board/shortcut/labels/labels.d.ts +95 -0
  204. package/dist/board/shortcut/labels/labels.d.ts.map +1 -0
  205. package/dist/board/shortcut/labels/labels.js +154 -0
  206. package/dist/board/shortcut/labels/labels.js.map +1 -0
  207. package/dist/board/shortcut/relations/index.d.ts +2 -0
  208. package/dist/board/shortcut/relations/index.d.ts.map +1 -0
  209. package/dist/board/shortcut/relations/index.js +2 -0
  210. package/dist/board/shortcut/relations/index.js.map +1 -0
  211. package/dist/board/shortcut/relations/relations.d.ts +44 -0
  212. package/dist/board/shortcut/relations/relations.d.ts.map +1 -0
  213. package/dist/board/shortcut/relations/relations.js +118 -0
  214. package/dist/board/shortcut/relations/relations.js.map +1 -0
  215. package/dist/board/shortcut/shortcut-board.d.ts +18 -0
  216. package/dist/board/shortcut/shortcut-board.d.ts.map +1 -0
  217. package/dist/board/shortcut/shortcut-board.js +143 -0
  218. package/dist/board/shortcut/shortcut-board.js.map +1 -0
  219. package/dist/dev/lifecycle/branch/branch.d.ts +35 -0
  220. package/dist/dev/lifecycle/branch/branch.d.ts.map +1 -0
  221. package/dist/dev/lifecycle/branch/branch.js +48 -0
  222. package/dist/dev/lifecycle/branch/branch.js.map +1 -0
  223. package/dist/dev/lifecycle/branch/index.d.ts +2 -0
  224. package/dist/dev/lifecycle/branch/index.d.ts.map +1 -0
  225. package/dist/dev/lifecycle/branch/index.js +2 -0
  226. package/dist/dev/lifecycle/branch/index.js.map +1 -0
  227. package/dist/dev/lifecycle/commit-type/commit-type.d.ts +22 -0
  228. package/dist/dev/lifecycle/commit-type/commit-type.d.ts.map +1 -0
  229. package/dist/dev/lifecycle/commit-type/commit-type.js +50 -0
  230. package/dist/dev/lifecycle/commit-type/commit-type.js.map +1 -0
  231. package/dist/dev/lifecycle/commit-type/index.d.ts +2 -0
  232. package/dist/dev/lifecycle/commit-type/index.d.ts.map +1 -0
  233. package/dist/dev/lifecycle/commit-type/index.js +2 -0
  234. package/dist/dev/lifecycle/commit-type/index.js.map +1 -0
  235. package/dist/dev/lifecycle/cost/cost.d.ts +28 -0
  236. package/dist/dev/lifecycle/cost/cost.d.ts.map +1 -0
  237. package/dist/dev/lifecycle/cost/cost.js +36 -0
  238. package/dist/dev/lifecycle/cost/cost.js.map +1 -0
  239. package/dist/dev/lifecycle/deliver-epic/deliver-epic.d.ts +44 -0
  240. package/dist/dev/lifecycle/deliver-epic/deliver-epic.d.ts.map +1 -0
  241. package/dist/dev/lifecycle/deliver-epic/deliver-epic.js +75 -0
  242. package/dist/dev/lifecycle/deliver-epic/deliver-epic.js.map +1 -0
  243. package/dist/dev/lifecycle/deliver-ticket/deliver-ticket.d.ts +51 -0
  244. package/dist/dev/lifecycle/deliver-ticket/deliver-ticket.d.ts.map +1 -0
  245. package/dist/dev/lifecycle/deliver-ticket/deliver-ticket.js +132 -0
  246. package/dist/dev/lifecycle/deliver-ticket/deliver-ticket.js.map +1 -0
  247. package/dist/dev/lifecycle/epic/epic.d.ts +66 -0
  248. package/dist/dev/lifecycle/epic/epic.d.ts.map +1 -0
  249. package/dist/dev/lifecycle/epic/epic.js +91 -0
  250. package/dist/dev/lifecycle/epic/epic.js.map +1 -0
  251. package/dist/dev/lifecycle/epic/index.d.ts +2 -0
  252. package/dist/dev/lifecycle/epic/index.d.ts.map +1 -0
  253. package/dist/dev/lifecycle/epic/index.js +2 -0
  254. package/dist/dev/lifecycle/epic/index.js.map +1 -0
  255. package/dist/dev/lifecycle/feasibility/feasibility.d.ts +55 -0
  256. package/dist/dev/lifecycle/feasibility/feasibility.d.ts.map +1 -0
  257. package/dist/dev/lifecycle/feasibility/feasibility.js +75 -0
  258. package/dist/dev/lifecycle/feasibility/feasibility.js.map +1 -0
  259. package/dist/dev/lifecycle/fetch-ticket/fetch-ticket.d.ts +49 -0
  260. package/dist/dev/lifecycle/fetch-ticket/fetch-ticket.d.ts.map +1 -0
  261. package/dist/dev/lifecycle/fetch-ticket/fetch-ticket.js +81 -0
  262. package/dist/dev/lifecycle/fetch-ticket/fetch-ticket.js.map +1 -0
  263. package/dist/dev/lifecycle/format/format.d.ts +11 -0
  264. package/dist/dev/lifecycle/format/format.d.ts.map +1 -0
  265. package/dist/dev/lifecycle/format/format.js +23 -0
  266. package/dist/dev/lifecycle/format/format.js.map +1 -0
  267. package/dist/dev/lifecycle/lock/index.d.ts +3 -0
  268. package/dist/dev/lifecycle/lock/index.d.ts.map +1 -0
  269. package/dist/dev/lifecycle/lock/index.js +2 -0
  270. package/dist/dev/lifecycle/lock/index.js.map +1 -0
  271. package/dist/dev/lifecycle/lock/lock.d.ts +68 -0
  272. package/dist/dev/lifecycle/lock/lock.d.ts.map +1 -0
  273. package/dist/dev/lifecycle/lock/lock.js +125 -0
  274. package/dist/dev/lifecycle/lock/lock.js.map +1 -0
  275. package/dist/dev/lifecycle/outcome/index.d.ts +2 -0
  276. package/dist/dev/lifecycle/outcome/index.d.ts.map +1 -0
  277. package/dist/dev/lifecycle/outcome/index.js +2 -0
  278. package/dist/dev/lifecycle/outcome/index.js.map +1 -0
  279. package/dist/dev/lifecycle/outcome/outcome.d.ts +65 -0
  280. package/dist/dev/lifecycle/outcome/outcome.d.ts.map +1 -0
  281. package/dist/dev/lifecycle/outcome/outcome.js +61 -0
  282. package/dist/dev/lifecycle/outcome/outcome.js.map +1 -0
  283. package/dist/dev/lifecycle/pr-creation/index.d.ts +3 -0
  284. package/dist/dev/lifecycle/pr-creation/index.d.ts.map +1 -0
  285. package/dist/dev/lifecycle/pr-creation/index.js +2 -0
  286. package/dist/dev/lifecycle/pr-creation/index.js.map +1 -0
  287. package/dist/dev/lifecycle/pr-creation/pr-creation.d.ts +47 -0
  288. package/dist/dev/lifecycle/pr-creation/pr-creation.d.ts.map +1 -0
  289. package/dist/dev/lifecycle/pr-creation/pr-creation.js +143 -0
  290. package/dist/dev/lifecycle/pr-creation/pr-creation.js.map +1 -0
  291. package/dist/dev/lifecycle/preflight/preflight.d.ts +42 -0
  292. package/dist/dev/lifecycle/preflight/preflight.d.ts.map +1 -0
  293. package/dist/dev/lifecycle/preflight/preflight.js +101 -0
  294. package/dist/dev/lifecycle/preflight/preflight.js.map +1 -0
  295. package/dist/dev/lifecycle/progress/index.d.ts +3 -0
  296. package/dist/dev/lifecycle/progress/index.d.ts.map +1 -0
  297. package/dist/dev/lifecycle/progress/index.js +2 -0
  298. package/dist/dev/lifecycle/progress/index.js.map +1 -0
  299. package/dist/dev/lifecycle/progress/progress.d.ts +98 -0
  300. package/dist/dev/lifecycle/progress/progress.d.ts.map +1 -0
  301. package/dist/dev/lifecycle/progress/progress.js +212 -0
  302. package/dist/dev/lifecycle/progress/progress.js.map +1 -0
  303. package/dist/dev/lifecycle/pull-request/azdo/azdo.d.ts +86 -0
  304. package/dist/dev/lifecycle/pull-request/azdo/azdo.d.ts.map +1 -0
  305. package/dist/dev/lifecycle/pull-request/azdo/azdo.js +198 -0
  306. package/dist/dev/lifecycle/pull-request/azdo/azdo.js.map +1 -0
  307. package/dist/dev/lifecycle/pull-request/azdo/index.d.ts +2 -0
  308. package/dist/dev/lifecycle/pull-request/azdo/index.d.ts.map +1 -0
  309. package/dist/dev/lifecycle/pull-request/azdo/index.js +2 -0
  310. package/dist/dev/lifecycle/pull-request/azdo/index.js.map +1 -0
  311. package/dist/dev/lifecycle/pull-request/bitbucket/cloud.d.ts +85 -0
  312. package/dist/dev/lifecycle/pull-request/bitbucket/cloud.d.ts.map +1 -0
  313. package/dist/dev/lifecycle/pull-request/bitbucket/cloud.js +158 -0
  314. package/dist/dev/lifecycle/pull-request/bitbucket/cloud.js.map +1 -0
  315. package/dist/dev/lifecycle/pull-request/bitbucket/index.d.ts +3 -0
  316. package/dist/dev/lifecycle/pull-request/bitbucket/index.d.ts.map +1 -0
  317. package/dist/dev/lifecycle/pull-request/bitbucket/index.js +3 -0
  318. package/dist/dev/lifecycle/pull-request/bitbucket/index.js.map +1 -0
  319. package/dist/dev/lifecycle/pull-request/bitbucket/server.d.ts +85 -0
  320. package/dist/dev/lifecycle/pull-request/bitbucket/server.d.ts.map +1 -0
  321. package/dist/dev/lifecycle/pull-request/bitbucket/server.js +168 -0
  322. package/dist/dev/lifecycle/pull-request/bitbucket/server.js.map +1 -0
  323. package/dist/dev/lifecycle/pull-request/github/github.d.ts +107 -0
  324. package/dist/dev/lifecycle/pull-request/github/github.d.ts.map +1 -0
  325. package/dist/dev/lifecycle/pull-request/github/github.js +225 -0
  326. package/dist/dev/lifecycle/pull-request/github/github.js.map +1 -0
  327. package/dist/dev/lifecycle/pull-request/github/index.d.ts +2 -0
  328. package/dist/dev/lifecycle/pull-request/github/index.d.ts.map +1 -0
  329. package/dist/dev/lifecycle/pull-request/github/index.js +2 -0
  330. package/dist/dev/lifecycle/pull-request/github/index.js.map +1 -0
  331. package/dist/dev/lifecycle/pull-request/gitlab/gitlab.d.ts +103 -0
  332. package/dist/dev/lifecycle/pull-request/gitlab/gitlab.d.ts.map +1 -0
  333. package/dist/dev/lifecycle/pull-request/gitlab/gitlab.js +215 -0
  334. package/dist/dev/lifecycle/pull-request/gitlab/gitlab.js.map +1 -0
  335. package/dist/dev/lifecycle/pull-request/gitlab/index.d.ts +2 -0
  336. package/dist/dev/lifecycle/pull-request/gitlab/index.d.ts.map +1 -0
  337. package/dist/dev/lifecycle/pull-request/gitlab/index.js +2 -0
  338. package/dist/dev/lifecycle/pull-request/gitlab/index.js.map +1 -0
  339. package/dist/dev/lifecycle/pull-request/post-pr/post-pr.d.ts +44 -0
  340. package/dist/dev/lifecycle/pull-request/post-pr/post-pr.d.ts.map +1 -0
  341. package/dist/dev/lifecycle/pull-request/post-pr/post-pr.js +64 -0
  342. package/dist/dev/lifecycle/pull-request/post-pr/post-pr.js.map +1 -0
  343. package/dist/dev/lifecycle/pull-request/pr-body/index.d.ts +3 -0
  344. package/dist/dev/lifecycle/pull-request/pr-body/index.d.ts.map +1 -0
  345. package/dist/dev/lifecycle/pull-request/pr-body/index.js +2 -0
  346. package/dist/dev/lifecycle/pull-request/pr-body/index.js.map +1 -0
  347. package/dist/dev/lifecycle/pull-request/pr-body/pr-body.d.ts +65 -0
  348. package/dist/dev/lifecycle/pull-request/pr-body/pr-body.d.ts.map +1 -0
  349. package/dist/dev/lifecycle/pull-request/pr-body/pr-body.js +144 -0
  350. package/dist/dev/lifecycle/pull-request/pr-body/pr-body.js.map +1 -0
  351. package/dist/dev/lifecycle/pull-request/rework-comment/rework-comment.d.ts +30 -0
  352. package/dist/dev/lifecycle/pull-request/rework-comment/rework-comment.d.ts.map +1 -0
  353. package/dist/dev/lifecycle/pull-request/rework-comment/rework-comment.js +39 -0
  354. package/dist/dev/lifecycle/pull-request/rework-comment/rework-comment.js.map +1 -0
  355. package/dist/dev/lifecycle/quality/quality.d.ts +99 -0
  356. package/dist/dev/lifecycle/quality/quality.d.ts.map +1 -0
  357. package/dist/dev/lifecycle/quality/quality.js +213 -0
  358. package/dist/dev/lifecycle/quality/quality.js.map +1 -0
  359. package/dist/dev/lifecycle/resume/resume.d.ts +64 -0
  360. package/dist/dev/lifecycle/resume/resume.d.ts.map +1 -0
  361. package/dist/dev/lifecycle/resume/resume.js +171 -0
  362. package/dist/dev/lifecycle/resume/resume.js.map +1 -0
  363. package/dist/dev/lifecycle/rework/rework-builders.d.ts +20 -0
  364. package/dist/dev/lifecycle/rework/rework-builders.d.ts.map +1 -0
  365. package/dist/dev/lifecycle/rework/rework-builders.js +203 -0
  366. package/dist/dev/lifecycle/rework/rework-builders.js.map +1 -0
  367. package/dist/dev/lifecycle/rework/rework-handlers.d.ts +50 -0
  368. package/dist/dev/lifecycle/rework/rework-handlers.d.ts.map +1 -0
  369. package/dist/dev/lifecycle/rework/rework-handlers.js +41 -0
  370. package/dist/dev/lifecycle/rework/rework-handlers.js.map +1 -0
  371. package/dist/dev/lifecycle/rework/rework.d.ts +63 -0
  372. package/dist/dev/lifecycle/rework/rework.d.ts.map +1 -0
  373. package/dist/dev/lifecycle/rework/rework.js +141 -0
  374. package/dist/dev/lifecycle/rework/rework.js.map +1 -0
  375. package/dist/dev/pipeline/context.d.ts +105 -0
  376. package/dist/dev/pipeline/context.d.ts.map +1 -0
  377. package/dist/dev/pipeline/context.js +107 -0
  378. package/dist/dev/pipeline/context.js.map +1 -0
  379. package/dist/dev/pipeline/index.d.ts +6 -0
  380. package/dist/dev/pipeline/index.d.ts.map +1 -0
  381. package/dist/dev/pipeline/index.js +5 -0
  382. package/dist/dev/pipeline/index.js.map +1 -0
  383. package/dist/dev/pipeline/phases/branch-setup/branch-setup.d.ts +62 -0
  384. package/dist/dev/pipeline/phases/branch-setup/branch-setup.d.ts.map +1 -0
  385. package/dist/dev/pipeline/phases/branch-setup/branch-setup.js +128 -0
  386. package/dist/dev/pipeline/phases/branch-setup/branch-setup.js.map +1 -0
  387. package/dist/dev/pipeline/phases/branch-setup/index.d.ts +3 -0
  388. package/dist/dev/pipeline/phases/branch-setup/index.d.ts.map +1 -0
  389. package/dist/dev/pipeline/phases/branch-setup/index.js +2 -0
  390. package/dist/dev/pipeline/phases/branch-setup/index.js.map +1 -0
  391. package/dist/dev/pipeline/phases/cleanup-phase/cleanup-phase.d.ts +32 -0
  392. package/dist/dev/pipeline/phases/cleanup-phase/cleanup-phase.d.ts.map +1 -0
  393. package/dist/dev/pipeline/phases/cleanup-phase/cleanup-phase.js +32 -0
  394. package/dist/dev/pipeline/phases/cleanup-phase/cleanup-phase.js.map +1 -0
  395. package/dist/dev/pipeline/phases/cleanup-phase/index.d.ts +3 -0
  396. package/dist/dev/pipeline/phases/cleanup-phase/index.d.ts.map +1 -0
  397. package/dist/dev/pipeline/phases/cleanup-phase/index.js +2 -0
  398. package/dist/dev/pipeline/phases/cleanup-phase/index.js.map +1 -0
  399. package/dist/dev/pipeline/phases/cost-phase/cost-phase.d.ts +40 -0
  400. package/dist/dev/pipeline/phases/cost-phase/cost-phase.d.ts.map +1 -0
  401. package/dist/dev/pipeline/phases/cost-phase/cost-phase.js +43 -0
  402. package/dist/dev/pipeline/phases/cost-phase/cost-phase.js.map +1 -0
  403. package/dist/dev/pipeline/phases/cost-phase/index.d.ts +3 -0
  404. package/dist/dev/pipeline/phases/cost-phase/index.d.ts.map +1 -0
  405. package/dist/dev/pipeline/phases/cost-phase/index.js +2 -0
  406. package/dist/dev/pipeline/phases/cost-phase/index.js.map +1 -0
  407. package/dist/dev/pipeline/phases/deliver-phase/deliver-phase.d.ts +68 -0
  408. package/dist/dev/pipeline/phases/deliver-phase/deliver-phase.d.ts.map +1 -0
  409. package/dist/dev/pipeline/phases/deliver-phase/deliver-phase.js +125 -0
  410. package/dist/dev/pipeline/phases/deliver-phase/deliver-phase.js.map +1 -0
  411. package/dist/dev/pipeline/phases/deliver-phase/index.d.ts +3 -0
  412. package/dist/dev/pipeline/phases/deliver-phase/index.d.ts.map +1 -0
  413. package/dist/dev/pipeline/phases/deliver-phase/index.js +2 -0
  414. package/dist/dev/pipeline/phases/deliver-phase/index.js.map +1 -0
  415. package/dist/dev/pipeline/phases/dry-run/dry-run.d.ts +38 -0
  416. package/dist/dev/pipeline/phases/dry-run/dry-run.d.ts.map +1 -0
  417. package/dist/dev/pipeline/phases/dry-run/dry-run.js +33 -0
  418. package/dist/dev/pipeline/phases/dry-run/dry-run.js.map +1 -0
  419. package/dist/dev/pipeline/phases/dry-run/index.d.ts +2 -0
  420. package/dist/dev/pipeline/phases/dry-run/index.d.ts.map +1 -0
  421. package/dist/dev/pipeline/phases/dry-run/index.js +2 -0
  422. package/dist/dev/pipeline/phases/dry-run/index.js.map +1 -0
  423. package/dist/dev/pipeline/phases/epic-completion/epic-completion.d.ts +48 -0
  424. package/dist/dev/pipeline/phases/epic-completion/epic-completion.d.ts.map +1 -0
  425. package/dist/dev/pipeline/phases/epic-completion/epic-completion.js +42 -0
  426. package/dist/dev/pipeline/phases/epic-completion/epic-completion.js.map +1 -0
  427. package/dist/dev/pipeline/phases/epic-completion/index.d.ts +3 -0
  428. package/dist/dev/pipeline/phases/epic-completion/index.d.ts.map +1 -0
  429. package/dist/dev/pipeline/phases/epic-completion/index.js +2 -0
  430. package/dist/dev/pipeline/phases/epic-completion/index.js.map +1 -0
  431. package/dist/dev/pipeline/phases/feasibility/feasibility.d.ts +52 -0
  432. package/dist/dev/pipeline/phases/feasibility/feasibility.d.ts.map +1 -0
  433. package/dist/dev/pipeline/phases/feasibility/feasibility.js +34 -0
  434. package/dist/dev/pipeline/phases/feasibility/feasibility.js.map +1 -0
  435. package/dist/dev/pipeline/phases/feasibility/index.d.ts +3 -0
  436. package/dist/dev/pipeline/phases/feasibility/index.d.ts.map +1 -0
  437. package/dist/dev/pipeline/phases/feasibility/index.js +2 -0
  438. package/dist/dev/pipeline/phases/feasibility/index.js.map +1 -0
  439. package/dist/dev/pipeline/phases/index.d.ts +26 -0
  440. package/dist/dev/pipeline/phases/index.d.ts.map +1 -0
  441. package/dist/dev/pipeline/phases/index.js +14 -0
  442. package/dist/dev/pipeline/phases/index.js.map +1 -0
  443. package/dist/dev/pipeline/phases/lock-check/index.d.ts +3 -0
  444. package/dist/dev/pipeline/phases/lock-check/index.d.ts.map +1 -0
  445. package/dist/dev/pipeline/phases/lock-check/index.js +2 -0
  446. package/dist/dev/pipeline/phases/lock-check/index.js.map +1 -0
  447. package/dist/dev/pipeline/phases/lock-check/lock-check.d.ts +55 -0
  448. package/dist/dev/pipeline/phases/lock-check/lock-check.d.ts.map +1 -0
  449. package/dist/dev/pipeline/phases/lock-check/lock-check.js +60 -0
  450. package/dist/dev/pipeline/phases/lock-check/lock-check.js.map +1 -0
  451. package/dist/dev/pipeline/phases/pr-retry/index.d.ts +3 -0
  452. package/dist/dev/pipeline/phases/pr-retry/index.d.ts.map +1 -0
  453. package/dist/dev/pipeline/phases/pr-retry/index.js +2 -0
  454. package/dist/dev/pipeline/phases/pr-retry/index.js.map +1 -0
  455. package/dist/dev/pipeline/phases/pr-retry/pr-retry.d.ts +58 -0
  456. package/dist/dev/pipeline/phases/pr-retry/pr-retry.d.ts.map +1 -0
  457. package/dist/dev/pipeline/phases/pr-retry/pr-retry.js +82 -0
  458. package/dist/dev/pipeline/phases/pr-retry/pr-retry.js.map +1 -0
  459. package/dist/dev/pipeline/phases/preflight-phase/index.d.ts +3 -0
  460. package/dist/dev/pipeline/phases/preflight-phase/index.d.ts.map +1 -0
  461. package/dist/dev/pipeline/phases/preflight-phase/index.js +2 -0
  462. package/dist/dev/pipeline/phases/preflight-phase/index.js.map +1 -0
  463. package/dist/dev/pipeline/phases/preflight-phase/preflight-phase.d.ts +42 -0
  464. package/dist/dev/pipeline/phases/preflight-phase/preflight-phase.d.ts.map +1 -0
  465. package/dist/dev/pipeline/phases/preflight-phase/preflight-phase.js +41 -0
  466. package/dist/dev/pipeline/phases/preflight-phase/preflight-phase.js.map +1 -0
  467. package/dist/dev/pipeline/phases/rework-detection/index.d.ts +3 -0
  468. package/dist/dev/pipeline/phases/rework-detection/index.d.ts.map +1 -0
  469. package/dist/dev/pipeline/phases/rework-detection/index.js +2 -0
  470. package/dist/dev/pipeline/phases/rework-detection/index.js.map +1 -0
  471. package/dist/dev/pipeline/phases/rework-detection/rework-detection.d.ts +40 -0
  472. package/dist/dev/pipeline/phases/rework-detection/rework-detection.d.ts.map +1 -0
  473. package/dist/dev/pipeline/phases/rework-detection/rework-detection.js +38 -0
  474. package/dist/dev/pipeline/phases/rework-detection/rework-detection.js.map +1 -0
  475. package/dist/dev/pipeline/phases/ticket-fetch/index.d.ts +3 -0
  476. package/dist/dev/pipeline/phases/ticket-fetch/index.d.ts.map +1 -0
  477. package/dist/dev/pipeline/phases/ticket-fetch/index.js +2 -0
  478. package/dist/dev/pipeline/phases/ticket-fetch/index.js.map +1 -0
  479. package/dist/dev/pipeline/phases/ticket-fetch/ticket-fetch.d.ts +46 -0
  480. package/dist/dev/pipeline/phases/ticket-fetch/ticket-fetch.d.ts.map +1 -0
  481. package/dist/dev/pipeline/phases/ticket-fetch/ticket-fetch.js +64 -0
  482. package/dist/dev/pipeline/phases/ticket-fetch/ticket-fetch.js.map +1 -0
  483. package/dist/dev/pipeline/phases/transition/index.d.ts +3 -0
  484. package/dist/dev/pipeline/phases/transition/index.d.ts.map +1 -0
  485. package/dist/dev/pipeline/phases/transition/index.js +2 -0
  486. package/dist/dev/pipeline/phases/transition/index.js.map +1 -0
  487. package/dist/dev/pipeline/phases/transition/transition.d.ts +30 -0
  488. package/dist/dev/pipeline/phases/transition/transition.d.ts.map +1 -0
  489. package/dist/dev/pipeline/phases/transition/transition.js +27 -0
  490. package/dist/dev/pipeline/phases/transition/transition.js.map +1 -0
  491. package/dist/dev/pipeline/run-pipeline.d.ts +98 -0
  492. package/dist/dev/pipeline/run-pipeline.d.ts.map +1 -0
  493. package/dist/dev/pipeline/run-pipeline.js +106 -0
  494. package/dist/dev/pipeline/run-pipeline.js.map +1 -0
  495. package/dist/index.d.ts +58 -0
  496. package/dist/index.d.ts.map +1 -0
  497. package/dist/index.js +58 -0
  498. package/dist/index.js.map +1 -0
  499. package/dist/schemas/azdo/azdo-pr.d.ts +58 -0
  500. package/dist/schemas/azdo/azdo-pr.d.ts.map +1 -0
  501. package/dist/schemas/azdo/azdo-pr.js +48 -0
  502. package/dist/schemas/azdo/azdo-pr.js.map +1 -0
  503. package/dist/schemas/azdo/azdo.d.ts +88 -0
  504. package/dist/schemas/azdo/azdo.d.ts.map +1 -0
  505. package/dist/schemas/azdo/azdo.js +60 -0
  506. package/dist/schemas/azdo/azdo.js.map +1 -0
  507. package/dist/schemas/bitbucket/bitbucket.d.ts +112 -0
  508. package/dist/schemas/bitbucket/bitbucket.d.ts.map +1 -0
  509. package/dist/schemas/bitbucket/bitbucket.js +73 -0
  510. package/dist/schemas/bitbucket/bitbucket.js.map +1 -0
  511. package/dist/schemas/env/env.d.ts +336 -0
  512. package/dist/schemas/env/env.d.ts.map +1 -0
  513. package/dist/schemas/env/env.js +94 -0
  514. package/dist/schemas/env/env.js.map +1 -0
  515. package/dist/schemas/github/github.d.ts +128 -0
  516. package/dist/schemas/github/github.d.ts.map +1 -0
  517. package/dist/schemas/github/github.js +65 -0
  518. package/dist/schemas/github/github.js.map +1 -0
  519. package/dist/schemas/gitlab/gitlab.d.ts +72 -0
  520. package/dist/schemas/gitlab/gitlab.d.ts.map +1 -0
  521. package/dist/schemas/gitlab/gitlab.js +38 -0
  522. package/dist/schemas/gitlab/gitlab.js.map +1 -0
  523. package/dist/schemas/index.d.ts +15 -0
  524. package/dist/schemas/index.d.ts.map +1 -0
  525. package/dist/schemas/index.js +8 -0
  526. package/dist/schemas/index.js.map +1 -0
  527. package/dist/schemas/jira/jira.d.ts +79 -0
  528. package/dist/schemas/jira/jira.d.ts.map +1 -0
  529. package/dist/schemas/jira/jira.js +69 -0
  530. package/dist/schemas/jira/jira.js.map +1 -0
  531. package/dist/schemas/linear/linear.d.ts +178 -0
  532. package/dist/schemas/linear/linear.d.ts.map +1 -0
  533. package/dist/schemas/linear/linear.js +136 -0
  534. package/dist/schemas/linear/linear.js.map +1 -0
  535. package/dist/schemas/notion/notion.d.ts +131 -0
  536. package/dist/schemas/notion/notion.d.ts.map +1 -0
  537. package/dist/schemas/notion/notion.js +102 -0
  538. package/dist/schemas/notion/notion.js.map +1 -0
  539. package/dist/schemas/shortcut/shortcut.d.ts +149 -0
  540. package/dist/schemas/shortcut/shortcut.d.ts.map +1 -0
  541. package/dist/schemas/shortcut/shortcut.js +68 -0
  542. package/dist/schemas/shortcut/shortcut.js.map +1 -0
  543. package/dist/shared/cache/cache.d.ts +14 -0
  544. package/dist/shared/cache/cache.d.ts.map +1 -0
  545. package/dist/shared/cache/cache.js +25 -0
  546. package/dist/shared/cache/cache.js.map +1 -0
  547. package/dist/shared/cache/index.d.ts +2 -0
  548. package/dist/shared/cache/index.d.ts.map +1 -0
  549. package/dist/shared/cache/index.js +2 -0
  550. package/dist/shared/cache/index.js.map +1 -0
  551. package/dist/shared/env-parser/env-parser.d.ts +42 -0
  552. package/dist/shared/env-parser/env-parser.d.ts.map +1 -0
  553. package/dist/shared/env-parser/env-parser.js +97 -0
  554. package/dist/shared/env-parser/env-parser.js.map +1 -0
  555. package/dist/shared/env-parser/index.d.ts +3 -0
  556. package/dist/shared/env-parser/index.d.ts.map +1 -0
  557. package/dist/shared/env-parser/index.js +2 -0
  558. package/dist/shared/env-parser/index.js.map +1 -0
  559. package/dist/shared/git-ops/git-ops.d.ts +127 -0
  560. package/dist/shared/git-ops/git-ops.d.ts.map +1 -0
  561. package/dist/shared/git-ops/git-ops.js +225 -0
  562. package/dist/shared/git-ops/git-ops.js.map +1 -0
  563. package/dist/shared/git-ops/index.d.ts +3 -0
  564. package/dist/shared/git-ops/index.d.ts.map +1 -0
  565. package/dist/shared/git-ops/index.js +2 -0
  566. package/dist/shared/git-ops/index.js.map +1 -0
  567. package/dist/shared/git-token/git-token.d.ts +18 -0
  568. package/dist/shared/git-token/git-token.d.ts.map +1 -0
  569. package/dist/shared/git-token/git-token.js +28 -0
  570. package/dist/shared/git-token/git-token.js.map +1 -0
  571. package/dist/shared/git-token/index.d.ts +2 -0
  572. package/dist/shared/git-token/index.d.ts.map +1 -0
  573. package/dist/shared/git-token/index.js +2 -0
  574. package/dist/shared/git-token/index.js.map +1 -0
  575. package/dist/shared/http/fetch-and-parse/fetch-and-parse.d.ts +32 -0
  576. package/dist/shared/http/fetch-and-parse/fetch-and-parse.d.ts.map +1 -0
  577. package/dist/shared/http/fetch-and-parse/fetch-and-parse.js +53 -0
  578. package/dist/shared/http/fetch-and-parse/fetch-and-parse.js.map +1 -0
  579. package/dist/shared/http/fetch-and-parse/index.d.ts +3 -0
  580. package/dist/shared/http/fetch-and-parse/index.d.ts.map +1 -0
  581. package/dist/shared/http/fetch-and-parse/index.js +2 -0
  582. package/dist/shared/http/fetch-and-parse/index.js.map +1 -0
  583. package/dist/shared/http/index.d.ts +7 -0
  584. package/dist/shared/http/index.d.ts.map +1 -0
  585. package/dist/shared/http/index.js +4 -0
  586. package/dist/shared/http/index.js.map +1 -0
  587. package/dist/shared/http/ping-endpoint/index.d.ts +3 -0
  588. package/dist/shared/http/ping-endpoint/index.d.ts.map +1 -0
  589. package/dist/shared/http/ping-endpoint/index.js +2 -0
  590. package/dist/shared/http/ping-endpoint/index.js.map +1 -0
  591. package/dist/shared/http/ping-endpoint/ping-endpoint.d.ts +29 -0
  592. package/dist/shared/http/ping-endpoint/ping-endpoint.d.ts.map +1 -0
  593. package/dist/shared/http/ping-endpoint/ping-endpoint.js +31 -0
  594. package/dist/shared/http/ping-endpoint/ping-endpoint.js.map +1 -0
  595. package/dist/shared/http/retry-fetch/index.d.ts +3 -0
  596. package/dist/shared/http/retry-fetch/index.d.ts.map +1 -0
  597. package/dist/shared/http/retry-fetch/index.js +2 -0
  598. package/dist/shared/http/retry-fetch/index.js.map +1 -0
  599. package/dist/shared/http/retry-fetch/retry-fetch.d.ts +33 -0
  600. package/dist/shared/http/retry-fetch/retry-fetch.d.ts.map +1 -0
  601. package/dist/shared/http/retry-fetch/retry-fetch.js +94 -0
  602. package/dist/shared/http/retry-fetch/retry-fetch.js.map +1 -0
  603. package/dist/shared/label-helpers/index.d.ts +3 -0
  604. package/dist/shared/label-helpers/index.d.ts.map +1 -0
  605. package/dist/shared/label-helpers/index.js +2 -0
  606. package/dist/shared/label-helpers/index.js.map +1 -0
  607. package/dist/shared/label-helpers/label-helpers.d.ts +41 -0
  608. package/dist/shared/label-helpers/label-helpers.d.ts.map +1 -0
  609. package/dist/shared/label-helpers/label-helpers.js +51 -0
  610. package/dist/shared/label-helpers/label-helpers.js.map +1 -0
  611. package/dist/shared/remote/index.d.ts +2 -0
  612. package/dist/shared/remote/index.d.ts.map +1 -0
  613. package/dist/shared/remote/index.js +2 -0
  614. package/dist/shared/remote/index.js.map +1 -0
  615. package/dist/shared/remote/remote.d.ts +39 -0
  616. package/dist/shared/remote/remote.d.ts.map +1 -0
  617. package/dist/shared/remote/remote.js +180 -0
  618. package/dist/shared/remote/remote.js.map +1 -0
  619. package/dist/types/board.d.ts +62 -0
  620. package/dist/types/board.d.ts.map +1 -0
  621. package/dist/types/board.js +5 -0
  622. package/dist/types/board.js.map +1 -0
  623. package/dist/types/index.d.ts +5 -0
  624. package/dist/types/index.d.ts.map +1 -0
  625. package/dist/types/index.js +2 -0
  626. package/dist/types/index.js.map +1 -0
  627. package/dist/types/progress.d.ts +21 -0
  628. package/dist/types/progress.d.ts.map +1 -0
  629. package/dist/types/progress.js +34 -0
  630. package/dist/types/progress.js.map +1 -0
  631. package/dist/types/remote.d.ts +77 -0
  632. package/dist/types/remote.d.ts.map +1 -0
  633. package/dist/types/remote.js +5 -0
  634. package/dist/types/remote.js.map +1 -0
  635. package/package.json +44 -0
@@ -0,0 +1,60 @@
1
+ import { deleteLock, deleteVerifyAttempt, isLockStale, readLock, } from '../../../../dev/lifecycle/lock/lock.js';
2
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
3
+ /** Try resume detection and execution for a stale lock. Best-effort. */
4
+ async function attemptResume(ctx, lock, deps) {
5
+ const resumeOpts = {
6
+ exec: deps.exec,
7
+ progressFs: deps.progressFs,
8
+ projectRoot: ctx.projectRoot,
9
+ lock,
10
+ };
11
+ const info = deps.detectResume(resumeOpts);
12
+ if (!info)
13
+ return { action: 'continue' };
14
+ if (info.alreadyDelivered) {
15
+ return {
16
+ action: 'continue',
17
+ reason: `${lock.ticketKey} already delivered — skipping`,
18
+ };
19
+ }
20
+ if (!ctx.isAfk) {
21
+ return {
22
+ action: 'continue',
23
+ reason: `Found in-progress work on ${info.branch}`,
24
+ };
25
+ }
26
+ const result = await deps.executeResume({ ...resumeOpts, resumeInfo: info });
27
+ return result.ok
28
+ ? { action: 'resumed', reason: `Resumed ${lock.ticketKey}` }
29
+ : { action: 'continue' };
30
+ }
31
+ // ─── Phase ───────────────────────────────────────────────────────────────────
32
+ /**
33
+ * Check for an existing lock file and handle stale/active sessions.
34
+ *
35
+ * @param ctx - Pipeline context.
36
+ * @param deps - Injected dependencies.
37
+ * @returns Structured result indicating whether to continue, abort, or mark as resumed.
38
+ */
39
+ export async function lockCheck(ctx, deps) {
40
+ const lock = readLock(deps.lockFs, ctx.projectRoot);
41
+ if (!lock)
42
+ return { action: 'continue' };
43
+ if (!isLockStale(lock)) {
44
+ return {
45
+ action: 'abort',
46
+ reason: `Another Clancy session is running (PID ${lock.pid}, ticket ${lock.ticketKey})`,
47
+ };
48
+ }
49
+ // Stale lock — clean up
50
+ deleteLock(deps.lockFs, ctx.projectRoot);
51
+ deleteVerifyAttempt(deps.lockFs, ctx.projectRoot);
52
+ // Best-effort resume
53
+ try {
54
+ return await attemptResume(ctx, lock, deps);
55
+ }
56
+ catch {
57
+ return { action: 'continue' };
58
+ }
59
+ }
60
+ //# sourceMappingURL=lock-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-check.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/lock-check/lock-check.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,QAAQ,GACT,MAAM,gCAAgC,CAAC;AA4CxC,gFAAgF;AAEhF,wEAAwE;AACxE,KAAK,UAAU,aAAa,CAC1B,GAAe,EACf,IAAc,EACd,IAAmB;IAEnB,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,IAAI;KACL,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAEzC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,+BAA+B;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,6BAA6B,IAAI,CAAC,MAAM,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7E,OAAO,MAAM,CAAC,EAAE;QACd,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,IAAI,CAAC,SAAS,EAAE,EAAE;QAC5D,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAe,EACf,IAAmB;IAEnB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAEpD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAEzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,0CAA0C,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,SAAS,GAAG;SACxF,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAElD,qBAAqB;IACrB,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { PrRetryDeps } from './pr-retry.js';
2
+ export { prRetry } from './pr-retry.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/pr-retry/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { prRetry } from './pr-retry.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/pr-retry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * PR retry — retry PR creation for tickets that were pushed
3
+ * but failed to create a PR.
4
+ *
5
+ * Handles network hiccups during PR creation. The branch is already
6
+ * on the remote — we just need to create the PR/MR.
7
+ *
8
+ * Best-effort: never blocks the pipeline. Returns structured results
9
+ * — no console output.
10
+ */
11
+ import type { RunContext } from '../../context.js';
12
+ import type { ProgressEntry } from '../../../../dev/lifecycle/progress/index.js';
13
+ import type { ProgressStatus } from '../../../../types/progress.js';
14
+ import type { PrCreationResult, RemoteInfo } from '../../../../types/remote.js';
15
+ /** Status of a single retry attempt. */
16
+ type RetryStatus = 'created' | 'exists' | 'failed' | 'skipped' | 'unsupported';
17
+ /** Result of a single retry attempt. */
18
+ type RetryResultEntry = {
19
+ readonly key: string;
20
+ readonly status: RetryStatus;
21
+ readonly prNumber?: number;
22
+ };
23
+ /** Structured result of the pr-retry phase. */
24
+ type PrRetryResult = {
25
+ readonly results: readonly RetryResultEntry[];
26
+ };
27
+ /** Progress append function (pre-wired with fs + projectRoot by terminal). */
28
+ type AppendFn = (opts: {
29
+ readonly key: string;
30
+ readonly summary: string;
31
+ readonly status: ProgressStatus;
32
+ readonly prNumber?: number;
33
+ readonly parent?: string;
34
+ }) => void;
35
+ /** Injected dependencies for pr-retry. */
36
+ export type PrRetryDeps = {
37
+ /** Find PUSHED entries that lack a PR_CREATED. */
38
+ readonly findRetryable: (ctx: RunContext) => readonly ProgressEntry[];
39
+ /** Detect the git remote. Pre-wired with exec. */
40
+ readonly detectRemote: (ctx: RunContext) => RemoteInfo;
41
+ /** Attempt PR creation for one entry. Pre-wired with exec/fetchFn/config. */
42
+ readonly retryEntry: (entry: ProgressEntry, remote: RemoteInfo, ctx: RunContext) => Promise<PrCreationResult | undefined>;
43
+ /** Append a progress entry. Pre-wired with progressFs + projectRoot. */
44
+ readonly appendProgress: AppendFn;
45
+ };
46
+ /**
47
+ * Retry PR creation for pushed tickets that lack a PR.
48
+ *
49
+ * Best-effort — errors are caught and an empty result is returned.
50
+ * Never blocks the pipeline.
51
+ *
52
+ * @param ctx - Pipeline context (requires config from preflight).
53
+ * @param deps - Injected dependencies.
54
+ * @returns Structured result with per-entry retry outcomes.
55
+ */
56
+ export declare function prRetry(ctx: RunContext, deps: PrRetryDeps): Promise<PrRetryResult>;
57
+ export {};
58
+ //# sourceMappingURL=pr-retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-retry.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/pr-retry/pr-retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIxE,wCAAwC;AACxC,KAAK,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;AAE/E,wCAAwC;AACxC,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,+CAA+C;AAC/C,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC/C,CAAC;AAEF,8EAA8E;AAC9E,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,KAAK,IAAI,CAAC;AAEX,0CAA0C;AAC1C,MAAM,MAAM,WAAW,GAAG;IACxB,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,SAAS,aAAa,EAAE,CAAC;IACtE,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,UAAU,CAAC;IACvD,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,UAAU,KACZ,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC;CACnC,CAAC;AAIF;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,aAAa,CAAC,CAMxB"}
@@ -0,0 +1,82 @@
1
+ // ─── Phase ───────────────────────────────────────────────────────────────────
2
+ /**
3
+ * Retry PR creation for pushed tickets that lack a PR.
4
+ *
5
+ * Best-effort — errors are caught and an empty result is returned.
6
+ * Never blocks the pipeline.
7
+ *
8
+ * @param ctx - Pipeline context (requires config from preflight).
9
+ * @param deps - Injected dependencies.
10
+ * @returns Structured result with per-entry retry outcomes.
11
+ */
12
+ export async function prRetry(ctx, deps) {
13
+ try {
14
+ return await retryAll(ctx, deps);
15
+ }
16
+ catch {
17
+ return { results: [] };
18
+ }
19
+ }
20
+ // ─── Internal helpers ────────────────────────────────────────────────────────
21
+ /** Normalise parent — treat `'none'` as `undefined`. */
22
+ function normaliseParent(parent) {
23
+ return parent && parent !== 'none' ? parent : undefined;
24
+ }
25
+ /** Classify a PR creation result into a retry status. */
26
+ function classifyResult(pr) {
27
+ if (pr?.ok)
28
+ return 'created';
29
+ if (pr && !pr.ok && pr.alreadyExists)
30
+ return 'exists';
31
+ if (pr && !pr.ok)
32
+ return 'failed';
33
+ return 'skipped';
34
+ }
35
+ /** Run retry logic for all retryable entries. */
36
+ async function retryAll(ctx, deps) {
37
+ const retryable = deps.findRetryable(ctx);
38
+ if (retryable.length === 0)
39
+ return { results: [] };
40
+ const remote = deps.detectRemote(ctx);
41
+ if (remote.host === 'none' || remote.host === 'unknown') {
42
+ return handleUnsupportedRemote(retryable, deps);
43
+ }
44
+ const retryOne = async (entry) => {
45
+ const pr = await deps.retryEntry(entry, remote, ctx);
46
+ const status = classifyResult(pr);
47
+ const parent = normaliseParent(entry.parent);
48
+ if (status === 'created' || status === 'exists') {
49
+ // Note: prNumber is undefined for 'exists' — PrCreationFailure
50
+ // doesn't carry the PR number. The progress entry still logs
51
+ // PR_CREATED to prevent infinite retry loops.
52
+ deps.appendProgress({
53
+ key: entry.key,
54
+ summary: entry.summary,
55
+ status: 'PR_CREATED',
56
+ prNumber: pr?.ok ? pr.number : undefined,
57
+ parent,
58
+ });
59
+ }
60
+ return {
61
+ key: entry.key,
62
+ status,
63
+ ...(pr?.ok && { prNumber: pr.number }),
64
+ };
65
+ };
66
+ const results = await Promise.all(retryable.map(retryOne));
67
+ return { results };
68
+ }
69
+ /** Mark all entries as unsupported and log PR_CREATED to prevent infinite retry. */
70
+ function handleUnsupportedRemote(entries, deps) {
71
+ const results = entries.map((entry) => {
72
+ deps.appendProgress({
73
+ key: entry.key,
74
+ summary: entry.summary,
75
+ status: 'PR_CREATED',
76
+ parent: normaliseParent(entry.parent),
77
+ });
78
+ return { key: entry.key, status: 'unsupported' };
79
+ });
80
+ return { results };
81
+ }
82
+ //# sourceMappingURL=pr-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-retry.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/pr-retry/pr-retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type { PreflightPhaseDeps } from './preflight-phase.js';
2
+ export { preflightPhase } from './preflight-phase.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/preflight-phase/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { preflightPhase } from './preflight-phase.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/preflight-phase/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Preflight — env checks, board detection, validation, and ping.
3
+ *
4
+ * Sets `ctx.config` and `ctx.board` on success. Returns structured results
5
+ * — no console output. The terminal layer handles display.
6
+ */
7
+ import type { RunContext } from '../../context.js';
8
+ import type { BoardConfig } from '../../../../schemas/env/env.js';
9
+ import type { Board } from '../../../../types/board.js';
10
+ /** Structured result of the preflight phase. */
11
+ type PreflightPhaseResult = {
12
+ readonly ok: boolean;
13
+ readonly error?: string;
14
+ readonly warning?: string;
15
+ };
16
+ /** Preflight check result (subset of full PreflightResult). */
17
+ type PreflightCheckResult = {
18
+ readonly ok: boolean;
19
+ readonly error?: string;
20
+ readonly warning?: string;
21
+ readonly env?: Record<string, string>;
22
+ };
23
+ /** Injected dependencies for the preflight phase. */
24
+ export type PreflightPhaseDeps = {
25
+ /** Run preflight checks (binaries, env, git state). Pre-wired with exec/envFs. */
26
+ readonly runPreflight: (projectRoot: string) => PreflightCheckResult;
27
+ readonly detectBoard: (env: Record<string, string>) => BoardConfig | string;
28
+ readonly createBoard: (config: BoardConfig) => Board;
29
+ };
30
+ /**
31
+ * Run preflight checks, detect board, validate, and ping.
32
+ *
33
+ * On success, sets `ctx.config` and `ctx.board`. On failure, returns
34
+ * structured error without mutating context.
35
+ *
36
+ * @param ctx - Pipeline context.
37
+ * @param deps - Injected dependencies (preflight, board detection, factory).
38
+ * @returns Structured result with `ok`, optional `error`/`warning`.
39
+ */
40
+ export declare function preflightPhase(ctx: RunContext, deps: PreflightPhaseDeps): Promise<PreflightPhaseResult>;
41
+ export {};
42
+ //# sourceMappingURL=preflight-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight-phase.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/preflight-phase/preflight-phase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIhD,gDAAgD;AAChD,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,+DAA+D;AAC/D,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,oBAAoB,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,WAAW,GAAG,MAAM,CAAC;IAC5E,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,CAAC;CACtD,CAAC;AAIF;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAsC/B"}
@@ -0,0 +1,41 @@
1
+ // ─── Phase ───────────────────────────────────────────────────────────────────
2
+ /**
3
+ * Run preflight checks, detect board, validate, and ping.
4
+ *
5
+ * On success, sets `ctx.config` and `ctx.board`. On failure, returns
6
+ * structured error without mutating context.
7
+ *
8
+ * @param ctx - Pipeline context.
9
+ * @param deps - Injected dependencies (preflight, board detection, factory).
10
+ * @returns Structured result with `ok`, optional `error`/`warning`.
11
+ */
12
+ export async function preflightPhase(ctx, deps) {
13
+ // 1. Preflight checks (binaries, env, git)
14
+ const preflight = deps.runPreflight(ctx.projectRoot);
15
+ if (!preflight.ok) {
16
+ return { ok: false, error: preflight.error };
17
+ }
18
+ // 2. Detect board from env
19
+ if (!preflight.env) {
20
+ return { ok: false, error: 'Preflight passed but env is missing' };
21
+ }
22
+ const boardResult = deps.detectBoard(preflight.env);
23
+ if (typeof boardResult === 'string') {
24
+ return { ok: false, error: boardResult };
25
+ }
26
+ // 3. Create board and validate
27
+ const board = deps.createBoard(boardResult);
28
+ const validationError = board.validateInputs();
29
+ if (validationError) {
30
+ return { ok: false, error: validationError };
31
+ }
32
+ // 4. Ping board
33
+ const ping = await board.ping();
34
+ if (!ping.ok) {
35
+ return { ok: false, error: ping.error };
36
+ }
37
+ // Success — populate context
38
+ ctx.setPreflight(boardResult, board);
39
+ return { ok: true, warning: preflight.warning };
40
+ }
41
+ //# sourceMappingURL=preflight-phase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight-phase.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/preflight-phase/preflight-phase.ts"],"names":[],"mappings":"AAmCA,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,IAAwB;IAExB,2CAA2C;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAErD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEpD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,+BAA+B;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IAE/C,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,gBAAgB;IAChB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IAEhC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,6BAA6B;IAC7B,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAErC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { ReworkDetectionDeps } from './rework-detection.js';
2
+ export { reworkDetection } from './rework-detection.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/rework-detection/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { reworkDetection } from './rework-detection.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/rework-detection/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Rework detection — detect PR-based rework from reviewer feedback.
3
+ *
4
+ * Best-effort: wrapped in try/catch. Never blocks the pipeline.
5
+ * Returns structured results — no console output.
6
+ */
7
+ import type { RunContext } from '../../context.js';
8
+ import type { BoardConfig } from '../../../../schemas/env/env.js';
9
+ import type { FetchedTicket } from '../../../../types/board.js';
10
+ /** Data returned by the pre-wired rework detection function. */
11
+ type ReworkData = {
12
+ readonly ticket: FetchedTicket;
13
+ readonly feedback: readonly string[];
14
+ readonly prNumber: number;
15
+ readonly discussionIds?: readonly string[];
16
+ readonly reviewers: readonly string[];
17
+ };
18
+ /** Structured result of the rework-detection phase. */
19
+ type ReworkDetectionResult = {
20
+ readonly detected: boolean;
21
+ readonly ticketKey?: string;
22
+ };
23
+ /** Injected dependencies for rework-detection. */
24
+ export type ReworkDetectionDeps = {
25
+ /** Detect rework from PR reviews. Pre-wired with progressFs/handlers. */
26
+ readonly fetchRework: (config: BoardConfig) => Promise<ReworkData | undefined>;
27
+ };
28
+ /**
29
+ * Detect PR-based rework from reviewer feedback.
30
+ *
31
+ * Best-effort — errors are caught and a non-detected result is returned.
32
+ * Never blocks the pipeline.
33
+ *
34
+ * @param ctx - Pipeline context (requires config from preflight).
35
+ * @param deps - Injected dependencies.
36
+ * @returns Structured result indicating whether rework was detected.
37
+ */
38
+ export declare function reworkDetection(ctx: RunContext, deps: ReworkDetectionDeps): Promise<ReworkDetectionResult>;
39
+ export {};
40
+ //# sourceMappingURL=rework-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rework-detection.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/rework-detection/rework-detection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,gEAAgE;AAChE,KAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,CAAC;AAEF,uDAAuD;AACvD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,mBAAmB,GAAG;IAChC,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,CACpB,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CACtC,CAAC;AAIF;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAMhC"}
@@ -0,0 +1,38 @@
1
+ // ─── Phase ───────────────────────────────────────────────────────────────────
2
+ /**
3
+ * Detect PR-based rework from reviewer feedback.
4
+ *
5
+ * Best-effort — errors are caught and a non-detected result is returned.
6
+ * Never blocks the pipeline.
7
+ *
8
+ * @param ctx - Pipeline context (requires config from preflight).
9
+ * @param deps - Injected dependencies.
10
+ * @returns Structured result indicating whether rework was detected.
11
+ */
12
+ export async function reworkDetection(ctx, deps) {
13
+ try {
14
+ return await detect(ctx, deps);
15
+ }
16
+ catch {
17
+ return { detected: false };
18
+ }
19
+ }
20
+ // ─── Internal helpers ────────────────────────────────────────────────────────
21
+ /** Run rework detection and populate context on match. */
22
+ async function detect(ctx, deps) {
23
+ // Safe: pipeline ordering guarantees preflight runs before rework-detection
24
+ const config = ctx.config;
25
+ const rework = await deps.fetchRework(config);
26
+ if (!rework)
27
+ return { detected: false };
28
+ ctx.setRework({
29
+ isRework: true,
30
+ prFeedback: rework.feedback,
31
+ reworkPrNumber: rework.prNumber,
32
+ reworkDiscussionIds: rework.discussionIds,
33
+ reworkReviewers: rework.reviewers,
34
+ });
35
+ ctx.setTicket(rework.ticket);
36
+ return { detected: true, ticketKey: rework.ticket.key };
37
+ }
38
+ //# sourceMappingURL=rework-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rework-detection.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/rework-detection/rework-detection.ts"],"names":[],"mappings":"AAmCA,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAe,EACf,IAAyB;IAEzB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,0DAA0D;AAC1D,KAAK,UAAU,MAAM,CACnB,GAAe,EACf,IAAyB;IAEzB,4EAA4E;IAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAO,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAExC,GAAG,CAAC,SAAS,CAAC;QACZ,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,MAAM,CAAC,QAAQ;QAC3B,cAAc,EAAE,MAAM,CAAC,QAAQ;QAC/B,mBAAmB,EAAE,MAAM,CAAC,aAAa;QACzC,eAAe,EAAE,MAAM,CAAC,SAAS;KAClC,CAAC,CAAC;IACH,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { TicketFetchDeps } from './ticket-fetch.js';
2
+ export { ticketFetch } from './ticket-fetch.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/ticket-fetch/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ticketFetch } from './ticket-fetch.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/ticket-fetch/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Ticket fetch — fresh ticket fetch (or use rework ticket),
3
+ * max rework guard, and branch name computation.
4
+ *
5
+ * Sets `ctx.ticket` and computed branch names on the context.
6
+ * Returns structured results — no console output.
7
+ */
8
+ import type { RunContext } from '../../context.js';
9
+ import type { Board, BoardProvider, FetchedTicket } from '../../../../types/board.js';
10
+ import type { ProgressStatus } from '../../../../types/progress.js';
11
+ /** Structured result of the ticket-fetch phase. */
12
+ type TicketFetchResult = {
13
+ readonly ok: boolean;
14
+ readonly reason?: 'no-tickets' | 'max-rework';
15
+ readonly ticketKey?: string;
16
+ };
17
+ /** Progress append function (pre-wired with fs + projectRoot by terminal). */
18
+ type AppendFn = (opts: {
19
+ readonly key: string;
20
+ readonly summary: string;
21
+ readonly status: ProgressStatus;
22
+ }) => void;
23
+ /** Injected dependencies for ticket-fetch. */
24
+ export type TicketFetchDeps = {
25
+ /** Fetch the next available ticket from the board. */
26
+ readonly fetchTicket: (board: Board) => Promise<FetchedTicket | undefined>;
27
+ /** Count rework cycles for a ticket key. Pre-wired with progressFs + projectRoot. */
28
+ readonly countReworkCycles: (key: string) => number;
29
+ /** Append a progress entry. Pre-wired with progressFs + projectRoot. */
30
+ readonly appendProgress: AppendFn;
31
+ /** Compute feature branch name from provider + key. */
32
+ readonly computeTicketBranch: (provider: BoardProvider, key: string) => string;
33
+ /** Compute target branch from provider + baseBranch + optional parent. */
34
+ readonly computeTargetBranch: (provider: BoardProvider, baseBranch: string, parent?: string) => string;
35
+ };
36
+ /**
37
+ * Fetch a ticket (or use existing rework ticket), guard max rework,
38
+ * and compute branch names.
39
+ *
40
+ * @param ctx - Pipeline context (requires config + board from preflight).
41
+ * @param deps - Injected dependencies.
42
+ * @returns Structured result indicating success or reason for early exit.
43
+ */
44
+ export declare function ticketFetch(ctx: RunContext, deps: TicketFetchDeps): Promise<TicketFetchResult>;
45
+ export {};
46
+ //# sourceMappingURL=ticket-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-fetch.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/ticket-fetch/ticket-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,mDAAmD;AACnD,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,8EAA8E;AAC9E,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC,KAAK,IAAI,CAAC;AAEX,8CAA8C;AAC9C,MAAM,MAAM,eAAe,GAAG;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC3E,qFAAqF;IACrF,QAAQ,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC;IAClC,uDAAuD;IACvD,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,MAAM,KACR,MAAM,CAAC;IACZ,0EAA0E;IAC1E,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,KACZ,MAAM,CAAC;CACb,CAAC;AAIF;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAwB5B"}
@@ -0,0 +1,64 @@
1
+ // ─── Phase ───────────────────────────────────────────────────────────────────
2
+ /**
3
+ * Fetch a ticket (or use existing rework ticket), guard max rework,
4
+ * and compute branch names.
5
+ *
6
+ * @param ctx - Pipeline context (requires config + board from preflight).
7
+ * @param deps - Injected dependencies.
8
+ * @returns Structured result indicating success or reason for early exit.
9
+ */
10
+ export async function ticketFetch(ctx, deps) {
11
+ // Safe: pipeline ordering guarantees preflight runs before ticket-fetch
12
+ const config = ctx.config;
13
+ // Use existing ticket (from rework) or fetch fresh
14
+ if (!ctx.ticket) {
15
+ const fetched = await deps.fetchTicket(ctx.board);
16
+ if (!fetched)
17
+ return { ok: false, reason: 'no-tickets' };
18
+ ctx.setTicket(fetched);
19
+ }
20
+ const ticket = ctx.ticket;
21
+ // Max rework guard
22
+ if (ctx.isRework === true) {
23
+ const guardResult = applyMaxReworkGuard(config, ticket, deps);
24
+ if (guardResult)
25
+ return guardResult;
26
+ }
27
+ // Compute and store branch names
28
+ const branches = computeBranches(ctx, deps);
29
+ ctx.setTicketBranches(branches);
30
+ return { ok: true, ticketKey: ticket.key };
31
+ }
32
+ // ─── Internal helpers ────────────────────────────────────────────────────────
33
+ /** Check if a rework ticket has exceeded the max rework cycle limit. */
34
+ function applyMaxReworkGuard(config, ticket, deps) {
35
+ const maxRework = parseMaxRework(config.env.CLANCY_MAX_REWORK);
36
+ const cycles = deps.countReworkCycles(ticket.key);
37
+ if (cycles >= maxRework) {
38
+ deps.appendProgress({
39
+ key: ticket.key,
40
+ summary: ticket.title,
41
+ status: 'SKIPPED',
42
+ });
43
+ return { ok: false, reason: 'max-rework', ticketKey: ticket.key };
44
+ }
45
+ return undefined;
46
+ }
47
+ /** Parse CLANCY_MAX_REWORK env var, defaulting to 3. Zero means no rework allowed. */
48
+ function parseMaxRework(value) {
49
+ const parsed = parseInt(value ?? '3', 10);
50
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : 3;
51
+ }
52
+ /** Compute ticket and target branch names from ticket metadata. */
53
+ function computeBranches(ctx, deps) {
54
+ // Safe: pipeline ordering guarantees prior phases populate these fields
55
+ const config = ctx.config;
56
+ const ticket = ctx.ticket;
57
+ const baseBranch = config.env.CLANCY_BASE_BRANCH ?? 'main';
58
+ const hasParent = ticket.parentInfo !== 'none';
59
+ const parent = hasParent ? ticket.parentInfo : undefined;
60
+ const ticketBranch = deps.computeTicketBranch(config.provider, ticket.key);
61
+ const targetBranch = deps.computeTargetBranch(config.provider, baseBranch, parent);
62
+ return { ticketBranch, targetBranch, baseBranch, hasParent };
63
+ }
64
+ //# sourceMappingURL=ticket-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-fetch.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/ticket-fetch/ticket-fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type { TransitionDeps } from './transition.js';
2
+ export { transition } from './transition.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/transition/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { transition } from './transition.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dev/pipeline/phases/transition/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}