@camaradesuk/git-worktree-tools 1.8.0 → 1.10.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 (353) hide show
  1. package/README.md +48 -27
  2. package/dist/cli/cleanpr.js +74 -53
  3. package/dist/cli/cleanpr.js.map +1 -1
  4. package/dist/cli/cleanpr.test.js +2 -0
  5. package/dist/cli/cleanpr.test.js.map +1 -1
  6. package/dist/cli/lswt.js +32 -56
  7. package/dist/cli/lswt.js.map +1 -1
  8. package/dist/cli/lswt.test.js +17 -27
  9. package/dist/cli/lswt.test.js.map +1 -1
  10. package/dist/cli/newpr.d.ts +13 -1
  11. package/dist/cli/newpr.d.ts.map +1 -1
  12. package/dist/cli/newpr.js +350 -151
  13. package/dist/cli/newpr.js.map +1 -1
  14. package/dist/cli/newpr.test.js +314 -5
  15. package/dist/cli/newpr.test.js.map +1 -1
  16. package/dist/cli/prs.d.ts +3 -10
  17. package/dist/cli/prs.d.ts.map +1 -1
  18. package/dist/cli/prs.js +6 -168
  19. package/dist/cli/prs.js.map +1 -1
  20. package/dist/cli/prs.test.js +55 -0
  21. package/dist/cli/prs.test.js.map +1 -1
  22. package/dist/cli/wt/clean.d.ts +6 -2
  23. package/dist/cli/wt/clean.d.ts.map +1 -1
  24. package/dist/cli/wt/clean.js +401 -20
  25. package/dist/cli/wt/clean.js.map +1 -1
  26. package/dist/cli/wt/clean.test.d.ts +8 -0
  27. package/dist/cli/wt/clean.test.d.ts.map +1 -0
  28. package/dist/cli/wt/clean.test.js +624 -0
  29. package/dist/cli/wt/clean.test.js.map +1 -0
  30. package/dist/cli/wt/completion.d.ts +3 -0
  31. package/dist/cli/wt/completion.d.ts.map +1 -1
  32. package/dist/cli/wt/completion.js +80 -9
  33. package/dist/cli/wt/completion.js.map +1 -1
  34. package/dist/cli/wt/completion.test.js +102 -0
  35. package/dist/cli/wt/completion.test.js.map +1 -1
  36. package/dist/cli/wt/config.d.ts +3 -1
  37. package/dist/cli/wt/config.d.ts.map +1 -1
  38. package/dist/cli/wt/config.js +323 -32
  39. package/dist/cli/wt/config.js.map +1 -1
  40. package/dist/cli/wt/config.test.d.ts +2 -0
  41. package/dist/cli/wt/config.test.d.ts.map +1 -1
  42. package/dist/cli/wt/config.test.js +206 -26
  43. package/dist/cli/wt/config.test.js.map +1 -1
  44. package/dist/cli/wt/interactive-menu.d.ts +2 -0
  45. package/dist/cli/wt/interactive-menu.d.ts.map +1 -1
  46. package/dist/cli/wt/interactive-menu.js +346 -73
  47. package/dist/cli/wt/interactive-menu.js.map +1 -1
  48. package/dist/cli/wt/interactive-menu.test.d.ts +4 -2
  49. package/dist/cli/wt/interactive-menu.test.d.ts.map +1 -1
  50. package/dist/cli/wt/interactive-menu.test.js +383 -323
  51. package/dist/cli/wt/interactive-menu.test.js.map +1 -1
  52. package/dist/cli/wt/link.d.ts +3 -1
  53. package/dist/cli/wt/link.d.ts.map +1 -1
  54. package/dist/cli/wt/link.js +125 -38
  55. package/dist/cli/wt/link.js.map +1 -1
  56. package/dist/cli/wt/list.d.ts +4 -1
  57. package/dist/cli/wt/list.d.ts.map +1 -1
  58. package/dist/cli/wt/list.js +85 -16
  59. package/dist/cli/wt/list.js.map +1 -1
  60. package/dist/cli/wt/list.test.d.ts +10 -0
  61. package/dist/cli/wt/list.test.d.ts.map +1 -0
  62. package/dist/cli/wt/list.test.js +157 -0
  63. package/dist/cli/wt/list.test.js.map +1 -0
  64. package/dist/cli/wt/new.d.ts +8 -2
  65. package/dist/cli/wt/new.d.ts.map +1 -1
  66. package/dist/cli/wt/new.js +91 -46
  67. package/dist/cli/wt/new.js.map +1 -1
  68. package/dist/cli/wt/prs.d.ts +2 -1
  69. package/dist/cli/wt/prs.d.ts.map +1 -1
  70. package/dist/cli/wt/prs.js +3 -164
  71. package/dist/cli/wt/prs.js.map +1 -1
  72. package/dist/cli/wt/run-command.d.ts +4 -2
  73. package/dist/cli/wt/run-command.d.ts.map +1 -1
  74. package/dist/cli/wt/run-command.js +6 -4
  75. package/dist/cli/wt/run-command.js.map +1 -1
  76. package/dist/cli/wt/state.d.ts +3 -1
  77. package/dist/cli/wt/state.d.ts.map +1 -1
  78. package/dist/cli/wt/state.js +74 -10
  79. package/dist/cli/wt/state.js.map +1 -1
  80. package/dist/cli/wt/state.test.d.ts +9 -0
  81. package/dist/cli/wt/state.test.d.ts.map +1 -0
  82. package/dist/cli/wt/state.test.js +127 -0
  83. package/dist/cli/wt/state.test.js.map +1 -0
  84. package/dist/cli/wt/wt.test.d.ts +2 -2
  85. package/dist/cli/wt/wt.test.js +430 -212
  86. package/dist/cli/wt/wt.test.js.map +1 -1
  87. package/dist/cli/wt.d.ts.map +1 -1
  88. package/dist/cli/wt.js +50 -36
  89. package/dist/cli/wt.js.map +1 -1
  90. package/dist/cli/wt.unit.test.js +16 -38
  91. package/dist/cli/wt.unit.test.js.map +1 -1
  92. package/dist/cli/wtconfig.d.ts +1 -0
  93. package/dist/cli/wtconfig.d.ts.map +1 -1
  94. package/dist/cli/wtconfig.js +213 -21
  95. package/dist/cli/wtconfig.js.map +1 -1
  96. package/dist/cli/wtconfig.test.js +3 -0
  97. package/dist/cli/wtconfig.test.js.map +1 -1
  98. package/dist/cli/wtlink.js +116 -73
  99. package/dist/cli/wtlink.js.map +1 -1
  100. package/dist/cli/wtstate.js +21 -2
  101. package/dist/cli/wtstate.js.map +1 -1
  102. package/dist/e2e/wt/interactive-menu.e2e.test.js +17 -17
  103. package/dist/e2e/wt/interactive-menu.e2e.test.js.map +1 -1
  104. package/dist/lib/ai/types.d.ts +12 -0
  105. package/dist/lib/ai/types.d.ts.map +1 -1
  106. package/dist/lib/ai/types.js.map +1 -1
  107. package/dist/lib/cleanpr/args.d.ts.map +1 -1
  108. package/dist/lib/cleanpr/args.js +20 -0
  109. package/dist/lib/cleanpr/args.js.map +1 -1
  110. package/dist/lib/cleanpr/types.d.ts +6 -0
  111. package/dist/lib/cleanpr/types.d.ts.map +1 -1
  112. package/dist/lib/cleanpr/worktree-info.d.ts.map +1 -1
  113. package/dist/lib/cleanpr/worktree-info.js +1 -6
  114. package/dist/lib/cleanpr/worktree-info.js.map +1 -1
  115. package/dist/lib/cleanpr/worktree-info.test.js +10 -13
  116. package/dist/lib/cleanpr/worktree-info.test.js.map +1 -1
  117. package/dist/lib/colors.d.ts +5 -0
  118. package/dist/lib/colors.d.ts.map +1 -1
  119. package/dist/lib/colors.js +13 -6
  120. package/dist/lib/colors.js.map +1 -1
  121. package/dist/lib/config-editor.d.ts.map +1 -1
  122. package/dist/lib/config-editor.js.map +1 -1
  123. package/dist/lib/config-migration/detector.d.ts +25 -0
  124. package/dist/lib/config-migration/detector.d.ts.map +1 -0
  125. package/dist/lib/config-migration/detector.js +372 -0
  126. package/dist/lib/config-migration/detector.js.map +1 -0
  127. package/dist/lib/config-migration/detector.test.d.ts +5 -0
  128. package/dist/lib/config-migration/detector.test.d.ts.map +1 -0
  129. package/dist/lib/config-migration/detector.test.js +201 -0
  130. package/dist/lib/config-migration/detector.test.js.map +1 -0
  131. package/dist/lib/config-migration/index.d.ts +29 -0
  132. package/dist/lib/config-migration/index.d.ts.map +1 -0
  133. package/dist/lib/config-migration/index.js +33 -0
  134. package/dist/lib/config-migration/index.js.map +1 -0
  135. package/dist/lib/config-migration/reporter.d.ts +53 -0
  136. package/dist/lib/config-migration/reporter.d.ts.map +1 -0
  137. package/dist/lib/config-migration/reporter.js +257 -0
  138. package/dist/lib/config-migration/reporter.js.map +1 -0
  139. package/dist/lib/config-migration/reporter.test.d.ts +5 -0
  140. package/dist/lib/config-migration/reporter.test.d.ts.map +1 -0
  141. package/dist/lib/config-migration/reporter.test.js +305 -0
  142. package/dist/lib/config-migration/reporter.test.js.map +1 -0
  143. package/dist/lib/config-migration/runner.d.ts +46 -0
  144. package/dist/lib/config-migration/runner.d.ts.map +1 -0
  145. package/dist/lib/config-migration/runner.js +364 -0
  146. package/dist/lib/config-migration/runner.js.map +1 -0
  147. package/dist/lib/config-migration/runner.test.d.ts +5 -0
  148. package/dist/lib/config-migration/runner.test.d.ts.map +1 -0
  149. package/dist/lib/config-migration/runner.test.js +235 -0
  150. package/dist/lib/config-migration/runner.test.js.map +1 -0
  151. package/dist/lib/config-migration/types.d.ts +120 -0
  152. package/dist/lib/config-migration/types.d.ts.map +1 -0
  153. package/dist/lib/config-migration/types.js +70 -0
  154. package/dist/lib/config-migration/types.js.map +1 -0
  155. package/dist/lib/config-validation.d.ts.map +1 -1
  156. package/dist/lib/config-validation.js +6 -0
  157. package/dist/lib/config-validation.js.map +1 -1
  158. package/dist/lib/config-validation.test.js +25 -0
  159. package/dist/lib/config-validation.test.js.map +1 -1
  160. package/dist/lib/config.d.ts +31 -7
  161. package/dist/lib/config.d.ts.map +1 -1
  162. package/dist/lib/config.js +2 -0
  163. package/dist/lib/config.js.map +1 -1
  164. package/dist/lib/config.test.js +3 -15
  165. package/dist/lib/config.test.js.map +1 -1
  166. package/dist/lib/constants.d.ts +12 -4
  167. package/dist/lib/constants.d.ts.map +1 -1
  168. package/dist/lib/constants.js +24 -5
  169. package/dist/lib/constants.js.map +1 -1
  170. package/dist/lib/constants.test.js +88 -29
  171. package/dist/lib/constants.test.js.map +1 -1
  172. package/dist/lib/deprecation.d.ts +18 -0
  173. package/dist/lib/deprecation.d.ts.map +1 -0
  174. package/dist/lib/deprecation.js +28 -0
  175. package/dist/lib/deprecation.js.map +1 -0
  176. package/dist/lib/deprecation.test.d.ts +2 -0
  177. package/dist/lib/deprecation.test.d.ts.map +1 -0
  178. package/dist/lib/deprecation.test.js +71 -0
  179. package/dist/lib/deprecation.test.js.map +1 -0
  180. package/dist/lib/hooks/confirmation.d.ts +49 -0
  181. package/dist/lib/hooks/confirmation.d.ts.map +1 -0
  182. package/dist/lib/hooks/confirmation.js +147 -0
  183. package/dist/lib/hooks/confirmation.js.map +1 -0
  184. package/dist/lib/hooks/confirmation.test.d.ts +7 -0
  185. package/dist/lib/hooks/confirmation.test.d.ts.map +1 -0
  186. package/dist/lib/hooks/confirmation.test.js +300 -0
  187. package/dist/lib/hooks/confirmation.test.js.map +1 -0
  188. package/dist/lib/hooks/executor.d.ts +16 -1
  189. package/dist/lib/hooks/executor.d.ts.map +1 -1
  190. package/dist/lib/hooks/executor.js +53 -4
  191. package/dist/lib/hooks/executor.js.map +1 -1
  192. package/dist/lib/hooks/index.d.ts +4 -2
  193. package/dist/lib/hooks/index.d.ts.map +1 -1
  194. package/dist/lib/hooks/index.js +3 -2
  195. package/dist/lib/hooks/index.js.map +1 -1
  196. package/dist/lib/hooks/types.d.ts +16 -0
  197. package/dist/lib/hooks/types.d.ts.map +1 -1
  198. package/dist/lib/hooks/types.js +12 -0
  199. package/dist/lib/hooks/types.js.map +1 -1
  200. package/dist/lib/logger.d.ts +40 -155
  201. package/dist/lib/logger.d.ts.map +1 -1
  202. package/dist/lib/logger.js +349 -420
  203. package/dist/lib/logger.js.map +1 -1
  204. package/dist/lib/logger.test.d.ts +10 -1
  205. package/dist/lib/logger.test.d.ts.map +1 -1
  206. package/dist/lib/logger.test.js +658 -258
  207. package/dist/lib/logger.test.js.map +1 -1
  208. package/dist/lib/lswt/action-executors.d.ts +2 -0
  209. package/dist/lib/lswt/action-executors.d.ts.map +1 -1
  210. package/dist/lib/lswt/action-executors.js +4 -3
  211. package/dist/lib/lswt/action-executors.js.map +1 -1
  212. package/dist/lib/lswt/action-executors.test.js +7 -0
  213. package/dist/lib/lswt/action-executors.test.js.map +1 -1
  214. package/dist/lib/lswt/args.d.ts.map +1 -1
  215. package/dist/lib/lswt/args.js +15 -1
  216. package/dist/lib/lswt/args.js.map +1 -1
  217. package/dist/lib/lswt/environment.d.ts +21 -2
  218. package/dist/lib/lswt/environment.d.ts.map +1 -1
  219. package/dist/lib/lswt/environment.js +73 -32
  220. package/dist/lib/lswt/environment.js.map +1 -1
  221. package/dist/lib/lswt/environment.test.js +79 -1
  222. package/dist/lib/lswt/environment.test.js.map +1 -1
  223. package/dist/lib/lswt/index.d.ts +1 -0
  224. package/dist/lib/lswt/index.d.ts.map +1 -1
  225. package/dist/lib/lswt/index.js +2 -0
  226. package/dist/lib/lswt/index.js.map +1 -1
  227. package/dist/lib/lswt/table.d.ts +15 -0
  228. package/dist/lib/lswt/table.d.ts.map +1 -0
  229. package/dist/lib/lswt/table.js +61 -0
  230. package/dist/lib/lswt/table.js.map +1 -0
  231. package/dist/lib/lswt/table.test.d.ts +5 -0
  232. package/dist/lib/lswt/table.test.d.ts.map +1 -0
  233. package/dist/lib/lswt/table.test.js +262 -0
  234. package/dist/lib/lswt/table.test.js.map +1 -0
  235. package/dist/lib/lswt/types.d.ts +4 -0
  236. package/dist/lib/lswt/types.d.ts.map +1 -1
  237. package/dist/lib/lswt/worktree-info.d.ts.map +1 -1
  238. package/dist/lib/lswt/worktree-info.js +1 -6
  239. package/dist/lib/lswt/worktree-info.js.map +1 -1
  240. package/dist/lib/lswt/worktree-info.test.js +5 -17
  241. package/dist/lib/lswt/worktree-info.test.js.map +1 -1
  242. package/dist/lib/newpr/args.d.ts.map +1 -1
  243. package/dist/lib/newpr/args.js +36 -1
  244. package/dist/lib/newpr/args.js.map +1 -1
  245. package/dist/lib/newpr/hook-runner.d.ts +11 -0
  246. package/dist/lib/newpr/hook-runner.d.ts.map +1 -1
  247. package/dist/lib/newpr/hook-runner.js +49 -1
  248. package/dist/lib/newpr/hook-runner.js.map +1 -1
  249. package/dist/lib/newpr/hook-runner.test.js +121 -0
  250. package/dist/lib/newpr/hook-runner.test.js.map +1 -1
  251. package/dist/lib/newpr/plan-generator.d.ts +121 -0
  252. package/dist/lib/newpr/plan-generator.d.ts.map +1 -0
  253. package/dist/lib/newpr/plan-generator.js +185 -0
  254. package/dist/lib/newpr/plan-generator.js.map +1 -0
  255. package/dist/lib/newpr/plan-generator.test.d.ts +7 -0
  256. package/dist/lib/newpr/plan-generator.test.d.ts.map +1 -0
  257. package/dist/lib/newpr/plan-generator.test.js +387 -0
  258. package/dist/lib/newpr/plan-generator.test.js.map +1 -0
  259. package/dist/lib/newpr/types.d.ts +12 -0
  260. package/dist/lib/newpr/types.d.ts.map +1 -1
  261. package/dist/lib/prs/actions.d.ts +5 -1
  262. package/dist/lib/prs/actions.d.ts.map +1 -1
  263. package/dist/lib/prs/actions.js +12 -10
  264. package/dist/lib/prs/actions.js.map +1 -1
  265. package/dist/lib/prs/actions.test.js +48 -5
  266. package/dist/lib/prs/actions.test.js.map +1 -1
  267. package/dist/lib/prs/command.d.ts +21 -0
  268. package/dist/lib/prs/command.d.ts.map +1 -0
  269. package/dist/lib/prs/command.js +175 -0
  270. package/dist/lib/prs/command.js.map +1 -0
  271. package/dist/lib/prs/command.test.d.ts +11 -0
  272. package/dist/lib/prs/command.test.d.ts.map +1 -0
  273. package/dist/lib/prs/command.test.js +409 -0
  274. package/dist/lib/prs/command.test.js.map +1 -0
  275. package/dist/lib/prs/interactive.d.ts.map +1 -1
  276. package/dist/lib/prs/interactive.js +15 -2
  277. package/dist/lib/prs/interactive.js.map +1 -1
  278. package/dist/lib/prs/interactive.test.js +153 -0
  279. package/dist/lib/prs/interactive.test.js.map +1 -1
  280. package/dist/lib/prs/types.d.ts +15 -0
  281. package/dist/lib/prs/types.d.ts.map +1 -1
  282. package/dist/lib/ui/error.d.ts +31 -0
  283. package/dist/lib/ui/error.d.ts.map +1 -0
  284. package/dist/lib/ui/error.js +47 -0
  285. package/dist/lib/ui/error.js.map +1 -0
  286. package/dist/lib/ui/error.test.d.ts +2 -0
  287. package/dist/lib/ui/error.test.d.ts.map +1 -0
  288. package/dist/lib/ui/error.test.js +143 -0
  289. package/dist/lib/ui/error.test.js.map +1 -0
  290. package/dist/lib/ui/index.d.ts +15 -0
  291. package/dist/lib/ui/index.d.ts.map +1 -0
  292. package/dist/lib/ui/index.js +19 -0
  293. package/dist/lib/ui/index.js.map +1 -0
  294. package/dist/lib/ui/output.d.ts +18 -0
  295. package/dist/lib/ui/output.d.ts.map +1 -0
  296. package/dist/lib/ui/output.js +31 -0
  297. package/dist/lib/ui/output.js.map +1 -0
  298. package/dist/lib/ui/output.test.d.ts +2 -0
  299. package/dist/lib/ui/output.test.d.ts.map +1 -0
  300. package/dist/lib/ui/output.test.js +59 -0
  301. package/dist/lib/ui/output.test.js.map +1 -0
  302. package/dist/lib/ui/spinner.d.ts +10 -0
  303. package/dist/lib/ui/spinner.d.ts.map +1 -0
  304. package/dist/lib/ui/spinner.js +10 -0
  305. package/dist/lib/ui/spinner.js.map +1 -0
  306. package/dist/lib/ui/status.d.ts +65 -0
  307. package/dist/lib/ui/status.d.ts.map +1 -0
  308. package/dist/lib/ui/status.js +100 -0
  309. package/dist/lib/ui/status.js.map +1 -0
  310. package/dist/lib/ui/status.test.d.ts +2 -0
  311. package/dist/lib/ui/status.test.d.ts.map +1 -0
  312. package/dist/lib/ui/status.test.js +158 -0
  313. package/dist/lib/ui/status.test.js.map +1 -0
  314. package/dist/lib/ui/table.d.ts +39 -0
  315. package/dist/lib/ui/table.d.ts.map +1 -0
  316. package/dist/lib/ui/table.js +45 -0
  317. package/dist/lib/ui/table.js.map +1 -0
  318. package/dist/lib/ui/table.test.d.ts +2 -0
  319. package/dist/lib/ui/table.test.d.ts.map +1 -0
  320. package/dist/lib/ui/table.test.js +115 -0
  321. package/dist/lib/ui/table.test.js.map +1 -0
  322. package/dist/lib/ui/theme.d.ts +34 -0
  323. package/dist/lib/ui/theme.d.ts.map +1 -0
  324. package/dist/lib/ui/theme.js +37 -0
  325. package/dist/lib/ui/theme.js.map +1 -0
  326. package/dist/lib/ui/theme.test.d.ts +2 -0
  327. package/dist/lib/ui/theme.test.d.ts.map +1 -0
  328. package/dist/lib/ui/theme.test.js +76 -0
  329. package/dist/lib/ui/theme.test.js.map +1 -0
  330. package/dist/lib/wtconfig/environment.d.ts +18 -1
  331. package/dist/lib/wtconfig/environment.d.ts.map +1 -1
  332. package/dist/lib/wtconfig/environment.js +60 -24
  333. package/dist/lib/wtconfig/environment.js.map +1 -1
  334. package/dist/lib/wtconfig/environment.test.js +45 -1
  335. package/dist/lib/wtconfig/environment.test.js.map +1 -1
  336. package/dist/lib/wtlink/config-manifest.test.js +26 -0
  337. package/dist/lib/wtlink/config-manifest.test.js.map +1 -1
  338. package/dist/lib/wtlink/link-configs.js +7 -7
  339. package/dist/lib/wtlink/link-configs.js.map +1 -1
  340. package/dist/lib/wtlink/validate-manifest.d.ts.map +1 -1
  341. package/dist/lib/wtlink/validate-manifest.js +5 -5
  342. package/dist/lib/wtlink/validate-manifest.js.map +1 -1
  343. package/dist/lib/wtstate/args.d.ts.map +1 -1
  344. package/dist/lib/wtstate/args.js +2 -0
  345. package/dist/lib/wtstate/args.js.map +1 -1
  346. package/dist/mcp/server.d.ts +2 -1
  347. package/dist/mcp/server.d.ts.map +1 -1
  348. package/dist/mcp/server.js +264 -44
  349. package/dist/mcp/server.js.map +1 -1
  350. package/dist/mcp/server.test.js +111 -0
  351. package/dist/mcp/server.test.js.map +1 -1
  352. package/package.json +3 -1
  353. package/schemas/worktreerc.schema.json +23 -0
@@ -26,12 +26,19 @@ export interface HookRunnerOptions {
26
26
  * Configurable via hookDefaults.maxTimeout in .worktreerc
27
27
  */
28
28
  maxTimeout?: number;
29
+ /**
30
+ * Whether to prompt for confirmation before running hooks.
31
+ * Only applies to WORKTREE_CWD_HOOKS (post-worktree, post-pr, post-push)
32
+ * and only in interactive environments.
33
+ */
34
+ confirmHooks?: boolean;
29
35
  }
30
36
  /**
31
37
  * Hook runner for managing lifecycle hooks in the newpr workflow
32
38
  */
33
39
  export declare class HookRunner {
34
40
  private executor;
41
+ private hooksConfig;
35
42
  private context;
36
43
  private options;
37
44
  private hasHooks;
@@ -58,6 +65,10 @@ export declare class HookRunner {
58
65
  * @returns true if execution should continue, false if it should abort
59
66
  */
60
67
  runHook(hookName: HookName): Promise<boolean>;
68
+ /**
69
+ * Execute an edited hook definition
70
+ */
71
+ private executeEditedHook;
61
72
  /**
62
73
  * Run the cleanup hook (always non-fatal)
63
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hook-runner.d.ts","sourceRoot":"","sources":["../../../src/lib/newpr/hook-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGxF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0BD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAU;gBAGxB,WAAW,EAAE,WAAW,YAAK,EAC7B,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,EACpC,OAAO,GAAE,iBAAsB;IAkBjC;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,kBAAkB,IAAI,QAAQ,EAAE;IAIhC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAIlD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAIlC;;;;OAIG;IACG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBnD;;OAEG;IACG,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B9C;;;;OAIG;IACH,OAAO,CAAC,YAAY;CA2CrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,YAAK,EAC7B,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,EACpC,OAAO,GAAE,iBAAsB,GAC9B,UAAU,CAEZ;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,OAAO,CAAC,CAKlB"}
1
+ {"version":3,"file":"hook-runner.d.ts","sourceRoot":"","sources":["../../../src/lib/newpr/hook-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EAER,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA0BD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAU;gBAGxB,WAAW,EAAE,WAAW,YAAK,EAC7B,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,EACpC,OAAO,GAAE,iBAAsB;IAmBjC;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,kBAAkB,IAAI,QAAQ,EAAE;IAIhC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAIlD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAIlC;;;;OAIG;IACG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAwDnD;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACG,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B9C;;;;OAIG;IACH,OAAO,CAAC,YAAY;CA2CrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,YAAK,EAC7B,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,EACpC,OAAO,GAAE,iBAAsB,GAC9B,UAAU,CAEZ;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,OAAO,CAAC,CAKlB"}
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * Manages hook execution throughout the newpr lifecycle with proper context management.
5
5
  */
6
- import { createHookExecutor } from '../hooks/executor.js';
6
+ import { createHookExecutor, resolveHookCwd } from '../hooks/executor.js';
7
+ import { shouldUseWorktreeCwd } from '../hooks/types.js';
8
+ import { isInteractiveEnvironment, promptHookConfirmation, createEditedHookDefinition, } from '../hooks/confirmation.js';
7
9
  import * as colors from '../colors.js';
8
10
  /**
9
11
  * Hooks that are considered non-critical (won't abort workflow on failure)
@@ -32,10 +34,12 @@ const CRITICAL_HOOKS = [
32
34
  */
33
35
  export class HookRunner {
34
36
  executor;
37
+ hooksConfig;
35
38
  context;
36
39
  options;
37
40
  hasHooks;
38
41
  constructor(hooksConfig = {}, initialContext, options = {}) {
42
+ this.hooksConfig = hooksConfig;
39
43
  this.executor = createHookExecutor(hooksConfig, {
40
44
  verbose: options.verbose,
41
45
  dryRun: options.dryRun,
@@ -91,12 +95,56 @@ export class HookRunner {
91
95
  baseBranch: this.context.baseBranch ?? 'main',
92
96
  ...this.context,
93
97
  };
98
+ // Get the hook definition for confirmation
99
+ const definition = this.hooksConfig[hookName];
100
+ if (!definition) {
101
+ return true;
102
+ }
103
+ // Check if we should prompt for confirmation
104
+ // Only for WORKTREE_CWD_HOOKS in interactive environments with confirmHooks enabled
105
+ if (this.options.confirmHooks && shouldUseWorktreeCwd(hookName) && isInteractiveEnvironment()) {
106
+ const cwd = resolveHookCwd(hookName, definition, fullContext, {
107
+ cwd: this.context.repoRoot,
108
+ defaultTimeout: this.options.defaultTimeout,
109
+ maxTimeout: this.options.maxTimeout,
110
+ });
111
+ const confirmResult = await promptHookConfirmation(hookName, definition, cwd);
112
+ if (confirmResult.action === 'skip') {
113
+ if (this.options.verbose) {
114
+ console.log(colors.dim(` Skipped: User chose to skip`));
115
+ }
116
+ return true;
117
+ }
118
+ // If user edited the command, execute the edited version
119
+ if (confirmResult.editedCommand) {
120
+ const editedDefinition = createEditedHookDefinition(definition, confirmResult.editedCommand);
121
+ return this.executeEditedHook(hookName, editedDefinition, fullContext);
122
+ }
123
+ }
94
124
  if (this.options.verbose) {
95
125
  console.log(colors.dim(`Running hook: ${hookName}`));
96
126
  }
97
127
  const result = await this.executor.executeHook(hookName, fullContext);
98
128
  return this.handleResult(hookName, result);
99
129
  }
130
+ /**
131
+ * Execute an edited hook definition
132
+ */
133
+ async executeEditedHook(hookName, definition, context) {
134
+ if (this.options.verbose) {
135
+ console.log(colors.dim(`Running edited hook: ${hookName}`));
136
+ }
137
+ // Create a temporary executor with the edited definition
138
+ const tempExecutor = createHookExecutor({ [hookName]: definition }, {
139
+ verbose: this.options.verbose,
140
+ dryRun: this.options.dryRun,
141
+ cwd: context.repoRoot,
142
+ defaultTimeout: this.options.defaultTimeout,
143
+ maxTimeout: this.options.maxTimeout,
144
+ });
145
+ const result = await tempExecutor.executeHook(hookName, context);
146
+ return this.handleResult(hookName, result);
147
+ }
100
148
  /**
101
149
  * Run the cleanup hook (always non-fatal)
102
150
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hook-runner.js","sourceRoot":"","sources":["../../../src/lib/newpr/hook-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-runner.js","sourceRoot":"","sources":["../../../src/lib/newpr/hook-runner.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,16 @@ vi.mock('../hooks/executor.js', () => ({
25
25
  hasHook: mockHasHook,
26
26
  })),
27
27
  HookExecutor: vi.fn(),
28
+ resolveHookCwd: vi.fn(() => '/test/worktree'),
29
+ }));
30
+ // Mock confirmation module
31
+ const mockIsInteractiveEnvironment = vi.fn().mockReturnValue(true);
32
+ const mockPromptHookConfirmation = vi.fn();
33
+ const mockCreateEditedHookDefinition = vi.fn();
34
+ vi.mock('../hooks/confirmation.js', () => ({
35
+ isInteractiveEnvironment: () => mockIsInteractiveEnvironment(),
36
+ promptHookConfirmation: (...args) => mockPromptHookConfirmation(...args),
37
+ createEditedHookDefinition: (...args) => mockCreateEditedHookDefinition(...args),
28
38
  }));
29
39
  describe('HookRunner', () => {
30
40
  let consoleSpy;
@@ -34,6 +44,9 @@ describe('HookRunner', () => {
34
44
  mockGetConfiguredHooks.mockReturnValue([]);
35
45
  mockHasHook.mockReturnValue(false);
36
46
  mockExecuteHook.mockReset();
47
+ mockIsInteractiveEnvironment.mockReturnValue(true);
48
+ mockPromptHookConfirmation.mockReset();
49
+ mockCreateEditedHookDefinition.mockReset();
37
50
  // Suppress console output
38
51
  consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
39
52
  });
@@ -298,4 +311,112 @@ describe('runLifecycleHook', () => {
298
311
  expect(result).toBe(true);
299
312
  });
300
313
  });
314
+ describe('HookRunner confirmHooks', () => {
315
+ let consoleSpy;
316
+ beforeEach(() => {
317
+ vi.clearAllMocks();
318
+ mockGetConfiguredHooks.mockReturnValue(['post-worktree']);
319
+ mockHasHook.mockReturnValue(true);
320
+ mockIsInteractiveEnvironment.mockReturnValue(true);
321
+ consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
322
+ });
323
+ afterEach(() => {
324
+ consoleSpy.mockRestore();
325
+ });
326
+ it('prompts for confirmation when confirmHooks is true for WORKTREE_CWD_HOOKS', async () => {
327
+ mockPromptHookConfirmation.mockResolvedValue({ action: 'run' });
328
+ mockExecuteHook.mockResolvedValue({
329
+ hook: 'post-worktree',
330
+ success: true,
331
+ duration: 100,
332
+ });
333
+ const runner = new HookRunner({ 'post-worktree': 'npm install' }, { repoRoot: '/test', baseBranch: 'main', worktreePath: '/test/worktree' }, { confirmHooks: true });
334
+ await runner.runHook('post-worktree');
335
+ expect(mockPromptHookConfirmation).toHaveBeenCalled();
336
+ expect(mockExecuteHook).toHaveBeenCalled();
337
+ });
338
+ it('skips hook when user selects skip', async () => {
339
+ mockPromptHookConfirmation.mockResolvedValue({ action: 'skip' });
340
+ const runner = new HookRunner({ 'post-worktree': 'npm install' }, { repoRoot: '/test', baseBranch: 'main', worktreePath: '/test/worktree' }, { confirmHooks: true });
341
+ const result = await runner.runHook('post-worktree');
342
+ expect(result).toBe(true);
343
+ expect(mockExecuteHook).not.toHaveBeenCalled();
344
+ });
345
+ it('executes edited hook when user edits command', async () => {
346
+ mockPromptHookConfirmation.mockResolvedValue({
347
+ action: 'run',
348
+ editedCommand: 'npm ci',
349
+ });
350
+ mockCreateEditedHookDefinition.mockReturnValue('npm ci');
351
+ mockExecuteHook.mockResolvedValue({
352
+ hook: 'post-worktree',
353
+ success: true,
354
+ duration: 100,
355
+ });
356
+ const runner = new HookRunner({ 'post-worktree': 'npm install' }, { repoRoot: '/test', baseBranch: 'main', worktreePath: '/test/worktree' }, { confirmHooks: true });
357
+ const result = await runner.runHook('post-worktree');
358
+ expect(result).toBe(true);
359
+ expect(mockCreateEditedHookDefinition).toHaveBeenCalledWith('npm install', 'npm ci');
360
+ expect(mockExecuteHook).toHaveBeenCalled();
361
+ });
362
+ it('does not prompt when confirmHooks is false', async () => {
363
+ mockExecuteHook.mockResolvedValue({
364
+ hook: 'post-worktree',
365
+ success: true,
366
+ duration: 100,
367
+ });
368
+ const runner = new HookRunner({ 'post-worktree': 'npm install' }, { repoRoot: '/test', baseBranch: 'main', worktreePath: '/test/worktree' }, { confirmHooks: false });
369
+ await runner.runHook('post-worktree');
370
+ expect(mockPromptHookConfirmation).not.toHaveBeenCalled();
371
+ expect(mockExecuteHook).toHaveBeenCalled();
372
+ });
373
+ it('does not prompt for non-WORKTREE_CWD_HOOKS even with confirmHooks', async () => {
374
+ mockGetConfiguredHooks.mockReturnValue(['pre-analyze']);
375
+ mockExecuteHook.mockResolvedValue({
376
+ hook: 'pre-analyze',
377
+ success: true,
378
+ duration: 100,
379
+ });
380
+ const runner = new HookRunner({ 'pre-analyze': 'echo test' }, { repoRoot: '/test', baseBranch: 'main' }, { confirmHooks: true });
381
+ await runner.runHook('pre-analyze');
382
+ expect(mockPromptHookConfirmation).not.toHaveBeenCalled();
383
+ expect(mockExecuteHook).toHaveBeenCalled();
384
+ });
385
+ it('does not prompt in non-interactive environment', async () => {
386
+ mockIsInteractiveEnvironment.mockReturnValue(false);
387
+ mockExecuteHook.mockResolvedValue({
388
+ hook: 'post-worktree',
389
+ success: true,
390
+ duration: 100,
391
+ });
392
+ const runner = new HookRunner({ 'post-worktree': 'npm install' }, { repoRoot: '/test', baseBranch: 'main', worktreePath: '/test/worktree' }, { confirmHooks: true });
393
+ await runner.runHook('post-worktree');
394
+ expect(mockPromptHookConfirmation).not.toHaveBeenCalled();
395
+ expect(mockExecuteHook).toHaveBeenCalled();
396
+ });
397
+ it('prompts for post-pr hook', async () => {
398
+ mockGetConfiguredHooks.mockReturnValue(['post-pr']);
399
+ mockPromptHookConfirmation.mockResolvedValue({ action: 'run' });
400
+ mockExecuteHook.mockResolvedValue({
401
+ hook: 'post-pr',
402
+ success: true,
403
+ duration: 100,
404
+ });
405
+ const runner = new HookRunner({ 'post-pr': 'echo "PR created"' }, { repoRoot: '/test', baseBranch: 'main', worktreePath: '/test/worktree' }, { confirmHooks: true });
406
+ await runner.runHook('post-pr');
407
+ expect(mockPromptHookConfirmation).toHaveBeenCalled();
408
+ });
409
+ it('prompts for post-push hook', async () => {
410
+ mockGetConfiguredHooks.mockReturnValue(['post-push']);
411
+ mockPromptHookConfirmation.mockResolvedValue({ action: 'run' });
412
+ mockExecuteHook.mockResolvedValue({
413
+ hook: 'post-push',
414
+ success: true,
415
+ duration: 100,
416
+ });
417
+ const runner = new HookRunner({ 'post-push': 'echo "Pushed"' }, { repoRoot: '/test', baseBranch: 'main', worktreePath: '/test/worktree' }, { confirmHooks: true });
418
+ await runner.runHook('post-push');
419
+ expect(mockPromptHookConfirmation).toHaveBeenCalled();
420
+ });
421
+ });
301
422
  //# sourceMappingURL=hook-runner.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-runner.test.js","sourceRoot":"","sources":["../../../src/lib/newpr/hook-runner.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-runner.test.js","sourceRoot":"","sources":["../../../src/lib/newpr/hook-runner.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Plan Generator Module
3
+ *
4
+ * Generates AI-powered implementation plan documents during PR creation.
5
+ * Supports configurable paths with template variables and YAML frontmatter.
6
+ */
7
+ import type { AIConfig, PlanContext } from '../ai/types.js';
8
+ /**
9
+ * YAML frontmatter for plan documents
10
+ */
11
+ export interface PlanFrontmatter {
12
+ title: string;
13
+ status: 'draft' | 'in-progress' | 'complete' | 'abandoned';
14
+ pr: number;
15
+ branch: string;
16
+ base: string;
17
+ created: string;
18
+ updated: string;
19
+ author: string;
20
+ generator: string;
21
+ generator_version: string;
22
+ }
23
+ /**
24
+ * Template variables for path expansion
25
+ */
26
+ export interface PathTemplateVars {
27
+ prNumber: number;
28
+ slug: string;
29
+ branch: string;
30
+ date: string;
31
+ timestamp: number;
32
+ }
33
+ /**
34
+ * Result from plan generation
35
+ */
36
+ export interface PlanGeneratorResult {
37
+ generated: boolean;
38
+ path?: string;
39
+ error?: string;
40
+ frontmatter?: PlanFrontmatter;
41
+ }
42
+ /**
43
+ * Result from shouldGeneratePlan decision
44
+ */
45
+ export interface ShouldGenerateResult {
46
+ generate: boolean;
47
+ prompt: boolean;
48
+ reason: string;
49
+ }
50
+ /**
51
+ * Determine if plan should be generated based on flags and config
52
+ *
53
+ * Priority order:
54
+ * 1. --no-plan flag (highest - always disable)
55
+ * 2. --plan flag (force enable)
56
+ * 3. config.ai.planDocument (enable by config)
57
+ * 4. AI available + interactive (prompt user)
58
+ */
59
+ export declare function shouldGeneratePlan(options: {
60
+ cliFlag?: boolean;
61
+ noFlag?: boolean;
62
+ configEnabled?: boolean;
63
+ aiAvailable: boolean;
64
+ nonInteractive: boolean;
65
+ }): ShouldGenerateResult;
66
+ /**
67
+ * Generate a URL-safe slug from description
68
+ *
69
+ * - Converts to lowercase
70
+ * - Replaces special characters with dashes
71
+ * - Limits to first 5 words
72
+ * - Limits total length
73
+ */
74
+ export declare function generateSlug(description: string, maxLength?: number): string;
75
+ /**
76
+ * Expand template variables in a path string
77
+ *
78
+ * Supported variables:
79
+ * - {prNumber} - PR number
80
+ * - {slug} - Description slug
81
+ * - {branch} - Branch name (slashes replaced with dashes)
82
+ * - {date} - ISO date (YYYY-MM-DD)
83
+ * - {timestamp} - Unix timestamp
84
+ */
85
+ export declare function expandPathTemplate(template: string, vars: PathTemplateVars): string;
86
+ /**
87
+ * Generate YAML frontmatter object
88
+ */
89
+ export declare function generateFrontmatter(options: {
90
+ title: string;
91
+ prNumber: number;
92
+ branchName: string;
93
+ baseBranch: string;
94
+ }): PlanFrontmatter;
95
+ /**
96
+ * Convert frontmatter object to YAML string
97
+ */
98
+ export declare function frontmatterToYaml(fm: PlanFrontmatter): string;
99
+ /**
100
+ * Resolve the plan file path based on config and template variables
101
+ */
102
+ export declare function resolvePlanPath(worktreePath: string, aiConfig: AIConfig, vars: PathTemplateVars): string;
103
+ /**
104
+ * Generate and write a plan document
105
+ *
106
+ * Uses the configured AI provider to generate plan content,
107
+ * adds YAML frontmatter, and writes to the specified path.
108
+ */
109
+ export declare function generatePlanDocument(context: PlanContext, planPath: string, aiConfig: AIConfig, options: {
110
+ prNumber: number;
111
+ baseBranch: string;
112
+ }): Promise<PlanGeneratorResult>;
113
+ /**
114
+ * Build path template variables from context
115
+ */
116
+ export declare function buildPathTemplateVars(options: {
117
+ prNumber: number;
118
+ description: string;
119
+ branchName: string;
120
+ }): PathTemplateVars;
121
+ //# sourceMappingURL=plan-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-generator.d.ts","sourceRoot":"","sources":["../../../src/lib/newpr/plan-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,CAAC;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB,GAAG,oBAAoB,CAcvB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,CAUxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAOnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,eAAe,CAgBlB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,CAmB7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC,mBAAmB,CAAC,CA6C9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,gBAAgB,CAQnB"}