@andrebuzeli/git-mcp 5.5.1 → 5.8.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 (232) hide show
  1. package/README.md +94 -6
  2. package/dist/config.d.ts +5 -131
  3. package/dist/config.js +28 -430
  4. package/dist/index.d.ts +1 -21
  5. package/dist/index.js +118 -140
  6. package/dist/providers/giteaProvider.d.ts +3 -0
  7. package/dist/providers/giteaProvider.js +12 -0
  8. package/dist/providers/githubProvider.d.ts +2 -0
  9. package/dist/providers/githubProvider.js +7 -0
  10. package/dist/providers/providerManager.d.ts +11 -0
  11. package/dist/providers/providerManager.js +48 -0
  12. package/dist/resources/toolsGuide.d.ts +12 -0
  13. package/dist/resources/toolsGuide.js +1491 -0
  14. package/dist/server.d.ts +7 -40
  15. package/dist/server.js +59 -696
  16. package/dist/tools/gitAnalytics.d.ts +29 -0
  17. package/dist/tools/gitAnalytics.js +72 -0
  18. package/dist/tools/gitArchive.d.ts +6 -0
  19. package/dist/tools/gitArchive.js +27 -0
  20. package/dist/tools/gitBackup.d.ts +10 -0
  21. package/dist/tools/gitBackup.js +44 -0
  22. package/dist/tools/gitBranches.d.ts +72 -0
  23. package/dist/tools/gitBranches.js +98 -0
  24. package/dist/tools/gitConfig.d.ts +34 -0
  25. package/dist/tools/gitConfig.js +73 -0
  26. package/dist/tools/gitFiles.d.ts +30 -0
  27. package/dist/tools/gitFiles.js +55 -0
  28. package/dist/tools/gitHistory.d.ts +17 -0
  29. package/dist/tools/gitHistory.js +365 -0
  30. package/dist/tools/gitIssues.d.ts +6 -0
  31. package/dist/tools/gitIssues.js +279 -0
  32. package/dist/tools/gitMonitor.d.ts +51 -0
  33. package/dist/tools/gitMonitor.js +102 -0
  34. package/dist/tools/gitPackages.d.ts +6 -0
  35. package/dist/tools/gitPackages.js +28 -0
  36. package/dist/tools/gitPulls.d.ts +6 -0
  37. package/dist/tools/gitPulls.js +288 -0
  38. package/dist/tools/gitRelease.d.ts +6 -0
  39. package/dist/tools/gitRelease.js +321 -0
  40. package/dist/tools/gitRemote.d.ts +51 -0
  41. package/dist/tools/gitRemote.js +68 -0
  42. package/dist/tools/gitReset.d.ts +34 -0
  43. package/dist/tools/gitReset.js +64 -0
  44. package/dist/tools/gitStash.d.ts +41 -0
  45. package/dist/tools/gitStash.js +67 -0
  46. package/dist/tools/gitSync.d.ts +25 -0
  47. package/dist/tools/gitSync.js +51 -0
  48. package/dist/tools/gitTags.d.ts +30 -0
  49. package/dist/tools/gitTags.js +69 -0
  50. package/dist/tools/gitUpdate.d.ts +14 -0
  51. package/dist/tools/gitUpdate.js +374 -0
  52. package/dist/tools/gitUpload.d.ts +11 -0
  53. package/dist/tools/gitUpload.js +342 -0
  54. package/dist/tools/gitWorkflow.d.ts +6 -0
  55. package/dist/tools/gitWorkflow.js +303 -0
  56. package/dist/types.d.ts +17 -0
  57. package/dist/types.js +2 -0
  58. package/dist/utils/errors.d.ts +13 -0
  59. package/dist/utils/errors.js +22 -0
  60. package/dist/utils/safetyController.d.ts +1 -0
  61. package/dist/utils/safetyController.js +15 -0
  62. package/package.json +8 -3
  63. package/dist/config.d.ts.map +0 -1
  64. package/dist/config.js.map +0 -1
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/index.js.map +0 -1
  67. package/dist/providers/base-provider.d.ts +0 -66
  68. package/dist/providers/base-provider.d.ts.map +0 -1
  69. package/dist/providers/base-provider.js +0 -65
  70. package/dist/providers/base-provider.js.map +0 -1
  71. package/dist/providers/gitea-provider.d.ts +0 -79
  72. package/dist/providers/gitea-provider.d.ts.map +0 -1
  73. package/dist/providers/gitea-provider.js +0 -576
  74. package/dist/providers/gitea-provider.js.map +0 -1
  75. package/dist/providers/github-provider.d.ts +0 -74
  76. package/dist/providers/github-provider.d.ts.map +0 -1
  77. package/dist/providers/github-provider.js +0 -683
  78. package/dist/providers/github-provider.js.map +0 -1
  79. package/dist/providers/index.d.ts +0 -13
  80. package/dist/providers/index.d.ts.map +0 -1
  81. package/dist/providers/index.js +0 -35
  82. package/dist/providers/index.js.map +0 -1
  83. package/dist/providers/provider-factory.d.ts +0 -49
  84. package/dist/providers/provider-factory.d.ts.map +0 -1
  85. package/dist/providers/provider-factory.js +0 -193
  86. package/dist/providers/provider-factory.js.map +0 -1
  87. package/dist/providers/provider-operation-handler.d.ts +0 -115
  88. package/dist/providers/provider-operation-handler.d.ts.map +0 -1
  89. package/dist/providers/provider-operation-handler.js +0 -449
  90. package/dist/providers/provider-operation-handler.js.map +0 -1
  91. package/dist/providers/types.d.ts +0 -200
  92. package/dist/providers/types.d.ts.map +0 -1
  93. package/dist/providers/types.js +0 -8
  94. package/dist/providers/types.js.map +0 -1
  95. package/dist/server.d.ts.map +0 -1
  96. package/dist/server.js.map +0 -1
  97. package/dist/tools/git-analytics.d.ts +0 -237
  98. package/dist/tools/git-analytics.d.ts.map +0 -1
  99. package/dist/tools/git-analytics.js +0 -819
  100. package/dist/tools/git-analytics.js.map +0 -1
  101. package/dist/tools/git-archive.d.ts +0 -113
  102. package/dist/tools/git-archive.d.ts.map +0 -1
  103. package/dist/tools/git-archive.js +0 -466
  104. package/dist/tools/git-archive.js.map +0 -1
  105. package/dist/tools/git-auto-monitor.d.ts +0 -180
  106. package/dist/tools/git-auto-monitor.d.ts.map +0 -1
  107. package/dist/tools/git-auto-monitor.js +0 -522
  108. package/dist/tools/git-auto-monitor.js.map +0 -1
  109. package/dist/tools/git-backup.d.ts +0 -105
  110. package/dist/tools/git-backup.d.ts.map +0 -1
  111. package/dist/tools/git-backup.js +0 -414
  112. package/dist/tools/git-backup.js.map +0 -1
  113. package/dist/tools/git-branches.d.ts +0 -183
  114. package/dist/tools/git-branches.d.ts.map +0 -1
  115. package/dist/tools/git-branches.js +0 -498
  116. package/dist/tools/git-branches.js.map +0 -1
  117. package/dist/tools/git-config.d.ts +0 -119
  118. package/dist/tools/git-config.d.ts.map +0 -1
  119. package/dist/tools/git-config.js +0 -449
  120. package/dist/tools/git-config.js.map +0 -1
  121. package/dist/tools/git-files.d.ts +0 -150
  122. package/dist/tools/git-files.d.ts.map +0 -1
  123. package/dist/tools/git-files.js +0 -527
  124. package/dist/tools/git-files.js.map +0 -1
  125. package/dist/tools/git-history.d.ts +0 -253
  126. package/dist/tools/git-history.d.ts.map +0 -1
  127. package/dist/tools/git-history.js +0 -824
  128. package/dist/tools/git-history.js.map +0 -1
  129. package/dist/tools/git-issues.d.ts +0 -164
  130. package/dist/tools/git-issues.d.ts.map +0 -1
  131. package/dist/tools/git-issues.js +0 -340
  132. package/dist/tools/git-issues.js.map +0 -1
  133. package/dist/tools/git-monitor.d.ts +0 -154
  134. package/dist/tools/git-monitor.d.ts.map +0 -1
  135. package/dist/tools/git-monitor.js +0 -531
  136. package/dist/tools/git-monitor.js.map +0 -1
  137. package/dist/tools/git-packages.d.ts +0 -157
  138. package/dist/tools/git-packages.d.ts.map +0 -1
  139. package/dist/tools/git-packages.js +0 -534
  140. package/dist/tools/git-packages.js.map +0 -1
  141. package/dist/tools/git-pulls.d.ts +0 -180
  142. package/dist/tools/git-pulls.d.ts.map +0 -1
  143. package/dist/tools/git-pulls.js +0 -369
  144. package/dist/tools/git-pulls.js.map +0 -1
  145. package/dist/tools/git-release.d.ts +0 -161
  146. package/dist/tools/git-release.d.ts.map +0 -1
  147. package/dist/tools/git-release.js +0 -466
  148. package/dist/tools/git-release.js.map +0 -1
  149. package/dist/tools/git-remote.d.ts +0 -128
  150. package/dist/tools/git-remote.d.ts.map +0 -1
  151. package/dist/tools/git-remote.js +0 -542
  152. package/dist/tools/git-remote.js.map +0 -1
  153. package/dist/tools/git-reset.d.ts +0 -120
  154. package/dist/tools/git-reset.d.ts.map +0 -1
  155. package/dist/tools/git-reset.js +0 -479
  156. package/dist/tools/git-reset.js.map +0 -1
  157. package/dist/tools/git-stash.d.ts +0 -124
  158. package/dist/tools/git-stash.d.ts.map +0 -1
  159. package/dist/tools/git-stash.js +0 -506
  160. package/dist/tools/git-stash.js.map +0 -1
  161. package/dist/tools/git-sync.d.ts +0 -154
  162. package/dist/tools/git-sync.d.ts.map +0 -1
  163. package/dist/tools/git-sync.js +0 -479
  164. package/dist/tools/git-sync.js.map +0 -1
  165. package/dist/tools/git-tags.d.ts +0 -136
  166. package/dist/tools/git-tags.d.ts.map +0 -1
  167. package/dist/tools/git-tags.js +0 -461
  168. package/dist/tools/git-tags.js.map +0 -1
  169. package/dist/tools/git-update.d.ts +0 -224
  170. package/dist/tools/git-update.d.ts.map +0 -1
  171. package/dist/tools/git-update.js +0 -948
  172. package/dist/tools/git-update.js.map +0 -1
  173. package/dist/tools/git-workflow.d.ts +0 -189
  174. package/dist/tools/git-workflow.d.ts.map +0 -1
  175. package/dist/tools/git-workflow.js +0 -542
  176. package/dist/tools/git-workflow.js.map +0 -1
  177. package/dist/utils/credential-manager.d.ts +0 -119
  178. package/dist/utils/credential-manager.d.ts.map +0 -1
  179. package/dist/utils/credential-manager.js +0 -450
  180. package/dist/utils/credential-manager.js.map +0 -1
  181. package/dist/utils/data-merger.d.ts +0 -49
  182. package/dist/utils/data-merger.d.ts.map +0 -1
  183. package/dist/utils/data-merger.js +0 -233
  184. package/dist/utils/data-merger.js.map +0 -1
  185. package/dist/utils/git-command-executor.d.ts +0 -330
  186. package/dist/utils/git-command-executor.d.ts.map +0 -1
  187. package/dist/utils/git-command-executor.js +0 -901
  188. package/dist/utils/git-command-executor.js.map +0 -1
  189. package/dist/utils/logger.d.ts +0 -143
  190. package/dist/utils/logger.d.ts.map +0 -1
  191. package/dist/utils/logger.js +0 -473
  192. package/dist/utils/logger.js.map +0 -1
  193. package/dist/utils/operation-error-handler.d.ts +0 -97
  194. package/dist/utils/operation-error-handler.d.ts.map +0 -1
  195. package/dist/utils/operation-error-handler.js +0 -367
  196. package/dist/utils/operation-error-handler.js.map +0 -1
  197. package/dist/utils/parameter-validator.d.ts +0 -49
  198. package/dist/utils/parameter-validator.d.ts.map +0 -1
  199. package/dist/utils/parameter-validator.js +0 -647
  200. package/dist/utils/parameter-validator.js.map +0 -1
  201. package/dist/utils/repository-checker.d.ts +0 -46
  202. package/dist/utils/repository-checker.d.ts.map +0 -1
  203. package/dist/utils/repository-checker.js +0 -151
  204. package/dist/utils/repository-checker.js.map +0 -1
  205. package/dist/utils/repository-detector.d.ts +0 -128
  206. package/dist/utils/repository-detector.d.ts.map +0 -1
  207. package/dist/utils/repository-detector.js +0 -422
  208. package/dist/utils/repository-detector.js.map +0 -1
  209. package/dist/utils/repository-sync.d.ts +0 -67
  210. package/dist/utils/repository-sync.d.ts.map +0 -1
  211. package/dist/utils/repository-sync.js +0 -344
  212. package/dist/utils/repository-sync.js.map +0 -1
  213. package/dist/utils/response-formatter.d.ts +0 -146
  214. package/dist/utils/response-formatter.d.ts.map +0 -1
  215. package/dist/utils/response-formatter.js +0 -378
  216. package/dist/utils/response-formatter.js.map +0 -1
  217. package/dist/utils/retry.d.ts +0 -12
  218. package/dist/utils/retry.d.ts.map +0 -1
  219. package/dist/utils/retry.js +0 -28
  220. package/dist/utils/retry.js.map +0 -1
  221. package/dist/utils/safety-warnings.d.ts +0 -56
  222. package/dist/utils/safety-warnings.d.ts.map +0 -1
  223. package/dist/utils/safety-warnings.js +0 -330
  224. package/dist/utils/safety-warnings.js.map +0 -1
  225. package/dist/utils/terminal-controller.d.ts +0 -79
  226. package/dist/utils/terminal-controller.d.ts.map +0 -1
  227. package/dist/utils/terminal-controller.js +0 -291
  228. package/dist/utils/terminal-controller.js.map +0 -1
  229. package/dist/utils/user-friendly-formatter.d.ts +0 -45
  230. package/dist/utils/user-friendly-formatter.d.ts.map +0 -1
  231. package/dist/utils/user-friendly-formatter.js +0 -175
  232. package/dist/utils/user-friendly-formatter.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-remote.js","sourceRoot":"","sources":["../../src/tools/git-remote.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,8EAAwF;AACxF,4EAAiF;AACjF,oFAAwF;AAmBxF,MAAa,aAAa;IAChB,WAAW,CAAqB;IAExC;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,4CAAkB,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAuB;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,UAAU,GAAG,2CAAkB,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC/E,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,kDAAqB,CAAC,eAAe,CAC1C,kBAAkB,EAClB,gCAAgC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC9D,MAAM,CAAC,MAAM,EACb,EAAE,gBAAgB,EAAE,UAAU,CAAC,MAAM,EAAE,EACvC,UAAU,CAAC,WAAW,CACvB,CAAC;YACJ,CAAC;YAED,yCAAyC;YACzC,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBACjC,OAAO,kDAAqB,CAAC,eAAe,CAC1C,kBAAkB,EAClB,gCAAgC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACvE,MAAM,CAAC,MAAM,EACb,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,MAAM,EAAE,EAChD,mBAAmB,CAAC,WAAW,CAChC,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,kDAAqB,CAAC,eAAe,CAC1C,sBAAsB,EACtB,4CAA4C,EAC5C,MAAM,CAAC,MAAM,EACb,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,EACnC,CAAC,kDAAkD,CAAC,CACrD,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,KAAK,KAAK;oBACR,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACjD,KAAK,QAAQ;oBACX,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACpD,KAAK,QAAQ;oBACX,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACpD,KAAK,MAAM;oBACT,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAClD,KAAK,SAAS;oBACZ,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACpD,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACnD,KAAK,MAAM;oBACT,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAClD;oBACE,OAAO,kDAAqB,CAAC,eAAe,CAC1C,uBAAuB,EACvB,cAAc,MAAM,CAAC,MAAM,oBAAoB,EAC/C,MAAM,CAAC,MAAM,EACb,EAAE,EACF,CAAC,6DAA6D,CAAC,CAChE,CAAC;YACN,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO,kDAAqB,CAAC,eAAe,CAC1C,iBAAiB,EACjB,qBAAqB,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,EACrD,MAAM,CAAC,MAAM,EACb,EAAE,KAAK,EAAE,YAAY,EAAE,EACvB,CAAC,uCAAuC,CAAC,CAC1C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,MAAuB;QACrD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,KAAK;gBACR,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;oBACzD,WAAW,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACxD,WAAW,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;gBACtF,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;oBAC5D,WAAW,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAC/D,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;oBACpE,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;oBAChE,WAAW,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;oBAC7D,WAAW,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;oBAC5D,WAAW,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;oBAC3D,WAAW,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM;YAER,KAAK,MAAM;gBACT,iEAAiE;gBACjE,MAAM;QACV,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,MAAuB,EAAE,SAAiB;QAChE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,GAAI,CAAC,CAAC;YAEzC,gCAAgC;YAChC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAExG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,kDAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/F,CAAC;YAED,oEAAoE;YACpE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK;gBAC1B,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,kCAAkC;gBAC1D,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,sBAAsB,CAAC;YAEjD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,OAAO;oBACP,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,SAAS,EAAE,MAAM,CAAC,GAAG;oBACrB,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;oBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO,kDAAqB,CAAC,eAAe,CAC1C,kBAAkB,EAClB,yBAAyB,YAAY,EAAE,EACvC,KAAK,EACL,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,MAAuB,EAAE,SAAiB;QACnE,IAAI,CAAC;YACH,+BAA+B;YAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACpG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAK,CAAC,EAAE,CAAC;oBACpC,OAAO,kDAAqB,CAAC,eAAe,CAC1C,kBAAkB,EAClB,WAAW,MAAM,CAAC,IAAI,kBAAkB,EACxC,QAAQ,EACR,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EACtD,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAEhH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,kDAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAClG,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,OAAO,EAAE,WAAW,MAAM,CAAC,IAAI,wBAAwB;oBACvD,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO,kDAAqB,CAAC,eAAe,CAC1C,qBAAqB,EACrB,4BAA4B,YAAY,EAAE,EAC1C,QAAQ,EACR,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,MAAuB,EAAE,SAAiB;QACnE,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACpG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAK,CAAC,EAAE,CAAC;oBACpC,OAAO,kDAAqB,CAAC,eAAe,CAC1C,kBAAkB,EAClB,WAAW,MAAM,CAAC,IAAI,kBAAkB,EACxC,QAAQ,EACR,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EACtD,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7C,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAQ,CAAC,EAAE,CAAC;oBACtC,OAAO,kDAAqB,CAAC,eAAe,CAC1C,uBAAuB,EACvB,WAAW,MAAM,CAAC,OAAO,kBAAkB,EAC3C,QAAQ,EACR,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAC5D,CAAC,wCAAwC,CAAC,CAC3C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,OAAQ,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAEjI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,kDAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAClG,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,OAAO,EAAE,WAAW,MAAM,CAAC,IAAI,iBAAiB,MAAM,CAAC,OAAO,gBAAgB;oBAC9E,OAAO,EAAE,MAAM,CAAC,IAAI;oBACpB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO,kDAAqB,CAAC,eAAe,CAC1C,qBAAqB,EACrB,4BAA4B,YAAY,EAAE,EAC1C,QAAQ,EACR,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,MAAuB,EAAE,SAAiB;QACjE,IAAI,CAAC;YACH,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC/B,+BAA+B;gBAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAEzG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,kDAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAChG,CAAC;YAED,mBAAmB;YACnB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,UAAU,GAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YAEtC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC/B,8BAA8B;gBAC9B,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;gBACpC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,qBAAqB;oBAChF,GAAG,UAAU;iBACd;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,aAAa;oBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO,kDAAqB,CAAC,eAAe,CAC1C,mBAAmB,EACnB,sCAAsC,YAAY,EAAE,EACpD,MAAM,EACN,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,MAAuB,EAAE,SAAiB;QACnE,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACpG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAK,CAAC,EAAE,CAAC;oBACpC,OAAO,kDAAqB,CAAC,eAAe,CAC1C,kBAAkB,EAClB,WAAW,MAAM,CAAC,IAAI,kBAAkB,EACxC,SAAS,EACT,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EACtD,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,GAAI,CAAC,CAAC;YAEzC,+BAA+B;YAC/B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAE5G,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,kDAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;YAEjD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,OAAO,EAAE,WAAW,MAAM,CAAC,IAAI,KAAK,OAAO,uBAAuB;oBAClE,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,MAAM,EAAE,MAAM,CAAC,GAAG;oBAClB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACvC,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,gBAAgB;oBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO,kDAAqB,CAAC,eAAe,CAC1C,sBAAsB,EACtB,6BAA6B,YAAY,EAAE,EAC3C,SAAS,EACT,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,MAAuB,EAAE,SAAiB;QAClE,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACpG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAK,CAAC,EAAE,CAAC;oBACpC,OAAO,kDAAqB,CAAC,eAAe,CAC1C,kBAAkB,EAClB,WAAW,MAAM,CAAC,IAAI,kBAAkB,EACxC,OAAO,EACP,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EACtD,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,CAAC;YAE5B,kCAAkC;YAClC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAE1G,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,kDAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACjG,CAAC;YAED,oCAAoC;YACpC,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;gBAC3B,CAAC,CAAC,wBAAwB,cAAc,CAAC,MAAM,yBAAyB,MAAM,CAAC,IAAI,GAAG;gBACtF,CAAC,CAAC,UAAU,cAAc,CAAC,MAAM,yBAAyB,MAAM,CAAC,IAAI,GAAG,CAAC;YAE3E,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,OAAO;oBACP,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;oBAC9B,cAAc;oBACd,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO,kDAAqB,CAAC,eAAe,CAC1C,oBAAoB,EACpB,2BAA2B,YAAY,EAAE,EACzC,OAAO,EACP,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,MAAuB,EAAE,SAAiB;QACjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAE1F,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,kDAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAChG,CAAC;YAED,4BAA4B;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;iBAC1B,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEnC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAM;oBACjB,OAAO,EAAE,SAAS,OAAO,CAAC,MAAM,YAAY;oBAC5C,OAAO,EAAE;wBACP,OAAO;wBACP,KAAK,EAAE,OAAO,CAAC,MAAM;qBACtB;oBACD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACjC;aACF,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO,kDAAqB,CAAC,eAAe,CAC1C,mBAAmB,EACnB,2BAA2B,YAAY,EAAE,EACzC,MAAM,EACN,EAAE,KAAK,EAAE,YAAY,EAAE,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAc;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAQ,EAAE,CAAC;QAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC5D,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC3D,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAe;QACzC,MAAM,OAAO,GAAiE,EAAE,CAAC;QACjF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiE,CAAC;QAE3F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAExD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChC,CAAC;oBAED,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;oBACpC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;wBACrB,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;oBACxB,CAAC;yBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC3B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAc;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACtE,IAAI,WAAW,EAAE,CAAC;oBAChB,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iIAAiI;YAC9I,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;wBACrE,WAAW,EAAE,iCAAiC;qBAC/C;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wCAAwC;qBACtD;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sDAAsD;qBACpE;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,iDAAiD;qBAC/D;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,4CAA4C;qBAC1D;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,wDAAwD;qBACtE;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,oCAAoC;qBAClD;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,iDAAiD;qBAC/D;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,uEAAuE;qBACrF;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;CACF;AArqBD,sCAqqBC"}
@@ -1,120 +0,0 @@
1
- /**
2
- * Git Reset Tool
3
- *
4
- * Comprehensive Git reset tool providing reset operations for repository state management.
5
- * Supports soft, mixed, hard reset capabilities and reset-to-commit and reset-branch functionality.
6
- *
7
- * Operations: soft, mixed, hard, reset-to-commit, reset-branch
8
- */
9
- import { ToolParams } from '../utils/parameter-validator.js';
10
- import { ToolResult } from '../utils/operation-error-handler.js';
11
- import { ProviderConfig } from '../providers/types.js';
12
- export interface GitResetParams extends ToolParams {
13
- action: 'soft' | 'mixed' | 'hard' | 'reset-to-commit' | 'reset-branch';
14
- commit?: string;
15
- branch?: string;
16
- files?: string[];
17
- force?: boolean;
18
- quiet?: boolean;
19
- skipWarning?: boolean;
20
- confirmDestructive?: boolean;
21
- }
22
- export declare class GitResetTool {
23
- private gitExecutor;
24
- private providerConfig?;
25
- constructor(providerConfig?: ProviderConfig);
26
- /**
27
- * Execute git-reset operation
28
- */
29
- execute(params: GitResetParams): Promise<ToolResult>;
30
- /**
31
- * Validate operation-specific parameters
32
- */
33
- private validateOperationParams;
34
- /**
35
- * Handle git reset --soft operation
36
- */
37
- private handleSoftReset;
38
- /**
39
- * Handle git reset --mixed operation (default reset)
40
- */
41
- private handleMixedReset;
42
- /**
43
- * Handle git reset --hard operation
44
- */
45
- private handleHardReset;
46
- /**
47
- * Handle reset to specific commit operation
48
- */
49
- private handleResetToCommit;
50
- /**
51
- * Handle reset to branch operation
52
- */
53
- private handleResetBranch;
54
- /**
55
- * Validate that a commit exists
56
- */
57
- private validateCommitExists;
58
- /**
59
- * Validate that a branch exists
60
- */
61
- private validateBranchExists;
62
- /**
63
- * Check safety warnings for destructive operations
64
- */
65
- private checkSafetyWarnings;
66
- /**
67
- * Get tool schema for MCP registration
68
- */
69
- static getToolSchema(): {
70
- name: string;
71
- description: string;
72
- inputSchema: {
73
- type: string;
74
- properties: {
75
- action: {
76
- type: string;
77
- enum: string[];
78
- description: string;
79
- };
80
- projectPath: {
81
- type: string;
82
- description: string;
83
- };
84
- commit: {
85
- type: string;
86
- description: string;
87
- };
88
- branch: {
89
- type: string;
90
- description: string;
91
- };
92
- files: {
93
- type: string;
94
- items: {
95
- type: string;
96
- };
97
- description: string;
98
- };
99
- force: {
100
- type: string;
101
- description: string;
102
- };
103
- quiet: {
104
- type: string;
105
- description: string;
106
- };
107
- skipWarning: {
108
- type: string;
109
- description: string;
110
- };
111
- confirmDestructive: {
112
- type: string;
113
- description: string;
114
- };
115
- };
116
- required: string[];
117
- };
118
- };
119
- }
120
- //# sourceMappingURL=git-reset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-reset.d.ts","sourceRoot":"","sources":["../../src/tools/git-reset.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAsB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAyB,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAGvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,cAAc,CAAC,EAAE,cAAc;IAK3C;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAkF1D;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;OAEG;YACW,eAAe;IA6C7B;;OAEG;YACW,gBAAgB;IAuD9B;;OAEG;YACW,eAAe;IAyD7B;;OAEG;YACW,mBAAmB;IA4DjC;;OAEG;YACW,iBAAiB;IA2D/B;;OAEG;YACW,oBAAoB;IA8BlC;;OAEG;YACW,oBAAoB;IA0BlC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;OAEG;IACH,MAAM,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDrB"}
@@ -1,479 +0,0 @@
1
- "use strict";
2
- /**
3
- * Git Reset Tool
4
- *
5
- * Comprehensive Git reset tool providing reset operations for repository state management.
6
- * Supports soft, mixed, hard reset capabilities and reset-to-commit and reset-branch functionality.
7
- *
8
- * Operations: soft, mixed, hard, reset-to-commit, reset-branch
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.GitResetTool = void 0;
12
- const git_command_executor_js_1 = require("../utils/git-command-executor.js");
13
- const parameter_validator_js_1 = require("../utils/parameter-validator.js");
14
- const operation_error_handler_js_1 = require("../utils/operation-error-handler.js");
15
- const safety_warnings_js_1 = require("../utils/safety-warnings.js");
16
- class GitResetTool {
17
- gitExecutor;
18
- providerConfig;
19
- constructor(providerConfig) {
20
- this.gitExecutor = new git_command_executor_js_1.GitCommandExecutor();
21
- this.providerConfig = providerConfig;
22
- }
23
- /**
24
- * Execute git-reset operation
25
- */
26
- async execute(params) {
27
- const startTime = Date.now();
28
- try {
29
- // Validate basic parameters
30
- const validation = parameter_validator_js_1.ParameterValidator.validateToolParams('git-reset', params);
31
- if (!validation.isValid) {
32
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('VALIDATION_ERROR', `Parameter validation failed: ${validation.errors.join(', ')}`, params.action, { validationErrors: validation.errors }, validation.suggestions);
33
- }
34
- // Validate operation-specific parameters
35
- const operationValidation = this.validateOperationParams(params);
36
- if (!operationValidation.isValid) {
37
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('VALIDATION_ERROR', `Operation validation failed: ${operationValidation.errors.join(', ')}`, params.action, { validationErrors: operationValidation.errors }, operationValidation.suggestions);
38
- }
39
- // Check for destructive operations and show safety warnings
40
- if (!params.skipWarning) {
41
- const warningResult = this.checkSafetyWarnings(params);
42
- if (warningResult) {
43
- return warningResult;
44
- }
45
- }
46
- // Check if it's a Git repository
47
- const isRepo = await this.gitExecutor.isGitRepository(params.projectPath);
48
- if (!isRepo) {
49
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('NOT_A_GIT_REPOSITORY', 'The specified path is not a Git repository', params.action, { projectPath: params.projectPath }, ['Initialize a Git repository first with: git init']);
50
- }
51
- // Route to appropriate handler
52
- switch (params.action) {
53
- case 'soft':
54
- return await this.handleSoftReset(params, startTime);
55
- case 'mixed':
56
- return await this.handleMixedReset(params, startTime);
57
- case 'hard':
58
- return await this.handleHardReset(params, startTime);
59
- case 'reset-to-commit':
60
- return await this.handleResetToCommit(params, startTime);
61
- case 'reset-branch':
62
- return await this.handleResetBranch(params, startTime);
63
- default:
64
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('UNSUPPORTED_OPERATION', `Operation '${params.action}' is not supported`, params.action, {}, ['Use one of: soft, mixed, hard, reset-to-commit, reset-branch']);
65
- }
66
- }
67
- catch (error) {
68
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
69
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('EXECUTION_ERROR', `Failed to execute ${params.action}: ${errorMessage}`, params.action, { error: errorMessage }, ['Check the error details and try again']);
70
- }
71
- }
72
- /**
73
- * Validate operation-specific parameters
74
- */
75
- validateOperationParams(params) {
76
- const errors = [];
77
- const suggestions = [];
78
- switch (params.action) {
79
- case 'reset-to-commit':
80
- if (!params.commit) {
81
- errors.push('Commit hash or reference is required for reset-to-commit operation');
82
- suggestions.push('Provide a commit hash (e.g., "abc123") or reference (e.g., "HEAD~1")');
83
- }
84
- break;
85
- case 'reset-branch':
86
- if (!params.branch) {
87
- errors.push('Branch name is required for reset-branch operation');
88
- suggestions.push('Provide the branch name to reset to (e.g., "main", "develop")');
89
- }
90
- break;
91
- case 'soft':
92
- case 'mixed':
93
- case 'hard':
94
- // These operations can work with or without specific commit/files
95
- break;
96
- }
97
- return {
98
- isValid: errors.length === 0,
99
- errors,
100
- suggestions
101
- };
102
- }
103
- /**
104
- * Handle git reset --soft operation
105
- */
106
- async handleSoftReset(params, startTime) {
107
- try {
108
- const args = ['--soft'];
109
- // Add commit reference if provided, otherwise defaults to HEAD
110
- const target = params.commit || 'HEAD';
111
- args.push(target);
112
- // Add quiet option if specified
113
- if (params.quiet) {
114
- args.unshift('--quiet');
115
- }
116
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
117
- if (!result.success) {
118
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'reset --soft', params.projectPath);
119
- }
120
- return {
121
- success: true,
122
- data: {
123
- message: `Soft reset to ${target} completed successfully`,
124
- resetType: 'soft',
125
- target,
126
- description: 'HEAD moved, index and working directory unchanged',
127
- output: result.stdout
128
- },
129
- metadata: {
130
- operation: 'reset soft',
131
- timestamp: new Date().toISOString(),
132
- executionTime: Date.now() - startTime
133
- }
134
- };
135
- }
136
- catch (error) {
137
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
138
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_SOFT_ERROR', `Failed to perform soft reset: ${errorMessage}`, 'soft', { error: errorMessage, target: params.commit });
139
- }
140
- }
141
- /**
142
- * Handle git reset --mixed operation (default reset)
143
- */
144
- async handleMixedReset(params, startTime) {
145
- try {
146
- const args = ['--mixed'];
147
- // Add commit reference if provided, otherwise defaults to HEAD
148
- const target = params.commit || 'HEAD';
149
- args.push(target);
150
- // Add specific files if provided
151
- if (params.files && params.files.length > 0) {
152
- args.push('--', ...params.files);
153
- }
154
- // Add quiet option if specified
155
- if (params.quiet) {
156
- args.unshift('--quiet');
157
- }
158
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
159
- if (!result.success) {
160
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'reset --mixed', params.projectPath);
161
- }
162
- const filesMessage = params.files && params.files.length > 0
163
- ? ` for files: ${params.files.join(', ')}`
164
- : '';
165
- return {
166
- success: true,
167
- data: {
168
- message: `Mixed reset to ${target} completed successfully${filesMessage}`,
169
- resetType: 'mixed',
170
- target,
171
- files: params.files || [],
172
- description: 'HEAD and index updated, working directory unchanged',
173
- output: result.stdout
174
- },
175
- metadata: {
176
- operation: 'reset mixed',
177
- timestamp: new Date().toISOString(),
178
- executionTime: Date.now() - startTime
179
- }
180
- };
181
- }
182
- catch (error) {
183
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
184
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_MIXED_ERROR', `Failed to perform mixed reset: ${errorMessage}`, 'mixed', { error: errorMessage, target: params.commit, files: params.files });
185
- }
186
- }
187
- /**
188
- * Handle git reset --hard operation
189
- */
190
- async handleHardReset(params, startTime) {
191
- try {
192
- // Warn about destructive nature of hard reset
193
- if (!params.force) {
194
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('HARD_RESET_REQUIRES_FORCE', 'Hard reset is destructive and requires explicit force confirmation', 'hard', { target: params.commit }, ['Add force: true to confirm you want to discard all local changes']);
195
- }
196
- const args = ['--hard'];
197
- // Add commit reference if provided, otherwise defaults to HEAD
198
- const target = params.commit || 'HEAD';
199
- args.push(target);
200
- // Add quiet option if specified
201
- if (params.quiet) {
202
- args.unshift('--quiet');
203
- }
204
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
205
- if (!result.success) {
206
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'reset --hard', params.projectPath);
207
- }
208
- return {
209
- success: true,
210
- data: {
211
- message: `Hard reset to ${target} completed successfully`,
212
- resetType: 'hard',
213
- target,
214
- description: 'HEAD, index, and working directory all updated - local changes discarded',
215
- warning: 'All uncommitted changes have been permanently lost',
216
- output: result.stdout
217
- },
218
- metadata: {
219
- operation: 'reset hard',
220
- timestamp: new Date().toISOString(),
221
- executionTime: Date.now() - startTime
222
- }
223
- };
224
- }
225
- catch (error) {
226
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
227
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_HARD_ERROR', `Failed to perform hard reset: ${errorMessage}`, 'hard', { error: errorMessage, target: params.commit });
228
- }
229
- }
230
- /**
231
- * Handle reset to specific commit operation
232
- */
233
- async handleResetToCommit(params, startTime) {
234
- try {
235
- // Validate commit exists
236
- const commitValidation = await this.validateCommitExists(params.commit, params.projectPath);
237
- if (!commitValidation.isValid) {
238
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('COMMIT_NOT_FOUND', `Commit '${params.commit}' not found`, 'reset-to-commit', { commit: params.commit }, ['Check the commit hash or use a valid reference like HEAD~1']);
239
- }
240
- // Default to mixed reset unless force is specified (then hard)
241
- const resetType = params.force ? '--hard' : '--mixed';
242
- const args = [resetType, params.commit];
243
- // Add quiet option if specified
244
- if (params.quiet) {
245
- args.unshift('--quiet');
246
- }
247
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
248
- if (!result.success) {
249
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, `reset ${resetType}`, params.projectPath);
250
- }
251
- const resetTypeDescription = params.force
252
- ? 'hard (HEAD, index, and working directory updated)'
253
- : 'mixed (HEAD and index updated, working directory unchanged)';
254
- return {
255
- success: true,
256
- data: {
257
- message: `Reset to commit ${params.commit} completed successfully`,
258
- resetType: params.force ? 'hard' : 'mixed',
259
- commit: params.commit,
260
- commitInfo: commitValidation.commitInfo,
261
- description: `Repository reset to specific commit using ${resetTypeDescription}`,
262
- output: result.stdout
263
- },
264
- metadata: {
265
- operation: 'reset to commit',
266
- timestamp: new Date().toISOString(),
267
- executionTime: Date.now() - startTime
268
- }
269
- };
270
- }
271
- catch (error) {
272
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
273
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_TO_COMMIT_ERROR', `Failed to reset to commit: ${errorMessage}`, 'reset-to-commit', { error: errorMessage, commit: params.commit });
274
- }
275
- }
276
- /**
277
- * Handle reset to branch operation
278
- */
279
- async handleResetBranch(params, startTime) {
280
- try {
281
- // Validate branch exists
282
- const branchValidation = await this.validateBranchExists(params.branch, params.projectPath);
283
- if (!branchValidation.isValid) {
284
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('BRANCH_NOT_FOUND', `Branch '${params.branch}' not found`, 'reset-branch', { branch: params.branch, availableBranches: branchValidation.availableBranches }, [`Available branches: ${branchValidation.availableBranches?.join(', ')}`]);
285
- }
286
- // Default to mixed reset unless force is specified (then hard)
287
- const resetType = params.force ? '--hard' : '--mixed';
288
- const args = [resetType, params.branch];
289
- // Add quiet option if specified
290
- if (params.quiet) {
291
- args.unshift('--quiet');
292
- }
293
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
294
- if (!result.success) {
295
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, `reset ${resetType}`, params.projectPath);
296
- }
297
- const resetTypeDescription = params.force
298
- ? 'hard (HEAD, index, and working directory updated)'
299
- : 'mixed (HEAD and index updated, working directory unchanged)';
300
- return {
301
- success: true,
302
- data: {
303
- message: `Reset to branch ${params.branch} completed successfully`,
304
- resetType: params.force ? 'hard' : 'mixed',
305
- branch: params.branch,
306
- description: `Repository reset to branch using ${resetTypeDescription}`,
307
- output: result.stdout
308
- },
309
- metadata: {
310
- operation: 'reset to branch',
311
- timestamp: new Date().toISOString(),
312
- executionTime: Date.now() - startTime
313
- }
314
- };
315
- }
316
- catch (error) {
317
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
318
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_TO_BRANCH_ERROR', `Failed to reset to branch: ${errorMessage}`, 'reset-branch', { error: errorMessage, branch: params.branch });
319
- }
320
- }
321
- /**
322
- * Validate that a commit exists
323
- */
324
- async validateCommitExists(commit, projectPath) {
325
- try {
326
- const result = await this.gitExecutor.executeGitCommand('rev-parse', ['--verify', `${commit}^{commit}`], projectPath);
327
- if (!result.success) {
328
- return { isValid: false };
329
- }
330
- // Get commit information
331
- const infoResult = await this.gitExecutor.executeGitCommand('show', ['--no-patch', '--format=%H %s %an %ad', commit], projectPath);
332
- let commitInfo = {};
333
- if (infoResult.success && infoResult.stdout.trim()) {
334
- const parts = infoResult.stdout.trim().split(' ');
335
- if (parts.length >= 4) {
336
- commitInfo = {
337
- hash: parts[0],
338
- subject: parts.slice(1, -2).join(' '),
339
- author: parts[parts.length - 2],
340
- date: parts[parts.length - 1]
341
- };
342
- }
343
- }
344
- return { isValid: true, commitInfo };
345
- }
346
- catch (error) {
347
- return { isValid: false };
348
- }
349
- }
350
- /**
351
- * Validate that a branch exists
352
- */
353
- async validateBranchExists(branch, projectPath) {
354
- try {
355
- // Get all branches
356
- const branchResult = await this.gitExecutor.executeGitCommand('branch', ['-a'], projectPath);
357
- if (!branchResult.success) {
358
- return { isValid: false };
359
- }
360
- const branches = branchResult.stdout
361
- .split('\n')
362
- .map(line => line.replace(/^\*?\s+/, '').replace(/^remotes\/[^\/]+\//, ''))
363
- .filter(line => line.trim() && !line.includes('->'))
364
- .map(line => line.trim());
365
- const branchExists = branches.some(b => b === branch || b.endsWith(`/${branch}`));
366
- return {
367
- isValid: branchExists,
368
- availableBranches: branches.slice(0, 10) // Limit to first 10 for readability
369
- };
370
- }
371
- catch (error) {
372
- return { isValid: false };
373
- }
374
- }
375
- /**
376
- * Check safety warnings for destructive operations
377
- */
378
- checkSafetyWarnings(params) {
379
- let operationType = null;
380
- // Determine operation type for safety warnings
381
- if (params.action === 'hard') {
382
- operationType = 'git-reset-hard';
383
- }
384
- else if (params.action === 'mixed') {
385
- operationType = 'git-reset-mixed';
386
- }
387
- // Only show warnings for destructive operations
388
- if (!operationType || !safety_warnings_js_1.SafetyWarnings.isDestructiveOperation(operationType)) {
389
- return null;
390
- }
391
- // Check if user has explicitly confirmed destructive operation
392
- if (params.confirmDestructive) {
393
- return null;
394
- }
395
- // Generate and format warning
396
- const warning = safety_warnings_js_1.SafetyWarnings.generateWarning(operationType, {
397
- commit: params.commit,
398
- branch: params.branch
399
- });
400
- const formattedWarning = safety_warnings_js_1.SafetyWarnings.formatWarning(warning);
401
- return {
402
- success: false,
403
- error: {
404
- code: 'SAFETY_WARNING',
405
- message: formattedWarning,
406
- details: {
407
- operationType,
408
- riskLevel: warning.level,
409
- requiresConfirmation: warning.confirmationRequired
410
- },
411
- suggestions: [
412
- 'Set confirmDestructive=true to proceed with this dangerous operation',
413
- 'Set skipWarning=true to bypass this warning (not recommended)',
414
- 'Consider using a safer alternative operation'
415
- ]
416
- },
417
- metadata: {
418
- operation: params.action,
419
- timestamp: new Date().toISOString(),
420
- executionTime: 0
421
- }
422
- };
423
- }
424
- /**
425
- * Get tool schema for MCP registration
426
- */
427
- static getToolSchema() {
428
- return {
429
- name: 'git-reset',
430
- description: 'Git reset tool for repository state management. Supports soft, mixed, hard reset capabilities and reset-to-commit and reset-branch functionality. Includes safety warnings for destructive operations like hard reset.',
431
- inputSchema: {
432
- type: 'object',
433
- properties: {
434
- action: {
435
- type: 'string',
436
- enum: ['soft', 'mixed', 'hard', 'reset-to-commit', 'reset-branch'],
437
- description: 'The reset operation to perform'
438
- },
439
- projectPath: {
440
- type: 'string',
441
- description: 'Absolute path to the project directory'
442
- },
443
- commit: {
444
- type: 'string',
445
- description: 'Commit hash or reference (required for reset-to-commit, optional for others)'
446
- },
447
- branch: {
448
- type: 'string',
449
- description: 'Branch name (required for reset-branch operation)'
450
- },
451
- files: {
452
- type: 'array',
453
- items: { type: 'string' },
454
- description: 'Specific files to reset (for mixed/soft resets)'
455
- },
456
- force: {
457
- type: 'boolean',
458
- description: 'Force reset - required for hard reset operations'
459
- },
460
- quiet: {
461
- type: 'boolean',
462
- description: 'Suppress output during reset operation'
463
- },
464
- skipWarning: {
465
- type: 'boolean',
466
- description: 'Skip safety warnings (use with extreme caution - not recommended)'
467
- },
468
- confirmDestructive: {
469
- type: 'boolean',
470
- description: 'Explicit confirmation for destructive operations (required for hard reset)'
471
- }
472
- },
473
- required: ['action', 'projectPath']
474
- }
475
- };
476
- }
477
- }
478
- exports.GitResetTool = GitResetTool;
479
- //# sourceMappingURL=git-reset.js.map