@cyanheads/git-mcp-server 2.2.4 → 2.3.2

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 +69 -25
  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 +1 -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 +1 -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 +9 -7
  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 +17 -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 +167 -0
  32. package/dist/mcp-server/tools/gitAdd/logic.d.ts.map +1 -0
  33. package/dist/mcp-server/tools/gitAdd/logic.js +24 -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 +184 -0
  56. package/dist/mcp-server/tools/gitCheckout/logic.d.ts.map +1 -0
  57. package/dist/mcp-server/tools/gitCheckout/logic.js +45 -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 +190 -0
  68. package/dist/mcp-server/tools/gitCherryPick/logic.d.ts.map +1 -0
  69. package/dist/mcp-server/tools/gitCherryPick/logic.js +38 -10
  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 +187 -0
  80. package/dist/mcp-server/tools/gitClean/logic.d.ts.map +1 -0
  81. package/dist/mcp-server/tools/gitClean/logic.js +48 -11
  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 +211 -0
  116. package/dist/mcp-server/tools/gitCommit/logic.d.ts.map +1 -0
  117. package/dist/mcp-server/tools/gitCommit/logic.js +67 -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 +196 -0
  176. package/dist/mcp-server/tools/gitMerge/logic.d.ts.map +1 -0
  177. package/dist/mcp-server/tools/gitMerge/logic.js +44 -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 +184 -0
  188. package/dist/mcp-server/tools/gitPull/logic.d.ts.map +1 -0
  189. package/dist/mcp-server/tools/gitPull/logic.js +31 -7
  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 +242 -0
  212. package/dist/mcp-server/tools/gitRebase/logic.d.ts.map +1 -0
  213. package/dist/mcp-server/tools/gitRebase/logic.js +44 -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 +178 -0
  236. package/dist/mcp-server/tools/gitReset/logic.d.ts.map +1 -0
  237. package/dist/mcp-server/tools/gitReset/logic.js +24 -7
  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 +236 -0
  272. package/dist/mcp-server/tools/gitStash/logic.d.ts.map +1 -0
  273. package/dist/mcp-server/tools/gitStash/logic.js +76 -18
  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/gitShow/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -3,3 +3,4 @@
3
3
  * @module src/mcp-server/tools/gitShow/index
4
4
  */
5
5
  export { registerGitShowTool } from "./registration.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitShow/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @fileoverview Defines the core logic, schemas, and types for the git_show tool.
3
+ * @module src/mcp-server/tools/gitShow/logic
4
+ */
5
+ import { z } from "zod";
6
+ import { type RequestContext } from "../../../utils/index.js";
7
+ export declare const GitShowInputSchema: z.ZodObject<{
8
+ path: z.ZodDefault<z.ZodString>;
9
+ ref: z.ZodString;
10
+ filePath: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ path: string;
13
+ ref: string;
14
+ filePath?: string | undefined;
15
+ }, {
16
+ ref: string;
17
+ path?: string | undefined;
18
+ filePath?: string | undefined;
19
+ }>;
20
+ export declare const GitShowOutputSchema: z.ZodObject<{
21
+ success: z.ZodBoolean;
22
+ content: z.ZodString;
23
+ }, "strip", z.ZodTypeAny, {
24
+ success: boolean;
25
+ content: string;
26
+ }, {
27
+ success: boolean;
28
+ content: string;
29
+ }>;
30
+ export type GitShowInput = z.infer<typeof GitShowInputSchema>;
31
+ export type GitShowOutput = z.infer<typeof GitShowOutputSchema>;
32
+ /**
33
+ * 4. IMPLEMENT the core logic function.
34
+ * @throws {McpError} If the logic encounters an unrecoverable issue.
35
+ */
36
+ export declare function gitShowLogic(params: GitShowInput, context: RequestContext & {
37
+ getWorkingDirectory: () => string | undefined;
38
+ }): Promise<GitShowOutput>;
39
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitShow/logic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAMjC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAU7B,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAGH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,cAAc,GAAG;IAAE,mBAAmB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1E,OAAO,CAAC,aAAa,CAAC,CA2BxB"}
@@ -5,14 +5,20 @@
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
  const execFileAsync = promisify(execFile);
11
11
  // 1. DEFINE the Zod input schema.
12
12
  export const GitShowInputSchema = z.object({
13
13
  path: z.string().default(".").describe("Path to the local Git repository."),
14
- ref: z.string().min(1).describe("The object reference (commit hash, tag, branch, etc.) to show."),
15
- filePath: z.string().optional().describe("Optional specific file path within the ref to show."),
14
+ ref: z
15
+ .string()
16
+ .min(1)
17
+ .describe("The object reference (commit hash, tag, branch, etc.) to show."),
18
+ filePath: z
19
+ .string()
20
+ .optional()
21
+ .describe("Optional specific file path within the ref to show."),
16
22
  });
17
23
  // 2. DEFINE the Zod response schema.
18
24
  export const GitShowOutputSchema = z.object({
@@ -31,9 +37,15 @@ export async function gitShowLogic(params, context) {
31
37
  throw new McpError(BaseErrorCode.VALIDATION_ERROR, "No session working directory set. Please specify a 'path' or use 'git_set_working_dir' first.");
32
38
  }
33
39
  const targetPath = sanitization.sanitizePath(params.path === "." ? workingDir : params.path, { allowAbsolute: true }).sanitizedPath;
34
- const refSpec = params.filePath ? `${params.ref}:${params.filePath}` : params.ref;
40
+ const refSpec = params.filePath
41
+ ? `${params.ref}:${params.filePath}`
42
+ : params.ref;
35
43
  const args = ["-C", targetPath, "show", refSpec];
36
- logger.debug(`Executing command: git ${args.join(" ")}`, { ...context, operation });
44
+ logger.debug(`Executing command: git ${args.join(" ")}`, {
45
+ ...context,
46
+ operation,
47
+ });
37
48
  const { stdout } = await execFileAsync("git", args);
38
49
  return { success: true, content: stdout };
39
50
  }
51
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitShow/logic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,MAAM,EAEN,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,kCAAkC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC3E,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,gEAAgE,CAAC;IAC7E,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;CACnE,CAAC,CAAC;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACtE,CAAC,CAAC;AAMH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAoB,EACpB,OAA2E;IAE3E,MAAM,SAAS,GAAG,cAAc,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,aAAa,SAAS,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IACjD,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,IAAI,QAAQ,CAChB,aAAa,CAAC,gBAAgB,EAC9B,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAC1C,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAC/C,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC,aAAa,CAAC;IAEhB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ;QAC7B,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE;QACpC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACf,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjD,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACvD,GAAG,OAAO;QACV,SAAS;KACV,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Handles registration and error handling for the git_show tool.
3
+ * @module src/mcp-server/tools/gitShow/registration
4
+ */
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ import { RequestContext } from "../../../utils/index.js";
7
+ export type GetWorkingDirectoryFn = (sessionId: string | undefined) => string | undefined;
8
+ export type GetSessionIdFn = (context: RequestContext) => string | undefined;
9
+ /**
10
+ * Registers the git_show tool with the MCP server instance.
11
+ * @param server The MCP server instance.
12
+ * @param getWorkingDirectory Function to get the session's working directory.
13
+ * @param getSessionId Function to get the session ID from context.
14
+ */
15
+ export declare const registerGitShowTool: (server: McpServer, getWorkingDirectory: GetWorkingDirectoryFn, 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/gitShow/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,qBAAqB,GAAG,CAClC,SAAS,EAAE,MAAM,GAAG,SAAS,KAC1B,MAAM,GAAG,SAAS,CAAC;AACxB,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,MAAM,GAAG,SAAS,CAAC;AAM7E;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,SAAS,EACjB,qBAAqB,qBAAqB,EAC1C,cAAc,cAAc,KAC3B,OAAO,CAAC,IAAI,CAiEd,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Handles registration and error handling for the git_show tool.
3
3
  * @module src/mcp-server/tools/gitShow/registration
4
4
  */
5
- import { ErrorHandler, logger, requestContextService } from "../../../utils/index.js";
5
+ import { ErrorHandler, logger, requestContextService, } from "../../../utils/index.js";
6
6
  import { gitShowLogic, GitShowInputSchema, GitShowOutputSchema, } from "./logic.js";
7
7
  const TOOL_NAME = "git_show";
8
8
  const TOOL_DESCRIPTION = "Shows information about Git objects (commits, tags, blobs, trees) based on a reference. Can optionally show the content of a specific file at that reference. Returns the raw output.";
@@ -39,11 +39,20 @@ export const registerGitShowTool = async (server, getWorkingDirectory, getSessio
39
39
  });
40
40
  return {
41
41
  structuredContent: result,
42
- content: [{ type: "text", text: result.content, contentType: "text/plain; charset=utf-8" }],
42
+ content: [
43
+ {
44
+ type: "text",
45
+ text: result.content,
46
+ contentType: "text/plain; charset=utf-8",
47
+ },
48
+ ],
43
49
  };
44
50
  }
45
51
  catch (error) {
46
- logger.error(`Error in ${TOOL_NAME} handler`, { error, ...handlerContext });
52
+ logger.error(`Error in ${TOOL_NAME} handler`, {
53
+ error,
54
+ ...handlerContext,
55
+ });
47
56
  const mcpError = ErrorHandler.handleError(error, {
48
57
  operation: `tool:${TOOL_NAME}`,
49
58
  context: handlerContext,
@@ -62,3 +71,4 @@ export const registerGitShowTool = async (server, getWorkingDirectory, getSessio
62
71
  });
63
72
  logger.info(`Tool '${TOOL_NAME}' registered successfully.`, context);
64
73
  };
74
+ //# sourceMappingURL=registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitShow/registration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,YAAY,EACZ,MAAM,EAEN,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,YAAY,EAEZ,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAOpB,MAAM,SAAS,GAAG,UAAU,CAAC;AAC7B,MAAM,gBAAgB,GACpB,uLAAuL,CAAC;AAE1L;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAiB,EACjB,mBAA0C,EAC1C,YAA4B,EACb,EAAE;IACjB,MAAM,SAAS,GAAG,qBAAqB,CAAC;IACxC,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAE1E,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,kBAAkB,CAAC,KAAK;QACrC,YAAY,EAAE,mBAAmB,CAAC,KAAK;QACvC,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAoB,EAAE,WAAoC,EAAE,EAAE;QACnE,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,YAAY,CAAC,MAAM,EAAE;gBACxC,GAAG,cAAc;gBACjB,mBAAmB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;aAC1D,CAAC,CAAC;YAEH,OAAO;gBACL,iBAAiB,EAAE,MAAM;gBACzB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,CAAC,OAAO;wBACpB,WAAW,EAAE,2BAA2B;qBACzC;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 gitStash tool.
3
+ * @module src/mcp-server/tools/gitStash/index
4
+ */
5
+ export { registerGitStashTool } 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/gitStash/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/gitStash/index
4
4
  */
5
5
  export { registerGitStashTool } from "./registration.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitStash/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * @fileoverview Defines the core logic, schemas, and types for the git_stash tool.
3
+ * @module src/mcp-server/tools/gitStash/logic
4
+ */
5
+ import { z } from "zod";
6
+ import { type RequestContext } from "../../../utils/index.js";
7
+ export declare const GitStashBaseSchema: z.ZodObject<{
8
+ path: z.ZodDefault<z.ZodString>;
9
+ mode: z.ZodEnum<["list", "apply", "pop", "drop", "save"]>;
10
+ stashRef: z.ZodOptional<z.ZodString>;
11
+ message: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ path: string;
14
+ mode: "pop" | "list" | "apply" | "drop" | "save";
15
+ message?: string | undefined;
16
+ stashRef?: string | undefined;
17
+ }, {
18
+ mode: "pop" | "list" | "apply" | "drop" | "save";
19
+ path?: string | undefined;
20
+ message?: string | undefined;
21
+ stashRef?: string | undefined;
22
+ }>;
23
+ export declare const GitStashInputSchema: z.ZodEffects<z.ZodObject<{
24
+ path: z.ZodDefault<z.ZodString>;
25
+ mode: z.ZodEnum<["list", "apply", "pop", "drop", "save"]>;
26
+ stashRef: z.ZodOptional<z.ZodString>;
27
+ message: z.ZodOptional<z.ZodString>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ path: string;
30
+ mode: "pop" | "list" | "apply" | "drop" | "save";
31
+ message?: string | undefined;
32
+ stashRef?: string | undefined;
33
+ }, {
34
+ mode: "pop" | "list" | "apply" | "drop" | "save";
35
+ path?: string | undefined;
36
+ message?: string | undefined;
37
+ stashRef?: string | undefined;
38
+ }>, {
39
+ path: string;
40
+ mode: "pop" | "list" | "apply" | "drop" | "save";
41
+ message?: string | undefined;
42
+ stashRef?: string | undefined;
43
+ }, {
44
+ mode: "pop" | "list" | "apply" | "drop" | "save";
45
+ path?: string | undefined;
46
+ message?: string | undefined;
47
+ stashRef?: string | undefined;
48
+ }>;
49
+ export declare const GitStashOutputSchema: z.ZodObject<{
50
+ success: z.ZodBoolean;
51
+ mode: z.ZodString;
52
+ message: z.ZodOptional<z.ZodString>;
53
+ stashes: z.ZodOptional<z.ZodArray<z.ZodObject<{
54
+ ref: z.ZodString;
55
+ branch: z.ZodString;
56
+ description: z.ZodString;
57
+ }, "strip", z.ZodTypeAny, {
58
+ description: string;
59
+ branch: string;
60
+ ref: string;
61
+ }, {
62
+ description: string;
63
+ branch: string;
64
+ ref: string;
65
+ }>, "many">>;
66
+ conflicts: z.ZodOptional<z.ZodBoolean>;
67
+ stashCreated: z.ZodOptional<z.ZodBoolean>;
68
+ status: z.ZodOptional<z.ZodObject<{
69
+ current_branch: z.ZodNullable<z.ZodString>;
70
+ staged_changes: z.ZodObject<{
71
+ Added: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
72
+ Modified: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
73
+ Deleted: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
74
+ Renamed: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
75
+ Copied: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
76
+ TypeChanged: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
77
+ }, "strip", z.ZodTypeAny, {
78
+ Added?: string[] | undefined;
79
+ Modified?: string[] | undefined;
80
+ Deleted?: string[] | undefined;
81
+ Renamed?: string[] | undefined;
82
+ Copied?: string[] | undefined;
83
+ TypeChanged?: string[] | undefined;
84
+ }, {
85
+ Added?: string[] | undefined;
86
+ Modified?: string[] | undefined;
87
+ Deleted?: string[] | undefined;
88
+ Renamed?: string[] | undefined;
89
+ Copied?: string[] | undefined;
90
+ TypeChanged?: string[] | undefined;
91
+ }>;
92
+ unstaged_changes: z.ZodObject<{
93
+ Added: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
94
+ Modified: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
95
+ Deleted: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
96
+ Renamed: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
97
+ Copied: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
98
+ TypeChanged: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ Added?: string[] | undefined;
101
+ Modified?: string[] | undefined;
102
+ Deleted?: string[] | undefined;
103
+ Renamed?: string[] | undefined;
104
+ Copied?: string[] | undefined;
105
+ TypeChanged?: string[] | undefined;
106
+ }, {
107
+ Added?: string[] | undefined;
108
+ Modified?: string[] | undefined;
109
+ Deleted?: string[] | undefined;
110
+ Renamed?: string[] | undefined;
111
+ Copied?: string[] | undefined;
112
+ TypeChanged?: string[] | undefined;
113
+ }>;
114
+ untracked_files: z.ZodArray<z.ZodString, "many">;
115
+ conflicted_files: z.ZodArray<z.ZodString, "many">;
116
+ is_clean: z.ZodBoolean;
117
+ }, "strip", z.ZodTypeAny, {
118
+ current_branch: string | null;
119
+ staged_changes: {
120
+ Added?: string[] | undefined;
121
+ Modified?: string[] | undefined;
122
+ Deleted?: string[] | undefined;
123
+ Renamed?: string[] | undefined;
124
+ Copied?: string[] | undefined;
125
+ TypeChanged?: string[] | undefined;
126
+ };
127
+ unstaged_changes: {
128
+ Added?: string[] | undefined;
129
+ Modified?: string[] | undefined;
130
+ Deleted?: string[] | undefined;
131
+ Renamed?: string[] | undefined;
132
+ Copied?: string[] | undefined;
133
+ TypeChanged?: string[] | undefined;
134
+ };
135
+ untracked_files: string[];
136
+ conflicted_files: string[];
137
+ is_clean: boolean;
138
+ }, {
139
+ current_branch: string | null;
140
+ staged_changes: {
141
+ Added?: string[] | undefined;
142
+ Modified?: string[] | undefined;
143
+ Deleted?: string[] | undefined;
144
+ Renamed?: string[] | undefined;
145
+ Copied?: string[] | undefined;
146
+ TypeChanged?: string[] | undefined;
147
+ };
148
+ unstaged_changes: {
149
+ Added?: string[] | undefined;
150
+ Modified?: string[] | undefined;
151
+ Deleted?: string[] | undefined;
152
+ Renamed?: string[] | undefined;
153
+ Copied?: string[] | undefined;
154
+ TypeChanged?: string[] | undefined;
155
+ };
156
+ untracked_files: string[];
157
+ conflicted_files: string[];
158
+ is_clean: boolean;
159
+ }>>;
160
+ }, "strip", z.ZodTypeAny, {
161
+ success: boolean;
162
+ mode: string;
163
+ message?: string | undefined;
164
+ status?: {
165
+ current_branch: string | null;
166
+ staged_changes: {
167
+ Added?: string[] | undefined;
168
+ Modified?: string[] | undefined;
169
+ Deleted?: string[] | undefined;
170
+ Renamed?: string[] | undefined;
171
+ Copied?: string[] | undefined;
172
+ TypeChanged?: string[] | undefined;
173
+ };
174
+ unstaged_changes: {
175
+ Added?: string[] | undefined;
176
+ Modified?: string[] | undefined;
177
+ Deleted?: string[] | undefined;
178
+ Renamed?: string[] | undefined;
179
+ Copied?: string[] | undefined;
180
+ TypeChanged?: string[] | undefined;
181
+ };
182
+ untracked_files: string[];
183
+ conflicted_files: string[];
184
+ is_clean: boolean;
185
+ } | undefined;
186
+ conflicts?: boolean | undefined;
187
+ stashes?: {
188
+ description: string;
189
+ branch: string;
190
+ ref: string;
191
+ }[] | undefined;
192
+ stashCreated?: boolean | undefined;
193
+ }, {
194
+ success: boolean;
195
+ mode: string;
196
+ message?: string | undefined;
197
+ status?: {
198
+ current_branch: string | null;
199
+ staged_changes: {
200
+ Added?: string[] | undefined;
201
+ Modified?: string[] | undefined;
202
+ Deleted?: string[] | undefined;
203
+ Renamed?: string[] | undefined;
204
+ Copied?: string[] | undefined;
205
+ TypeChanged?: string[] | undefined;
206
+ };
207
+ unstaged_changes: {
208
+ Added?: string[] | undefined;
209
+ Modified?: string[] | undefined;
210
+ Deleted?: string[] | undefined;
211
+ Renamed?: string[] | undefined;
212
+ Copied?: string[] | undefined;
213
+ TypeChanged?: string[] | undefined;
214
+ };
215
+ untracked_files: string[];
216
+ conflicted_files: string[];
217
+ is_clean: boolean;
218
+ } | undefined;
219
+ conflicts?: boolean | undefined;
220
+ stashes?: {
221
+ description: string;
222
+ branch: string;
223
+ ref: string;
224
+ }[] | undefined;
225
+ stashCreated?: boolean | undefined;
226
+ }>;
227
+ export type GitStashInput = z.infer<typeof GitStashInputSchema>;
228
+ export type GitStashOutput = z.infer<typeof GitStashOutputSchema>;
229
+ /**
230
+ * 4. IMPLEMENT the core logic function.
231
+ * @throws {McpError} If the logic encounters an unrecoverable issue.
232
+ */
233
+ export declare function gitStashLogic(params: GitStashInput, context: RequestContext & {
234
+ getWorkingDirectory: () => string | undefined;
235
+ }): Promise<GitStashOutput>;
236
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitStash/logic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAMjC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAa7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AASF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB/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;AA+BlE;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,GAAG;IAAE,mBAAmB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1E,OAAO,CAAC,cAAc,CAAC,CAwEzB"}
@@ -5,15 +5,24 @@
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";
9
- import { McpError, BaseErrorCode } from "../../../types-global/errors.js";
8
+ import { BaseErrorCode, McpError } from "../../../types-global/errors.js";
9
+ import { logger, sanitization, } from "../../../utils/index.js";
10
+ import { getGitStatus, GitStatusOutputSchema } from "../gitStatus/logic.js";
10
11
  const execFileAsync = promisify(execFile);
11
12
  // 1. DEFINE the Zod input schema.
12
13
  export const GitStashBaseSchema = z.object({
13
14
  path: z.string().default(".").describe("Path to the local Git repository."),
14
- mode: z.enum(["list", "apply", "pop", "drop", "save"]).describe("The stash operation to perform."),
15
- stashRef: z.string().optional().describe("Stash reference (e.g., 'stash@{1}')."),
16
- message: z.string().optional().describe("Optional descriptive message for 'save' mode."),
15
+ mode: z
16
+ .enum(["list", "apply", "pop", "drop", "save"])
17
+ .describe("The stash operation to perform."),
18
+ stashRef: z
19
+ .string()
20
+ .optional()
21
+ .describe("Stash reference (e.g., 'stash@{1}')."),
22
+ message: z
23
+ .string()
24
+ .optional()
25
+ .describe("Optional descriptive message for 'save' mode."),
17
26
  });
18
27
  export const GitStashInputSchema = GitStashBaseSchema.refine((data) => !(["apply", "pop", "drop"].includes(data.mode) && !data.stashRef), {
19
28
  message: "A 'stashRef' is required for 'apply', 'pop', and 'drop' modes.",
@@ -29,10 +38,45 @@ export const GitStashOutputSchema = z.object({
29
38
  success: z.boolean().describe("Indicates if the command was successful."),
30
39
  mode: z.string().describe("The mode of operation that was performed."),
31
40
  message: z.string().optional().describe("A summary message of the result."),
32
- stashes: z.array(StashInfoSchema).optional().describe("A list of stashes for the 'list' mode."),
33
- conflicts: z.boolean().optional().describe("Indicates if a merge conflict occurred."),
34
- stashCreated: z.boolean().optional().describe("Indicates if a stash was created."),
41
+ stashes: z
42
+ .array(StashInfoSchema)
43
+ .optional()
44
+ .describe("A list of stashes for the 'list' mode."),
45
+ conflicts: z
46
+ .boolean()
47
+ .optional()
48
+ .describe("Indicates if a merge conflict occurred."),
49
+ stashCreated: z
50
+ .boolean()
51
+ .optional()
52
+ .describe("Indicates if a stash was created."),
53
+ status: GitStatusOutputSchema.optional().describe("The status of the repository after the stash operation."),
35
54
  });
55
+ /**
56
+ * Parses the raw output of `git stash list` into a structured array.
57
+ * @private
58
+ */
59
+ function _parseStashList(stdout) {
60
+ return stdout
61
+ .trim()
62
+ .split("\n")
63
+ .map((line) => {
64
+ const match = line.match(/^(stash@\{(\d+)\}):\s*(?:(?:WIP on|On)\s*([^:]+):\s*)?(.*)$/);
65
+ if (match) {
66
+ const ref = match[1];
67
+ const description = match[4] !== undefined ? match[4] : null;
68
+ if (ref && description !== null) {
69
+ return {
70
+ ref,
71
+ branch: match[3] || "unknown",
72
+ description,
73
+ };
74
+ }
75
+ }
76
+ return null;
77
+ })
78
+ .filter((item) => item !== null);
79
+ }
36
80
  /**
37
81
  * 4. IMPLEMENT the core logic function.
38
82
  * @throws {McpError} If the logic encounters an unrecoverable issue.
@@ -65,20 +109,34 @@ export async function gitStashLogic(params, context) {
65
109
  return baseArgs;
66
110
  };
67
111
  const args = buildArgs();
68
- logger.debug(`Executing command: git ${args.join(" ")}`, { ...context, operation });
112
+ logger.debug(`Executing command: git ${args.join(" ")}`, {
113
+ ...context,
114
+ operation,
115
+ });
69
116
  const { stdout, stderr } = await execFileAsync("git", args);
70
- if (params.mode === 'list') {
71
- const stashes = stdout.trim().split("\n").filter(Boolean).map(line => {
72
- const match = line.match(/^(stash@\{(\d+)\}):\s*(?:(?:WIP on|On)\s*([^:]+):\s*)?(.*)$/);
73
- return match ? { ref: match[1], branch: match[3] || "unknown", description: match[4] } : { ref: "unknown", branch: "unknown", description: line };
74
- });
75
- return { success: true, mode: params.mode, stashes };
117
+ const status = await getGitStatus({ path: targetPath }, context);
118
+ if (params.mode === "list") {
119
+ const stashes = _parseStashList(stdout);
120
+ return { success: true, mode: params.mode, stashes, status };
76
121
  }
77
122
  const output = stdout + stderr;
78
123
  const conflicts = /conflict/i.test(output);
79
- if (params.mode === 'save') {
124
+ if (params.mode === "save") {
80
125
  const stashCreated = !/no local changes to save/i.test(output);
81
- return { success: true, mode: params.mode, message: stashCreated ? "Changes stashed." : "No local changes to save.", stashCreated };
126
+ return {
127
+ success: true,
128
+ mode: params.mode,
129
+ message: stashCreated ? "Changes stashed." : "No local changes to save.",
130
+ stashCreated,
131
+ status,
132
+ };
82
133
  }
83
- return { success: true, mode: params.mode, message: `${params.mode} operation successful.`, conflicts };
134
+ return {
135
+ success: true,
136
+ mode: params.mode,
137
+ message: `${params.mode} operation successful.`,
138
+ conflicts,
139
+ status,
140
+ };
84
141
  }
142
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/gitStash/logic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Handles registration and error handling for the git_stash tool.
3
+ * @module src/mcp-server/tools/gitStash/registration
4
+ */
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ import { RequestContext } from "../../../utils/index.js";
7
+ export type GetWorkingDirectoryFn = (sessionId: string | undefined) => string | undefined;
8
+ export type GetSessionIdFn = (context: RequestContext) => string | undefined;
9
+ /**
10
+ * Registers the git_stash tool with the MCP server instance.
11
+ * @param server The MCP server instance.
12
+ * @param getWorkingDirectory Function to get the session's working directory.
13
+ * @param getSessionId Function to get the session ID from context.
14
+ */
15
+ export declare const registerGitStashTool: (server: McpServer, getWorkingDirectory: GetWorkingDirectoryFn, 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/gitStash/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,qBAAqB,GAAG,CAClC,SAAS,EAAE,MAAM,GAAG,SAAS,KAC1B,MAAM,GAAG,SAAS,CAAC;AACxB,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,MAAM,GAAG,SAAS,CAAC;AAM7E;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,EACjB,qBAAqB,qBAAqB,EAC1C,cAAc,cAAc,KAC3B,OAAO,CAAC,IAAI,CAgEd,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Handles registration and error handling for the git_stash tool.
3
3
  * @module src/mcp-server/tools/gitStash/registration
4
4
  */
5
- import { ErrorHandler, logger, requestContextService } from "../../../utils/index.js";
5
+ import { ErrorHandler, logger, requestContextService, } from "../../../utils/index.js";
6
6
  import { gitStashLogic, GitStashOutputSchema, GitStashBaseSchema, } from "./logic.js";
7
7
  const TOOL_NAME = "git_stash";
8
8
  const TOOL_DESCRIPTION = "Manages stashed changes in the working directory. Supports listing stashes, applying/popping specific stashes (with conflict detection), dropping stashes, and saving current changes to a new stash with an optional message. Returns results as a JSON object.";
@@ -39,11 +39,19 @@ export const registerGitStashTool = async (server, getWorkingDirectory, getSessi
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 registerGitStashTool = async (server, getWorkingDirectory, getSessi
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/gitStash/registration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,YAAY,EACZ,MAAM,EAEN,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EAEb,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAOpB,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,gBAAgB,GACpB,kQAAkQ,CAAC;AAErQ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiB,EACjB,mBAA0C,EAC1C,YAA4B,EACb,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,kBAAkB,CAAC,KAAK;QACrC,YAAY,EAAE,oBAAoB,CAAC,KAAK;QACxC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI,EAAE,sCAAsC;YAC7D,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB;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,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;gBACzC,GAAG,cAAc;gBACjB,mBAAmB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;aAC1D,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 gitStatus tool.
3
+ * @module src/mcp-server/tools/gitStatus/index
4
+ */
5
+ export { registerGitStatusTool } 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/gitStatus/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}