mcp-adr-analysis-server 2.7.24 → 2.7.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts +0 -178
  3. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts.map +1 -1
  4. package/dist/src/tools/bootstrap-validation-loop-tool.js +0 -1580
  5. package/dist/src/tools/bootstrap-validation-loop-tool.js.map +1 -1
  6. package/package.json +1 -2
  7. package/dist/src/utils/dag-executor.d.ts +0 -106
  8. package/dist/src/utils/dag-executor.d.ts.map +0 -1
  9. package/dist/src/utils/dag-executor.js +0 -453
  10. package/dist/src/utils/dag-executor.js.map +0 -1
  11. package/dist/src/utils/deployment-task-integration.d.ts +0 -260
  12. package/dist/src/utils/deployment-task-integration.d.ts.map +0 -1
  13. package/dist/src/utils/deployment-task-integration.js +0 -393
  14. package/dist/src/utils/deployment-task-integration.js.map +0 -1
  15. package/dist/src/utils/dynamic-deployment-intelligence.d.ts +0 -117
  16. package/dist/src/utils/dynamic-deployment-intelligence.d.ts.map +0 -1
  17. package/dist/src/utils/dynamic-deployment-intelligence.js +0 -445
  18. package/dist/src/utils/dynamic-deployment-intelligence.js.map +0 -1
  19. package/dist/src/utils/pattern-contribution-helper.d.ts +0 -60
  20. package/dist/src/utils/pattern-contribution-helper.d.ts.map +0 -1
  21. package/dist/src/utils/pattern-contribution-helper.js +0 -308
  22. package/dist/src/utils/pattern-contribution-helper.js.map +0 -1
  23. package/dist/src/utils/pattern-loader.d.ts +0 -183
  24. package/dist/src/utils/pattern-loader.d.ts.map +0 -1
  25. package/dist/src/utils/pattern-loader.js +0 -198
  26. package/dist/src/utils/pattern-loader.js.map +0 -1
  27. package/dist/src/utils/pattern-to-dag-converter.d.ts +0 -62
  28. package/dist/src/utils/pattern-to-dag-converter.d.ts.map +0 -1
  29. package/dist/src/utils/pattern-to-dag-converter.js +0 -265
  30. package/dist/src/utils/pattern-to-dag-converter.js.map +0 -1
  31. package/dist/src/utils/resource-extractor.d.ts +0 -57
  32. package/dist/src/utils/resource-extractor.d.ts.map +0 -1
  33. package/dist/src/utils/resource-extractor.js +0 -323
  34. package/dist/src/utils/resource-extractor.js.map +0 -1
  35. package/dist/src/utils/system-card-manager.d.ts +0 -194
  36. package/dist/src/utils/system-card-manager.d.ts.map +0 -1
  37. package/dist/src/utils/system-card-manager.js +0 -336
  38. package/dist/src/utils/system-card-manager.js.map +0 -1
@@ -1,117 +0,0 @@
1
- /**
2
- * Dynamic Deployment Intelligence System
3
- *
4
- * Instead of static registry, this uses:
5
- * 1. AI + ResearchOrchestrator to query LIVE documentation
6
- * 2. Environment detection to see what's actually available
7
- * 3. Memory system to learn from successful deployments
8
- * 4. Fallback to basic templates when needed
9
- *
10
- * This stays current as software updates daily and best practices evolve.
11
- */
12
- export interface DynamicDeploymentPlan {
13
- detectedPlatforms: string[];
14
- recommendedPlatform: string;
15
- confidence: number;
16
- requiredFiles: DeploymentFileRequirement[];
17
- environmentVariables: EnvironmentVariable[];
18
- deploymentSteps: DeploymentStep[];
19
- validationChecks: ValidationCheck[];
20
- architectureDiagram: string;
21
- risks: DeploymentRisk[];
22
- estimatedDuration: string;
23
- prerequisites: string[];
24
- source: 'ai-research' | 'memory-pattern' | 'fallback-template';
25
- researchSources: string[];
26
- timestamp: string;
27
- }
28
- export interface DeploymentFileRequirement {
29
- path: string;
30
- purpose: string;
31
- required: boolean;
32
- isSecret: boolean;
33
- canAutoGenerate: boolean;
34
- templateContent?: string;
35
- validationCommand?: string;
36
- currentBestPractice: string;
37
- lastUpdated: string;
38
- }
39
- export interface EnvironmentVariable {
40
- name: string;
41
- purpose: string;
42
- required: boolean;
43
- isSecret: boolean;
44
- defaultValue?: string;
45
- validationPattern?: string;
46
- }
47
- export interface DeploymentStep {
48
- order: number;
49
- title: string;
50
- command: string;
51
- description: string;
52
- expectedOutput: string;
53
- troubleshooting: string[];
54
- estimatedTime: string;
55
- }
56
- export interface ValidationCheck {
57
- name: string;
58
- command: string;
59
- expectedResult: string;
60
- severity: 'critical' | 'error' | 'warning' | 'info';
61
- }
62
- export interface DeploymentRisk {
63
- risk: string;
64
- severity: 'high' | 'medium' | 'low';
65
- mitigation: string;
66
- likelihood: string;
67
- }
68
- export declare class DynamicDeploymentIntelligence {
69
- private research;
70
- private memory;
71
- private logger;
72
- private projectPath;
73
- private adrDirectory;
74
- constructor(projectPath: string, adrDirectory: string);
75
- /**
76
- * Generate a comprehensive, AI-powered deployment plan
77
- * Uses live research + learned patterns + environment detection
78
- */
79
- generateDeploymentPlan(): Promise<DynamicDeploymentPlan>;
80
- /**
81
- * Detect which deployment platforms are available in the current environment
82
- */
83
- private detectAvailableDeploymentPlatforms;
84
- /**
85
- * Analyze ADRs to understand deployment context and requirements
86
- */
87
- private analyzeAdrDeploymentContext;
88
- /**
89
- * Query memory system for learned deployment patterns
90
- */
91
- private queryLearnedDeploymentPatterns;
92
- /**
93
- * Research current best practices from live documentation
94
- */
95
- private researchCurrentDeploymentBestPractices;
96
- /**
97
- * Generate AI-powered deployment plan by synthesizing all inputs
98
- */
99
- private generateAIPoweredDeploymentPlan;
100
- /**
101
- * Store successful deployment pattern in memory for learning
102
- */
103
- private storeDeploymentPattern;
104
- /**
105
- * Enhance learned pattern with latest information
106
- */
107
- private enhanceLearnedPattern;
108
- /**
109
- * Generate fallback plan using static templates when AI fails
110
- */
111
- private generateFallbackPlan;
112
- /**
113
- * Update a deployment plan with post-execution learnings
114
- */
115
- updatePlanWithLearnings(plan: DynamicDeploymentPlan, executionResult: any, _learnings: any[]): Promise<DynamicDeploymentPlan>;
116
- }
117
- //# sourceMappingURL=dynamic-deployment-intelligence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-deployment-intelligence.d.ts","sourceRoot":"","sources":["../../../src/utils/dynamic-deployment-intelligence.ts"],"names":[],"mappings":"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"}
@@ -1,445 +0,0 @@
1
- /**
2
- * Dynamic Deployment Intelligence System
3
- *
4
- * Instead of static registry, this uses:
5
- * 1. AI + ResearchOrchestrator to query LIVE documentation
6
- * 2. Environment detection to see what's actually available
7
- * 3. Memory system to learn from successful deployments
8
- * 4. Fallback to basic templates when needed
9
- *
10
- * This stays current as software updates daily and best practices evolve.
11
- */
12
- import { ResearchOrchestrator } from './research-orchestrator.js';
13
- import { MemoryEntityManager } from './memory-entity-manager.js';
14
- import { EnhancedLogger } from './enhanced-logging.js';
15
- import { getAIExecutor } from './ai-executor.js';
16
- import { DEPLOYMENT_TYPES } from './deployment-type-registry.js';
17
- import { promises as fs } from 'fs';
18
- import { exec } from 'node:child_process';
19
- import { promisify } from 'util';
20
- import * as path from 'path';
21
- const execAsync = promisify(exec);
22
- export class DynamicDeploymentIntelligence {
23
- research;
24
- memory;
25
- logger;
26
- projectPath;
27
- adrDirectory;
28
- constructor(projectPath, adrDirectory) {
29
- this.projectPath = projectPath;
30
- this.adrDirectory = adrDirectory;
31
- this.research = new ResearchOrchestrator(projectPath, adrDirectory);
32
- this.memory = new MemoryEntityManager();
33
- this.logger = new EnhancedLogger();
34
- }
35
- /**
36
- * Generate a comprehensive, AI-powered deployment plan
37
- * Uses live research + learned patterns + environment detection
38
- */
39
- async generateDeploymentPlan() {
40
- this.logger.info('Starting dynamic deployment plan generation', 'DynamicDeploymentIntelligence');
41
- // Step 1: Detect what deployment platforms are available in environment
42
- const availablePlatforms = await this.detectAvailableDeploymentPlatforms();
43
- this.logger.info(`Detected available platforms: ${availablePlatforms.join(', ')}`, 'DynamicDeploymentIntelligence');
44
- // Step 2: Analyze ADRs to understand architecture decisions
45
- const adrContext = await this.analyzeAdrDeploymentContext();
46
- // Step 3: Check memory for similar successful deployments
47
- const learnedPatterns = await this.queryLearnedDeploymentPatterns(availablePlatforms, adrContext);
48
- // Step 4: If learned pattern exists with high confidence, use it
49
- if (learnedPatterns && learnedPatterns.confidence > 0.8) {
50
- this.logger.info('Using learned deployment pattern from memory', 'DynamicDeploymentIntelligence');
51
- return this.enhanceLearnedPattern(learnedPatterns);
52
- }
53
- // Step 5: Research live documentation for current best practices
54
- const researchResults = await this.researchCurrentDeploymentBestPractices(availablePlatforms, adrContext);
55
- // Step 6: Use AI to synthesize research + ADRs + environment into deployment plan
56
- const aiGeneratedPlan = await this.generateAIPoweredDeploymentPlan(availablePlatforms, adrContext, researchResults);
57
- // Step 7: Store this pattern in memory for future learning
58
- await this.storeDeploymentPattern(aiGeneratedPlan);
59
- return aiGeneratedPlan;
60
- }
61
- /**
62
- * Detect which deployment platforms are available in the current environment
63
- */
64
- async detectAvailableDeploymentPlatforms() {
65
- const platforms = [];
66
- // Check for various deployment tools
67
- const checks = [
68
- { name: 'docker', command: 'docker --version' },
69
- { name: 'kubernetes', command: 'kubectl version --client' },
70
- { name: 'openshift', command: 'oc version' },
71
- { name: 'firebase', command: 'firebase --version' },
72
- { name: 'ansible', command: 'ansible --version' },
73
- { name: 'terraform', command: 'terraform --version' },
74
- { name: 'npm', command: 'npm --version' },
75
- { name: 'python', command: 'python --version' },
76
- { name: 'python3', command: 'python3 --version' },
77
- { name: 'node', command: 'node --version' },
78
- { name: 'pip', command: 'pip --version' },
79
- { name: 'uvx', command: 'uvx --version' },
80
- ];
81
- for (const check of checks) {
82
- try {
83
- await execAsync(check.command);
84
- platforms.push(check.name);
85
- }
86
- catch {
87
- // Tool not available
88
- }
89
- }
90
- // Check for deployment-related files
91
- const fileChecks = [
92
- { name: 'docker', files: ['Dockerfile', 'docker-compose.yml'] },
93
- { name: 'kubernetes', files: ['k8s/', 'kubernetes/'] },
94
- { name: 'openshift', files: ['openshift/', '.s2i/', 'k8s/', 'kubernetes/'] }, // OpenShift can use k8s dirs too
95
- { name: 'firebase', files: ['firebase.json'] },
96
- { name: 'mcp-nodejs', files: ['package.json'] }, // Check package.json for MCP dependencies
97
- { name: 'fastmcp', files: ['server.py', 'pyproject.toml', 'requirements.txt'] },
98
- ];
99
- for (const check of fileChecks) {
100
- for (const file of check.files) {
101
- try {
102
- await fs.access(path.join(this.projectPath, file));
103
- if (!platforms.includes(check.name)) {
104
- platforms.push(check.name);
105
- }
106
- }
107
- catch {
108
- // File doesn't exist
109
- }
110
- }
111
- }
112
- return platforms;
113
- }
114
- /**
115
- * Analyze ADRs to understand deployment context and requirements
116
- */
117
- async analyzeAdrDeploymentContext() {
118
- try {
119
- const { discoverAdrsInDirectory } = await import('./adr-discovery.js');
120
- const adrs = await discoverAdrsInDirectory(this.adrDirectory, this.projectPath, {
121
- includeContent: true,
122
- includeTimeline: false,
123
- });
124
- // Extract deployment-related information from ADRs
125
- const deploymentContext = {
126
- technologies: new Set(),
127
- platforms: new Set(),
128
- requirements: new Set(),
129
- constraints: new Set(),
130
- };
131
- for (const adr of adrs.adrs) {
132
- const content = adr.content || '';
133
- // Look for technology mentions
134
- const techPatterns = [
135
- /node\.?js/gi,
136
- /python/gi,
137
- /docker/gi,
138
- /kubernetes/gi,
139
- /k8s/gi,
140
- /openshift/gi,
141
- /firebase/gi,
142
- /mcp[ -]server/gi,
143
- /fastmcp/gi,
144
- /@modelcontextprotocol/gi,
145
- /uvx/gi,
146
- /ansible/gi,
147
- ];
148
- for (const pattern of techPatterns) {
149
- const matches = content.match(pattern);
150
- if (matches) {
151
- deploymentContext.technologies.add(matches[0].toLowerCase());
152
- }
153
- }
154
- // Extract requirements
155
- if (content.includes('Requirements') || content.includes('Constraints')) {
156
- const lines = content.split('\n');
157
- for (const line of lines) {
158
- if (line.includes('must') || line.includes('should') || line.includes('shall')) {
159
- deploymentContext.requirements.add(line.trim());
160
- }
161
- }
162
- }
163
- }
164
- return {
165
- technologies: Array.from(deploymentContext.technologies),
166
- platforms: Array.from(deploymentContext.platforms),
167
- requirements: Array.from(deploymentContext.requirements),
168
- constraints: Array.from(deploymentContext.constraints),
169
- totalAdrs: adrs.adrs.length,
170
- };
171
- }
172
- catch (error) {
173
- this.logger.warn('Failed to analyze ADR context', 'DynamicDeploymentIntelligence', error);
174
- return { technologies: [], platforms: [], requirements: [], constraints: [] };
175
- }
176
- }
177
- /**
178
- * Query memory system for learned deployment patterns
179
- */
180
- async queryLearnedDeploymentPatterns(platforms, _adrContext) {
181
- try {
182
- const result = await this.memory.queryEntities({
183
- entityTypes: ['knowledge_artifact'],
184
- limit: 5,
185
- });
186
- // Find most similar deployment pattern
187
- for (const entity of result.entities) {
188
- // Only process knowledge artifacts that are deployment patterns
189
- if (entity.type !== 'knowledge_artifact')
190
- continue;
191
- try {
192
- const plan = JSON.parse(entity.artifactData.content);
193
- // Check if platforms match
194
- const platformMatch = platforms.some(p => plan.detectedPlatforms?.includes(p));
195
- if (platformMatch && plan.confidence > 0.8) {
196
- this.logger.info('Found matching learned pattern', 'DynamicDeploymentIntelligence', {
197
- patternId: entity.id,
198
- confidence: plan.confidence,
199
- });
200
- return plan;
201
- }
202
- }
203
- catch {
204
- // Skip entities that don't contain valid deployment plans
205
- continue;
206
- }
207
- }
208
- return null;
209
- }
210
- catch (error) {
211
- this.logger.warn('Failed to query learned patterns', 'DynamicDeploymentIntelligence', error);
212
- return null;
213
- }
214
- }
215
- /**
216
- * Research current best practices from live documentation
217
- */
218
- async researchCurrentDeploymentBestPractices(platforms, _adrContext) {
219
- const researchResults = {};
220
- for (const platform of platforms) {
221
- try {
222
- // Research current best practices for this platform
223
- const result = await this.research.answerResearchQuestion(`What are the current ${platform} deployment best practices and requirements in 2025? Include required files, configuration, and validation steps.`);
224
- researchResults[platform] = {
225
- answer: result.answer,
226
- confidence: result.confidence,
227
- sources: result.sources,
228
- };
229
- this.logger.info(`Researched ${platform} best practices`, 'DynamicDeploymentIntelligence', {
230
- confidence: result.confidence,
231
- });
232
- }
233
- catch (error) {
234
- this.logger.warn(`Failed to research ${platform}`, 'DynamicDeploymentIntelligence', error);
235
- }
236
- }
237
- return researchResults;
238
- }
239
- /**
240
- * Generate AI-powered deployment plan by synthesizing all inputs
241
- */
242
- async generateAIPoweredDeploymentPlan(platforms, adrContext, researchResults) {
243
- const prompt = `You are an expert DevOps architect. Generate a comprehensive deployment plan.
244
-
245
- **Available Platforms**: ${platforms.join(', ')}
246
- **Project Technologies**: ${adrContext.technologies.join(', ')}
247
- **ADR Requirements**: ${JSON.stringify(adrContext.requirements, null, 2)}
248
-
249
- **Latest Research**:
250
- ${JSON.stringify(researchResults, null, 2)}
251
-
252
- Generate a detailed deployment plan in JSON format with:
253
- 1. detectedPlatforms: array of detected platforms
254
- 2. recommendedPlatform: best platform choice with explanation
255
- 3. confidence: 0-1 confidence score
256
- 4. requiredFiles: array of files needed (path, purpose, required, isSecret, canAutoGenerate, templateContent, validationCommand, currentBestPractice, lastUpdated)
257
- 5. environmentVariables: array of env vars (name, purpose, required, isSecret, defaultValue, validationPattern)
258
- 6. deploymentSteps: ordered array of steps (order, title, command, description, expectedOutput, troubleshooting, estimatedTime)
259
- 7. validationChecks: array of checks (name, command, expectedResult, severity)
260
- 8. architectureDiagram: Mermaid diagram showing deployment flow
261
- 9. risks: array of deployment risks (risk, severity, mitigation, likelihood)
262
- 10. estimatedDuration: total time estimate
263
- 11. prerequisites: array of things needed before deployment
264
-
265
- Focus on ${platforms[0] || 'docker'} as the primary platform.
266
- Include current 2025 best practices from the research.
267
- Make file paths and commands specific and actionable.
268
- Include complete template content for generated files.`;
269
- try {
270
- const aiExecutor = getAIExecutor();
271
- const result = await aiExecutor.executePrompt(prompt, {
272
- temperature: 0.3,
273
- maxTokens: 4000,
274
- });
275
- const plan = JSON.parse(result.content);
276
- return {
277
- ...plan,
278
- source: 'ai-research',
279
- researchSources: Object.keys(researchResults),
280
- timestamp: new Date().toISOString(),
281
- };
282
- }
283
- catch (error) {
284
- this.logger.error('Failed to generate AI deployment plan, using fallback', 'DynamicDeploymentIntelligence', error);
285
- return this.generateFallbackPlan(platforms, adrContext);
286
- }
287
- }
288
- /**
289
- * Store successful deployment pattern in memory for learning
290
- */
291
- async storeDeploymentPattern(plan) {
292
- try {
293
- await this.memory.upsertEntity({
294
- type: 'knowledge_artifact',
295
- title: `Deployment Pattern: ${plan.recommendedPlatform}`,
296
- description: `Deployment plan for ${plan.detectedPlatforms.join(', ')} platforms with ${plan.confidence} confidence`,
297
- artifactData: {
298
- artifactType: 'pattern',
299
- content: JSON.stringify(plan, null, 2),
300
- format: 'json',
301
- sourceReliability: plan.confidence,
302
- applicabilityScope: plan.detectedPlatforms,
303
- lastValidated: plan.timestamp,
304
- keyInsights: [
305
- `Recommended platform: ${plan.recommendedPlatform}`,
306
- `Confidence: ${plan.confidence}`,
307
- `Required files: ${plan.requiredFiles.length}`,
308
- `Deployment steps: ${plan.deploymentSteps.length}`,
309
- ],
310
- actionableItems: plan.deploymentSteps.slice(0, 5).map((step, index) => ({
311
- action: step.title,
312
- priority: index < 2 ? 'high' : 'medium',
313
- timeframe: step.estimatedTime,
314
- dependencies: [],
315
- })),
316
- },
317
- });
318
- this.logger.info('Stored deployment pattern in memory', 'DynamicDeploymentIntelligence');
319
- }
320
- catch (error) {
321
- this.logger.warn('Failed to store deployment pattern', 'DynamicDeploymentIntelligence', error);
322
- }
323
- }
324
- /**
325
- * Enhance learned pattern with latest information
326
- */
327
- async enhanceLearnedPattern(learnedPattern) {
328
- // Update timestamp and source
329
- return {
330
- ...learnedPattern,
331
- source: 'memory-pattern',
332
- timestamp: new Date().toISOString(),
333
- };
334
- }
335
- /**
336
- * Generate fallback plan using static templates when AI fails
337
- */
338
- generateFallbackPlan(platforms, _adrContext) {
339
- this.logger.warn('Using fallback deployment plan', 'DynamicDeploymentIntelligence');
340
- const primaryPlatform = platforms[0] || 'docker';
341
- const staticTemplate = DEPLOYMENT_TYPES.find(t => t.id === primaryPlatform);
342
- // If no template found, return minimal plan
343
- if (!staticTemplate) {
344
- return {
345
- detectedPlatforms: platforms,
346
- recommendedPlatform: primaryPlatform,
347
- confidence: 0.3,
348
- requiredFiles: [],
349
- environmentVariables: [],
350
- deploymentSteps: [],
351
- validationChecks: [],
352
- architectureDiagram: `graph TD\n A[Source Code] --> B[Build]\n B --> C[Deploy]\n C --> D[Validate]`,
353
- risks: [
354
- {
355
- risk: 'No template available for detected platform',
356
- severity: 'high',
357
- mitigation: 'Manual configuration required',
358
- likelihood: 'high',
359
- },
360
- ],
361
- estimatedDuration: 'Unknown',
362
- prerequisites: ['Platform-specific setup'],
363
- source: 'fallback-template',
364
- researchSources: [],
365
- timestamp: new Date().toISOString(),
366
- };
367
- }
368
- return {
369
- detectedPlatforms: platforms,
370
- recommendedPlatform: primaryPlatform,
371
- confidence: 0.5,
372
- requiredFiles: staticTemplate.requiredFiles.map(f => {
373
- const fileReq = {
374
- path: f.path,
375
- purpose: f.description,
376
- required: f.required,
377
- isSecret: f.isSecret,
378
- canAutoGenerate: f.canAutoGenerate,
379
- currentBestPractice: 'Using fallback template - update recommended',
380
- lastUpdated: new Date().toISOString(),
381
- };
382
- // Only add optional properties if they have values
383
- if (f.templateContent) {
384
- fileReq.templateContent = f.templateContent;
385
- }
386
- if (f.validationRules?.[0]) {
387
- fileReq.validationCommand = f.validationRules[0];
388
- }
389
- return fileReq;
390
- }),
391
- environmentVariables: staticTemplate.environmentVariables.map(e => ({
392
- name: e.name,
393
- purpose: e.description,
394
- required: e.required,
395
- isSecret: e.isSecret,
396
- })),
397
- deploymentSteps: staticTemplate.deploymentCommands.map((cmd, i) => ({
398
- order: i + 1,
399
- title: `Step ${i + 1}`,
400
- command: cmd,
401
- description: `Execute ${cmd}`,
402
- expectedOutput: 'Success',
403
- troubleshooting: ['Check logs', 'Verify prerequisites'],
404
- estimatedTime: '5 minutes',
405
- })),
406
- validationChecks: staticTemplate.validationCommands.map(cmd => ({
407
- name: `Validate ${cmd}`,
408
- command: cmd,
409
- expectedResult: 'No errors',
410
- severity: 'error',
411
- })),
412
- architectureDiagram: `graph TD\n A[Source Code] --> B[Build]\n B --> C[Deploy]\n C --> D[Validate]`,
413
- risks: [
414
- {
415
- risk: 'Using fallback template - may be outdated',
416
- severity: 'medium',
417
- mitigation: 'Update to AI-generated plan when possible',
418
- likelihood: 'high',
419
- },
420
- ],
421
- estimatedDuration: '30-60 minutes',
422
- prerequisites: ['Platform tools installed', 'Credentials configured'],
423
- source: 'fallback-template',
424
- researchSources: [],
425
- timestamp: new Date().toISOString(),
426
- };
427
- }
428
- /**
429
- * Update a deployment plan with post-execution learnings
430
- */
431
- async updatePlanWithLearnings(plan, executionResult, _learnings) {
432
- const updatedPlan = { ...plan };
433
- // Increase confidence if deployment was successful
434
- if (executionResult.success) {
435
- updatedPlan.confidence = Math.min(1.0, updatedPlan.confidence + 0.1);
436
- }
437
- else {
438
- updatedPlan.confidence = Math.max(0.3, updatedPlan.confidence - 0.1);
439
- }
440
- // Store updated pattern
441
- await this.storeDeploymentPattern(updatedPlan);
442
- return updatedPlan;
443
- }
444
- }
445
- //# sourceMappingURL=dynamic-deployment-intelligence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-deployment-intelligence.js","sourceRoot":"","sources":["../../../src/utils/dynamic-deployment-intelligence.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- /**
2
- * Pattern Contribution Helper
3
- *
4
- * Helps users contribute missing patterns to the validatedpatterns project
5
- * by creating well-formatted GitHub issues with detection evidence.
6
- */
7
- import type { PlatformDetectionResult } from './platform-detector.js';
8
- /**
9
- * GitHub issue creation result
10
- */
11
- export interface GitHubIssueResult {
12
- success: boolean;
13
- issueUrl?: string;
14
- issueNumber?: number;
15
- issueTitle: string;
16
- issueBody: string;
17
- error?: string;
18
- }
19
- /**
20
- * Helper for creating GitHub issues for missing patterns
21
- */
22
- export declare class PatternContributionHelper {
23
- private logger;
24
- constructor();
25
- /**
26
- * Prompt user to contribute missing pattern
27
- */
28
- promptUserForContribution(platform: string, detection: PlatformDetectionResult): string;
29
- /**
30
- * Prepare GitHub issue content for missing pattern
31
- */
32
- prepareIssueContent(platform: string, detection: PlatformDetectionResult): {
33
- title: string;
34
- body: string;
35
- };
36
- /**
37
- * Create GitHub issue (placeholder for actual GitHub API integration)
38
- *
39
- * In production, this would use Octokit to create the issue.
40
- * For now, it returns the issue content for manual creation.
41
- */
42
- createGitHubIssue(platform: string, detection: PlatformDetectionResult, _options?: {
43
- githubToken?: string;
44
- repository?: string;
45
- owner?: string;
46
- }): Promise<GitHubIssueResult>;
47
- /**
48
- * Generate summary message for user after issue creation
49
- */
50
- generateSuccessMessage(result: GitHubIssueResult, platform: string): string;
51
- /**
52
- * Check if GitHub token is configured for automatic issue creation
53
- */
54
- isGitHubConfigured(): boolean;
55
- /**
56
- * Get GitHub configuration status message
57
- */
58
- getConfigurationStatus(): string;
59
- }
60
- //# sourceMappingURL=pattern-contribution-helper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pattern-contribution-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/pattern-contribution-helper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAiB;;IAM/B;;OAEG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,GAAG,MAAM;IA2CvF;;OAEG;IACH,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,uBAAuB,GACjC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IA4JlC;;;;;OAKG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,uBAAuB,EAClC,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,iBAAiB,CAAC;IA+C7B;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAuC3E;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,sBAAsB,IAAI,MAAM;CAOjC"}