mcp-adr-analysis-server 2.0.21 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/README.md +94 -839
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/config/ai-config.d.ts.map +1 -1
  4. package/dist/src/config/ai-config.js +9 -9
  5. package/dist/src/config/ai-config.js.map +1 -1
  6. package/dist/src/index.d.ts +15 -0
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js +1594 -837
  9. package/dist/src/index.js.map +1 -1
  10. package/dist/src/prompts/analysis-prompts.d.ts +4 -1
  11. package/dist/src/prompts/analysis-prompts.d.ts.map +1 -1
  12. package/dist/src/prompts/analysis-prompts.js +61 -30
  13. package/dist/src/prompts/analysis-prompts.js.map +1 -1
  14. package/dist/src/prompts/index.d.ts +17 -1
  15. package/dist/src/prompts/index.d.ts.map +1 -1
  16. package/dist/src/prompts/index.js +325 -1
  17. package/dist/src/prompts/index.js.map +1 -1
  18. package/dist/src/prompts/rule-generation-prompts.d.ts +5 -1
  19. package/dist/src/prompts/rule-generation-prompts.d.ts.map +1 -1
  20. package/dist/src/prompts/rule-generation-prompts.js +5 -1
  21. package/dist/src/prompts/rule-generation-prompts.js.map +1 -1
  22. package/dist/src/prompts/security-prompts.d.ts +6 -1
  23. package/dist/src/prompts/security-prompts.d.ts.map +1 -1
  24. package/dist/src/prompts/security-prompts.js +6 -1
  25. package/dist/src/prompts/security-prompts.js.map +1 -1
  26. package/dist/src/prompts/todo-prompts.d.ts +49 -0
  27. package/dist/src/prompts/todo-prompts.d.ts.map +1 -0
  28. package/dist/src/prompts/todo-prompts.js +824 -0
  29. package/dist/src/prompts/todo-prompts.js.map +1 -0
  30. package/dist/src/resources/index.d.ts.map +1 -1
  31. package/dist/src/resources/index.js +9 -7
  32. package/dist/src/resources/index.js.map +1 -1
  33. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts +47 -0
  34. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -0
  35. package/dist/src/tools/adr-bootstrap-validation-tool.js +979 -0
  36. package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -0
  37. package/dist/src/tools/adr-suggestion-tool.d.ts +1 -0
  38. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  39. package/dist/src/tools/adr-suggestion-tool.js +330 -32
  40. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  41. package/dist/src/tools/content-masking-tool.d.ts +5 -0
  42. package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
  43. package/dist/src/tools/content-masking-tool.js +631 -28
  44. package/dist/src/tools/content-masking-tool.js.map +1 -1
  45. package/dist/src/tools/deployment-readiness-tool.d.ts +8 -5
  46. package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
  47. package/dist/src/tools/deployment-readiness-tool.js +1017 -93
  48. package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
  49. package/dist/src/tools/environment-analysis-tool.d.ts +4 -0
  50. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  51. package/dist/src/tools/environment-analysis-tool.js +568 -24
  52. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  53. package/dist/src/tools/interactive-adr-planning-tool.d.ts.map +1 -1
  54. package/dist/src/tools/interactive-adr-planning-tool.js +270 -108
  55. package/dist/src/tools/interactive-adr-planning-tool.js.map +1 -1
  56. package/dist/src/tools/mcp-planning-tool.d.ts.map +1 -1
  57. package/dist/src/tools/mcp-planning-tool.js +316 -183
  58. package/dist/src/tools/mcp-planning-tool.js.map +1 -1
  59. package/dist/src/tools/memory-loading-tool.d.ts +60 -0
  60. package/dist/src/tools/memory-loading-tool.d.ts.map +1 -0
  61. package/dist/src/tools/memory-loading-tool.js +457 -0
  62. package/dist/src/tools/memory-loading-tool.js.map +1 -0
  63. package/dist/src/tools/research-integration-tool.d.ts +4 -1
  64. package/dist/src/tools/research-integration-tool.d.ts.map +1 -1
  65. package/dist/src/tools/research-integration-tool.js +5 -1
  66. package/dist/src/tools/research-integration-tool.js.map +1 -1
  67. package/dist/src/tools/review-existing-adrs-tool.d.ts +19 -0
  68. package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -0
  69. package/dist/src/tools/review-existing-adrs-tool.js +1204 -0
  70. package/dist/src/tools/review-existing-adrs-tool.js.map +1 -0
  71. package/dist/src/tools/rule-generation-tool.d.ts +2 -0
  72. package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
  73. package/dist/src/tools/rule-generation-tool.js +274 -33
  74. package/dist/src/tools/rule-generation-tool.js.map +1 -1
  75. package/dist/src/tools/smart-git-push-tool-v2.d.ts +4 -0
  76. package/dist/src/tools/smart-git-push-tool-v2.d.ts.map +1 -1
  77. package/dist/src/tools/smart-git-push-tool-v2.js +423 -229
  78. package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -1
  79. package/dist/src/tools/smart-git-push-tool.d.ts +3 -0
  80. package/dist/src/tools/smart-git-push-tool.d.ts.map +1 -1
  81. package/dist/src/tools/smart-git-push-tool.js +241 -235
  82. package/dist/src/tools/smart-git-push-tool.js.map +1 -1
  83. package/dist/src/tools/tool-chain-orchestrator.d.ts +2 -2
  84. package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
  85. package/dist/src/tools/tool-chain-orchestrator.js +152 -93
  86. package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
  87. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +22 -13
  88. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
  89. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +660 -28
  90. package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
  91. package/dist/src/types/ape-framework.d.ts +93 -0
  92. package/dist/src/types/ape-framework.d.ts.map +1 -1
  93. package/dist/src/types/ape-framework.js +10 -10
  94. package/dist/src/types/ape-framework.js.map +1 -1
  95. package/dist/src/types/enhanced-errors.d.ts +173 -0
  96. package/dist/src/types/enhanced-errors.d.ts.map +1 -0
  97. package/dist/src/types/enhanced-errors.js +668 -0
  98. package/dist/src/types/enhanced-errors.js.map +1 -0
  99. package/dist/src/types/index.d.ts +129 -3
  100. package/dist/src/types/index.d.ts.map +1 -1
  101. package/dist/src/types/index.js +15 -0
  102. package/dist/src/types/index.js.map +1 -1
  103. package/dist/src/types/knowledge-generation.d.ts +78 -0
  104. package/dist/src/types/knowledge-generation.d.ts.map +1 -1
  105. package/dist/src/types/knowledge-generation.js +10 -6
  106. package/dist/src/types/knowledge-generation.js.map +1 -1
  107. package/dist/src/types/knowledge-graph-schemas.d.ts +92 -0
  108. package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -1
  109. package/dist/src/types/knowledge-graph-schemas.js +45 -17
  110. package/dist/src/types/knowledge-graph-schemas.js.map +1 -1
  111. package/dist/src/types/memory-entities.d.ts +7209 -0
  112. package/dist/src/types/memory-entities.d.ts.map +1 -0
  113. package/dist/src/types/memory-entities.js +395 -0
  114. package/dist/src/types/memory-entities.js.map +1 -0
  115. package/dist/src/types/reflexion-framework.d.ts +44 -0
  116. package/dist/src/types/reflexion-framework.d.ts.map +1 -1
  117. package/dist/src/types/reflexion-framework.js +7 -7
  118. package/dist/src/types/reflexion-framework.js.map +1 -1
  119. package/dist/src/types/todo-json-schemas.d.ts +7 -653
  120. package/dist/src/types/todo-json-schemas.d.ts.map +1 -1
  121. package/dist/src/types/todo-json-schemas.js +6 -110
  122. package/dist/src/types/todo-json-schemas.js.map +1 -1
  123. package/dist/src/types/tool-arguments.d.ts +224 -0
  124. package/dist/src/types/tool-arguments.d.ts.map +1 -0
  125. package/dist/src/types/tool-arguments.js +6 -0
  126. package/dist/src/types/tool-arguments.js.map +1 -0
  127. package/dist/src/utils/actual-file-operations.d.ts.map +1 -1
  128. package/dist/src/utils/actual-file-operations.js +25 -9
  129. package/dist/src/utils/actual-file-operations.js.map +1 -1
  130. package/dist/src/utils/adr-discovery.d.ts +33 -1
  131. package/dist/src/utils/adr-discovery.d.ts.map +1 -1
  132. package/dist/src/utils/adr-discovery.js +14 -9
  133. package/dist/src/utils/adr-discovery.js.map +1 -1
  134. package/dist/src/utils/adr-suggestions.d.ts +72 -0
  135. package/dist/src/utils/adr-suggestions.d.ts.map +1 -1
  136. package/dist/src/utils/adr-suggestions.js +6 -0
  137. package/dist/src/utils/adr-suggestions.js.map +1 -1
  138. package/dist/src/utils/cache.d.ts.map +1 -1
  139. package/dist/src/utils/cache.js +22 -19
  140. package/dist/src/utils/cache.js.map +1 -1
  141. package/dist/src/utils/chain-of-thought-template.d.ts +13 -1
  142. package/dist/src/utils/chain-of-thought-template.d.ts.map +1 -1
  143. package/dist/src/utils/chain-of-thought-template.js +31 -22
  144. package/dist/src/utils/chain-of-thought-template.js.map +1 -1
  145. package/dist/src/utils/config.d.ts.map +1 -1
  146. package/dist/src/utils/config.js +1 -0
  147. package/dist/src/utils/config.js.map +1 -1
  148. package/dist/src/utils/directory-compat.js +1 -1
  149. package/dist/src/utils/directory-compat.js.map +1 -1
  150. package/dist/src/utils/enhanced-logging.d.ts +195 -0
  151. package/dist/src/utils/enhanced-logging.d.ts.map +1 -0
  152. package/dist/src/utils/enhanced-logging.js +449 -0
  153. package/dist/src/utils/enhanced-logging.js.map +1 -0
  154. package/dist/src/utils/file-system.d.ts +182 -34
  155. package/dist/src/utils/file-system.d.ts.map +1 -1
  156. package/dist/src/utils/file-system.js +648 -774
  157. package/dist/src/utils/file-system.js.map +1 -1
  158. package/dist/src/utils/gitleaks-detector.d.ts +50 -0
  159. package/dist/src/utils/gitleaks-detector.d.ts.map +1 -0
  160. package/dist/src/utils/gitleaks-detector.js +334 -0
  161. package/dist/src/utils/gitleaks-detector.js.map +1 -0
  162. package/dist/src/utils/interactive-approval.d.ts +1 -1
  163. package/dist/src/utils/interactive-approval.d.ts.map +1 -1
  164. package/dist/src/utils/interactive-approval.js +22 -17
  165. package/dist/src/utils/interactive-approval.js.map +1 -1
  166. package/dist/src/utils/json-safe.d.ts.map +1 -1
  167. package/dist/src/utils/json-safe.js +9 -6
  168. package/dist/src/utils/json-safe.js.map +1 -1
  169. package/dist/src/utils/knowledge-graph-manager.d.ts +37 -1
  170. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
  171. package/dist/src/utils/knowledge-graph-manager.js +315 -70
  172. package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
  173. package/dist/src/utils/location-filter.d.ts +35 -10
  174. package/dist/src/utils/location-filter.d.ts.map +1 -1
  175. package/dist/src/utils/location-filter.js +360 -94
  176. package/dist/src/utils/location-filter.js.map +1 -1
  177. package/dist/src/utils/mcp-response-validator.d.ts.map +1 -1
  178. package/dist/src/utils/mcp-response-validator.js +34 -19
  179. package/dist/src/utils/mcp-response-validator.js.map +1 -1
  180. package/dist/src/utils/memory-entity-manager.d.ts +134 -0
  181. package/dist/src/utils/memory-entity-manager.d.ts.map +1 -0
  182. package/dist/src/utils/memory-entity-manager.js +851 -0
  183. package/dist/src/utils/memory-entity-manager.js.map +1 -0
  184. package/dist/src/utils/memory-health-scoring.d.ts +125 -0
  185. package/dist/src/utils/memory-health-scoring.d.ts.map +1 -0
  186. package/dist/src/utils/memory-health-scoring.js +277 -0
  187. package/dist/src/utils/memory-health-scoring.js.map +1 -0
  188. package/dist/src/utils/memory-migration-manager.d.ts +93 -0
  189. package/dist/src/utils/memory-migration-manager.d.ts.map +1 -0
  190. package/dist/src/utils/memory-migration-manager.js +842 -0
  191. package/dist/src/utils/memory-migration-manager.js.map +1 -0
  192. package/dist/src/utils/memory-relationship-mapper.d.ts +87 -0
  193. package/dist/src/utils/memory-relationship-mapper.d.ts.map +1 -0
  194. package/dist/src/utils/memory-relationship-mapper.js +482 -0
  195. package/dist/src/utils/memory-relationship-mapper.js.map +1 -0
  196. package/dist/src/utils/memory-rollback-manager.d.ts +105 -0
  197. package/dist/src/utils/memory-rollback-manager.d.ts.map +1 -0
  198. package/dist/src/utils/memory-rollback-manager.js +575 -0
  199. package/dist/src/utils/memory-rollback-manager.js.map +1 -0
  200. package/dist/src/utils/memory-transformation.d.ts +59 -0
  201. package/dist/src/utils/memory-transformation.d.ts.map +1 -0
  202. package/dist/src/utils/memory-transformation.js +742 -0
  203. package/dist/src/utils/memory-transformation.js.map +1 -0
  204. package/dist/src/utils/output-masking.d.ts +12 -0
  205. package/dist/src/utils/output-masking.d.ts.map +1 -1
  206. package/dist/src/utils/output-masking.js +5 -0
  207. package/dist/src/utils/output-masking.js.map +1 -1
  208. package/dist/src/utils/prompt-execution.d.ts.map +1 -1
  209. package/dist/src/utils/prompt-execution.js +72 -51
  210. package/dist/src/utils/prompt-execution.js.map +1 -1
  211. package/dist/src/utils/release-readiness-detector.d.ts.map +1 -1
  212. package/dist/src/utils/release-readiness-detector.js +43 -42
  213. package/dist/src/utils/release-readiness-detector.js.map +1 -1
  214. package/dist/src/utils/research-integration.d.ts.map +1 -1
  215. package/dist/src/utils/research-integration.js +73 -44
  216. package/dist/src/utils/research-integration.js.map +1 -1
  217. package/dist/src/utils/research-questions.d.ts.map +1 -1
  218. package/dist/src/utils/research-questions.js +40 -14
  219. package/dist/src/utils/research-questions.js.map +1 -1
  220. package/dist/src/utils/ripgrep-wrapper.d.ts +84 -0
  221. package/dist/src/utils/ripgrep-wrapper.d.ts.map +1 -0
  222. package/dist/src/utils/ripgrep-wrapper.js +255 -0
  223. package/dist/src/utils/ripgrep-wrapper.js.map +1 -0
  224. package/dist/src/utils/rule-generation.d.ts.map +1 -1
  225. package/dist/src/utils/rule-generation.js +26 -15
  226. package/dist/src/utils/rule-generation.js.map +1 -1
  227. package/dist/src/utils/todo-file-watcher.d.ts +11 -23
  228. package/dist/src/utils/todo-file-watcher.d.ts.map +1 -1
  229. package/dist/src/utils/todo-file-watcher.js +18 -156
  230. package/dist/src/utils/todo-file-watcher.js.map +1 -1
  231. package/dist/src/utils/tree-sitter-analyzer.d.ts +185 -0
  232. package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -0
  233. package/dist/src/utils/tree-sitter-analyzer.js +885 -0
  234. package/dist/src/utils/tree-sitter-analyzer.js.map +1 -0
  235. package/package.json +51 -10
  236. package/dist/src/tools/smart-score-tool.d.ts +0 -173
  237. package/dist/src/tools/smart-score-tool.d.ts.map +0 -1
  238. package/dist/src/tools/smart-score-tool.js +0 -681
  239. package/dist/src/tools/smart-score-tool.js.map +0 -1
  240. package/dist/src/tools/todo-management-tool-v2.d.ts +0 -368
  241. package/dist/src/tools/todo-management-tool-v2.d.ts.map +0 -1
  242. package/dist/src/tools/todo-management-tool-v2.js +0 -922
  243. package/dist/src/tools/todo-management-tool-v2.js.map +0 -1
  244. package/dist/src/utils/enhanced-sensitive-detector.d.ts +0 -61
  245. package/dist/src/utils/enhanced-sensitive-detector.d.ts.map +0 -1
  246. package/dist/src/utils/enhanced-sensitive-detector.js +0 -437
  247. package/dist/src/utils/enhanced-sensitive-detector.js.map +0 -1
  248. package/dist/src/utils/project-health-scoring.d.ts +0 -177
  249. package/dist/src/utils/project-health-scoring.d.ts.map +0 -1
  250. package/dist/src/utils/project-health-scoring.js +0 -370
  251. package/dist/src/utils/project-health-scoring.js.map +0 -1
  252. package/dist/src/utils/todo-json-manager.d.ts +0 -71
  253. package/dist/src/utils/todo-json-manager.d.ts.map +0 -1
  254. package/dist/src/utils/todo-json-manager.js +0 -396
  255. package/dist/src/utils/todo-json-manager.js.map +0 -1
  256. package/dist/src/utils/todo-markdown-converter.d.ts +0 -16
  257. package/dist/src/utils/todo-markdown-converter.d.ts.map +0 -1
  258. package/dist/src/utils/todo-markdown-converter.js +0 -362
  259. package/dist/src/utils/todo-markdown-converter.js.map +0 -1
  260. package/dist/src/utils/todo-migration.d.ts +0 -47
  261. package/dist/src/utils/todo-migration.d.ts.map +0 -1
  262. package/dist/src/utils/todo-migration.js +0 -261
  263. 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"}