cccmemory 1.8.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 (216) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +349 -0
  3. package/dist/ConversationMemory.d.ts +231 -0
  4. package/dist/ConversationMemory.d.ts.map +1 -0
  5. package/dist/ConversationMemory.js +357 -0
  6. package/dist/ConversationMemory.js.map +1 -0
  7. package/dist/cache/QueryCache.d.ts +215 -0
  8. package/dist/cache/QueryCache.d.ts.map +1 -0
  9. package/dist/cache/QueryCache.js +294 -0
  10. package/dist/cache/QueryCache.js.map +1 -0
  11. package/dist/cli/commands.d.ts +9 -0
  12. package/dist/cli/commands.d.ts.map +1 -0
  13. package/dist/cli/commands.js +954 -0
  14. package/dist/cli/commands.js.map +1 -0
  15. package/dist/cli/help.d.ts +16 -0
  16. package/dist/cli/help.d.ts.map +1 -0
  17. package/dist/cli/help.js +361 -0
  18. package/dist/cli/help.js.map +1 -0
  19. package/dist/cli/index.d.ts +30 -0
  20. package/dist/cli/index.d.ts.map +1 -0
  21. package/dist/cli/index.js +111 -0
  22. package/dist/cli/index.js.map +1 -0
  23. package/dist/context/ContextInjector.d.ts +38 -0
  24. package/dist/context/ContextInjector.d.ts.map +1 -0
  25. package/dist/context/ContextInjector.js +235 -0
  26. package/dist/context/ContextInjector.js.map +1 -0
  27. package/dist/documentation/CodeAnalyzer.d.ts +29 -0
  28. package/dist/documentation/CodeAnalyzer.d.ts.map +1 -0
  29. package/dist/documentation/CodeAnalyzer.js +122 -0
  30. package/dist/documentation/CodeAnalyzer.js.map +1 -0
  31. package/dist/documentation/ConversationAnalyzer.d.ts +19 -0
  32. package/dist/documentation/ConversationAnalyzer.d.ts.map +1 -0
  33. package/dist/documentation/ConversationAnalyzer.js +157 -0
  34. package/dist/documentation/ConversationAnalyzer.js.map +1 -0
  35. package/dist/documentation/CrossReferencer.d.ts +67 -0
  36. package/dist/documentation/CrossReferencer.d.ts.map +1 -0
  37. package/dist/documentation/CrossReferencer.js +247 -0
  38. package/dist/documentation/CrossReferencer.js.map +1 -0
  39. package/dist/documentation/DocumentationGenerator.d.ts +22 -0
  40. package/dist/documentation/DocumentationGenerator.d.ts.map +1 -0
  41. package/dist/documentation/DocumentationGenerator.js +57 -0
  42. package/dist/documentation/DocumentationGenerator.js.map +1 -0
  43. package/dist/documentation/MarkdownFormatter.d.ts +26 -0
  44. package/dist/documentation/MarkdownFormatter.d.ts.map +1 -0
  45. package/dist/documentation/MarkdownFormatter.js +301 -0
  46. package/dist/documentation/MarkdownFormatter.js.map +1 -0
  47. package/dist/documentation/types.d.ts +176 -0
  48. package/dist/documentation/types.d.ts.map +1 -0
  49. package/dist/documentation/types.js +5 -0
  50. package/dist/documentation/types.js.map +1 -0
  51. package/dist/embeddings/ConfigManager.d.ts +46 -0
  52. package/dist/embeddings/ConfigManager.d.ts.map +1 -0
  53. package/dist/embeddings/ConfigManager.js +177 -0
  54. package/dist/embeddings/ConfigManager.js.map +1 -0
  55. package/dist/embeddings/EmbeddingConfig.d.ts +39 -0
  56. package/dist/embeddings/EmbeddingConfig.d.ts.map +1 -0
  57. package/dist/embeddings/EmbeddingConfig.js +132 -0
  58. package/dist/embeddings/EmbeddingConfig.js.map +1 -0
  59. package/dist/embeddings/EmbeddingGenerator.d.ts +51 -0
  60. package/dist/embeddings/EmbeddingGenerator.d.ts.map +1 -0
  61. package/dist/embeddings/EmbeddingGenerator.js +157 -0
  62. package/dist/embeddings/EmbeddingGenerator.js.map +1 -0
  63. package/dist/embeddings/EmbeddingProvider.d.ts +34 -0
  64. package/dist/embeddings/EmbeddingProvider.d.ts.map +1 -0
  65. package/dist/embeddings/EmbeddingProvider.js +6 -0
  66. package/dist/embeddings/EmbeddingProvider.js.map +1 -0
  67. package/dist/embeddings/ModelRegistry.d.ts +48 -0
  68. package/dist/embeddings/ModelRegistry.d.ts.map +1 -0
  69. package/dist/embeddings/ModelRegistry.js +170 -0
  70. package/dist/embeddings/ModelRegistry.js.map +1 -0
  71. package/dist/embeddings/VectorStore.d.ts +114 -0
  72. package/dist/embeddings/VectorStore.d.ts.map +1 -0
  73. package/dist/embeddings/VectorStore.js +393 -0
  74. package/dist/embeddings/VectorStore.js.map +1 -0
  75. package/dist/embeddings/providers/OllamaEmbeddings.d.ts +38 -0
  76. package/dist/embeddings/providers/OllamaEmbeddings.d.ts.map +1 -0
  77. package/dist/embeddings/providers/OllamaEmbeddings.js +125 -0
  78. package/dist/embeddings/providers/OllamaEmbeddings.js.map +1 -0
  79. package/dist/embeddings/providers/OpenAIEmbeddings.d.ts +40 -0
  80. package/dist/embeddings/providers/OpenAIEmbeddings.d.ts.map +1 -0
  81. package/dist/embeddings/providers/OpenAIEmbeddings.js +129 -0
  82. package/dist/embeddings/providers/OpenAIEmbeddings.js.map +1 -0
  83. package/dist/embeddings/providers/TransformersEmbeddings.d.ts +38 -0
  84. package/dist/embeddings/providers/TransformersEmbeddings.d.ts.map +1 -0
  85. package/dist/embeddings/providers/TransformersEmbeddings.js +115 -0
  86. package/dist/embeddings/providers/TransformersEmbeddings.js.map +1 -0
  87. package/dist/handoff/SessionHandoffStore.d.ts +80 -0
  88. package/dist/handoff/SessionHandoffStore.d.ts.map +1 -0
  89. package/dist/handoff/SessionHandoffStore.js +314 -0
  90. package/dist/handoff/SessionHandoffStore.js.map +1 -0
  91. package/dist/index.d.ts +7 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +115 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/mcp-server.d.ts +27 -0
  96. package/dist/mcp-server.d.ts.map +1 -0
  97. package/dist/mcp-server.js +157 -0
  98. package/dist/mcp-server.js.map +1 -0
  99. package/dist/memory/WorkingMemoryStore.d.ts +83 -0
  100. package/dist/memory/WorkingMemoryStore.d.ts.map +1 -0
  101. package/dist/memory/WorkingMemoryStore.js +318 -0
  102. package/dist/memory/WorkingMemoryStore.js.map +1 -0
  103. package/dist/memory/types.d.ts +192 -0
  104. package/dist/memory/types.d.ts.map +1 -0
  105. package/dist/memory/types.js +8 -0
  106. package/dist/memory/types.js.map +1 -0
  107. package/dist/parsers/CodexConversationParser.d.ts +51 -0
  108. package/dist/parsers/CodexConversationParser.d.ts.map +1 -0
  109. package/dist/parsers/CodexConversationParser.js +301 -0
  110. package/dist/parsers/CodexConversationParser.js.map +1 -0
  111. package/dist/parsers/ConversationParser.d.ts +286 -0
  112. package/dist/parsers/ConversationParser.d.ts.map +1 -0
  113. package/dist/parsers/ConversationParser.js +795 -0
  114. package/dist/parsers/ConversationParser.js.map +1 -0
  115. package/dist/parsers/DecisionExtractor.d.ts +144 -0
  116. package/dist/parsers/DecisionExtractor.d.ts.map +1 -0
  117. package/dist/parsers/DecisionExtractor.js +434 -0
  118. package/dist/parsers/DecisionExtractor.js.map +1 -0
  119. package/dist/parsers/GitIntegrator.d.ts +156 -0
  120. package/dist/parsers/GitIntegrator.d.ts.map +1 -0
  121. package/dist/parsers/GitIntegrator.js +348 -0
  122. package/dist/parsers/GitIntegrator.js.map +1 -0
  123. package/dist/parsers/MistakeExtractor.d.ts +151 -0
  124. package/dist/parsers/MistakeExtractor.d.ts.map +1 -0
  125. package/dist/parsers/MistakeExtractor.js +460 -0
  126. package/dist/parsers/MistakeExtractor.js.map +1 -0
  127. package/dist/parsers/RequirementsExtractor.d.ts +166 -0
  128. package/dist/parsers/RequirementsExtractor.d.ts.map +1 -0
  129. package/dist/parsers/RequirementsExtractor.js +338 -0
  130. package/dist/parsers/RequirementsExtractor.js.map +1 -0
  131. package/dist/realtime/ConversationWatcher.d.ts +87 -0
  132. package/dist/realtime/ConversationWatcher.d.ts.map +1 -0
  133. package/dist/realtime/ConversationWatcher.js +204 -0
  134. package/dist/realtime/ConversationWatcher.js.map +1 -0
  135. package/dist/realtime/IncrementalParser.d.ts +83 -0
  136. package/dist/realtime/IncrementalParser.d.ts.map +1 -0
  137. package/dist/realtime/IncrementalParser.js +232 -0
  138. package/dist/realtime/IncrementalParser.js.map +1 -0
  139. package/dist/realtime/LiveExtractor.d.ts +72 -0
  140. package/dist/realtime/LiveExtractor.d.ts.map +1 -0
  141. package/dist/realtime/LiveExtractor.js +288 -0
  142. package/dist/realtime/LiveExtractor.js.map +1 -0
  143. package/dist/search/SemanticSearch.d.ts +121 -0
  144. package/dist/search/SemanticSearch.d.ts.map +1 -0
  145. package/dist/search/SemanticSearch.js +823 -0
  146. package/dist/search/SemanticSearch.js.map +1 -0
  147. package/dist/storage/BackupManager.d.ts +58 -0
  148. package/dist/storage/BackupManager.d.ts.map +1 -0
  149. package/dist/storage/BackupManager.js +223 -0
  150. package/dist/storage/BackupManager.js.map +1 -0
  151. package/dist/storage/ConversationStorage.d.ts +341 -0
  152. package/dist/storage/ConversationStorage.d.ts.map +1 -0
  153. package/dist/storage/ConversationStorage.js +792 -0
  154. package/dist/storage/ConversationStorage.js.map +1 -0
  155. package/dist/storage/DeletionService.d.ts +70 -0
  156. package/dist/storage/DeletionService.d.ts.map +1 -0
  157. package/dist/storage/DeletionService.js +253 -0
  158. package/dist/storage/DeletionService.js.map +1 -0
  159. package/dist/storage/GlobalIndex.d.ts +133 -0
  160. package/dist/storage/GlobalIndex.d.ts.map +1 -0
  161. package/dist/storage/GlobalIndex.js +310 -0
  162. package/dist/storage/GlobalIndex.js.map +1 -0
  163. package/dist/storage/SQLiteManager.d.ts +114 -0
  164. package/dist/storage/SQLiteManager.d.ts.map +1 -0
  165. package/dist/storage/SQLiteManager.js +636 -0
  166. package/dist/storage/SQLiteManager.js.map +1 -0
  167. package/dist/storage/migrations.d.ts +54 -0
  168. package/dist/storage/migrations.d.ts.map +1 -0
  169. package/dist/storage/migrations.js +285 -0
  170. package/dist/storage/migrations.js.map +1 -0
  171. package/dist/storage/schema.sql +436 -0
  172. package/dist/tools/ToolDefinitions.d.ts +946 -0
  173. package/dist/tools/ToolDefinitions.d.ts.map +1 -0
  174. package/dist/tools/ToolDefinitions.js +937 -0
  175. package/dist/tools/ToolDefinitions.js.map +1 -0
  176. package/dist/tools/ToolHandlers.d.ts +791 -0
  177. package/dist/tools/ToolHandlers.d.ts.map +1 -0
  178. package/dist/tools/ToolHandlers.js +3262 -0
  179. package/dist/tools/ToolHandlers.js.map +1 -0
  180. package/dist/types/ToolTypes.d.ts +824 -0
  181. package/dist/types/ToolTypes.d.ts.map +1 -0
  182. package/dist/types/ToolTypes.js +6 -0
  183. package/dist/types/ToolTypes.js.map +1 -0
  184. package/dist/utils/Logger.d.ts +70 -0
  185. package/dist/utils/Logger.d.ts.map +1 -0
  186. package/dist/utils/Logger.js +131 -0
  187. package/dist/utils/Logger.js.map +1 -0
  188. package/dist/utils/McpConfig.d.ts +54 -0
  189. package/dist/utils/McpConfig.d.ts.map +1 -0
  190. package/dist/utils/McpConfig.js +136 -0
  191. package/dist/utils/McpConfig.js.map +1 -0
  192. package/dist/utils/ProjectMigration.d.ts +82 -0
  193. package/dist/utils/ProjectMigration.d.ts.map +1 -0
  194. package/dist/utils/ProjectMigration.js +416 -0
  195. package/dist/utils/ProjectMigration.js.map +1 -0
  196. package/dist/utils/constants.d.ts +75 -0
  197. package/dist/utils/constants.d.ts.map +1 -0
  198. package/dist/utils/constants.js +105 -0
  199. package/dist/utils/constants.js.map +1 -0
  200. package/dist/utils/safeJson.d.ts +37 -0
  201. package/dist/utils/safeJson.d.ts.map +1 -0
  202. package/dist/utils/safeJson.js +48 -0
  203. package/dist/utils/safeJson.js.map +1 -0
  204. package/dist/utils/sanitization.d.ts +45 -0
  205. package/dist/utils/sanitization.d.ts.map +1 -0
  206. package/dist/utils/sanitization.js +153 -0
  207. package/dist/utils/sanitization.js.map +1 -0
  208. package/dist/utils/worktree.d.ts +15 -0
  209. package/dist/utils/worktree.d.ts.map +1 -0
  210. package/dist/utils/worktree.js +86 -0
  211. package/dist/utils/worktree.js.map +1 -0
  212. package/package.json +98 -0
  213. package/scripts/changelog-check.sh +62 -0
  214. package/scripts/check-node.js +17 -0
  215. package/scripts/dev-config.js +56 -0
  216. package/scripts/postinstall.js +117 -0
@@ -0,0 +1,301 @@
1
+ /**
2
+ * MarkdownFormatter - Generates comprehensive markdown documentation
3
+ */
4
+ export class MarkdownFormatter {
5
+ /**
6
+ * Format linked data as markdown
7
+ */
8
+ format(data, options) {
9
+ let doc = '';
10
+ doc += this.renderHeader(data, options);
11
+ doc += this.renderStatistics(data);
12
+ const { scope, moduleFilter } = options;
13
+ if (scope === 'full' || scope === 'architecture') {
14
+ doc += this.renderArchitecture(data.modules, moduleFilter);
15
+ }
16
+ if (scope === 'full' || scope === 'decisions') {
17
+ doc += this.renderDecisions(data);
18
+ }
19
+ if (scope === 'full' || scope === 'quality') {
20
+ doc += this.renderQuality(data.qualityReport);
21
+ }
22
+ if (scope === 'full') {
23
+ doc += this.renderTimeline(data.timeline);
24
+ }
25
+ doc += this.renderFooter();
26
+ return doc;
27
+ }
28
+ renderHeader(data, options) {
29
+ const projectName = options.projectPath.split('/').pop() || 'Project';
30
+ const sessionInfo = options.sessionId ? ` (Session: ${options.sessionId.substring(0, 8)}...)` : ' (All Sessions)';
31
+ return `# ${projectName} - Comprehensive Documentation
32
+
33
+ **Generated**: ${new Date().toLocaleString()}
34
+ **Scope**: ${options.scope}${sessionInfo}
35
+ **Modules**: ${data.modules.length}
36
+
37
+ ---
38
+
39
+ `;
40
+ }
41
+ renderStatistics(data) {
42
+ const stats = data.statistics;
43
+ return `## 📊 Project Statistics
44
+
45
+ | Metric | Count |
46
+ |--------|-------|
47
+ | Files | ${stats.totalFiles} |
48
+ | Code Entities | ${stats.totalEntities} |
49
+ | Decisions | ${stats.totalDecisions} |
50
+ | Mistakes | ${stats.totalMistakes} |
51
+ | Git Commits | ${stats.totalCommits} |
52
+ | Avg Complexity | ${stats.averageComplexity}/10 |
53
+
54
+ ---
55
+
56
+ `;
57
+ }
58
+ renderArchitecture(modules, moduleFilter) {
59
+ let filtered = modules;
60
+ if (moduleFilter) {
61
+ filtered = modules.filter(m => m.path.includes(moduleFilter));
62
+ }
63
+ if (filtered.length === 0) {
64
+ return `## 🏗️ Architecture Overview
65
+
66
+ No modules found${moduleFilter ? ` matching filter: ${moduleFilter}` : ''}.
67
+
68
+ ---
69
+
70
+ `;
71
+ }
72
+ return `## 🏗️ Architecture Overview
73
+
74
+ ${filtered.map(m => this.renderModule(m)).join('\n')}
75
+
76
+ ---
77
+
78
+ `;
79
+ }
80
+ renderModule(module) {
81
+ const hasDecisions = module.decisions.length > 0;
82
+ const hasMistakes = module.mistakes.length > 0;
83
+ const hasRequirements = module.requirements.length > 0;
84
+ return `### ${module.name}
85
+
86
+ **Location**: \`${module.path}\`
87
+ **Complexity**: ${module.complexity}/10
88
+ **Changes**: ${module.changeFrequency} edits
89
+ **Entities**: ${module.entities.length}
90
+
91
+ ${module.description ? `**Purpose**: ${module.description}\n` : ''}
92
+
93
+ ${hasDecisions ? this.renderModuleDecisions(module.decisions) : ''}
94
+
95
+ ${hasMistakes ? this.renderModuleMistakes(module.mistakes) : ''}
96
+
97
+ ${hasRequirements ? this.renderModuleRequirements(module.requirements) : ''}
98
+
99
+ ${this.renderModuleEntities(module.entities)}
100
+
101
+ `;
102
+ }
103
+ renderModuleDecisions(decisions) {
104
+ if (decisions.length === 0) {
105
+ return '';
106
+ }
107
+ const recent = decisions.slice(0, 5); // Show top 5 decisions
108
+ return `**Key Decisions** (${decisions.length} total):
109
+ ${recent.map(d => `- ${d.decision_text} (${this.formatDate(d.timestamp)})
110
+ - *Rationale*: ${d.rationale || 'Not specified'}${d.alternatives_considered.length > 0 ? `
111
+ - *Alternatives*: ${d.alternatives_considered.join(', ')}` : ''}`).join('\n')}
112
+
113
+ `;
114
+ }
115
+ renderModuleMistakes(mistakes) {
116
+ if (mistakes.length === 0) {
117
+ return '';
118
+ }
119
+ return `**Past Issues** (${mistakes.length} total):
120
+ ${mistakes.map(m => `- ⚠️ ${m.what_went_wrong} (${this.formatDate(m.timestamp)})
121
+ - *Fix*: ${m.how_it_was_fixed || 'Not documented'}
122
+ - *Lesson*: ${m.lesson_learned || 'Not documented'}`).join('\n')}
123
+
124
+ `;
125
+ }
126
+ renderModuleRequirements(requirements) {
127
+ if (requirements.length === 0) {
128
+ return '';
129
+ }
130
+ return `**Requirements**:
131
+ ${requirements.map(r => `- ${r.requirement_type}: ${r.description}`).join('\n')}
132
+
133
+ `;
134
+ }
135
+ renderModuleEntities(entities) {
136
+ if (entities.length === 0) {
137
+ return '';
138
+ }
139
+ const byType = {};
140
+ for (const entity of entities) {
141
+ byType[entity.type] = (byType[entity.type] || 0) + 1;
142
+ }
143
+ const summary = Object.entries(byType)
144
+ .map(([type, count]) => `${count} ${type}${count > 1 ? 's' : ''}`)
145
+ .join(', ');
146
+ return `**Code Structure**: ${summary}
147
+
148
+ `;
149
+ }
150
+ renderDecisions(data) {
151
+ const allDecisions = data.modules
152
+ .flatMap(m => m.decisions)
153
+ .sort((a, b) => b.timestamp - a.timestamp);
154
+ if (allDecisions.length === 0) {
155
+ return `## 💡 Decision Log
156
+
157
+ No decisions documented.
158
+
159
+ ---
160
+
161
+ `;
162
+ }
163
+ return `## 💡 Decision Log
164
+
165
+ ${allDecisions.map((d, i) => `### ${i + 1}. ${d.decision_text}
166
+
167
+ **Date**: ${this.formatDate(d.timestamp)}
168
+ **Context**: ${d.context || 'Not specified'}
169
+
170
+ **Rationale**: ${d.rationale}
171
+
172
+ ${d.alternatives_considered.length > 0 ? `**Alternatives Considered**:
173
+ ${d.alternatives_considered.map(alt => `- ${alt}${d.rejected_reasons[alt] ? `: ${d.rejected_reasons[alt]}` : ''}`).join('\n')}
174
+ ` : ''}
175
+
176
+ **Affected Files**: ${d.related_files.length > 0 ? d.related_files.map(f => `\`${f}\``).join(', ') : 'None specified'}
177
+
178
+ ${d.related_commits.length > 0 ? `**Related Commits**: ${d.related_commits.join(', ')}\n` : ''}
179
+ `).join('\n---\n\n')}
180
+
181
+ ---
182
+
183
+ `;
184
+ }
185
+ renderQuality(report) {
186
+ return `## 🔍 Quality Insights
187
+
188
+ ### Code Hotspots
189
+
190
+ ${report.hotspots.length > 0 ? report.hotspots.map((h) => `
191
+ **\`${h.filePath}\`**
192
+ Complexity: ${h.complexity}/10 | Changes: ${h.changeCount}
193
+
194
+ ${h.relatedMistakes.length > 0 ? `Past Issues:
195
+ ${h.relatedMistakes.map((m) => `- ${m.what_went_wrong}`).join('\n')}
196
+ ` : ''}
197
+ ${h.relatedDecisions.length > 0 ? `Related Decisions:
198
+ ${h.relatedDecisions.map((d) => `- ${d.decision_text}`).join('\n')}
199
+ ` : ''}
200
+ `).join('\n') : 'No hotspots identified.\n'}
201
+
202
+ ### Code Duplication
203
+
204
+ ${report.clones.length > 0 ? report.clones.map(c => `
205
+ - **Similarity**: ${Math.round(c.similarity * 100)}%
206
+ - Files: ${c.files.map((f) => `\`${f}\``).join(', ')}
207
+ - ${c.description}
208
+ `).join('\n') : 'No code duplication detected.\n'}
209
+
210
+ ### Lessons Learned
211
+
212
+ ${report.mistakeSummary.topLessons.length > 0 ? report.mistakeSummary.topLessons.map((lesson) => `- ${lesson}`).join('\n') : 'No lessons documented yet.\n'}
213
+
214
+ ### Mistake Summary
215
+
216
+ **Total**: ${report.mistakeSummary.total} mistakes documented
217
+
218
+ ${Object.keys(report.mistakeSummary.byCategory).length > 0 ? `**By Severity**:
219
+ ${Object.entries(report.mistakeSummary.byCategory).map(([cat, count]) => `- ${cat}: ${count}`).join('\n')}
220
+ ` : ''}
221
+
222
+ ${report.mistakeSummary.criticalIssues.length > 0 ? `**Critical Issues**:
223
+ ${report.mistakeSummary.criticalIssues.map((m) => `- ${m.what_went_wrong}`).join('\n')}
224
+ ` : ''}
225
+
226
+ ---
227
+
228
+ `;
229
+ }
230
+ renderTimeline(timeline) {
231
+ if (timeline.length === 0) {
232
+ return `## 📅 Development Timeline
233
+
234
+ No timeline events found.
235
+
236
+ ---
237
+
238
+ `;
239
+ }
240
+ // Group by month
241
+ const byMonth = {};
242
+ for (const event of timeline) {
243
+ const monthKey = this.formatMonth(event.timestamp);
244
+ if (!byMonth[monthKey]) {
245
+ byMonth[monthKey] = [];
246
+ }
247
+ byMonth[monthKey].push(event);
248
+ }
249
+ return `## 📅 Development Timeline
250
+
251
+ ${Object.entries(byMonth).map(([month, events]) => `
252
+ ### ${month}
253
+
254
+ ${events.map(e => this.renderTimelineEvent(e)).join('\n')}
255
+ `).join('\n')}
256
+
257
+ ---
258
+
259
+ `;
260
+ }
261
+ renderTimelineEvent(event) {
262
+ const icon = {
263
+ decision: '💡',
264
+ mistake: '⚠️',
265
+ commit: '📝',
266
+ edit: '✏️'
267
+ }[event.type] || '•';
268
+ const date = new Date(event.timestamp).toLocaleDateString();
269
+ const files = event.files.length > 0 ? ` (${event.files.length} files)` : '';
270
+ return `- **${date}** ${icon} ${event.description}${files}`;
271
+ }
272
+ renderFooter() {
273
+ return `## 📚 About This Documentation
274
+
275
+ This documentation was automatically generated by combining:
276
+ - **Codebase analysis** from CODE-GRAPH-RAG-MCP
277
+ - **Development conversations** from Claude Code conversation history
278
+ - **Git history** and commit linkage
279
+
280
+ The documentation shows not just **what** exists in the code, but **why** it was built that way.
281
+
282
+ ---
283
+
284
+ *Generated by CCCMemory MCP Server*
285
+ `;
286
+ }
287
+ formatDate(timestamp) {
288
+ return new Date(timestamp).toLocaleDateString('en-US', {
289
+ year: 'numeric',
290
+ month: 'short',
291
+ day: 'numeric'
292
+ });
293
+ }
294
+ formatMonth(timestamp) {
295
+ return new Date(timestamp).toLocaleDateString('en-US', {
296
+ year: 'numeric',
297
+ month: 'long'
298
+ });
299
+ }
300
+ }
301
+ //# sourceMappingURL=MarkdownFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownFormatter.js","sourceRoot":"","sources":["../../src/documentation/MarkdownFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Type definitions for documentation generation
3
+ */
4
+ export interface CodeEntity {
5
+ id: string;
6
+ name: string;
7
+ type: 'class' | 'function' | 'interface' | 'module' | 'component';
8
+ filePath: string;
9
+ lineNumber?: number;
10
+ complexity?: number;
11
+ description?: string;
12
+ }
13
+ export interface Relationship {
14
+ from: string;
15
+ to: string;
16
+ type: string;
17
+ description?: string;
18
+ }
19
+ export interface FileInfo {
20
+ path: string;
21
+ size: number;
22
+ entities: CodeEntity[];
23
+ }
24
+ export interface Hotspot {
25
+ filePath: string;
26
+ complexity: number;
27
+ changeCount: number;
28
+ metric: string;
29
+ }
30
+ export interface CodeClone {
31
+ files: string[];
32
+ similarity: number;
33
+ description: string;
34
+ }
35
+ export interface CodeData {
36
+ entities: CodeEntity[];
37
+ relationships: Relationship[];
38
+ files: FileInfo[];
39
+ hotspots: Hotspot[];
40
+ clones: CodeClone[];
41
+ }
42
+ export interface RawEntity {
43
+ id?: string;
44
+ name?: string;
45
+ type?: string;
46
+ filePath?: string;
47
+ file?: string;
48
+ lineNumber?: number;
49
+ line?: number;
50
+ complexity?: number;
51
+ description?: string;
52
+ }
53
+ export interface RawHotspot {
54
+ filePath?: string;
55
+ file?: string;
56
+ path?: string;
57
+ complexity?: number;
58
+ score?: number;
59
+ changeCount?: number;
60
+ changes?: number;
61
+ metric?: string;
62
+ }
63
+ export interface RawClone {
64
+ files?: string[];
65
+ similarity?: number;
66
+ score?: number;
67
+ description?: string;
68
+ }
69
+ export interface Decision {
70
+ id: string;
71
+ conversation_id: string;
72
+ message_id: string;
73
+ decision_text: string;
74
+ rationale: string;
75
+ alternatives_considered: string[];
76
+ rejected_reasons: Record<string, string>;
77
+ context?: string;
78
+ related_files: string[];
79
+ related_commits: string[];
80
+ timestamp: number;
81
+ }
82
+ export interface Mistake {
83
+ id: string;
84
+ conversation_id: string;
85
+ what_went_wrong: string;
86
+ why_it_happened: string;
87
+ how_it_was_fixed: string;
88
+ lesson_learned: string;
89
+ related_files: string[];
90
+ severity: string;
91
+ timestamp: number;
92
+ }
93
+ export interface Requirement {
94
+ id: string;
95
+ requirement_type: string;
96
+ description: string;
97
+ rationale?: string;
98
+ related_files: string[];
99
+ timestamp: number;
100
+ }
101
+ export interface FileEdit {
102
+ id: string;
103
+ conversation_id: string;
104
+ file_path: string;
105
+ edit_type: string;
106
+ timestamp: number;
107
+ }
108
+ export interface GitCommit {
109
+ hash: string;
110
+ conversation_id?: string;
111
+ message: string;
112
+ author: string;
113
+ timestamp: number;
114
+ files_changed: string[];
115
+ }
116
+ export interface ConversationData {
117
+ decisions: Decision[];
118
+ mistakes: Mistake[];
119
+ requirements: Requirement[];
120
+ fileEdits: FileEdit[];
121
+ commits: GitCommit[];
122
+ }
123
+ export interface LinkedModule {
124
+ path: string;
125
+ name: string;
126
+ entities: CodeEntity[];
127
+ decisions: Decision[];
128
+ mistakes: Mistake[];
129
+ requirements: Requirement[];
130
+ complexity: number;
131
+ changeFrequency: number;
132
+ description?: string;
133
+ }
134
+ export interface TimelineEvent {
135
+ timestamp: number;
136
+ type: 'decision' | 'mistake' | 'commit' | 'edit';
137
+ description: string;
138
+ files: string[];
139
+ details: unknown;
140
+ }
141
+ export interface QualityReport {
142
+ hotspots: HotspotWithContext[];
143
+ clones: CodeClone[];
144
+ mistakeSummary: MistakeSummary;
145
+ }
146
+ export interface HotspotWithContext extends Hotspot {
147
+ relatedMistakes: Mistake[];
148
+ relatedDecisions: Decision[];
149
+ }
150
+ export interface MistakeSummary {
151
+ total: number;
152
+ byCategory: Record<string, number>;
153
+ topLessons: string[];
154
+ criticalIssues: Mistake[];
155
+ }
156
+ export interface LinkedData {
157
+ modules: LinkedModule[];
158
+ timeline: TimelineEvent[];
159
+ qualityReport: QualityReport;
160
+ statistics: DocumentationStatistics;
161
+ }
162
+ export interface DocumentationStatistics {
163
+ totalFiles: number;
164
+ totalEntities: number;
165
+ totalDecisions: number;
166
+ totalMistakes: number;
167
+ totalCommits: number;
168
+ averageComplexity: number;
169
+ }
170
+ export interface DocumentationOptions {
171
+ projectPath: string;
172
+ sessionId?: string;
173
+ scope: 'full' | 'architecture' | 'decisions' | 'quality';
174
+ moduleFilter?: string;
175
+ }
176
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/documentation/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions for documentation generation
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/documentation/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Configuration Manager for CLI
3
+ * Handles reading and writing embedding configuration
4
+ */
5
+ import { EmbeddingConfig } from "./EmbeddingConfig.js";
6
+ export declare class ConfigManager {
7
+ private static readonly CONFIG_FILENAME;
8
+ /**
9
+ * Get current effective configuration (after all precedence rules)
10
+ */
11
+ static getCurrentConfig(): EmbeddingConfig;
12
+ /**
13
+ * Get configuration sources breakdown
14
+ */
15
+ static getConfigSources(): {
16
+ home: Partial<EmbeddingConfig> | null;
17
+ project: Partial<EmbeddingConfig> | null;
18
+ env: Partial<EmbeddingConfig>;
19
+ effective: EmbeddingConfig;
20
+ };
21
+ /**
22
+ * Get a specific config value
23
+ */
24
+ static getConfigValue(key: string): unknown;
25
+ /**
26
+ * Set a config value (writes to home config file)
27
+ */
28
+ static setConfigValue(key: string, value: string): void;
29
+ /**
30
+ * Get config file path (home directory)
31
+ */
32
+ static getConfigPath(): string;
33
+ /**
34
+ * Check if config file exists
35
+ */
36
+ static configExists(): boolean;
37
+ /**
38
+ * Load config file
39
+ */
40
+ private static loadConfigFile;
41
+ /**
42
+ * Get known model dimensions for common models
43
+ */
44
+ static getKnownModelDimensions(model: string): number | null;
45
+ }
46
+ //# sourceMappingURL=ConfigManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigManager.d.ts","sourceRoot":"","sources":["../../src/embeddings/ConfigManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAgB,eAAe,EAAyB,MAAM,sBAAsB,CAAC;AAE5F,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEvE;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,eAAe;IAI1C;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI;QACzB,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QACzC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9B,SAAS,EAAE,eAAe,CAAC;KAC5B;IAqCD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAqB3C;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgEvD;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM;IAI9B;;OAEG;IACH,MAAM,CAAC,YAAY,IAAI,OAAO;IAI9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAoB7D"}