context-tracker-mcp1.0 1.0.6

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 (40) hide show
  1. package/bin/context-tracker-mcp.cmd +2 -0
  2. package/bin/context-tracker-mcp.js +4 -0
  3. package/dist/config-manager.d.ts +32 -0
  4. package/dist/config-manager.d.ts.map +1 -0
  5. package/dist/config-manager.js +103 -0
  6. package/dist/config-manager.js.map +1 -0
  7. package/dist/context-tracker.d.ts +73 -0
  8. package/dist/context-tracker.d.ts.map +1 -0
  9. package/dist/context-tracker.js +375 -0
  10. package/dist/context-tracker.js.map +1 -0
  11. package/dist/documentation-generator.d.ts +13 -0
  12. package/dist/documentation-generator.d.ts.map +1 -0
  13. package/dist/documentation-generator.js +308 -0
  14. package/dist/documentation-generator.js.map +1 -0
  15. package/dist/error-analyzer.d.ts +21 -0
  16. package/dist/error-analyzer.d.ts.map +1 -0
  17. package/dist/error-analyzer.js +69 -0
  18. package/dist/error-analyzer.js.map +1 -0
  19. package/dist/file-watcher.d.ts +36 -0
  20. package/dist/file-watcher.d.ts.map +1 -0
  21. package/dist/file-watcher.js +225 -0
  22. package/dist/file-watcher.js.map +1 -0
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +476 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/mutex.d.ts +137 -0
  28. package/dist/mutex.d.ts.map +1 -0
  29. package/dist/mutex.js +276 -0
  30. package/dist/mutex.js.map +1 -0
  31. package/dist/project-intelligence.d.ts +24 -0
  32. package/dist/project-intelligence.d.ts.map +1 -0
  33. package/dist/project-intelligence.js +101 -0
  34. package/dist/project-intelligence.js.map +1 -0
  35. package/dist/resource-manager.d.ts +33 -0
  36. package/dist/resource-manager.d.ts.map +1 -0
  37. package/dist/resource-manager.js +188 -0
  38. package/dist/resource-manager.js.map +1 -0
  39. package/mcp-config.json +125 -0
  40. package/package.json +56 -0
@@ -0,0 +1,308 @@
1
+ /**
2
+ * Escape markdown special characters to prevent injection
3
+ */
4
+ function escapeMarkdown(text) {
5
+ return text
6
+ .replace(/\\/g, '\\\\')
7
+ .replace(/\*/g, '\\*')
8
+ .replace(/_/g, '\\_')
9
+ .replace(/\[/g, '\\[')
10
+ .replace(/\]/g, '\\]')
11
+ .replace(/</g, '\\<')
12
+ .replace(/>/g, '\\>')
13
+ .replace(/`/g, '\\`')
14
+ .replace(/#/g, '\\#');
15
+ }
16
+ export class DocumentationGenerator {
17
+ contextTracker;
18
+ constructor(contextTracker) {
19
+ this.contextTracker = contextTracker;
20
+ }
21
+ async generate(type, format = 'markdown') {
22
+ switch (type) {
23
+ case 'features':
24
+ return this.generateFeaturesDocumentation(format);
25
+ case 'errors':
26
+ return this.generateErrorsDocumentation(format);
27
+ case 'styling':
28
+ return this.generateStylingDocumentation(format);
29
+ case 'complete':
30
+ return this.generateCompleteDocumentation(format);
31
+ default:
32
+ throw new Error(`Unknown documentation type: ${type}`);
33
+ }
34
+ }
35
+ async generateFeaturesDocumentation(format) {
36
+ const history = await this.contextTracker.getHistory();
37
+ const stats = await this.contextTracker.getStatistics();
38
+ if (format === 'json') {
39
+ return JSON.stringify({
40
+ type: 'features',
41
+ statistics: stats,
42
+ features: history.filter(entry => entry.action === 'complete'),
43
+ inProgress: history.filter(entry => entry.status === 'active')
44
+ }, null, 2);
45
+ }
46
+ return `# Project Features Documentation
47
+
48
+ ## 📊 Statistics
49
+ - **Total Context Entries**: ${stats.totalContextEntries}
50
+ - **Active Tasks**: ${stats.activeContexts}
51
+ - **Files Modified**: ${stats.uniqueFiles}
52
+ - **Last Updated**: ${new Date().toLocaleDateString()}
53
+
54
+ ## ✅ Completed Features
55
+
56
+ ${history.filter(entry => entry.action === 'complete').map(entry => `
57
+ ### ${escapeMarkdown(entry.description)}
58
+ - **ID**: ${entry.id}
59
+ - **Completed**: ${new Date(entry.timestamp).toLocaleString()}
60
+ - **Files Modified**: ${entry.files.length > 0 ? entry.files.map(f => `\`${escapeMarkdown(f)}\``).join(', ') : 'None'}
61
+ ${entry.code ? `\n\`\`\`\n${entry.code}\n\`\`\`` : ''}
62
+ `).join('\n---\n')}
63
+
64
+ ## 🔄 Currently In Progress
65
+
66
+ ${history.filter(entry => entry.status === 'active').map(entry => `
67
+ ### ${escapeMarkdown(entry.description)}
68
+ - **ID**: ${entry.id}
69
+ - **Started**: ${new Date(entry.timestamp).toLocaleString()}
70
+ - **Files**: ${entry.files.length > 0 ? entry.files.map(f => `\`${escapeMarkdown(f)}\``).join(', ') : 'None'}
71
+ `).join('\n---\n') || 'No active tasks currently.'}
72
+
73
+ ---
74
+
75
+ *Generated by Context Tracker MCP on ${new Date().toISOString()}*
76
+ `;
77
+ }
78
+ async generateErrorsDocumentation(format) {
79
+ const errors = await this.contextTracker.getErrorLog();
80
+ if (format === 'json') {
81
+ return JSON.stringify({
82
+ type: 'errors',
83
+ totalErrors: errors.length,
84
+ errors: errors
85
+ }, null, 2);
86
+ }
87
+ return `# Error Log Documentation
88
+
89
+ ## 📈 Error Statistics
90
+ - **Total Errors**: ${errors.length}
91
+ - **All Resolved**: ${errors.every(e => e.resolved) ? '✅ Yes' : '❌ No'}
92
+ - **Last Updated**: ${new Date().toLocaleDateString()}
93
+
94
+ ## 🐛 Error History
95
+
96
+ ${errors.map(error => `
97
+ ### ${escapeMarkdown(error.error)}
98
+ - **ID**: ${error.id}
99
+ - **Occurred**: ${new Date(error.timestamp).toLocaleString()}
100
+ - **Status**: ${error.resolved ? '✅ Resolved' : '❌ Unresolved'}
101
+ - **Context**: ${escapeMarkdown(error.context || 'No context provided')}
102
+
103
+ #### Solution Applied
104
+ \`\`\`
105
+ ${error.solution}
106
+ \`\`\`
107
+
108
+ ---
109
+
110
+ `).join('')}
111
+
112
+ ---
113
+
114
+ *Generated by Context Tracker MCP on ${new Date().toISOString()}*
115
+ `;
116
+ }
117
+ async generateStylingDocumentation(format) {
118
+ const styling = await this.contextTracker.getStylingHistory();
119
+ const stats = await this.contextTracker.getStatistics();
120
+ if (format === 'json') {
121
+ return JSON.stringify({
122
+ type: 'styling',
123
+ statistics: stats,
124
+ stylingEntries: styling
125
+ }, null, 2);
126
+ }
127
+ const elementGroups = styling.reduce((groups, entry) => {
128
+ if (!groups[entry.element]) {
129
+ groups[entry.element] = [];
130
+ }
131
+ groups[entry.element].push(entry);
132
+ return groups;
133
+ }, {});
134
+ return `# Styling Documentation
135
+
136
+ ## 📊 Styling Statistics
137
+ - **Total Styling Entries**: ${stats.totalStylingEntries}
138
+ - **Unique Elements**: ${stats.uniqueElements}
139
+ - **Last Updated**: ${new Date().toLocaleDateString()}
140
+
141
+ ## 🎨 Elements Styling History
142
+
143
+ ${Object.entries(elementGroups).map(([element, entries]) => `
144
+ ### ${escapeMarkdown(element)}
145
+ ${entries[0].component ? `- **Component**: ${escapeMarkdown(entries[0].component)}` : ''}
146
+
147
+ #### Styling Changes
148
+
149
+ ${entries.map(entry => `
150
+ **${new Date(entry.timestamp).toLocaleString()}** - \`${escapeMarkdown(entry.location)}\`
151
+ \`\`\`css
152
+ ${(() => {
153
+ try {
154
+ return JSON.stringify(entry.styles, null, 2);
155
+ }
156
+ catch {
157
+ return '{ /* Complex styles */ }';
158
+ }
159
+ })()}
160
+ \`\`\`
161
+ `).join('\n')}
162
+
163
+ ---
164
+
165
+ `).join('')}
166
+
167
+ ## 📁 Files with Styling Changes
168
+
169
+ ${[...new Set(styling.map(s => s.location))].map(location => `
170
+ ### ${escapeMarkdown(location)}
171
+ ${styling.filter(s => s.location === location).map(s => `- \`${escapeMarkdown(s.element)}\`: ${Object.keys(s.styles).join(', ')}`).join('\n')}
172
+ `).join('\n')}
173
+
174
+ ---
175
+
176
+ *Generated by Context Tracker MCP on ${new Date().toISOString()}*
177
+ `;
178
+ }
179
+ async generateCompleteDocumentation(format) {
180
+ const history = await this.contextTracker.getHistory();
181
+ const errors = await this.contextTracker.getErrorLog();
182
+ const styling = await this.contextTracker.getStylingHistory();
183
+ const stats = await this.contextTracker.getStatistics();
184
+ if (format === 'json') {
185
+ return JSON.stringify({
186
+ type: 'complete',
187
+ statistics: stats,
188
+ context: history,
189
+ errors: errors,
190
+ styling: styling,
191
+ generatedAt: new Date().toISOString()
192
+ }, null, 2);
193
+ }
194
+ return `# Complete Project Documentation
195
+
196
+ > *This documentation is automatically generated by Context Tracker MCP*
197
+
198
+ ## 📋 Table of Contents
199
+ 1. [Project Overview](#project-overview)
200
+ 2. [Features & Development](#features--development)
201
+ 3. [Error Log](#error-log)
202
+ 4. [Styling Guide](#styling-guide)
203
+ 5. [File Structure](#file-structure)
204
+
205
+ ---
206
+
207
+ ## 🎯 Project Overview
208
+
209
+ ### Statistics
210
+ - **Total Development Entries**: ${stats.totalContextEntries}
211
+ - **Active Tasks**: ${stats.activeContexts}
212
+ - **Files Modified**: ${stats.uniqueFiles}
213
+ - **Total Errors**: ${stats.totalErrors}
214
+ - **Styling Changes**: ${stats.totalStylingEntries}
215
+ - **Unique Elements Styled**: ${stats.uniqueElements}
216
+
217
+ ### Development Timeline
218
+ ${history.slice(0, 10).map(entry => `- **${new Date(entry.timestamp).toLocaleDateString()}**: ${entry.action.toUpperCase()} - ${escapeMarkdown(entry.description)}`).join('\n')}
219
+
220
+ ---
221
+
222
+ ## 🚀 Features & Development
223
+
224
+ ### Recently Completed
225
+ ${history.filter(entry => entry.action === 'complete').slice(0, 5).map(entry => `
226
+ #### ${escapeMarkdown(entry.description)}
227
+ - **Completed**: ${new Date(entry.timestamp).toLocaleString()}
228
+ - **Files**: ${entry.files.map(f => `\`${escapeMarkdown(f)}\``).join(', ')}
229
+ `).join('\n') || 'No completed features yet.'}
230
+
231
+ ### Currently Working On
232
+ ${history.filter(entry => entry.status === 'active').map(entry => `
233
+ #### ${escapeMarkdown(entry.description)}
234
+ - **Started**: ${new Date(entry.timestamp).toLocaleString()}
235
+ - **Files**: ${entry.files.map(f => `\`${escapeMarkdown(f)}\``).join(', ')}
236
+ `).join('\n') || 'No active tasks currently.'}
237
+
238
+ ---
239
+
240
+ ## 🐛 Error Log
241
+
242
+ ### Recent Errors
243
+ ${errors.slice(0, 5).map(error => `
244
+ #### ${escapeMarkdown(error.error)}
245
+ - **When**: ${new Date(error.timestamp).toLocaleString()}
246
+ - **Solution**: ${escapeMarkdown(error.solution)}
247
+ - **Status**: ${error.resolved ? '✅ Resolved' : '❌ Open'}
248
+ `).join('\n') || 'No errors recorded yet.'}
249
+
250
+ ---
251
+
252
+ ## 🎨 Styling Guide
253
+
254
+ ### Recent Styling Changes
255
+ ${styling.slice(0, 5).map(entry => `
256
+ #### ${escapeMarkdown(entry.element)}
257
+ - **Location**: \`${escapeMarkdown(entry.location)}\`
258
+ - **When**: ${new Date(entry.timestamp).toLocaleString()}
259
+ - **Styles**: ${Object.keys(entry.styles).join(', ')}
260
+ ${entry.component ? `- **Component**: ${escapeMarkdown(entry.component)}` : ''}
261
+ `).join('\n') || 'No styling changes recorded yet.'}
262
+
263
+ ---
264
+
265
+ ## 📁 File Structure
266
+
267
+ ### Most Modified Files
268
+ ${this.getMostModifiedFiles(history).map(([file, count]) => `- \`${escapeMarkdown(file)}\` (${count} modifications)`).join('\n') || 'No file modifications recorded yet.'}
269
+
270
+ ---
271
+
272
+ ## 📊 Development Activity
273
+
274
+ ### Last 7 Days Activity
275
+ ${this.getRecentActivity(history).map(day => `- **${day.date}**: ${day.entries} development entries`).join('\n')}
276
+
277
+ ---
278
+
279
+ *Documentation generated on ${new Date().toLocaleString()} by Context Tracker MCP*
280
+ *Last data update: ${history.length > 0 ? new Date(history[history.length - 1].timestamp).toLocaleString() : 'No data'}*
281
+ `;
282
+ }
283
+ getMostModifiedFiles(history) {
284
+ const fileCounts = history.reduce((counts, entry) => {
285
+ entry.files.forEach((file) => {
286
+ counts[file] = (counts[file] || 0) + 1;
287
+ });
288
+ return counts;
289
+ }, {});
290
+ return Object.entries(fileCounts)
291
+ .sort(([, a], [, b]) => b - a)
292
+ .slice(0, 10);
293
+ }
294
+ getRecentActivity(history) {
295
+ const sevenDaysAgo = new Date();
296
+ sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7);
297
+ const recentEntries = history.filter(entry => new Date(entry.timestamp) >= sevenDaysAgo);
298
+ const dailyActivity = recentEntries.reduce((activity, entry) => {
299
+ const date = new Date(entry.timestamp).toLocaleDateString();
300
+ activity[date] = (activity[date] || 0) + 1;
301
+ return activity;
302
+ }, {});
303
+ return Object.entries(dailyActivity)
304
+ .map(([date, entries]) => ({ date, entries: entries }))
305
+ .sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime());
306
+ }
307
+ }
308
+ //# sourceMappingURL=documentation-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation-generator.js","sourceRoot":"","sources":["../src/documentation-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare class ErrorAnalyzer {
2
+ private errorPatterns;
3
+ private solutions;
4
+ analyzeError(error: string, solution: string): {
5
+ pattern: string;
6
+ frequency: number;
7
+ suggestions: string[];
8
+ };
9
+ private extractPattern;
10
+ private getRelatedSolutions;
11
+ getErrorStatistics(): {
12
+ totalErrors: number;
13
+ commonPatterns: Array<{
14
+ pattern: string;
15
+ count: number;
16
+ }>;
17
+ suggestedImprovements: string[];
18
+ };
19
+ private generateImprovements;
20
+ }
21
+ //# sourceMappingURL=error-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-analyzer.d.ts","sourceRoot":"","sources":["../src/error-analyzer.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,SAAS,CAAoC;IAErD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;QAC7C,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IAiBD,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,mBAAmB;IAsB3B,kBAAkB,IAAI;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1D,qBAAqB,EAAE,MAAM,EAAE,CAAC;KACjC;IAkBD,OAAO,CAAC,oBAAoB;CAe7B"}
@@ -0,0 +1,69 @@
1
+ export class ErrorAnalyzer {
2
+ errorPatterns = new Map();
3
+ solutions = new Map();
4
+ analyzeError(error, solution) {
5
+ const pattern = this.extractPattern(error);
6
+ const frequency = this.errorPatterns.get(pattern) || 0;
7
+ this.errorPatterns.set(pattern, frequency + 1);
8
+ const existingSolutions = this.solutions.get(pattern) || [];
9
+ existingSolutions.push(solution);
10
+ this.solutions.set(pattern, existingSolutions);
11
+ return {
12
+ pattern,
13
+ frequency: frequency + 1,
14
+ suggestions: this.getRelatedSolutions(pattern)
15
+ };
16
+ }
17
+ extractPattern(error) {
18
+ // Extract error type (e.g., "TypeError", "ReferenceError", etc.)
19
+ const match = error.match(/^(\w+):/);
20
+ return match ? match[1] : 'Unknown';
21
+ }
22
+ getRelatedSolutions(pattern) {
23
+ const commonSolutions = {
24
+ 'TypeError': [
25
+ 'Add null check before accessing property',
26
+ 'Initialize variable properly',
27
+ 'Check if object exists'
28
+ ],
29
+ 'ReferenceError': [
30
+ 'Check variable scope',
31
+ 'Import missing module',
32
+ 'Verify variable declaration'
33
+ ],
34
+ 'SyntaxError': [
35
+ 'Check syntax near error location',
36
+ 'Validate brackets and parentheses',
37
+ 'Check for missing semicolons'
38
+ ]
39
+ };
40
+ return commonSolutions[pattern] || ['Review error context and code'];
41
+ }
42
+ getErrorStatistics() {
43
+ const totalErrors = Array.from(this.errorPatterns.values())
44
+ .reduce((sum, count) => sum + count, 0);
45
+ const commonPatterns = Array.from(this.errorPatterns.entries())
46
+ .map(([pattern, count]) => ({ pattern, count }))
47
+ .sort((a, b) => b.count - a.count)
48
+ .slice(0, 5);
49
+ const suggestedImprovements = this.generateImprovements(commonPatterns);
50
+ return {
51
+ totalErrors,
52
+ commonPatterns,
53
+ suggestedImprovements
54
+ };
55
+ }
56
+ generateImprovements(patterns) {
57
+ const improvements = [];
58
+ if (patterns.some(p => p.pattern === 'TypeError')) {
59
+ improvements.push('Add TypeScript strict mode for better type checking');
60
+ improvements.push('Implement null safety checks throughout codebase');
61
+ }
62
+ if (patterns.some(p => p.pattern === 'ReferenceError')) {
63
+ improvements.push('Review module imports and exports');
64
+ improvements.push('Add ESLint rules for undefined variables');
65
+ }
66
+ return improvements;
67
+ }
68
+ }
69
+ //# sourceMappingURL=error-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-analyzer.js","sourceRoot":"","sources":["../src/error-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { ContextTracker } from './context-tracker.js';
2
+ interface FileChangeEvent {
3
+ path: string;
4
+ type: 'add' | 'change' | 'unlink';
5
+ timestamp: string;
6
+ content?: string;
7
+ }
8
+ export declare class FileWatcher {
9
+ private contextTracker;
10
+ private watcher;
11
+ private changeLog;
12
+ private watchedPaths;
13
+ private isInitialized;
14
+ constructor(contextTracker: ContextTracker);
15
+ initialize(watchedPaths?: string[]): Promise<void>;
16
+ private setupEventHandlers;
17
+ private handleFileChange;
18
+ private autoTrackContext;
19
+ private trackStyleChanges;
20
+ getChangeLog(limit?: number): FileChangeEvent[];
21
+ getChangesForFile(filePath: string): FileChangeEvent[];
22
+ addWatchPath(path: string): Promise<void>;
23
+ removeWatchPath(path: string): Promise<void>;
24
+ getWatchedPaths(): string[];
25
+ stop(): Promise<void>;
26
+ exportChangeLog(format?: 'json' | 'csv'): Promise<string>;
27
+ getStatistics(): {
28
+ totalChanges: number;
29
+ changesByType: Record<string, number>;
30
+ changesByFile: Record<string, number>;
31
+ watchedPaths: number;
32
+ isInitialized: boolean;
33
+ };
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=file-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-watcher.d.ts","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,aAAa,CAAS;gBAElB,cAAc,EAAE,cAAc;IAIpC,UAAU,CAAC,YAAY,GAAE,MAAM,EAA0C;IAqC/E,OAAO,CAAC,kBAAkB;YAkBZ,gBAAgB;YAuChB,gBAAgB;YAoChB,iBAAiB;IAmC/B,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM;IAI3B,iBAAiB,CAAC,QAAQ,EAAE,MAAM;IAI5B,YAAY,CAAC,IAAI,EAAE,MAAM;IAUzB,eAAe,CAAC,IAAI,EAAE,MAAM;IAWlC,eAAe;IAIT,IAAI;IAQJ,eAAe,CAAC,MAAM,GAAE,MAAM,GAAG,KAAc;IAoBrD,aAAa;;;;;;;CAmBd"}