@andrebuzeli/git-mcp 5.0.5 → 5.0.6
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/LICENSE +21 -0
- package/README.md +143 -89
- package/dist/config.d.ts +72 -71
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +226 -139
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +15 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +133 -128
- package/dist/index.js.map +1 -1
- package/dist/providers/base-provider.d.ts +42 -153
- package/dist/providers/base-provider.d.ts.map +1 -1
- package/dist/providers/base-provider.js +42 -302
- package/dist/providers/base-provider.js.map +1 -1
- package/dist/providers/gitea-provider.d.ts +67 -118
- package/dist/providers/gitea-provider.d.ts.map +1 -1
- package/dist/providers/gitea-provider.js +487 -1161
- package/dist/providers/gitea-provider.js.map +1 -1
- package/dist/providers/github-provider.d.ts +70 -81
- package/dist/providers/github-provider.d.ts.map +1 -1
- package/dist/providers/github-provider.js +641 -278
- package/dist/providers/github-provider.js.map +1 -1
- package/dist/providers/index.d.ts +9 -9
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +13 -19
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/provider-factory.d.ts +29 -59
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +134 -265
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/provider-operation-handler.d.ts +93 -0
- package/dist/providers/provider-operation-handler.d.ts.map +1 -0
- package/dist/providers/provider-operation-handler.js +280 -0
- package/dist/providers/provider-operation-handler.js.map +1 -0
- package/dist/providers/types.d.ts +201 -355
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +3 -2
- package/dist/providers/types.js.map +1 -1
- package/dist/server.d.ts +34 -8
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +436 -494
- package/dist/server.js.map +1 -1
- package/dist/tools/git-analytics.d.ts +239 -16
- package/dist/tools/git-analytics.d.ts.map +1 -1
- package/dist/tools/git-analytics.js +737 -25
- package/dist/tools/git-analytics.js.map +1 -1
- package/dist/tools/git-archive.d.ts +109 -15
- package/dist/tools/git-archive.d.ts.map +1 -1
- package/dist/tools/git-archive.js +462 -10
- package/dist/tools/git-archive.js.map +1 -1
- package/dist/tools/git-backup.d.ts +101 -15
- package/dist/tools/git-backup.d.ts.map +1 -1
- package/dist/tools/git-backup.js +410 -10
- package/dist/tools/git-backup.js.map +1 -1
- package/dist/tools/git-branches.d.ts +141 -15
- package/dist/tools/git-branches.d.ts.map +1 -1
- package/dist/tools/git-branches.js +466 -11
- package/dist/tools/git-branches.js.map +1 -1
- package/dist/tools/git-config.d.ts +115 -15
- package/dist/tools/git-config.d.ts.map +1 -1
- package/dist/tools/git-config.js +446 -11
- package/dist/tools/git-config.js.map +1 -1
- package/dist/tools/git-files.d.ts +179 -59
- package/dist/tools/git-files.d.ts.map +1 -1
- package/dist/tools/git-files.js +682 -222
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-issues.d.ts +158 -15
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +323 -11
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-monitor.d.ts +149 -14
- package/dist/tools/git-monitor.d.ts.map +1 -1
- package/dist/tools/git-monitor.js +528 -11
- package/dist/tools/git-monitor.js.map +1 -1
- package/dist/tools/git-packages.d.ts +163 -15
- package/dist/tools/git-packages.d.ts.map +1 -1
- package/dist/tools/git-packages.js +526 -11
- package/dist/tools/git-packages.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +174 -15
- package/dist/tools/git-pulls.d.ts.map +1 -1
- package/dist/tools/git-pulls.js +352 -11
- package/dist/tools/git-pulls.js.map +1 -1
- package/dist/tools/git-release.d.ts +167 -15
- package/dist/tools/git-release.d.ts.map +1 -1
- package/dist/tools/git-release.js +465 -11
- package/dist/tools/git-release.js.map +1 -1
- package/dist/tools/git-remote.d.ts +124 -15
- package/dist/tools/git-remote.d.ts.map +1 -1
- package/dist/tools/git-remote.js +539 -11
- package/dist/tools/git-remote.js.map +1 -1
- package/dist/tools/git-reset.d.ts +100 -15
- package/dist/tools/git-reset.d.ts.map +1 -1
- package/dist/tools/git-reset.js +409 -11
- package/dist/tools/git-reset.js.map +1 -1
- package/dist/tools/git-stash.d.ts +120 -15
- package/dist/tools/git-stash.d.ts.map +1 -1
- package/dist/tools/git-stash.js +503 -11
- package/dist/tools/git-stash.js.map +1 -1
- package/dist/tools/git-sync.d.ts +160 -16
- package/dist/tools/git-sync.d.ts.map +1 -1
- package/dist/tools/git-sync.js +462 -113
- package/dist/tools/git-sync.js.map +1 -1
- package/dist/tools/git-tags.d.ts +142 -15
- package/dist/tools/git-tags.d.ts.map +1 -1
- package/dist/tools/git-tags.js +471 -11
- package/dist/tools/git-tags.js.map +1 -1
- package/dist/tools/git-workflow.d.ts +151 -80
- package/dist/tools/git-workflow.d.ts.map +1 -1
- package/dist/tools/git-workflow.js +407 -912
- package/dist/tools/git-workflow.js.map +1 -1
- package/dist/utils/credential-manager.d.ts +119 -0
- package/dist/utils/credential-manager.d.ts.map +1 -0
- package/dist/utils/credential-manager.js +450 -0
- package/dist/utils/credential-manager.js.map +1 -0
- package/dist/utils/git-command-executor.d.ts +326 -0
- package/dist/utils/git-command-executor.d.ts.map +1 -0
- package/dist/utils/git-command-executor.js +877 -0
- package/dist/utils/git-command-executor.js.map +1 -0
- package/dist/utils/logger.d.ts +143 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +473 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/operation-error-handler.d.ts +54 -41
- package/dist/utils/operation-error-handler.d.ts.map +1 -1
- package/dist/utils/operation-error-handler.js +211 -227
- package/dist/utils/operation-error-handler.js.map +1 -1
- package/dist/utils/parameter-validator.d.ts +41 -0
- package/dist/utils/parameter-validator.d.ts.map +1 -0
- package/dist/utils/parameter-validator.js +464 -0
- package/dist/utils/parameter-validator.js.map +1 -0
- package/dist/utils/repository-detector.d.ts +128 -0
- package/dist/utils/repository-detector.d.ts.map +1 -0
- package/dist/utils/repository-detector.js +422 -0
- package/dist/utils/repository-detector.js.map +1 -0
- package/dist/utils/response-formatter.d.ts +146 -0
- package/dist/utils/response-formatter.d.ts.map +1 -0
- package/dist/utils/response-formatter.js +378 -0
- package/dist/utils/response-formatter.js.map +1 -0
- package/dist/utils/retry.d.ts +12 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +28 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/terminal-controller.d.ts +73 -139
- package/dist/utils/terminal-controller.d.ts.map +1 -1
- package/dist/utils/terminal-controller.js +234 -459
- package/dist/utils/terminal-controller.js.map +1 -1
- package/package.json +79 -60
- package/dist/providers/error-handler.d.ts +0 -51
- package/dist/providers/error-handler.d.ts.map +0 -1
- package/dist/providers/error-handler.js +0 -176
- package/dist/providers/error-handler.js.map +0 -1
- package/dist/providers/github-provider-backup.d.ts +0 -81
- package/dist/providers/github-provider-backup.d.ts.map +0 -1
- package/dist/providers/github-provider-backup.js +0 -1179
- package/dist/providers/github-provider-backup.js.map +0 -1
- package/dist/providers/github-provider-complete.d.ts +0 -1
- package/dist/providers/github-provider-complete.d.ts.map +0 -1
- package/dist/providers/github-provider-complete.js +0 -2
- package/dist/providers/github-provider-complete.js.map +0 -1
- package/dist/tools/git-init.d.ts +0 -50
- package/dist/tools/git-init.d.ts.map +0 -1
- package/dist/tools/git-init.js +0 -258
- package/dist/tools/git-init.js.map +0 -1
- package/dist/tools/git-log.d.ts +0 -67
- package/dist/tools/git-log.d.ts.map +0 -1
- package/dist/tools/git-log.js +0 -320
- package/dist/tools/git-log.js.map +0 -1
- package/dist/tools/git-status.d.ts +0 -29
- package/dist/tools/git-status.d.ts.map +0 -1
- package/dist/tools/git-status.js +0 -182
- package/dist/tools/git-status.js.map +0 -1
- package/dist/tools/git-update.d.ts +0 -34
- package/dist/tools/git-update.d.ts.map +0 -1
- package/dist/tools/git-update.js +0 -191
- package/dist/tools/git-update.js.map +0 -1
- package/dist/utils/auto-detection.d.ts +0 -120
- package/dist/utils/auto-detection.d.ts.map +0 -1
- package/dist/utils/auto-detection.js +0 -259
- package/dist/utils/auto-detection.js.map +0 -1
- package/dist/utils/configuration-error-generator.d.ts +0 -41
- package/dist/utils/configuration-error-generator.d.ts.map +0 -1
- package/dist/utils/configuration-error-generator.js +0 -168
- package/dist/utils/configuration-error-generator.js.map +0 -1
- package/dist/utils/configuration-validator.d.ts +0 -67
- package/dist/utils/configuration-validator.d.ts.map +0 -1
- package/dist/utils/configuration-validator.js +0 -257
- package/dist/utils/configuration-validator.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -107
- package/dist/utils/error-handler.d.ts.map +0 -1
- package/dist/utils/error-handler.js +0 -331
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/git-operations.d.ts +0 -200
- package/dist/utils/git-operations.d.ts.map +0 -1
- package/dist/utils/git-operations.js +0 -836
- package/dist/utils/git-operations.js.map +0 -1
- package/dist/utils/multi-provider-error-handler.d.ts +0 -75
- package/dist/utils/multi-provider-error-handler.d.ts.map +0 -1
- package/dist/utils/multi-provider-error-handler.js +0 -276
- package/dist/utils/multi-provider-error-handler.js.map +0 -1
- package/dist/utils/multi-provider-operation-handler.d.ts +0 -113
- package/dist/utils/multi-provider-operation-handler.d.ts.map +0 -1
- package/dist/utils/multi-provider-operation-handler.js +0 -303
- package/dist/utils/multi-provider-operation-handler.js.map +0 -1
- package/dist/utils/provider-operation-handler.d.ts +0 -80
- package/dist/utils/provider-operation-handler.d.ts.map +0 -1
- package/dist/utils/provider-operation-handler.js +0 -201
- package/dist/utils/provider-operation-handler.js.map +0 -1
- package/dist/utils/response-helper.d.ts +0 -57
- package/dist/utils/response-helper.d.ts.map +0 -1
- package/dist/utils/response-helper.js +0 -54
- package/dist/utils/response-helper.js.map +0 -1
- package/dist/utils/user-detection.d.ts +0 -25
- package/dist/utils/user-detection.d.ts.map +0 -1
- package/dist/utils/user-detection.js +0 -54
- package/dist/utils/user-detection.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-analytics.js","sourceRoot":"","sources":["../../src/tools/git-analytics.ts"],"names":[],"mappings":";;;AACA,kEAAoG;AAEvF,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,uDAAuD;IACpE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE;YACtE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;KACpC;IACD,KAAK,CAAC,OAAO,CAAC,KAAU;QACtB,MAAM,SAAS,GAAG,IAAA,8BAAU,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEhD,OAAO,IAAA,2CAAuB,EAC5B,IAAI,EACJ,KAAK,CAAC,MAAM,EACZ,8BAA8B,EAC9B,SAAS,EACT,eAAe,EACf;YACE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE;gBACL,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,CAAC;gBACf,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,CAAC;aACR;YACD,OAAO,EAAE,yCAAyC;SACnD,CACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"git-analytics.js","sourceRoot":"","sources":["../../src/tools/git-analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,113 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Git Archive Tool
|
|
3
|
+
*
|
|
4
|
+
* Archive operations for Git repositories.
|
|
5
|
+
* Supports archive creation, extraction, listing, and verification.
|
|
6
|
+
*
|
|
7
|
+
* Operations: create, extract, list, verify
|
|
8
|
+
*/
|
|
9
|
+
import { ToolParams } from '../utils/parameter-validator.js';
|
|
10
|
+
import { ToolResult } from '../utils/operation-error-handler.js';
|
|
11
|
+
export interface GitArchiveParams extends ToolParams {
|
|
12
|
+
action: 'create' | 'extract' | 'list' | 'verify';
|
|
13
|
+
archivePath?: string;
|
|
14
|
+
format?: 'tar' | 'zip';
|
|
15
|
+
ref?: string;
|
|
16
|
+
prefix?: string;
|
|
17
|
+
outputPath?: string;
|
|
18
|
+
includeSubmodules?: boolean;
|
|
19
|
+
targetPath?: string;
|
|
20
|
+
overwrite?: boolean;
|
|
21
|
+
showDetails?: boolean;
|
|
22
|
+
checkIntegrity?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare class GitArchiveTool {
|
|
25
|
+
private gitExecutor;
|
|
26
|
+
private terminal;
|
|
27
|
+
constructor();
|
|
28
|
+
execute(params: GitArchiveParams): Promise<ToolResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Handle archive creation operation
|
|
31
|
+
*/
|
|
32
|
+
private handleCreate;
|
|
33
|
+
/**
|
|
34
|
+
* Handle archive extraction operation
|
|
35
|
+
*/
|
|
36
|
+
private handleExtract; /**
|
|
37
|
+
|
|
38
|
+
* Handle archive listing operation
|
|
39
|
+
*/
|
|
40
|
+
private handleList;
|
|
41
|
+
/**
|
|
42
|
+
* Handle archive verification operation
|
|
43
|
+
*/
|
|
44
|
+
private handleVerify;
|
|
45
|
+
/**
|
|
46
|
+
* Parse archive listing output
|
|
47
|
+
*/
|
|
48
|
+
private parseArchiveList;
|
|
49
|
+
/**
|
|
50
|
+
* Get tool schema for MCP registration
|
|
51
|
+
*/
|
|
52
|
+
static getToolSchema(): {
|
|
53
|
+
name: string;
|
|
54
|
+
description: string;
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: string;
|
|
57
|
+
properties: {
|
|
58
|
+
action: {
|
|
59
|
+
type: string;
|
|
60
|
+
enum: string[];
|
|
61
|
+
description: string;
|
|
62
|
+
};
|
|
63
|
+
projectPath: {
|
|
64
|
+
type: string;
|
|
65
|
+
description: string;
|
|
66
|
+
};
|
|
67
|
+
archivePath: {
|
|
68
|
+
type: string;
|
|
69
|
+
description: string;
|
|
70
|
+
};
|
|
71
|
+
format: {
|
|
72
|
+
type: string;
|
|
73
|
+
enum: string[];
|
|
74
|
+
description: string;
|
|
75
|
+
};
|
|
76
|
+
ref: {
|
|
77
|
+
type: string;
|
|
78
|
+
description: string;
|
|
79
|
+
};
|
|
80
|
+
prefix: {
|
|
81
|
+
type: string;
|
|
82
|
+
description: string;
|
|
83
|
+
};
|
|
84
|
+
outputPath: {
|
|
85
|
+
type: string;
|
|
86
|
+
description: string;
|
|
87
|
+
};
|
|
88
|
+
includeSubmodules: {
|
|
89
|
+
type: string;
|
|
90
|
+
description: string;
|
|
91
|
+
};
|
|
92
|
+
targetPath: {
|
|
93
|
+
type: string;
|
|
94
|
+
description: string;
|
|
95
|
+
};
|
|
96
|
+
overwrite: {
|
|
97
|
+
type: string;
|
|
98
|
+
description: string;
|
|
99
|
+
};
|
|
100
|
+
showDetails: {
|
|
101
|
+
type: string;
|
|
102
|
+
description: string;
|
|
103
|
+
};
|
|
104
|
+
checkIntegrity: {
|
|
105
|
+
type: string;
|
|
106
|
+
description: string;
|
|
107
|
+
};
|
|
13
108
|
};
|
|
109
|
+
required: string[];
|
|
14
110
|
};
|
|
15
|
-
required: string[];
|
|
16
111
|
};
|
|
17
|
-
|
|
18
|
-
};
|
|
112
|
+
}
|
|
19
113
|
//# sourceMappingURL=git-archive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-archive.d.ts","sourceRoot":"","sources":["../../src/tools/git-archive.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"git-archive.d.ts","sourceRoot":"","sources":["../../src/tools/git-archive.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAsB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAyB,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAKxF,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IAGjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAqB;;IAO/B,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAwD5D;;OAEG;YACW,YAAY;IA2F1B;;OAEG;YACW,aAAa,EA8GxB;;;OAGA;YACW,UAAU;IA4FxB;;OAEG;YACW,YAAY;IAqG1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;OAEG;IACH,MAAM,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DrB"}
|
|
@@ -1,14 +1,466 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Git Archive Tool
|
|
4
|
+
*
|
|
5
|
+
* Archive operations for Git repositories.
|
|
6
|
+
* Supports archive creation, extraction, listing, and verification.
|
|
7
|
+
*
|
|
8
|
+
* Operations: create, extract, list, verify
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
exports.GitArchiveTool = void 0;
|
|
15
|
+
const git_command_executor_js_1 = require("../utils/git-command-executor.js");
|
|
16
|
+
const terminal_controller_js_1 = require("../utils/terminal-controller.js");
|
|
17
|
+
const parameter_validator_js_1 = require("../utils/parameter-validator.js");
|
|
18
|
+
const operation_error_handler_js_1 = require("../utils/operation-error-handler.js");
|
|
19
|
+
const path_1 = __importDefault(require("path"));
|
|
20
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
21
|
+
const fs_1 = require("fs");
|
|
22
|
+
class GitArchiveTool {
|
|
23
|
+
gitExecutor;
|
|
24
|
+
terminal;
|
|
25
|
+
constructor() {
|
|
26
|
+
this.gitExecutor = new git_command_executor_js_1.GitCommandExecutor();
|
|
27
|
+
this.terminal = new terminal_controller_js_1.TerminalController();
|
|
12
28
|
}
|
|
13
|
-
|
|
29
|
+
async execute(params) {
|
|
30
|
+
const startTime = Date.now();
|
|
31
|
+
try {
|
|
32
|
+
// Validate required parameters
|
|
33
|
+
const validation = parameter_validator_js_1.ParameterValidator.validateToolParams('git-archive', params);
|
|
34
|
+
if (!validation.isValid) {
|
|
35
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('VALIDATION_ERROR', `Validation failed: ${validation.errors.join(', ')}`, 'archive', { errors: validation.errors }, validation.suggestions);
|
|
36
|
+
}
|
|
37
|
+
// Validate project path exists
|
|
38
|
+
if (!(0, fs_1.existsSync)(params.projectPath)) {
|
|
39
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('PROJECT_NOT_FOUND', `Project path does not exist: ${params.projectPath}`, 'archive', { projectPath: params.projectPath }, ['Ensure the project path exists and is accessible']);
|
|
40
|
+
}
|
|
41
|
+
switch (params.action) {
|
|
42
|
+
case 'create':
|
|
43
|
+
return await this.handleCreate(params, startTime);
|
|
44
|
+
case 'extract':
|
|
45
|
+
return await this.handleExtract(params, startTime);
|
|
46
|
+
case 'list':
|
|
47
|
+
return await this.handleList(params, startTime);
|
|
48
|
+
case 'verify':
|
|
49
|
+
return await this.handleVerify(params, startTime);
|
|
50
|
+
default:
|
|
51
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('INVALID_ACTION', `Invalid action: ${params.action}`, params.action, {}, ['Use one of: create, extract, list, verify']);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
56
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('ARCHIVE_TOOL_ERROR', `Git archive tool error: ${errorMessage}`, 'archive', { error: errorMessage });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Handle archive creation operation
|
|
61
|
+
*/
|
|
62
|
+
async handleCreate(params, startTime) {
|
|
63
|
+
try {
|
|
64
|
+
// Check if it's a Git repository
|
|
65
|
+
const isGitRepo = await this.gitExecutor.isGitRepository(params.projectPath);
|
|
66
|
+
if (!isGitRepo) {
|
|
67
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('NOT_GIT_REPOSITORY', 'Project is not a Git repository', 'create', { projectPath: params.projectPath }, ['Initialize Git repository with: git init']);
|
|
68
|
+
}
|
|
69
|
+
// Generate archive path if not provided
|
|
70
|
+
if (!params.archivePath && !params.outputPath) {
|
|
71
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
72
|
+
const repoName = path_1.default.basename(params.projectPath);
|
|
73
|
+
const format = params.format || 'tar';
|
|
74
|
+
const extension = format === 'zip' ? 'zip' : 'tar.gz';
|
|
75
|
+
params.archivePath = path_1.default.join(params.projectPath, '..', `${repoName}-archive-${timestamp}.${extension}`);
|
|
76
|
+
}
|
|
77
|
+
const outputPath = params.outputPath || params.archivePath;
|
|
78
|
+
const format = params.format || 'tar';
|
|
79
|
+
const ref = params.ref || 'HEAD';
|
|
80
|
+
// Ensure output directory exists
|
|
81
|
+
const outputDir = path_1.default.dirname(outputPath);
|
|
82
|
+
await promises_1.default.mkdir(outputDir, { recursive: true });
|
|
83
|
+
// Build git archive command
|
|
84
|
+
const args = ['--format', format === 'zip' ? 'zip' : 'tar.gz'];
|
|
85
|
+
if (params.prefix) {
|
|
86
|
+
args.push('--prefix', params.prefix);
|
|
87
|
+
}
|
|
88
|
+
args.push('--output', outputPath, ref);
|
|
89
|
+
// Execute git archive command
|
|
90
|
+
const result = await this.gitExecutor.executeGitCommand('archive', args, params.projectPath);
|
|
91
|
+
if (!result.success) {
|
|
92
|
+
return operation_error_handler_js_1.OperationErrorHandler.handleGitError(result.stderr, 'create', params.projectPath);
|
|
93
|
+
}
|
|
94
|
+
// Get archive file stats
|
|
95
|
+
const stats = await promises_1.default.stat(outputPath);
|
|
96
|
+
// Create archive metadata
|
|
97
|
+
const metadata = {
|
|
98
|
+
path: outputPath,
|
|
99
|
+
format,
|
|
100
|
+
ref,
|
|
101
|
+
prefix: params.prefix,
|
|
102
|
+
size: stats.size,
|
|
103
|
+
created: stats.birthtime.toISOString(),
|
|
104
|
+
repository: path_1.default.basename(params.projectPath),
|
|
105
|
+
includeSubmodules: params.includeSubmodules || false
|
|
106
|
+
};
|
|
107
|
+
// Save metadata file
|
|
108
|
+
const metadataPath = `${outputPath}.meta.json`;
|
|
109
|
+
await promises_1.default.writeFile(metadataPath, JSON.stringify(metadata, null, 2));
|
|
110
|
+
return {
|
|
111
|
+
success: true,
|
|
112
|
+
data: {
|
|
113
|
+
message: 'Archive created successfully',
|
|
114
|
+
archive: metadata,
|
|
115
|
+
output: result.stdout
|
|
116
|
+
},
|
|
117
|
+
metadata: {
|
|
118
|
+
operation: 'create',
|
|
119
|
+
timestamp: new Date().toISOString(),
|
|
120
|
+
executionTime: Date.now() - startTime
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
126
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('ARCHIVE_CREATE_ERROR', `Failed to create archive: ${errorMessage}`, 'create', { error: errorMessage, archivePath: params.archivePath });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Handle archive extraction operation
|
|
131
|
+
*/
|
|
132
|
+
async handleExtract(params, startTime) {
|
|
133
|
+
try {
|
|
134
|
+
if (!params.archivePath) {
|
|
135
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('MISSING_ARCHIVE_PATH', 'Archive path is required for extract operation', 'extract', {}, ['Provide archivePath parameter with the path to the archive file']);
|
|
136
|
+
}
|
|
137
|
+
// Check if archive file exists
|
|
138
|
+
if (!(0, fs_1.existsSync)(params.archivePath)) {
|
|
139
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('ARCHIVE_NOT_FOUND', `Archive file not found: ${params.archivePath}`, 'extract', { archivePath: params.archivePath }, ['Ensure the archive file exists and path is correct']);
|
|
140
|
+
}
|
|
141
|
+
const targetPath = params.targetPath || params.projectPath;
|
|
142
|
+
// Check if target directory exists and handle overwrite
|
|
143
|
+
if ((0, fs_1.existsSync)(targetPath) && !params.overwrite) {
|
|
144
|
+
const files = await promises_1.default.readdir(targetPath);
|
|
145
|
+
if (files.length > 0) {
|
|
146
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('TARGET_NOT_EMPTY', `Target directory is not empty: ${targetPath}`, 'extract', { targetPath }, ['Use overwrite: true to overwrite existing files', 'Choose an empty target directory']);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Ensure target directory exists
|
|
150
|
+
await promises_1.default.mkdir(targetPath, { recursive: true });
|
|
151
|
+
// Determine archive format from file extension
|
|
152
|
+
const isZip = params.archivePath.endsWith('.zip');
|
|
153
|
+
const format = isZip ? 'zip' : 'tar';
|
|
154
|
+
// Extract archive
|
|
155
|
+
let result;
|
|
156
|
+
if (format === 'zip') {
|
|
157
|
+
// Use unzip command for zip files
|
|
158
|
+
const args = params.overwrite ? ['-o', params.archivePath, '-d', targetPath] : [params.archivePath, '-d', targetPath];
|
|
159
|
+
result = await this.terminal.executeCommand('unzip', args);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// Use tar command for tar.gz files
|
|
163
|
+
const args = ['-xzf', params.archivePath, '-C', targetPath];
|
|
164
|
+
if (params.overwrite) {
|
|
165
|
+
args.push('--overwrite');
|
|
166
|
+
}
|
|
167
|
+
result = await this.terminal.executeCommand('tar', args);
|
|
168
|
+
}
|
|
169
|
+
if (!result.success) {
|
|
170
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('EXTRACT_ERROR', `Failed to extract archive: ${result.stderr}`, 'extract', { archivePath: params.archivePath, targetPath });
|
|
171
|
+
}
|
|
172
|
+
// Load archive metadata if available
|
|
173
|
+
const metadataPath = `${params.archivePath}.meta.json`;
|
|
174
|
+
let metadata = null;
|
|
175
|
+
if ((0, fs_1.existsSync)(metadataPath)) {
|
|
176
|
+
try {
|
|
177
|
+
const metadataContent = await promises_1.default.readFile(metadataPath, 'utf-8');
|
|
178
|
+
metadata = JSON.parse(metadataContent);
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
// Metadata file exists but couldn't be parsed, continue without it
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
success: true,
|
|
186
|
+
data: {
|
|
187
|
+
message: 'Archive extracted successfully',
|
|
188
|
+
archivePath: params.archivePath,
|
|
189
|
+
targetPath,
|
|
190
|
+
format,
|
|
191
|
+
metadata,
|
|
192
|
+
output: result.stdout
|
|
193
|
+
},
|
|
194
|
+
metadata: {
|
|
195
|
+
operation: 'extract',
|
|
196
|
+
timestamp: new Date().toISOString(),
|
|
197
|
+
executionTime: Date.now() - startTime
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
203
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('EXTRACT_ERROR', `Failed to extract archive: ${errorMessage}`, 'extract', { error: errorMessage, archivePath: params.archivePath });
|
|
204
|
+
}
|
|
205
|
+
} /**
|
|
206
|
+
|
|
207
|
+
* Handle archive listing operation
|
|
208
|
+
*/
|
|
209
|
+
async handleList(params, startTime) {
|
|
210
|
+
try {
|
|
211
|
+
if (!params.archivePath) {
|
|
212
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('MISSING_ARCHIVE_PATH', 'Archive path is required for list operation', 'list', {}, ['Provide archivePath parameter with the path to the archive file']);
|
|
213
|
+
}
|
|
214
|
+
if (!(0, fs_1.existsSync)(params.archivePath)) {
|
|
215
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('ARCHIVE_NOT_FOUND', `Archive file not found: ${params.archivePath}`, 'list', { archivePath: params.archivePath }, ['Ensure the archive file exists and path is correct']);
|
|
216
|
+
}
|
|
217
|
+
// Determine archive format from file extension
|
|
218
|
+
const isZip = params.archivePath.endsWith('.zip');
|
|
219
|
+
const format = isZip ? 'zip' : 'tar';
|
|
220
|
+
// List archive contents
|
|
221
|
+
let result;
|
|
222
|
+
if (format === 'zip') {
|
|
223
|
+
// Use unzip to list zip contents
|
|
224
|
+
const args = params.showDetails ? ['-l', params.archivePath] : ['-Z1', params.archivePath];
|
|
225
|
+
result = await this.terminal.executeCommand('unzip', args);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
// Use tar to list tar.gz contents
|
|
229
|
+
const args = params.showDetails ? ['-tvzf', params.archivePath] : ['-tzf', params.archivePath];
|
|
230
|
+
result = await this.terminal.executeCommand('tar', args);
|
|
231
|
+
}
|
|
232
|
+
if (!result.success) {
|
|
233
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('LIST_ERROR', `Failed to list archive contents: ${result.stderr}`, 'list', { archivePath: params.archivePath });
|
|
234
|
+
}
|
|
235
|
+
// Parse the output to extract file information
|
|
236
|
+
const files = this.parseArchiveList(result.stdout, format, params.showDetails || false);
|
|
237
|
+
// Load archive metadata if available
|
|
238
|
+
const metadataPath = `${params.archivePath}.meta.json`;
|
|
239
|
+
let metadata = null;
|
|
240
|
+
if ((0, fs_1.existsSync)(metadataPath)) {
|
|
241
|
+
try {
|
|
242
|
+
const metadataContent = await promises_1.default.readFile(metadataPath, 'utf-8');
|
|
243
|
+
metadata = JSON.parse(metadataContent);
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
// Continue without metadata if parsing fails
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return {
|
|
250
|
+
success: true,
|
|
251
|
+
data: {
|
|
252
|
+
message: `Archive contains ${files.length} file(s)`,
|
|
253
|
+
archivePath: params.archivePath,
|
|
254
|
+
format,
|
|
255
|
+
files,
|
|
256
|
+
metadata,
|
|
257
|
+
rawOutput: result.stdout
|
|
258
|
+
},
|
|
259
|
+
metadata: {
|
|
260
|
+
operation: 'list',
|
|
261
|
+
timestamp: new Date().toISOString(),
|
|
262
|
+
executionTime: Date.now() - startTime
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
268
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('LIST_ERROR', `Failed to list archive: ${errorMessage}`, 'list', { error: errorMessage, archivePath: params.archivePath });
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Handle archive verification operation
|
|
273
|
+
*/
|
|
274
|
+
async handleVerify(params, startTime) {
|
|
275
|
+
try {
|
|
276
|
+
if (!params.archivePath) {
|
|
277
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('MISSING_ARCHIVE_PATH', 'Archive path is required for verify operation', 'verify', {}, ['Provide archivePath parameter with the path to the archive file']);
|
|
278
|
+
}
|
|
279
|
+
if (!(0, fs_1.existsSync)(params.archivePath)) {
|
|
280
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('ARCHIVE_NOT_FOUND', `Archive file not found: ${params.archivePath}`, 'verify', { archivePath: params.archivePath }, ['Ensure the archive file exists and path is correct']);
|
|
281
|
+
}
|
|
282
|
+
const stats = await promises_1.default.stat(params.archivePath);
|
|
283
|
+
const isZip = params.archivePath.endsWith('.zip');
|
|
284
|
+
const format = isZip ? 'zip' : 'tar';
|
|
285
|
+
// Basic file verification
|
|
286
|
+
const verification = {
|
|
287
|
+
exists: true,
|
|
288
|
+
readable: true,
|
|
289
|
+
size: stats.size,
|
|
290
|
+
format,
|
|
291
|
+
created: stats.birthtime.toISOString(),
|
|
292
|
+
modified: stats.mtime.toISOString(),
|
|
293
|
+
integrity: 'unknown'
|
|
294
|
+
};
|
|
295
|
+
// Test archive integrity if requested
|
|
296
|
+
if (params.checkIntegrity) {
|
|
297
|
+
let result;
|
|
298
|
+
if (format === 'zip') {
|
|
299
|
+
// Test zip file integrity
|
|
300
|
+
result = await this.terminal.executeCommand('unzip', ['-t', params.archivePath]);
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
// Test tar.gz file integrity
|
|
304
|
+
result = await this.terminal.executeCommand('tar', ['-tzf', params.archivePath]);
|
|
305
|
+
}
|
|
306
|
+
verification.integrity = result.success ? 'valid' : 'invalid';
|
|
307
|
+
}
|
|
308
|
+
// Load and verify metadata if available
|
|
309
|
+
const metadataPath = `${params.archivePath}.meta.json`;
|
|
310
|
+
let metadata = null;
|
|
311
|
+
let metadataValid = false;
|
|
312
|
+
if ((0, fs_1.existsSync)(metadataPath)) {
|
|
313
|
+
try {
|
|
314
|
+
const metadataContent = await promises_1.default.readFile(metadataPath, 'utf-8');
|
|
315
|
+
metadata = JSON.parse(metadataContent);
|
|
316
|
+
metadataValid = true;
|
|
317
|
+
// Verify metadata consistency
|
|
318
|
+
if (metadata.size !== stats.size) {
|
|
319
|
+
metadataValid = false;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
catch (error) {
|
|
323
|
+
metadataValid = false;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
const isValid = verification.integrity !== 'invalid' &&
|
|
327
|
+
(metadata ? metadataValid : true);
|
|
328
|
+
return {
|
|
329
|
+
success: true,
|
|
330
|
+
data: {
|
|
331
|
+
message: isValid ? 'Archive verification passed' : 'Archive verification failed',
|
|
332
|
+
valid: isValid,
|
|
333
|
+
verification,
|
|
334
|
+
metadata: metadata ? { ...metadata, valid: metadataValid } : null
|
|
335
|
+
},
|
|
336
|
+
metadata: {
|
|
337
|
+
operation: 'verify',
|
|
338
|
+
timestamp: new Date().toISOString(),
|
|
339
|
+
executionTime: Date.now() - startTime
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
345
|
+
return operation_error_handler_js_1.OperationErrorHandler.createToolError('VERIFY_ERROR', `Failed to verify archive: ${errorMessage}`, 'verify', { error: errorMessage, archivePath: params.archivePath });
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Parse archive listing output
|
|
350
|
+
*/
|
|
351
|
+
parseArchiveList(output, format, showDetails) {
|
|
352
|
+
const lines = output.trim().split('\n').filter(line => line.trim());
|
|
353
|
+
const files = [];
|
|
354
|
+
for (const line of lines) {
|
|
355
|
+
if (format === 'zip') {
|
|
356
|
+
if (showDetails) {
|
|
357
|
+
// Parse detailed zip listing (unzip -l format)
|
|
358
|
+
const match = line.match(/^\s*(\d+)\s+(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2})\s+(.+)$/);
|
|
359
|
+
if (match) {
|
|
360
|
+
files.push({
|
|
361
|
+
name: match[4],
|
|
362
|
+
size: parseInt(match[1]),
|
|
363
|
+
date: match[2],
|
|
364
|
+
time: match[3]
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
// Simple file listing
|
|
370
|
+
if (line.trim() && !line.includes('Archive:') && !line.includes('Length')) {
|
|
371
|
+
files.push({ name: line.trim() });
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
// tar format
|
|
377
|
+
if (showDetails) {
|
|
378
|
+
// Parse detailed tar listing (tar -tvzf format)
|
|
379
|
+
const match = line.match(/^([drwx-]+)\s+\S+\s+\S+\s+(\d+)\s+(.+?)\s+(.+)$/);
|
|
380
|
+
if (match) {
|
|
381
|
+
files.push({
|
|
382
|
+
name: match[4],
|
|
383
|
+
permissions: match[1],
|
|
384
|
+
size: parseInt(match[2]),
|
|
385
|
+
date: match[3]
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
// Simple file listing
|
|
391
|
+
if (line.trim()) {
|
|
392
|
+
files.push({ name: line.trim() });
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
return files;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Get tool schema for MCP registration
|
|
401
|
+
*/
|
|
402
|
+
static getToolSchema() {
|
|
403
|
+
return {
|
|
404
|
+
name: 'git-archive',
|
|
405
|
+
description: 'Archive operations for Git repositories. Supports archive creation, extraction, listing, and verification.',
|
|
406
|
+
inputSchema: {
|
|
407
|
+
type: 'object',
|
|
408
|
+
properties: {
|
|
409
|
+
action: {
|
|
410
|
+
type: 'string',
|
|
411
|
+
enum: ['create', 'extract', 'list', 'verify'],
|
|
412
|
+
description: 'The archive operation to perform'
|
|
413
|
+
},
|
|
414
|
+
projectPath: {
|
|
415
|
+
type: 'string',
|
|
416
|
+
description: 'Path to the Git repository (required)'
|
|
417
|
+
},
|
|
418
|
+
archivePath: {
|
|
419
|
+
type: 'string',
|
|
420
|
+
description: 'Path to the archive file'
|
|
421
|
+
},
|
|
422
|
+
format: {
|
|
423
|
+
type: 'string',
|
|
424
|
+
enum: ['tar', 'zip'],
|
|
425
|
+
description: 'Archive format (default: tar)'
|
|
426
|
+
},
|
|
427
|
+
ref: {
|
|
428
|
+
type: 'string',
|
|
429
|
+
description: 'Git reference to archive (branch, tag, commit, default: HEAD)'
|
|
430
|
+
},
|
|
431
|
+
prefix: {
|
|
432
|
+
type: 'string',
|
|
433
|
+
description: 'Prefix for archive contents'
|
|
434
|
+
},
|
|
435
|
+
outputPath: {
|
|
436
|
+
type: 'string',
|
|
437
|
+
description: 'Output path for archive creation'
|
|
438
|
+
},
|
|
439
|
+
includeSubmodules: {
|
|
440
|
+
type: 'boolean',
|
|
441
|
+
description: 'Include submodules in archive (default: false)'
|
|
442
|
+
},
|
|
443
|
+
targetPath: {
|
|
444
|
+
type: 'string',
|
|
445
|
+
description: 'Target path for extraction'
|
|
446
|
+
},
|
|
447
|
+
overwrite: {
|
|
448
|
+
type: 'boolean',
|
|
449
|
+
description: 'Overwrite existing files during extraction (default: false)'
|
|
450
|
+
},
|
|
451
|
+
showDetails: {
|
|
452
|
+
type: 'boolean',
|
|
453
|
+
description: 'Show detailed file information when listing (default: false)'
|
|
454
|
+
},
|
|
455
|
+
checkIntegrity: {
|
|
456
|
+
type: 'boolean',
|
|
457
|
+
description: 'Check archive integrity during verification (default: false)'
|
|
458
|
+
}
|
|
459
|
+
},
|
|
460
|
+
required: ['action', 'projectPath']
|
|
461
|
+
}
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
exports.GitArchiveTool = GitArchiveTool;
|
|
14
466
|
//# sourceMappingURL=git-archive.js.map
|