@andrebuzeli/git-mcp 5.5.1 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -6
- package/dist/config.d.ts +5 -131
- package/dist/config.js +28 -430
- package/dist/index.d.ts +1 -21
- package/dist/index.js +118 -140
- package/dist/providers/giteaProvider.d.ts +3 -0
- package/dist/providers/giteaProvider.js +12 -0
- package/dist/providers/githubProvider.d.ts +2 -0
- package/dist/providers/githubProvider.js +7 -0
- package/dist/providers/providerManager.d.ts +11 -0
- package/dist/providers/providerManager.js +48 -0
- package/dist/resources/toolsGuide.d.ts +12 -0
- package/dist/resources/toolsGuide.js +1491 -0
- package/dist/server.d.ts +7 -40
- package/dist/server.js +59 -696
- package/dist/tools/gitAnalytics.d.ts +29 -0
- package/dist/tools/gitAnalytics.js +72 -0
- package/dist/tools/gitArchive.d.ts +6 -0
- package/dist/tools/gitArchive.js +27 -0
- package/dist/tools/gitBackup.d.ts +10 -0
- package/dist/tools/gitBackup.js +44 -0
- package/dist/tools/gitBranches.d.ts +72 -0
- package/dist/tools/gitBranches.js +98 -0
- package/dist/tools/gitConfig.d.ts +34 -0
- package/dist/tools/gitConfig.js +73 -0
- package/dist/tools/gitFiles.d.ts +30 -0
- package/dist/tools/gitFiles.js +55 -0
- package/dist/tools/gitHistory.d.ts +17 -0
- package/dist/tools/gitHistory.js +365 -0
- package/dist/tools/gitIssues.d.ts +6 -0
- package/dist/tools/gitIssues.js +279 -0
- package/dist/tools/gitMonitor.d.ts +51 -0
- package/dist/tools/gitMonitor.js +102 -0
- package/dist/tools/gitPackages.d.ts +6 -0
- package/dist/tools/gitPackages.js +28 -0
- package/dist/tools/gitPulls.d.ts +6 -0
- package/dist/tools/gitPulls.js +288 -0
- package/dist/tools/gitRelease.d.ts +6 -0
- package/dist/tools/gitRelease.js +321 -0
- package/dist/tools/gitRemote.d.ts +51 -0
- package/dist/tools/gitRemote.js +68 -0
- package/dist/tools/gitReset.d.ts +34 -0
- package/dist/tools/gitReset.js +64 -0
- package/dist/tools/gitStash.d.ts +41 -0
- package/dist/tools/gitStash.js +67 -0
- package/dist/tools/gitSync.d.ts +25 -0
- package/dist/tools/gitSync.js +51 -0
- package/dist/tools/gitTags.d.ts +30 -0
- package/dist/tools/gitTags.js +69 -0
- package/dist/tools/gitUpdate.d.ts +14 -0
- package/dist/tools/gitUpdate.js +374 -0
- package/dist/tools/gitUpload.d.ts +11 -0
- package/dist/tools/gitUpload.js +342 -0
- package/dist/tools/gitWorkflow.d.ts +6 -0
- package/dist/tools/gitWorkflow.js +303 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.js +2 -0
- package/dist/utils/errors.d.ts +13 -0
- package/dist/utils/errors.js +22 -0
- package/dist/utils/safetyController.d.ts +1 -0
- package/dist/utils/safetyController.js +15 -0
- package/package.json +8 -3
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/providers/base-provider.d.ts +0 -66
- package/dist/providers/base-provider.d.ts.map +0 -1
- package/dist/providers/base-provider.js +0 -65
- package/dist/providers/base-provider.js.map +0 -1
- package/dist/providers/gitea-provider.d.ts +0 -79
- package/dist/providers/gitea-provider.d.ts.map +0 -1
- package/dist/providers/gitea-provider.js +0 -576
- package/dist/providers/gitea-provider.js.map +0 -1
- package/dist/providers/github-provider.d.ts +0 -74
- package/dist/providers/github-provider.d.ts.map +0 -1
- package/dist/providers/github-provider.js +0 -683
- package/dist/providers/github-provider.js.map +0 -1
- package/dist/providers/index.d.ts +0 -13
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -35
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/provider-factory.d.ts +0 -49
- package/dist/providers/provider-factory.d.ts.map +0 -1
- package/dist/providers/provider-factory.js +0 -193
- package/dist/providers/provider-factory.js.map +0 -1
- package/dist/providers/provider-operation-handler.d.ts +0 -115
- package/dist/providers/provider-operation-handler.d.ts.map +0 -1
- package/dist/providers/provider-operation-handler.js +0 -449
- package/dist/providers/provider-operation-handler.js.map +0 -1
- package/dist/providers/types.d.ts +0 -200
- package/dist/providers/types.d.ts.map +0 -1
- package/dist/providers/types.js +0 -8
- package/dist/providers/types.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/tools/git-analytics.d.ts +0 -237
- package/dist/tools/git-analytics.d.ts.map +0 -1
- package/dist/tools/git-analytics.js +0 -819
- package/dist/tools/git-analytics.js.map +0 -1
- package/dist/tools/git-archive.d.ts +0 -113
- package/dist/tools/git-archive.d.ts.map +0 -1
- package/dist/tools/git-archive.js +0 -466
- package/dist/tools/git-archive.js.map +0 -1
- package/dist/tools/git-auto-monitor.d.ts +0 -180
- package/dist/tools/git-auto-monitor.d.ts.map +0 -1
- package/dist/tools/git-auto-monitor.js +0 -522
- package/dist/tools/git-auto-monitor.js.map +0 -1
- package/dist/tools/git-backup.d.ts +0 -105
- package/dist/tools/git-backup.d.ts.map +0 -1
- package/dist/tools/git-backup.js +0 -414
- package/dist/tools/git-backup.js.map +0 -1
- package/dist/tools/git-branches.d.ts +0 -183
- package/dist/tools/git-branches.d.ts.map +0 -1
- package/dist/tools/git-branches.js +0 -498
- package/dist/tools/git-branches.js.map +0 -1
- package/dist/tools/git-config.d.ts +0 -119
- package/dist/tools/git-config.d.ts.map +0 -1
- package/dist/tools/git-config.js +0 -449
- package/dist/tools/git-config.js.map +0 -1
- package/dist/tools/git-files.d.ts +0 -150
- package/dist/tools/git-files.d.ts.map +0 -1
- package/dist/tools/git-files.js +0 -527
- package/dist/tools/git-files.js.map +0 -1
- package/dist/tools/git-history.d.ts +0 -253
- package/dist/tools/git-history.d.ts.map +0 -1
- package/dist/tools/git-history.js +0 -824
- package/dist/tools/git-history.js.map +0 -1
- package/dist/tools/git-issues.d.ts +0 -164
- package/dist/tools/git-issues.d.ts.map +0 -1
- package/dist/tools/git-issues.js +0 -340
- package/dist/tools/git-issues.js.map +0 -1
- package/dist/tools/git-monitor.d.ts +0 -154
- package/dist/tools/git-monitor.d.ts.map +0 -1
- package/dist/tools/git-monitor.js +0 -531
- package/dist/tools/git-monitor.js.map +0 -1
- package/dist/tools/git-packages.d.ts +0 -157
- package/dist/tools/git-packages.d.ts.map +0 -1
- package/dist/tools/git-packages.js +0 -534
- package/dist/tools/git-packages.js.map +0 -1
- package/dist/tools/git-pulls.d.ts +0 -180
- package/dist/tools/git-pulls.d.ts.map +0 -1
- package/dist/tools/git-pulls.js +0 -369
- package/dist/tools/git-pulls.js.map +0 -1
- package/dist/tools/git-release.d.ts +0 -161
- package/dist/tools/git-release.d.ts.map +0 -1
- package/dist/tools/git-release.js +0 -466
- package/dist/tools/git-release.js.map +0 -1
- package/dist/tools/git-remote.d.ts +0 -128
- package/dist/tools/git-remote.d.ts.map +0 -1
- package/dist/tools/git-remote.js +0 -542
- package/dist/tools/git-remote.js.map +0 -1
- package/dist/tools/git-reset.d.ts +0 -120
- package/dist/tools/git-reset.d.ts.map +0 -1
- package/dist/tools/git-reset.js +0 -479
- package/dist/tools/git-reset.js.map +0 -1
- package/dist/tools/git-stash.d.ts +0 -124
- package/dist/tools/git-stash.d.ts.map +0 -1
- package/dist/tools/git-stash.js +0 -506
- package/dist/tools/git-stash.js.map +0 -1
- package/dist/tools/git-sync.d.ts +0 -154
- package/dist/tools/git-sync.d.ts.map +0 -1
- package/dist/tools/git-sync.js +0 -479
- package/dist/tools/git-sync.js.map +0 -1
- package/dist/tools/git-tags.d.ts +0 -136
- package/dist/tools/git-tags.d.ts.map +0 -1
- package/dist/tools/git-tags.js +0 -461
- package/dist/tools/git-tags.js.map +0 -1
- package/dist/tools/git-update.d.ts +0 -224
- package/dist/tools/git-update.d.ts.map +0 -1
- package/dist/tools/git-update.js +0 -948
- package/dist/tools/git-update.js.map +0 -1
- package/dist/tools/git-workflow.d.ts +0 -189
- package/dist/tools/git-workflow.d.ts.map +0 -1
- package/dist/tools/git-workflow.js +0 -542
- package/dist/tools/git-workflow.js.map +0 -1
- package/dist/utils/credential-manager.d.ts +0 -119
- package/dist/utils/credential-manager.d.ts.map +0 -1
- package/dist/utils/credential-manager.js +0 -450
- package/dist/utils/credential-manager.js.map +0 -1
- package/dist/utils/data-merger.d.ts +0 -49
- package/dist/utils/data-merger.d.ts.map +0 -1
- package/dist/utils/data-merger.js +0 -233
- package/dist/utils/data-merger.js.map +0 -1
- package/dist/utils/git-command-executor.d.ts +0 -330
- package/dist/utils/git-command-executor.d.ts.map +0 -1
- package/dist/utils/git-command-executor.js +0 -901
- package/dist/utils/git-command-executor.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -143
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -473
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/operation-error-handler.d.ts +0 -97
- package/dist/utils/operation-error-handler.d.ts.map +0 -1
- package/dist/utils/operation-error-handler.js +0 -367
- package/dist/utils/operation-error-handler.js.map +0 -1
- package/dist/utils/parameter-validator.d.ts +0 -49
- package/dist/utils/parameter-validator.d.ts.map +0 -1
- package/dist/utils/parameter-validator.js +0 -647
- package/dist/utils/parameter-validator.js.map +0 -1
- package/dist/utils/repository-checker.d.ts +0 -46
- package/dist/utils/repository-checker.d.ts.map +0 -1
- package/dist/utils/repository-checker.js +0 -151
- package/dist/utils/repository-checker.js.map +0 -1
- package/dist/utils/repository-detector.d.ts +0 -128
- package/dist/utils/repository-detector.d.ts.map +0 -1
- package/dist/utils/repository-detector.js +0 -422
- package/dist/utils/repository-detector.js.map +0 -1
- package/dist/utils/repository-sync.d.ts +0 -67
- package/dist/utils/repository-sync.d.ts.map +0 -1
- package/dist/utils/repository-sync.js +0 -344
- package/dist/utils/repository-sync.js.map +0 -1
- package/dist/utils/response-formatter.d.ts +0 -146
- package/dist/utils/response-formatter.d.ts.map +0 -1
- package/dist/utils/response-formatter.js +0 -378
- package/dist/utils/response-formatter.js.map +0 -1
- package/dist/utils/retry.d.ts +0 -12
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/retry.js +0 -28
- package/dist/utils/retry.js.map +0 -1
- package/dist/utils/safety-warnings.d.ts +0 -56
- package/dist/utils/safety-warnings.d.ts.map +0 -1
- package/dist/utils/safety-warnings.js +0 -330
- package/dist/utils/safety-warnings.js.map +0 -1
- package/dist/utils/terminal-controller.d.ts +0 -79
- package/dist/utils/terminal-controller.d.ts.map +0 -1
- package/dist/utils/terminal-controller.js +0 -291
- package/dist/utils/terminal-controller.js.map +0 -1
- package/dist/utils/user-friendly-formatter.d.ts +0 -45
- package/dist/utils/user-friendly-formatter.d.ts.map +0 -1
- package/dist/utils/user-friendly-formatter.js +0 -175
- 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"}
|
package/dist/tools/git-reset.js
DELETED
|
@@ -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
|