@cyanheads/git-mcp-server 2.2.3 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +75 -23
  3. package/dist/config/index.d.ts +87 -0
  4. package/dist/config/index.d.ts.map +1 -0
  5. package/dist/config/index.js +7 -3
  6. package/dist/config/index.js.map +1 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/mcp-server/resources/gitWorkingDir/index.d.ts +6 -0
  12. package/dist/mcp-server/resources/gitWorkingDir/index.d.ts.map +1 -0
  13. package/dist/mcp-server/resources/gitWorkingDir/index.js +6 -0
  14. package/dist/mcp-server/resources/gitWorkingDir/index.js.map +1 -0
  15. package/dist/mcp-server/resources/gitWorkingDir/logic.d.ts +15 -0
  16. package/dist/mcp-server/resources/gitWorkingDir/logic.d.ts.map +1 -0
  17. package/dist/mcp-server/resources/gitWorkingDir/logic.js +18 -0
  18. package/dist/mcp-server/resources/gitWorkingDir/logic.js.map +1 -0
  19. package/dist/mcp-server/resources/gitWorkingDir/registration.d.ts +15 -0
  20. package/dist/mcp-server/resources/gitWorkingDir/registration.d.ts.map +1 -0
  21. package/dist/mcp-server/resources/gitWorkingDir/registration.js +66 -0
  22. package/dist/mcp-server/resources/gitWorkingDir/registration.js.map +1 -0
  23. package/dist/mcp-server/server.d.ts +13 -0
  24. package/dist/mcp-server/server.d.ts.map +1 -0
  25. package/dist/mcp-server/server.js +22 -6
  26. package/dist/mcp-server/server.js.map +1 -0
  27. package/dist/mcp-server/tools/gitAdd/index.d.ts +6 -0
  28. package/dist/mcp-server/tools/gitAdd/index.d.ts.map +1 -0
  29. package/dist/mcp-server/tools/gitAdd/index.js +1 -0
  30. package/dist/mcp-server/tools/gitAdd/index.js.map +1 -0
  31. package/dist/mcp-server/tools/gitAdd/logic.d.ts +31 -0
  32. package/dist/mcp-server/tools/gitAdd/logic.d.ts.map +1 -0
  33. package/dist/mcp-server/tools/gitAdd/logic.js +20 -5
  34. package/dist/mcp-server/tools/gitAdd/logic.js.map +1 -0
  35. package/dist/mcp-server/tools/gitAdd/registration.d.ts +6 -0
  36. package/dist/mcp-server/tools/gitAdd/registration.d.ts.map +1 -0
  37. package/dist/mcp-server/tools/gitAdd/registration.js +5 -2
  38. package/dist/mcp-server/tools/gitAdd/registration.js.map +1 -0
  39. package/dist/mcp-server/tools/gitBranch/index.d.ts +6 -0
  40. package/dist/mcp-server/tools/gitBranch/index.d.ts.map +1 -0
  41. package/dist/mcp-server/tools/gitBranch/index.js +1 -0
  42. package/dist/mcp-server/tools/gitBranch/index.js.map +1 -0
  43. package/dist/mcp-server/tools/gitBranch/logic.d.ts +175 -0
  44. package/dist/mcp-server/tools/gitBranch/logic.d.ts.map +1 -0
  45. package/dist/mcp-server/tools/gitBranch/logic.js +75 -27
  46. package/dist/mcp-server/tools/gitBranch/logic.js.map +1 -0
  47. package/dist/mcp-server/tools/gitBranch/registration.d.ts +16 -0
  48. package/dist/mcp-server/tools/gitBranch/registration.d.ts.map +1 -0
  49. package/dist/mcp-server/tools/gitBranch/registration.js +13 -4
  50. package/dist/mcp-server/tools/gitBranch/registration.js.map +1 -0
  51. package/dist/mcp-server/tools/gitCheckout/index.d.ts +6 -0
  52. package/dist/mcp-server/tools/gitCheckout/index.d.ts.map +1 -0
  53. package/dist/mcp-server/tools/gitCheckout/index.js +1 -0
  54. package/dist/mcp-server/tools/gitCheckout/index.js.map +1 -0
  55. package/dist/mcp-server/tools/gitCheckout/logic.d.ts +48 -0
  56. package/dist/mcp-server/tools/gitCheckout/logic.d.ts.map +1 -0
  57. package/dist/mcp-server/tools/gitCheckout/logic.js +41 -10
  58. package/dist/mcp-server/tools/gitCheckout/logic.js.map +1 -0
  59. package/dist/mcp-server/tools/gitCheckout/registration.d.ts +16 -0
  60. package/dist/mcp-server/tools/gitCheckout/registration.d.ts.map +1 -0
  61. package/dist/mcp-server/tools/gitCheckout/registration.js +12 -3
  62. package/dist/mcp-server/tools/gitCheckout/registration.js.map +1 -0
  63. package/dist/mcp-server/tools/gitCherryPick/index.d.ts +6 -0
  64. package/dist/mcp-server/tools/gitCherryPick/index.d.ts.map +1 -0
  65. package/dist/mcp-server/tools/gitCherryPick/index.js +1 -0
  66. package/dist/mcp-server/tools/gitCherryPick/index.js.map +1 -0
  67. package/dist/mcp-server/tools/gitCherryPick/logic.d.ts +54 -0
  68. package/dist/mcp-server/tools/gitCherryPick/logic.d.ts.map +1 -0
  69. package/dist/mcp-server/tools/gitCherryPick/logic.js +34 -9
  70. package/dist/mcp-server/tools/gitCherryPick/logic.js.map +1 -0
  71. package/dist/mcp-server/tools/gitCherryPick/registration.d.ts +16 -0
  72. package/dist/mcp-server/tools/gitCherryPick/registration.d.ts.map +1 -0
  73. package/dist/mcp-server/tools/gitCherryPick/registration.js +12 -3
  74. package/dist/mcp-server/tools/gitCherryPick/registration.js.map +1 -0
  75. package/dist/mcp-server/tools/gitClean/index.d.ts +6 -0
  76. package/dist/mcp-server/tools/gitClean/index.d.ts.map +1 -0
  77. package/dist/mcp-server/tools/gitClean/index.js +1 -0
  78. package/dist/mcp-server/tools/gitClean/index.js.map +1 -0
  79. package/dist/mcp-server/tools/gitClean/logic.d.ts +51 -0
  80. package/dist/mcp-server/tools/gitClean/logic.d.ts.map +1 -0
  81. package/dist/mcp-server/tools/gitClean/logic.js +38 -10
  82. package/dist/mcp-server/tools/gitClean/logic.js.map +1 -0
  83. package/dist/mcp-server/tools/gitClean/registration.d.ts +16 -0
  84. package/dist/mcp-server/tools/gitClean/registration.d.ts.map +1 -0
  85. package/dist/mcp-server/tools/gitClean/registration.js +12 -3
  86. package/dist/mcp-server/tools/gitClean/registration.js.map +1 -0
  87. package/dist/mcp-server/tools/gitClearWorkingDir/index.d.ts +6 -0
  88. package/dist/mcp-server/tools/gitClearWorkingDir/index.d.ts.map +1 -0
  89. package/dist/mcp-server/tools/gitClearWorkingDir/index.js +1 -0
  90. package/dist/mcp-server/tools/gitClearWorkingDir/index.js.map +1 -0
  91. package/dist/mcp-server/tools/gitClearWorkingDir/logic.d.ts +33 -0
  92. package/dist/mcp-server/tools/gitClearWorkingDir/logic.d.ts.map +1 -0
  93. package/dist/mcp-server/tools/gitClearWorkingDir/logic.js +21 -5
  94. package/dist/mcp-server/tools/gitClearWorkingDir/logic.js.map +1 -0
  95. package/dist/mcp-server/tools/gitClearWorkingDir/registration.d.ts +16 -0
  96. package/dist/mcp-server/tools/gitClearWorkingDir/registration.d.ts.map +1 -0
  97. package/dist/mcp-server/tools/gitClearWorkingDir/registration.js +12 -3
  98. package/dist/mcp-server/tools/gitClearWorkingDir/registration.js.map +1 -0
  99. package/dist/mcp-server/tools/gitClone/index.d.ts +6 -0
  100. package/dist/mcp-server/tools/gitClone/index.d.ts.map +1 -0
  101. package/dist/mcp-server/tools/gitClone/index.js +1 -0
  102. package/dist/mcp-server/tools/gitClone/index.js.map +1 -0
  103. package/dist/mcp-server/tools/gitClone/logic.d.ts +46 -0
  104. package/dist/mcp-server/tools/gitClone/logic.d.ts.map +1 -0
  105. package/dist/mcp-server/tools/gitClone/logic.js +33 -10
  106. package/dist/mcp-server/tools/gitClone/logic.js.map +1 -0
  107. package/dist/mcp-server/tools/gitClone/registration.d.ts +12 -0
  108. package/dist/mcp-server/tools/gitClone/registration.d.ts.map +1 -0
  109. package/dist/mcp-server/tools/gitClone/registration.js +13 -5
  110. package/dist/mcp-server/tools/gitClone/registration.js.map +1 -0
  111. package/dist/mcp-server/tools/gitCommit/index.d.ts +6 -0
  112. package/dist/mcp-server/tools/gitCommit/index.d.ts.map +1 -0
  113. package/dist/mcp-server/tools/gitCommit/index.js +1 -0
  114. package/dist/mcp-server/tools/gitCommit/index.js.map +1 -0
  115. package/dist/mcp-server/tools/gitCommit/logic.d.ts +75 -0
  116. package/dist/mcp-server/tools/gitCommit/logic.d.ts.map +1 -0
  117. package/dist/mcp-server/tools/gitCommit/logic.js +63 -14
  118. package/dist/mcp-server/tools/gitCommit/logic.js.map +1 -0
  119. package/dist/mcp-server/tools/gitCommit/registration.d.ts +16 -0
  120. package/dist/mcp-server/tools/gitCommit/registration.d.ts.map +1 -0
  121. package/dist/mcp-server/tools/gitCommit/registration.js +12 -3
  122. package/dist/mcp-server/tools/gitCommit/registration.js.map +1 -0
  123. package/dist/mcp-server/tools/gitDiff/index.d.ts +6 -0
  124. package/dist/mcp-server/tools/gitDiff/index.d.ts.map +1 -0
  125. package/dist/mcp-server/tools/gitDiff/index.js +1 -0
  126. package/dist/mcp-server/tools/gitDiff/index.js.map +1 -0
  127. package/dist/mcp-server/tools/gitDiff/logic.d.ts +87 -0
  128. package/dist/mcp-server/tools/gitDiff/logic.d.ts.map +1 -0
  129. package/dist/mcp-server/tools/gitDiff/logic.js +59 -15
  130. package/dist/mcp-server/tools/gitDiff/logic.js.map +1 -0
  131. package/dist/mcp-server/tools/gitDiff/registration.d.ts +16 -0
  132. package/dist/mcp-server/tools/gitDiff/registration.d.ts.map +1 -0
  133. package/dist/mcp-server/tools/gitDiff/registration.js +13 -3
  134. package/dist/mcp-server/tools/gitDiff/registration.js.map +1 -0
  135. package/dist/mcp-server/tools/gitFetch/index.d.ts +6 -0
  136. package/dist/mcp-server/tools/gitFetch/index.d.ts.map +1 -0
  137. package/dist/mcp-server/tools/gitFetch/index.js +1 -0
  138. package/dist/mcp-server/tools/gitFetch/index.js.map +1 -0
  139. package/dist/mcp-server/tools/gitFetch/logic.d.ts +45 -0
  140. package/dist/mcp-server/tools/gitFetch/logic.d.ts.map +1 -0
  141. package/dist/mcp-server/tools/gitFetch/logic.js +18 -5
  142. package/dist/mcp-server/tools/gitFetch/logic.js.map +1 -0
  143. package/dist/mcp-server/tools/gitFetch/registration.d.ts +16 -0
  144. package/dist/mcp-server/tools/gitFetch/registration.d.ts.map +1 -0
  145. package/dist/mcp-server/tools/gitFetch/registration.js +12 -3
  146. package/dist/mcp-server/tools/gitFetch/registration.js.map +1 -0
  147. package/dist/mcp-server/tools/gitInit/index.d.ts +6 -0
  148. package/dist/mcp-server/tools/gitInit/index.d.ts.map +1 -0
  149. package/dist/mcp-server/tools/gitInit/index.js +1 -0
  150. package/dist/mcp-server/tools/gitInit/index.js.map +1 -0
  151. package/dist/mcp-server/tools/gitInit/logic.d.ts +46 -0
  152. package/dist/mcp-server/tools/gitInit/logic.d.ts.map +1 -0
  153. package/dist/mcp-server/tools/gitInit/logic.js +73 -21
  154. package/dist/mcp-server/tools/gitInit/logic.js.map +1 -0
  155. package/dist/mcp-server/tools/gitInit/registration.d.ts +12 -0
  156. package/dist/mcp-server/tools/gitInit/registration.d.ts.map +1 -0
  157. package/dist/mcp-server/tools/gitInit/registration.js +13 -5
  158. package/dist/mcp-server/tools/gitInit/registration.js.map +1 -0
  159. package/dist/mcp-server/tools/gitLog/index.d.ts +6 -0
  160. package/dist/mcp-server/tools/gitLog/index.d.ts.map +1 -0
  161. package/dist/mcp-server/tools/gitLog/index.js +1 -0
  162. package/dist/mcp-server/tools/gitLog/index.js.map +1 -0
  163. package/dist/mcp-server/tools/gitLog/logic.d.ts +92 -0
  164. package/dist/mcp-server/tools/gitLog/logic.d.ts.map +1 -0
  165. package/dist/mcp-server/tools/gitLog/logic.js +84 -26
  166. package/dist/mcp-server/tools/gitLog/logic.js.map +1 -0
  167. package/dist/mcp-server/tools/gitLog/registration.d.ts +16 -0
  168. package/dist/mcp-server/tools/gitLog/registration.d.ts.map +1 -0
  169. package/dist/mcp-server/tools/gitLog/registration.js +12 -3
  170. package/dist/mcp-server/tools/gitLog/registration.js.map +1 -0
  171. package/dist/mcp-server/tools/gitMerge/index.d.ts +6 -0
  172. package/dist/mcp-server/tools/gitMerge/index.d.ts.map +1 -0
  173. package/dist/mcp-server/tools/gitMerge/index.js +1 -0
  174. package/dist/mcp-server/tools/gitMerge/index.js.map +1 -0
  175. package/dist/mcp-server/tools/gitMerge/logic.d.ts +60 -0
  176. package/dist/mcp-server/tools/gitMerge/logic.d.ts.map +1 -0
  177. package/dist/mcp-server/tools/gitMerge/logic.js +40 -11
  178. package/dist/mcp-server/tools/gitMerge/logic.js.map +1 -0
  179. package/dist/mcp-server/tools/gitMerge/registration.d.ts +16 -0
  180. package/dist/mcp-server/tools/gitMerge/registration.d.ts.map +1 -0
  181. package/dist/mcp-server/tools/gitMerge/registration.js +12 -3
  182. package/dist/mcp-server/tools/gitMerge/registration.js.map +1 -0
  183. package/dist/mcp-server/tools/gitPull/index.d.ts +6 -0
  184. package/dist/mcp-server/tools/gitPull/index.d.ts.map +1 -0
  185. package/dist/mcp-server/tools/gitPull/index.js +1 -0
  186. package/dist/mcp-server/tools/gitPull/index.js.map +1 -0
  187. package/dist/mcp-server/tools/gitPull/logic.d.ts +48 -0
  188. package/dist/mcp-server/tools/gitPull/logic.d.ts.map +1 -0
  189. package/dist/mcp-server/tools/gitPull/logic.js +22 -6
  190. package/dist/mcp-server/tools/gitPull/logic.js.map +1 -0
  191. package/dist/mcp-server/tools/gitPull/registration.d.ts +16 -0
  192. package/dist/mcp-server/tools/gitPull/registration.d.ts.map +1 -0
  193. package/dist/mcp-server/tools/gitPull/registration.js +12 -3
  194. package/dist/mcp-server/tools/gitPull/registration.js.map +1 -0
  195. package/dist/mcp-server/tools/gitPush/index.d.ts +6 -0
  196. package/dist/mcp-server/tools/gitPush/index.d.ts.map +1 -0
  197. package/dist/mcp-server/tools/gitPush/index.js +1 -0
  198. package/dist/mcp-server/tools/gitPush/index.js.map +1 -0
  199. package/dist/mcp-server/tools/gitPush/logic.d.ts +134 -0
  200. package/dist/mcp-server/tools/gitPush/logic.d.ts.map +1 -0
  201. package/dist/mcp-server/tools/gitPush/logic.js +28 -9
  202. package/dist/mcp-server/tools/gitPush/logic.js.map +1 -0
  203. package/dist/mcp-server/tools/gitPush/registration.d.ts +16 -0
  204. package/dist/mcp-server/tools/gitPush/registration.d.ts.map +1 -0
  205. package/dist/mcp-server/tools/gitPush/registration.js +12 -3
  206. package/dist/mcp-server/tools/gitPush/registration.js.map +1 -0
  207. package/dist/mcp-server/tools/gitRebase/index.d.ts +6 -0
  208. package/dist/mcp-server/tools/gitRebase/index.d.ts.map +1 -0
  209. package/dist/mcp-server/tools/gitRebase/index.js +1 -0
  210. package/dist/mcp-server/tools/gitRebase/index.js.map +1 -0
  211. package/dist/mcp-server/tools/gitRebase/logic.d.ts +106 -0
  212. package/dist/mcp-server/tools/gitRebase/logic.d.ts.map +1 -0
  213. package/dist/mcp-server/tools/gitRebase/logic.js +40 -10
  214. package/dist/mcp-server/tools/gitRebase/logic.js.map +1 -0
  215. package/dist/mcp-server/tools/gitRebase/registration.d.ts +16 -0
  216. package/dist/mcp-server/tools/gitRebase/registration.d.ts.map +1 -0
  217. package/dist/mcp-server/tools/gitRebase/registration.js +12 -3
  218. package/dist/mcp-server/tools/gitRebase/registration.js.map +1 -0
  219. package/dist/mcp-server/tools/gitRemote/index.d.ts +6 -0
  220. package/dist/mcp-server/tools/gitRemote/index.d.ts.map +1 -0
  221. package/dist/mcp-server/tools/gitRemote/index.js +1 -0
  222. package/dist/mcp-server/tools/gitRemote/index.js.map +1 -0
  223. package/dist/mcp-server/tools/gitRemote/logic.d.ts +107 -0
  224. package/dist/mcp-server/tools/gitRemote/logic.d.ts.map +1 -0
  225. package/dist/mcp-server/tools/gitRemote/logic.js +45 -19
  226. package/dist/mcp-server/tools/gitRemote/logic.js.map +1 -0
  227. package/dist/mcp-server/tools/gitRemote/registration.d.ts +16 -0
  228. package/dist/mcp-server/tools/gitRemote/registration.d.ts.map +1 -0
  229. package/dist/mcp-server/tools/gitRemote/registration.js +12 -3
  230. package/dist/mcp-server/tools/gitRemote/registration.js.map +1 -0
  231. package/dist/mcp-server/tools/gitReset/index.d.ts +6 -0
  232. package/dist/mcp-server/tools/gitReset/index.d.ts.map +1 -0
  233. package/dist/mcp-server/tools/gitReset/index.js +1 -0
  234. package/dist/mcp-server/tools/gitReset/index.js.map +1 -0
  235. package/dist/mcp-server/tools/gitReset/logic.d.ts +42 -0
  236. package/dist/mcp-server/tools/gitReset/logic.d.ts.map +1 -0
  237. package/dist/mcp-server/tools/gitReset/logic.js +20 -6
  238. package/dist/mcp-server/tools/gitReset/logic.js.map +1 -0
  239. package/dist/mcp-server/tools/gitReset/registration.d.ts +16 -0
  240. package/dist/mcp-server/tools/gitReset/registration.d.ts.map +1 -0
  241. package/dist/mcp-server/tools/gitReset/registration.js +12 -3
  242. package/dist/mcp-server/tools/gitReset/registration.js.map +1 -0
  243. package/dist/mcp-server/tools/gitSetWorkingDir/index.d.ts +6 -0
  244. package/dist/mcp-server/tools/gitSetWorkingDir/index.d.ts.map +1 -0
  245. package/dist/mcp-server/tools/gitSetWorkingDir/index.js +1 -0
  246. package/dist/mcp-server/tools/gitSetWorkingDir/index.js.map +1 -0
  247. package/dist/mcp-server/tools/gitSetWorkingDir/logic.d.ts +45 -0
  248. package/dist/mcp-server/tools/gitSetWorkingDir/logic.d.ts.map +1 -0
  249. package/dist/mcp-server/tools/gitSetWorkingDir/logic.js +29 -8
  250. package/dist/mcp-server/tools/gitSetWorkingDir/logic.js.map +1 -0
  251. package/dist/mcp-server/tools/gitSetWorkingDir/registration.d.ts +16 -0
  252. package/dist/mcp-server/tools/gitSetWorkingDir/registration.d.ts.map +1 -0
  253. package/dist/mcp-server/tools/gitSetWorkingDir/registration.js +12 -3
  254. package/dist/mcp-server/tools/gitSetWorkingDir/registration.js.map +1 -0
  255. package/dist/mcp-server/tools/gitShow/index.d.ts +6 -0
  256. package/dist/mcp-server/tools/gitShow/index.d.ts.map +1 -0
  257. package/dist/mcp-server/tools/gitShow/index.js +1 -0
  258. package/dist/mcp-server/tools/gitShow/index.js.map +1 -0
  259. package/dist/mcp-server/tools/gitShow/logic.d.ts +39 -0
  260. package/dist/mcp-server/tools/gitShow/logic.d.ts.map +1 -0
  261. package/dist/mcp-server/tools/gitShow/logic.js +17 -5
  262. package/dist/mcp-server/tools/gitShow/logic.js.map +1 -0
  263. package/dist/mcp-server/tools/gitShow/registration.d.ts +16 -0
  264. package/dist/mcp-server/tools/gitShow/registration.d.ts.map +1 -0
  265. package/dist/mcp-server/tools/gitShow/registration.js +13 -3
  266. package/dist/mcp-server/tools/gitShow/registration.js.map +1 -0
  267. package/dist/mcp-server/tools/gitStash/index.d.ts +6 -0
  268. package/dist/mcp-server/tools/gitStash/index.d.ts.map +1 -0
  269. package/dist/mcp-server/tools/gitStash/index.js +1 -0
  270. package/dist/mcp-server/tools/gitStash/index.js.map +1 -0
  271. package/dist/mcp-server/tools/gitStash/logic.d.ts +100 -0
  272. package/dist/mcp-server/tools/gitStash/logic.d.ts.map +1 -0
  273. package/dist/mcp-server/tools/gitStash/logic.js +70 -17
  274. package/dist/mcp-server/tools/gitStash/logic.js.map +1 -0
  275. package/dist/mcp-server/tools/gitStash/registration.d.ts +16 -0
  276. package/dist/mcp-server/tools/gitStash/registration.d.ts.map +1 -0
  277. package/dist/mcp-server/tools/gitStash/registration.js +12 -3
  278. package/dist/mcp-server/tools/gitStash/registration.js.map +1 -0
  279. package/dist/mcp-server/tools/gitStatus/index.d.ts +6 -0
  280. package/dist/mcp-server/tools/gitStatus/index.d.ts.map +1 -0
  281. package/dist/mcp-server/tools/gitStatus/index.js +1 -0
  282. package/dist/mcp-server/tools/gitStatus/index.js.map +1 -0
  283. package/dist/mcp-server/tools/gitStatus/logic.d.ts +115 -0
  284. package/dist/mcp-server/tools/gitStatus/logic.d.ts.map +1 -0
  285. package/dist/mcp-server/tools/gitStatus/logic.js +38 -23
  286. package/dist/mcp-server/tools/gitStatus/logic.js.map +1 -0
  287. package/dist/mcp-server/tools/gitStatus/registration.d.ts +16 -0
  288. package/dist/mcp-server/tools/gitStatus/registration.d.ts.map +1 -0
  289. package/dist/mcp-server/tools/gitStatus/registration.js +12 -3
  290. package/dist/mcp-server/tools/gitStatus/registration.js.map +1 -0
  291. package/dist/mcp-server/tools/gitTag/index.d.ts +6 -0
  292. package/dist/mcp-server/tools/gitTag/index.d.ts.map +1 -0
  293. package/dist/mcp-server/tools/gitTag/index.js +1 -0
  294. package/dist/mcp-server/tools/gitTag/index.js.map +1 -0
  295. package/dist/mcp-server/tools/gitTag/logic.d.ts +121 -0
  296. package/dist/mcp-server/tools/gitTag/logic.d.ts.map +1 -0
  297. package/dist/mcp-server/tools/gitTag/logic.js +59 -17
  298. package/dist/mcp-server/tools/gitTag/logic.js.map +1 -0
  299. package/dist/mcp-server/tools/gitTag/registration.d.ts +16 -0
  300. package/dist/mcp-server/tools/gitTag/registration.d.ts.map +1 -0
  301. package/dist/mcp-server/tools/gitTag/registration.js +12 -3
  302. package/dist/mcp-server/tools/gitTag/registration.js.map +1 -0
  303. package/dist/mcp-server/tools/gitWorktree/index.d.ts +6 -0
  304. package/dist/mcp-server/tools/gitWorktree/index.d.ts.map +1 -0
  305. package/dist/mcp-server/tools/gitWorktree/index.js +1 -0
  306. package/dist/mcp-server/tools/gitWorktree/index.js.map +1 -0
  307. package/dist/mcp-server/tools/gitWorktree/logic.d.ts +218 -0
  308. package/dist/mcp-server/tools/gitWorktree/logic.d.ts.map +1 -0
  309. package/dist/mcp-server/tools/gitWorktree/logic.js +61 -17
  310. package/dist/mcp-server/tools/gitWorktree/logic.js.map +1 -0
  311. package/dist/mcp-server/tools/gitWorktree/registration.d.ts +16 -0
  312. package/dist/mcp-server/tools/gitWorktree/registration.d.ts.map +1 -0
  313. package/dist/mcp-server/tools/gitWorktree/registration.js +12 -3
  314. package/dist/mcp-server/tools/gitWorktree/registration.js.map +1 -0
  315. package/dist/mcp-server/tools/gitWrapupInstructions/index.d.ts +6 -0
  316. package/dist/mcp-server/tools/gitWrapupInstructions/index.d.ts.map +1 -0
  317. package/dist/mcp-server/tools/gitWrapupInstructions/index.js +1 -0
  318. package/dist/mcp-server/tools/gitWrapupInstructions/index.js.map +1 -0
  319. package/dist/mcp-server/tools/gitWrapupInstructions/logic.d.ts +175 -0
  320. package/dist/mcp-server/tools/gitWrapupInstructions/logic.d.ts.map +1 -0
  321. package/dist/mcp-server/tools/gitWrapupInstructions/logic.js +20 -6
  322. package/dist/mcp-server/tools/gitWrapupInstructions/logic.js.map +1 -0
  323. package/dist/mcp-server/tools/gitWrapupInstructions/registration.d.ts +16 -0
  324. package/dist/mcp-server/tools/gitWrapupInstructions/registration.d.ts.map +1 -0
  325. package/dist/mcp-server/tools/gitWrapupInstructions/registration.js +12 -3
  326. package/dist/mcp-server/tools/gitWrapupInstructions/registration.js.map +1 -0
  327. package/dist/mcp-server/transports/auth/authFactory.d.ts +11 -0
  328. package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
  329. package/dist/mcp-server/transports/auth/authFactory.js +1 -0
  330. package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
  331. package/dist/mcp-server/transports/auth/authMiddleware.d.ts +20 -0
  332. package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
  333. package/dist/mcp-server/transports/auth/authMiddleware.js +1 -0
  334. package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
  335. package/dist/mcp-server/transports/auth/index.d.ts +14 -0
  336. package/dist/mcp-server/transports/auth/index.d.ts.map +1 -0
  337. package/dist/mcp-server/transports/auth/index.js +1 -0
  338. package/dist/mcp-server/transports/auth/index.js.map +1 -0
  339. package/dist/mcp-server/transports/auth/lib/authContext.d.ts +34 -0
  340. package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
  341. package/dist/mcp-server/transports/auth/lib/authContext.js +1 -0
  342. package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
  343. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +13 -0
  344. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
  345. package/dist/mcp-server/transports/auth/lib/authTypes.js +1 -0
  346. package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
  347. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +19 -0
  348. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
  349. package/dist/mcp-server/transports/auth/lib/authUtils.js +1 -0
  350. package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
  351. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +18 -0
  352. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
  353. package/dist/mcp-server/transports/auth/strategies/authStrategy.js +1 -0
  354. package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
  355. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +8 -0
  356. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
  357. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +5 -0
  358. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
  359. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +8 -0
  360. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
  361. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +6 -0
  362. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
  363. package/dist/mcp-server/transports/core/baseTransportManager.d.ts +18 -0
  364. package/dist/mcp-server/transports/core/baseTransportManager.d.ts.map +1 -0
  365. package/dist/mcp-server/transports/core/baseTransportManager.js +1 -0
  366. package/dist/mcp-server/transports/core/baseTransportManager.js.map +1 -0
  367. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts +24 -0
  368. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +1 -0
  369. package/dist/mcp-server/transports/core/honoNodeBridge.js +11 -4
  370. package/dist/mcp-server/transports/core/honoNodeBridge.js.map +1 -0
  371. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +32 -0
  372. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -0
  373. package/dist/mcp-server/transports/core/statefulTransportManager.js +1 -0
  374. package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -0
  375. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +21 -0
  376. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -0
  377. package/dist/mcp-server/transports/core/statelessTransportManager.js +1 -0
  378. package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -0
  379. package/dist/mcp-server/transports/core/transportTypes.d.ts +69 -0
  380. package/dist/mcp-server/transports/core/transportTypes.d.ts.map +1 -0
  381. package/dist/mcp-server/transports/core/transportTypes.js +1 -0
  382. package/dist/mcp-server/transports/core/transportTypes.js.map +1 -0
  383. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +22 -0
  384. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
  385. package/dist/mcp-server/transports/http/httpErrorHandler.js +1 -0
  386. package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
  387. package/dist/mcp-server/transports/http/httpTransport.d.ts +23 -0
  388. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
  389. package/dist/mcp-server/transports/http/httpTransport.js +29 -10
  390. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
  391. package/dist/mcp-server/transports/http/httpTypes.d.ts +17 -0
  392. package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
  393. package/dist/mcp-server/transports/http/httpTypes.js +1 -0
  394. package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
  395. package/dist/mcp-server/transports/http/index.d.ts +8 -0
  396. package/dist/mcp-server/transports/http/index.d.ts.map +1 -0
  397. package/dist/mcp-server/transports/http/index.js +1 -0
  398. package/dist/mcp-server/transports/http/index.js.map +1 -0
  399. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts +27 -0
  400. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -0
  401. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +27 -24
  402. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -0
  403. package/dist/mcp-server/transports/stdio/index.d.ts +6 -0
  404. package/dist/mcp-server/transports/stdio/index.d.ts.map +1 -0
  405. package/dist/mcp-server/transports/stdio/index.js +1 -0
  406. package/dist/mcp-server/transports/stdio/index.js.map +1 -0
  407. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +43 -0
  408. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
  409. package/dist/mcp-server/transports/stdio/stdioTransport.js +1 -0
  410. package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
  411. package/dist/types-global/errors.d.ts +122 -0
  412. package/dist/types-global/errors.d.ts.map +1 -0
  413. package/dist/types-global/errors.js +1 -0
  414. package/dist/types-global/errors.js.map +1 -0
  415. package/dist/utils/index.d.ts +5 -0
  416. package/dist/utils/index.d.ts.map +1 -0
  417. package/dist/utils/index.js +1 -0
  418. package/dist/utils/index.js.map +1 -0
  419. package/dist/utils/internal/errorHandler.d.ts +91 -0
  420. package/dist/utils/internal/errorHandler.d.ts.map +1 -0
  421. package/dist/utils/internal/errorHandler.js +8 -6
  422. package/dist/utils/internal/errorHandler.js.map +1 -0
  423. package/dist/utils/internal/index.d.ts +4 -0
  424. package/dist/utils/internal/index.d.ts.map +1 -0
  425. package/dist/utils/internal/index.js +1 -0
  426. package/dist/utils/internal/index.js.map +1 -0
  427. package/dist/utils/internal/logger.d.ts +55 -0
  428. package/dist/utils/internal/logger.d.ts.map +1 -0
  429. package/dist/utils/internal/logger.js +19 -5
  430. package/dist/utils/internal/logger.js.map +1 -0
  431. package/dist/utils/internal/requestContext.d.ts +48 -0
  432. package/dist/utils/internal/requestContext.d.ts.map +1 -0
  433. package/dist/utils/internal/requestContext.js +1 -0
  434. package/dist/utils/internal/requestContext.js.map +1 -0
  435. package/dist/utils/metrics/index.d.ts +2 -0
  436. package/dist/utils/metrics/index.d.ts.map +1 -0
  437. package/dist/utils/metrics/index.js +1 -0
  438. package/dist/utils/metrics/index.js.map +1 -0
  439. package/dist/utils/metrics/tokenCounter.d.ts +28 -0
  440. package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
  441. package/dist/utils/metrics/tokenCounter.js +1 -0
  442. package/dist/utils/metrics/tokenCounter.js.map +1 -0
  443. package/dist/utils/parsing/dateParser.d.ts +25 -0
  444. package/dist/utils/parsing/dateParser.d.ts.map +1 -0
  445. package/dist/utils/parsing/dateParser.js +57 -56
  446. package/dist/utils/parsing/dateParser.js.map +1 -0
  447. package/dist/utils/parsing/index.d.ts +3 -0
  448. package/dist/utils/parsing/index.d.ts.map +1 -0
  449. package/dist/utils/parsing/index.js +1 -0
  450. package/dist/utils/parsing/index.js.map +1 -0
  451. package/dist/utils/parsing/jsonParser.d.ts +83 -0
  452. package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
  453. package/dist/utils/parsing/jsonParser.js +85 -45
  454. package/dist/utils/parsing/jsonParser.js.map +1 -0
  455. package/dist/utils/security/idGenerator.d.ts +94 -0
  456. package/dist/utils/security/idGenerator.d.ts.map +1 -0
  457. package/dist/utils/security/idGenerator.js +9 -2
  458. package/dist/utils/security/idGenerator.js.map +1 -0
  459. package/dist/utils/security/index.d.ts +4 -0
  460. package/dist/utils/security/index.d.ts.map +1 -0
  461. package/dist/utils/security/index.js +1 -0
  462. package/dist/utils/security/index.js.map +1 -0
  463. package/dist/utils/security/rateLimiter.d.ts +93 -0
  464. package/dist/utils/security/rateLimiter.d.ts.map +1 -0
  465. package/dist/utils/security/rateLimiter.js +1 -0
  466. package/dist/utils/security/rateLimiter.js.map +1 -0
  467. package/dist/utils/security/sanitization.d.ts +181 -0
  468. package/dist/utils/security/sanitization.d.ts.map +1 -0
  469. package/dist/utils/security/sanitization.js +6 -5
  470. package/dist/utils/security/sanitization.js.map +1 -0
  471. package/package.json +52 -34
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClearWorkingDir/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC"}
@@ -3,3 +3,4 @@
3
3
  * @module src/mcp-server/tools/gitClearWorkingDir/index
4
4
  */
5
5
  export { registerGitClearWorkingDirTool } from "./registration.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClearWorkingDir/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @fileoverview Defines the core logic, schemas, and types for the git_clear_working_dir tool.
3
+ * @module src/mcp-server/tools/gitClearWorkingDir/logic
4
+ */
5
+ import { z } from "zod";
6
+ import { type RequestContext } from "../../../utils/index.js";
7
+ export declare const GitClearWorkingDirInputSchema: z.ZodObject<{
8
+ confirm: z.ZodOptional<z.ZodEnum<["Y", "y", "Yes", "yes"]>>;
9
+ }, "strict", z.ZodTypeAny, {
10
+ confirm?: "Y" | "y" | "Yes" | "yes" | undefined;
11
+ }, {
12
+ confirm?: "Y" | "y" | "Yes" | "yes" | undefined;
13
+ }>;
14
+ export declare const GitClearWorkingDirOutputSchema: z.ZodObject<{
15
+ success: z.ZodBoolean;
16
+ message: z.ZodString;
17
+ }, "strip", z.ZodTypeAny, {
18
+ message: string;
19
+ success: boolean;
20
+ }, {
21
+ message: string;
22
+ success: boolean;
23
+ }>;
24
+ export type GitClearWorkingDirInput = z.infer<typeof GitClearWorkingDirInputSchema>;
25
+ export type GitClearWorkingDirOutput = z.infer<typeof GitClearWorkingDirOutputSchema>;
26
+ /**
27
+ * 4. IMPLEMENT the core logic function.
28
+ * @throws {McpError} If the logic encounters an unrecoverable issue.
29
+ */
30
+ export declare function gitClearWorkingDirLogic(params: GitClearWorkingDirInput, context: RequestContext & {
31
+ clearWorkingDirectory: () => void;
32
+ }): Promise<GitClearWorkingDirOutput>;
33
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClearWorkingDir/logic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGtE,eAAO,MAAM,6BAA6B;;;;;;EAS/B,CAAC;AAGZ,eAAO,MAAM,8BAA8B;;;;;;;;;EAGzC,CAAC;AAGH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,cAAc,GAAG;IAAE,qBAAqB,EAAE,MAAM,IAAI,CAAA;CAAE,GAC9D,OAAO,CAAC,wBAAwB,CAAC,CAkBnC"}
@@ -3,9 +3,17 @@
3
3
  * @module src/mcp-server/tools/gitClearWorkingDir/logic
4
4
  */
5
5
  import { z } from "zod";
6
+ import { BaseErrorCode, McpError } from "../../../types-global/errors.js";
6
7
  import { logger } from "../../../utils/index.js";
7
8
  // 1. DEFINE the Zod input schema.
8
- export const GitClearWorkingDirInputSchema = z.object({});
9
+ export const GitClearWorkingDirInputSchema = z
10
+ .object({
11
+ confirm: z
12
+ .enum(["Y", "y", "Yes", "yes"])
13
+ .optional()
14
+ .describe("Optional confirmation flag. The tool runs without it, but it can be provided for clarity."),
15
+ })
16
+ .strict();
9
17
  // 2. DEFINE the Zod response schema.
10
18
  export const GitClearWorkingDirOutputSchema = z.object({
11
19
  success: z.boolean().describe("Indicates if the command was successful."),
@@ -18,8 +26,16 @@ export const GitClearWorkingDirOutputSchema = z.object({
18
26
  export async function gitClearWorkingDirLogic(params, context) {
19
27
  const operation = "gitClearWorkingDirLogic";
20
28
  logger.debug(`Executing ${operation}`, { ...context, params });
21
- context.clearWorkingDirectory();
22
- const message = "Session working directory cleared successfully.";
23
- logger.info(message, { ...context, operation });
24
- return { success: true, message };
29
+ try {
30
+ context.clearWorkingDirectory();
31
+ const message = "Session working directory cleared successfully.";
32
+ logger.info(message, { ...context, operation });
33
+ return { success: true, message };
34
+ }
35
+ catch (error) {
36
+ // This is unlikely to be hit unless the clearWorkingDirectory function is changed
37
+ // to throw, but it makes the pattern consistent with other logic files.
38
+ throw new McpError(BaseErrorCode.INTERNAL_ERROR, "An unexpected error occurred while clearing the working directory.", { originalError: error instanceof Error ? error.message : String(error) });
39
+ }
25
40
  }
41
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClearWorkingDir/logic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAuB,MAAM,yBAAyB,CAAC;AAEtE,kCAAkC;AAClC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F,CAC5F;CACJ,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,qCAAqC;AACrC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACjE,CAAC,CAAC;AAUH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAA+B,EAC/B,OAA+D;IAE/D,MAAM,SAAS,GAAG,yBAAyB,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,aAAa,SAAS,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,iDAAiD,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kFAAkF;QAClF,wEAAwE;QACxE,MAAM,IAAI,QAAQ,CAChB,aAAa,CAAC,cAAc,EAC5B,oEAAoE,EACpE,EAAE,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Handles registration and error handling for the git_clear_working_dir tool.
3
+ * @module src/mcp-server/tools/gitClearWorkingDir/registration
4
+ */
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ import { RequestContext } from "../../../utils/index.js";
7
+ export type ClearWorkingDirectoryFn = (sessionId: string | undefined) => void;
8
+ export type GetSessionIdFn = (context: RequestContext) => string | undefined;
9
+ /**
10
+ * Registers the git_clear_working_dir tool with the MCP server instance.
11
+ * @param server The MCP server instance.
12
+ * @param clearWorkingDirectory Function to clear the session's working directory.
13
+ * @param getSessionId Function to get the session ID from context.
14
+ */
15
+ export declare const registerGitClearWorkingDirTool: (server: McpServer, clearWorkingDirectory: ClearWorkingDirectoryFn, getSessionId: GetSessionIdFn) => Promise<void>;
16
+ //# sourceMappingURL=registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClearWorkingDir/registration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAGL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AASjC,MAAM,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,MAAM,GAAG,SAAS,CAAC;AAM7E;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,GACzC,QAAQ,SAAS,EACjB,uBAAuB,uBAAuB,EAC9C,cAAc,cAAc,KAC3B,OAAO,CAAC,IAAI,CAmEd,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Handles registration and error handling for the git_clear_working_dir tool.
3
3
  * @module src/mcp-server/tools/gitClearWorkingDir/registration
4
4
  */
5
- import { ErrorHandler, logger, requestContextService } from "../../../utils/index.js";
5
+ import { ErrorHandler, logger, requestContextService, } from "../../../utils/index.js";
6
6
  import { gitClearWorkingDirLogic, GitClearWorkingDirInputSchema, GitClearWorkingDirOutputSchema, } from "./logic.js";
7
7
  const TOOL_NAME = "git_clear_working_dir";
8
8
  const TOOL_DESCRIPTION = "Clears the session-specific working directory previously set by `git_set_working_dir`. Subsequent Git tool calls in this session will require an explicit `path` parameter or will default to the server's current working directory. Returns the result as a JSON object.";
@@ -39,11 +39,19 @@ export const registerGitClearWorkingDirTool = async (server, clearWorkingDirecto
39
39
  });
40
40
  return {
41
41
  structuredContent: result,
42
- content: [{ type: "text", text: `Success: ${JSON.stringify(result, null, 2)}` }],
42
+ content: [
43
+ {
44
+ type: "text",
45
+ text: `Success: ${JSON.stringify(result, null, 2)}`,
46
+ },
47
+ ],
43
48
  };
44
49
  }
45
50
  catch (error) {
46
- logger.error(`Error in ${TOOL_NAME} handler`, { error, ...handlerContext });
51
+ logger.error(`Error in ${TOOL_NAME} handler`, {
52
+ error,
53
+ ...handlerContext,
54
+ });
47
55
  const mcpError = ErrorHandler.handleError(error, {
48
56
  operation: `tool:${TOOL_NAME}`,
49
57
  context: handlerContext,
@@ -62,3 +70,4 @@ export const registerGitClearWorkingDirTool = async (server, clearWorkingDirecto
62
70
  });
63
71
  logger.info(`Tool '${TOOL_NAME}' registered successfully.`, context);
64
72
  };
73
+ //# sourceMappingURL=registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClearWorkingDir/registration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,YAAY,EACZ,MAAM,EAEN,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,uBAAuB,EAEvB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAKpB,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,gBAAgB,GACpB,4QAA4Q,CAAC;AAE/Q;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EACjD,MAAiB,EACjB,qBAA8C,EAC9C,YAA4B,EACb,EAAE;IACjB,MAAM,SAAS,GAAG,gCAAgC,CAAC;IACnD,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAE1E,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,6BAA6B,CAAC,KAAK;QAChD,YAAY,EAAE,8BAA8B,CAAC,KAAK;QAClD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI,EAAE,iDAAiD;YACrE,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EACH,MAA+B,EAC/B,WAAoC,EACpC,EAAE;QACF,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAChE,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,WAAW;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE;gBACnD,GAAG,cAAc;gBACjB,qBAAqB,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC;aAC9D,CAAC,CAAC;YAEH,OAAO;gBACL,iBAAiB,EAAE,MAAM;gBACzB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACpD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,UAAU,EAAE;gBAC5C,KAAK;gBACL,GAAG,cAAc;aAClB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC/C,SAAS,EAAE,QAAQ,SAAS,EAAE;gBAC9B,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,MAAM;aACd,CAAa,CAAC;YAEf,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/D,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,4BAA4B,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Barrel file for the gitClone tool.
3
+ * @module src/mcp-server/tools/gitClone/index
4
+ */
5
+ export { registerGitCloneTool } from "./registration.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClone/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -3,3 +3,4 @@
3
3
  * @module src/mcp-server/tools/gitClone/index
4
4
  */
5
5
  export { registerGitCloneTool } from "./registration.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClone/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @fileoverview Defines the core logic, schemas, and types for the git_clone tool.
3
+ * @module src/mcp-server/tools/gitClone/logic
4
+ */
5
+ import { z } from "zod";
6
+ import { type RequestContext } from "../../../utils/index.js";
7
+ export declare const GitCloneInputSchema: z.ZodObject<{
8
+ repositoryUrl: z.ZodString;
9
+ targetPath: z.ZodString;
10
+ branch: z.ZodOptional<z.ZodString>;
11
+ depth: z.ZodOptional<z.ZodNumber>;
12
+ quiet: z.ZodDefault<z.ZodBoolean>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ repositoryUrl: string;
15
+ targetPath: string;
16
+ quiet: boolean;
17
+ branch?: string | undefined;
18
+ depth?: number | undefined;
19
+ }, {
20
+ repositoryUrl: string;
21
+ targetPath: string;
22
+ branch?: string | undefined;
23
+ depth?: number | undefined;
24
+ quiet?: boolean | undefined;
25
+ }>;
26
+ export declare const GitCloneOutputSchema: z.ZodObject<{
27
+ success: z.ZodBoolean;
28
+ message: z.ZodString;
29
+ path: z.ZodString;
30
+ }, "strip", z.ZodTypeAny, {
31
+ path: string;
32
+ message: string;
33
+ success: boolean;
34
+ }, {
35
+ path: string;
36
+ message: string;
37
+ success: boolean;
38
+ }>;
39
+ export type GitCloneInput = z.infer<typeof GitCloneInputSchema>;
40
+ export type GitCloneOutput = z.infer<typeof GitCloneOutputSchema>;
41
+ /**
42
+ * 4. IMPLEMENT the core logic function.
43
+ * @throws {McpError} If the logic encounters an unrecoverable issue.
44
+ */
45
+ export declare function gitCloneLogic(params: GitCloneInput, context: RequestContext): Promise<GitCloneOutput>;
46
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClone/logic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAMjC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAuB9B,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAGH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC,CA4CzB"}
@@ -6,16 +6,33 @@ import { execFile } from "child_process";
6
6
  import fs from "fs/promises";
7
7
  import { promisify } from "util";
8
8
  import { z } from "zod";
9
- import { logger, sanitization } from "../../../utils/index.js";
9
+ import { logger, sanitization, } from "../../../utils/index.js";
10
10
  import { McpError, BaseErrorCode } from "../../../types-global/errors.js";
11
11
  const execFileAsync = promisify(execFile);
12
12
  // 1. DEFINE the Zod input schema.
13
13
  export const GitCloneInputSchema = z.object({
14
- repositoryUrl: z.string().url("Invalid repository URL format.").describe("The URL of the repository to clone."),
15
- targetPath: z.string().min(1).describe("The absolute path where the repository should be cloned."),
16
- branch: z.string().optional().describe("The specific branch to checkout after cloning."),
17
- depth: z.number().int().positive().optional().describe("Create a shallow clone with a truncated history."),
18
- quiet: z.boolean().default(false).describe("Operate quietly, suppressing progress output."),
14
+ repositoryUrl: z
15
+ .string()
16
+ .url("Invalid repository URL format.")
17
+ .describe("The URL of the repository to clone."),
18
+ targetPath: z
19
+ .string()
20
+ .min(1)
21
+ .describe("The absolute path where the repository should be cloned."),
22
+ branch: z
23
+ .string()
24
+ .optional()
25
+ .describe("The specific branch to checkout after cloning."),
26
+ depth: z
27
+ .number()
28
+ .int()
29
+ .positive()
30
+ .optional()
31
+ .describe("Create a shallow clone with a truncated history."),
32
+ quiet: z
33
+ .boolean()
34
+ .default(false)
35
+ .describe("Operate quietly, suppressing progress output."),
19
36
  });
20
37
  // 2. DEFINE the Zod response schema.
21
38
  export const GitCloneOutputSchema = z.object({
@@ -30,9 +47,11 @@ export const GitCloneOutputSchema = z.object({
30
47
  export async function gitCloneLogic(params, context) {
31
48
  const operation = "gitCloneLogic";
32
49
  logger.debug(`Executing ${operation}`, { ...context, params });
33
- const sanitizedTargetPath = sanitization.sanitizePath(params.targetPath, { allowAbsolute: true }).sanitizedPath;
34
- const stats = await fs.stat(sanitizedTargetPath).catch(err => {
35
- if (err.code === 'ENOENT')
50
+ const sanitizedTargetPath = sanitization.sanitizePath(params.targetPath, {
51
+ allowAbsolute: true,
52
+ }).sanitizedPath;
53
+ const stats = await fs.stat(sanitizedTargetPath).catch((err) => {
54
+ if (err.code === "ENOENT")
36
55
  return null;
37
56
  throw err;
38
57
  });
@@ -55,8 +74,12 @@ export async function gitCloneLogic(params, context) {
55
74
  if (params.depth)
56
75
  args.push("--depth", String(params.depth));
57
76
  args.push(params.repositoryUrl, sanitizedTargetPath);
58
- logger.debug(`Executing command: git ${args.join(" ")}`, { ...context, operation });
77
+ logger.debug(`Executing command: git ${args.join(" ")}`, {
78
+ ...context,
79
+ operation,
80
+ });
59
81
  await execFileAsync("git", args, { timeout: 300000 }); // 5 minutes timeout
60
82
  const successMessage = `Repository cloned successfully into ${sanitizedTargetPath}`;
61
83
  return { success: true, message: successMessage, path: sanitizedTargetPath };
62
84
  }
85
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClone/logic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @fileoverview Handles registration and error handling for the git_clone tool.
3
+ * @module src/mcp-server/tools/gitClone/registration
4
+ */
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ export type GetSessionIdFn = (context: Record<string, unknown>) => string | undefined;
7
+ /**
8
+ * Registers the git_clone tool with the MCP server instance.
9
+ * @param server The MCP server instance.
10
+ */
11
+ export declare const registerGitCloneTool: (server: McpServer) => Promise<void>;
12
+ //# sourceMappingURL=registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClone/registration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAcpE,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,MAAM,GAAG,SAAS,CAAC;AAMxB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CA4Dd,CAAC"}
@@ -2,16 +2,15 @@
2
2
  * @fileoverview Handles registration and error handling for the git_clone tool.
3
3
  * @module src/mcp-server/tools/gitClone/registration
4
4
  */
5
- import { ErrorHandler, logger, requestContextService } from "../../../utils/index.js";
5
+ import { ErrorHandler, logger, requestContextService, } from "../../../utils/index.js";
6
6
  import { gitCloneLogic, GitCloneInputSchema, GitCloneOutputSchema, } from "./logic.js";
7
7
  const TOOL_NAME = "git_clone";
8
8
  const TOOL_DESCRIPTION = "Clones a Git repository from a given URL into a specified absolute directory path. Supports cloning specific branches and setting clone depth.";
9
9
  /**
10
10
  * Registers the git_clone tool with the MCP server instance.
11
11
  * @param server The MCP server instance.
12
- * @param getSessionId Function to get the session ID from context.
13
12
  */
14
- export const registerGitCloneTool = async (server, getSessionId) => {
13
+ export const registerGitCloneTool = async (server) => {
15
14
  const operation = "registerGitCloneTool";
16
15
  const context = requestContextService.createRequestContext({ operation });
17
16
  server.registerTool(TOOL_NAME, {
@@ -34,11 +33,19 @@ export const registerGitCloneTool = async (server, getSessionId) => {
34
33
  const result = await gitCloneLogic(params, handlerContext);
35
34
  return {
36
35
  structuredContent: result,
37
- content: [{ type: "text", text: `Success: ${JSON.stringify(result, null, 2)}` }],
36
+ content: [
37
+ {
38
+ type: "text",
39
+ text: `Success: ${JSON.stringify(result, null, 2)}`,
40
+ },
41
+ ],
38
42
  };
39
43
  }
40
44
  catch (error) {
41
- logger.error(`Error in ${TOOL_NAME} handler`, { error, ...handlerContext });
45
+ logger.error(`Error in ${TOOL_NAME} handler`, {
46
+ error,
47
+ ...handlerContext,
48
+ });
42
49
  const mcpError = ErrorHandler.handleError(error, {
43
50
  operation: `tool:${TOOL_NAME}`,
44
51
  context: handlerContext,
@@ -57,3 +64,4 @@ export const registerGitCloneTool = async (server, getSessionId) => {
57
64
  });
58
65
  logger.info(`Tool '${TOOL_NAME}' registered successfully.`, context);
59
66
  };
67
+ //# sourceMappingURL=registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitClone/registration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,YAAY,EACZ,MAAM,EACN,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EAEb,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAMpB,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,gBAAgB,GACpB,gJAAgJ,CAAC;AAEnJ;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiB,EACF,EAAE;IACjB,MAAM,SAAS,GAAG,sBAAsB,CAAC;IACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAE1E,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,mBAAmB,CAAC,KAAK;QACtC,YAAY,EAAE,oBAAoB,CAAC,KAAK;QACxC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI,EAAE,gCAAgC;YACvD,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI,EAAE,qCAAqC;SAC3D;KACF,EACD,KAAK,EAAE,MAAqB,EAAE,WAAoC,EAAE,EAAE;QACpE,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAChE,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,WAAW;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAE3D,OAAO;gBACL,iBAAiB,EAAE,MAAM;gBACzB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACpD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,UAAU,EAAE;gBAC5C,KAAK;gBACL,GAAG,cAAc;aAClB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC/C,SAAS,EAAE,QAAQ,SAAS,EAAE;gBAC9B,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,MAAM;aACd,CAAa,CAAC;YAEf,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/D,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,4BAA4B,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Barrel file for the gitCommit tool.
3
+ * @module src/mcp-server/tools/gitCommit/index
4
+ */
5
+ export { registerGitCommitTool } from "./registration.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitCommit/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -3,3 +3,4 @@
3
3
  * @module src/mcp-server/tools/gitCommit/index
4
4
  */
5
5
  export { registerGitCommitTool } from "./registration.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitCommit/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @fileoverview Defines the core logic, schemas, and types for the git_commit tool.
3
+ * @module src/mcp-server/tools/gitCommit/logic
4
+ */
5
+ import { z } from "zod";
6
+ import { type RequestContext } from "../../../utils/index.js";
7
+ export declare const GitCommitInputSchema: z.ZodObject<{
8
+ path: z.ZodDefault<z.ZodString>;
9
+ message: z.ZodString;
10
+ author: z.ZodOptional<z.ZodObject<{
11
+ name: z.ZodString;
12
+ email: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ name: string;
15
+ email: string;
16
+ }, {
17
+ name: string;
18
+ email: string;
19
+ }>>;
20
+ allowEmpty: z.ZodDefault<z.ZodBoolean>;
21
+ amend: z.ZodDefault<z.ZodBoolean>;
22
+ forceUnsignedOnFailure: z.ZodDefault<z.ZodBoolean>;
23
+ filesToStage: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ path: string;
26
+ message: string;
27
+ allowEmpty: boolean;
28
+ amend: boolean;
29
+ forceUnsignedOnFailure: boolean;
30
+ author?: {
31
+ name: string;
32
+ email: string;
33
+ } | undefined;
34
+ filesToStage?: string[] | undefined;
35
+ }, {
36
+ message: string;
37
+ path?: string | undefined;
38
+ author?: {
39
+ name: string;
40
+ email: string;
41
+ } | undefined;
42
+ allowEmpty?: boolean | undefined;
43
+ amend?: boolean | undefined;
44
+ forceUnsignedOnFailure?: boolean | undefined;
45
+ filesToStage?: string[] | undefined;
46
+ }>;
47
+ export declare const GitCommitOutputSchema: z.ZodObject<{
48
+ success: z.ZodBoolean;
49
+ message: z.ZodString;
50
+ commitHash: z.ZodOptional<z.ZodString>;
51
+ committedFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
52
+ nothingToCommit: z.ZodOptional<z.ZodBoolean>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ message: string;
55
+ success: boolean;
56
+ commitHash?: string | undefined;
57
+ committedFiles?: string[] | undefined;
58
+ nothingToCommit?: boolean | undefined;
59
+ }, {
60
+ message: string;
61
+ success: boolean;
62
+ commitHash?: string | undefined;
63
+ committedFiles?: string[] | undefined;
64
+ nothingToCommit?: boolean | undefined;
65
+ }>;
66
+ export type GitCommitInput = z.infer<typeof GitCommitInputSchema>;
67
+ export type GitCommitOutput = z.infer<typeof GitCommitOutputSchema>;
68
+ /**
69
+ * 4. IMPLEMENT the core logic function.
70
+ * @throws {McpError} If the logic encounters an unrecoverable issue.
71
+ */
72
+ export declare function commitGitChanges(params: GitCommitInput, context: RequestContext & {
73
+ getWorkingDirectory: () => string | undefined;
74
+ }): Promise<GitCommitOutput>;
75
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitCommit/logic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAOjC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB/B,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAYhC,CAAC;AAGH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AA4CpE;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,cAAc,GAAG;IAAE,mBAAmB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1E,OAAO,CAAC,eAAe,CAAC,CA6E1B"}
@@ -5,36 +5,76 @@
5
5
  import { execFile } from "child_process";
6
6
  import { promisify } from "util";
7
7
  import { z } from "zod";
8
- import { logger, sanitization } from "../../../utils/index.js";
8
+ import { logger, sanitization, } from "../../../utils/index.js";
9
9
  import { McpError, BaseErrorCode } from "../../../types-global/errors.js";
10
10
  import { config } from "../../../config/index.js";
11
11
  const execFileAsync = promisify(execFile);
12
12
  // 1. DEFINE the Zod input schema.
13
13
  export const GitCommitInputSchema = z.object({
14
14
  path: z.string().default(".").describe("Path to the Git repository."),
15
- message: z.string().min(1).describe("Commit message, preferably following Conventional Commits format."),
16
- author: z.object({ name: z.string(), email: z.string().email() }).optional().describe("Override the commit author."),
17
- allowEmpty: z.boolean().default(false).describe("Allow creating a commit with no changes."),
15
+ message: z
16
+ .string()
17
+ .min(1)
18
+ .describe("Commit message, preferably following Conventional Commits format."),
19
+ author: z
20
+ .object({ name: z.string(), email: z.string().email() })
21
+ .optional()
22
+ .describe("Override the commit author."),
23
+ allowEmpty: z
24
+ .boolean()
25
+ .default(false)
26
+ .describe("Allow creating a commit with no changes."),
18
27
  amend: z.boolean().default(false).describe("Amend the previous commit."),
19
- forceUnsignedOnFailure: z.boolean().default(false).describe("If signing fails, attempt the commit without a signature."),
20
- filesToStage: z.array(z.string().min(1)).optional().describe("An array of file paths to stage before committing."),
28
+ forceUnsignedOnFailure: z
29
+ .boolean()
30
+ .default(false)
31
+ .describe("If signing fails, attempt the commit without a signature."),
32
+ filesToStage: z
33
+ .array(z.string().min(1))
34
+ .optional()
35
+ .describe("An array of file paths to stage before committing."),
21
36
  });
22
37
  // 2. DEFINE the Zod response schema.
23
38
  export const GitCommitOutputSchema = z.object({
24
39
  success: z.boolean().describe("Indicates if the command was successful."),
25
40
  message: z.string().describe("A summary message of the result."),
26
41
  commitHash: z.string().optional().describe("The hash of the new commit."),
27
- committedFiles: z.array(z.string()).optional().describe("A list of files included in the commit."),
28
- nothingToCommit: z.boolean().optional().describe("True if there were no changes to commit."),
42
+ committedFiles: z
43
+ .array(z.string())
44
+ .optional()
45
+ .describe("A list of files included in the commit."),
46
+ nothingToCommit: z
47
+ .boolean()
48
+ .optional()
49
+ .describe("True if there were no changes to commit."),
29
50
  });
30
51
  async function stageFiles(targetPath, files, context) {
31
52
  const operation = "stageFilesForCommit";
32
53
  logger.debug(`Staging files: ${files.join(", ")}`, { ...context, operation });
33
- const sanitizedFiles = files.map(file => sanitization.sanitizePath(file, { rootDir: targetPath }).sanitizedPath);
34
- await execFileAsync("git", ["-C", targetPath, "add", "--", ...sanitizedFiles]);
54
+ const sanitizedFiles = files.map((file) => sanitization.sanitizePath(file, { rootDir: targetPath }).sanitizedPath);
55
+ await execFileAsync("git", [
56
+ "-C",
57
+ targetPath,
58
+ "add",
59
+ "--",
60
+ ...sanitizedFiles,
61
+ ]);
35
62
  }
36
63
  async function getCommittedFiles(targetPath, commitHash, context) {
37
- const { stdout } = await execFileAsync("git", ["-C", targetPath, "show", "--pretty=", "--name-only", commitHash]);
64
+ const operation = "getCommittedFiles";
65
+ const args = [
66
+ "-C",
67
+ targetPath,
68
+ "show",
69
+ "--pretty=",
70
+ "--name-only",
71
+ commitHash,
72
+ ];
73
+ logger.debug(`Executing command: git ${args.join(" ")}`, {
74
+ ...context,
75
+ operation,
76
+ });
77
+ const { stdout } = await execFileAsync("git", args);
38
78
  return stdout.trim().split("\n").filter(Boolean);
39
79
  }
40
80
  /**
@@ -64,7 +104,10 @@ export async function commitGitChanges(params, context) {
64
104
  const finalArgs = [...args];
65
105
  if (withSigning)
66
106
  finalArgs.push("-S");
67
- logger.debug(`Executing command: git ${finalArgs.join(" ")}`, { ...context, operation });
107
+ logger.debug(`Executing command: git ${finalArgs.join(" ")}`, {
108
+ ...context,
109
+ operation,
110
+ });
68
111
  return await execFileAsync("git", finalArgs);
69
112
  };
70
113
  let result;
@@ -73,7 +116,10 @@ export async function commitGitChanges(params, context) {
73
116
  result = await attemptCommit(shouldSign || false);
74
117
  }
75
118
  catch (error) {
76
- const isSigningError = (error.stderr || "").includes("gpg failed to sign");
119
+ const stderr = error && typeof error === "object" && "stderr" in error
120
+ ? String(error.stderr)
121
+ : "";
122
+ const isSigningError = stderr.includes("gpg failed to sign");
77
123
  if (shouldSign && isSigningError && params.forceUnsignedOnFailure) {
78
124
  logger.warning("Commit with signing failed. Retrying without signature.", { ...context, operation });
79
125
  result = await attemptCommit(false);
@@ -84,7 +130,9 @@ export async function commitGitChanges(params, context) {
84
130
  }
85
131
  const commitHashMatch = result.stdout.match(/([a-f0-9]{7,40})/);
86
132
  const commitHash = commitHashMatch ? commitHashMatch[1] : undefined;
87
- const committedFiles = commitHash ? await getCommittedFiles(targetPath, commitHash, context) : [];
133
+ const committedFiles = commitHash
134
+ ? await getCommittedFiles(targetPath, commitHash, context)
135
+ : [];
88
136
  return {
89
137
  success: true,
90
138
  message: `Commit successful: ${commitHash}`,
@@ -92,3 +140,4 @@ export async function commitGitChanges(params, context) {
92
140
  committedFiles,
93
141
  };
94
142
  }
143
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitCommit/logic.ts"],"names":[],"mappings":"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"}