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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1380 -781
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.js +32 -30
- package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
- package/dist/src/tools/content-masking-tool.d.ts +4 -0
- package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
- package/dist/src/tools/content-masking-tool.js +531 -28
- package/dist/src/tools/content-masking-tool.js.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.d.ts +8 -5
- package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.js +741 -79
- package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
- package/dist/src/tools/environment-analysis-tool.d.ts +4 -0
- package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
- package/dist/src/tools/environment-analysis-tool.js +568 -24
- package/dist/src/tools/environment-analysis-tool.js.map +1 -1
- package/dist/src/tools/mcp-planning-tool.d.ts.map +1 -1
- package/dist/src/tools/mcp-planning-tool.js +298 -173
- package/dist/src/tools/mcp-planning-tool.js.map +1 -1
- package/dist/src/tools/memory-loading-tool.d.ts +60 -0
- package/dist/src/tools/memory-loading-tool.d.ts.map +1 -0
- package/dist/src/tools/memory-loading-tool.js +457 -0
- package/dist/src/tools/memory-loading-tool.js.map +1 -0
- package/dist/src/tools/smart-git-push-tool.d.ts +3 -0
- package/dist/src/tools/smart-git-push-tool.d.ts.map +1 -1
- package/dist/src/tools/smart-git-push-tool.js +177 -223
- package/dist/src/tools/smart-git-push-tool.js.map +1 -1
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +20 -11
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
- package/dist/src/tools/troubleshoot-guided-workflow-tool.js +506 -22
- package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
- package/dist/src/types/enhanced-errors.d.ts +173 -0
- package/dist/src/types/enhanced-errors.d.ts.map +1 -0
- package/dist/src/types/enhanced-errors.js +668 -0
- package/dist/src/types/enhanced-errors.js.map +1 -0
- package/dist/src/types/knowledge-graph-schemas.d.ts +92 -0
- package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -1
- package/dist/src/types/knowledge-graph-schemas.js +45 -17
- package/dist/src/types/knowledge-graph-schemas.js.map +1 -1
- package/dist/src/types/memory-entities.d.ts +7209 -0
- package/dist/src/types/memory-entities.d.ts.map +1 -0
- package/dist/src/types/memory-entities.js +395 -0
- package/dist/src/types/memory-entities.js.map +1 -0
- package/dist/src/types/todo-json-schemas.d.ts +7 -653
- package/dist/src/types/todo-json-schemas.d.ts.map +1 -1
- package/dist/src/types/todo-json-schemas.js +6 -110
- package/dist/src/types/todo-json-schemas.js.map +1 -1
- package/dist/src/utils/enhanced-logging.d.ts +195 -0
- package/dist/src/utils/enhanced-logging.d.ts.map +1 -0
- package/dist/src/utils/enhanced-logging.js +449 -0
- package/dist/src/utils/enhanced-logging.js.map +1 -0
- package/dist/src/utils/interactive-approval.d.ts +1 -1
- package/dist/src/utils/interactive-approval.d.ts.map +1 -1
- package/dist/src/utils/interactive-approval.js +20 -16
- package/dist/src/utils/interactive-approval.js.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.d.ts +23 -1
- package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.js +297 -69
- package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
- package/dist/src/utils/memory-entity-manager.d.ts +134 -0
- package/dist/src/utils/memory-entity-manager.d.ts.map +1 -0
- package/dist/src/utils/memory-entity-manager.js +848 -0
- package/dist/src/utils/memory-entity-manager.js.map +1 -0
- package/dist/src/utils/memory-health-scoring.d.ts +125 -0
- package/dist/src/utils/memory-health-scoring.d.ts.map +1 -0
- package/dist/src/utils/memory-health-scoring.js +277 -0
- package/dist/src/utils/memory-health-scoring.js.map +1 -0
- package/dist/src/utils/memory-migration-manager.d.ts +93 -0
- package/dist/src/utils/memory-migration-manager.d.ts.map +1 -0
- package/dist/src/utils/memory-migration-manager.js +834 -0
- package/dist/src/utils/memory-migration-manager.js.map +1 -0
- package/dist/src/utils/memory-relationship-mapper.d.ts +87 -0
- package/dist/src/utils/memory-relationship-mapper.d.ts.map +1 -0
- package/dist/src/utils/memory-relationship-mapper.js +481 -0
- package/dist/src/utils/memory-relationship-mapper.js.map +1 -0
- package/dist/src/utils/memory-rollback-manager.d.ts +93 -0
- package/dist/src/utils/memory-rollback-manager.d.ts.map +1 -0
- package/dist/src/utils/memory-rollback-manager.js +542 -0
- package/dist/src/utils/memory-rollback-manager.js.map +1 -0
- package/dist/src/utils/memory-transformation.d.ts +59 -0
- package/dist/src/utils/memory-transformation.d.ts.map +1 -0
- package/dist/src/utils/memory-transformation.js +742 -0
- package/dist/src/utils/memory-transformation.js.map +1 -0
- package/dist/src/utils/prompt-execution.d.ts.map +1 -1
- package/dist/src/utils/prompt-execution.js +72 -51
- package/dist/src/utils/prompt-execution.js.map +1 -1
- package/dist/src/utils/todo-file-watcher.d.ts +11 -23
- package/dist/src/utils/todo-file-watcher.d.ts.map +1 -1
- package/dist/src/utils/todo-file-watcher.js +18 -156
- package/dist/src/utils/todo-file-watcher.js.map +1 -1
- package/package.json +22 -6
- package/dist/src/tools/smart-score-tool.d.ts +0 -173
- package/dist/src/tools/smart-score-tool.d.ts.map +0 -1
- package/dist/src/tools/smart-score-tool.js +0 -681
- package/dist/src/tools/smart-score-tool.js.map +0 -1
- package/dist/src/tools/todo-management-tool-v2.d.ts +0 -368
- package/dist/src/tools/todo-management-tool-v2.d.ts.map +0 -1
- package/dist/src/tools/todo-management-tool-v2.js +0 -922
- package/dist/src/tools/todo-management-tool-v2.js.map +0 -1
- package/dist/src/utils/project-health-scoring.d.ts +0 -177
- package/dist/src/utils/project-health-scoring.d.ts.map +0 -1
- package/dist/src/utils/project-health-scoring.js +0 -370
- package/dist/src/utils/project-health-scoring.js.map +0 -1
- package/dist/src/utils/todo-json-manager.d.ts +0 -71
- package/dist/src/utils/todo-json-manager.d.ts.map +0 -1
- package/dist/src/utils/todo-json-manager.js +0 -396
- package/dist/src/utils/todo-json-manager.js.map +0 -1
- package/dist/src/utils/todo-markdown-converter.d.ts +0 -16
- package/dist/src/utils/todo-markdown-converter.d.ts.map +0 -1
- package/dist/src/utils/todo-markdown-converter.js +0 -362
- package/dist/src/utils/todo-markdown-converter.js.map +0 -1
- package/dist/src/utils/todo-migration.d.ts +0 -47
- package/dist/src/utils/todo-migration.d.ts.map +0 -1
- package/dist/src/utils/todo-migration.js +0 -261
- 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"}
|