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
@@ -1,362 +0,0 @@
1
- /**
2
- * TODO JSON ↔ Markdown Converter
3
- *
4
- * Converts between structured JSON format and human-readable markdown,
5
- * preserving all metadata and enabling seamless bidirectional sync.
6
- */
7
- import { ProjectHealthScoring } from './project-health-scoring.js';
8
- import { loadConfig } from './config.js';
9
- import crypto from 'crypto';
10
- /**
11
- * Convert JSON TODO data to markdown format
12
- */
13
- export async function generateTodoMarkdown(data) {
14
- const config = loadConfig();
15
- const healthScoring = new ProjectHealthScoring(config.projectPath);
16
- // Generate health dashboard header
17
- const healthDashboard = await healthScoring.generateScoreDisplay();
18
- // Calculate progress metrics
19
- const metrics = calculateProgressMetrics(data);
20
- let markdown = healthDashboard;
21
- // Add TODO overview
22
- markdown += `\n## 📋 TODO Overview\n\n`;
23
- markdown += `**Progress**: ${metrics.completedTasks}/${metrics.totalTasks} tasks completed (${metrics.completionPercentage.toFixed(1)}%)\n`;
24
- markdown += `**Priority Score**: ${metrics.priorityWeightedScore.toFixed(1)}% (weighted by priority)\n`;
25
- markdown += `**Critical Remaining**: ${metrics.criticalRemaining} critical tasks\n`;
26
- markdown += `**Blocked**: ${metrics.blockedTasks} tasks blocked\n\n`;
27
- // Add velocity metrics if available
28
- if (metrics.velocity.tasksCompletedLastWeek > 0) {
29
- markdown += `**Velocity**: ${metrics.velocity.tasksCompletedLastWeek} tasks/week, avg ${metrics.velocity.averageCompletionTime.toFixed(1)}h completion time\n\n`;
30
- }
31
- // Add sections
32
- const sortedSections = data.sections.sort((a, b) => a.order - b.order);
33
- for (const section of sortedSections) {
34
- if (section.tasks.length === 0)
35
- continue;
36
- markdown += `## ${getEmojiForSection(section.id)} ${section.title}\n\n`;
37
- if (section.description) {
38
- markdown += `${section.description}\n\n`;
39
- }
40
- // Group tasks by priority for better organization
41
- const sectionTasks = section.tasks
42
- .map(taskId => data.tasks[taskId])
43
- .filter(Boolean)
44
- .sort((a, b) => {
45
- const priorityOrder = { critical: 4, high: 3, medium: 2, low: 1 };
46
- return priorityOrder[b.priority] - priorityOrder[a.priority];
47
- });
48
- for (const task of sectionTasks) {
49
- if (task) {
50
- markdown += formatTaskAsMarkdown(task, data.tasks);
51
- }
52
- }
53
- markdown += '\n';
54
- }
55
- // Add metadata footer
56
- markdown += `---\n\n`;
57
- markdown += `*Last updated: ${new Date(data.metadata.lastUpdated).toLocaleString()}*\n`;
58
- markdown += `*Auto-sync: ${data.metadata.autoSyncEnabled ? 'enabled' : 'disabled'}*\n`;
59
- markdown += `*Knowledge Graph: ${data.knowledgeGraphSync.linkedIntents.length} linked intents*\n`;
60
- return markdown;
61
- }
62
- /**
63
- * Format a single task as markdown
64
- */
65
- function formatTaskAsMarkdown(task, allTasks) {
66
- const checkbox = task.status === 'completed' ? '[x]' : '[ ]';
67
- const priorityEmoji = getPriorityEmoji(task.priority);
68
- const statusEmoji = getStatusEmoji(task.status);
69
- let line = `- ${checkbox} ${priorityEmoji} ${statusEmoji} **${task.title}**`;
70
- // Add assignee if present
71
- if (task.assignee) {
72
- line += ` (@${task.assignee})`;
73
- }
74
- // Add due date if present
75
- if (task.dueDate) {
76
- const dueDate = new Date(task.dueDate);
77
- const isOverdue = dueDate < new Date() && task.status !== 'completed';
78
- const dueDateStr = dueDate.toLocaleDateString();
79
- line += ` ${isOverdue ? '🔴' : '📅'} ${dueDateStr}`;
80
- }
81
- // Add progress for in-progress tasks
82
- if (task.status === 'in_progress' && task.progressPercentage > 0) {
83
- line += ` (${task.progressPercentage}%)`;
84
- }
85
- line += '\n';
86
- // Add description if present
87
- if (task.description) {
88
- line += ` ${task.description}\n`;
89
- }
90
- // Add subtasks
91
- if (task.subtasks.length > 0) {
92
- for (const subtaskId of task.subtasks) {
93
- const subtask = allTasks[subtaskId];
94
- if (subtask) {
95
- line += ` - ${subtask.status === 'completed' ? '[x]' : '[ ]'} ${subtask.title}\n`;
96
- }
97
- }
98
- }
99
- // Add dependencies
100
- if (task.dependencies.length > 0) {
101
- const depTasks = task.dependencies
102
- .map(depId => allTasks[depId])
103
- .filter(Boolean);
104
- if (depTasks.length > 0) {
105
- line += ` *Depends on: ${depTasks.map(t => t.title).join(', ')}*\n`;
106
- }
107
- }
108
- // Add blocking information
109
- if (task.blockedBy.length > 0) {
110
- const blockers = task.blockedBy
111
- .map(blockerId => allTasks[blockerId])
112
- .filter(Boolean);
113
- if (blockers.length > 0) {
114
- line += ` *Blocked by: ${blockers.map(t => t.title).join(', ')}*\n`;
115
- }
116
- }
117
- // Add linked ADRs
118
- if (task.linkedAdrs.length > 0) {
119
- line += ` *ADRs: ${task.linkedAdrs.join(', ')}*\n`;
120
- }
121
- // Add tags
122
- if (task.tags.length > 0) {
123
- line += ` *Tags: ${task.tags.map(tag => `#${tag}`).join(' ')}*\n`;
124
- }
125
- // Add notes
126
- if (task.notes) {
127
- line += ` *Notes: ${task.notes}*\n`;
128
- }
129
- return line;
130
- }
131
- /**
132
- * Parse markdown content back to JSON format
133
- */
134
- export async function parseMarkdownToJson(markdown) {
135
- const lines = markdown.split('\n');
136
- const now = new Date().toISOString();
137
- const data = {
138
- version: '1.0.0',
139
- metadata: {
140
- lastUpdated: now,
141
- totalTasks: 0,
142
- completedTasks: 0,
143
- autoSyncEnabled: true
144
- },
145
- tasks: {},
146
- sections: [],
147
- scoringSync: {
148
- lastScoreUpdate: now,
149
- taskCompletionScore: 0,
150
- priorityWeightedScore: 0,
151
- criticalTasksRemaining: 0,
152
- scoreHistory: []
153
- },
154
- knowledgeGraphSync: {
155
- lastSync: now,
156
- linkedIntents: [],
157
- pendingUpdates: []
158
- },
159
- automationRules: []
160
- };
161
- let currentSection = null;
162
- let sectionOrder = 1;
163
- for (let i = 0; i < lines.length; i++) {
164
- const line = lines[i]?.trim() || '';
165
- // Parse section headers
166
- if (line.startsWith('## ') && !line.includes('📊') && !line.includes('🎯')) {
167
- const sectionTitle = line.replace(/^## /, '').replace(/^[^\s]+ /, ''); // Remove emoji
168
- const sectionId = sectionTitle.toLowerCase().replace(/\s+/g, '_');
169
- currentSection = {
170
- id: sectionId,
171
- title: sectionTitle,
172
- order: sectionOrder++,
173
- collapsed: false,
174
- tasks: []
175
- };
176
- data.sections.push(currentSection);
177
- continue;
178
- }
179
- // Parse task lines
180
- if (line.match(/^- \[(x| )\]/)) {
181
- if (!currentSection) {
182
- // Create default section if none exists
183
- currentSection = {
184
- id: 'default',
185
- title: 'Tasks',
186
- order: sectionOrder++,
187
- collapsed: false,
188
- tasks: []
189
- };
190
- data.sections.push(currentSection);
191
- }
192
- const task = parseTaskLine(line, lines, i);
193
- if (task && currentSection) {
194
- data.tasks[task.id] = task;
195
- currentSection.tasks.push(task.id);
196
- }
197
- }
198
- }
199
- // Update metadata
200
- data.metadata.totalTasks = Object.keys(data.tasks).length;
201
- data.metadata.completedTasks = Object.values(data.tasks).filter(t => t.status === 'completed').length;
202
- return data;
203
- }
204
- /**
205
- * Parse a task line and extract task information
206
- */
207
- function parseTaskLine(line, _allLines, _lineIndex) {
208
- const taskMatch = line.match(/^- \[(x| )\] (.+)$/);
209
- if (!taskMatch)
210
- return null;
211
- const isCompleted = taskMatch[1] === 'x';
212
- const content = taskMatch[2];
213
- if (!content)
214
- return null;
215
- // Extract priority from emoji
216
- const priority = extractPriorityFromEmoji(content);
217
- // Extract title (remove emojis and metadata)
218
- const title = content
219
- .replace(/^[^\s]+ [^\s]+ \*\*(.+?)\*\*.*/, '$1')
220
- .replace(/^[^\s]+ [^\s]+ (.+?) \(.*/, '$1')
221
- .replace(/^[^\s]+ [^\s]+ (.+)$/, '$1');
222
- // Extract assignee
223
- const assigneeMatch = content.match(/@(\w+)/);
224
- const assignee = assigneeMatch ? assigneeMatch[1] : undefined;
225
- // Extract due date
226
- const dueDateMatch = content.match(/📅 (\d{1,2}\/\d{1,2}\/\d{4})/);
227
- const dueDate = dueDateMatch?.[1] ? new Date(dueDateMatch[1]).toISOString() : undefined;
228
- // Extract progress
229
- const progressMatch = content.match(/\((\d+)%\)/);
230
- const progressPercentage = progressMatch?.[1] ? parseInt(progressMatch[1]) : 0;
231
- const taskId = crypto.randomUUID();
232
- const now = new Date().toISOString();
233
- return {
234
- id: taskId,
235
- title,
236
- description: '', // Will be extracted from following lines if present
237
- status: isCompleted ? 'completed' : 'pending',
238
- priority,
239
- assignee,
240
- createdAt: now,
241
- updatedAt: now,
242
- completedAt: isCompleted ? now : undefined,
243
- dueDate,
244
- parentTaskId: undefined,
245
- subtasks: [],
246
- dependencies: [],
247
- blockedBy: [],
248
- linkedAdrs: [],
249
- adrGeneratedTask: false,
250
- intentId: undefined,
251
- toolExecutions: [],
252
- scoreWeight: 1,
253
- scoreCategory: 'task_completion',
254
- progressPercentage,
255
- tags: [],
256
- notes: undefined,
257
- lastModifiedBy: 'tool',
258
- autoComplete: false,
259
- version: 1,
260
- changeLog: [{
261
- timestamp: now,
262
- action: 'created',
263
- details: `Task imported from markdown: ${title}`,
264
- modifiedBy: 'tool'
265
- }]
266
- };
267
- }
268
- /**
269
- * Extract priority from emoji
270
- */
271
- function extractPriorityFromEmoji(content) {
272
- if (content.includes('🔴'))
273
- return 'critical';
274
- if (content.includes('🟠'))
275
- return 'high';
276
- if (content.includes('🟡'))
277
- return 'medium';
278
- return 'low';
279
- }
280
- /**
281
- * Get emoji for task priority
282
- */
283
- function getPriorityEmoji(priority) {
284
- switch (priority) {
285
- case 'critical': return '🔴';
286
- case 'high': return '🟠';
287
- case 'medium': return '🟡';
288
- case 'low': return '🟢';
289
- default: return '⚪';
290
- }
291
- }
292
- /**
293
- * Get emoji for task status
294
- */
295
- function getStatusEmoji(status) {
296
- switch (status) {
297
- case 'completed': return '✅';
298
- case 'in_progress': return '🔄';
299
- case 'blocked': return '🚫';
300
- case 'cancelled': return '❌';
301
- default: return '⏳';
302
- }
303
- }
304
- /**
305
- * Get emoji for section
306
- */
307
- function getEmojiForSection(sectionId) {
308
- switch (sectionId) {
309
- case 'pending': return '📋';
310
- case 'in_progress': return '🔄';
311
- case 'completed': return '✅';
312
- case 'blocked': return '🚫';
313
- case 'cancelled': return '❌';
314
- default: return '📁';
315
- }
316
- }
317
- /**
318
- * Calculate progress metrics from JSON data
319
- */
320
- function calculateProgressMetrics(data) {
321
- const tasks = Object.values(data.tasks);
322
- const totalTasks = tasks.length;
323
- const completedTasks = tasks.filter(t => t.status === 'completed').length;
324
- const completionPercentage = totalTasks > 0 ? (completedTasks / totalTasks) * 100 : 100;
325
- // Priority-weighted scoring
326
- const priorityWeights = { low: 1, medium: 2, high: 3, critical: 4 };
327
- const totalWeight = tasks.reduce((sum, t) => sum + priorityWeights[t.priority], 0);
328
- const completedWeight = tasks
329
- .filter(t => t.status === 'completed')
330
- .reduce((sum, t) => sum + priorityWeights[t.priority], 0);
331
- const priorityWeightedScore = totalWeight > 0 ? (completedWeight / totalWeight) * 100 : 100;
332
- // Other metrics
333
- const criticalRemaining = tasks.filter(t => t.priority === 'critical' && t.status !== 'completed').length;
334
- const blockedTasks = tasks.filter(t => t.status === 'blocked').length;
335
- // Velocity metrics
336
- const now = new Date();
337
- const weekAgo = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
338
- const tasksCompletedLastWeek = tasks.filter(t => t.status === 'completed' &&
339
- t.completedAt &&
340
- new Date(t.completedAt) > weekAgo).length;
341
- const completedTasksWithDuration = tasks.filter(t => t.status === 'completed' &&
342
- t.completedAt);
343
- const averageCompletionTime = completedTasksWithDuration.length > 0
344
- ? completedTasksWithDuration.reduce((sum, t) => {
345
- const duration = (new Date(t.completedAt).getTime() - new Date(t.createdAt).getTime()) / (1000 * 60 * 60);
346
- return sum + duration;
347
- }, 0) / completedTasksWithDuration.length
348
- : 0;
349
- return {
350
- totalTasks,
351
- completedTasks,
352
- completionPercentage,
353
- priorityWeightedScore,
354
- criticalRemaining,
355
- blockedTasks,
356
- velocity: {
357
- tasksCompletedLastWeek,
358
- averageCompletionTime
359
- }
360
- };
361
- }
362
- //# sourceMappingURL=todo-markdown-converter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"todo-markdown-converter.js","sourceRoot":"","sources":["../../../src/utils/todo-markdown-converter.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Migration Utility for JSON-First TODO System
3
- *
4
- * Helps users transition from markdown-based TODO.md files to the new
5
- * JSON-first system with backup and validation.
6
- */
7
- export interface MigrationOptions {
8
- projectPath?: string;
9
- backupOriginal?: boolean;
10
- preserveMarkdown?: boolean;
11
- validateAfterMigration?: boolean;
12
- dryRun?: boolean;
13
- }
14
- export interface MigrationResult {
15
- success: boolean;
16
- migratedTasks: number;
17
- backupPath?: string;
18
- errors: string[];
19
- warnings: string[];
20
- summary: string;
21
- }
22
- export declare class TodoMigrationUtility {
23
- private todoManager;
24
- private projectPath;
25
- private todoMdPath;
26
- private backupDir;
27
- constructor(projectPath?: string);
28
- /**
29
- * Migrate existing TODO.md to JSON format
30
- */
31
- migrateToJsonFormat(options?: MigrationOptions): Promise<MigrationResult>;
32
- /**
33
- * Validate migration results
34
- */
35
- private validateMigration;
36
- /**
37
- * Create a summary report of existing TODO.md
38
- */
39
- generateMigrationReport(): Promise<string>;
40
- /**
41
- * Generate a comparison between old and new systems
42
- */
43
- generateFeatureComparison(): Promise<string>;
44
- private fileExists;
45
- private ensureBackupDirectory;
46
- }
47
- //# sourceMappingURL=todo-migration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"todo-migration.d.ts","sourceRoot":"","sources":["../../../src/utils/todo-migration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,WAAW,CAAC,EAAE,MAAM;IAQhC;;OAEG;IACG,mBAAmB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IA+EnF;;OAEG;YACW,iBAAiB;IAuC/B;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAoFhD;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC;YA2CpC,UAAU;YASV,qBAAqB;CAOpC"}