mcp-adr-analysis-server 2.0.24 → 2.1.9
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 -839
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/config/ai-config.d.ts.map +1 -1
- package/dist/src/config/ai-config.js +9 -9
- package/dist/src/config/ai-config.js.map +1 -1
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +218 -60
- package/dist/src/index.js.map +1 -1
- package/dist/src/prompts/analysis-prompts.d.ts +4 -1
- package/dist/src/prompts/analysis-prompts.d.ts.map +1 -1
- package/dist/src/prompts/analysis-prompts.js +61 -30
- package/dist/src/prompts/analysis-prompts.js.map +1 -1
- package/dist/src/prompts/index.d.ts +17 -1
- package/dist/src/prompts/index.d.ts.map +1 -1
- package/dist/src/prompts/index.js +325 -1
- package/dist/src/prompts/index.js.map +1 -1
- package/dist/src/prompts/rule-generation-prompts.d.ts +5 -1
- package/dist/src/prompts/rule-generation-prompts.d.ts.map +1 -1
- package/dist/src/prompts/rule-generation-prompts.js +5 -1
- package/dist/src/prompts/rule-generation-prompts.js.map +1 -1
- package/dist/src/prompts/security-prompts.d.ts +6 -1
- package/dist/src/prompts/security-prompts.d.ts.map +1 -1
- package/dist/src/prompts/security-prompts.js +6 -1
- package/dist/src/prompts/security-prompts.js.map +1 -1
- package/dist/src/prompts/todo-prompts.d.ts +49 -0
- package/dist/src/prompts/todo-prompts.d.ts.map +1 -0
- package/dist/src/prompts/todo-prompts.js +824 -0
- package/dist/src/prompts/todo-prompts.js.map +1 -0
- package/dist/src/resources/index.d.ts.map +1 -1
- package/dist/src/resources/index.js +9 -7
- package/dist/src/resources/index.js.map +1 -1
- package/dist/src/tools/adr-bootstrap-validation-tool.d.ts +47 -0
- package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -0
- package/dist/src/tools/adr-bootstrap-validation-tool.js +979 -0
- package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -0
- package/dist/src/tools/adr-suggestion-tool.d.ts +1 -0
- package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.js +298 -2
- package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
- package/dist/src/tools/content-masking-tool.d.ts +1 -0
- package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
- package/dist/src/tools/content-masking-tool.js +100 -0
- package/dist/src/tools/content-masking-tool.js.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.js +298 -36
- package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
- package/dist/src/tools/interactive-adr-planning-tool.d.ts.map +1 -1
- package/dist/src/tools/interactive-adr-planning-tool.js +270 -108
- package/dist/src/tools/interactive-adr-planning-tool.js.map +1 -1
- package/dist/src/tools/mcp-planning-tool.d.ts.map +1 -1
- package/dist/src/tools/mcp-planning-tool.js +18 -10
- package/dist/src/tools/mcp-planning-tool.js.map +1 -1
- package/dist/src/tools/research-integration-tool.d.ts +4 -1
- package/dist/src/tools/research-integration-tool.d.ts.map +1 -1
- package/dist/src/tools/research-integration-tool.js +5 -1
- package/dist/src/tools/research-integration-tool.js.map +1 -1
- package/dist/src/tools/review-existing-adrs-tool.d.ts +19 -0
- package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -0
- package/dist/src/tools/review-existing-adrs-tool.js +1204 -0
- package/dist/src/tools/review-existing-adrs-tool.js.map +1 -0
- package/dist/src/tools/rule-generation-tool.d.ts +2 -0
- package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
- package/dist/src/tools/rule-generation-tool.js +274 -33
- package/dist/src/tools/rule-generation-tool.js.map +1 -1
- package/dist/src/tools/smart-git-push-tool-v2.d.ts +4 -0
- package/dist/src/tools/smart-git-push-tool-v2.d.ts.map +1 -1
- package/dist/src/tools/smart-git-push-tool-v2.js +423 -229
- package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -1
- package/dist/src/tools/smart-git-push-tool.d.ts.map +1 -1
- package/dist/src/tools/smart-git-push-tool.js +65 -13
- package/dist/src/tools/smart-git-push-tool.js.map +1 -1
- package/dist/src/tools/tool-chain-orchestrator.d.ts +2 -2
- package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
- package/dist/src/tools/tool-chain-orchestrator.js +152 -93
- package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +6 -6
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
- package/dist/src/tools/troubleshoot-guided-workflow-tool.js +154 -6
- package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
- package/dist/src/types/ape-framework.d.ts +93 -0
- package/dist/src/types/ape-framework.d.ts.map +1 -1
- package/dist/src/types/ape-framework.js +10 -10
- package/dist/src/types/ape-framework.js.map +1 -1
- package/dist/src/types/index.d.ts +129 -3
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +15 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/knowledge-generation.d.ts +78 -0
- package/dist/src/types/knowledge-generation.d.ts.map +1 -1
- package/dist/src/types/knowledge-generation.js +10 -6
- package/dist/src/types/knowledge-generation.js.map +1 -1
- package/dist/src/types/memory-entities.d.ts +36 -36
- package/dist/src/types/reflexion-framework.d.ts +44 -0
- package/dist/src/types/reflexion-framework.d.ts.map +1 -1
- package/dist/src/types/reflexion-framework.js +7 -7
- package/dist/src/types/reflexion-framework.js.map +1 -1
- package/dist/src/types/tool-arguments.d.ts +224 -0
- package/dist/src/types/tool-arguments.d.ts.map +1 -0
- package/dist/src/types/tool-arguments.js +6 -0
- package/dist/src/types/tool-arguments.js.map +1 -0
- package/dist/src/utils/actual-file-operations.d.ts.map +1 -1
- package/dist/src/utils/actual-file-operations.js +25 -9
- package/dist/src/utils/actual-file-operations.js.map +1 -1
- package/dist/src/utils/adr-discovery.d.ts +33 -1
- package/dist/src/utils/adr-discovery.d.ts.map +1 -1
- package/dist/src/utils/adr-discovery.js +14 -9
- package/dist/src/utils/adr-discovery.js.map +1 -1
- package/dist/src/utils/adr-suggestions.d.ts +72 -0
- package/dist/src/utils/adr-suggestions.d.ts.map +1 -1
- package/dist/src/utils/adr-suggestions.js +6 -0
- package/dist/src/utils/adr-suggestions.js.map +1 -1
- package/dist/src/utils/cache.d.ts.map +1 -1
- package/dist/src/utils/cache.js +22 -19
- package/dist/src/utils/cache.js.map +1 -1
- package/dist/src/utils/chain-of-thought-template.d.ts +13 -1
- package/dist/src/utils/chain-of-thought-template.d.ts.map +1 -1
- package/dist/src/utils/chain-of-thought-template.js +31 -22
- package/dist/src/utils/chain-of-thought-template.js.map +1 -1
- package/dist/src/utils/config.d.ts.map +1 -1
- package/dist/src/utils/config.js +1 -0
- package/dist/src/utils/config.js.map +1 -1
- package/dist/src/utils/directory-compat.js +1 -1
- package/dist/src/utils/directory-compat.js.map +1 -1
- package/dist/src/utils/file-system.d.ts +182 -34
- package/dist/src/utils/file-system.d.ts.map +1 -1
- package/dist/src/utils/file-system.js +648 -774
- package/dist/src/utils/file-system.js.map +1 -1
- package/dist/src/utils/gitleaks-detector.d.ts +50 -0
- package/dist/src/utils/gitleaks-detector.d.ts.map +1 -0
- package/dist/src/utils/gitleaks-detector.js +334 -0
- package/dist/src/utils/gitleaks-detector.js.map +1 -0
- package/dist/src/utils/interactive-approval.d.ts.map +1 -1
- package/dist/src/utils/interactive-approval.js +2 -1
- package/dist/src/utils/interactive-approval.js.map +1 -1
- package/dist/src/utils/json-safe.d.ts.map +1 -1
- package/dist/src/utils/json-safe.js +9 -6
- package/dist/src/utils/json-safe.js.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.d.ts +14 -0
- package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.js +18 -1
- package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
- package/dist/src/utils/location-filter.d.ts +35 -10
- package/dist/src/utils/location-filter.d.ts.map +1 -1
- package/dist/src/utils/location-filter.js +360 -94
- package/dist/src/utils/location-filter.js.map +1 -1
- package/dist/src/utils/mcp-response-validator.d.ts.map +1 -1
- package/dist/src/utils/mcp-response-validator.js +34 -19
- package/dist/src/utils/mcp-response-validator.js.map +1 -1
- package/dist/src/utils/memory-entity-manager.d.ts.map +1 -1
- package/dist/src/utils/memory-entity-manager.js +5 -2
- package/dist/src/utils/memory-entity-manager.js.map +1 -1
- package/dist/src/utils/memory-migration-manager.d.ts.map +1 -1
- package/dist/src/utils/memory-migration-manager.js +15 -7
- package/dist/src/utils/memory-migration-manager.js.map +1 -1
- package/dist/src/utils/memory-relationship-mapper.d.ts.map +1 -1
- package/dist/src/utils/memory-relationship-mapper.js +2 -1
- package/dist/src/utils/memory-relationship-mapper.js.map +1 -1
- package/dist/src/utils/memory-rollback-manager.d.ts +12 -0
- package/dist/src/utils/memory-rollback-manager.d.ts.map +1 -1
- package/dist/src/utils/memory-rollback-manager.js +36 -3
- package/dist/src/utils/memory-rollback-manager.js.map +1 -1
- package/dist/src/utils/output-masking.d.ts +12 -0
- package/dist/src/utils/output-masking.d.ts.map +1 -1
- package/dist/src/utils/output-masking.js +5 -0
- package/dist/src/utils/output-masking.js.map +1 -1
- package/dist/src/utils/release-readiness-detector.d.ts.map +1 -1
- package/dist/src/utils/release-readiness-detector.js +43 -42
- package/dist/src/utils/release-readiness-detector.js.map +1 -1
- package/dist/src/utils/research-integration.d.ts.map +1 -1
- package/dist/src/utils/research-integration.js +73 -44
- package/dist/src/utils/research-integration.js.map +1 -1
- package/dist/src/utils/research-questions.d.ts.map +1 -1
- package/dist/src/utils/research-questions.js +40 -14
- package/dist/src/utils/research-questions.js.map +1 -1
- package/dist/src/utils/ripgrep-wrapper.d.ts +84 -0
- package/dist/src/utils/ripgrep-wrapper.d.ts.map +1 -0
- package/dist/src/utils/ripgrep-wrapper.js +255 -0
- package/dist/src/utils/ripgrep-wrapper.js.map +1 -0
- package/dist/src/utils/rule-generation.d.ts.map +1 -1
- package/dist/src/utils/rule-generation.js +26 -15
- package/dist/src/utils/rule-generation.js.map +1 -1
- package/dist/src/utils/tree-sitter-analyzer.d.ts +185 -0
- package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -0
- package/dist/src/utils/tree-sitter-analyzer.js +885 -0
- package/dist/src/utils/tree-sitter-analyzer.js.map +1 -0
- package/package.json +32 -7
- package/dist/src/utils/enhanced-sensitive-detector.d.ts +0 -61
- package/dist/src/utils/enhanced-sensitive-detector.d.ts.map +0 -1
- package/dist/src/utils/enhanced-sensitive-detector.js +0 -437
- package/dist/src/utils/enhanced-sensitive-detector.js.map +0 -1
|
@@ -19,8 +19,9 @@ Based on actual ADR file analysis, here are the discovered ADRs with their full
|
|
|
19
19
|
|
|
20
20
|
## Discovered ADRs (${discoveryResult.totalAdrs} total)
|
|
21
21
|
|
|
22
|
-
${discoveryResult.adrs.length > 0
|
|
23
|
-
discoveryResult.adrs
|
|
22
|
+
${discoveryResult.adrs.length > 0
|
|
23
|
+
? discoveryResult.adrs
|
|
24
|
+
.map((adr, index) => `
|
|
24
25
|
### ${index + 1}. ${adr.title}
|
|
25
26
|
- **File**: ${adr.filename}
|
|
26
27
|
- **Status**: ${adr.status}
|
|
@@ -33,13 +34,17 @@ ${adr.content || 'Content not available'}
|
|
|
33
34
|
\`\`\`
|
|
34
35
|
|
|
35
36
|
---
|
|
36
|
-
`)
|
|
37
|
+
`)
|
|
38
|
+
.join('\n')
|
|
39
|
+
: 'No ADRs found in the specified directory.'}
|
|
37
40
|
|
|
38
41
|
## Existing Rules Context
|
|
39
42
|
|
|
40
|
-
${existingRules && existingRules.length > 0
|
|
43
|
+
${existingRules && existingRules.length > 0
|
|
44
|
+
? `
|
|
41
45
|
### Current Rules (${existingRules.length})
|
|
42
|
-
${existingRules
|
|
46
|
+
${existingRules
|
|
47
|
+
.map((rule, index) => `
|
|
43
48
|
#### ${index + 1}. ${rule.name}
|
|
44
49
|
- **ID**: ${rule.id}
|
|
45
50
|
- **Description**: ${rule.description}
|
|
@@ -47,8 +52,10 @@ ${existingRules.map((rule, index) => `
|
|
|
47
52
|
- **Severity**: ${rule.severity}
|
|
48
53
|
- **Type**: ${rule.type}
|
|
49
54
|
- **Scope**: ${rule.scope}
|
|
50
|
-
`)
|
|
51
|
-
|
|
55
|
+
`)
|
|
56
|
+
.join('')}
|
|
57
|
+
`
|
|
58
|
+
: 'No existing rules provided.'}
|
|
52
59
|
|
|
53
60
|
## Rule Extraction Requirements
|
|
54
61
|
|
|
@@ -118,9 +125,9 @@ Each extracted rule should be:
|
|
|
118
125
|
summary: {
|
|
119
126
|
totalAdrs: discoveryResult.totalAdrs,
|
|
120
127
|
byStatus: discoveryResult.summary.byStatus,
|
|
121
|
-
byCategory: discoveryResult.summary.byCategory
|
|
122
|
-
}
|
|
123
|
-
}
|
|
128
|
+
byCategory: discoveryResult.summary.byCategory,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
124
131
|
};
|
|
125
132
|
}
|
|
126
133
|
catch (error) {
|
|
@@ -132,7 +139,7 @@ Each extracted rule should be:
|
|
|
132
139
|
*/
|
|
133
140
|
export async function generateRulesFromPatterns(projectPath, existingRules) {
|
|
134
141
|
try {
|
|
135
|
-
const { analyzeProjectStructure } = await import('./file-system.js');
|
|
142
|
+
const { analyzeProjectStructureCompat: analyzeProjectStructure } = await import('./file-system.js');
|
|
136
143
|
// Generate project analysis prompt for AI delegation
|
|
137
144
|
const projectAnalysisPrompt = await analyzeProjectStructure(projectPath);
|
|
138
145
|
const generationPrompt = `
|
|
@@ -150,12 +157,16 @@ ${projectAnalysisPrompt.instructions}
|
|
|
150
157
|
|
|
151
158
|
## Existing Rules Context
|
|
152
159
|
|
|
153
|
-
${existingRules
|
|
160
|
+
${existingRules
|
|
161
|
+
? `
|
|
154
162
|
### Current Rules (${existingRules.length})
|
|
155
|
-
${existingRules
|
|
163
|
+
${existingRules
|
|
164
|
+
.map((rule, index) => `
|
|
156
165
|
#### ${index + 1}. ${rule}
|
|
157
|
-
`)
|
|
158
|
-
|
|
166
|
+
`)
|
|
167
|
+
.join('')}
|
|
168
|
+
`
|
|
169
|
+
: 'No existing rules provided.'}
|
|
159
170
|
|
|
160
171
|
## Pattern Analysis Requirements
|
|
161
172
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-generation.js","sourceRoot":"","sources":["../../../src/utils/rule-generation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0DhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,eAAuB,WAAW,EAClC,aAAmC,EACnC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAEnC,IAAI,CAAC;QACH,8CAA8C;QAC9C,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAEvE,0BAA0B;QAC1B,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAEvF,MAAM,gBAAgB,GAAG;;;;;sBAKP,eAAe,CAAC,SAAS;;
|
|
1
|
+
{"version":3,"file":"rule-generation.js","sourceRoot":"","sources":["../../../src/utils/rule-generation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0DhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,eAAuB,WAAW,EAClC,aAAmC,EACnC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAEnC,IAAI,CAAC;QACH,8CAA8C;QAC9C,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAEvE,0BAA0B;QAC1B,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAEvF,MAAM,gBAAgB,GAAG;;;;;sBAKP,eAAe,CAAC,SAAS;;EAG7C,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAC7B,CAAC,CAAC,eAAe,CAAC,IAAI;iBACjB,GAAG,CACF,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;MACpB,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK;cACf,GAAG,CAAC,QAAQ;gBACV,GAAG,CAAC,MAAM;cACZ,GAAG,CAAC,IAAI;EACpB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;;;;EAIlE,GAAG,CAAC,OAAO,IAAI,uBAAuB;;;;CAIvC,CACQ;iBACA,IAAI,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,2CACN;;;;EAKE,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YACvC,CAAC,CAAC;qBACe,aAAa,CAAC,MAAM;EACvC,aAAa;iBACZ,GAAG,CACF,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;OACd,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI;YAClB,IAAI,CAAC,EAAE;qBACE,IAAI,CAAC,WAAW;kBACnB,IAAI,CAAC,QAAQ;kBACb,IAAI,CAAC,QAAQ;cACjB,IAAI,CAAC,IAAI;eACR,IAAI,CAAC,KAAK;CACxB,CACE;iBACA,IAAI,CAAC,EAAE,CAAC;CACV;YACG,CAAC,CAAC,6BACN;;;;;;;;;;;;;;;;;;;;;CAqBC,CAAC;QAEE,MAAM,YAAY,GAAG;;;;;;uBAMF,YAAY;oBACf,eAAe,CAAC,SAAS;wBACrB,aAAa,EAAE,MAAM,IAAI,CAAC;2BACvB,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM;;;;EAI/E,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBjF,CAAC;QAEE,OAAO;YACL,gBAAgB;YAChB,YAAY;YACZ,UAAU,EAAE;gBACV,eAAe;gBACf,QAAQ,EAAE,eAAe,CAAC,SAAS;gBACnC,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM;gBACtE,kBAAkB,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;gBAC9C,OAAO,EAAE;oBACP,SAAS,EAAE,eAAe,CAAC,SAAS;oBACpC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ;oBAC1C,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU;iBAC/C;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC9F,uBAAuB,CACxB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAAmB,EACnB,aAAwB;IAExB,IAAI,CAAC;QACH,MAAM,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAC7E,kBAAkB,CACnB,CAAC;QAEF,qDAAqD;QACrD,MAAM,qBAAqB,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAEzE,MAAM,gBAAgB,GAAG;;;;;;;EAO3B,qBAAqB,CAAC,MAAM;;;;EAI5B,qBAAqB,CAAC,YAAY;;;;EAKlC,aAAa;YACX,CAAC,CAAC;qBACe,aAAa,CAAC,MAAM;EACvC,aAAa;iBACZ,GAAG,CACF,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;OACd,KAAK,GAAG,CAAC,KAAK,IAAI;CACxB,CACE;iBACA,IAAI,CAAC,EAAE,CAAC;CACV;YACG,CAAC,CAAC,6BACN;;;;;;;;;;;;;;;;;;;;CAoBC,CAAC;QAEE,MAAM,YAAY,GAAG;;;;;;sBAMH,WAAW;;wBAET,aAAa,EAAE,MAAM,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBjD,CAAC;QAEE,OAAO;YACL,gBAAgB;YAChB,YAAY;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACnG,+BAA+B,CAChC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,KAA0B,EAC1B,iBAA+D,MAAM;IAErE,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;QAE/F,4BAA4B;QAC5B,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;QAEvD,oCAAoC;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC,CAAC;QAEJ,MAAM,gBAAgB,GAAG,4BAA4B,CACnD,WAAW,EACX,QAAQ,EACR,SAAS,EACT,cAAc,CACf,CAAC;QAEF,MAAM,YAAY,GAAG;;;;;;cAMX,QAAQ;mBACH,QAAQ;yBACF,cAAc;uBAChB,KAAK,CAAC,MAAM;qBACd,WAAW,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;CAwBtC,CAAC;QAEE,OAAO;YACL,gBAAgB;YAChB,YAAY;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAClG,uBAAuB,CACxB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,iBAAqC,EACrC,KAA0B,EAC1B,aAA8D,SAAS;IAEvE,IAAI,CAAC;QACH,MAAM,EAAE,iCAAiC,EAAE,GAAG,MAAM,MAAM,CACxD,uCAAuC,CACxC,CAAC;QAEF,mCAAmC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC,CAAC;QAEJ,MAAM,YAAY,GAAG,iCAAiC,CACpD,iBAAiB,EACjB,SAAS,EACT,UAAU,CACX,CAAC;QAEF,MAAM,YAAY,GAAG;;;;;;qBAMJ,UAAU,CAAC,WAAW,EAAE;wBACrB,iBAAiB,CAAC,MAAM;yBACvB,KAAK,CAAC,MAAM;0BACX,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;4BAChE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwB7I,CAAC;QAEE,OAAO;YACL,YAAY;YACZ,YAAY;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACrG,yBAAyB,CAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8CAA8C;AAE9C,6CAA6C"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter Integration for Enterprise DevOps Code Analysis
|
|
3
|
+
*
|
|
4
|
+
* Provides intelligent code analysis for multi-language DevOps stacks including:
|
|
5
|
+
* - Ansible playbooks and roles
|
|
6
|
+
* - Terraform/HCL infrastructure
|
|
7
|
+
* - Python microservices
|
|
8
|
+
* - Node.js applications
|
|
9
|
+
* - Container configurations
|
|
10
|
+
* - CI/CD pipelines
|
|
11
|
+
*
|
|
12
|
+
* Enterprise Features:
|
|
13
|
+
* - Secret detection in code
|
|
14
|
+
* - Architectural boundary validation
|
|
15
|
+
* - Multi-language dependency analysis
|
|
16
|
+
* - Security pattern recognition
|
|
17
|
+
*/
|
|
18
|
+
export interface CodeAnalysisResult {
|
|
19
|
+
language: string;
|
|
20
|
+
hasSecrets: boolean;
|
|
21
|
+
secrets: SecretMatch[];
|
|
22
|
+
imports: ImportAnalysis[];
|
|
23
|
+
functions: FunctionAnalysis[];
|
|
24
|
+
variables: VariableAnalysis[];
|
|
25
|
+
infraStructure: InfrastructureAnalysis[];
|
|
26
|
+
securityIssues: SecurityIssue[];
|
|
27
|
+
architecturalViolations: ArchitecturalViolation[];
|
|
28
|
+
}
|
|
29
|
+
export interface SecretMatch {
|
|
30
|
+
type: 'api_key' | 'password' | 'token' | 'private_key' | 'certificate' | 'credential';
|
|
31
|
+
value: string;
|
|
32
|
+
location: {
|
|
33
|
+
line: number;
|
|
34
|
+
column: number;
|
|
35
|
+
};
|
|
36
|
+
confidence: number;
|
|
37
|
+
context: string;
|
|
38
|
+
}
|
|
39
|
+
export interface ImportAnalysis {
|
|
40
|
+
module: string;
|
|
41
|
+
type: 'import' | 'require' | 'include' | 'role' | 'module_call';
|
|
42
|
+
location: {
|
|
43
|
+
line: number;
|
|
44
|
+
column: number;
|
|
45
|
+
};
|
|
46
|
+
isExternal: boolean;
|
|
47
|
+
isDangerous: boolean;
|
|
48
|
+
reason?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface FunctionAnalysis {
|
|
51
|
+
name: string;
|
|
52
|
+
type: 'function' | 'method' | 'task' | 'resource' | 'service';
|
|
53
|
+
parameters: string[];
|
|
54
|
+
location: {
|
|
55
|
+
line: number;
|
|
56
|
+
column: number;
|
|
57
|
+
};
|
|
58
|
+
complexity: number;
|
|
59
|
+
securitySensitive: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface VariableAnalysis {
|
|
62
|
+
name: string;
|
|
63
|
+
type: 'var' | 'const' | 'let' | 'env' | 'secret' | 'config';
|
|
64
|
+
value?: string;
|
|
65
|
+
location: {
|
|
66
|
+
line: number;
|
|
67
|
+
column: number;
|
|
68
|
+
};
|
|
69
|
+
isSensitive: boolean;
|
|
70
|
+
scope: string;
|
|
71
|
+
}
|
|
72
|
+
export interface InfrastructureAnalysis {
|
|
73
|
+
resourceType: string;
|
|
74
|
+
name: string;
|
|
75
|
+
provider: 'aws' | 'gcp' | 'azure' | 'kubernetes' | 'docker' | 'openshift';
|
|
76
|
+
configuration: Record<string, any>;
|
|
77
|
+
securityRisks: string[];
|
|
78
|
+
location: {
|
|
79
|
+
line: number;
|
|
80
|
+
column: number;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export interface SecurityIssue {
|
|
84
|
+
type: 'hardcoded_secret' | 'dangerous_function' | 'insecure_config' | 'privilege_escalation';
|
|
85
|
+
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
86
|
+
message: string;
|
|
87
|
+
location: {
|
|
88
|
+
line: number;
|
|
89
|
+
column: number;
|
|
90
|
+
};
|
|
91
|
+
suggestion: string;
|
|
92
|
+
}
|
|
93
|
+
export interface ArchitecturalViolation {
|
|
94
|
+
type: 'layer_violation' | 'circular_dependency' | 'forbidden_import' | 'coupling_violation';
|
|
95
|
+
message: string;
|
|
96
|
+
location: {
|
|
97
|
+
line: number;
|
|
98
|
+
column: number;
|
|
99
|
+
};
|
|
100
|
+
suggestion: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Main Tree-sitter analyzer class for enterprise DevOps stacks
|
|
104
|
+
*/
|
|
105
|
+
export declare class TreeSitterAnalyzer {
|
|
106
|
+
private parsers;
|
|
107
|
+
private initialized;
|
|
108
|
+
constructor();
|
|
109
|
+
/**
|
|
110
|
+
* Initialize tree-sitter parsers with graceful fallback
|
|
111
|
+
*/
|
|
112
|
+
private initializeParsers;
|
|
113
|
+
private loadParser;
|
|
114
|
+
/**
|
|
115
|
+
* Analyze code file with tree-sitter intelligence
|
|
116
|
+
*/
|
|
117
|
+
analyzeFile(filePath: string, content?: string): Promise<CodeAnalysisResult>;
|
|
118
|
+
/**
|
|
119
|
+
* Detect programming language from file extension and content
|
|
120
|
+
*/
|
|
121
|
+
private detectLanguage;
|
|
122
|
+
/**
|
|
123
|
+
* Perform intelligent analysis using tree-sitter AST
|
|
124
|
+
*/
|
|
125
|
+
private performIntelligentAnalysis;
|
|
126
|
+
/**
|
|
127
|
+
* Python-specific analysis for microservices
|
|
128
|
+
*/
|
|
129
|
+
private analyzePython;
|
|
130
|
+
/**
|
|
131
|
+
* JavaScript/TypeScript analysis for Node.js applications
|
|
132
|
+
*/
|
|
133
|
+
private analyzeJavaScript;
|
|
134
|
+
/**
|
|
135
|
+
* YAML analysis for Ansible, Kubernetes, Docker Compose
|
|
136
|
+
*/
|
|
137
|
+
private analyzeYAML;
|
|
138
|
+
/**
|
|
139
|
+
* Terraform/HCL analysis for infrastructure
|
|
140
|
+
*/
|
|
141
|
+
private analyzeTerraform;
|
|
142
|
+
/**
|
|
143
|
+
* Dockerfile analysis for container security
|
|
144
|
+
*/
|
|
145
|
+
private analyzeDockerfile;
|
|
146
|
+
/**
|
|
147
|
+
* Bash script analysis
|
|
148
|
+
*/
|
|
149
|
+
private analyzeBash;
|
|
150
|
+
/**
|
|
151
|
+
* JSON analysis for configuration files
|
|
152
|
+
*/
|
|
153
|
+
private analyzeJSON;
|
|
154
|
+
/**
|
|
155
|
+
* Universal secret detection across all languages
|
|
156
|
+
*/
|
|
157
|
+
private analyzeSecrets;
|
|
158
|
+
/**
|
|
159
|
+
* Fallback analysis using regex when tree-sitter fails
|
|
160
|
+
*/
|
|
161
|
+
private fallbackAnalysis;
|
|
162
|
+
private checkDangerousImport;
|
|
163
|
+
private extractPythonParameters;
|
|
164
|
+
private extractJSParameters;
|
|
165
|
+
private calculateComplexity;
|
|
166
|
+
private isSecuritySensitive;
|
|
167
|
+
private isSensitiveVariable;
|
|
168
|
+
private classifySecret;
|
|
169
|
+
private detectSecretPattern;
|
|
170
|
+
private isAnsibleFile;
|
|
171
|
+
private isKubernetesFile;
|
|
172
|
+
private isDockerComposeFile;
|
|
173
|
+
private analyzeAnsibleYAML;
|
|
174
|
+
private analyzeKubernetesYAML;
|
|
175
|
+
private analyzeDockerComposeYAML;
|
|
176
|
+
private analyzeTerraformSecurity;
|
|
177
|
+
private findLineNumber;
|
|
178
|
+
private isSecuritySensitiveTask;
|
|
179
|
+
private isDangerousAnsibleRole;
|
|
180
|
+
private analyzeKubernetesSecurityRisks;
|
|
181
|
+
private analyzeDockerComposeSecurityRisks;
|
|
182
|
+
}
|
|
183
|
+
export declare function createTreeSitterAnalyzer(): TreeSitterAnalyzer;
|
|
184
|
+
export declare const analyzer: TreeSitterAnalyzer;
|
|
185
|
+
//# sourceMappingURL=tree-sitter-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-sitter-analyzer.d.ts","sourceRoot":"","sources":["../../../src/utils/tree-sitter-analyzer.ts"],"names":[],"mappings":"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"}
|