@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 +0,0 @@
1
- {"version":3,"file":"git-remote.js","sourceRoot":"","sources":["../../src/tools/git-remote.ts"],"names":[],"mappings":"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"}
@@ -1,120 +0,0 @@
1
- /**
2
- * Git Reset Tool
3
- *
4
- * Comprehensive Git reset tool providing reset operations for repository state management.
5
- * Supports soft, mixed, hard reset capabilities and reset-to-commit and reset-branch functionality.
6
- *
7
- * Operations: soft, mixed, hard, reset-to-commit, reset-branch
8
- */
9
- import { ToolParams } from '../utils/parameter-validator.js';
10
- import { ToolResult } from '../utils/operation-error-handler.js';
11
- import { ProviderConfig } from '../providers/types.js';
12
- export interface GitResetParams extends ToolParams {
13
- action: 'soft' | 'mixed' | 'hard' | 'reset-to-commit' | 'reset-branch';
14
- commit?: string;
15
- branch?: string;
16
- files?: string[];
17
- force?: boolean;
18
- quiet?: boolean;
19
- skipWarning?: boolean;
20
- confirmDestructive?: boolean;
21
- }
22
- export declare class GitResetTool {
23
- private gitExecutor;
24
- private providerConfig?;
25
- constructor(providerConfig?: ProviderConfig);
26
- /**
27
- * Execute git-reset operation
28
- */
29
- execute(params: GitResetParams): Promise<ToolResult>;
30
- /**
31
- * Validate operation-specific parameters
32
- */
33
- private validateOperationParams;
34
- /**
35
- * Handle git reset --soft operation
36
- */
37
- private handleSoftReset;
38
- /**
39
- * Handle git reset --mixed operation (default reset)
40
- */
41
- private handleMixedReset;
42
- /**
43
- * Handle git reset --hard operation
44
- */
45
- private handleHardReset;
46
- /**
47
- * Handle reset to specific commit operation
48
- */
49
- private handleResetToCommit;
50
- /**
51
- * Handle reset to branch operation
52
- */
53
- private handleResetBranch;
54
- /**
55
- * Validate that a commit exists
56
- */
57
- private validateCommitExists;
58
- /**
59
- * Validate that a branch exists
60
- */
61
- private validateBranchExists;
62
- /**
63
- * Check safety warnings for destructive operations
64
- */
65
- private checkSafetyWarnings;
66
- /**
67
- * Get tool schema for MCP registration
68
- */
69
- static getToolSchema(): {
70
- name: string;
71
- description: string;
72
- inputSchema: {
73
- type: string;
74
- properties: {
75
- action: {
76
- type: string;
77
- enum: string[];
78
- description: string;
79
- };
80
- projectPath: {
81
- type: string;
82
- description: string;
83
- };
84
- commit: {
85
- type: string;
86
- description: string;
87
- };
88
- branch: {
89
- type: string;
90
- description: string;
91
- };
92
- files: {
93
- type: string;
94
- items: {
95
- type: string;
96
- };
97
- description: string;
98
- };
99
- force: {
100
- type: string;
101
- description: string;
102
- };
103
- quiet: {
104
- type: string;
105
- description: string;
106
- };
107
- skipWarning: {
108
- type: string;
109
- description: string;
110
- };
111
- confirmDestructive: {
112
- type: string;
113
- description: string;
114
- };
115
- };
116
- required: string[];
117
- };
118
- };
119
- }
120
- //# sourceMappingURL=git-reset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-reset.d.ts","sourceRoot":"","sources":["../../src/tools/git-reset.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAsB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAyB,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAGvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,cAAc,CAAC,EAAE,cAAc;IAK3C;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAkF1D;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;OAEG;YACW,eAAe;IA6C7B;;OAEG;YACW,gBAAgB;IAuD9B;;OAEG;YACW,eAAe;IAyD7B;;OAEG;YACW,mBAAmB;IA4DjC;;OAEG;YACW,iBAAiB;IA2D/B;;OAEG;YACW,oBAAoB;IA8BlC;;OAEG;YACW,oBAAoB;IA0BlC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;OAEG;IACH,MAAM,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDrB"}
@@ -1,479 +0,0 @@
1
- "use strict";
2
- /**
3
- * Git Reset Tool
4
- *
5
- * Comprehensive Git reset tool providing reset operations for repository state management.
6
- * Supports soft, mixed, hard reset capabilities and reset-to-commit and reset-branch functionality.
7
- *
8
- * Operations: soft, mixed, hard, reset-to-commit, reset-branch
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.GitResetTool = void 0;
12
- const git_command_executor_js_1 = require("../utils/git-command-executor.js");
13
- const parameter_validator_js_1 = require("../utils/parameter-validator.js");
14
- const operation_error_handler_js_1 = require("../utils/operation-error-handler.js");
15
- const safety_warnings_js_1 = require("../utils/safety-warnings.js");
16
- class GitResetTool {
17
- gitExecutor;
18
- providerConfig;
19
- constructor(providerConfig) {
20
- this.gitExecutor = new git_command_executor_js_1.GitCommandExecutor();
21
- this.providerConfig = providerConfig;
22
- }
23
- /**
24
- * Execute git-reset operation
25
- */
26
- async execute(params) {
27
- const startTime = Date.now();
28
- try {
29
- // Validate basic parameters
30
- const validation = parameter_validator_js_1.ParameterValidator.validateToolParams('git-reset', params);
31
- if (!validation.isValid) {
32
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('VALIDATION_ERROR', `Parameter validation failed: ${validation.errors.join(', ')}`, params.action, { validationErrors: validation.errors }, validation.suggestions);
33
- }
34
- // Validate operation-specific parameters
35
- const operationValidation = this.validateOperationParams(params);
36
- if (!operationValidation.isValid) {
37
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('VALIDATION_ERROR', `Operation validation failed: ${operationValidation.errors.join(', ')}`, params.action, { validationErrors: operationValidation.errors }, operationValidation.suggestions);
38
- }
39
- // Check for destructive operations and show safety warnings
40
- if (!params.skipWarning) {
41
- const warningResult = this.checkSafetyWarnings(params);
42
- if (warningResult) {
43
- return warningResult;
44
- }
45
- }
46
- // Check if it's a Git repository
47
- const isRepo = await this.gitExecutor.isGitRepository(params.projectPath);
48
- if (!isRepo) {
49
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('NOT_A_GIT_REPOSITORY', 'The specified path is not a Git repository', params.action, { projectPath: params.projectPath }, ['Initialize a Git repository first with: git init']);
50
- }
51
- // Route to appropriate handler
52
- switch (params.action) {
53
- case 'soft':
54
- return await this.handleSoftReset(params, startTime);
55
- case 'mixed':
56
- return await this.handleMixedReset(params, startTime);
57
- case 'hard':
58
- return await this.handleHardReset(params, startTime);
59
- case 'reset-to-commit':
60
- return await this.handleResetToCommit(params, startTime);
61
- case 'reset-branch':
62
- return await this.handleResetBranch(params, startTime);
63
- default:
64
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('UNSUPPORTED_OPERATION', `Operation '${params.action}' is not supported`, params.action, {}, ['Use one of: soft, mixed, hard, reset-to-commit, reset-branch']);
65
- }
66
- }
67
- catch (error) {
68
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
69
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('EXECUTION_ERROR', `Failed to execute ${params.action}: ${errorMessage}`, params.action, { error: errorMessage }, ['Check the error details and try again']);
70
- }
71
- }
72
- /**
73
- * Validate operation-specific parameters
74
- */
75
- validateOperationParams(params) {
76
- const errors = [];
77
- const suggestions = [];
78
- switch (params.action) {
79
- case 'reset-to-commit':
80
- if (!params.commit) {
81
- errors.push('Commit hash or reference is required for reset-to-commit operation');
82
- suggestions.push('Provide a commit hash (e.g., "abc123") or reference (e.g., "HEAD~1")');
83
- }
84
- break;
85
- case 'reset-branch':
86
- if (!params.branch) {
87
- errors.push('Branch name is required for reset-branch operation');
88
- suggestions.push('Provide the branch name to reset to (e.g., "main", "develop")');
89
- }
90
- break;
91
- case 'soft':
92
- case 'mixed':
93
- case 'hard':
94
- // These operations can work with or without specific commit/files
95
- break;
96
- }
97
- return {
98
- isValid: errors.length === 0,
99
- errors,
100
- suggestions
101
- };
102
- }
103
- /**
104
- * Handle git reset --soft operation
105
- */
106
- async handleSoftReset(params, startTime) {
107
- try {
108
- const args = ['--soft'];
109
- // Add commit reference if provided, otherwise defaults to HEAD
110
- const target = params.commit || 'HEAD';
111
- args.push(target);
112
- // Add quiet option if specified
113
- if (params.quiet) {
114
- args.unshift('--quiet');
115
- }
116
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
117
- if (!result.success) {
118
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'reset --soft', params.projectPath);
119
- }
120
- return {
121
- success: true,
122
- data: {
123
- message: `Soft reset to ${target} completed successfully`,
124
- resetType: 'soft',
125
- target,
126
- description: 'HEAD moved, index and working directory unchanged',
127
- output: result.stdout
128
- },
129
- metadata: {
130
- operation: 'reset soft',
131
- timestamp: new Date().toISOString(),
132
- executionTime: Date.now() - startTime
133
- }
134
- };
135
- }
136
- catch (error) {
137
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
138
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_SOFT_ERROR', `Failed to perform soft reset: ${errorMessage}`, 'soft', { error: errorMessage, target: params.commit });
139
- }
140
- }
141
- /**
142
- * Handle git reset --mixed operation (default reset)
143
- */
144
- async handleMixedReset(params, startTime) {
145
- try {
146
- const args = ['--mixed'];
147
- // Add commit reference if provided, otherwise defaults to HEAD
148
- const target = params.commit || 'HEAD';
149
- args.push(target);
150
- // Add specific files if provided
151
- if (params.files && params.files.length > 0) {
152
- args.push('--', ...params.files);
153
- }
154
- // Add quiet option if specified
155
- if (params.quiet) {
156
- args.unshift('--quiet');
157
- }
158
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
159
- if (!result.success) {
160
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'reset --mixed', params.projectPath);
161
- }
162
- const filesMessage = params.files && params.files.length > 0
163
- ? ` for files: ${params.files.join(', ')}`
164
- : '';
165
- return {
166
- success: true,
167
- data: {
168
- message: `Mixed reset to ${target} completed successfully${filesMessage}`,
169
- resetType: 'mixed',
170
- target,
171
- files: params.files || [],
172
- description: 'HEAD and index updated, working directory unchanged',
173
- output: result.stdout
174
- },
175
- metadata: {
176
- operation: 'reset mixed',
177
- timestamp: new Date().toISOString(),
178
- executionTime: Date.now() - startTime
179
- }
180
- };
181
- }
182
- catch (error) {
183
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
184
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_MIXED_ERROR', `Failed to perform mixed reset: ${errorMessage}`, 'mixed', { error: errorMessage, target: params.commit, files: params.files });
185
- }
186
- }
187
- /**
188
- * Handle git reset --hard operation
189
- */
190
- async handleHardReset(params, startTime) {
191
- try {
192
- // Warn about destructive nature of hard reset
193
- if (!params.force) {
194
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('HARD_RESET_REQUIRES_FORCE', 'Hard reset is destructive and requires explicit force confirmation', 'hard', { target: params.commit }, ['Add force: true to confirm you want to discard all local changes']);
195
- }
196
- const args = ['--hard'];
197
- // Add commit reference if provided, otherwise defaults to HEAD
198
- const target = params.commit || 'HEAD';
199
- args.push(target);
200
- // Add quiet option if specified
201
- if (params.quiet) {
202
- args.unshift('--quiet');
203
- }
204
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
205
- if (!result.success) {
206
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'reset --hard', params.projectPath);
207
- }
208
- return {
209
- success: true,
210
- data: {
211
- message: `Hard reset to ${target} completed successfully`,
212
- resetType: 'hard',
213
- target,
214
- description: 'HEAD, index, and working directory all updated - local changes discarded',
215
- warning: 'All uncommitted changes have been permanently lost',
216
- output: result.stdout
217
- },
218
- metadata: {
219
- operation: 'reset hard',
220
- timestamp: new Date().toISOString(),
221
- executionTime: Date.now() - startTime
222
- }
223
- };
224
- }
225
- catch (error) {
226
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
227
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_HARD_ERROR', `Failed to perform hard reset: ${errorMessage}`, 'hard', { error: errorMessage, target: params.commit });
228
- }
229
- }
230
- /**
231
- * Handle reset to specific commit operation
232
- */
233
- async handleResetToCommit(params, startTime) {
234
- try {
235
- // Validate commit exists
236
- const commitValidation = await this.validateCommitExists(params.commit, params.projectPath);
237
- if (!commitValidation.isValid) {
238
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('COMMIT_NOT_FOUND', `Commit '${params.commit}' not found`, 'reset-to-commit', { commit: params.commit }, ['Check the commit hash or use a valid reference like HEAD~1']);
239
- }
240
- // Default to mixed reset unless force is specified (then hard)
241
- const resetType = params.force ? '--hard' : '--mixed';
242
- const args = [resetType, params.commit];
243
- // Add quiet option if specified
244
- if (params.quiet) {
245
- args.unshift('--quiet');
246
- }
247
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
248
- if (!result.success) {
249
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, `reset ${resetType}`, params.projectPath);
250
- }
251
- const resetTypeDescription = params.force
252
- ? 'hard (HEAD, index, and working directory updated)'
253
- : 'mixed (HEAD and index updated, working directory unchanged)';
254
- return {
255
- success: true,
256
- data: {
257
- message: `Reset to commit ${params.commit} completed successfully`,
258
- resetType: params.force ? 'hard' : 'mixed',
259
- commit: params.commit,
260
- commitInfo: commitValidation.commitInfo,
261
- description: `Repository reset to specific commit using ${resetTypeDescription}`,
262
- output: result.stdout
263
- },
264
- metadata: {
265
- operation: 'reset to commit',
266
- timestamp: new Date().toISOString(),
267
- executionTime: Date.now() - startTime
268
- }
269
- };
270
- }
271
- catch (error) {
272
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
273
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_TO_COMMIT_ERROR', `Failed to reset to commit: ${errorMessage}`, 'reset-to-commit', { error: errorMessage, commit: params.commit });
274
- }
275
- }
276
- /**
277
- * Handle reset to branch operation
278
- */
279
- async handleResetBranch(params, startTime) {
280
- try {
281
- // Validate branch exists
282
- const branchValidation = await this.validateBranchExists(params.branch, params.projectPath);
283
- if (!branchValidation.isValid) {
284
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('BRANCH_NOT_FOUND', `Branch '${params.branch}' not found`, 'reset-branch', { branch: params.branch, availableBranches: branchValidation.availableBranches }, [`Available branches: ${branchValidation.availableBranches?.join(', ')}`]);
285
- }
286
- // Default to mixed reset unless force is specified (then hard)
287
- const resetType = params.force ? '--hard' : '--mixed';
288
- const args = [resetType, params.branch];
289
- // Add quiet option if specified
290
- if (params.quiet) {
291
- args.unshift('--quiet');
292
- }
293
- const result = await this.gitExecutor.executeGitCommand('reset', args, params.projectPath);
294
- if (!result.success) {
295
- return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, `reset ${resetType}`, params.projectPath);
296
- }
297
- const resetTypeDescription = params.force
298
- ? 'hard (HEAD, index, and working directory updated)'
299
- : 'mixed (HEAD and index updated, working directory unchanged)';
300
- return {
301
- success: true,
302
- data: {
303
- message: `Reset to branch ${params.branch} completed successfully`,
304
- resetType: params.force ? 'hard' : 'mixed',
305
- branch: params.branch,
306
- description: `Repository reset to branch using ${resetTypeDescription}`,
307
- output: result.stdout
308
- },
309
- metadata: {
310
- operation: 'reset to branch',
311
- timestamp: new Date().toISOString(),
312
- executionTime: Date.now() - startTime
313
- }
314
- };
315
- }
316
- catch (error) {
317
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
318
- return operation_error_handler_js_1.OperationErrorHandler.createToolError('RESET_TO_BRANCH_ERROR', `Failed to reset to branch: ${errorMessage}`, 'reset-branch', { error: errorMessage, branch: params.branch });
319
- }
320
- }
321
- /**
322
- * Validate that a commit exists
323
- */
324
- async validateCommitExists(commit, projectPath) {
325
- try {
326
- const result = await this.gitExecutor.executeGitCommand('rev-parse', ['--verify', `${commit}^{commit}`], projectPath);
327
- if (!result.success) {
328
- return { isValid: false };
329
- }
330
- // Get commit information
331
- const infoResult = await this.gitExecutor.executeGitCommand('show', ['--no-patch', '--format=%H %s %an %ad', commit], projectPath);
332
- let commitInfo = {};
333
- if (infoResult.success && infoResult.stdout.trim()) {
334
- const parts = infoResult.stdout.trim().split(' ');
335
- if (parts.length >= 4) {
336
- commitInfo = {
337
- hash: parts[0],
338
- subject: parts.slice(1, -2).join(' '),
339
- author: parts[parts.length - 2],
340
- date: parts[parts.length - 1]
341
- };
342
- }
343
- }
344
- return { isValid: true, commitInfo };
345
- }
346
- catch (error) {
347
- return { isValid: false };
348
- }
349
- }
350
- /**
351
- * Validate that a branch exists
352
- */
353
- async validateBranchExists(branch, projectPath) {
354
- try {
355
- // Get all branches
356
- const branchResult = await this.gitExecutor.executeGitCommand('branch', ['-a'], projectPath);
357
- if (!branchResult.success) {
358
- return { isValid: false };
359
- }
360
- const branches = branchResult.stdout
361
- .split('\n')
362
- .map(line => line.replace(/^\*?\s+/, '').replace(/^remotes\/[^\/]+\//, ''))
363
- .filter(line => line.trim() && !line.includes('->'))
364
- .map(line => line.trim());
365
- const branchExists = branches.some(b => b === branch || b.endsWith(`/${branch}`));
366
- return {
367
- isValid: branchExists,
368
- availableBranches: branches.slice(0, 10) // Limit to first 10 for readability
369
- };
370
- }
371
- catch (error) {
372
- return { isValid: false };
373
- }
374
- }
375
- /**
376
- * Check safety warnings for destructive operations
377
- */
378
- checkSafetyWarnings(params) {
379
- let operationType = null;
380
- // Determine operation type for safety warnings
381
- if (params.action === 'hard') {
382
- operationType = 'git-reset-hard';
383
- }
384
- else if (params.action === 'mixed') {
385
- operationType = 'git-reset-mixed';
386
- }
387
- // Only show warnings for destructive operations
388
- if (!operationType || !safety_warnings_js_1.SafetyWarnings.isDestructiveOperation(operationType)) {
389
- return null;
390
- }
391
- // Check if user has explicitly confirmed destructive operation
392
- if (params.confirmDestructive) {
393
- return null;
394
- }
395
- // Generate and format warning
396
- const warning = safety_warnings_js_1.SafetyWarnings.generateWarning(operationType, {
397
- commit: params.commit,
398
- branch: params.branch
399
- });
400
- const formattedWarning = safety_warnings_js_1.SafetyWarnings.formatWarning(warning);
401
- return {
402
- success: false,
403
- error: {
404
- code: 'SAFETY_WARNING',
405
- message: formattedWarning,
406
- details: {
407
- operationType,
408
- riskLevel: warning.level,
409
- requiresConfirmation: warning.confirmationRequired
410
- },
411
- suggestions: [
412
- 'Set confirmDestructive=true to proceed with this dangerous operation',
413
- 'Set skipWarning=true to bypass this warning (not recommended)',
414
- 'Consider using a safer alternative operation'
415
- ]
416
- },
417
- metadata: {
418
- operation: params.action,
419
- timestamp: new Date().toISOString(),
420
- executionTime: 0
421
- }
422
- };
423
- }
424
- /**
425
- * Get tool schema for MCP registration
426
- */
427
- static getToolSchema() {
428
- return {
429
- name: 'git-reset',
430
- description: 'Git reset tool for repository state management. Supports soft, mixed, hard reset capabilities and reset-to-commit and reset-branch functionality. Includes safety warnings for destructive operations like hard reset.',
431
- inputSchema: {
432
- type: 'object',
433
- properties: {
434
- action: {
435
- type: 'string',
436
- enum: ['soft', 'mixed', 'hard', 'reset-to-commit', 'reset-branch'],
437
- description: 'The reset operation to perform'
438
- },
439
- projectPath: {
440
- type: 'string',
441
- description: 'Absolute path to the project directory'
442
- },
443
- commit: {
444
- type: 'string',
445
- description: 'Commit hash or reference (required for reset-to-commit, optional for others)'
446
- },
447
- branch: {
448
- type: 'string',
449
- description: 'Branch name (required for reset-branch operation)'
450
- },
451
- files: {
452
- type: 'array',
453
- items: { type: 'string' },
454
- description: 'Specific files to reset (for mixed/soft resets)'
455
- },
456
- force: {
457
- type: 'boolean',
458
- description: 'Force reset - required for hard reset operations'
459
- },
460
- quiet: {
461
- type: 'boolean',
462
- description: 'Suppress output during reset operation'
463
- },
464
- skipWarning: {
465
- type: 'boolean',
466
- description: 'Skip safety warnings (use with extreme caution - not recommended)'
467
- },
468
- confirmDestructive: {
469
- type: 'boolean',
470
- description: 'Explicit confirmation for destructive operations (required for hard reset)'
471
- }
472
- },
473
- required: ['action', 'projectPath']
474
- }
475
- };
476
- }
477
- }
478
- exports.GitResetTool = GitResetTool;
479
- //# sourceMappingURL=git-reset.js.map