@planu/cli 0.42.1 → 0.43.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 (232) hide show
  1. package/dist/config/license-plans.json +2 -1
  2. package/dist/engine/actuals/consolidator.d.ts +3 -3
  3. package/dist/engine/actuals/consolidator.d.ts.map +1 -1
  4. package/dist/engine/actuals/consolidator.js +24 -2
  5. package/dist/engine/actuals/consolidator.js.map +1 -1
  6. package/dist/engine/actuals/index.d.ts +1 -0
  7. package/dist/engine/actuals/index.d.ts.map +1 -1
  8. package/dist/engine/actuals/index.js +1 -0
  9. package/dist/engine/actuals/index.js.map +1 -1
  10. package/dist/engine/actuals/progress-parser.d.ts +11 -0
  11. package/dist/engine/actuals/progress-parser.d.ts.map +1 -0
  12. package/dist/engine/actuals/progress-parser.js +84 -0
  13. package/dist/engine/actuals/progress-parser.js.map +1 -0
  14. package/dist/engine/actuals/wip-tracker.d.ts +2 -2
  15. package/dist/engine/actuals/wip-tracker.d.ts.map +1 -1
  16. package/dist/engine/actuals/wip-tracker.js +5 -6
  17. package/dist/engine/actuals/wip-tracker.js.map +1 -1
  18. package/dist/engine/analytics-detector/events.d.ts.map +1 -1
  19. package/dist/engine/analytics-detector/events.js +3 -4
  20. package/dist/engine/analytics-detector/events.js.map +1 -1
  21. package/dist/engine/ci-generator/planu-steps.js +1 -1
  22. package/dist/engine/ci-generator/planu-steps.js.map +1 -1
  23. package/dist/engine/living-spec-analyzer.d.ts +7 -0
  24. package/dist/engine/living-spec-analyzer.d.ts.map +1 -0
  25. package/dist/engine/living-spec-analyzer.js +362 -0
  26. package/dist/engine/living-spec-analyzer.js.map +1 -0
  27. package/dist/engine/plugins/lifecycle.d.ts.map +1 -1
  28. package/dist/engine/plugins/lifecycle.js +3 -4
  29. package/dist/engine/plugins/lifecycle.js.map +1 -1
  30. package/dist/engine/plugins/sandbox.d.ts.map +1 -1
  31. package/dist/engine/plugins/sandbox.js +3 -3
  32. package/dist/engine/plugins/sandbox.js.map +1 -1
  33. package/dist/engine/registry-updater.d.ts.map +1 -1
  34. package/dist/engine/registry-updater.js +3 -3
  35. package/dist/engine/registry-updater.js.map +1 -1
  36. package/dist/engine/source-resolver.d.ts +38 -0
  37. package/dist/engine/source-resolver.d.ts.map +1 -0
  38. package/dist/engine/source-resolver.js +179 -0
  39. package/dist/engine/source-resolver.js.map +1 -0
  40. package/dist/engine/spec-dependency-graph.d.ts +33 -0
  41. package/dist/engine/spec-dependency-graph.d.ts.map +1 -0
  42. package/dist/engine/spec-dependency-graph.js +243 -0
  43. package/dist/engine/spec-dependency-graph.js.map +1 -0
  44. package/dist/i18n/index.d.ts +1 -1
  45. package/dist/i18n/index.d.ts.map +1 -1
  46. package/dist/i18n/index.js +1 -35
  47. package/dist/i18n/index.js.map +1 -1
  48. package/dist/index.js +6 -4
  49. package/dist/index.js.map +1 -1
  50. package/dist/prompts/index.d.ts +6 -0
  51. package/dist/prompts/index.d.ts.map +1 -0
  52. package/dist/prompts/index.js +121 -0
  53. package/dist/prompts/index.js.map +1 -0
  54. package/dist/resources/specs.d.ts.map +1 -1
  55. package/dist/resources/specs.js +11 -6
  56. package/dist/resources/specs.js.map +1 -1
  57. package/dist/storage/checkpoint-store.d.ts.map +1 -1
  58. package/dist/storage/checkpoint-store.js +3 -2
  59. package/dist/storage/checkpoint-store.js.map +1 -1
  60. package/dist/storage/file-mutex.d.ts +14 -0
  61. package/dist/storage/file-mutex.d.ts.map +1 -0
  62. package/dist/storage/file-mutex.js +39 -0
  63. package/dist/storage/file-mutex.js.map +1 -0
  64. package/dist/storage/spec-store.d.ts.map +1 -1
  65. package/dist/storage/spec-store.js +48 -39
  66. package/dist/storage/spec-store.js.map +1 -1
  67. package/dist/tools/activate-license.d.ts.map +1 -1
  68. package/dist/tools/activate-license.js +27 -18
  69. package/dist/tools/activate-license.js.map +1 -1
  70. package/dist/tools/analyze-spec-dependencies.d.ts +6 -0
  71. package/dist/tools/analyze-spec-dependencies.d.ts.map +1 -0
  72. package/dist/tools/analyze-spec-dependencies.js +72 -0
  73. package/dist/tools/analyze-spec-dependencies.js.map +1 -0
  74. package/dist/tools/check-readiness.d.ts.map +1 -1
  75. package/dist/tools/check-readiness.js +8 -0
  76. package/dist/tools/check-readiness.js.map +1 -1
  77. package/dist/tools/configure-llm-providers-handler.d.ts.map +1 -1
  78. package/dist/tools/configure-llm-providers-handler.js +25 -18
  79. package/dist/tools/configure-llm-providers-handler.js.map +1 -1
  80. package/dist/tools/context-budget.d.ts.map +1 -1
  81. package/dist/tools/context-budget.js +41 -14
  82. package/dist/tools/context-budget.js.map +1 -1
  83. package/dist/tools/create-spec/spec-builder.d.ts.map +1 -1
  84. package/dist/tools/create-spec/spec-builder.js +3 -2
  85. package/dist/tools/create-spec/spec-builder.js.map +1 -1
  86. package/dist/tools/delete-project.d.ts.map +1 -1
  87. package/dist/tools/delete-project.js +4 -3
  88. package/dist/tools/delete-project.js.map +1 -1
  89. package/dist/tools/delete-spec.d.ts.map +1 -1
  90. package/dist/tools/delete-spec.js +4 -3
  91. package/dist/tools/delete-spec.js.map +1 -1
  92. package/dist/tools/estimate.d.ts.map +1 -1
  93. package/dist/tools/estimate.js +1 -0
  94. package/dist/tools/estimate.js.map +1 -1
  95. package/dist/tools/event-contracts/handlers.d.ts.map +1 -1
  96. package/dist/tools/event-contracts/handlers.js +5 -7
  97. package/dist/tools/event-contracts/handlers.js.map +1 -1
  98. package/dist/tools/export-spec.js +1 -1
  99. package/dist/tools/export-spec.js.map +1 -1
  100. package/dist/tools/license-status.d.ts.map +1 -1
  101. package/dist/tools/license-status.js +33 -1
  102. package/dist/tools/license-status.js.map +1 -1
  103. package/dist/tools/list-specs.d.ts.map +1 -1
  104. package/dist/tools/list-specs.js +1 -0
  105. package/dist/tools/list-specs.js.map +1 -1
  106. package/dist/tools/llm-provider-status-handler.d.ts.map +1 -1
  107. package/dist/tools/llm-provider-status-handler.js +13 -8
  108. package/dist/tools/llm-provider-status-handler.js.map +1 -1
  109. package/dist/tools/manage-context/store.d.ts.map +1 -1
  110. package/dist/tools/manage-context/store.js +4 -5
  111. package/dist/tools/manage-context/store.js.map +1 -1
  112. package/dist/tools/manage-plugins-handler.d.ts.map +1 -1
  113. package/dist/tools/manage-plugins-handler.js +38 -12
  114. package/dist/tools/manage-plugins-handler.js.map +1 -1
  115. package/dist/tools/manage-trash.d.ts.map +1 -1
  116. package/dist/tools/manage-trash.js +9 -5
  117. package/dist/tools/manage-trash.js.map +1 -1
  118. package/dist/tools/reconcile-spec.d.ts.map +1 -1
  119. package/dist/tools/reconcile-spec.js +11 -1
  120. package/dist/tools/reconcile-spec.js.map +1 -1
  121. package/dist/tools/register-context-tools.d.ts.map +1 -1
  122. package/dist/tools/register-context-tools.js +2 -0
  123. package/dist/tools/register-context-tools.js.map +1 -1
  124. package/dist/tools/register-event-tools.d.ts.map +1 -1
  125. package/dist/tools/register-event-tools.js +1 -0
  126. package/dist/tools/register-event-tools.js.map +1 -1
  127. package/dist/tools/register-export-tools.d.ts.map +1 -1
  128. package/dist/tools/register-export-tools.js +1 -0
  129. package/dist/tools/register-export-tools.js.map +1 -1
  130. package/dist/tools/register-governance-tools.d.ts.map +1 -1
  131. package/dist/tools/register-governance-tools.js +1 -0
  132. package/dist/tools/register-governance-tools.js.map +1 -1
  133. package/dist/tools/register-learning-tools.d.ts.map +1 -1
  134. package/dist/tools/register-learning-tools.js +1 -0
  135. package/dist/tools/register-learning-tools.js.map +1 -1
  136. package/dist/tools/register-license-tools.d.ts.map +1 -1
  137. package/dist/tools/register-license-tools.js +2 -0
  138. package/dist/tools/register-license-tools.js.map +1 -1
  139. package/dist/tools/register-memory-tools.d.ts.map +1 -1
  140. package/dist/tools/register-memory-tools.js +2 -0
  141. package/dist/tools/register-memory-tools.js.map +1 -1
  142. package/dist/tools/register-migration-tools.d.ts.map +1 -1
  143. package/dist/tools/register-migration-tools.js +1 -0
  144. package/dist/tools/register-migration-tools.js.map +1 -1
  145. package/dist/tools/register-platform-tools/design-stack-tools.d.ts.map +1 -1
  146. package/dist/tools/register-platform-tools/design-stack-tools.js +12 -0
  147. package/dist/tools/register-platform-tools/design-stack-tools.js.map +1 -1
  148. package/dist/tools/register-platform-tools/lifecycle-infra-tools.d.ts.map +1 -1
  149. package/dist/tools/register-platform-tools/lifecycle-infra-tools.js +7 -0
  150. package/dist/tools/register-platform-tools/lifecycle-infra-tools.js.map +1 -1
  151. package/dist/tools/register-readiness-tools.d.ts.map +1 -1
  152. package/dist/tools/register-readiness-tools.js +2 -0
  153. package/dist/tools/register-readiness-tools.js.map +1 -1
  154. package/dist/tools/register-security-tools.d.ts.map +1 -1
  155. package/dist/tools/register-security-tools.js +1 -0
  156. package/dist/tools/register-security-tools.js.map +1 -1
  157. package/dist/tools/register-spec-tools/analysis-tools.d.ts.map +1 -1
  158. package/dist/tools/register-spec-tools/analysis-tools.js +18 -0
  159. package/dist/tools/register-spec-tools/analysis-tools.js.map +1 -1
  160. package/dist/tools/register-spec-tools/core-spec-tools.d.ts.map +1 -1
  161. package/dist/tools/register-spec-tools/core-spec-tools.js +4 -1
  162. package/dist/tools/register-spec-tools/core-spec-tools.js.map +1 -1
  163. package/dist/tools/register-stack-tools.d.ts.map +1 -1
  164. package/dist/tools/register-stack-tools.js +3 -0
  165. package/dist/tools/register-stack-tools.js.map +1 -1
  166. package/dist/tools/safe-handler.d.ts +2 -1
  167. package/dist/tools/safe-handler.d.ts.map +1 -1
  168. package/dist/tools/safe-handler.js +51 -3
  169. package/dist/tools/safe-handler.js.map +1 -1
  170. package/dist/tools/sanitize-path.d.ts +13 -0
  171. package/dist/tools/sanitize-path.d.ts.map +1 -0
  172. package/dist/tools/sanitize-path.js +60 -0
  173. package/dist/tools/sanitize-path.js.map +1 -0
  174. package/dist/tools/schemas/index.d.ts +1 -0
  175. package/dist/tools/schemas/index.d.ts.map +1 -1
  176. package/dist/tools/schemas/index.js +1 -0
  177. package/dist/tools/schemas/index.js.map +1 -1
  178. package/dist/tools/schemas/output-schemas.d.ts +168 -0
  179. package/dist/tools/schemas/output-schemas.d.ts.map +1 -0
  180. package/dist/tools/schemas/output-schemas.js +182 -0
  181. package/dist/tools/schemas/output-schemas.js.map +1 -0
  182. package/dist/tools/schemas/spec.d.ts.map +1 -1
  183. package/dist/tools/schemas/spec.js +9 -1
  184. package/dist/tools/schemas/spec.js.map +1 -1
  185. package/dist/tools/spec-templates.d.ts.map +1 -1
  186. package/dist/tools/spec-templates.js +36 -26
  187. package/dist/tools/spec-templates.js.map +1 -1
  188. package/dist/tools/tool-group-handler.d.ts.map +1 -1
  189. package/dist/tools/tool-group-handler.js +16 -13
  190. package/dist/tools/tool-group-handler.js.map +1 -1
  191. package/dist/tools/tool-registry.d.ts +14 -0
  192. package/dist/tools/tool-registry.d.ts.map +1 -0
  193. package/dist/tools/tool-registry.js +36 -0
  194. package/dist/tools/tool-registry.js.map +1 -0
  195. package/dist/tools/update-status-actions.d.ts +6 -0
  196. package/dist/tools/update-status-actions.d.ts.map +1 -1
  197. package/dist/tools/update-status-actions.js +19 -2
  198. package/dist/tools/update-status-actions.js.map +1 -1
  199. package/dist/tools/update-status.d.ts.map +1 -1
  200. package/dist/tools/update-status.js +6 -1
  201. package/dist/tools/update-status.js.map +1 -1
  202. package/dist/tools/validate.d.ts.map +1 -1
  203. package/dist/tools/validate.js +1 -0
  204. package/dist/tools/validate.js.map +1 -1
  205. package/dist/transports/http-rate-limiter.d.ts +22 -0
  206. package/dist/transports/http-rate-limiter.d.ts.map +1 -0
  207. package/dist/transports/http-rate-limiter.js +42 -0
  208. package/dist/transports/http-rate-limiter.js.map +1 -0
  209. package/dist/transports/http-transport.d.ts.map +1 -1
  210. package/dist/transports/http-transport.js +21 -1
  211. package/dist/transports/http-transport.js.map +1 -1
  212. package/dist/types/actuals-tracking.d.ts +9 -1
  213. package/dist/types/actuals-tracking.d.ts.map +1 -1
  214. package/dist/types/common/primitives.d.ts +1 -0
  215. package/dist/types/common/primitives.d.ts.map +1 -1
  216. package/dist/types/index.d.ts +1 -0
  217. package/dist/types/index.d.ts.map +1 -1
  218. package/dist/types/index.js +1 -0
  219. package/dist/types/index.js.map +1 -1
  220. package/dist/types/source-resolution.d.ts +49 -0
  221. package/dist/types/source-resolution.d.ts.map +1 -0
  222. package/dist/types/source-resolution.js +10 -0
  223. package/dist/types/source-resolution.js.map +1 -0
  224. package/dist/types/spec/core.d.ts +48 -0
  225. package/dist/types/spec/core.d.ts.map +1 -1
  226. package/dist/types/spec/inputs.d.ts +1 -0
  227. package/dist/types/spec/inputs.d.ts.map +1 -1
  228. package/package.json +1 -1
  229. package/src/config/license-plans.json +2 -1
  230. package/src/i18n/messages/en.json +177 -4
  231. package/src/i18n/messages/es.json +177 -4
  232. package/src/i18n/messages/pt.json +177 -4
@@ -0,0 +1,179 @@
1
+ // eslint-disable-next-line no-duplicate-imports
2
+ import { SOURCE_PRIORITY_RANK } from '../types/source-resolution.js';
3
+ /**
4
+ * Map source priority to a confidence level.
5
+ */
6
+ function priorityToConfidence(priority) {
7
+ const rank = SOURCE_PRIORITY_RANK[priority];
8
+ if (rank >= 40) {
9
+ return 'high';
10
+ }
11
+ if (rank >= 30) {
12
+ return 'medium';
13
+ }
14
+ return 'low';
15
+ }
16
+ /**
17
+ * Check whether two values are meaningfully different.
18
+ * Handles primitives, dates, and JSON-serializable objects.
19
+ */
20
+ function valuesAreDifferent(a, b) {
21
+ if (a === b) {
22
+ return false;
23
+ }
24
+ if (a === null || b === null) {
25
+ return true;
26
+ }
27
+ if (typeof a !== typeof b) {
28
+ return true;
29
+ }
30
+ if (typeof a === 'object') {
31
+ return JSON.stringify(a) !== JSON.stringify(b);
32
+ }
33
+ return true;
34
+ }
35
+ /**
36
+ * Resolve a conflict among multiple data sources by selecting the
37
+ * highest-priority non-null value.
38
+ *
39
+ * @param sources - Array of data sources, each with a priority and value.
40
+ * @param fieldName - Human-readable name of the field being resolved (for the explanation).
41
+ * @returns The resolved data with full explanation of the decision.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const result = resolveConflict([
46
+ * { priority: 'spec-baseline', value: 'draft', label: 'spec.md' },
47
+ * { priority: 'progress', value: 'implementing', label: 'progress.md' },
48
+ * ], 'status');
49
+ * // result.value === 'implementing' (progress > spec-baseline)
50
+ * ```
51
+ */
52
+ export function resolveConflict(sources, fieldName) {
53
+ // Filter to sources that have non-null values
54
+ const withValues = sources.filter((s) => s.value !== null && s.value !== undefined);
55
+ const consideredSources = sources.map((s) => ({
56
+ priority: s.priority,
57
+ label: s.label,
58
+ hadValue: s.value !== null && s.value !== undefined,
59
+ }));
60
+ if (withValues.length === 0) {
61
+ return null;
62
+ }
63
+ // Sort by priority rank (descending — highest priority first)
64
+ const sorted = [...withValues].sort((a, b) => SOURCE_PRIORITY_RANK[b.priority] - SOURCE_PRIORITY_RANK[a.priority]);
65
+ // Safe: sorted is non-empty because withValues is non-empty (checked above)
66
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
67
+ const winner = sorted[0];
68
+ // Determine if there was an actual conflict
69
+ const hadConflict = withValues.length > 1 && withValues.some((s) => valuesAreDifferent(s.value, winner.value));
70
+ // Build explanation
71
+ const resolution = hadConflict
72
+ ? buildConflictExplanation(fieldName, winner, sorted.slice(1))
73
+ : `${fieldName}: used ${winner.label} (${winner.priority}), no conflict detected.`;
74
+ return {
75
+ value: winner.value,
76
+ source: winner.priority,
77
+ sourceLabel: winner.label,
78
+ confidence: priorityToConfidence(winner.priority),
79
+ resolution,
80
+ hadConflict,
81
+ consideredSources,
82
+ };
83
+ }
84
+ /**
85
+ * Build a human-readable explanation of how a conflict was resolved.
86
+ */
87
+ function buildConflictExplanation(fieldName, winner, losers) {
88
+ const loserDescriptions = losers
89
+ .map((l) => `${l.label} (${l.priority}) = ${formatValue(l.value)}`)
90
+ .join(', ');
91
+ return (`${fieldName}: auto-resolved to ${formatValue(winner.value)} ` +
92
+ `from ${winner.label} (${winner.priority}). ` +
93
+ `Overrode: ${loserDescriptions}. ` +
94
+ `Hierarchy: explicit > progress > wip > git-derived > spec-baseline.`);
95
+ }
96
+ /**
97
+ * Format a value for display in resolution explanations.
98
+ */
99
+ function formatValue(value) {
100
+ if (value === null || value === undefined) {
101
+ return 'null';
102
+ }
103
+ if (typeof value === 'string') {
104
+ return `"${value}"`;
105
+ }
106
+ if (typeof value === 'number' || typeof value === 'boolean') {
107
+ return String(value);
108
+ }
109
+ return JSON.stringify(value);
110
+ }
111
+ /**
112
+ * Resolve multiple fields at once, returning a batch result.
113
+ *
114
+ * @param fieldSources - Map of field name to its data sources.
115
+ * @returns Batch resolution with all fields resolved and a summary.
116
+ */
117
+ export function resolveConflictBatch(fieldSources) {
118
+ const fields = {};
119
+ let conflictCount = 0;
120
+ const resolutionLines = [];
121
+ for (const [fieldName, sources] of Object.entries(fieldSources)) {
122
+ const resolved = resolveConflict(sources, fieldName);
123
+ if (resolved) {
124
+ fields[fieldName] = resolved;
125
+ if (resolved.hadConflict) {
126
+ conflictCount++;
127
+ resolutionLines.push(resolved.resolution);
128
+ }
129
+ }
130
+ }
131
+ const summary = conflictCount === 0
132
+ ? 'No data conflicts detected.'
133
+ : `Auto-resolved ${String(conflictCount)} conflict(s): ${resolutionLines.join(' | ')}`;
134
+ return { fields, conflictCount, summary };
135
+ }
136
+ /**
137
+ * Convenience: resolve a status conflict from common spec sources.
138
+ * This is the most common use case — status appearing in multiple files.
139
+ */
140
+ export function resolveStatusConflict(statusSources) {
141
+ const sources = [];
142
+ if (statusSources.explicit !== undefined) {
143
+ sources.push({
144
+ priority: 'explicit',
145
+ value: statusSources.explicit,
146
+ label: 'update_status tool',
147
+ });
148
+ }
149
+ if (statusSources.progressMd !== undefined) {
150
+ sources.push({
151
+ priority: 'progress',
152
+ value: statusSources.progressMd,
153
+ label: 'progress.md',
154
+ });
155
+ }
156
+ if (statusSources.wipTracker !== undefined) {
157
+ sources.push({
158
+ priority: 'wip',
159
+ value: statusSources.wipTracker,
160
+ label: 'WIP tracker',
161
+ });
162
+ }
163
+ if (statusSources.gitDerived !== undefined) {
164
+ sources.push({
165
+ priority: 'git-derived',
166
+ value: statusSources.gitDerived,
167
+ label: 'git branch/commits',
168
+ });
169
+ }
170
+ if (statusSources.specMd !== undefined) {
171
+ sources.push({
172
+ priority: 'spec-baseline',
173
+ value: statusSources.specMd,
174
+ label: 'spec.md',
175
+ });
176
+ }
177
+ return resolveConflict(sources, 'status');
178
+ }
179
+ //# sourceMappingURL=source-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-resolver.js","sourceRoot":"","sources":["../../src/engine/source-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { Spec, SpecDependencyGraph, SpecDependencyAnalysis } from '../types/index.js';
2
+ /**
3
+ * Build a dependency graph from an array of specs.
4
+ * Each spec's `dependencies` field lists the IDs it depends on.
5
+ */
6
+ export declare function buildSpecDependencyGraph(specs: Spec[]): SpecDependencyGraph;
7
+ /**
8
+ * Detect circular dependencies using DFS with a recursion stack.
9
+ * Returns an array of cycles, each cycle being an array of spec IDs.
10
+ */
11
+ export declare function detectCycles(graph: SpecDependencyGraph): string[][];
12
+ /**
13
+ * Topological sort in waves (levels). Each wave contains specs that can
14
+ * execute in parallel once all previous waves are complete.
15
+ * Returns empty array if cycles exist.
16
+ */
17
+ export declare function getExecutionOrder(graph: SpecDependencyGraph): string[][];
18
+ /**
19
+ * Find the critical path — the longest chain by sum of estimates.
20
+ * Uses dynamic programming on the DAG (assumes no cycles).
21
+ */
22
+ export declare function findCriticalPath(graph: SpecDependencyGraph): string[];
23
+ /**
24
+ * Generate a Mermaid flowchart diagram of the dependency graph.
25
+ * Highlights the critical path in red.
26
+ */
27
+ export declare function generateMermaidDiagram(graph: SpecDependencyGraph, criticalPath: string[]): string;
28
+ /**
29
+ * Full analysis: build graph, detect cycles, compute critical path,
30
+ * execution waves, and generate Mermaid diagram.
31
+ */
32
+ export declare function analyzeSpecDependencies(specs: Spec[]): SpecDependencyAnalysis;
33
+ //# sourceMappingURL=spec-dependency-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-dependency-graph.d.ts","sourceRoot":"","sources":["../../src/engine/spec-dependency-graph.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EAEnB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAkB3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,EAAE,EAAE,CAgCnE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,EAAE,EAAE,CAuDxE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,EAAE,CA0DrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAgDjG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,sBAAsB,CA2B7E"}
@@ -0,0 +1,243 @@
1
+ // engine/spec-dependency-graph.ts — Build and analyze spec dependency graphs.
2
+ // Computes critical path, detects cycles, and generates Mermaid diagrams.
3
+ /**
4
+ * Build a dependency graph from an array of specs.
5
+ * Each spec's `dependencies` field lists the IDs it depends on.
6
+ */
7
+ export function buildSpecDependencyGraph(specs) {
8
+ const nodes = new Map();
9
+ const edges = new Map();
10
+ const specIds = new Set(specs.map((s) => s.id));
11
+ for (const spec of specs) {
12
+ nodes.set(spec.id, {
13
+ specId: spec.id,
14
+ title: spec.title,
15
+ status: spec.status,
16
+ estimate: spec.estimation.devHours,
17
+ });
18
+ // Only keep edges to specs that exist in the graph
19
+ const validDeps = spec.dependencies.filter((d) => specIds.has(d));
20
+ edges.set(spec.id, validDeps);
21
+ }
22
+ return { nodes, edges };
23
+ }
24
+ /**
25
+ * Detect circular dependencies using DFS with a recursion stack.
26
+ * Returns an array of cycles, each cycle being an array of spec IDs.
27
+ */
28
+ export function detectCycles(graph) {
29
+ const cycles = [];
30
+ const visited = new Set();
31
+ const inStack = new Set();
32
+ const stack = [];
33
+ function dfs(node) {
34
+ if (inStack.has(node)) {
35
+ const cycleStart = stack.indexOf(node);
36
+ if (cycleStart !== -1) {
37
+ cycles.push([...stack.slice(cycleStart), node]);
38
+ }
39
+ return;
40
+ }
41
+ if (visited.has(node)) {
42
+ return;
43
+ }
44
+ visited.add(node);
45
+ inStack.add(node);
46
+ stack.push(node);
47
+ for (const dep of graph.edges.get(node) ?? []) {
48
+ dfs(dep);
49
+ }
50
+ stack.pop();
51
+ inStack.delete(node);
52
+ }
53
+ for (const node of graph.nodes.keys()) {
54
+ dfs(node);
55
+ }
56
+ return cycles;
57
+ }
58
+ /**
59
+ * Topological sort in waves (levels). Each wave contains specs that can
60
+ * execute in parallel once all previous waves are complete.
61
+ * Returns empty array if cycles exist.
62
+ */
63
+ export function getExecutionOrder(graph) {
64
+ const inDegree = new Map();
65
+ // Reverse edges: we need "blocked by" (dependsOn), which is what edges already represent
66
+ // But for topo sort we need "who depends on me" to decrement in-degree
67
+ const dependents = new Map();
68
+ for (const id of graph.nodes.keys()) {
69
+ inDegree.set(id, 0);
70
+ dependents.set(id, []);
71
+ }
72
+ for (const [specId, deps] of graph.edges) {
73
+ // specId depends on deps — so specId has in-degree = deps.length
74
+ inDegree.set(specId, deps.length);
75
+ for (const dep of deps) {
76
+ const list = dependents.get(dep);
77
+ if (list) {
78
+ list.push(specId);
79
+ }
80
+ }
81
+ }
82
+ const waves = [];
83
+ let remaining = new Set(graph.nodes.keys());
84
+ while (remaining.size > 0) {
85
+ // Collect nodes with in-degree 0
86
+ const wave = [];
87
+ for (const id of remaining) {
88
+ if ((inDegree.get(id) ?? 0) === 0) {
89
+ wave.push(id);
90
+ }
91
+ }
92
+ if (wave.length === 0) {
93
+ // Cycle detected — no nodes with in-degree 0
94
+ break;
95
+ }
96
+ wave.sort(); // deterministic order
97
+ waves.push(wave);
98
+ // Remove wave nodes and decrement in-degrees
99
+ for (const id of wave) {
100
+ remaining.delete(id);
101
+ for (const dependent of dependents.get(id) ?? []) {
102
+ inDegree.set(dependent, (inDegree.get(dependent) ?? 1) - 1);
103
+ }
104
+ }
105
+ // Create new Set to avoid mutation during iteration
106
+ remaining = new Set(remaining);
107
+ }
108
+ return waves;
109
+ }
110
+ /**
111
+ * Find the critical path — the longest chain by sum of estimates.
112
+ * Uses dynamic programming on the DAG (assumes no cycles).
113
+ */
114
+ export function findCriticalPath(graph) {
115
+ const waves = getExecutionOrder(graph);
116
+ if (waves.length === 0) {
117
+ return [];
118
+ }
119
+ // Flatten waves to get topological order
120
+ const topoOrder = waves.flat();
121
+ // dist[id] = longest path ending at id (by estimate sum)
122
+ const dist = new Map();
123
+ const prev = new Map();
124
+ for (const id of topoOrder) {
125
+ const nodeEstimate = graph.nodes.get(id)?.estimate ?? 0;
126
+ dist.set(id, nodeEstimate);
127
+ prev.set(id, null);
128
+ }
129
+ // Process in topological order
130
+ for (const id of topoOrder) {
131
+ const currentDist = dist.get(id) ?? 0;
132
+ // For each spec that depends on this one (dependents)
133
+ for (const [specId, deps] of graph.edges) {
134
+ if (deps.includes(id)) {
135
+ const specEstimate = graph.nodes.get(specId)?.estimate ?? 0;
136
+ const newDist = currentDist + specEstimate;
137
+ if (newDist > (dist.get(specId) ?? 0)) {
138
+ dist.set(specId, newDist);
139
+ prev.set(specId, id);
140
+ }
141
+ }
142
+ }
143
+ }
144
+ // Find the node with maximum distance
145
+ let maxNode = '';
146
+ let maxDist = -1;
147
+ for (const [id, d] of dist) {
148
+ if (d > maxDist) {
149
+ maxDist = d;
150
+ maxNode = id;
151
+ }
152
+ }
153
+ if (maxNode === '') {
154
+ return [];
155
+ }
156
+ // Reconstruct path
157
+ const path = [];
158
+ let current = maxNode;
159
+ while (current !== null) {
160
+ path.unshift(current);
161
+ current = prev.get(current) ?? null;
162
+ }
163
+ return path;
164
+ }
165
+ /**
166
+ * Generate a Mermaid flowchart diagram of the dependency graph.
167
+ * Highlights the critical path in red.
168
+ */
169
+ export function generateMermaidDiagram(graph, criticalPath) {
170
+ const lines = ['graph TD'];
171
+ const criticalSet = new Set(criticalPath);
172
+ // Define nodes
173
+ for (const [id, node] of graph.nodes) {
174
+ const label = `${id}: ${node.title}`;
175
+ const safeLabel = label.replace(/"/g, "'");
176
+ if (criticalSet.has(id)) {
177
+ lines.push(` ${id}["${safeLabel}"]:::critical`);
178
+ }
179
+ else {
180
+ lines.push(` ${id}["${safeLabel}"]`);
181
+ }
182
+ }
183
+ // Define edges
184
+ for (const [specId, deps] of graph.edges) {
185
+ for (const dep of deps) {
186
+ const isCriticalEdge = criticalSet.has(specId) && criticalSet.has(dep);
187
+ if (isCriticalEdge) {
188
+ lines.push(` ${dep} ==> ${specId}`);
189
+ }
190
+ else {
191
+ lines.push(` ${dep} --> ${specId}`);
192
+ }
193
+ }
194
+ }
195
+ // Style critical path
196
+ if (criticalPath.length > 0) {
197
+ lines.push(' classDef critical fill:#ff6b6b,stroke:#c92a2a,color:#fff');
198
+ }
199
+ // Status-based styling
200
+ lines.push(' classDef done fill:#51cf66,stroke:#2f9e44,color:#fff');
201
+ lines.push(' classDef inprogress fill:#ffd43b,stroke:#f08c00,color:#333');
202
+ for (const [id, node] of graph.nodes) {
203
+ if (criticalSet.has(id)) {
204
+ continue; // already styled
205
+ }
206
+ if (node.status === 'done' || node.status === 'approved') {
207
+ lines.push(` class ${id} done`);
208
+ }
209
+ else if (node.status === 'implementing') {
210
+ lines.push(` class ${id} inprogress`);
211
+ }
212
+ }
213
+ return lines.join('\n');
214
+ }
215
+ /**
216
+ * Full analysis: build graph, detect cycles, compute critical path,
217
+ * execution waves, and generate Mermaid diagram.
218
+ */
219
+ export function analyzeSpecDependencies(specs) {
220
+ const graph = buildSpecDependencyGraph(specs);
221
+ const cycles = detectCycles(graph);
222
+ const executionWaves = getExecutionOrder(graph);
223
+ const criticalPath = findCriticalPath(graph);
224
+ let criticalPathHours = 0;
225
+ for (const id of criticalPath) {
226
+ criticalPathHours += graph.nodes.get(id)?.estimate ?? 0;
227
+ }
228
+ let totalEdges = 0;
229
+ for (const deps of graph.edges.values()) {
230
+ totalEdges += deps.length;
231
+ }
232
+ const mermaidDiagram = generateMermaidDiagram(graph, criticalPath);
233
+ return {
234
+ criticalPath,
235
+ criticalPathHours,
236
+ cycles,
237
+ executionWaves,
238
+ mermaidDiagram,
239
+ totalSpecs: graph.nodes.size,
240
+ totalEdges,
241
+ };
242
+ }
243
+ //# sourceMappingURL=spec-dependency-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-dependency-graph.js","sourceRoot":"","sources":["../../src/engine/spec-dependency-graph.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0EAA0E;AAS1E;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;SACnC,CAAC,CAAC;QACH,mDAAmD;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAA0B;IACrD,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS,GAAG,CAAC,IAAY;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,CAAC;QACD,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA0B;IAC1D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,yFAAyF;IACzF,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE/C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACpB,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACzC,iEAAiE;QACjE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAE5C,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,iCAAiC;QACjC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,6CAA6C;YAC7C,MAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB;QACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjB,6CAA6C;QAC7C,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE/B,yDAAyD;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE9C,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,+BAA+B;IAC/B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACtC,sDAAsD;QACtD,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC;gBAC3C,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,CAAC;YACZ,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mBAAmB;IACnB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAkB,OAAO,CAAC;IACrC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAA0B,EAAE,YAAsB;IACvF,MAAM,KAAK,GAAa,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAE1C,eAAe;IACf,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,eAAe,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,eAAe;IACf,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,cAAc,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,MAAM,EAAE,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,MAAM,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC3E,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAE3E,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,SAAS,CAAC,iBAAiB;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,iBAAiB,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO;QACL,YAAY;QACZ,iBAAiB;QACjB,MAAM;QACN,cAAc;QACd,cAAc;QACd,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;QAC5B,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -28,7 +28,7 @@ export declare function getSupportedLocales(): SupportedLocale[];
28
28
  export declare function t(key: string, locale?: SupportedLocale): string;
29
29
  /**
30
30
  * Detect the language of a text string using heuristic word-frequency scoring.
31
- * Returns a BCP-47-style language code ('es', 'en', 'pt', 'de', 'fr', ...) or 'en' as default.
31
+ * Returns a supported locale code ('en', 'es', 'pt') or 'en' as default.
32
32
  * This is intentionally conservative: when confidence is low, falls back to 'en'.
33
33
  */
34
34
  export declare function detectLanguage(input: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAuFzD;;GAEG;AACH,wBAAgB,SAAS,IAAI,eAAe,CAE3C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAIvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,CAEvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAkB/D;AAyGD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA4BpD;AAED;;;;;;GAMG;AACH,wBAAgB,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACvC,MAAM,CAAC,EAAE,eAAe,GACvB,MAAM,CAMR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAuFzD;;GAEG;AACH,wBAAgB,SAAS,IAAI,eAAe,CAE3C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAIvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,CAEvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAkB/D;AAuED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA4BpD;AAED;;;;;;GAMG;AACH,wBAAgB,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACvC,MAAM,CAAC,EAAE,eAAe,GACvB,MAAM,CAMR"}
@@ -200,44 +200,10 @@ const LANG_SIGNATURES = {
200
200
  'mostrar',
201
201
  'listar',
202
202
  ],
203
- de: [
204
- 'der',
205
- 'die',
206
- 'das',
207
- 'ein',
208
- 'eine',
209
- 'und',
210
- 'von',
211
- 'zu',
212
- 'ist',
213
- 'für',
214
- 'mit',
215
- 'auf',
216
- 'nicht',
217
- 'erstelle',
218
- 'zeige',
219
- ],
220
- fr: [
221
- 'le',
222
- 'la',
223
- 'les',
224
- 'de',
225
- 'un',
226
- 'une',
227
- 'est',
228
- 'pas',
229
- 'pour',
230
- 'dans',
231
- 'qui',
232
- 'des',
233
- 'du',
234
- 'créer',
235
- 'afficher',
236
- ],
237
203
  };
238
204
  /**
239
205
  * Detect the language of a text string using heuristic word-frequency scoring.
240
- * Returns a BCP-47-style language code ('es', 'en', 'pt', 'de', 'fr', ...) or 'en' as default.
206
+ * Returns a supported locale code ('en', 'es', 'pt') or 'en' as default.
241
207
  * This is intentionally conservative: when confidence is low, falls back to 'en'.
242
208
  */
243
209
  export function detectLanguage(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -52,6 +52,8 @@ import { PLANU_VERSION } from './config/version.js';
52
52
  import { handleActivateLicense } from './tools/activate-license.js';
53
53
  import { GroupManager } from './engine/tool-groups/group-manager.js';
54
54
  import { setGroupManager } from './tools/tool-group-handler.js';
55
+ import { withToolTracking, getRegisteredTools } from './tools/tool-registry.js';
56
+ import { registerPrompts } from './prompts/index.js';
55
57
  // ---------------------------------------------------------------------------
56
58
  // Server setup
57
59
  // ---------------------------------------------------------------------------
@@ -108,7 +110,7 @@ const SERVER_INSTRUCTIONS = [
108
110
  '- The reviewNotes field stores a history of all feedback — implementers can see what was requested and why.',
109
111
  ].join('\n');
110
112
  function createMcpServer() {
111
- const s = new McpServer({ name: 'planu', version: PLANU_VERSION }, { instructions: SERVER_INSTRUCTIONS });
113
+ const s = withToolTracking(new McpServer({ name: 'planu', version: PLANU_VERSION }, { instructions: SERVER_INSTRUCTIONS }));
112
114
  registerResources(s);
113
115
  registerSpecTools(s);
114
116
  registerPlatformTools(s);
@@ -154,6 +156,7 @@ function createMcpServer() {
154
156
  registerTeamTools(s);
155
157
  registerWorkspaceTools(s);
156
158
  registerExportTools(s);
159
+ registerPrompts(s);
157
160
  return s;
158
161
  }
159
162
  // Primary server instance (used for stdio and group manager init)
@@ -170,9 +173,8 @@ async function main() {
170
173
  });
171
174
  }
172
175
  // SPEC-074: Initialize tool group manager after all tools are registered.
173
- // Access SDK internal tool storage to get RegisteredTool refs for enable/disable.
174
- const internalTools = server._registeredTools;
175
- const toolMap = new Map(Object.entries(internalTools));
176
+ // Uses local tool registry instead of SDK-internal _registeredTools.
177
+ const toolMap = getRegisteredTools();
176
178
  const groupManager = new GroupManager(toolMap, () => {
177
179
  server.sendToolListChanged();
178
180
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ /**
3
+ * Registers all MCP prompts on the server.
4
+ */
5
+ export declare function registerPrompts(server: McpServer): void;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyIzE;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAKvD"}