mcp-adr-analysis-server 2.0.21 → 2.0.24

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 (119) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/index.d.ts +9 -0
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +1380 -781
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  7. package/dist/src/tools/adr-suggestion-tool.js +32 -30
  8. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  9. package/dist/src/tools/content-masking-tool.d.ts +4 -0
  10. package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
  11. package/dist/src/tools/content-masking-tool.js +531 -28
  12. package/dist/src/tools/content-masking-tool.js.map +1 -1
  13. package/dist/src/tools/deployment-readiness-tool.d.ts +8 -5
  14. package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
  15. package/dist/src/tools/deployment-readiness-tool.js +741 -79
  16. package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
  17. package/dist/src/tools/environment-analysis-tool.d.ts +4 -0
  18. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  19. package/dist/src/tools/environment-analysis-tool.js +568 -24
  20. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  21. package/dist/src/tools/mcp-planning-tool.d.ts.map +1 -1
  22. package/dist/src/tools/mcp-planning-tool.js +298 -173
  23. package/dist/src/tools/mcp-planning-tool.js.map +1 -1
  24. package/dist/src/tools/memory-loading-tool.d.ts +60 -0
  25. package/dist/src/tools/memory-loading-tool.d.ts.map +1 -0
  26. package/dist/src/tools/memory-loading-tool.js +457 -0
  27. package/dist/src/tools/memory-loading-tool.js.map +1 -0
  28. package/dist/src/tools/smart-git-push-tool.d.ts +3 -0
  29. package/dist/src/tools/smart-git-push-tool.d.ts.map +1 -1
  30. package/dist/src/tools/smart-git-push-tool.js +177 -223
  31. package/dist/src/tools/smart-git-push-tool.js.map +1 -1
  32. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +20 -11
  33. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
  34. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +506 -22
  35. package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
  36. package/dist/src/types/enhanced-errors.d.ts +173 -0
  37. package/dist/src/types/enhanced-errors.d.ts.map +1 -0
  38. package/dist/src/types/enhanced-errors.js +668 -0
  39. package/dist/src/types/enhanced-errors.js.map +1 -0
  40. package/dist/src/types/knowledge-graph-schemas.d.ts +92 -0
  41. package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -1
  42. package/dist/src/types/knowledge-graph-schemas.js +45 -17
  43. package/dist/src/types/knowledge-graph-schemas.js.map +1 -1
  44. package/dist/src/types/memory-entities.d.ts +7209 -0
  45. package/dist/src/types/memory-entities.d.ts.map +1 -0
  46. package/dist/src/types/memory-entities.js +395 -0
  47. package/dist/src/types/memory-entities.js.map +1 -0
  48. package/dist/src/types/todo-json-schemas.d.ts +7 -653
  49. package/dist/src/types/todo-json-schemas.d.ts.map +1 -1
  50. package/dist/src/types/todo-json-schemas.js +6 -110
  51. package/dist/src/types/todo-json-schemas.js.map +1 -1
  52. package/dist/src/utils/enhanced-logging.d.ts +195 -0
  53. package/dist/src/utils/enhanced-logging.d.ts.map +1 -0
  54. package/dist/src/utils/enhanced-logging.js +449 -0
  55. package/dist/src/utils/enhanced-logging.js.map +1 -0
  56. package/dist/src/utils/interactive-approval.d.ts +1 -1
  57. package/dist/src/utils/interactive-approval.d.ts.map +1 -1
  58. package/dist/src/utils/interactive-approval.js +20 -16
  59. package/dist/src/utils/interactive-approval.js.map +1 -1
  60. package/dist/src/utils/knowledge-graph-manager.d.ts +23 -1
  61. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
  62. package/dist/src/utils/knowledge-graph-manager.js +297 -69
  63. package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
  64. package/dist/src/utils/memory-entity-manager.d.ts +134 -0
  65. package/dist/src/utils/memory-entity-manager.d.ts.map +1 -0
  66. package/dist/src/utils/memory-entity-manager.js +848 -0
  67. package/dist/src/utils/memory-entity-manager.js.map +1 -0
  68. package/dist/src/utils/memory-health-scoring.d.ts +125 -0
  69. package/dist/src/utils/memory-health-scoring.d.ts.map +1 -0
  70. package/dist/src/utils/memory-health-scoring.js +277 -0
  71. package/dist/src/utils/memory-health-scoring.js.map +1 -0
  72. package/dist/src/utils/memory-migration-manager.d.ts +93 -0
  73. package/dist/src/utils/memory-migration-manager.d.ts.map +1 -0
  74. package/dist/src/utils/memory-migration-manager.js +834 -0
  75. package/dist/src/utils/memory-migration-manager.js.map +1 -0
  76. package/dist/src/utils/memory-relationship-mapper.d.ts +87 -0
  77. package/dist/src/utils/memory-relationship-mapper.d.ts.map +1 -0
  78. package/dist/src/utils/memory-relationship-mapper.js +481 -0
  79. package/dist/src/utils/memory-relationship-mapper.js.map +1 -0
  80. package/dist/src/utils/memory-rollback-manager.d.ts +93 -0
  81. package/dist/src/utils/memory-rollback-manager.d.ts.map +1 -0
  82. package/dist/src/utils/memory-rollback-manager.js +542 -0
  83. package/dist/src/utils/memory-rollback-manager.js.map +1 -0
  84. package/dist/src/utils/memory-transformation.d.ts +59 -0
  85. package/dist/src/utils/memory-transformation.d.ts.map +1 -0
  86. package/dist/src/utils/memory-transformation.js +742 -0
  87. package/dist/src/utils/memory-transformation.js.map +1 -0
  88. package/dist/src/utils/prompt-execution.d.ts.map +1 -1
  89. package/dist/src/utils/prompt-execution.js +72 -51
  90. package/dist/src/utils/prompt-execution.js.map +1 -1
  91. package/dist/src/utils/todo-file-watcher.d.ts +11 -23
  92. package/dist/src/utils/todo-file-watcher.d.ts.map +1 -1
  93. package/dist/src/utils/todo-file-watcher.js +18 -156
  94. package/dist/src/utils/todo-file-watcher.js.map +1 -1
  95. package/package.json +22 -6
  96. package/dist/src/tools/smart-score-tool.d.ts +0 -173
  97. package/dist/src/tools/smart-score-tool.d.ts.map +0 -1
  98. package/dist/src/tools/smart-score-tool.js +0 -681
  99. package/dist/src/tools/smart-score-tool.js.map +0 -1
  100. package/dist/src/tools/todo-management-tool-v2.d.ts +0 -368
  101. package/dist/src/tools/todo-management-tool-v2.d.ts.map +0 -1
  102. package/dist/src/tools/todo-management-tool-v2.js +0 -922
  103. package/dist/src/tools/todo-management-tool-v2.js.map +0 -1
  104. package/dist/src/utils/project-health-scoring.d.ts +0 -177
  105. package/dist/src/utils/project-health-scoring.d.ts.map +0 -1
  106. package/dist/src/utils/project-health-scoring.js +0 -370
  107. package/dist/src/utils/project-health-scoring.js.map +0 -1
  108. package/dist/src/utils/todo-json-manager.d.ts +0 -71
  109. package/dist/src/utils/todo-json-manager.d.ts.map +0 -1
  110. package/dist/src/utils/todo-json-manager.js +0 -396
  111. package/dist/src/utils/todo-json-manager.js.map +0 -1
  112. package/dist/src/utils/todo-markdown-converter.d.ts +0 -16
  113. package/dist/src/utils/todo-markdown-converter.d.ts.map +0 -1
  114. package/dist/src/utils/todo-markdown-converter.js +0 -362
  115. package/dist/src/utils/todo-markdown-converter.js.map +0 -1
  116. package/dist/src/utils/todo-migration.d.ts +0 -47
  117. package/dist/src/utils/todo-migration.d.ts.map +0 -1
  118. package/dist/src/utils/todo-migration.js +0 -261
  119. package/dist/src/utils/todo-migration.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-migration-manager.js","sourceRoot":"","sources":["../../../src/utils/memory-migration-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Memory Relationship Mapper
3
+ *
4
+ * Intelligent relationship mapping utility for creating connections between
5
+ * memory entities across different tools. Enables troubleshooting sessions
6
+ * to reference environment snapshots, deployment assessments to validate
7
+ * against ADRs, and builds comprehensive project knowledge graph.
8
+ */
9
+ import { MemoryEntityManager } from './memory-entity-manager.js';
10
+ import { MemoryRelationship } from '../types/memory-entities.js';
11
+ export interface CrossToolRelationshipConfig {
12
+ temporalThreshold: number;
13
+ contextSimilarityThreshold: number;
14
+ confidenceThreshold: number;
15
+ enableInferenceLearning: boolean;
16
+ }
17
+ export interface RelationshipInferenceResult {
18
+ suggestedRelationships: Array<{
19
+ sourceId: string;
20
+ targetId: string;
21
+ type: MemoryRelationship['type'];
22
+ confidence: number;
23
+ reasoning: string;
24
+ evidence: string[];
25
+ }>;
26
+ conflicts: Array<{
27
+ description: string;
28
+ entityIds: string[];
29
+ severity: 'low' | 'medium' | 'high';
30
+ recommendation: string;
31
+ }>;
32
+ }
33
+ export declare class MemoryRelationshipMapper {
34
+ private memoryManager;
35
+ private logger;
36
+ private config;
37
+ constructor(memoryManager: MemoryEntityManager, config?: Partial<CrossToolRelationshipConfig>);
38
+ /**
39
+ * Create all cross-tool relationships across the knowledge graph
40
+ */
41
+ createCrossToolRelationships(): Promise<RelationshipInferenceResult>;
42
+ /**
43
+ * Link troubleshooting sessions to environment snapshots
44
+ */
45
+ private linkTroubleshootingToEnvironment;
46
+ /**
47
+ * Link deployment assessments to ADR compliance
48
+ */
49
+ private linkDeploymentToADRs;
50
+ /**
51
+ * Link security patterns to architectural decisions
52
+ */
53
+ private linkSecurityToArchitecture;
54
+ /**
55
+ * Link failure patterns to troubleshooting sessions
56
+ */
57
+ private linkFailuresToTroubleshooting;
58
+ /**
59
+ * Link environment snapshots to deployment assessments
60
+ */
61
+ private linkEnvironmentToDeployment;
62
+ /**
63
+ * Auto-create relationships with high confidence scores
64
+ */
65
+ private autoCreateHighConfidenceRelationships;
66
+ private queryEntitiesByType;
67
+ private findTemporallyRelatedEnvironments;
68
+ private calculateEnvironmentSessionConfidence;
69
+ private calculateAdrComplianceScore;
70
+ private calculateSecurityArchitectureConfidence;
71
+ private hasSecurityArchitectureRelation;
72
+ private hasFailureSessionMatch;
73
+ private calculateFailureSessionConfidence;
74
+ private hasEnvironmentDeploymentRelation;
75
+ private calculateEnvironmentDeploymentConfidence;
76
+ private getTemporalOverlap;
77
+ private getEnvironmentMatch;
78
+ private getContextSimilarity;
79
+ private getTechnicalStackOverlap;
80
+ private getArrayOverlap;
81
+ private getTemporalProximityScore;
82
+ private getErrorSignatureSimilarity;
83
+ private getEnvironmentOverlap;
84
+ private getConfigurationOverlap;
85
+ private extractArchitectureDomain;
86
+ }
87
+ //# sourceMappingURL=memory-relationship-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-relationship-mapper.d.ts","sourceRoot":"","sources":["../../../src/utils/memory-relationship-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAEL,kBAAkB,EAOnB,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,2BAA2B;IAC1C,sBAAsB,EAAE,KAAK,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjC,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,CAAC;IACH,SAAS,EAAE,KAAK,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACpC,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAA8B;gBAEhC,aAAa,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC;IAY7F;;OAEG;IACG,4BAA4B,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAwD1E;;OAEG;YACW,gCAAgC;IA0C9C;;OAEG;YACW,oBAAoB;IA6ClC;;OAEG;YACW,0BAA0B;IAqCxC;;OAEG;YACW,6BAA6B;IAqC3C;;OAEG;YACW,2BAA2B;IAqCzC;;OAEG;YACW,qCAAqC;YAqCrC,mBAAmB;YAOnB,iCAAiC;IAc/C,OAAO,CAAC,qCAAqC;IA8B7C,OAAO,CAAC,2BAA2B;IAiEnC,OAAO,CAAC,uCAAuC;IAmB/C,OAAO,CAAC,+BAA+B;IAcvC,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,gCAAgC;IAOxC,OAAO,CAAC,wCAAwC;IAoBhD,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,2BAA2B;IAyBnC,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,yBAAyB;CAYlC"}
@@ -0,0 +1,481 @@
1
+ /**
2
+ * Memory Relationship Mapper
3
+ *
4
+ * Intelligent relationship mapping utility for creating connections between
5
+ * memory entities across different tools. Enables troubleshooting sessions
6
+ * to reference environment snapshots, deployment assessments to validate
7
+ * against ADRs, and builds comprehensive project knowledge graph.
8
+ */
9
+ import { EnhancedLogger } from './enhanced-logging.js';
10
+ import { McpAdrError } from '../types/index.js';
11
+ export class MemoryRelationshipMapper {
12
+ memoryManager;
13
+ logger;
14
+ config;
15
+ constructor(memoryManager, config) {
16
+ this.memoryManager = memoryManager;
17
+ this.logger = new EnhancedLogger();
18
+ this.config = {
19
+ temporalThreshold: 24, // 24 hours
20
+ contextSimilarityThreshold: 0.7,
21
+ confidenceThreshold: 0.8,
22
+ enableInferenceLearning: true,
23
+ ...config,
24
+ };
25
+ }
26
+ /**
27
+ * Create all cross-tool relationships across the knowledge graph
28
+ */
29
+ async createCrossToolRelationships() {
30
+ this.logger.info('Starting cross-tool relationship mapping', 'MemoryRelationshipMapper');
31
+ const allResults = {
32
+ suggestedRelationships: [],
33
+ conflicts: [],
34
+ };
35
+ try {
36
+ // 1. Link troubleshooting sessions to environment snapshots
37
+ const troubleshootingEnvResult = await this.linkTroubleshootingToEnvironment();
38
+ allResults.suggestedRelationships.push(...troubleshootingEnvResult.suggestedRelationships);
39
+ allResults.conflicts.push(...troubleshootingEnvResult.conflicts);
40
+ // 2. Link deployment assessments to ADR compliance
41
+ const deploymentAdrResult = await this.linkDeploymentToADRs();
42
+ allResults.suggestedRelationships.push(...deploymentAdrResult.suggestedRelationships);
43
+ allResults.conflicts.push(...deploymentAdrResult.conflicts);
44
+ // 3. Link security patterns to architectural decisions
45
+ const securityArchResult = await this.linkSecurityToArchitecture();
46
+ allResults.suggestedRelationships.push(...securityArchResult.suggestedRelationships);
47
+ allResults.conflicts.push(...securityArchResult.conflicts);
48
+ // 4. Link failure patterns to troubleshooting sessions
49
+ const failureTroubleshootingResult = await this.linkFailuresToTroubleshooting();
50
+ allResults.suggestedRelationships.push(...failureTroubleshootingResult.suggestedRelationships);
51
+ allResults.conflicts.push(...failureTroubleshootingResult.conflicts);
52
+ // 5. Link environment snapshots to deployment assessments
53
+ const envDeploymentResult = await this.linkEnvironmentToDeployment();
54
+ allResults.suggestedRelationships.push(...envDeploymentResult.suggestedRelationships);
55
+ allResults.conflicts.push(...envDeploymentResult.conflicts);
56
+ // 6. Auto-create high-confidence relationships
57
+ await this.autoCreateHighConfidenceRelationships(allResults.suggestedRelationships);
58
+ this.logger.info('Cross-tool relationship mapping completed', 'MemoryRelationshipMapper', {
59
+ suggestedCount: allResults.suggestedRelationships.length,
60
+ conflictCount: allResults.conflicts.length,
61
+ autoCreatedCount: allResults.suggestedRelationships.filter(r => r.confidence >= this.config.confidenceThreshold).length,
62
+ });
63
+ return allResults;
64
+ }
65
+ catch (error) {
66
+ throw new McpAdrError(`Cross-tool relationship mapping failed: ${error instanceof Error ? error.message : String(error)}`, 'RELATIONSHIP_MAPPING_ERROR');
67
+ }
68
+ }
69
+ /**
70
+ * Link troubleshooting sessions to environment snapshots
71
+ */
72
+ async linkTroubleshootingToEnvironment() {
73
+ const troubleshootingSessions = (await this.queryEntitiesByType('troubleshooting_session'));
74
+ const environmentSnapshots = (await this.queryEntitiesByType('environment_snapshot'));
75
+ const result = {
76
+ suggestedRelationships: [],
77
+ conflicts: [],
78
+ };
79
+ for (const session of troubleshootingSessions) {
80
+ const relatedEnvs = await this.findTemporallyRelatedEnvironments(session, environmentSnapshots);
81
+ for (const env of relatedEnvs) {
82
+ const confidence = this.calculateEnvironmentSessionConfidence(session, env);
83
+ if (confidence >= 0.6) {
84
+ result.suggestedRelationships.push({
85
+ sourceId: session.id,
86
+ targetId: env.id,
87
+ type: 'occurred_in',
88
+ confidence,
89
+ reasoning: `Troubleshooting session occurred during environment snapshot timeframe with matching context`,
90
+ evidence: [
91
+ `Temporal overlap: ${this.getTemporalOverlap(session.created, env.created)}`,
92
+ `Environment match: ${this.getEnvironmentMatch(session, env)}`,
93
+ `Context similarity: ${this.getContextSimilarity(session.context, env.context)}`,
94
+ ],
95
+ });
96
+ }
97
+ }
98
+ }
99
+ return result;
100
+ }
101
+ /**
102
+ * Link deployment assessments to ADR compliance
103
+ */
104
+ async linkDeploymentToADRs() {
105
+ const deploymentAssessments = (await this.queryEntitiesByType('deployment_assessment'));
106
+ const adrs = (await this.queryEntitiesByType('architectural_decision'));
107
+ this.logger.debug(`Found ${deploymentAssessments.length} deployments and ${adrs.length} ADRs`, 'MemoryRelationshipMapper');
108
+ const result = {
109
+ suggestedRelationships: [],
110
+ conflicts: [],
111
+ };
112
+ for (const deployment of deploymentAssessments) {
113
+ for (const adr of adrs) {
114
+ const compliance = this.calculateAdrComplianceScore(deployment, adr);
115
+ if (compliance.isCompliant) {
116
+ result.suggestedRelationships.push({
117
+ sourceId: deployment.id,
118
+ targetId: adr.id,
119
+ type: 'complies_with',
120
+ confidence: compliance.confidence,
121
+ reasoning: `Deployment assessment demonstrates compliance with architectural decision`,
122
+ evidence: compliance.evidence,
123
+ });
124
+ }
125
+ else if (compliance.hasConflict) {
126
+ result.conflicts.push({
127
+ description: `Deployment assessment conflicts with architectural decision`,
128
+ entityIds: [deployment.id, adr.id],
129
+ severity: compliance.conflictSeverity,
130
+ recommendation: compliance.recommendation,
131
+ });
132
+ }
133
+ }
134
+ }
135
+ return result;
136
+ }
137
+ /**
138
+ * Link security patterns to architectural decisions
139
+ */
140
+ async linkSecurityToArchitecture() {
141
+ const securityPatterns = (await this.queryEntitiesByType('security_pattern'));
142
+ const adrs = (await this.queryEntitiesByType('architectural_decision'));
143
+ const result = {
144
+ suggestedRelationships: [],
145
+ conflicts: [],
146
+ };
147
+ for (const security of securityPatterns) {
148
+ for (const adr of adrs) {
149
+ if (this.hasSecurityArchitectureRelation(security, adr)) {
150
+ const confidence = this.calculateSecurityArchitectureConfidence(security, adr);
151
+ result.suggestedRelationships.push({
152
+ sourceId: security.id,
153
+ targetId: adr.id,
154
+ type: 'detects',
155
+ confidence,
156
+ reasoning: 'Security pattern provides protection for architectural decision',
157
+ evidence: [
158
+ `Security type: ${security.securityData?.contentType || 'unknown'}`,
159
+ `Risk level: ${security.securityData?.riskAssessment?.overallRisk || 'unknown'}`,
160
+ `Architecture domain: ${this.extractArchitectureDomain(adr)}`,
161
+ ],
162
+ });
163
+ }
164
+ }
165
+ }
166
+ return result;
167
+ }
168
+ /**
169
+ * Link failure patterns to troubleshooting sessions
170
+ */
171
+ async linkFailuresToTroubleshooting() {
172
+ const failurePatterns = (await this.queryEntitiesByType('failure_pattern'));
173
+ const troubleshootingSessions = (await this.queryEntitiesByType('troubleshooting_session'));
174
+ const result = {
175
+ suggestedRelationships: [],
176
+ conflicts: [],
177
+ };
178
+ for (const failure of failurePatterns) {
179
+ for (const session of troubleshootingSessions) {
180
+ if (this.hasFailureSessionMatch(failure, session)) {
181
+ const confidence = this.calculateFailureSessionConfidence(failure, session);
182
+ result.suggestedRelationships.push({
183
+ sourceId: failure.id,
184
+ targetId: session.id,
185
+ type: 'addresses',
186
+ confidence,
187
+ reasoning: `Failure pattern matches troubleshooting session failure signature`,
188
+ evidence: [
189
+ `Failure type match: ${failure.patternData?.failureType || 'unknown'} === ${session.sessionData?.failurePattern?.failureType || 'unknown'}`,
190
+ `Error signature similarity: ${this.getErrorSignatureSimilarity(failure, session)}`,
191
+ `Environment overlap: ${this.getEnvironmentOverlap(failure, session)}`,
192
+ ],
193
+ });
194
+ }
195
+ }
196
+ }
197
+ return result;
198
+ }
199
+ /**
200
+ * Link environment snapshots to deployment assessments
201
+ */
202
+ async linkEnvironmentToDeployment() {
203
+ const environmentSnapshots = (await this.queryEntitiesByType('environment_snapshot'));
204
+ const deploymentAssessments = (await this.queryEntitiesByType('deployment_assessment'));
205
+ const result = {
206
+ suggestedRelationships: [],
207
+ conflicts: [],
208
+ };
209
+ for (const env of environmentSnapshots) {
210
+ for (const deployment of deploymentAssessments) {
211
+ if (this.hasEnvironmentDeploymentRelation(env, deployment)) {
212
+ const confidence = this.calculateEnvironmentDeploymentConfidence(env, deployment);
213
+ result.suggestedRelationships.push({
214
+ sourceId: env.id,
215
+ targetId: deployment.id,
216
+ type: 'validates',
217
+ confidence,
218
+ reasoning: `Environment snapshot validates deployment assessment configuration`,
219
+ evidence: [
220
+ `Environment type: ${env.environmentData?.environmentType || 'unknown'}`,
221
+ `Deployment environment: ${deployment.assessmentData?.environment || 'unknown'}`,
222
+ `Configuration overlap: ${this.getConfigurationOverlap(env, deployment)}`,
223
+ ],
224
+ });
225
+ }
226
+ }
227
+ }
228
+ return result;
229
+ }
230
+ /**
231
+ * Auto-create relationships with high confidence scores
232
+ */
233
+ async autoCreateHighConfidenceRelationships(suggestedRelationships) {
234
+ const highConfidenceRelationships = suggestedRelationships.filter(rel => rel.confidence >= this.config.confidenceThreshold);
235
+ for (const suggestion of highConfidenceRelationships) {
236
+ try {
237
+ await this.memoryManager.upsertRelationship({
238
+ sourceId: suggestion.sourceId,
239
+ targetId: suggestion.targetId,
240
+ type: suggestion.type,
241
+ strength: suggestion.confidence,
242
+ confidence: suggestion.confidence,
243
+ context: suggestion.reasoning,
244
+ evidence: suggestion.evidence,
245
+ });
246
+ this.logger.debug('Auto-created high-confidence relationship', 'MemoryRelationshipMapper', {
247
+ sourceId: suggestion.sourceId,
248
+ targetId: suggestion.targetId,
249
+ type: suggestion.type,
250
+ confidence: suggestion.confidence,
251
+ });
252
+ }
253
+ catch (error) {
254
+ this.logger.warn('Failed to auto-create relationship', 'MemoryRelationshipMapper', {
255
+ error: error instanceof Error ? error.message : String(error),
256
+ sourceId: suggestion.sourceId,
257
+ targetId: suggestion.targetId,
258
+ });
259
+ }
260
+ }
261
+ }
262
+ // Helper methods for relationship inference
263
+ async queryEntitiesByType(type) {
264
+ const result = await this.memoryManager.queryEntities({
265
+ entityTypes: [type],
266
+ });
267
+ return result.entities;
268
+ }
269
+ async findTemporallyRelatedEnvironments(session, environments) {
270
+ const sessionTime = new Date(session.created).getTime();
271
+ const thresholdMs = this.config.temporalThreshold * 60 * 60 * 1000; // Convert hours to ms
272
+ return environments.filter(env => {
273
+ const envTime = new Date(env.created).getTime();
274
+ const timeDiff = Math.abs(sessionTime - envTime);
275
+ return timeDiff <= thresholdMs;
276
+ });
277
+ }
278
+ calculateEnvironmentSessionConfidence(session, env) {
279
+ let confidence = 0.5; // Base confidence
280
+ // Temporal proximity (0.0 - 0.3)
281
+ const temporalScore = this.getTemporalProximityScore(session.created, env.created);
282
+ confidence += temporalScore * 0.3;
283
+ // Environment type match (0.0 - 0.2)
284
+ const sessionEnv = session.sessionData?.environmentContext?.['environment'] || 'unknown';
285
+ if (sessionEnv === env.environmentData?.environmentType) {
286
+ confidence += 0.2;
287
+ }
288
+ // Context similarity (0.0 - 0.3)
289
+ const contextScore = this.getContextSimilarity(session.context, env.context);
290
+ confidence += contextScore * 0.3;
291
+ // Technical stack overlap (0.0 - 0.2)
292
+ const stackOverlap = this.getTechnicalStackOverlap(session.context.technicalStack, env.context.technicalStack);
293
+ confidence += stackOverlap * 0.2;
294
+ return Math.min(1.0, confidence);
295
+ }
296
+ calculateAdrComplianceScore(deployment, adr) {
297
+ const evidence = [];
298
+ let complianceScore = 0;
299
+ let hasConflict = false;
300
+ let conflictSeverity = 'low';
301
+ // Check if deployment follows ADR decisions
302
+ const deploymentTech = deployment.context.technicalStack;
303
+ // Extract technical stack for comparison
304
+ // Technology alignment
305
+ const techAlignment = this.getTechnicalStackOverlap(deploymentTech, adr.context.technicalStack);
306
+ complianceScore += techAlignment * 0.4;
307
+ evidence.push(`Technology alignment: ${(techAlignment * 100).toFixed(1)}%`);
308
+ // Decision implementation status
309
+ if (adr.decisionData?.implementationStatus === 'completed') {
310
+ complianceScore += 0.3;
311
+ evidence.push('ADR implementation is complete');
312
+ }
313
+ else if (adr.decisionData?.implementationStatus === 'in_progress') {
314
+ complianceScore += 0.2;
315
+ evidence.push('ADR implementation in progress');
316
+ }
317
+ // Check for conflicts
318
+ this.logger.debug(`Checking conflict: readiness=${deployment.assessmentData?.readinessScore || 'unknown'}, status=${adr.decisionData?.status || 'unknown'}`, 'MemoryRelationshipMapper');
319
+ if (deployment.assessmentData?.readinessScore != null &&
320
+ deployment.assessmentData.readinessScore < 0.7 &&
321
+ adr.decisionData?.status === 'accepted') {
322
+ hasConflict = true;
323
+ conflictSeverity = deployment.assessmentData.readinessScore < 0.5 ? 'high' : 'medium';
324
+ evidence.push('Low deployment readiness conflicts with accepted ADR');
325
+ this.logger.debug(`Conflict detected: severity=${conflictSeverity}`, 'MemoryRelationshipMapper');
326
+ }
327
+ return {
328
+ isCompliant: complianceScore >= 0.6,
329
+ hasConflict,
330
+ confidence: complianceScore,
331
+ conflictSeverity,
332
+ evidence,
333
+ recommendation: hasConflict
334
+ ? 'Review deployment readiness issues and ADR implementation status'
335
+ : 'Deployment demonstrates good ADR compliance',
336
+ };
337
+ }
338
+ calculateSecurityArchitectureConfidence(security, adr) {
339
+ let confidence = 0.3; // Base confidence
340
+ // Risk level alignment
341
+ const adrRiskMentioned = (adr.decisionData?.consequences?.risks?.length || 0) > 0;
342
+ if (adrRiskMentioned && security.securityData?.riskAssessment?.overallRisk === 'high') {
343
+ confidence += 0.3;
344
+ }
345
+ // Context overlap
346
+ const contextOverlap = this.getContextSimilarity(security.context, adr.context);
347
+ confidence += contextOverlap * 0.4;
348
+ return Math.min(1.0, confidence);
349
+ }
350
+ hasSecurityArchitectureRelation(security, adr) {
351
+ // Check if security pattern is relevant to the architectural decision domain
352
+ const securityTags = security.tags || [];
353
+ const adrTags = adr.tags || [];
354
+ const hasCommonTags = securityTags.some(tag => adrTags.includes(tag));
355
+ const hasSecurityRisks = (adr.decisionData?.consequences?.risks?.length || 0) > 0;
356
+ return hasCommonTags || hasSecurityRisks;
357
+ }
358
+ hasFailureSessionMatch(failure, session) {
359
+ return (failure.patternData?.failureType === session.sessionData?.failurePattern?.failureType &&
360
+ this.getErrorSignatureSimilarity(failure, session) > 0.7);
361
+ }
362
+ calculateFailureSessionConfidence(failure, session) {
363
+ let confidence = 0.3;
364
+ // Failure type exact match
365
+ if (failure.patternData?.failureType === session.sessionData?.failurePattern?.failureType) {
366
+ confidence += 0.4;
367
+ }
368
+ // Error signature similarity
369
+ const errorSimilarity = this.getErrorSignatureSimilarity(failure, session);
370
+ confidence += errorSimilarity * 0.3;
371
+ return Math.min(1.0, confidence);
372
+ }
373
+ hasEnvironmentDeploymentRelation(env, deployment) {
374
+ return env.environmentData?.environmentType === deployment.assessmentData?.environment;
375
+ }
376
+ calculateEnvironmentDeploymentConfidence(env, deployment) {
377
+ let confidence = 0.4; // Base confidence
378
+ // Environment type exact match
379
+ if (env.environmentData?.environmentType === deployment.assessmentData?.environment) {
380
+ confidence += 0.3;
381
+ }
382
+ // Configuration overlap
383
+ const configOverlap = this.getConfigurationOverlap(env, deployment);
384
+ confidence += configOverlap * 0.3;
385
+ return Math.min(1.0, confidence);
386
+ }
387
+ // Utility methods for similarity calculations
388
+ getTemporalOverlap(time1, time2) {
389
+ const diff = Math.abs(new Date(time1).getTime() - new Date(time2).getTime());
390
+ const hours = diff / (1000 * 60 * 60);
391
+ return `${hours.toFixed(1)} hours apart`;
392
+ }
393
+ getEnvironmentMatch(session, env) {
394
+ const sessionEnv = session.sessionData?.environmentContext?.['environment'] || 'unknown';
395
+ const envType = env.environmentData?.environmentType || 'unknown';
396
+ return sessionEnv === envType ? 'exact match' : 'different environments';
397
+ }
398
+ getContextSimilarity(context1, context2) {
399
+ // Simple context similarity based on shared technical stack and environmental factors
400
+ const stack1 = context1.technicalStack || [];
401
+ const stack2 = context2.technicalStack || [];
402
+ const env1 = context1.environmentalFactors || [];
403
+ const env2 = context2.environmentalFactors || [];
404
+ const stackOverlap = this.getTechnicalStackOverlap(stack1, stack2);
405
+ const envOverlap = this.getArrayOverlap(env1, env2);
406
+ return (stackOverlap + envOverlap) / 2;
407
+ }
408
+ getTechnicalStackOverlap(stack1, stack2) {
409
+ if (stack1.length === 0 && stack2.length === 0)
410
+ return 1.0;
411
+ if (stack1.length === 0 || stack2.length === 0)
412
+ return 0.0;
413
+ const commonTech = stack1.filter(tech => stack2.includes(tech));
414
+ const totalUniqueTech = new Set([...stack1, ...stack2]).size;
415
+ return commonTech.length / totalUniqueTech;
416
+ }
417
+ getArrayOverlap(arr1, arr2) {
418
+ if (arr1.length === 0 && arr2.length === 0)
419
+ return 1.0;
420
+ if (arr1.length === 0 || arr2.length === 0)
421
+ return 0.0;
422
+ const common = arr1.filter(item => arr2.includes(item));
423
+ const totalUnique = new Set([...arr1, ...arr2]).size;
424
+ return common.length / totalUnique;
425
+ }
426
+ getTemporalProximityScore(time1, time2) {
427
+ const diff = Math.abs(new Date(time1).getTime() - new Date(time2).getTime());
428
+ const hours = diff / (1000 * 60 * 60);
429
+ if (hours <= 1)
430
+ return 1.0;
431
+ if (hours <= 6)
432
+ return 0.8;
433
+ if (hours <= 24)
434
+ return 0.6;
435
+ if (hours <= 168)
436
+ return 0.4; // 1 week
437
+ return 0.0;
438
+ }
439
+ getErrorSignatureSimilarity(failure, session) {
440
+ const failureSignature = failure.patternData.pattern;
441
+ const sessionSignature = session.sessionData.failurePattern.errorSignature;
442
+ // Simple string similarity (in a real implementation, you might use Levenshtein distance)
443
+ if (failureSignature === sessionSignature)
444
+ return 1.0;
445
+ if (failureSignature.includes(sessionSignature) ||
446
+ sessionSignature.includes(failureSignature)) {
447
+ return 0.8;
448
+ }
449
+ const commonWords = failureSignature
450
+ .split(' ')
451
+ .filter((word) => sessionSignature.includes(word) && word.length > 3);
452
+ const totalWords = new Set([...failureSignature.split(' '), ...sessionSignature.split(' ')])
453
+ .size;
454
+ return commonWords.length / totalWords;
455
+ }
456
+ getEnvironmentOverlap(failure, session) {
457
+ const failureEnvs = failure.patternData.environments || [];
458
+ const sessionEnv = session.sessionData?.environmentContext?.['environment'] || 'unknown';
459
+ return failureEnvs.includes(sessionEnv) ? 'environment match' : 'different environments';
460
+ }
461
+ getConfigurationOverlap(env, _deployment) {
462
+ // Compare configuration elements between environment snapshot and deployment
463
+ const envConfig = env.environmentData.configuration || {};
464
+ // This is a simplified comparison - in practice, you'd compare specific config elements
465
+ if (typeof envConfig === 'object' && Object.keys(envConfig).length > 0) {
466
+ return 0.7; // Assume moderate overlap when config data is present
467
+ }
468
+ return 0.3; // Low overlap when limited config data
469
+ }
470
+ extractArchitectureDomain(adr) {
471
+ const tags = adr.tags || [];
472
+ const commonDomains = ['database', 'frontend', 'backend', 'security', 'infrastructure', 'api'];
473
+ for (const domain of commonDomains) {
474
+ if (tags.some(tag => tag.toLowerCase().includes(domain))) {
475
+ return domain;
476
+ }
477
+ }
478
+ return 'general';
479
+ }
480
+ }
481
+ //# sourceMappingURL=memory-relationship-mapper.js.map