@chief-clancy/core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/README.md +17 -14
  2. package/dist/board/azdo/azdo-board.d.ts.map +1 -1
  3. package/dist/board/azdo/azdo-board.js +1 -0
  4. package/dist/board/azdo/azdo-board.js.map +1 -1
  5. package/dist/board/github/api/api.d.ts.map +1 -1
  6. package/dist/board/github/api/api.js +5 -2
  7. package/dist/board/github/api/api.js.map +1 -1
  8. package/dist/board/github/github-board.d.ts.map +1 -1
  9. package/dist/board/github/github-board.js +2 -1
  10. package/dist/board/github/github-board.js.map +1 -1
  11. package/dist/board/github/relations/relations.js +2 -2
  12. package/dist/board/github/relations/relations.js.map +1 -1
  13. package/dist/board/jira/jira-board.d.ts.map +1 -1
  14. package/dist/board/jira/jira-board.js +1 -0
  15. package/dist/board/jira/jira-board.js.map +1 -1
  16. package/dist/board/linear/linear-board.d.ts.map +1 -1
  17. package/dist/board/linear/linear-board.js +1 -0
  18. package/dist/board/linear/linear-board.js.map +1 -1
  19. package/dist/board/notion/notion-board.d.ts.map +1 -1
  20. package/dist/board/notion/notion-board.js +2 -1
  21. package/dist/board/notion/notion-board.js.map +1 -1
  22. package/dist/board/shortcut/shortcut-board.d.ts.map +1 -1
  23. package/dist/board/shortcut/shortcut-board.js +1 -0
  24. package/dist/board/shortcut/shortcut-board.js.map +1 -1
  25. package/dist/index.d.ts +1 -31
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -23
  28. package/dist/index.js.map +1 -1
  29. package/dist/shared/remote/remote.js.map +1 -1
  30. package/dist/types/board.d.ts +2 -0
  31. package/dist/types/board.d.ts.map +1 -1
  32. package/package.json +6 -2
  33. package/dist/dev/lifecycle/branch/branch.d.ts +0 -35
  34. package/dist/dev/lifecycle/branch/branch.d.ts.map +0 -1
  35. package/dist/dev/lifecycle/branch/branch.js +0 -48
  36. package/dist/dev/lifecycle/branch/branch.js.map +0 -1
  37. package/dist/dev/lifecycle/branch/index.d.ts +0 -2
  38. package/dist/dev/lifecycle/branch/index.d.ts.map +0 -1
  39. package/dist/dev/lifecycle/branch/index.js +0 -2
  40. package/dist/dev/lifecycle/branch/index.js.map +0 -1
  41. package/dist/dev/lifecycle/commit-type/commit-type.d.ts +0 -22
  42. package/dist/dev/lifecycle/commit-type/commit-type.d.ts.map +0 -1
  43. package/dist/dev/lifecycle/commit-type/commit-type.js +0 -50
  44. package/dist/dev/lifecycle/commit-type/commit-type.js.map +0 -1
  45. package/dist/dev/lifecycle/commit-type/index.d.ts +0 -2
  46. package/dist/dev/lifecycle/commit-type/index.d.ts.map +0 -1
  47. package/dist/dev/lifecycle/commit-type/index.js +0 -2
  48. package/dist/dev/lifecycle/commit-type/index.js.map +0 -1
  49. package/dist/dev/lifecycle/cost/cost.d.ts +0 -28
  50. package/dist/dev/lifecycle/cost/cost.d.ts.map +0 -1
  51. package/dist/dev/lifecycle/cost/cost.js +0 -36
  52. package/dist/dev/lifecycle/cost/cost.js.map +0 -1
  53. package/dist/dev/lifecycle/deliver-epic/deliver-epic.d.ts +0 -44
  54. package/dist/dev/lifecycle/deliver-epic/deliver-epic.d.ts.map +0 -1
  55. package/dist/dev/lifecycle/deliver-epic/deliver-epic.js +0 -75
  56. package/dist/dev/lifecycle/deliver-epic/deliver-epic.js.map +0 -1
  57. package/dist/dev/lifecycle/deliver-ticket/deliver-ticket.d.ts +0 -51
  58. package/dist/dev/lifecycle/deliver-ticket/deliver-ticket.d.ts.map +0 -1
  59. package/dist/dev/lifecycle/deliver-ticket/deliver-ticket.js +0 -132
  60. package/dist/dev/lifecycle/deliver-ticket/deliver-ticket.js.map +0 -1
  61. package/dist/dev/lifecycle/epic/epic.d.ts +0 -66
  62. package/dist/dev/lifecycle/epic/epic.d.ts.map +0 -1
  63. package/dist/dev/lifecycle/epic/epic.js +0 -91
  64. package/dist/dev/lifecycle/epic/epic.js.map +0 -1
  65. package/dist/dev/lifecycle/epic/index.d.ts +0 -2
  66. package/dist/dev/lifecycle/epic/index.d.ts.map +0 -1
  67. package/dist/dev/lifecycle/epic/index.js +0 -2
  68. package/dist/dev/lifecycle/epic/index.js.map +0 -1
  69. package/dist/dev/lifecycle/feasibility/feasibility.d.ts +0 -55
  70. package/dist/dev/lifecycle/feasibility/feasibility.d.ts.map +0 -1
  71. package/dist/dev/lifecycle/feasibility/feasibility.js +0 -75
  72. package/dist/dev/lifecycle/feasibility/feasibility.js.map +0 -1
  73. package/dist/dev/lifecycle/fetch-ticket/fetch-ticket.d.ts +0 -49
  74. package/dist/dev/lifecycle/fetch-ticket/fetch-ticket.d.ts.map +0 -1
  75. package/dist/dev/lifecycle/fetch-ticket/fetch-ticket.js +0 -81
  76. package/dist/dev/lifecycle/fetch-ticket/fetch-ticket.js.map +0 -1
  77. package/dist/dev/lifecycle/format/format.d.ts +0 -11
  78. package/dist/dev/lifecycle/format/format.d.ts.map +0 -1
  79. package/dist/dev/lifecycle/format/format.js +0 -23
  80. package/dist/dev/lifecycle/format/format.js.map +0 -1
  81. package/dist/dev/lifecycle/lock/index.d.ts +0 -3
  82. package/dist/dev/lifecycle/lock/index.d.ts.map +0 -1
  83. package/dist/dev/lifecycle/lock/index.js +0 -2
  84. package/dist/dev/lifecycle/lock/index.js.map +0 -1
  85. package/dist/dev/lifecycle/lock/lock.d.ts +0 -68
  86. package/dist/dev/lifecycle/lock/lock.d.ts.map +0 -1
  87. package/dist/dev/lifecycle/lock/lock.js +0 -125
  88. package/dist/dev/lifecycle/lock/lock.js.map +0 -1
  89. package/dist/dev/lifecycle/outcome/index.d.ts +0 -2
  90. package/dist/dev/lifecycle/outcome/index.d.ts.map +0 -1
  91. package/dist/dev/lifecycle/outcome/index.js +0 -2
  92. package/dist/dev/lifecycle/outcome/index.js.map +0 -1
  93. package/dist/dev/lifecycle/outcome/outcome.d.ts +0 -65
  94. package/dist/dev/lifecycle/outcome/outcome.d.ts.map +0 -1
  95. package/dist/dev/lifecycle/outcome/outcome.js +0 -61
  96. package/dist/dev/lifecycle/outcome/outcome.js.map +0 -1
  97. package/dist/dev/lifecycle/pr-creation/index.d.ts +0 -3
  98. package/dist/dev/lifecycle/pr-creation/index.d.ts.map +0 -1
  99. package/dist/dev/lifecycle/pr-creation/index.js +0 -2
  100. package/dist/dev/lifecycle/pr-creation/index.js.map +0 -1
  101. package/dist/dev/lifecycle/pr-creation/pr-creation.d.ts +0 -47
  102. package/dist/dev/lifecycle/pr-creation/pr-creation.d.ts.map +0 -1
  103. package/dist/dev/lifecycle/pr-creation/pr-creation.js +0 -143
  104. package/dist/dev/lifecycle/pr-creation/pr-creation.js.map +0 -1
  105. package/dist/dev/lifecycle/preflight/preflight.d.ts +0 -42
  106. package/dist/dev/lifecycle/preflight/preflight.d.ts.map +0 -1
  107. package/dist/dev/lifecycle/preflight/preflight.js +0 -101
  108. package/dist/dev/lifecycle/preflight/preflight.js.map +0 -1
  109. package/dist/dev/lifecycle/progress/index.d.ts +0 -3
  110. package/dist/dev/lifecycle/progress/index.d.ts.map +0 -1
  111. package/dist/dev/lifecycle/progress/index.js +0 -2
  112. package/dist/dev/lifecycle/progress/index.js.map +0 -1
  113. package/dist/dev/lifecycle/progress/progress.d.ts +0 -98
  114. package/dist/dev/lifecycle/progress/progress.d.ts.map +0 -1
  115. package/dist/dev/lifecycle/progress/progress.js +0 -212
  116. package/dist/dev/lifecycle/progress/progress.js.map +0 -1
  117. package/dist/dev/lifecycle/pull-request/azdo/azdo.d.ts +0 -86
  118. package/dist/dev/lifecycle/pull-request/azdo/azdo.d.ts.map +0 -1
  119. package/dist/dev/lifecycle/pull-request/azdo/azdo.js +0 -198
  120. package/dist/dev/lifecycle/pull-request/azdo/azdo.js.map +0 -1
  121. package/dist/dev/lifecycle/pull-request/azdo/index.d.ts +0 -2
  122. package/dist/dev/lifecycle/pull-request/azdo/index.d.ts.map +0 -1
  123. package/dist/dev/lifecycle/pull-request/azdo/index.js +0 -2
  124. package/dist/dev/lifecycle/pull-request/azdo/index.js.map +0 -1
  125. package/dist/dev/lifecycle/pull-request/bitbucket/cloud.d.ts +0 -85
  126. package/dist/dev/lifecycle/pull-request/bitbucket/cloud.d.ts.map +0 -1
  127. package/dist/dev/lifecycle/pull-request/bitbucket/cloud.js +0 -158
  128. package/dist/dev/lifecycle/pull-request/bitbucket/cloud.js.map +0 -1
  129. package/dist/dev/lifecycle/pull-request/bitbucket/index.d.ts +0 -3
  130. package/dist/dev/lifecycle/pull-request/bitbucket/index.d.ts.map +0 -1
  131. package/dist/dev/lifecycle/pull-request/bitbucket/index.js +0 -3
  132. package/dist/dev/lifecycle/pull-request/bitbucket/index.js.map +0 -1
  133. package/dist/dev/lifecycle/pull-request/bitbucket/server.d.ts +0 -85
  134. package/dist/dev/lifecycle/pull-request/bitbucket/server.d.ts.map +0 -1
  135. package/dist/dev/lifecycle/pull-request/bitbucket/server.js +0 -168
  136. package/dist/dev/lifecycle/pull-request/bitbucket/server.js.map +0 -1
  137. package/dist/dev/lifecycle/pull-request/github/github.d.ts +0 -107
  138. package/dist/dev/lifecycle/pull-request/github/github.d.ts.map +0 -1
  139. package/dist/dev/lifecycle/pull-request/github/github.js +0 -225
  140. package/dist/dev/lifecycle/pull-request/github/github.js.map +0 -1
  141. package/dist/dev/lifecycle/pull-request/github/index.d.ts +0 -2
  142. package/dist/dev/lifecycle/pull-request/github/index.d.ts.map +0 -1
  143. package/dist/dev/lifecycle/pull-request/github/index.js +0 -2
  144. package/dist/dev/lifecycle/pull-request/github/index.js.map +0 -1
  145. package/dist/dev/lifecycle/pull-request/gitlab/gitlab.d.ts +0 -103
  146. package/dist/dev/lifecycle/pull-request/gitlab/gitlab.d.ts.map +0 -1
  147. package/dist/dev/lifecycle/pull-request/gitlab/gitlab.js +0 -215
  148. package/dist/dev/lifecycle/pull-request/gitlab/gitlab.js.map +0 -1
  149. package/dist/dev/lifecycle/pull-request/gitlab/index.d.ts +0 -2
  150. package/dist/dev/lifecycle/pull-request/gitlab/index.d.ts.map +0 -1
  151. package/dist/dev/lifecycle/pull-request/gitlab/index.js +0 -2
  152. package/dist/dev/lifecycle/pull-request/gitlab/index.js.map +0 -1
  153. package/dist/dev/lifecycle/pull-request/post-pr/post-pr.d.ts +0 -44
  154. package/dist/dev/lifecycle/pull-request/post-pr/post-pr.d.ts.map +0 -1
  155. package/dist/dev/lifecycle/pull-request/post-pr/post-pr.js +0 -64
  156. package/dist/dev/lifecycle/pull-request/post-pr/post-pr.js.map +0 -1
  157. package/dist/dev/lifecycle/pull-request/pr-body/index.d.ts +0 -3
  158. package/dist/dev/lifecycle/pull-request/pr-body/index.d.ts.map +0 -1
  159. package/dist/dev/lifecycle/pull-request/pr-body/index.js +0 -2
  160. package/dist/dev/lifecycle/pull-request/pr-body/index.js.map +0 -1
  161. package/dist/dev/lifecycle/pull-request/pr-body/pr-body.d.ts +0 -65
  162. package/dist/dev/lifecycle/pull-request/pr-body/pr-body.d.ts.map +0 -1
  163. package/dist/dev/lifecycle/pull-request/pr-body/pr-body.js +0 -144
  164. package/dist/dev/lifecycle/pull-request/pr-body/pr-body.js.map +0 -1
  165. package/dist/dev/lifecycle/pull-request/rework-comment/rework-comment.d.ts +0 -30
  166. package/dist/dev/lifecycle/pull-request/rework-comment/rework-comment.d.ts.map +0 -1
  167. package/dist/dev/lifecycle/pull-request/rework-comment/rework-comment.js +0 -39
  168. package/dist/dev/lifecycle/pull-request/rework-comment/rework-comment.js.map +0 -1
  169. package/dist/dev/lifecycle/quality/quality.d.ts +0 -99
  170. package/dist/dev/lifecycle/quality/quality.d.ts.map +0 -1
  171. package/dist/dev/lifecycle/quality/quality.js +0 -213
  172. package/dist/dev/lifecycle/quality/quality.js.map +0 -1
  173. package/dist/dev/lifecycle/resume/resume.d.ts +0 -64
  174. package/dist/dev/lifecycle/resume/resume.d.ts.map +0 -1
  175. package/dist/dev/lifecycle/resume/resume.js +0 -171
  176. package/dist/dev/lifecycle/resume/resume.js.map +0 -1
  177. package/dist/dev/lifecycle/rework/rework-builders.d.ts +0 -20
  178. package/dist/dev/lifecycle/rework/rework-builders.d.ts.map +0 -1
  179. package/dist/dev/lifecycle/rework/rework-builders.js +0 -203
  180. package/dist/dev/lifecycle/rework/rework-builders.js.map +0 -1
  181. package/dist/dev/lifecycle/rework/rework-handlers.d.ts +0 -50
  182. package/dist/dev/lifecycle/rework/rework-handlers.d.ts.map +0 -1
  183. package/dist/dev/lifecycle/rework/rework-handlers.js +0 -41
  184. package/dist/dev/lifecycle/rework/rework-handlers.js.map +0 -1
  185. package/dist/dev/lifecycle/rework/rework.d.ts +0 -63
  186. package/dist/dev/lifecycle/rework/rework.d.ts.map +0 -1
  187. package/dist/dev/lifecycle/rework/rework.js +0 -141
  188. package/dist/dev/lifecycle/rework/rework.js.map +0 -1
  189. package/dist/dev/pipeline/context.d.ts +0 -105
  190. package/dist/dev/pipeline/context.d.ts.map +0 -1
  191. package/dist/dev/pipeline/context.js +0 -107
  192. package/dist/dev/pipeline/context.js.map +0 -1
  193. package/dist/dev/pipeline/index.d.ts +0 -6
  194. package/dist/dev/pipeline/index.d.ts.map +0 -1
  195. package/dist/dev/pipeline/index.js +0 -5
  196. package/dist/dev/pipeline/index.js.map +0 -1
  197. package/dist/dev/pipeline/phases/branch-setup/branch-setup.d.ts +0 -62
  198. package/dist/dev/pipeline/phases/branch-setup/branch-setup.d.ts.map +0 -1
  199. package/dist/dev/pipeline/phases/branch-setup/branch-setup.js +0 -128
  200. package/dist/dev/pipeline/phases/branch-setup/branch-setup.js.map +0 -1
  201. package/dist/dev/pipeline/phases/branch-setup/index.d.ts +0 -3
  202. package/dist/dev/pipeline/phases/branch-setup/index.d.ts.map +0 -1
  203. package/dist/dev/pipeline/phases/branch-setup/index.js +0 -2
  204. package/dist/dev/pipeline/phases/branch-setup/index.js.map +0 -1
  205. package/dist/dev/pipeline/phases/cleanup-phase/cleanup-phase.d.ts +0 -32
  206. package/dist/dev/pipeline/phases/cleanup-phase/cleanup-phase.d.ts.map +0 -1
  207. package/dist/dev/pipeline/phases/cleanup-phase/cleanup-phase.js +0 -32
  208. package/dist/dev/pipeline/phases/cleanup-phase/cleanup-phase.js.map +0 -1
  209. package/dist/dev/pipeline/phases/cleanup-phase/index.d.ts +0 -3
  210. package/dist/dev/pipeline/phases/cleanup-phase/index.d.ts.map +0 -1
  211. package/dist/dev/pipeline/phases/cleanup-phase/index.js +0 -2
  212. package/dist/dev/pipeline/phases/cleanup-phase/index.js.map +0 -1
  213. package/dist/dev/pipeline/phases/cost-phase/cost-phase.d.ts +0 -40
  214. package/dist/dev/pipeline/phases/cost-phase/cost-phase.d.ts.map +0 -1
  215. package/dist/dev/pipeline/phases/cost-phase/cost-phase.js +0 -43
  216. package/dist/dev/pipeline/phases/cost-phase/cost-phase.js.map +0 -1
  217. package/dist/dev/pipeline/phases/cost-phase/index.d.ts +0 -3
  218. package/dist/dev/pipeline/phases/cost-phase/index.d.ts.map +0 -1
  219. package/dist/dev/pipeline/phases/cost-phase/index.js +0 -2
  220. package/dist/dev/pipeline/phases/cost-phase/index.js.map +0 -1
  221. package/dist/dev/pipeline/phases/deliver-phase/deliver-phase.d.ts +0 -68
  222. package/dist/dev/pipeline/phases/deliver-phase/deliver-phase.d.ts.map +0 -1
  223. package/dist/dev/pipeline/phases/deliver-phase/deliver-phase.js +0 -125
  224. package/dist/dev/pipeline/phases/deliver-phase/deliver-phase.js.map +0 -1
  225. package/dist/dev/pipeline/phases/deliver-phase/index.d.ts +0 -3
  226. package/dist/dev/pipeline/phases/deliver-phase/index.d.ts.map +0 -1
  227. package/dist/dev/pipeline/phases/deliver-phase/index.js +0 -2
  228. package/dist/dev/pipeline/phases/deliver-phase/index.js.map +0 -1
  229. package/dist/dev/pipeline/phases/dry-run/dry-run.d.ts +0 -38
  230. package/dist/dev/pipeline/phases/dry-run/dry-run.d.ts.map +0 -1
  231. package/dist/dev/pipeline/phases/dry-run/dry-run.js +0 -33
  232. package/dist/dev/pipeline/phases/dry-run/dry-run.js.map +0 -1
  233. package/dist/dev/pipeline/phases/dry-run/index.d.ts +0 -2
  234. package/dist/dev/pipeline/phases/dry-run/index.d.ts.map +0 -1
  235. package/dist/dev/pipeline/phases/dry-run/index.js +0 -2
  236. package/dist/dev/pipeline/phases/dry-run/index.js.map +0 -1
  237. package/dist/dev/pipeline/phases/epic-completion/epic-completion.d.ts +0 -48
  238. package/dist/dev/pipeline/phases/epic-completion/epic-completion.d.ts.map +0 -1
  239. package/dist/dev/pipeline/phases/epic-completion/epic-completion.js +0 -42
  240. package/dist/dev/pipeline/phases/epic-completion/epic-completion.js.map +0 -1
  241. package/dist/dev/pipeline/phases/epic-completion/index.d.ts +0 -3
  242. package/dist/dev/pipeline/phases/epic-completion/index.d.ts.map +0 -1
  243. package/dist/dev/pipeline/phases/epic-completion/index.js +0 -2
  244. package/dist/dev/pipeline/phases/epic-completion/index.js.map +0 -1
  245. package/dist/dev/pipeline/phases/feasibility/feasibility.d.ts +0 -52
  246. package/dist/dev/pipeline/phases/feasibility/feasibility.d.ts.map +0 -1
  247. package/dist/dev/pipeline/phases/feasibility/feasibility.js +0 -34
  248. package/dist/dev/pipeline/phases/feasibility/feasibility.js.map +0 -1
  249. package/dist/dev/pipeline/phases/feasibility/index.d.ts +0 -3
  250. package/dist/dev/pipeline/phases/feasibility/index.d.ts.map +0 -1
  251. package/dist/dev/pipeline/phases/feasibility/index.js +0 -2
  252. package/dist/dev/pipeline/phases/feasibility/index.js.map +0 -1
  253. package/dist/dev/pipeline/phases/index.d.ts +0 -26
  254. package/dist/dev/pipeline/phases/index.d.ts.map +0 -1
  255. package/dist/dev/pipeline/phases/index.js +0 -14
  256. package/dist/dev/pipeline/phases/index.js.map +0 -1
  257. package/dist/dev/pipeline/phases/lock-check/index.d.ts +0 -3
  258. package/dist/dev/pipeline/phases/lock-check/index.d.ts.map +0 -1
  259. package/dist/dev/pipeline/phases/lock-check/index.js +0 -2
  260. package/dist/dev/pipeline/phases/lock-check/index.js.map +0 -1
  261. package/dist/dev/pipeline/phases/lock-check/lock-check.d.ts +0 -55
  262. package/dist/dev/pipeline/phases/lock-check/lock-check.d.ts.map +0 -1
  263. package/dist/dev/pipeline/phases/lock-check/lock-check.js +0 -60
  264. package/dist/dev/pipeline/phases/lock-check/lock-check.js.map +0 -1
  265. package/dist/dev/pipeline/phases/pr-retry/index.d.ts +0 -3
  266. package/dist/dev/pipeline/phases/pr-retry/index.d.ts.map +0 -1
  267. package/dist/dev/pipeline/phases/pr-retry/index.js +0 -2
  268. package/dist/dev/pipeline/phases/pr-retry/index.js.map +0 -1
  269. package/dist/dev/pipeline/phases/pr-retry/pr-retry.d.ts +0 -58
  270. package/dist/dev/pipeline/phases/pr-retry/pr-retry.d.ts.map +0 -1
  271. package/dist/dev/pipeline/phases/pr-retry/pr-retry.js +0 -82
  272. package/dist/dev/pipeline/phases/pr-retry/pr-retry.js.map +0 -1
  273. package/dist/dev/pipeline/phases/preflight-phase/index.d.ts +0 -3
  274. package/dist/dev/pipeline/phases/preflight-phase/index.d.ts.map +0 -1
  275. package/dist/dev/pipeline/phases/preflight-phase/index.js +0 -2
  276. package/dist/dev/pipeline/phases/preflight-phase/index.js.map +0 -1
  277. package/dist/dev/pipeline/phases/preflight-phase/preflight-phase.d.ts +0 -42
  278. package/dist/dev/pipeline/phases/preflight-phase/preflight-phase.d.ts.map +0 -1
  279. package/dist/dev/pipeline/phases/preflight-phase/preflight-phase.js +0 -41
  280. package/dist/dev/pipeline/phases/preflight-phase/preflight-phase.js.map +0 -1
  281. package/dist/dev/pipeline/phases/rework-detection/index.d.ts +0 -3
  282. package/dist/dev/pipeline/phases/rework-detection/index.d.ts.map +0 -1
  283. package/dist/dev/pipeline/phases/rework-detection/index.js +0 -2
  284. package/dist/dev/pipeline/phases/rework-detection/index.js.map +0 -1
  285. package/dist/dev/pipeline/phases/rework-detection/rework-detection.d.ts +0 -40
  286. package/dist/dev/pipeline/phases/rework-detection/rework-detection.d.ts.map +0 -1
  287. package/dist/dev/pipeline/phases/rework-detection/rework-detection.js +0 -38
  288. package/dist/dev/pipeline/phases/rework-detection/rework-detection.js.map +0 -1
  289. package/dist/dev/pipeline/phases/ticket-fetch/index.d.ts +0 -3
  290. package/dist/dev/pipeline/phases/ticket-fetch/index.d.ts.map +0 -1
  291. package/dist/dev/pipeline/phases/ticket-fetch/index.js +0 -2
  292. package/dist/dev/pipeline/phases/ticket-fetch/index.js.map +0 -1
  293. package/dist/dev/pipeline/phases/ticket-fetch/ticket-fetch.d.ts +0 -46
  294. package/dist/dev/pipeline/phases/ticket-fetch/ticket-fetch.d.ts.map +0 -1
  295. package/dist/dev/pipeline/phases/ticket-fetch/ticket-fetch.js +0 -64
  296. package/dist/dev/pipeline/phases/ticket-fetch/ticket-fetch.js.map +0 -1
  297. package/dist/dev/pipeline/phases/transition/index.d.ts +0 -3
  298. package/dist/dev/pipeline/phases/transition/index.d.ts.map +0 -1
  299. package/dist/dev/pipeline/phases/transition/index.js +0 -2
  300. package/dist/dev/pipeline/phases/transition/index.js.map +0 -1
  301. package/dist/dev/pipeline/phases/transition/transition.d.ts +0 -30
  302. package/dist/dev/pipeline/phases/transition/transition.d.ts.map +0 -1
  303. package/dist/dev/pipeline/phases/transition/transition.js +0 -27
  304. package/dist/dev/pipeline/phases/transition/transition.js.map +0 -1
  305. package/dist/dev/pipeline/run-pipeline.d.ts +0 -98
  306. package/dist/dev/pipeline/run-pipeline.d.ts.map +0 -1
  307. package/dist/dev/pipeline/run-pipeline.js +0 -106
  308. package/dist/dev/pipeline/run-pipeline.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chief-clancy/core",
3
- "version": "0.1.0",
4
- "description": "Board intelligence, schemas, types, ticket lifecycle, phase pipeline, shared utilities",
3
+ "version": "0.1.1",
4
+ "description": "Board integrations, schemas, types, and shared utilities",
5
5
  "author": "Alex Clapperton",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -27,6 +27,10 @@
27
27
  ".": {
28
28
  "types": "./dist/index.d.ts",
29
29
  "import": "./dist/index.js"
30
+ },
31
+ "./*.js": {
32
+ "types": "./dist/*.d.ts",
33
+ "import": "./dist/*.js"
30
34
  }
31
35
  },
32
36
  "files": [
@@ -1,35 +0,0 @@
1
- /**
2
- * Branch name computation for ticket workflows.
3
- *
4
- * Pure functions that compute feature and target branch names
5
- * based on the board provider and ticket metadata.
6
- */
7
- import type { BoardProvider } from '../../../types/index.js';
8
- /**
9
- * Compute the feature branch name for a ticket.
10
- *
11
- * - GitHub: `feature/issue-{number}` (e.g., `feature/issue-42`)
12
- * - All others: `feature/{key-lowercase}` (e.g., `feature/proj-123`)
13
- *
14
- * @param provider - The board provider.
15
- * @param key - The ticket key (e.g., `'PROJ-123'`, `'#42'`, `'ENG-123'`).
16
- * @returns The feature branch name.
17
- */
18
- export declare function computeTicketBranch(provider: BoardProvider, key: string): string;
19
- /**
20
- * Compute the target branch for merging.
21
- *
22
- * If the ticket has a parent (epic/milestone), branches from that parent's
23
- * branch. Otherwise falls back to the base branch.
24
- *
25
- * - GitHub issue ref (`#N`): `epic/{number}`
26
- * - GitHub milestone title: `milestone/{slug}`
27
- * - All others: `epic/{key-lowercase}`
28
- *
29
- * @param provider - The board provider.
30
- * @param baseBranch - The default base branch (e.g., `'main'`).
31
- * @param parent - Optional parent identifier (epic key, milestone title, parent ID).
32
- * @returns The target branch name.
33
- */
34
- export declare function computeTargetBranch(provider: BoardProvider, baseBranch: string, parent?: string): string;
35
- //# sourceMappingURL=branch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../../src/dev/lifecycle/branch/branch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,MAAM,GACV,MAAM,CAOR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAeR"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Compute the feature branch name for a ticket.
3
- *
4
- * - GitHub: `feature/issue-{number}` (e.g., `feature/issue-42`)
5
- * - All others: `feature/{key-lowercase}` (e.g., `feature/proj-123`)
6
- *
7
- * @param provider - The board provider.
8
- * @param key - The ticket key (e.g., `'PROJ-123'`, `'#42'`, `'ENG-123'`).
9
- * @returns The feature branch name.
10
- */
11
- export function computeTicketBranch(provider, key) {
12
- if (provider === 'github') {
13
- const number = key.replace('#', '');
14
- return `feature/issue-${number}`;
15
- }
16
- return `feature/${key.toLowerCase()}`;
17
- }
18
- /**
19
- * Compute the target branch for merging.
20
- *
21
- * If the ticket has a parent (epic/milestone), branches from that parent's
22
- * branch. Otherwise falls back to the base branch.
23
- *
24
- * - GitHub issue ref (`#N`): `epic/{number}`
25
- * - GitHub milestone title: `milestone/{slug}`
26
- * - All others: `epic/{key-lowercase}`
27
- *
28
- * @param provider - The board provider.
29
- * @param baseBranch - The default base branch (e.g., `'main'`).
30
- * @param parent - Optional parent identifier (epic key, milestone title, parent ID).
31
- * @returns The target branch name.
32
- */
33
- export function computeTargetBranch(provider, baseBranch, parent) {
34
- if (!parent)
35
- return baseBranch;
36
- if (provider === 'github') {
37
- const issueRefMatch = parent.match(/^#(\d+)$/);
38
- if (issueRefMatch)
39
- return `epic/${issueRefMatch[1]}`;
40
- const slug = parent
41
- .toLowerCase()
42
- .replace(/\s+/g, '-')
43
- .replace(/[^a-z0-9-]/g, '');
44
- return `milestone/${slug}`;
45
- }
46
- return `epic/${parent.toLowerCase()}`;
47
- }
48
- //# sourceMappingURL=branch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../../src/dev/lifecycle/branch/branch.ts"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAuB,EACvB,GAAW;IAEX,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,iBAAiB,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,WAAW,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAuB,EACvB,UAAkB,EAClB,MAAe;IAEf,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAE/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,aAAa;YAAE,OAAO,QAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM;aAChB,WAAW,EAAE;aACb,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,aAAa,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;AACxC,CAAC"}
@@ -1,2 +0,0 @@
1
- export { computeTargetBranch, computeTicketBranch } from './branch.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dev/lifecycle/branch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export { computeTargetBranch, computeTicketBranch } from './branch.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dev/lifecycle/branch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Resolve the conventional commit type for a ticket.
3
- *
4
- * Maps board-specific ticket types (e.g., Shortcut `story_type`,
5
- * Jira `issuetype`, Azure DevOps `WorkItemType`) to conventional
6
- * commit prefixes (`feat`, `fix`, `chore`). Falls back to `feat`
7
- * when the ticket type is unknown or not provided.
8
- */
9
- /** Known commit types for PR titles. */
10
- type CommitType = 'feat' | 'fix' | 'chore';
11
- /**
12
- * Resolve a conventional commit type from a board ticket type string.
13
- *
14
- * Matches against known keywords case-insensitively. Returns `'feat'`
15
- * when the ticket type is `undefined`, empty, or unrecognised.
16
- *
17
- * @param ticketType - The raw ticket type from the board (e.g., `'Bug'`, `'feature'`, `'Task'`).
18
- * @returns The conventional commit type.
19
- */
20
- export declare function resolveCommitType(ticketType: string | undefined): CommitType;
21
- export {};
22
- //# sourceMappingURL=commit-type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commit-type.d.ts","sourceRoot":"","sources":["../../../../src/dev/lifecycle/commit-type/commit-type.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wCAAwC;AACxC,KAAK,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAyB3C;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAU5E"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Resolve the conventional commit type for a ticket.
3
- *
4
- * Maps board-specific ticket types (e.g., Shortcut `story_type`,
5
- * Jira `issuetype`, Azure DevOps `WorkItemType`) to conventional
6
- * commit prefixes (`feat`, `fix`, `chore`). Falls back to `feat`
7
- * when the ticket type is unknown or not provided.
8
- */
9
- /**
10
- * Keywords that map to `fix` — matched case-insensitively against
11
- * the raw ticket type string.
12
- */
13
- const FIX_KEYWORDS = ['bug', 'bugfix', 'defect', 'hotfix', 'incident'];
14
- /**
15
- * Keywords that map to `chore` — matched case-insensitively.
16
- */
17
- const CHORE_KEYWORDS = [
18
- 'chore',
19
- 'task',
20
- 'maintenance',
21
- 'spike',
22
- 'tech debt',
23
- 'infrastructure',
24
- ];
25
- /** Check whether `text` contains `keyword` as a whole word. */
26
- function matchesWord(text, keyword) {
27
- return new RegExp(`\\b${keyword}\\b`).test(text);
28
- }
29
- /**
30
- * Resolve a conventional commit type from a board ticket type string.
31
- *
32
- * Matches against known keywords case-insensitively. Returns `'feat'`
33
- * when the ticket type is `undefined`, empty, or unrecognised.
34
- *
35
- * @param ticketType - The raw ticket type from the board (e.g., `'Bug'`, `'feature'`, `'Task'`).
36
- * @returns The conventional commit type.
37
- */
38
- export function resolveCommitType(ticketType) {
39
- if (!ticketType)
40
- return 'feat';
41
- const lower = ticketType.toLowerCase().trim();
42
- if (!lower)
43
- return 'feat';
44
- if (FIX_KEYWORDS.some((kw) => matchesWord(lower, kw)))
45
- return 'fix';
46
- if (CHORE_KEYWORDS.some((kw) => matchesWord(lower, kw)))
47
- return 'chore';
48
- return 'feat';
49
- }
50
- //# sourceMappingURL=commit-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commit-type.js","sourceRoot":"","sources":["../../../../src/dev/lifecycle/commit-type/commit-type.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB,OAAO;IACP,MAAM;IACN,aAAa;IACb,OAAO;IACP,WAAW;IACX,gBAAgB;CACjB,CAAC;AAEF,+DAA+D;AAC/D,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe;IAChD,OAAO,IAAI,MAAM,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA8B;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC;IAE/B,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAE1B,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAExE,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { resolveCommitType } from './commit-type.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dev/lifecycle/commit-type/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { resolveCommitType } from './commit-type.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dev/lifecycle/commit-type/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,28 +0,0 @@
1
- /** Injected filesystem operations for cost log I/O. */
2
- export type CostFs = {
3
- /** Append UTF-8 content to a file (creates if missing). */
4
- readonly appendFile: (path: string, content: string) => void;
5
- /** Create directory recursively. */
6
- readonly mkdir: (path: string) => void;
7
- };
8
- /** Options for appending a cost entry. */
9
- type CostEntryOpts = {
10
- readonly ticketKey: string;
11
- readonly startedAt: string;
12
- readonly now: number;
13
- readonly tokenRate?: number;
14
- };
15
- /**
16
- * Append a cost entry to `.clancy/costs.log`.
17
- *
18
- * Calculates session duration from `startedAt` to `now`, estimates token
19
- * usage based on the token rate, and appends a human-readable line.
20
- *
21
- * @param fs - Injected filesystem operations.
22
- * @param projectRoot - Absolute path to the project root.
23
- * @param opts - Cost entry options (ticket key, timestamps, token rate).
24
- * @returns Nothing. Best-effort — invalid timestamps produce `0min`.
25
- */
26
- export declare function appendCostEntry(fs: CostFs, projectRoot: string, opts: CostEntryOpts): void;
27
- export {};
28
- //# sourceMappingURL=cost.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../../../src/dev/lifecycle/cost/cost.ts"],"names":[],"mappings":"AAUA,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG;IACnB,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,0CAA0C;AAC1C,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAWF;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,GAClB,IAAI,CAaN"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Cost estimation logger for `.clancy/costs.log`.
3
- *
4
- * Appends duration-based token cost estimates per ticket. Filesystem
5
- * access is dependency-injected for testability.
6
- */
7
- import { join } from 'node:path';
8
- // ─── Constants ───────────────────────────────────────────────────────────────
9
- const CLANCY_DIR = '.clancy';
10
- const COSTS_FILE = 'costs.log';
11
- const DEFAULT_TOKEN_RATE = 6600;
12
- const MS_PER_MINUTE = 60_000;
13
- // ─── Public API ──────────────────────────────────────────────────────────────
14
- /**
15
- * Append a cost entry to `.clancy/costs.log`.
16
- *
17
- * Calculates session duration from `startedAt` to `now`, estimates token
18
- * usage based on the token rate, and appends a human-readable line.
19
- *
20
- * @param fs - Injected filesystem operations.
21
- * @param projectRoot - Absolute path to the project root.
22
- * @param opts - Cost entry options (ticket key, timestamps, token rate).
23
- * @returns Nothing. Best-effort — invalid timestamps produce `0min`.
24
- */
25
- export function appendCostEntry(fs, projectRoot, opts) {
26
- const { ticketKey, startedAt, now, tokenRate = DEFAULT_TOKEN_RATE } = opts;
27
- const start = new Date(startedAt).getTime();
28
- const durationMs = Number.isNaN(start) ? 0 : Math.max(0, now - start);
29
- const durationMin = Math.round(durationMs / MS_PER_MINUTE);
30
- const estimatedTokens = Math.round(durationMin * tokenRate);
31
- const timestamp = new Date(now).toISOString();
32
- const line = `${timestamp} | ${ticketKey} | ${durationMin}min | ~${estimatedTokens} tokens (estimated)\n`;
33
- fs.mkdir(join(projectRoot, CLANCY_DIR));
34
- fs.appendFile(join(projectRoot, CLANCY_DIR, COSTS_FILE), line);
35
- }
36
- //# sourceMappingURL=cost.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../../../src/dev/lifecycle/cost/cost.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoBjC,gFAAgF;AAEhF,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,UAAU,GAAG,WAAW,CAAC;AAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAU,EACV,WAAmB,EACnB,IAAmB;IAEnB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAE3E,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,SAAS,MAAM,SAAS,MAAM,WAAW,UAAU,eAAe,uBAAuB,CAAC;IAE1G,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IACxC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Epic PR delivery — create the final PR from epic branch to base branch.
3
- *
4
- * Called by the epic-completion phase when all children of an epic are
5
- * done. Gathers child entries from progress, builds the epic PR body,
6
- * creates the PR, and appends progress. Returns structured results —
7
- * no console output. Board transitions are the caller's responsibility.
8
- */
9
- import type { FetchFn } from '../../../dev/lifecycle/pr-creation/index.js';
10
- import type { ProgressFs } from '../../../dev/lifecycle/progress/index.js';
11
- import type { BoardConfig } from '../../../schemas/env/env.js';
12
- import type { ExecGit } from '../../../shared/git-ops/index.js';
13
- import { computeDeliveryOutcome } from '../../../dev/lifecycle/outcome/index.js';
14
- /** Options for {@link deliverEpicToBase}. */
15
- type DeliverEpicOpts = {
16
- readonly exec: ExecGit;
17
- readonly fetchFn: FetchFn;
18
- readonly progressFs: ProgressFs;
19
- readonly projectRoot: string;
20
- readonly config: BoardConfig;
21
- readonly epicKey: string;
22
- readonly epicTitle: string;
23
- readonly epicBranch: string;
24
- readonly baseBranch: string;
25
- readonly ticketType?: string;
26
- };
27
- /** Result of an epic delivery attempt. */
28
- type DeliverEpicResult = {
29
- readonly ok: boolean;
30
- readonly outcome: ReturnType<typeof computeDeliveryOutcome>;
31
- };
32
- /**
33
- * Create the final PR from the epic branch to the base branch.
34
- *
35
- * Gathers child entries from progress, builds the PR body, attempts
36
- * PR creation, computes the outcome, and appends progress. Returns
37
- * a structured result — no console output.
38
- *
39
- * @param opts - Epic delivery options with DI dependencies.
40
- * @returns Result with `ok` status and delivery outcome.
41
- */
42
- export declare function deliverEpicToBase(opts: DeliverEpicOpts): Promise<DeliverEpicResult>;
43
- export {};
44
- //# sourceMappingURL=deliver-epic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deliver-epic.d.ts","sourceRoot":"","sources":["../../../../src/dev/lifecycle/deliver-epic/deliver-epic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAK3D,OAAO,EACL,sBAAsB,EAEvB,MAAM,oCAAoC,CAAC;AAQ5C,6CAA6C;AAC7C,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,0CAA0C;AAC1C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;CAC7D,CAAC;AAIF;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAqB5B"}
@@ -1,75 +0,0 @@
1
- import { resolveCommitType } from '../../../dev/lifecycle/commit-type/index.js';
2
- import { gatherChildEntries } from '../../../dev/lifecycle/epic/index.js';
3
- import { computeDeliveryOutcome, progressForOutcome, } from '../../../dev/lifecycle/outcome/index.js';
4
- import { attemptPrCreation } from '../../../dev/lifecycle/pr-creation/index.js';
5
- import { appendProgress } from '../../../dev/lifecycle/progress/index.js';
6
- import { buildEpicPrBody } from '../../../dev/lifecycle/pull-request/pr-body/index.js';
7
- import { detectRemote } from '../../../shared/git-ops/index.js';
8
- // ─── Public API ──────────────────────────────────────────────────────────────
9
- /**
10
- * Create the final PR from the epic branch to the base branch.
11
- *
12
- * Gathers child entries from progress, builds the PR body, attempts
13
- * PR creation, computes the outcome, and appends progress. Returns
14
- * a structured result — no console output.
15
- *
16
- * @param opts - Epic delivery options with DI dependencies.
17
- * @returns Result with `ok` status and delivery outcome.
18
- */
19
- export async function deliverEpicToBase(opts) {
20
- const { exec, config, epicKey, epicBranch, baseBranch } = opts;
21
- const childEntries = gatherChildEntries({
22
- progressFs: opts.progressFs,
23
- projectRoot: opts.projectRoot,
24
- epicKey,
25
- });
26
- const remote = detectRemote(exec, config.env.CLANCY_GIT_PLATFORM);
27
- const prResult = await createEpicPr(opts, remote, childEntries);
28
- const outcome = computeDeliveryOutcome({
29
- pr: prResult,
30
- remote,
31
- sourceBranch: epicBranch,
32
- targetBranch: baseBranch,
33
- });
34
- appendEpicProgress(opts, outcome);
35
- return resolveResult(outcome);
36
- }
37
- // ─── Internal helpers ────────────────────────────────────────────────────────
38
- /** Build and attempt the epic PR creation. */
39
- async function createEpicPr(opts, remote, childEntries) {
40
- const { fetchFn, config, epicKey, epicTitle, epicBranch, baseBranch } = opts;
41
- const commitType = resolveCommitType(opts.ticketType);
42
- const prTitle = `${commitType}(${epicKey}): ${epicTitle}`;
43
- const prBody = buildEpicPrBody({
44
- epicKey,
45
- epicTitle,
46
- childEntries,
47
- provider: config.provider,
48
- });
49
- return attemptPrCreation({
50
- fetchFn,
51
- env: config.env,
52
- remote,
53
- sourceBranch: epicBranch,
54
- targetBranch: baseBranch,
55
- title: prTitle,
56
- body: prBody,
57
- });
58
- }
59
- /** Append epic progress based on outcome. */
60
- function appendEpicProgress(opts, outcome) {
61
- const { status, prNumber } = progressForOutcome(outcome);
62
- const epicStatus = status === 'PR_CREATED' ? 'EPIC_PR_CREATED' : status;
63
- appendProgress(opts.progressFs, opts.projectRoot, {
64
- key: opts.epicKey,
65
- summary: opts.epicTitle,
66
- status: epicStatus,
67
- prNumber,
68
- });
69
- }
70
- /** Map outcome to result — created/exists are ok, all others are not. */
71
- function resolveResult(outcome) {
72
- const ok = outcome.type === 'created' || outcome.type === 'exists';
73
- return { ok, outcome };
74
- }
75
- //# sourceMappingURL=deliver-epic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deliver-epic.js","sourceRoot":"","sources":["../../../../src/dev/lifecycle/deliver-epic/deliver-epic.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- /**
2
- * PR delivery orchestration.
3
- *
4
- * Push branch to remote, create PR/MR, compute outcome, and append
5
- * progress. No console output — returns structured results for the
6
- * terminal layer to display.
7
- */
8
- import type { FetchFn } from '../../../dev/lifecycle/pr-creation/index.js';
9
- import type { ProgressFs } from '../../../dev/lifecycle/progress/index.js';
10
- import type { BoardConfig } from '../../../schemas/env/env.js';
11
- import type { ExecGit } from '../../../shared/git-ops/index.js';
12
- import type { FetchedTicket } from '../../../types/board.js';
13
- import type { PrCreationResult } from '../../../types/remote.js';
14
- import { computeDeliveryOutcome } from '../../../dev/lifecycle/outcome/index.js';
15
- /** Filesystem for reading verification attempt counter. */
16
- type DeliverFs = {
17
- readonly readFile: (path: string) => string;
18
- };
19
- /** Options for {@link deliverViaPullRequest}. */
20
- type DeliverOpts = {
21
- readonly exec: ExecGit;
22
- readonly fetchFn: FetchFn;
23
- readonly progressFs: ProgressFs;
24
- readonly deliverFs: DeliverFs;
25
- readonly projectRoot: string;
26
- readonly config: BoardConfig;
27
- readonly ticket: FetchedTicket;
28
- readonly ticketBranch: string;
29
- readonly targetBranch: string;
30
- readonly skipLog?: boolean;
31
- readonly parent?: string;
32
- readonly singleChildParent?: string;
33
- };
34
- /** Result of a delivery attempt. */
35
- type DeliveryResult = {
36
- readonly pushed: boolean;
37
- readonly outcome: ReturnType<typeof computeDeliveryOutcome>;
38
- readonly prResult?: PrCreationResult;
39
- };
40
- /**
41
- * Push branch to remote, create PR/MR, compute outcome, and append progress.
42
- *
43
- * Returns a structured result — no console output. The terminal layer
44
- * handles logging and board transitions based on the outcome.
45
- *
46
- * @param opts - Delivery options with DI dependencies.
47
- * @returns Delivery result with push status, outcome, and optional PR info.
48
- */
49
- export declare function deliverViaPullRequest(opts: DeliverOpts): Promise<DeliveryResult>;
50
- export {};
51
- //# sourceMappingURL=deliver-ticket.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deliver-ticket.d.ts","sourceRoot":"","sources":["../../../../src/dev/lifecycle/deliver-ticket/deliver-ticket.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,qBAAqB,CAAC;AAIxE,OAAO,EACL,sBAAsB,EAEvB,MAAM,oCAAoC,CAAC;AAY5C,2DAA2D;AAC3D,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7C,CAAC;AAEF,iDAAiD;AACjD,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,oCAAoC;AACpC,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CACtC,CAAC;AAIF;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,cAAc,CAAC,CAsBzB"}
@@ -1,132 +0,0 @@
1
- import { resolveCommitType } from '../../../dev/lifecycle/commit-type/index.js';
2
- import { buildEpicContext } from '../../../dev/lifecycle/epic/index.js';
3
- import { computeDeliveryOutcome, progressForOutcome, } from '../../../dev/lifecycle/outcome/index.js';
4
- import { attemptPrCreation } from '../../../dev/lifecycle/pr-creation/index.js';
5
- import { appendProgress } from '../../../dev/lifecycle/progress/index.js';
6
- import { buildPrBody } from '../../../dev/lifecycle/pull-request/pr-body/index.js';
7
- import { checkout, detectRemote, pushBranch, } from '../../../shared/git-ops/index.js';
8
- // ─── Public API ──────────────────────────────────────────────────────────────
9
- /**
10
- * Push branch to remote, create PR/MR, compute outcome, and append progress.
11
- *
12
- * Returns a structured result — no console output. The terminal layer
13
- * handles logging and board transitions based on the outcome.
14
- *
15
- * @param opts - Delivery options with DI dependencies.
16
- * @returns Delivery result with push status, outcome, and optional PR info.
17
- */
18
- export async function deliverViaPullRequest(opts) {
19
- const { exec, ticketBranch, targetBranch } = opts;
20
- const pushed = pushBranch(exec, ticketBranch);
21
- if (!pushed) {
22
- return handlePushFailure(opts);
23
- }
24
- const remote = detectRemote(exec, opts.config.env.CLANCY_GIT_PLATFORM);
25
- const prResult = await createPr(opts, remote);
26
- const outcome = computeDeliveryOutcome({
27
- pr: prResult,
28
- remote,
29
- sourceBranch: ticketBranch,
30
- targetBranch,
31
- });
32
- appendDeliveryProgress(opts, outcome);
33
- safeCheckout(exec, targetBranch);
34
- return { pushed: true, outcome, prResult };
35
- }
36
- // ─── Internal helpers ────────────────────────────────────────────────────────
37
- /** Handle push failure: log progress and return failure result. */
38
- function handlePushFailure(opts) {
39
- const { exec, progressFs, projectRoot, ticket, targetBranch } = opts;
40
- const { skipLog = false, parent } = opts;
41
- if (!skipLog) {
42
- appendProgress(progressFs, projectRoot, {
43
- key: ticket.key,
44
- summary: ticket.title,
45
- status: 'PUSH_FAILED',
46
- parent,
47
- });
48
- }
49
- safeCheckout(exec, targetBranch);
50
- return {
51
- pushed: false,
52
- outcome: { type: 'local' },
53
- };
54
- }
55
- /** Attempt PR creation with platform dispatch. */
56
- async function createPr(opts, remote) {
57
- const { fetchFn, config, ticket, ticketBranch, targetBranch } = opts;
58
- const commitType = resolveCommitType(ticket.ticketType);
59
- const prTitle = `${commitType}(${ticket.key}): ${ticket.title}`;
60
- const epicContext = resolveEpicContext(opts);
61
- const prBody = buildPrBody({
62
- config,
63
- ticket: {
64
- key: ticket.key,
65
- title: ticket.title,
66
- description: ticket.description,
67
- provider: config.provider,
68
- },
69
- targetBranch,
70
- verificationWarning: readVerificationWarning(opts),
71
- singleChildParent: opts.singleChildParent,
72
- epicContext,
73
- });
74
- return attemptPrCreation({
75
- fetchFn,
76
- env: config.env,
77
- remote,
78
- sourceBranch: ticketBranch,
79
- targetBranch,
80
- title: prTitle,
81
- body: prBody,
82
- });
83
- }
84
- /** Build epic context for child PRs targeting epic branches. */
85
- function resolveEpicContext(opts) {
86
- return buildEpicContext({
87
- progressFs: opts.progressFs,
88
- projectRoot: opts.projectRoot,
89
- parent: opts.parent,
90
- targetBranch: opts.targetBranch,
91
- ticketKey: opts.ticket.key,
92
- });
93
- }
94
- /** Read the verification attempt counter. Returns warning or `undefined`. */
95
- function readVerificationWarning(opts) {
96
- try {
97
- const attempt = opts.deliverFs
98
- .readFile(`${opts.projectRoot}/.clancy/verify-attempt.txt`)
99
- .trim();
100
- const attemptNum = parseInt(attempt, 10);
101
- if (attemptNum > 0) {
102
- return `Verification checks did not fully pass (${attemptNum} attempt(s)). Review carefully.`;
103
- }
104
- }
105
- catch {
106
- // No verify-attempt file — verification passed or wasn't run
107
- }
108
- return undefined;
109
- }
110
- /** Append delivery progress based on outcome. */
111
- function appendDeliveryProgress(opts, outcome) {
112
- if (opts.skipLog)
113
- return;
114
- const { status, prNumber } = progressForOutcome(outcome);
115
- appendProgress(opts.progressFs, opts.projectRoot, {
116
- key: opts.ticket.key,
117
- summary: opts.ticket.title,
118
- status,
119
- prNumber,
120
- parent: opts.parent,
121
- });
122
- }
123
- /** Checkout a branch, ignoring errors. */
124
- function safeCheckout(exec, branch) {
125
- try {
126
- checkout(exec, branch);
127
- }
128
- catch {
129
- // Best-effort
130
- }
131
- }
132
- //# sourceMappingURL=deliver-ticket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deliver-ticket.js","sourceRoot":"","sources":["../../../../src/dev/lifecycle/deliver-ticket/deliver-ticket.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,UAAU,GACX,MAAM,6BAA6B,CAAC;AAgCrC,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAiB;IAEjB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAElD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,sBAAsB,CAAC;QACrC,EAAE,EAAE,QAAQ;QACZ,MAAM;QACN,YAAY,EAAE,YAAY;QAC1B,YAAY;KACb,CAAC,CAAC;IAEH,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAEjC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC7C,CAAC;AAED,gFAAgF;AAEhF,mEAAmE;AACnE,SAAS,iBAAiB,CAAC,IAAiB;IAC1C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACrE,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE;YACtC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,KAAK;YACrB,MAAM,EAAE,aAAa;YACrB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAEjC,OAAO;QACL,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KAC3B,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,KAAK,UAAU,QAAQ,CACrB,IAAiB,EACjB,MAAkB;IAElB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAErE,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAChE,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,MAAM;QACN,MAAM,EAAE;YACN,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;QACD,YAAY;QACZ,mBAAmB,EAAE,uBAAuB,CAAC,IAAI,CAAC;QAClD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,WAAW;KACZ,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;QACvB,OAAO;QACP,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,MAAM;QACN,YAAY,EAAE,YAAY;QAC1B,YAAY;QACZ,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;AACL,CAAC;AAED,gEAAgE;AAChE,SAAS,kBAAkB,CAAC,IAAiB;IAC3C,OAAO,gBAAgB,CAAC;QACtB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,SAAS,uBAAuB,CAAC,IAAiB;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS;aAC3B,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,6BAA6B,CAAC;aAC1D,IAAI,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,2CAA2C,UAAU,iCAAiC,CAAC;QAChG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,iDAAiD;AACjD,SAAS,sBAAsB,CAC7B,IAAiB,EACjB,OAAkD;IAElD,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO;IAEzB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzD,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;QAChD,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;QACpB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;QAC1B,MAAM;QACN,QAAQ;QACR,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC;AAED,0CAA0C;AAC1C,SAAS,YAAY,CAAC,IAAa,EAAE,MAAc;IACjD,IAAI,CAAC;QACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;AACH,CAAC"}