mcp-adr-analysis-server 2.0.10 โ 2.0.12
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 +1 -1
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +340 -492
- package/dist/src/index.js.map +1 -1
- package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
- package/dist/src/prompts/adr-suggestion-prompts.js +2 -0
- package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.d.ts +16 -0
- package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.js +55 -2
- package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
- package/dist/src/tools/smart-git-push-tool-v2.d.ts +55 -0
- package/dist/src/tools/smart-git-push-tool-v2.d.ts.map +1 -0
- package/dist/src/tools/smart-git-push-tool-v2.js +527 -0
- package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -0
- package/dist/src/tools/smart-git-push-tool.d.ts +27 -3
- package/dist/src/tools/smart-git-push-tool.d.ts.map +1 -1
- package/dist/src/tools/smart-git-push-tool.js +490 -10
- package/dist/src/tools/smart-git-push-tool.js.map +1 -1
- package/dist/src/tools/smart-score-tool.d.ts +39 -4
- package/dist/src/tools/smart-score-tool.d.ts.map +1 -1
- package/dist/src/tools/smart-score-tool.js +94 -15
- package/dist/src/tools/smart-score-tool.js.map +1 -1
- package/dist/src/tools/todo-management-tool-v2.d.ts +329 -0
- package/dist/src/tools/todo-management-tool-v2.d.ts.map +1 -0
- package/dist/src/tools/todo-management-tool-v2.js +644 -0
- package/dist/src/tools/todo-management-tool-v2.js.map +1 -0
- package/dist/src/tools/tool-chain-orchestrator.d.ts +3 -41
- package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
- package/dist/src/tools/tool-chain-orchestrator.js +10 -198
- package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
- package/dist/src/types/conversation-context.d.ts +6 -0
- package/dist/src/types/conversation-context.d.ts.map +1 -1
- package/dist/src/types/conversation-context.js +9 -1
- package/dist/src/types/conversation-context.js.map +1 -1
- package/dist/src/types/knowledge-graph-schemas.d.ts +298 -6
- package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -1
- package/dist/src/types/knowledge-graph-schemas.js +31 -3
- package/dist/src/types/knowledge-graph-schemas.js.map +1 -1
- package/dist/src/types/todo-json-schemas.d.ts +663 -0
- package/dist/src/types/todo-json-schemas.d.ts.map +1 -0
- package/dist/src/types/todo-json-schemas.js +113 -0
- package/dist/src/types/todo-json-schemas.js.map +1 -0
- package/dist/src/utils/chain-of-thought-template.d.ts.map +1 -1
- package/dist/src/utils/chain-of-thought-template.js.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.d.ts +50 -0
- package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.js +209 -3
- package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
- package/dist/src/utils/project-health-scoring.js +5 -5
- package/dist/src/utils/project-health-scoring.js.map +1 -1
- package/dist/src/utils/todo-json-manager.d.ts +71 -0
- package/dist/src/utils/todo-json-manager.d.ts.map +1 -0
- package/dist/src/utils/todo-json-manager.js +394 -0
- package/dist/src/utils/todo-json-manager.js.map +1 -0
- package/dist/src/utils/todo-markdown-converter.d.ts +16 -0
- package/dist/src/utils/todo-markdown-converter.d.ts.map +1 -0
- package/dist/src/utils/todo-markdown-converter.js +362 -0
- package/dist/src/utils/todo-markdown-converter.js.map +1 -0
- package/dist/src/utils/todo-migration.d.ts +47 -0
- package/dist/src/utils/todo-migration.d.ts.map +1 -0
- package/dist/src/utils/todo-migration.js +261 -0
- package/dist/src/utils/todo-migration.js.map +1 -0
- package/package.json +1 -1
- package/dist/src/tools/human-override-tool.d.ts +0 -42
- package/dist/src/tools/human-override-tool.d.ts.map +0 -1
- package/dist/src/tools/human-override-tool.js +0 -431
- package/dist/src/tools/human-override-tool.js.map +0 -1
- package/dist/src/tools/todo-management-tool.d.ts +0 -344
- package/dist/src/tools/todo-management-tool.d.ts.map +0 -1
- package/dist/src/tools/todo-management-tool.js +0 -1249
- package/dist/src/tools/todo-management-tool.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adr-suggestion-tool.js","sourceRoot":"","sources":["../../../src/tools/adr-suggestion-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adr-suggestion-tool.js","sourceRoot":"","sources":["../../../src/tools/adr-suggestion-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart Git Push MCP Tool - Version 2.0 (Clean)
|
|
3
|
+
*
|
|
4
|
+
* A focused git push tool that ensures security and tracks deployment readiness
|
|
5
|
+
*
|
|
6
|
+
* IMPORTANT FOR AI ASSISTANTS: This tool focuses on:
|
|
7
|
+
* 1. Security: Preventing credential leaks and sensitive data exposure
|
|
8
|
+
* 2. Repository Hygiene: Blocking irrelevant files (temp, build artifacts)
|
|
9
|
+
* 3. Deployment Readiness: Tracking real metrics (test failures, deploy success rate)
|
|
10
|
+
*
|
|
11
|
+
* Cache Dependencies:
|
|
12
|
+
* - CREATES/UPDATES: .mcp-adr-cache/deploy-history.json (deployment metrics)
|
|
13
|
+
* - USES: Enhanced sensitive detector for security scanning
|
|
14
|
+
*
|
|
15
|
+
* This tool does NOT:
|
|
16
|
+
* - Analyze architectural compliance
|
|
17
|
+
* - Update TODO tasks
|
|
18
|
+
* - Check knowledge graph intents
|
|
19
|
+
* - Make complex AI decisions
|
|
20
|
+
*
|
|
21
|
+
* Use this tool for safe, metric-driven git pushes.
|
|
22
|
+
*/
|
|
23
|
+
interface SmartGitPushArgs {
|
|
24
|
+
branch?: string;
|
|
25
|
+
message?: string;
|
|
26
|
+
testResults?: TestResults;
|
|
27
|
+
skipSecurity?: boolean;
|
|
28
|
+
dryRun?: boolean;
|
|
29
|
+
projectPath?: string;
|
|
30
|
+
forceUnsafe?: boolean;
|
|
31
|
+
}
|
|
32
|
+
interface TestResults {
|
|
33
|
+
success: boolean;
|
|
34
|
+
testsRun: number;
|
|
35
|
+
testsPassed: number;
|
|
36
|
+
testsFailed: number;
|
|
37
|
+
duration?: number;
|
|
38
|
+
command?: string;
|
|
39
|
+
output?: string;
|
|
40
|
+
failureDetails?: string[];
|
|
41
|
+
testTypes?: Record<string, {
|
|
42
|
+
passed: number;
|
|
43
|
+
failed: number;
|
|
44
|
+
}>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Exported smart git push function
|
|
48
|
+
*/
|
|
49
|
+
export declare function smartGitPush(args: SmartGitPushArgs): Promise<any>;
|
|
50
|
+
/**
|
|
51
|
+
* MCP-safe wrapper
|
|
52
|
+
*/
|
|
53
|
+
export declare function smartGitPushMcpSafe(args: SmartGitPushArgs): Promise<any>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=smart-git-push-tool-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-git-push-tool-v2.d.ts","sourceRoot":"","sources":["../../../src/tools/smart-git-push-tool-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAwoBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAGvE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAa9E"}
|
|
@@ -0,0 +1,527 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart Git Push MCP Tool - Version 2.0 (Clean)
|
|
3
|
+
*
|
|
4
|
+
* A focused git push tool that ensures security and tracks deployment readiness
|
|
5
|
+
*
|
|
6
|
+
* IMPORTANT FOR AI ASSISTANTS: This tool focuses on:
|
|
7
|
+
* 1. Security: Preventing credential leaks and sensitive data exposure
|
|
8
|
+
* 2. Repository Hygiene: Blocking irrelevant files (temp, build artifacts)
|
|
9
|
+
* 3. Deployment Readiness: Tracking real metrics (test failures, deploy success rate)
|
|
10
|
+
*
|
|
11
|
+
* Cache Dependencies:
|
|
12
|
+
* - CREATES/UPDATES: .mcp-adr-cache/deploy-history.json (deployment metrics)
|
|
13
|
+
* - USES: Enhanced sensitive detector for security scanning
|
|
14
|
+
*
|
|
15
|
+
* This tool does NOT:
|
|
16
|
+
* - Analyze architectural compliance
|
|
17
|
+
* - Update TODO tasks
|
|
18
|
+
* - Check knowledge graph intents
|
|
19
|
+
* - Make complex AI decisions
|
|
20
|
+
*
|
|
21
|
+
* Use this tool for safe, metric-driven git pushes.
|
|
22
|
+
*/
|
|
23
|
+
import { McpAdrError } from '../types/index.js';
|
|
24
|
+
import { execSync } from 'child_process';
|
|
25
|
+
import { readFileSync, writeFileSync, existsSync, statSync, mkdirSync } from 'fs';
|
|
26
|
+
import { join, extname } from 'path';
|
|
27
|
+
import { jsonSafeFilePath, jsonSafeError, jsonSafeUserInput } from '../utils/json-safe.js';
|
|
28
|
+
import { validateMcpResponse } from '../utils/mcp-response-validator.js';
|
|
29
|
+
/**
|
|
30
|
+
* Main smart git push function - Security and Metrics Focused
|
|
31
|
+
*/
|
|
32
|
+
async function smartGitPushV2(args) {
|
|
33
|
+
const { branch, message, testResults, skipSecurity = false, dryRun = false, projectPath = process.cwd(), forceUnsafe = false } = args;
|
|
34
|
+
try {
|
|
35
|
+
// Step 1: Get staged files
|
|
36
|
+
const stagedFiles = await getStagedFiles(projectPath);
|
|
37
|
+
if (stagedFiles.length === 0) {
|
|
38
|
+
const metricsText = await getDeploymentMetricsSummary(projectPath);
|
|
39
|
+
return {
|
|
40
|
+
content: [{
|
|
41
|
+
type: 'text',
|
|
42
|
+
text: createNoChangesResponse(metricsText)
|
|
43
|
+
}]
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// Step 2: Security scan (unless skipped)
|
|
47
|
+
let securityIssues = [];
|
|
48
|
+
if (!skipSecurity) {
|
|
49
|
+
securityIssues = await scanForSecurityIssues(stagedFiles, projectPath);
|
|
50
|
+
}
|
|
51
|
+
// Step 3: Check for irrelevant files
|
|
52
|
+
const irrelevantFiles = await checkIrrelevantFiles(stagedFiles);
|
|
53
|
+
// Step 4: Check blocking conditions
|
|
54
|
+
const hasCriticalSecurity = securityIssues.some(issue => issue.severity === 'critical');
|
|
55
|
+
const hasFailedTests = testResults && !testResults.success;
|
|
56
|
+
const shouldBlock = (hasCriticalSecurity || hasFailedTests) && !forceUnsafe;
|
|
57
|
+
if (shouldBlock) {
|
|
58
|
+
return {
|
|
59
|
+
content: [{
|
|
60
|
+
type: 'text',
|
|
61
|
+
text: generateBlockedResponse(securityIssues, irrelevantFiles, testResults)
|
|
62
|
+
}]
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// Step 5: Execute push if not dry run
|
|
66
|
+
if (!dryRun) {
|
|
67
|
+
const pushResult = await executePush(projectPath, branch, message);
|
|
68
|
+
// Update deployment history
|
|
69
|
+
await updateDeploymentHistory(projectPath, {
|
|
70
|
+
success: true,
|
|
71
|
+
...(testResults && { testResults }),
|
|
72
|
+
filesChanged: stagedFiles.length
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
content: [{
|
|
76
|
+
type: 'text',
|
|
77
|
+
text: generateSuccessResponse(stagedFiles, securityIssues, irrelevantFiles, testResults, pushResult, branch)
|
|
78
|
+
}]
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// Dry run response
|
|
83
|
+
return {
|
|
84
|
+
content: [{
|
|
85
|
+
type: 'text',
|
|
86
|
+
text: generateDryRunResponse(stagedFiles, securityIssues, irrelevantFiles, testResults, branch)
|
|
87
|
+
}]
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
// Update deployment history with failure
|
|
93
|
+
await updateDeploymentHistory(projectPath, {
|
|
94
|
+
success: false,
|
|
95
|
+
testResults: testResults || { success: false, testsRun: 0, testsPassed: 0, testsFailed: 0 },
|
|
96
|
+
filesChanged: 0
|
|
97
|
+
});
|
|
98
|
+
throw new McpAdrError('Smart git push failed: ' + jsonSafeError(error), 'GIT_PUSH_ERROR');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get staged files
|
|
103
|
+
*/
|
|
104
|
+
async function getStagedFiles(projectPath) {
|
|
105
|
+
try {
|
|
106
|
+
const gitOutput = execSync('git diff --cached --name-status', {
|
|
107
|
+
cwd: projectPath,
|
|
108
|
+
encoding: 'utf8'
|
|
109
|
+
});
|
|
110
|
+
if (!gitOutput.trim()) {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
const files = [];
|
|
114
|
+
const lines = gitOutput.trim().split('\n');
|
|
115
|
+
for (const line of lines) {
|
|
116
|
+
const [status, ...pathParts] = line.split('\t');
|
|
117
|
+
const path = pathParts.join('\t');
|
|
118
|
+
const fullPath = join(projectPath, path);
|
|
119
|
+
let content;
|
|
120
|
+
let size = 0;
|
|
121
|
+
if (status !== 'D' && existsSync(fullPath)) {
|
|
122
|
+
try {
|
|
123
|
+
const stats = statSync(fullPath);
|
|
124
|
+
size = stats.size;
|
|
125
|
+
// Only read content for small text files (< 100KB)
|
|
126
|
+
if (size < 100 * 1024 && isTextFile(path)) {
|
|
127
|
+
content = readFileSync(fullPath, 'utf8');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
// Ignore read errors
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
files.push({
|
|
135
|
+
path,
|
|
136
|
+
status: mapGitStatus(status || 'M'),
|
|
137
|
+
content: content || '',
|
|
138
|
+
size
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return files;
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
throw new McpAdrError('Failed to get staged files: ' + jsonSafeError(error), 'GIT_STATUS_ERROR');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Scan for security issues
|
|
149
|
+
*/
|
|
150
|
+
async function scanForSecurityIssues(files, _projectPath) {
|
|
151
|
+
const issues = [];
|
|
152
|
+
try {
|
|
153
|
+
const { analyzeSensitiveContent } = await import('../utils/enhanced-sensitive-detector.js');
|
|
154
|
+
for (const file of files) {
|
|
155
|
+
if (file.status === 'deleted' || !file.content)
|
|
156
|
+
continue;
|
|
157
|
+
const result = await analyzeSensitiveContent(file.path, file.content);
|
|
158
|
+
for (const match of result.matches) {
|
|
159
|
+
// Map to our simplified security issue format
|
|
160
|
+
const severity = match.pattern.severity === 'critical' ? 'critical' :
|
|
161
|
+
match.pattern.severity === 'high' ? 'high' : 'medium';
|
|
162
|
+
issues.push({
|
|
163
|
+
type: mapPatternToType(match.pattern.name),
|
|
164
|
+
severity,
|
|
165
|
+
file: file.path,
|
|
166
|
+
line: match.line,
|
|
167
|
+
pattern: match.pattern.name,
|
|
168
|
+
recommendation: getSecurityRecommendation(match.pattern.name)
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
console.error('Security scan error:', error);
|
|
175
|
+
}
|
|
176
|
+
return issues;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Check for irrelevant files
|
|
180
|
+
*/
|
|
181
|
+
async function checkIrrelevantFiles(files) {
|
|
182
|
+
const irrelevant = [];
|
|
183
|
+
const patterns = {
|
|
184
|
+
'temp-file': /\.(tmp|temp|cache|swp|swo|swn|bak|backup)$/i,
|
|
185
|
+
'build-artifact': /^(dist|build|out|target|bin|obj)\//,
|
|
186
|
+
'ide-config': /^\.(vscode|idea|eclipse|sublime-|atom|brackets)\//,
|
|
187
|
+
'log-file': /\.(log|logs)$/i,
|
|
188
|
+
'cache-file': /^(\.(cache|npm|yarn|pnpm)|node_modules|__pycache__|\.pytest_cache)\//
|
|
189
|
+
};
|
|
190
|
+
for (const file of files) {
|
|
191
|
+
if (file.status === 'deleted')
|
|
192
|
+
continue;
|
|
193
|
+
for (const [reason, pattern] of Object.entries(patterns)) {
|
|
194
|
+
if (pattern.test(file.path)) {
|
|
195
|
+
irrelevant.push({
|
|
196
|
+
path: file.path,
|
|
197
|
+
reason: reason,
|
|
198
|
+
recommendation: getIrrelevantFileRecommendation(reason)
|
|
199
|
+
});
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// Check for large files (> 10MB)
|
|
204
|
+
if (file.size > 10 * 1024 * 1024) {
|
|
205
|
+
irrelevant.push({
|
|
206
|
+
path: file.path,
|
|
207
|
+
reason: 'build-artifact',
|
|
208
|
+
recommendation: 'Large file (' + Math.round(file.size / 1024 / 1024) + 'MB) - consider using Git LFS'
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return irrelevant;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Update deployment history
|
|
216
|
+
*/
|
|
217
|
+
async function updateDeploymentHistory(projectPath, result) {
|
|
218
|
+
const cacheDir = join(projectPath, '.mcp-adr-cache');
|
|
219
|
+
const historyFile = join(cacheDir, 'deploy-history.json');
|
|
220
|
+
// Ensure cache directory exists
|
|
221
|
+
if (!existsSync(cacheDir)) {
|
|
222
|
+
mkdirSync(cacheDir, { recursive: true });
|
|
223
|
+
}
|
|
224
|
+
// Load existing history
|
|
225
|
+
let history = {
|
|
226
|
+
successful: 0,
|
|
227
|
+
failed: 0,
|
|
228
|
+
testResults: {
|
|
229
|
+
totalTestsRun: 0,
|
|
230
|
+
totalTestsPassed: 0,
|
|
231
|
+
totalTestsFailed: 0,
|
|
232
|
+
averageDuration: 0,
|
|
233
|
+
testTypes: {}
|
|
234
|
+
},
|
|
235
|
+
successRate: 0,
|
|
236
|
+
testPassRate: 0
|
|
237
|
+
};
|
|
238
|
+
if (existsSync(historyFile)) {
|
|
239
|
+
try {
|
|
240
|
+
history = JSON.parse(readFileSync(historyFile, 'utf8'));
|
|
241
|
+
}
|
|
242
|
+
catch (error) {
|
|
243
|
+
// Ignore parse errors
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// Update history
|
|
247
|
+
if (result.success) {
|
|
248
|
+
history.successful++;
|
|
249
|
+
history.lastDeploy = new Date().toISOString();
|
|
250
|
+
history.lastDeploySuccess = true;
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
history.failed++;
|
|
254
|
+
history.lastDeploy = new Date().toISOString();
|
|
255
|
+
history.lastDeploySuccess = false;
|
|
256
|
+
}
|
|
257
|
+
// Update test results from AI-provided data
|
|
258
|
+
if (result.testResults) {
|
|
259
|
+
history.testResults.totalTestsRun += result.testResults.testsRun;
|
|
260
|
+
history.testResults.totalTestsPassed += result.testResults.testsPassed;
|
|
261
|
+
history.testResults.totalTestsFailed += result.testResults.testsFailed;
|
|
262
|
+
history.testResults.lastRun = new Date().toISOString();
|
|
263
|
+
history.testResults.lastRunSuccess = result.testResults.success;
|
|
264
|
+
// Update test types tracking
|
|
265
|
+
if (result.testResults.testTypes) {
|
|
266
|
+
for (const [testType, results] of Object.entries(result.testResults.testTypes)) {
|
|
267
|
+
if (!history.testResults.testTypes[testType]) {
|
|
268
|
+
history.testResults.testTypes[testType] = { passed: 0, failed: 0 };
|
|
269
|
+
}
|
|
270
|
+
history.testResults.testTypes[testType].passed += results.passed;
|
|
271
|
+
history.testResults.testTypes[testType].failed += results.failed;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// Update average duration
|
|
275
|
+
if (result.testResults.duration) {
|
|
276
|
+
const currentAvg = history.testResults.averageDuration || 0;
|
|
277
|
+
const totalRuns = history.successful + history.failed;
|
|
278
|
+
history.testResults.averageDuration =
|
|
279
|
+
totalRuns > 1 ? (currentAvg * (totalRuns - 1) + result.testResults.duration) / totalRuns : result.testResults.duration;
|
|
280
|
+
}
|
|
281
|
+
// Set last test suite if command provided
|
|
282
|
+
if (result.testResults.command) {
|
|
283
|
+
history.testResults.lastTestSuite = result.testResults.command;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// Calculate rates
|
|
287
|
+
const totalDeploys = history.successful + history.failed;
|
|
288
|
+
history.successRate = totalDeploys > 0 ?
|
|
289
|
+
Math.round((history.successful / totalDeploys) * 100) : 0;
|
|
290
|
+
const totalTests = history.testResults.totalTestsPassed + history.testResults.totalTestsFailed;
|
|
291
|
+
history.testPassRate = totalTests > 0 ?
|
|
292
|
+
Math.round((history.testResults.totalTestsPassed / totalTests) * 100) : 0;
|
|
293
|
+
// Save updated history
|
|
294
|
+
writeFileSync(historyFile, JSON.stringify(history, null, 2));
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Get deployment metrics summary
|
|
298
|
+
*/
|
|
299
|
+
async function getDeploymentMetricsSummary(projectPath) {
|
|
300
|
+
const historyFile = join(projectPath, '.mcp-adr-cache', 'deploy-history.json');
|
|
301
|
+
if (!existsSync(historyFile)) {
|
|
302
|
+
return '- No deployment history available';
|
|
303
|
+
}
|
|
304
|
+
try {
|
|
305
|
+
const history = JSON.parse(readFileSync(historyFile, 'utf8'));
|
|
306
|
+
const lines = [
|
|
307
|
+
'- **Deploy Success Rate**: ' + history.successRate + '% (' + history.successful + '/' + (history.successful + history.failed) + ')',
|
|
308
|
+
'- **Test Pass Rate**: ' + history.testPassRate + '% (' + history.testResults.totalTestsPassed + '/' + (history.testResults.totalTestsPassed + history.testResults.totalTestsFailed) + ')',
|
|
309
|
+
'- **Last Deploy**: ' + (history.lastDeploy ? new Date(history.lastDeploy).toLocaleString() : 'Never') + ' ' + (history.lastDeploySuccess ? 'โ
' : 'โ'),
|
|
310
|
+
'- **Last Test Run**: ' + (history.testResults.lastRun ? new Date(history.testResults.lastRun).toLocaleString() : 'Never') + ' ' + (history.testResults.lastRunSuccess ? 'โ
' : 'โ'),
|
|
311
|
+
'- **Total Tests Executed**: ' + history.testResults.totalTestsRun,
|
|
312
|
+
'- **Avg Test Duration**: ' + (history.testResults.averageDuration ? Math.round(history.testResults.averageDuration) + 's' : 'N/A')
|
|
313
|
+
];
|
|
314
|
+
return lines.join('\n');
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
return '- Error reading deployment history';
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Execute git push
|
|
322
|
+
*/
|
|
323
|
+
async function executePush(projectPath, branch, message) {
|
|
324
|
+
try {
|
|
325
|
+
let output = '';
|
|
326
|
+
if (message) {
|
|
327
|
+
const commitOutput = execSync('git commit -m "' + message + '"', {
|
|
328
|
+
cwd: projectPath,
|
|
329
|
+
encoding: 'utf8'
|
|
330
|
+
});
|
|
331
|
+
output += 'Commit:\n' + commitOutput + '\n\n';
|
|
332
|
+
}
|
|
333
|
+
const pushCommand = branch ? 'git push origin ' + branch : 'git push';
|
|
334
|
+
const pushOutput = execSync(pushCommand, {
|
|
335
|
+
cwd: projectPath,
|
|
336
|
+
encoding: 'utf8',
|
|
337
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
338
|
+
});
|
|
339
|
+
output += 'Push:\n' + pushOutput;
|
|
340
|
+
return { output, success: true };
|
|
341
|
+
}
|
|
342
|
+
catch (error) {
|
|
343
|
+
throw new McpAdrError('Git push failed: ' + jsonSafeError(error), 'GIT_PUSH_FAILED');
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
// Helper functions
|
|
347
|
+
function mapGitStatus(status) {
|
|
348
|
+
switch (status) {
|
|
349
|
+
case 'A': return 'added';
|
|
350
|
+
case 'M': return 'modified';
|
|
351
|
+
case 'D': return 'deleted';
|
|
352
|
+
case 'R': return 'renamed';
|
|
353
|
+
default: return 'modified';
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
function isTextFile(path) {
|
|
357
|
+
const textExtensions = [
|
|
358
|
+
'.js', '.ts', '.jsx', '.tsx', '.json', '.md', '.txt', '.yml', '.yaml',
|
|
359
|
+
'.py', '.rb', '.java', '.cs', '.go', '.rs', '.cpp', '.c', '.h', '.hpp',
|
|
360
|
+
'.php', '.html', '.css', '.scss', '.sass', '.less', '.vue', '.svelte'
|
|
361
|
+
];
|
|
362
|
+
return textExtensions.includes(extname(path).toLowerCase());
|
|
363
|
+
}
|
|
364
|
+
function mapPatternToType(patternName) {
|
|
365
|
+
if (patternName.includes('api') || patternName.includes('key'))
|
|
366
|
+
return 'api-key';
|
|
367
|
+
if (patternName.includes('private') || patternName.includes('rsa'))
|
|
368
|
+
return 'private-key';
|
|
369
|
+
if (patternName.includes('token'))
|
|
370
|
+
return 'token';
|
|
371
|
+
if (patternName.includes('password') || patternName.includes('pwd'))
|
|
372
|
+
return 'password';
|
|
373
|
+
return 'credential';
|
|
374
|
+
}
|
|
375
|
+
function getSecurityRecommendation(pattern) {
|
|
376
|
+
if (pattern.includes('api'))
|
|
377
|
+
return 'Move API keys to environment variables';
|
|
378
|
+
if (pattern.includes('private'))
|
|
379
|
+
return 'Never commit private keys - use key management service';
|
|
380
|
+
if (pattern.includes('token'))
|
|
381
|
+
return 'Use environment variables or secure token storage';
|
|
382
|
+
if (pattern.includes('password'))
|
|
383
|
+
return 'Never hardcode passwords - use secure credential storage';
|
|
384
|
+
return 'Remove sensitive data and use environment variables';
|
|
385
|
+
}
|
|
386
|
+
function getIrrelevantFileRecommendation(reason) {
|
|
387
|
+
switch (reason) {
|
|
388
|
+
case 'temp-file': return 'Add to .gitignore - temporary files should not be committed';
|
|
389
|
+
case 'build-artifact': return 'Add to .gitignore - build outputs should not be in source control';
|
|
390
|
+
case 'ide-config': return 'Add to .gitignore - IDE configurations are user-specific';
|
|
391
|
+
case 'log-file': return 'Add to .gitignore - log files should not be committed';
|
|
392
|
+
case 'cache-file': return 'Add to .gitignore - cache files are generated';
|
|
393
|
+
default: return 'Consider adding to .gitignore';
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
// Response generators
|
|
397
|
+
function createNoChangesResponse(metricsText) {
|
|
398
|
+
return '# Smart Git Push - No Changes\n\n' +
|
|
399
|
+
'## Status\n' +
|
|
400
|
+
'No staged files found. Use git add to stage files before pushing.\n\n' +
|
|
401
|
+
'## Deployment Metrics\n' +
|
|
402
|
+
metricsText + '\n\n' +
|
|
403
|
+
'## Available Commands\n' +
|
|
404
|
+
'- git add . - Stage all changes\n' +
|
|
405
|
+
'- git add <file> - Stage specific file\n' +
|
|
406
|
+
'- git status - Check current status';
|
|
407
|
+
}
|
|
408
|
+
function generateBlockedResponse(securityIssues, _irrelevantFiles, testResults) {
|
|
409
|
+
let response = '# Smart Git Push - Blocked ๐ซ\n\n## Push Blocked Due to Critical Issues\n\n';
|
|
410
|
+
if (securityIssues.some(i => i.severity === 'critical')) {
|
|
411
|
+
const criticalIssues = securityIssues.filter(i => i.severity === 'critical').map(issue => '- **' + issue.type + '** in ' + jsonSafeFilePath(issue.file) + (issue.line ? ' (line ' + issue.line + ')' : '') + '\n' +
|
|
412
|
+
' Pattern: ' + issue.pattern + '\n' +
|
|
413
|
+
' Fix: ' + issue.recommendation).join('\n\n');
|
|
414
|
+
response += '### ๐ Critical Security Issues Found\n' + criticalIssues + '\n\n';
|
|
415
|
+
}
|
|
416
|
+
if (testResults && !testResults.success) {
|
|
417
|
+
response += '### ๐งช Tests Failed\n' +
|
|
418
|
+
'- **Command**: ' + testResults.command + '\n' +
|
|
419
|
+
'- **Output**:\n' +
|
|
420
|
+
'-------\n' +
|
|
421
|
+
jsonSafeUserInput(testResults.output) + '\n' +
|
|
422
|
+
'-------\n\n';
|
|
423
|
+
}
|
|
424
|
+
response += '## Required Actions\n' +
|
|
425
|
+
'1. Fix all critical security issues\n' +
|
|
426
|
+
'2. Ensure all tests pass\n' +
|
|
427
|
+
'3. Review and fix any warnings\n\n' +
|
|
428
|
+
'Use --forceUnsafe to override (NOT RECOMMENDED)';
|
|
429
|
+
return response;
|
|
430
|
+
}
|
|
431
|
+
function generateSuccessResponse(stagedFiles, securityIssues, irrelevantFiles, testResults, pushResult, branch) {
|
|
432
|
+
let response = '# Smart Git Push - Success โ
\n\n' +
|
|
433
|
+
'## Push Summary\n' +
|
|
434
|
+
'- **Branch**: ' + (branch || 'current') + '\n' +
|
|
435
|
+
'- **Files**: ' + stagedFiles.length + ' staged files\n' +
|
|
436
|
+
'- **Security Issues**: ' + securityIssues.length + ' (' + securityIssues.filter(i => i.severity === 'critical').length + ' critical)\n' +
|
|
437
|
+
'- **Irrelevant Files**: ' + irrelevantFiles.length + '\n' +
|
|
438
|
+
'- **Tests**: ' + (testResults ? (testResults.success ? 'โ
Passed' : 'โ Failed') : 'Skipped') + '\n\n' +
|
|
439
|
+
'## Deployment Metrics Updated\n' +
|
|
440
|
+
getDeploymentMetricsUpdate() + '\n\n' +
|
|
441
|
+
'## Files Pushed\n' +
|
|
442
|
+
stagedFiles.map(f => '- ' + jsonSafeFilePath(f.path) + ' (' + f.status + ')').join('\n');
|
|
443
|
+
if (securityIssues.length > 0) {
|
|
444
|
+
const nonCriticalIssues = securityIssues.filter(i => i.severity !== 'critical');
|
|
445
|
+
if (nonCriticalIssues.length > 0) {
|
|
446
|
+
response += '\n\n## Security Warnings (Non-Critical)\n' +
|
|
447
|
+
nonCriticalIssues.map(issue => '- **' + issue.type + '** in ' + jsonSafeFilePath(issue.file) + ': ' + issue.recommendation).join('\n');
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
if (irrelevantFiles.length > 0) {
|
|
451
|
+
response += '\n\n## Irrelevant Files (Consider .gitignore)\n' +
|
|
452
|
+
irrelevantFiles.map(f => '- ' + jsonSafeFilePath(f.path) + ' (' + f.reason + '): ' + f.recommendation).join('\n');
|
|
453
|
+
}
|
|
454
|
+
response += '\n\n## Git Output\n' +
|
|
455
|
+
'-------\n' +
|
|
456
|
+
jsonSafeUserInput(pushResult.output) + '\n' +
|
|
457
|
+
'-------\n\n' +
|
|
458
|
+
'## Next Steps\n' +
|
|
459
|
+
'- Monitor CI/CD pipeline\n' +
|
|
460
|
+
'- Check deployment status\n' +
|
|
461
|
+
'- Review any warnings above';
|
|
462
|
+
return response;
|
|
463
|
+
}
|
|
464
|
+
function generateDryRunResponse(stagedFiles, securityIssues, irrelevantFiles, testResults, branch) {
|
|
465
|
+
const hasCritical = securityIssues.some(i => i.severity === 'critical');
|
|
466
|
+
const wouldBlock = hasCritical || (testResults && !testResults.success);
|
|
467
|
+
let response = '# Smart Git Push - Dry Run ๐\n\n' +
|
|
468
|
+
'## Analysis Results\n' +
|
|
469
|
+
'- **Files to Push**: ' + stagedFiles.length + '\n' +
|
|
470
|
+
'- **Security Issues**: ' + securityIssues.length + ' (' + securityIssues.filter(i => i.severity === 'critical').length + ' critical)\n' +
|
|
471
|
+
'- **Irrelevant Files**: ' + irrelevantFiles.length + '\n' +
|
|
472
|
+
'- **Would Block**: ' + (wouldBlock ? 'โ Yes' : 'โ
No') + '\n\n' +
|
|
473
|
+
'## Staged Files\n' +
|
|
474
|
+
stagedFiles.map(f => '- ' + jsonSafeFilePath(f.path) + ' (' + f.status + ') - ' + f.size + ' bytes').join('\n');
|
|
475
|
+
if (securityIssues.length > 0) {
|
|
476
|
+
response += '\n\n## Security Issues Found\n' +
|
|
477
|
+
securityIssues.map(issue => '- **' + issue.severity.toUpperCase() + '** ' + issue.type + ' in ' + jsonSafeFilePath(issue.file) + (issue.line ? ' (line ' + issue.line + ')' : '') + '\n' +
|
|
478
|
+
' Fix: ' + issue.recommendation).join('\n');
|
|
479
|
+
}
|
|
480
|
+
else {
|
|
481
|
+
response += '\n\n## โ
No Security Issues Found';
|
|
482
|
+
}
|
|
483
|
+
if (irrelevantFiles.length > 0) {
|
|
484
|
+
response += '\n\n## Irrelevant Files Detected\n' +
|
|
485
|
+
irrelevantFiles.map(f => '- ' + jsonSafeFilePath(f.path) + ' (' + f.reason + ')\n' +
|
|
486
|
+
' ' + f.recommendation).join('\n');
|
|
487
|
+
}
|
|
488
|
+
response += '\n\n## Command to Execute\n' +
|
|
489
|
+
'-------\n' +
|
|
490
|
+
'# Run without dry run to actually push\n' +
|
|
491
|
+
'git push' + (branch ? ' origin ' + branch : '') + '\n' +
|
|
492
|
+
'-------\n\n' +
|
|
493
|
+
'**Note:** This was a dry run. No files were pushed.' +
|
|
494
|
+
(wouldBlock ? '\nโ ๏ธ **Warning**: This push would be BLOCKED due to critical issues.' : '');
|
|
495
|
+
return response;
|
|
496
|
+
}
|
|
497
|
+
function getDeploymentMetricsUpdate() {
|
|
498
|
+
return '- Deploy success rate updated\n' +
|
|
499
|
+
'- Test results recorded\n' +
|
|
500
|
+
'- Metrics available in .mcp-adr-cache/deploy-history.json';
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Exported smart git push function
|
|
504
|
+
*/
|
|
505
|
+
export async function smartGitPush(args) {
|
|
506
|
+
const result = await smartGitPushV2(args);
|
|
507
|
+
return validateMcpResponse(result);
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* MCP-safe wrapper
|
|
511
|
+
*/
|
|
512
|
+
export async function smartGitPushMcpSafe(args) {
|
|
513
|
+
try {
|
|
514
|
+
return await smartGitPush(args);
|
|
515
|
+
}
|
|
516
|
+
catch (error) {
|
|
517
|
+
const errorResponse = {
|
|
518
|
+
content: [{
|
|
519
|
+
type: 'text',
|
|
520
|
+
text: '# Smart Git Push - Error\n\n**Error**: ' + jsonSafeError(error) + '\n\nPlease check your git configuration and try again.'
|
|
521
|
+
}],
|
|
522
|
+
isError: true
|
|
523
|
+
};
|
|
524
|
+
return validateMcpResponse(errorResponse);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
//# sourceMappingURL=smart-git-push-tool-v2.js.map
|