@andrebuzeli/git-mcp 5.5.0 → 5.5.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 (224) hide show
  1. package/README.md +25 -0
  2. package/dist/config.d.ts +5 -131
  3. package/dist/config.js +28 -430
  4. package/dist/index.d.ts +1 -21
  5. package/dist/index.js +66 -144
  6. package/dist/providers/giteaProvider.d.ts +3 -0
  7. package/dist/providers/giteaProvider.js +12 -0
  8. package/dist/providers/githubProvider.d.ts +2 -0
  9. package/dist/providers/githubProvider.js +7 -0
  10. package/dist/providers/providerManager.d.ts +11 -0
  11. package/dist/providers/providerManager.js +48 -0
  12. package/dist/server.d.ts +6 -40
  13. package/dist/server.js +30 -700
  14. package/dist/tools/gitAnalytics.d.ts +29 -0
  15. package/dist/tools/gitAnalytics.js +72 -0
  16. package/dist/tools/gitArchive.d.ts +6 -0
  17. package/dist/tools/gitArchive.js +27 -0
  18. package/dist/tools/gitBackup.d.ts +10 -0
  19. package/dist/tools/gitBackup.js +44 -0
  20. package/dist/tools/gitBranches.d.ts +72 -0
  21. package/dist/tools/gitBranches.js +97 -0
  22. package/dist/tools/gitConfig.d.ts +34 -0
  23. package/dist/tools/gitConfig.js +73 -0
  24. package/dist/tools/gitFiles.d.ts +24 -0
  25. package/dist/tools/gitFiles.js +53 -0
  26. package/dist/tools/gitIssues.d.ts +21 -0
  27. package/dist/tools/gitIssues.js +193 -0
  28. package/dist/tools/gitMonitor.d.ts +51 -0
  29. package/dist/tools/gitMonitor.js +102 -0
  30. package/dist/tools/gitPackages.d.ts +6 -0
  31. package/dist/tools/gitPackages.js +28 -0
  32. package/dist/tools/gitPulls.d.ts +74 -0
  33. package/dist/tools/gitPulls.js +190 -0
  34. package/dist/tools/gitRelease.d.ts +34 -0
  35. package/dist/tools/gitRelease.js +99 -0
  36. package/dist/tools/gitRemote.d.ts +51 -0
  37. package/dist/tools/gitRemote.js +68 -0
  38. package/dist/tools/gitReset.d.ts +34 -0
  39. package/dist/tools/gitReset.js +64 -0
  40. package/dist/tools/gitStash.d.ts +41 -0
  41. package/dist/tools/gitStash.js +67 -0
  42. package/dist/tools/gitSync.d.ts +25 -0
  43. package/dist/tools/gitSync.js +51 -0
  44. package/dist/tools/gitTags.d.ts +30 -0
  45. package/dist/tools/gitTags.js +69 -0
  46. package/dist/tools/gitWorkflow.d.ts +69 -0
  47. package/dist/tools/gitWorkflow.js +129 -0
  48. package/dist/types.d.ts +10 -0
  49. package/dist/types.js +2 -0
  50. package/dist/utils/errors.d.ts +13 -0
  51. package/dist/utils/errors.js +22 -0
  52. package/dist/utils/safetyController.d.ts +1 -0
  53. package/dist/utils/safetyController.js +15 -0
  54. package/package.json +7 -2
  55. package/dist/config.d.ts.map +0 -1
  56. package/dist/config.js.map +0 -1
  57. package/dist/index.d.ts.map +0 -1
  58. package/dist/index.js.map +0 -1
  59. package/dist/providers/base-provider.d.ts +0 -66
  60. package/dist/providers/base-provider.d.ts.map +0 -1
  61. package/dist/providers/base-provider.js +0 -65
  62. package/dist/providers/base-provider.js.map +0 -1
  63. package/dist/providers/gitea-provider.d.ts +0 -79
  64. package/dist/providers/gitea-provider.d.ts.map +0 -1
  65. package/dist/providers/gitea-provider.js +0 -576
  66. package/dist/providers/gitea-provider.js.map +0 -1
  67. package/dist/providers/github-provider.d.ts +0 -74
  68. package/dist/providers/github-provider.d.ts.map +0 -1
  69. package/dist/providers/github-provider.js +0 -683
  70. package/dist/providers/github-provider.js.map +0 -1
  71. package/dist/providers/index.d.ts +0 -13
  72. package/dist/providers/index.d.ts.map +0 -1
  73. package/dist/providers/index.js +0 -35
  74. package/dist/providers/index.js.map +0 -1
  75. package/dist/providers/provider-factory.d.ts +0 -49
  76. package/dist/providers/provider-factory.d.ts.map +0 -1
  77. package/dist/providers/provider-factory.js +0 -193
  78. package/dist/providers/provider-factory.js.map +0 -1
  79. package/dist/providers/provider-operation-handler.d.ts +0 -115
  80. package/dist/providers/provider-operation-handler.d.ts.map +0 -1
  81. package/dist/providers/provider-operation-handler.js +0 -449
  82. package/dist/providers/provider-operation-handler.js.map +0 -1
  83. package/dist/providers/types.d.ts +0 -200
  84. package/dist/providers/types.d.ts.map +0 -1
  85. package/dist/providers/types.js +0 -8
  86. package/dist/providers/types.js.map +0 -1
  87. package/dist/server.d.ts.map +0 -1
  88. package/dist/server.js.map +0 -1
  89. package/dist/tools/git-analytics.d.ts +0 -237
  90. package/dist/tools/git-analytics.d.ts.map +0 -1
  91. package/dist/tools/git-analytics.js +0 -828
  92. package/dist/tools/git-analytics.js.map +0 -1
  93. package/dist/tools/git-archive.d.ts +0 -113
  94. package/dist/tools/git-archive.d.ts.map +0 -1
  95. package/dist/tools/git-archive.js +0 -466
  96. package/dist/tools/git-archive.js.map +0 -1
  97. package/dist/tools/git-auto-monitor.d.ts +0 -180
  98. package/dist/tools/git-auto-monitor.d.ts.map +0 -1
  99. package/dist/tools/git-auto-monitor.js +0 -522
  100. package/dist/tools/git-auto-monitor.js.map +0 -1
  101. package/dist/tools/git-backup.d.ts +0 -105
  102. package/dist/tools/git-backup.d.ts.map +0 -1
  103. package/dist/tools/git-backup.js +0 -414
  104. package/dist/tools/git-backup.js.map +0 -1
  105. package/dist/tools/git-branches.d.ts +0 -183
  106. package/dist/tools/git-branches.d.ts.map +0 -1
  107. package/dist/tools/git-branches.js +0 -507
  108. package/dist/tools/git-branches.js.map +0 -1
  109. package/dist/tools/git-config.d.ts +0 -119
  110. package/dist/tools/git-config.d.ts.map +0 -1
  111. package/dist/tools/git-config.js +0 -449
  112. package/dist/tools/git-config.js.map +0 -1
  113. package/dist/tools/git-files.d.ts +0 -150
  114. package/dist/tools/git-files.d.ts.map +0 -1
  115. package/dist/tools/git-files.js +0 -536
  116. package/dist/tools/git-files.js.map +0 -1
  117. package/dist/tools/git-history.d.ts +0 -253
  118. package/dist/tools/git-history.d.ts.map +0 -1
  119. package/dist/tools/git-history.js +0 -824
  120. package/dist/tools/git-history.js.map +0 -1
  121. package/dist/tools/git-issues.d.ts +0 -164
  122. package/dist/tools/git-issues.d.ts.map +0 -1
  123. package/dist/tools/git-issues.js +0 -349
  124. package/dist/tools/git-issues.js.map +0 -1
  125. package/dist/tools/git-monitor.d.ts +0 -154
  126. package/dist/tools/git-monitor.d.ts.map +0 -1
  127. package/dist/tools/git-monitor.js +0 -531
  128. package/dist/tools/git-monitor.js.map +0 -1
  129. package/dist/tools/git-packages.d.ts +0 -157
  130. package/dist/tools/git-packages.d.ts.map +0 -1
  131. package/dist/tools/git-packages.js +0 -534
  132. package/dist/tools/git-packages.js.map +0 -1
  133. package/dist/tools/git-pulls.d.ts +0 -180
  134. package/dist/tools/git-pulls.d.ts.map +0 -1
  135. package/dist/tools/git-pulls.js +0 -378
  136. package/dist/tools/git-pulls.js.map +0 -1
  137. package/dist/tools/git-release.d.ts +0 -161
  138. package/dist/tools/git-release.d.ts.map +0 -1
  139. package/dist/tools/git-release.js +0 -466
  140. package/dist/tools/git-release.js.map +0 -1
  141. package/dist/tools/git-remote.d.ts +0 -128
  142. package/dist/tools/git-remote.d.ts.map +0 -1
  143. package/dist/tools/git-remote.js +0 -542
  144. package/dist/tools/git-remote.js.map +0 -1
  145. package/dist/tools/git-reset.d.ts +0 -120
  146. package/dist/tools/git-reset.d.ts.map +0 -1
  147. package/dist/tools/git-reset.js +0 -479
  148. package/dist/tools/git-reset.js.map +0 -1
  149. package/dist/tools/git-stash.d.ts +0 -124
  150. package/dist/tools/git-stash.d.ts.map +0 -1
  151. package/dist/tools/git-stash.js +0 -506
  152. package/dist/tools/git-stash.js.map +0 -1
  153. package/dist/tools/git-sync.d.ts +0 -154
  154. package/dist/tools/git-sync.d.ts.map +0 -1
  155. package/dist/tools/git-sync.js +0 -479
  156. package/dist/tools/git-sync.js.map +0 -1
  157. package/dist/tools/git-tags.d.ts +0 -136
  158. package/dist/tools/git-tags.d.ts.map +0 -1
  159. package/dist/tools/git-tags.js +0 -470
  160. package/dist/tools/git-tags.js.map +0 -1
  161. package/dist/tools/git-update.d.ts +0 -224
  162. package/dist/tools/git-update.d.ts.map +0 -1
  163. package/dist/tools/git-update.js +0 -948
  164. package/dist/tools/git-update.js.map +0 -1
  165. package/dist/tools/git-workflow.d.ts +0 -189
  166. package/dist/tools/git-workflow.d.ts.map +0 -1
  167. package/dist/tools/git-workflow.js +0 -551
  168. package/dist/tools/git-workflow.js.map +0 -1
  169. package/dist/utils/credential-manager.d.ts +0 -119
  170. package/dist/utils/credential-manager.d.ts.map +0 -1
  171. package/dist/utils/credential-manager.js +0 -450
  172. package/dist/utils/credential-manager.js.map +0 -1
  173. package/dist/utils/data-merger.d.ts +0 -49
  174. package/dist/utils/data-merger.d.ts.map +0 -1
  175. package/dist/utils/data-merger.js +0 -233
  176. package/dist/utils/data-merger.js.map +0 -1
  177. package/dist/utils/git-command-executor.d.ts +0 -330
  178. package/dist/utils/git-command-executor.d.ts.map +0 -1
  179. package/dist/utils/git-command-executor.js +0 -901
  180. package/dist/utils/git-command-executor.js.map +0 -1
  181. package/dist/utils/logger.d.ts +0 -143
  182. package/dist/utils/logger.d.ts.map +0 -1
  183. package/dist/utils/logger.js +0 -473
  184. package/dist/utils/logger.js.map +0 -1
  185. package/dist/utils/operation-error-handler.d.ts +0 -97
  186. package/dist/utils/operation-error-handler.d.ts.map +0 -1
  187. package/dist/utils/operation-error-handler.js +0 -367
  188. package/dist/utils/operation-error-handler.js.map +0 -1
  189. package/dist/utils/parameter-validator.d.ts +0 -49
  190. package/dist/utils/parameter-validator.d.ts.map +0 -1
  191. package/dist/utils/parameter-validator.js +0 -647
  192. package/dist/utils/parameter-validator.js.map +0 -1
  193. package/dist/utils/repository-checker.d.ts +0 -46
  194. package/dist/utils/repository-checker.d.ts.map +0 -1
  195. package/dist/utils/repository-checker.js +0 -151
  196. package/dist/utils/repository-checker.js.map +0 -1
  197. package/dist/utils/repository-detector.d.ts +0 -128
  198. package/dist/utils/repository-detector.d.ts.map +0 -1
  199. package/dist/utils/repository-detector.js +0 -422
  200. package/dist/utils/repository-detector.js.map +0 -1
  201. package/dist/utils/repository-sync.d.ts +0 -67
  202. package/dist/utils/repository-sync.d.ts.map +0 -1
  203. package/dist/utils/repository-sync.js +0 -344
  204. package/dist/utils/repository-sync.js.map +0 -1
  205. package/dist/utils/response-formatter.d.ts +0 -146
  206. package/dist/utils/response-formatter.d.ts.map +0 -1
  207. package/dist/utils/response-formatter.js +0 -378
  208. package/dist/utils/response-formatter.js.map +0 -1
  209. package/dist/utils/retry.d.ts +0 -12
  210. package/dist/utils/retry.d.ts.map +0 -1
  211. package/dist/utils/retry.js +0 -28
  212. package/dist/utils/retry.js.map +0 -1
  213. package/dist/utils/safety-warnings.d.ts +0 -56
  214. package/dist/utils/safety-warnings.d.ts.map +0 -1
  215. package/dist/utils/safety-warnings.js +0 -330
  216. package/dist/utils/safety-warnings.js.map +0 -1
  217. package/dist/utils/terminal-controller.d.ts +0 -79
  218. package/dist/utils/terminal-controller.d.ts.map +0 -1
  219. package/dist/utils/terminal-controller.js +0 -291
  220. package/dist/utils/terminal-controller.js.map +0 -1
  221. package/dist/utils/user-friendly-formatter.d.ts +0 -45
  222. package/dist/utils/user-friendly-formatter.d.ts.map +0 -1
  223. package/dist/utils/user-friendly-formatter.js +0 -175
  224. package/dist/utils/user-friendly-formatter.js.map +0 -1
@@ -1,507 +0,0 @@
1
- "use strict";
2
- /**
3
- * Git Branches Tool
4
- *
5
- * Branch management tool providing comprehensive Git branch operations.
6
- * Supports both local Git operations and remote provider operations.
7
- *
8
- * Operations: create, list, get, delete, merge, compare
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.GitBranchesTool = void 0;
12
- const git_command_executor_js_1 = require("../utils/git-command-executor.js");
13
- const parameter_validator_js_1 = require("../utils/parameter-validator.js");
14
- const operation_error_handler_js_1 = require("../utils/operation-error-handler.js");
15
- const provider_operation_handler_js_1 = require("../providers/provider-operation-handler.js");
16
- const config_js_1 = require("../config.js");
17
- class GitBranchesTool {
18
- gitExecutor;
19
- providerHandler;
20
- constructor(providerConfig) {
21
- this.gitExecutor = new git_command_executor_js_1.GitCommandExecutor();
22
- if (providerConfig) {
23
- this.providerHandler = new provider_operation_handler_js_1.ProviderOperationHandler(providerConfig);
24
- }
25
- }
26
- /**
27
- * Execute git-branches operation
28
- */
29
- async execute(params) {
30
- const startTime = Date.now();
31
- try {
32
- // Validate basic parameters
33
- const validation = parameter_validator_js_1.ParameterValidator.validateToolParams('git-branches', params);
34
- if (!validation.isValid) {
35
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('VALIDATION_ERROR', `Parameter validation failed: ${validation.errors.join(', ')}`, params.action, { validationErrors: validation.errors }, validation.suggestions);
36
- }
37
- // Validate operation-specific parameters
38
- const operationValidation = parameter_validator_js_1.ParameterValidator.validateOperationParams('git-branches', params.action, params);
39
- if (!operationValidation.isValid) {
40
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('VALIDATION_ERROR', `Operation validation failed: ${operationValidation.errors.join(', ')}`, params.action, { validationErrors: operationValidation.errors }, operationValidation.suggestions);
41
- }
42
- // Route to appropriate handler
43
- const isRemoteOperation = this.isRemoteOperation(params.action);
44
- if (isRemoteOperation) {
45
- return await this.executeRemoteOperation(params, startTime);
46
- }
47
- else {
48
- return await this.executeLocalOperation(params, startTime);
49
- }
50
- }
51
- catch (error) {
52
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
53
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('EXECUTION_ERROR', `Failed to execute ${params.action}: ${errorMessage}`, params.action, { error: errorMessage }, ['Check the error details and try again']);
54
- }
55
- }
56
- /**
57
- * Execute local Git branch operations
58
- */
59
- async executeLocalOperation(params, startTime) {
60
- switch (params.action) {
61
- case 'create':
62
- return await this.handleCreateBranch(params, startTime);
63
- case 'list':
64
- return await this.handleListBranches(params, startTime);
65
- case 'get':
66
- return await this.handleGetBranch(params, startTime);
67
- case 'delete':
68
- return await this.handleDeleteBranch(params, startTime);
69
- case 'merge':
70
- return await this.handleMergeBranch(params, startTime);
71
- case 'compare':
72
- return await this.handleCompareBranches(params, startTime);
73
- default:
74
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('UNSUPPORTED_OPERATION', `Local operation '${params.action}' is not supported`, params.action, {}, ['Use one of: create, list, get, delete, merge, compare']);
75
- }
76
- }
77
- /**
78
- * Execute remote provider operations
79
- */
80
- async executeRemoteOperation(params, startTime) {
81
- if (!this.providerHandler) {
82
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('PROVIDER_NOT_CONFIGURED', 'Provider handler is not configured for remote operations', params.action, {}, ['Configure GitHub or Gitea provider to use remote operations']);
83
- }
84
- if (!params.provider) {
85
- if (config_js_1.configManager.isUniversalMode()) {
86
- params.provider = 'both';
87
- console.error(`[Universal Mode] Auto-applying both providers for ${params.action}`);
88
- }
89
- else {
90
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('PROVIDER_REQUIRED', 'Provider parameter is required for remote operations', params.action, {}, ['Specify provider as: github, gitea, or both']);
91
- }
92
- }
93
- const operation = {
94
- provider: params.provider,
95
- operation: this.mapActionToProviderOperation(params.action),
96
- parameters: this.extractRemoteParameters(params),
97
- requiresAuth: true,
98
- isRemoteOperation: true
99
- };
100
- try {
101
- const result = await this.providerHandler.executeOperation(operation);
102
- return {
103
- success: result.success,
104
- data: result.partialFailure ? result : result.results[0]?.data,
105
- error: result.success ? undefined : {
106
- code: result.errors[0]?.error?.code || 'REMOTE_OPERATION_ERROR',
107
- message: result.errors[0]?.error?.message || 'Remote operation failed',
108
- details: result.errors,
109
- suggestions: ['Check provider configuration and credentials']
110
- },
111
- metadata: {
112
- provider: params.provider,
113
- operation: params.action,
114
- timestamp: new Date().toISOString(),
115
- executionTime: Date.now() - startTime
116
- }
117
- };
118
- }
119
- catch (error) {
120
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
121
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('REMOTE_OPERATION_ERROR', `Remote operation failed: ${errorMessage}`, params.action, { error: errorMessage }, ['Check provider configuration and network connectivity']);
122
- }
123
- }
124
- /**
125
- * Handle create branch operation
126
- */
127
- async handleCreateBranch(params, startTime) {
128
- try {
129
- if (!params.branchName) {
130
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('MISSING_PARAMETER', 'branchName is required for branch creation', 'create', {}, ['Provide a name for the new branch']);
131
- }
132
- // Check if branch already exists
133
- const existingBranches = await this.gitExecutor.listBranches(params.projectPath, { all: false });
134
- if (existingBranches.success && existingBranches.branches?.includes(params.branchName)) {
135
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('BRANCH_EXISTS', `Branch '${params.branchName}' already exists`, 'create', { branchName: params.branchName }, ['Use a different branch name or delete the existing branch first']);
136
- }
137
- // Create branch
138
- const result = await this.gitExecutor.createBranch(params.projectPath, params.branchName, params.sourceBranch);
139
- if (!result.success) {
140
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'create branch', params.projectPath);
141
- }
142
- // Checkout branch if requested
143
- let checkoutResult = null;
144
- if (params.checkout) {
145
- checkoutResult = await this.gitExecutor.checkoutBranch(params.projectPath, params.branchName);
146
- if (!checkoutResult.success) {
147
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(checkoutResult.stderr, 'checkout branch', params.projectPath);
148
- }
149
- }
150
- return {
151
- success: true,
152
- data: {
153
- message: `Branch '${params.branchName}' created successfully`,
154
- branchName: params.branchName,
155
- sourceBranch: params.sourceBranch || 'current branch',
156
- checkedOut: params.checkout || false,
157
- output: result.stdout,
158
- checkoutOutput: checkoutResult?.stdout
159
- },
160
- metadata: {
161
- operation: 'create',
162
- timestamp: new Date().toISOString(),
163
- executionTime: Date.now() - startTime
164
- }
165
- };
166
- }
167
- catch (error) {
168
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
169
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('CREATE_BRANCH_ERROR', `Failed to create branch: ${errorMessage}`, 'create', { error: errorMessage, projectPath: params.projectPath });
170
- }
171
- }
172
- /**
173
- * Handle list branches operation
174
- */
175
- async handleListBranches(params, startTime) {
176
- try {
177
- const result = await this.gitExecutor.listBranches(params.projectPath, {
178
- all: true,
179
- remote: params.remote
180
- });
181
- if (!result.success) {
182
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'list branches', params.projectPath);
183
- }
184
- // Get current branch
185
- const currentBranchResult = await this.gitExecutor.getCurrentBranch(params.projectPath);
186
- const currentBranch = currentBranchResult.success ? currentBranchResult.branch : null;
187
- return {
188
- success: true,
189
- data: {
190
- branches: result.branches || [],
191
- remoteBranches: result.remoteBranches || [],
192
- currentBranch,
193
- total: (result.branches?.length || 0) + (result.remoteBranches?.length || 0),
194
- raw: result.stdout
195
- },
196
- metadata: {
197
- operation: 'list',
198
- timestamp: new Date().toISOString(),
199
- executionTime: Date.now() - startTime
200
- }
201
- };
202
- }
203
- catch (error) {
204
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
205
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('LIST_BRANCHES_ERROR', `Failed to list branches: ${errorMessage}`, 'list', { error: errorMessage, projectPath: params.projectPath });
206
- }
207
- }
208
- /**
209
- * Handle get branch operation
210
- */
211
- async handleGetBranch(params, startTime) {
212
- try {
213
- if (!params.branchName) {
214
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('MISSING_PARAMETER', 'branchName is required for get branch operation', 'get', {}, ['Provide the name of the branch to get information about']);
215
- }
216
- // Get branch information
217
- const branchInfo = await this.gitExecutor.getBranchInfo(params.projectPath, params.branchName);
218
- if (!branchInfo.success) {
219
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(branchInfo.stderr, 'get branch info', params.projectPath);
220
- }
221
- // Get branch commits
222
- const commitsResult = await this.gitExecutor.getBranchCommits(params.projectPath, params.branchName, 10);
223
- return {
224
- success: true,
225
- data: {
226
- branchName: params.branchName,
227
- exists: branchInfo.exists,
228
- isRemote: branchInfo.isRemote,
229
- lastCommit: branchInfo.lastCommit,
230
- commits: commitsResult.success ? commitsResult.commits : [],
231
- upstream: branchInfo.upstream,
232
- ahead: branchInfo.ahead,
233
- behind: branchInfo.behind
234
- },
235
- metadata: {
236
- operation: 'get',
237
- timestamp: new Date().toISOString(),
238
- executionTime: Date.now() - startTime
239
- }
240
- };
241
- }
242
- catch (error) {
243
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
244
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('GET_BRANCH_ERROR', `Failed to get branch information: ${errorMessage}`, 'get', { error: errorMessage, projectPath: params.projectPath });
245
- }
246
- }
247
- /**
248
- * Handle delete branch operation
249
- */
250
- async handleDeleteBranch(params, startTime) {
251
- try {
252
- if (!params.branchName) {
253
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('MISSING_PARAMETER', 'branchName is required for branch deletion', 'delete', {}, ['Provide the name of the branch to delete']);
254
- }
255
- // Check if trying to delete current branch
256
- const currentBranchResult = await this.gitExecutor.getCurrentBranch(params.projectPath);
257
- if (currentBranchResult.success && currentBranchResult.branch === params.branchName) {
258
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('CANNOT_DELETE_CURRENT_BRANCH', `Cannot delete current branch '${params.branchName}'`, 'delete', { branchName: params.branchName }, ['Switch to a different branch before deleting this one']);
259
- }
260
- const result = await this.gitExecutor.deleteBranch(params.projectPath, params.branchName, params.force || false);
261
- if (!result.success) {
262
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'delete branch', params.projectPath);
263
- }
264
- return {
265
- success: true,
266
- data: {
267
- message: `Branch '${params.branchName}' deleted successfully`,
268
- branchName: params.branchName,
269
- forced: params.force || false,
270
- output: result.stdout
271
- },
272
- metadata: {
273
- operation: 'delete',
274
- timestamp: new Date().toISOString(),
275
- executionTime: Date.now() - startTime
276
- }
277
- };
278
- }
279
- catch (error) {
280
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
281
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('DELETE_BRANCH_ERROR', `Failed to delete branch: ${errorMessage}`, 'delete', { error: errorMessage, projectPath: params.projectPath });
282
- }
283
- }
284
- /**
285
- * Handle merge branch operation
286
- */
287
- async handleMergeBranch(params, startTime) {
288
- try {
289
- if (!params.branchName) {
290
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('MISSING_PARAMETER', 'branchName is required for branch merge', 'merge', {}, ['Provide the name of the branch to merge']);
291
- }
292
- // Get current branch (target branch)
293
- const currentBranchResult = await this.gitExecutor.getCurrentBranch(params.projectPath);
294
- if (!currentBranchResult.success) {
295
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(currentBranchResult.stderr, 'get current branch', params.projectPath);
296
- }
297
- const targetBranch = params.targetBranch || currentBranchResult.branch;
298
- // Check for uncommitted changes
299
- const statusResult = await this.gitExecutor.getStatus(params.projectPath);
300
- if (statusResult.success && statusResult.parsedStatus &&
301
- (statusResult.parsedStatus.modified.length > 0 || statusResult.parsedStatus.added.length > 0)) {
302
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('UNCOMMITTED_CHANGES', 'Cannot merge with uncommitted changes', 'merge', { uncommittedFiles: [...statusResult.parsedStatus.modified, ...statusResult.parsedStatus.added] }, ['Commit or stash your changes before merging']);
303
- }
304
- const result = await this.gitExecutor.mergeBranch(params.projectPath, params.branchName, { force: params.force });
305
- if (!result.success) {
306
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'merge branch', params.projectPath);
307
- }
308
- return {
309
- success: true,
310
- data: {
311
- message: `Branch '${params.branchName}' merged into '${targetBranch}' successfully`,
312
- sourceBranch: params.branchName,
313
- targetBranch,
314
- mergeCommit: result.mergeCommit,
315
- conflicts: result.conflicts || [],
316
- output: result.stdout
317
- },
318
- metadata: {
319
- operation: 'merge',
320
- timestamp: new Date().toISOString(),
321
- executionTime: Date.now() - startTime
322
- }
323
- };
324
- }
325
- catch (error) {
326
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
327
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('MERGE_BRANCH_ERROR', `Failed to merge branch: ${errorMessage}`, 'merge', { error: errorMessage, projectPath: params.projectPath });
328
- }
329
- }
330
- /**
331
- * Handle compare branches operation
332
- */
333
- async handleCompareBranches(params, startTime) {
334
- try {
335
- if (!params.baseBranch || !params.compareBranch) {
336
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('MISSING_PARAMETER', 'baseBranch and compareBranch are required for comparison', 'compare', {}, ['Provide both branch names to compare']);
337
- }
338
- const result = await this.gitExecutor.compareBranches(params.projectPath, params.baseBranch, params.compareBranch);
339
- if (!result.success) {
340
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'compare branches', params.projectPath);
341
- }
342
- return {
343
- success: true,
344
- data: {
345
- baseBranch: params.baseBranch,
346
- compareBranch: params.compareBranch,
347
- ahead: result.ahead || 0,
348
- behind: result.behind || 0,
349
- commits: result.commits || [],
350
- files: result.files || [],
351
- summary: {
352
- totalCommits: result.commits?.length || 0,
353
- filesChanged: result.files?.length || 0,
354
- insertions: result.insertions || 0,
355
- deletions: result.deletions || 0
356
- }
357
- },
358
- metadata: {
359
- operation: 'compare',
360
- timestamp: new Date().toISOString(),
361
- executionTime: Date.now() - startTime
362
- }
363
- };
364
- }
365
- catch (error) {
366
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
367
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('COMPARE_BRANCHES_ERROR', `Failed to compare branches: ${errorMessage}`, 'compare', { error: errorMessage, projectPath: params.projectPath });
368
- }
369
- }
370
- /**
371
- * Check if operation is a remote operation
372
- */
373
- isRemoteOperation(action) {
374
- // For now, all branch operations are local
375
- // Remote branch operations would be handled through git-workflow or specific remote tools
376
- return false;
377
- }
378
- /**
379
- * Extract parameters for remote operations
380
- */
381
- extractRemoteParameters(params) {
382
- const remoteParams = {
383
- projectPath: params.projectPath
384
- };
385
- if (params.repo)
386
- remoteParams.repo = params.repo;
387
- if (params.branchName)
388
- remoteParams.branchName = params.branchName;
389
- return remoteParams;
390
- }
391
- /**
392
- * Map git-branches actions to provider operations
393
- */
394
- mapActionToProviderOperation(action) {
395
- const actionMap = {
396
- 'list': 'branch-list',
397
- 'get': 'branch-get',
398
- 'create': 'branch-create',
399
- 'delete': 'branch-delete'
400
- };
401
- return actionMap[action] || action;
402
- }
403
- /**
404
- * Get tool schema for MCP registration
405
- */
406
- static getToolSchema() {
407
- return {
408
- name: 'git-branches',
409
- description: 'Git branch management tool for branch lifecycle operations. Supports create, list, get, delete, merge, and compare operations. Includes safety warnings for destructive operations like branch deletion. In universal mode (GIT_MCP_MODE=universal), automatically executes on both GitHub and Gitea providers.',
410
- inputSchema: {
411
- type: 'object',
412
- properties: {
413
- action: {
414
- type: 'string',
415
- enum: ['create', 'list', 'get', 'delete', 'merge', 'compare'],
416
- description: 'The branch operation to perform. WARNING: delete operation permanently removes branches and their commit history.'
417
- },
418
- projectPath: {
419
- type: 'string',
420
- description: 'Absolute path to the project directory'
421
- },
422
- branchName: {
423
- type: 'string',
424
- description: 'Name of the branch (required for create, get, delete, merge)'
425
- },
426
- sourceBranch: {
427
- type: 'string',
428
- description: 'Source branch to create from (for create action)'
429
- },
430
- targetBranch: {
431
- type: 'string',
432
- description: 'Target branch to merge into (for merge action)'
433
- },
434
- baseBranch: {
435
- type: 'string',
436
- description: 'Base branch for comparison (required for compare action)'
437
- },
438
- compareBranch: {
439
- type: 'string',
440
- description: 'Branch to compare against base (required for compare action)'
441
- },
442
- force: {
443
- type: 'boolean',
444
- description: 'Force operation (for delete, merge actions)'
445
- },
446
- remote: {
447
- type: 'string',
448
- description: 'Remote name (default: origin)'
449
- },
450
- checkout: {
451
- type: 'boolean',
452
- description: 'Checkout branch after creation (for create action)'
453
- },
454
- repo: {
455
- type: 'string',
456
- description: 'Repository name (for remote operations)'
457
- }
458
- },
459
- required: ['action', 'projectPath'],
460
- additionalProperties: false
461
- },
462
- errorCodes: {
463
- 'VALIDATION_ERROR': 'Parameter validation failed - check required parameters and format',
464
- 'BRANCH_EXISTS': 'Branch already exists - use different name or delete existing branch',
465
- 'BRANCH_NOT_FOUND': 'Branch not found - check branch name and remote configuration',
466
- 'MERGE_CONFLICT': 'Merge conflicts detected - resolve conflicts before completing merge',
467
- 'DIRTY_WORKING_TREE': 'Working directory has uncommitted changes - commit or stash first',
468
- 'NOT_A_GIT_REPOSITORY': 'Directory is not a Git repository - use git init first',
469
- 'PERMISSION_DENIED': 'Permission denied - check access rights and credentials'
470
- },
471
- warnings: {
472
- 'delete': 'Branch deletion is permanent and cannot be undone. Ensure branch is merged or no longer needed.',
473
- 'force': 'Force operations can cause data loss. Use with extreme caution.'
474
- },
475
- examples: [
476
- {
477
- description: 'List all branches',
478
- input: {
479
- action: 'list',
480
- projectPath: '/path/to/project'
481
- }
482
- },
483
- {
484
- description: 'Create new feature branch',
485
- input: {
486
- action: 'create',
487
- projectPath: '/path/to/project',
488
- branchName: 'feature/new-feature',
489
- sourceBranch: 'main',
490
- checkout: true
491
- }
492
- },
493
- {
494
- description: 'Compare two branches',
495
- input: {
496
- action: 'compare',
497
- projectPath: '/path/to/project',
498
- baseBranch: 'main',
499
- compareBranch: 'feature/new-feature'
500
- }
501
- }
502
- ]
503
- };
504
- }
505
- }
506
- exports.GitBranchesTool = GitBranchesTool;
507
- //# sourceMappingURL=git-branches.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-branches.js","sourceRoot":"","sources":["../../src/tools/git-branches.ts"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- /**
2
- * Git Configuration Tool
3
- *
4
- * Git configuration management tool providing comprehensive Git config operations.
5
- * Supports get, set, unset, list, edit, and show operations for Git configuration.
6
- *
7
- * Operations: get, set, unset, list, edit, show
8
- */
9
- import { ToolParams } from '../utils/parameter-validator.js';
10
- import { ToolResult } from '../utils/operation-error-handler.js';
11
- export interface GitConfigParams extends ToolParams {
12
- action: 'get' | 'set' | 'unset' | 'list' | 'edit' | 'show';
13
- key?: string;
14
- value?: string;
15
- global?: boolean;
16
- local?: boolean;
17
- system?: boolean;
18
- showOrigin?: boolean;
19
- showScope?: boolean;
20
- }
21
- export declare class GitConfigTool {
22
- private gitExecutor;
23
- constructor();
24
- /**
25
- * Execute git-config operation
26
- */
27
- execute(params: GitConfigParams): Promise<ToolResult>;
28
- /**
29
- * Validate operation-specific parameters
30
- */
31
- private validateOperationParams;
32
- /**
33
- * Validate configuration key format
34
- */
35
- private isValidConfigKey;
36
- /**
37
- * Handle get configuration operation
38
- */
39
- private handleGet;
40
- /**
41
- * Handle set configuration operation
42
- */
43
- private handleSet;
44
- /**
45
- * Handle unset configuration operation
46
- */
47
- private handleUnset;
48
- /**
49
- * Handle list configuration operation
50
- */
51
- private handleList;
52
- /**
53
- * Handle edit configuration operation
54
- */
55
- private handleEdit;
56
- /**
57
- * Handle show configuration operation
58
- */
59
- private handleShow;
60
- /**
61
- * Get scope string for display
62
- */
63
- private getScopeString;
64
- /**
65
- * Group configurations by section
66
- */
67
- private groupConfigsBySection;
68
- /**
69
- * Get tool schema for MCP registration
70
- */
71
- static getToolSchema(): {
72
- name: string;
73
- description: string;
74
- inputSchema: {
75
- type: string;
76
- properties: {
77
- action: {
78
- type: string;
79
- enum: string[];
80
- description: string;
81
- };
82
- projectPath: {
83
- type: string;
84
- description: string;
85
- };
86
- key: {
87
- type: string;
88
- description: string;
89
- };
90
- value: {
91
- type: string;
92
- description: string;
93
- };
94
- global: {
95
- type: string;
96
- description: string;
97
- };
98
- local: {
99
- type: string;
100
- description: string;
101
- };
102
- system: {
103
- type: string;
104
- description: string;
105
- };
106
- showOrigin: {
107
- type: string;
108
- description: string;
109
- };
110
- showScope: {
111
- type: string;
112
- description: string;
113
- };
114
- };
115
- required: string[];
116
- };
117
- };
118
- }
119
- //# sourceMappingURL=git-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-config.d.ts","sourceRoot":"","sources":["../../src/tools/git-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAsB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAyB,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGxF,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAG3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAqB;;IAMxC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAgE3D;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoC/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;YACW,SAAS;IA6DvB;;OAEG;YACW,SAAS;IA2CvB;;OAEG;YACW,WAAW;IA2DzB;;OAEG;YACW,UAAU;IA+CxB;;OAEG;YACW,UAAU;IAwCxB;;OAEG;YACW,UAAU;IAuExB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,MAAM,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDrB"}