mcp-adr-analysis-server 1.1.0

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 (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +608 -0
  3. package/dist/src/index.d.ts +10 -0
  4. package/dist/src/index.d.ts.map +1 -0
  5. package/dist/src/index.js +1722 -0
  6. package/dist/src/index.js.map +1 -0
  7. package/dist/src/prompts/adr-suggestion-prompts.d.ts +24 -0
  8. package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -0
  9. package/dist/src/prompts/adr-suggestion-prompts.js +383 -0
  10. package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -0
  11. package/dist/src/prompts/analysis-prompts.d.ts +24 -0
  12. package/dist/src/prompts/analysis-prompts.d.ts.map +1 -0
  13. package/dist/src/prompts/analysis-prompts.js +489 -0
  14. package/dist/src/prompts/analysis-prompts.js.map +1 -0
  15. package/dist/src/prompts/deployment-analysis-prompts.d.ts +54 -0
  16. package/dist/src/prompts/deployment-analysis-prompts.d.ts.map +1 -0
  17. package/dist/src/prompts/deployment-analysis-prompts.js +712 -0
  18. package/dist/src/prompts/deployment-analysis-prompts.js.map +1 -0
  19. package/dist/src/prompts/environment-analysis-prompts.d.ts +34 -0
  20. package/dist/src/prompts/environment-analysis-prompts.d.ts.map +1 -0
  21. package/dist/src/prompts/environment-analysis-prompts.js +724 -0
  22. package/dist/src/prompts/environment-analysis-prompts.js.map +1 -0
  23. package/dist/src/prompts/index.d.ts +43 -0
  24. package/dist/src/prompts/index.d.ts.map +1 -0
  25. package/dist/src/prompts/index.js +384 -0
  26. package/dist/src/prompts/index.js.map +1 -0
  27. package/dist/src/prompts/research-integration-prompts.d.ts +43 -0
  28. package/dist/src/prompts/research-integration-prompts.d.ts.map +1 -0
  29. package/dist/src/prompts/research-integration-prompts.js +398 -0
  30. package/dist/src/prompts/research-integration-prompts.js.map +1 -0
  31. package/dist/src/prompts/research-question-prompts.d.ts +75 -0
  32. package/dist/src/prompts/research-question-prompts.d.ts.map +1 -0
  33. package/dist/src/prompts/research-question-prompts.js +695 -0
  34. package/dist/src/prompts/research-question-prompts.js.map +1 -0
  35. package/dist/src/prompts/rule-generation-prompts.d.ts +63 -0
  36. package/dist/src/prompts/rule-generation-prompts.d.ts.map +1 -0
  37. package/dist/src/prompts/rule-generation-prompts.js +630 -0
  38. package/dist/src/prompts/rule-generation-prompts.js.map +1 -0
  39. package/dist/src/prompts/security-prompts.d.ts +23 -0
  40. package/dist/src/prompts/security-prompts.d.ts.map +1 -0
  41. package/dist/src/prompts/security-prompts.js +287 -0
  42. package/dist/src/prompts/security-prompts.js.map +1 -0
  43. package/dist/src/resources/index.d.ts +24 -0
  44. package/dist/src/resources/index.d.ts.map +1 -0
  45. package/dist/src/resources/index.js +458 -0
  46. package/dist/src/resources/index.js.map +1 -0
  47. package/dist/src/tools/adr-suggestion-tool.d.ts +40 -0
  48. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -0
  49. package/dist/src/tools/adr-suggestion-tool.js +338 -0
  50. package/dist/src/tools/adr-suggestion-tool.js.map +1 -0
  51. package/dist/src/tools/content-masking-tool.d.ts +52 -0
  52. package/dist/src/tools/content-masking-tool.d.ts.map +1 -0
  53. package/dist/src/tools/content-masking-tool.js +206 -0
  54. package/dist/src/tools/content-masking-tool.js.map +1 -0
  55. package/dist/src/tools/deployment-analysis-tool.d.ts +39 -0
  56. package/dist/src/tools/deployment-analysis-tool.d.ts.map +1 -0
  57. package/dist/src/tools/deployment-analysis-tool.js +310 -0
  58. package/dist/src/tools/deployment-analysis-tool.js.map +1 -0
  59. package/dist/src/tools/environment-analysis-tool.d.ts +16 -0
  60. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -0
  61. package/dist/src/tools/environment-analysis-tool.js +298 -0
  62. package/dist/src/tools/environment-analysis-tool.js.map +1 -0
  63. package/dist/src/tools/research-integration-tool.d.ts +44 -0
  64. package/dist/src/tools/research-integration-tool.d.ts.map +1 -0
  65. package/dist/src/tools/research-integration-tool.js +429 -0
  66. package/dist/src/tools/research-integration-tool.js.map +1 -0
  67. package/dist/src/tools/research-question-tool.d.ts +55 -0
  68. package/dist/src/tools/research-question-tool.d.ts.map +1 -0
  69. package/dist/src/tools/research-question-tool.js +333 -0
  70. package/dist/src/tools/research-question-tool.js.map +1 -0
  71. package/dist/src/tools/rule-generation-tool.d.ts +49 -0
  72. package/dist/src/tools/rule-generation-tool.d.ts.map +1 -0
  73. package/dist/src/tools/rule-generation-tool.js +432 -0
  74. package/dist/src/tools/rule-generation-tool.js.map +1 -0
  75. package/dist/src/types/index.d.ts +531 -0
  76. package/dist/src/types/index.d.ts.map +1 -0
  77. package/dist/src/types/index.js +129 -0
  78. package/dist/src/types/index.js.map +1 -0
  79. package/dist/src/utils/adr-suggestions.d.ts +104 -0
  80. package/dist/src/utils/adr-suggestions.d.ts.map +1 -0
  81. package/dist/src/utils/adr-suggestions.js +228 -0
  82. package/dist/src/utils/adr-suggestions.js.map +1 -0
  83. package/dist/src/utils/cache.d.ts +51 -0
  84. package/dist/src/utils/cache.d.ts.map +1 -0
  85. package/dist/src/utils/cache.js +243 -0
  86. package/dist/src/utils/cache.js.map +1 -0
  87. package/dist/src/utils/config.d.ts +65 -0
  88. package/dist/src/utils/config.d.ts.map +1 -0
  89. package/dist/src/utils/config.js +118 -0
  90. package/dist/src/utils/config.js.map +1 -0
  91. package/dist/src/utils/content-masking.d.ts +79 -0
  92. package/dist/src/utils/content-masking.d.ts.map +1 -0
  93. package/dist/src/utils/content-masking.js +203 -0
  94. package/dist/src/utils/content-masking.js.map +1 -0
  95. package/dist/src/utils/deployment-analysis.d.ts +67 -0
  96. package/dist/src/utils/deployment-analysis.d.ts.map +1 -0
  97. package/dist/src/utils/deployment-analysis.js +263 -0
  98. package/dist/src/utils/deployment-analysis.js.map +1 -0
  99. package/dist/src/utils/environment-analysis.d.ts +76 -0
  100. package/dist/src/utils/environment-analysis.d.ts.map +1 -0
  101. package/dist/src/utils/environment-analysis.js +329 -0
  102. package/dist/src/utils/environment-analysis.js.map +1 -0
  103. package/dist/src/utils/file-system.d.ts +63 -0
  104. package/dist/src/utils/file-system.d.ts.map +1 -0
  105. package/dist/src/utils/file-system.js +189 -0
  106. package/dist/src/utils/file-system.js.map +1 -0
  107. package/dist/src/utils/output-masking.d.ts +45 -0
  108. package/dist/src/utils/output-masking.d.ts.map +1 -0
  109. package/dist/src/utils/output-masking.js +200 -0
  110. package/dist/src/utils/output-masking.js.map +1 -0
  111. package/dist/src/utils/research-documentation.d.ts +58 -0
  112. package/dist/src/utils/research-documentation.d.ts.map +1 -0
  113. package/dist/src/utils/research-documentation.js +438 -0
  114. package/dist/src/utils/research-documentation.js.map +1 -0
  115. package/dist/src/utils/research-integration.d.ts +89 -0
  116. package/dist/src/utils/research-integration.d.ts.map +1 -0
  117. package/dist/src/utils/research-integration.js +432 -0
  118. package/dist/src/utils/research-integration.js.map +1 -0
  119. package/dist/src/utils/research-questions.d.ts +97 -0
  120. package/dist/src/utils/research-questions.d.ts.map +1 -0
  121. package/dist/src/utils/research-questions.js +319 -0
  122. package/dist/src/utils/research-questions.js.map +1 -0
  123. package/dist/src/utils/rule-format.d.ts +76 -0
  124. package/dist/src/utils/rule-format.d.ts.map +1 -0
  125. package/dist/src/utils/rule-format.js +257 -0
  126. package/dist/src/utils/rule-format.js.map +1 -0
  127. package/dist/src/utils/rule-generation.d.ts +86 -0
  128. package/dist/src/utils/rule-generation.d.ts.map +1 -0
  129. package/dist/src/utils/rule-generation.js +330 -0
  130. package/dist/src/utils/rule-generation.js.map +1 -0
  131. package/package.json +71 -0
@@ -0,0 +1,438 @@
1
+ /**
2
+ * Research documentation utilities
3
+ * Creates structured research documentation in docs/research/
4
+ */
5
+ import { McpAdrError } from '../types/index.js';
6
+ /**
7
+ * Create perform_research.md file for a research topic
8
+ */
9
+ export async function createResearchDocument(researchData, outputDirectory = 'docs/research') {
10
+ try {
11
+ const { promises: fs } = await import('fs');
12
+ const { join } = await import('path');
13
+ // Ensure output directory exists
14
+ await fs.mkdir(outputDirectory, { recursive: true });
15
+ // Generate research document content
16
+ const content = generateResearchDocumentContent(researchData);
17
+ // Create filename
18
+ const filename = `perform_research_${researchData.id.toLowerCase().replace(/[^a-z0-9]/g, '_')}.md`;
19
+ const filePath = join(outputDirectory, filename);
20
+ // Write file
21
+ await fs.writeFile(filePath, content, 'utf-8');
22
+ return {
23
+ filePath,
24
+ content,
25
+ };
26
+ }
27
+ catch (error) {
28
+ throw new McpAdrError(`Failed to create research document: ${error instanceof Error ? error.message : String(error)}`, 'RESEARCH_DOCUMENT_ERROR');
29
+ }
30
+ }
31
+ /**
32
+ * Generate research document content in markdown format
33
+ */
34
+ function generateResearchDocumentContent(research) {
35
+ const now = new Date().toISOString().split('T')[0];
36
+ return `# Research: ${research.title}
37
+
38
+ **Research ID**: ${research.id}
39
+ **Category**: ${research.category}
40
+ **Status**: ${research.status}
41
+ **Priority**: ${research.priority}
42
+ **Created**: ${now}
43
+
44
+ ## Overview
45
+
46
+ This document tracks the research progress for "${research.title}". It includes research questions, methodology, findings, and recommendations.
47
+
48
+ ## Research Questions
49
+
50
+ ${research.questions
51
+ .map((q, index) => `
52
+ ### ${index + 1}. ${q.question}
53
+
54
+ **Question ID**: ${q.id}
55
+ **Type**: ${q.type}
56
+ **Methodology**: ${q.methodology}
57
+
58
+ **Status**: [ ] Not Started / [ ] In Progress / [ ] Completed
59
+
60
+ **Findings**:
61
+ - [ ] Finding 1
62
+ - [ ] Finding 2
63
+ - [ ] Finding 3
64
+
65
+ **Notes**:
66
+ <!-- Add research notes here -->
67
+
68
+ ---
69
+ `)
70
+ .join('')}
71
+
72
+ ## Timeline & Milestones
73
+
74
+ **Start Date**: ${research.timeline.startDate}
75
+ **End Date**: ${research.timeline.endDate}
76
+
77
+ ### Milestones
78
+
79
+ ${research.timeline.milestones
80
+ .map(milestone => `
81
+ - **${milestone.name}** (${milestone.date}): ${milestone.description}
82
+ `)
83
+ .join('')}
84
+
85
+ ## Resources Required
86
+
87
+ ${research.resources
88
+ .map(resource => `
89
+ - **${resource.type}**: ${resource.description} (Status: ${resource.status})
90
+ `)
91
+ .join('')}
92
+
93
+ ## Research Progress
94
+
95
+ ### Current Status
96
+ - [ ] Research planning completed
97
+ - [ ] Resources secured
98
+ - [ ] Research questions defined
99
+ - [ ] Methodology established
100
+ - [ ] Data collection started
101
+ - [ ] Analysis in progress
102
+ - [ ] Findings documented
103
+ - [ ] Recommendations formulated
104
+ - [ ] Research completed
105
+
106
+ ### Progress Notes
107
+
108
+ | Date | Progress | Notes |
109
+ |------|----------|-------|
110
+ | ${now} | Research document created | Initial research planning |
111
+ <!-- Add progress entries here -->
112
+
113
+ ## Findings
114
+
115
+ ${research.findings.length > 0
116
+ ? research.findings
117
+ .map(finding => `
118
+ ### Finding: ${finding.finding}
119
+
120
+ **Date**: ${finding.date}
121
+ **Confidence**: ${finding.confidence * 100}%
122
+ **Impact**: ${finding.impact}
123
+
124
+ **Details**:
125
+ <!-- Add detailed finding information here -->
126
+
127
+ ---
128
+ `)
129
+ .join('')
130
+ : `
131
+ <!-- Findings will be documented here as research progresses -->
132
+
133
+ ### Template for Findings
134
+
135
+ **Finding**: [Brief description]
136
+ **Date**: [Date of finding]
137
+ **Confidence**: [0-100%]
138
+ **Impact**: [Low/Medium/High/Critical]
139
+
140
+ **Details**:
141
+ [Detailed explanation of the finding]
142
+
143
+ **Evidence**:
144
+ - [Supporting evidence 1]
145
+ - [Supporting evidence 2]
146
+
147
+ **Implications**:
148
+ - [Implication 1]
149
+ - [Implication 2]
150
+
151
+ ---
152
+ `}
153
+
154
+ ## Recommendations
155
+
156
+ ${research.recommendations.length > 0
157
+ ? research.recommendations
158
+ .map((rec, index) => `
159
+ ### Recommendation ${index + 1}: ${rec.recommendation}
160
+
161
+ **Priority**: ${rec.priority}
162
+ **Rationale**: ${rec.rationale}
163
+ **Implementation**: ${rec.implementation}
164
+
165
+ ---
166
+ `)
167
+ .join('')
168
+ : `
169
+ <!-- Recommendations will be documented here based on research findings -->
170
+
171
+ ### Template for Recommendations
172
+
173
+ **Recommendation**: [Brief description]
174
+ **Priority**: [Critical/High/Medium/Low]
175
+ **Rationale**: [Why this recommendation is important]
176
+ **Implementation**: [How to implement this recommendation]
177
+
178
+ **Expected Benefits**:
179
+ - [Benefit 1]
180
+ - [Benefit 2]
181
+
182
+ **Risks & Mitigation**:
183
+ - [Risk 1]: [Mitigation strategy]
184
+ - [Risk 2]: [Mitigation strategy]
185
+
186
+ **Success Criteria**:
187
+ - [Criteria 1]
188
+ - [Criteria 2]
189
+
190
+ ---
191
+ `}
192
+
193
+ ## Research Methodology
194
+
195
+ ### Approach
196
+ <!-- Document the research approach and methodology here -->
197
+
198
+ ### Data Collection
199
+ <!-- Document data collection methods and sources -->
200
+
201
+ ### Analysis Methods
202
+ <!-- Document analysis methods and tools -->
203
+
204
+ ### Validation Approach
205
+ <!-- Document how findings will be validated -->
206
+
207
+ ## Risk Management
208
+
209
+ ### Identified Risks
210
+ <!-- Document potential risks to research success -->
211
+
212
+ ### Mitigation Strategies
213
+ <!-- Document risk mitigation approaches -->
214
+
215
+ ## Quality Assurance
216
+
217
+ ### Review Process
218
+ <!-- Document peer review and validation process -->
219
+
220
+ ### Documentation Standards
221
+ <!-- Document quality standards for research documentation -->
222
+
223
+ ## Knowledge Sharing
224
+
225
+ ### Stakeholders
226
+ <!-- List stakeholders who should be informed of findings -->
227
+
228
+ ### Communication Plan
229
+ <!-- Document how findings will be communicated -->
230
+
231
+ ### Follow-up Actions
232
+ <!-- Document planned follow-up actions based on research -->
233
+
234
+ ## References
235
+
236
+ <!-- Add references to relevant ADRs, documentation, and external sources -->
237
+
238
+ ### Related ADRs
239
+ <!-- Link to relevant Architectural Decision Records -->
240
+
241
+ ### External References
242
+ <!-- Link to external research, documentation, and resources -->
243
+
244
+ ## Appendices
245
+
246
+ ### Appendix A: Research Data
247
+ <!-- Include raw research data and supporting materials -->
248
+
249
+ ### Appendix B: Analysis Details
250
+ <!-- Include detailed analysis and calculations -->
251
+
252
+ ### Appendix C: Additional Resources
253
+ <!-- Include additional supporting materials -->
254
+
255
+ ---
256
+
257
+ **Document Status**: ${research.status}
258
+ **Last Updated**: ${now}
259
+ **Next Review**: [Schedule next review date]
260
+
261
+ <!--
262
+ Research Document Guidelines:
263
+ 1. Update progress regularly
264
+ 2. Document all findings with evidence
265
+ 3. Include confidence levels for findings
266
+ 4. Link to relevant ADRs and documentation
267
+ 5. Share findings with stakeholders
268
+ 6. Archive completed research appropriately
269
+ -->
270
+ `;
271
+ }
272
+ /**
273
+ * Create research index file
274
+ */
275
+ export async function createResearchIndex(researchDocuments, outputDirectory = 'docs/research') {
276
+ try {
277
+ const { promises: fs } = await import('fs');
278
+ const { join } = await import('path');
279
+ // Ensure output directory exists
280
+ await fs.mkdir(outputDirectory, { recursive: true });
281
+ // Generate index content
282
+ const content = generateResearchIndexContent(researchDocuments);
283
+ const filePath = join(outputDirectory, 'README.md');
284
+ // Write file
285
+ await fs.writeFile(filePath, content, 'utf-8');
286
+ return {
287
+ filePath,
288
+ content,
289
+ };
290
+ }
291
+ catch (error) {
292
+ throw new McpAdrError(`Failed to create research index: ${error instanceof Error ? error.message : String(error)}`, 'RESEARCH_INDEX_ERROR');
293
+ }
294
+ }
295
+ /**
296
+ * Generate research index content
297
+ */
298
+ function generateResearchIndexContent(researchDocuments) {
299
+ const now = new Date().toISOString().split('T')[0];
300
+ // Group by status
301
+ const byStatus = researchDocuments.reduce((acc, doc) => {
302
+ if (!acc[doc.status])
303
+ acc[doc.status] = [];
304
+ acc[doc.status].push(doc);
305
+ return acc;
306
+ }, {});
307
+ // Group by category
308
+ const byCategory = researchDocuments.reduce((acc, doc) => {
309
+ if (!acc[doc.category])
310
+ acc[doc.category] = [];
311
+ acc[doc.category].push(doc);
312
+ return acc;
313
+ }, {});
314
+ return `# Research Documentation Index
315
+
316
+ This directory contains all research documentation for the project. Each research topic has its own \`perform_research_*.md\` file with detailed tracking and findings.
317
+
318
+ **Last Updated**: ${now}
319
+ **Total Research Topics**: ${researchDocuments.length}
320
+
321
+ ## Quick Stats
322
+
323
+ - **Planned**: ${byStatus['planned']?.length || 0}
324
+ - **In Progress**: ${byStatus['in_progress']?.length || 0}
325
+ - **Completed**: ${byStatus['completed']?.length || 0}
326
+ - **Cancelled**: ${byStatus['cancelled']?.length || 0}
327
+
328
+ ## Research by Status
329
+
330
+ ### 🔄 In Progress
331
+ ${byStatus['in_progress']
332
+ ?.map(doc => `
333
+ - [${doc.title}](./perform_research_${doc.id.toLowerCase().replace(/[^a-z0-9]/g, '_')}.md) (${doc.priority} priority)
334
+ `)
335
+ .join('') || 'No research currently in progress.'}
336
+
337
+ ### 📋 Planned
338
+ ${byStatus['planned']
339
+ ?.map(doc => `
340
+ - [${doc.title}](./perform_research_${doc.id.toLowerCase().replace(/[^a-z0-9]/g, '_')}.md) (${doc.priority} priority)
341
+ `)
342
+ .join('') || 'No research currently planned.'}
343
+
344
+ ### ✅ Completed
345
+ ${byStatus['completed']
346
+ ?.map(doc => `
347
+ - [${doc.title}](./perform_research_${doc.id.toLowerCase().replace(/[^a-z0-9]/g, '_')}.md) (${doc.priority} priority)
348
+ `)
349
+ .join('') || 'No research completed yet.'}
350
+
351
+ ### ❌ Cancelled
352
+ ${byStatus['cancelled']
353
+ ?.map(doc => `
354
+ - [${doc.title}](./perform_research_${doc.id.toLowerCase().replace(/[^a-z0-9]/g, '_')}.md) (${doc.priority} priority)
355
+ `)
356
+ .join('') || 'No research cancelled.'}
357
+
358
+ ## Research by Category
359
+
360
+ ${Object.entries(byCategory)
361
+ .map(([category, docs]) => `
362
+ ### ${category.charAt(0).toUpperCase() + category.slice(1)}
363
+ ${docs
364
+ .map(doc => `
365
+ - [${doc.title}](./perform_research_${doc.id.toLowerCase().replace(/[^a-z0-9]/g, '_')}.md) (${doc.status}, ${doc.priority} priority)
366
+ `)
367
+ .join('')}
368
+ `)
369
+ .join('')}
370
+
371
+ ## Research Guidelines
372
+
373
+ ### Creating New Research
374
+ 1. Use the \`generate_research_questions\` MCP tool to create research questions
375
+ 2. Create a new \`perform_research_*.md\` file using the research documentation utilities
376
+ 3. Update this index file to include the new research
377
+ 4. Begin research execution following the documented methodology
378
+
379
+ ### Research Process
380
+ 1. **Planning**: Define questions, methodology, and timeline
381
+ 2. **Execution**: Collect data and conduct analysis
382
+ 3. **Documentation**: Record findings with evidence and confidence levels
383
+ 4. **Review**: Peer review and validation of findings
384
+ 5. **Communication**: Share findings with stakeholders
385
+ 6. **Implementation**: Apply recommendations and track outcomes
386
+
387
+ ### Quality Standards
388
+ - All findings must include confidence levels and supporting evidence
389
+ - Research methodology must be clearly documented
390
+ - Regular progress updates are required
391
+ - Peer review is mandatory for critical findings
392
+ - All research must link to relevant ADRs and architectural decisions
393
+
394
+ ### Documentation Standards
395
+ - Use the provided research document template
396
+ - Include clear research questions and methodology
397
+ - Document all findings with dates and confidence levels
398
+ - Provide actionable recommendations with implementation guidance
399
+ - Link to relevant ADRs and external references
400
+
401
+ ## Research Tools
402
+
403
+ ### MCP Tools Available
404
+ - \`generate_research_questions\`: Generate context-aware research questions
405
+ - \`analyze_environment\`: Analyze environment context for research
406
+ - \`generate_rules\`: Generate architectural rules from research findings
407
+
408
+ ### Research Methodologies
409
+ - Literature review and analysis
410
+ - Experimental validation and testing
411
+ - Prototype development and evaluation
412
+ - Stakeholder interviews and surveys
413
+ - Architectural analysis and modeling
414
+
415
+ ## Knowledge Management
416
+
417
+ ### Research Findings Integration
418
+ - Update relevant ADRs with research findings
419
+ - Create new ADRs based on research recommendations
420
+ - Update architectural documentation with new insights
421
+ - Share findings through team knowledge sharing sessions
422
+
423
+ ### Research Archive
424
+ - Completed research is archived but remains accessible
425
+ - Research findings are integrated into project knowledge base
426
+ - Lessons learned are documented for future research
427
+ - Research methodologies are refined based on experience
428
+
429
+ ---
430
+
431
+ **Research Coordination**: [Assign research coordinator]
432
+ **Next Review**: [Schedule regular research review meetings]
433
+ **Knowledge Sharing**: [Plan knowledge sharing sessions]
434
+
435
+ For questions about research processes or to propose new research topics, please contact the research coordinator or create an issue in the project repository.
436
+ `;
437
+ }
438
+ //# sourceMappingURL=research-documentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research-documentation.js","sourceRoot":"","sources":["../../../src/utils/research-documentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Research integration utilities using prompt-driven AI analysis
3
+ * Implements intelligent research findings incorporation into ADRs
4
+ */
5
+ export interface ResearchFile {
6
+ filename: string;
7
+ content: string;
8
+ lastModified: string;
9
+ size: number;
10
+ path: string;
11
+ }
12
+ export interface ResearchTopic {
13
+ id: string;
14
+ title: string;
15
+ category: string;
16
+ description: string;
17
+ sourceFiles: string[];
18
+ keyFindings: string[];
19
+ evidence: string[];
20
+ confidence: number;
21
+ relevanceScore: number;
22
+ lastUpdated: string;
23
+ tags: string[];
24
+ }
25
+ export interface ResearchInsight {
26
+ insight: string;
27
+ impact: 'low' | 'medium' | 'high' | 'critical';
28
+ category: string;
29
+ supportingTopics: string[];
30
+ actionRequired: boolean;
31
+ urgency: 'low' | 'medium' | 'high' | 'critical';
32
+ }
33
+ export interface AdrImpactAnalysis {
34
+ adrId: string;
35
+ adrTitle: string;
36
+ impactLevel: 'none' | 'low' | 'medium' | 'high' | 'critical';
37
+ impactType: string;
38
+ affectedSections: string[];
39
+ relatedTopics: string[];
40
+ findings: string[];
41
+ recommendedAction: 'no_action' | 'review' | 'update' | 'deprecate' | 'supersede';
42
+ urgency: 'low' | 'medium' | 'high' | 'critical';
43
+ confidence: number;
44
+ reasoning: string;
45
+ }
46
+ /**
47
+ * Monitor research directory for files
48
+ */
49
+ export declare function monitorResearchDirectory(researchPath?: string): Promise<{
50
+ monitoringPrompt: string;
51
+ instructions: string;
52
+ }>;
53
+ /**
54
+ * Extract research topics from files
55
+ */
56
+ export declare function extractResearchTopics(researchPath?: string, existingTopics?: string[]): Promise<{
57
+ extractionPrompt: string;
58
+ instructions: string;
59
+ }>;
60
+ /**
61
+ * Evaluate research impact on existing ADRs
62
+ */
63
+ export declare function evaluateResearchImpact(researchTopics: ResearchTopic[], adrDirectory?: string): Promise<{
64
+ evaluationPrompt: string;
65
+ instructions: string;
66
+ }>;
67
+ /**
68
+ * Generate ADR update suggestions
69
+ */
70
+ export declare function generateAdrUpdateSuggestions(adrId: string, researchFindings: Array<{
71
+ finding: string;
72
+ evidence: string[];
73
+ impact: string;
74
+ }>, updateType: 'content' | 'status' | 'consequences' | 'alternatives' | 'deprecation', adrDirectory?: string): Promise<{
75
+ updatePrompt: string;
76
+ instructions: string;
77
+ }>;
78
+ /**
79
+ * Create research file template
80
+ */
81
+ export declare function createResearchTemplate(title: string, category?: string): string;
82
+ /**
83
+ * Prompt for action confirmation before generating drafts
84
+ */
85
+ export declare function promptForActionConfirmation(action: string, details: string, impact: 'low' | 'medium' | 'high' | 'critical'): {
86
+ confirmationPrompt: string;
87
+ instructions: string;
88
+ };
89
+ //# sourceMappingURL=research-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research-integration.d.ts","sourceRoot":"","sources":["../../../src/utils/research-integration.ts"],"names":[],"mappings":"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"}