@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,72 @@
1
+ // tools/analyze-spec-dependencies.ts — Handler for analyze_spec_dependencies tool.
2
+ // Builds a dependency graph from project specs and returns analysis with Mermaid diagram.
3
+ import { listSpecs } from '../storage/spec-store.js';
4
+ import { analyzeSpecDependencies } from '../engine/spec-dependency-graph.js';
5
+ /**
6
+ * Analyze spec dependencies: critical path, cycles, execution waves, Mermaid diagram.
7
+ */
8
+ export async function handleAnalyzeSpecDependencies(args) {
9
+ const allSpecs = await listSpecs(args.projectId);
10
+ if (allSpecs.length === 0) {
11
+ return {
12
+ content: [
13
+ {
14
+ type: 'text',
15
+ text: `No specs found for project "${args.projectId}". Create specs first with create_spec.`,
16
+ },
17
+ ],
18
+ isError: true,
19
+ };
20
+ }
21
+ // Filter to specific specs if requested
22
+ const specIds = args.specIds;
23
+ const specs = specIds ? allSpecs.filter((s) => specIds.includes(s.id)) : allSpecs;
24
+ if (specs.length === 0) {
25
+ return {
26
+ content: [
27
+ {
28
+ type: 'text',
29
+ text: `None of the specified spec IDs were found in project "${args.projectId}".`,
30
+ },
31
+ ],
32
+ isError: true,
33
+ };
34
+ }
35
+ const analysis = analyzeSpecDependencies(specs);
36
+ const sections = [];
37
+ // Summary
38
+ sections.push(`## Spec Dependency Analysis\n`);
39
+ sections.push(`- **Total specs**: ${analysis.totalSpecs}`);
40
+ sections.push(`- **Total dependencies**: ${analysis.totalEdges}`);
41
+ // Critical path
42
+ if (analysis.criticalPath.length > 0) {
43
+ sections.push(`\n### Critical Path (${analysis.criticalPathHours}h)`);
44
+ sections.push(analysis.criticalPath.map((id) => ` ${id}`).join(' -> '));
45
+ }
46
+ else {
47
+ sections.push(`\n### Critical Path\nNo dependency chains found.`);
48
+ }
49
+ // Cycles
50
+ if (analysis.cycles.length > 0) {
51
+ sections.push(`\n### Circular Dependencies (${analysis.cycles.length})`);
52
+ for (const cycle of analysis.cycles) {
53
+ sections.push(`- ${cycle.join(' -> ')}`);
54
+ }
55
+ }
56
+ // Execution waves
57
+ if (analysis.executionWaves.length > 0) {
58
+ sections.push(`\n### Execution Waves`);
59
+ for (let i = 0; i < analysis.executionWaves.length; i++) {
60
+ const wave = analysis.executionWaves[i];
61
+ if (wave) {
62
+ sections.push(`**Wave ${i + 1}**: ${wave.join(', ')}`);
63
+ }
64
+ }
65
+ }
66
+ // Mermaid diagram
67
+ sections.push(`\n### Dependency Graph\n\`\`\`mermaid\n${analysis.mermaidDiagram}\n\`\`\``);
68
+ return {
69
+ content: [{ type: 'text', text: sections.join('\n') }],
70
+ };
71
+ }
72
+ //# sourceMappingURL=analyze-spec-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-spec-dependencies.js","sourceRoot":"","sources":["../../src/tools/analyze-spec-dependencies.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-readiness.d.ts","sourceRoot":"","sources":["../../src/tools/check-readiness.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAmB,MAAM,mBAAmB,CAAC;AA2F1F,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAsBzF"}
1
+ {"version":3,"file":"check-readiness.d.ts","sourceRoot":"","sources":["../../src/tools/check-readiness.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAmB,MAAM,mBAAmB,CAAC;AA2F1F,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BzF"}
@@ -95,6 +95,14 @@ export async function handleCheckReadiness(args) {
95
95
  const formatted = formatReport(report);
96
96
  return {
97
97
  content: [{ type: 'text', text: formatted }],
98
+ structuredContent: {
99
+ specId: report.specId,
100
+ score: report.score,
101
+ ready: report.ready,
102
+ mode: report.mode,
103
+ issues: report.issues,
104
+ recommendations: report.recommendations,
105
+ },
98
106
  };
99
107
  }
100
108
  //# sourceMappingURL=check-readiness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-readiness.js","sourceRoot":"","sources":["../../src/tools/check-readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-readiness.js","sourceRoot":"","sources":["../../src/tools/check-readiness.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,gFAAgF;AAEhF,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,GAAG,KAAK,kBAAkB,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,GAAG,KAAK,cAAc,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,GAAG,KAAK,gBAAgB,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,KAAK,kBAAkB,CAAC;AACpC,CAAC;AAED,SAAS,YAAY,CAAC,MAAuB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,wBAAwB;IACxB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAC1C,IAAI,SAAS,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,uBAAuB,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,QAAQ,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,CAAC,KAAK,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,YAAY,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,WAAW;IACX,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,WAAW;IACX,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,+IAA+I,CAChJ,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAyB;IAClE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEpD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,MAAM,2BAA2B,SAAS,GAAG;iBAC7D;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEvC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrD,iBAAiB,EAAE;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"configure-llm-providers-handler.d.ts","sourceRoot":"","sources":["../../src/tools/configure-llm-providers-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAW3B;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,qBAAqB,EAAE,CAGnE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,0BAA0B,GAAG,UAAU,CAaxF;AAmGD;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAOlC"}
1
+ {"version":3,"file":"configure-llm-providers-handler.d.ts","sourceRoot":"","sources":["../../src/tools/configure-llm-providers-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAY3B;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,qBAAqB,EAAE,CAGnE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,0BAA0B,GAAG,UAAU,CAaxF;AAmHD;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAOlC"}
@@ -1,5 +1,6 @@
1
1
  // tools/configure-llm-providers-handler.ts — Handler for configure_llm_providers tool.
2
2
  // SPEC-083 AC-08
3
+ import { t, ti } from '../i18n/index.js';
3
4
  import providersData from '../config/llm-providers.json' with { type: 'json' };
4
5
  /** In-memory config state. In production, persisted to data/global/llm-provider-config.json. */
5
6
  let currentConfig = {
@@ -40,33 +41,33 @@ export function handleConfigureLLMProviders(args) {
40
41
  }
41
42
  function handleAdd(args) {
42
43
  if (!args.provider) {
43
- return errorResult('Provider definition is required for "add" action.');
44
+ return errorResult(ti('tools.configure_llm_providers.providerRequired', { action: 'add' }));
44
45
  }
45
46
  const existing = getAllProviderDefinitions().find((p) => p.id === args.provider?.id);
46
47
  if (existing) {
47
- return errorResult(`Provider "${String(args.provider.id)}" already exists.`);
48
+ return errorResult(ti('tools.configure_llm_providers.alreadyExists', { id: String(args.provider.id) }));
48
49
  }
49
50
  currentConfig.customProviders.push(args.provider);
50
51
  currentConfig.providers.push(args.provider.id);
51
52
  currentConfig.failoverOrder.push(args.provider.id);
52
- return successResult(`Provider "${args.provider.name}" added successfully.`);
53
+ return successResult(ti('tools.configure_llm_providers.addSuccess', { name: args.provider.name }));
53
54
  }
54
55
  function handleRemove(args) {
55
56
  if (!args.providerId) {
56
- return errorResult('providerId is required for "remove" action.');
57
+ return errorResult(t('tools.configure_llm_providers.providerIdRequired'));
57
58
  }
58
59
  const remaining = currentConfig.providers.filter((p) => p !== args.providerId);
59
60
  if (remaining.length === 0) {
60
- return errorResult('Cannot remove the last provider. At least 1 must remain configured.');
61
+ return errorResult(t('tools.configure_llm_providers.cannotRemoveLast'));
61
62
  }
62
63
  currentConfig.providers = remaining;
63
64
  currentConfig.failoverOrder = currentConfig.failoverOrder.filter((p) => p !== args.providerId);
64
65
  currentConfig.customProviders = currentConfig.customProviders.filter((p) => p.id !== args.providerId);
65
- return successResult(`Provider "${args.providerId}" removed.`);
66
+ return successResult(ti('tools.configure_llm_providers.removeSuccess', { id: args.providerId }));
66
67
  }
67
68
  function handleUpdate(args) {
68
69
  if (!args.provider) {
69
- return errorResult('Provider definition is required for "update" action.');
70
+ return errorResult(ti('tools.configure_llm_providers.providerRequired', { action: 'update' }));
70
71
  }
71
72
  const idx = currentConfig.customProviders.findIndex((p) => p.id === args.provider?.id);
72
73
  if (idx >= 0) {
@@ -76,40 +77,46 @@ function handleUpdate(args) {
76
77
  // If updating a built-in, add as custom override
77
78
  currentConfig.customProviders.push(args.provider);
78
79
  }
79
- return successResult(`Provider "${args.provider.name}" updated.`);
80
+ return successResult(ti('tools.configure_llm_providers.updateSuccess', { name: args.provider.name }));
80
81
  }
81
82
  function handleSetPriority(args) {
82
83
  if (!args.failoverOrder || args.failoverOrder.length === 0) {
83
- return errorResult('failoverOrder is required for "set_priority" action.');
84
+ return errorResult(t('tools.configure_llm_providers.failoverRequired'));
84
85
  }
85
86
  currentConfig.failoverOrder = args.failoverOrder;
86
- return successResult(`Failover priority updated: ${args.failoverOrder.join(' > ')}`);
87
+ return successResult(ti('tools.configure_llm_providers.priorityUpdated', { order: args.failoverOrder.join(' > ') }));
87
88
  }
88
89
  function handleSetStrategy(args) {
89
90
  if (!args.strategy) {
90
- return errorResult('strategy is required for "set_strategy" action.');
91
+ return errorResult(t('tools.configure_llm_providers.strategyRequired'));
91
92
  }
92
93
  currentConfig.strategy = args.strategy;
93
- return successResult(`Load balancing strategy set to "${args.strategy}".`);
94
+ return successResult(ti('tools.configure_llm_providers.strategySet', { strategy: args.strategy }));
94
95
  }
95
96
  function successResult(message) {
96
97
  const lines = [
97
- `## LLM Provider Configuration`,
98
+ t('tools.configure_llm_providers.heading'),
98
99
  '',
99
100
  message,
100
101
  '',
101
- `**Active providers:** ${currentConfig.providers.join(', ')}`,
102
- `**Failover order:** ${currentConfig.failoverOrder.join(' > ')}`,
103
- `**Strategy:** ${currentConfig.strategy}`,
102
+ ti('tools.configure_llm_providers.activeProviders', {
103
+ providers: currentConfig.providers.join(', '),
104
+ }),
105
+ ti('tools.configure_llm_providers.failoverOrder', {
106
+ order: currentConfig.failoverOrder.join(' > '),
107
+ }),
108
+ ti('tools.configure_llm_providers.strategy', { strategy: currentConfig.strategy }),
104
109
  ];
105
110
  if (currentConfig.customProviders.length > 0) {
106
- lines.push(`**Custom providers:** ${currentConfig.customProviders.map((p) => p.name).join(', ')}`);
111
+ lines.push(ti('tools.configure_llm_providers.customProviders', {
112
+ names: currentConfig.customProviders.map((p) => p.name).join(', '),
113
+ }));
107
114
  }
108
115
  return { content: [{ type: 'text', text: lines.join('\n') }] };
109
116
  }
110
117
  function errorResult(message) {
111
118
  return {
112
- content: [{ type: 'text', text: `Error: ${message}` }],
119
+ content: [{ type: 'text', text: ti('tools.configure_llm_providers.errorPrefix', { message }) }],
113
120
  isError: true,
114
121
  };
115
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configure-llm-providers-handler.js","sourceRoot":"","sources":["../../src/tools/configure-llm-providers-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure-llm-providers-handler.js","sourceRoot":"","sources":["../../src/tools/configure-llm-providers-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-budget.d.ts","sourceRoot":"","sources":["../../src/tools/context-budget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAaxE,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAoBvF"}
1
+ {"version":3,"file":"context-budget.d.ts","sourceRoot":"","sources":["../../src/tools/context-budget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAcxE,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBvF"}
@@ -1,3 +1,4 @@
1
+ import { t, ti } from '../i18n/index.js';
1
2
  import { getStatus, getWarning, setConfig, getSessionOps, generateCheckpoint, formatCheckpoint, analyzeSession, suggestExplorePrompt, } from '../engine/context-budget/index.js';
2
3
  import * as checkpointStore from '../storage/checkpoint-store.js';
3
4
  export async function handleContextBudget(args) {
@@ -16,7 +17,12 @@ export async function handleContextBudget(args) {
16
17
  return handleOptimize(args.projectId);
17
18
  default:
18
19
  return {
19
- content: [{ type: 'text', text: `Unknown action: ${String(args.action)}` }],
20
+ content: [
21
+ {
22
+ type: 'text',
23
+ text: ti('tools.context_budget.unknownAction', { action: String(args.action) }),
24
+ },
25
+ ],
20
26
  isError: true,
21
27
  };
22
28
  }
@@ -29,7 +35,7 @@ async function handleStatus(projectId) {
29
35
  const status = getStatus();
30
36
  const warning = getWarning();
31
37
  const lines = [
32
- `## Context Budget Status`,
38
+ t('tools.context_budget.statusHeading'),
33
39
  '',
34
40
  `| Metric | Value |`,
35
41
  `|--------|-------|`,
@@ -61,7 +67,11 @@ async function handleConfigure(args) {
61
67
  content: [
62
68
  {
63
69
  type: 'text',
64
- text: `Context budget configured. Window: ${String(config.contextWindowSize)} tokens, warning: ${String(config.warningThreshold * 100)}%, critical: ${String(config.criticalThreshold * 100)}%`,
70
+ text: ti('tools.context_budget.configuredMessage', {
71
+ windowSize: String(config.contextWindowSize),
72
+ warning: String(config.warningThreshold * 100),
73
+ critical: String(config.criticalThreshold * 100),
74
+ }),
65
75
  },
66
76
  ],
67
77
  };
@@ -78,22 +88,36 @@ async function handleCheckpoint(args) {
78
88
  });
79
89
  const id = await checkpointStore.saveCheckpoint(args.projectId, cp);
80
90
  const formatted = formatCheckpoint(cp);
81
- return { content: [{ type: 'text', text: `Checkpoint saved: **${id}**\n\n${formatted}` }] };
91
+ return {
92
+ content: [
93
+ {
94
+ type: 'text',
95
+ text: `${ti('tools.context_budget.checkpointSaved', { id })}\n\n${formatted}`,
96
+ },
97
+ ],
98
+ };
82
99
  }
83
100
  async function handleRestore(projectId, checkpointId) {
84
101
  const cp = await checkpointStore.loadCheckpoint(projectId, checkpointId);
85
102
  if (!cp) {
86
- return { content: [{ type: 'text', text: 'No checkpoint found.' }], isError: true };
103
+ return {
104
+ content: [{ type: 'text', text: t('tools.context_budget.noCheckpointFound') }],
105
+ isError: true,
106
+ };
87
107
  }
88
108
  const formatted = formatCheckpoint(cp);
89
- return { content: [{ type: 'text', text: `## Restored Checkpoint\n\n${formatted}` }] };
109
+ return {
110
+ content: [
111
+ { type: 'text', text: `${t('tools.context_budget.restoredHeading')}\n\n${formatted}` },
112
+ ],
113
+ };
90
114
  }
91
115
  async function handleListCheckpoints(projectId, limit) {
92
116
  const summaries = await checkpointStore.listCheckpoints(projectId, limit ?? 10);
93
117
  if (summaries.length === 0) {
94
- return { content: [{ type: 'text', text: 'No checkpoints found for this project.' }] };
118
+ return { content: [{ type: 'text', text: t('tools.context_budget.noCheckpoints') }] };
95
119
  }
96
- const lines = ['## Available Checkpoints', ''];
120
+ const lines = [t('tools.context_budget.listHeading'), ''];
97
121
  for (const s of summaries) {
98
122
  lines.push(`- **${s.id}** (${s.timestamp}): ${s.summary}`);
99
123
  }
@@ -104,27 +128,30 @@ function handleOptimize(projectId) {
104
128
  const status = getStatus();
105
129
  const result = analyzeSession(ops, status);
106
130
  const lines = [
107
- `## Context Optimization — ${projectId}`,
131
+ ti('tools.context_budget.optimizeHeading', { projectId }),
108
132
  '',
109
- `Current usage: ${String(result.currentUsage.percentUsed)}% (${result.currentUsage.alertLevel})`,
133
+ ti('tools.context_budget.currentUsage', {
134
+ percent: String(result.currentUsage.percentUsed),
135
+ level: result.currentUsage.alertLevel,
136
+ }),
110
137
  '',
111
138
  ];
112
139
  if (result.delegationHints.length > 0) {
113
- lines.push('### Delegation Suggestions');
140
+ lines.push(t('tools.context_budget.delegationHeading'));
114
141
  for (const hint of result.delegationHints) {
115
142
  lines.push(`- **${hint.operation}**: ${hint.reason} → use \`${hint.suggestedModel}\``);
116
143
  }
117
144
  lines.push('');
118
145
  }
119
146
  if (result.filesAlreadyRead.length > 5) {
120
- lines.push('### Batch Read Suggestion');
121
- lines.push('Consider delegating file reads to an Explore subagent:');
147
+ lines.push(t('tools.context_budget.batchReadHeading'));
148
+ lines.push(t('tools.context_budget.batchReadHint'));
122
149
  lines.push('```');
123
150
  lines.push(suggestExplorePrompt(result.filesAlreadyRead));
124
151
  lines.push('```');
125
152
  }
126
153
  if (result.delegationHints.length === 0) {
127
- lines.push('No optimization suggestions at this time — context usage is efficient.');
154
+ lines.push(t('tools.context_budget.noOptimizations'));
128
155
  }
129
156
  return Promise.resolve({ content: [{ type: 'text', text: lines.join('\n') }] });
130
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-budget.js","sourceRoot":"","sources":["../../src/tools/context-budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-budget.js","sourceRoot":"","sources":["../../src/tools/context-budget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec-builder.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec/spec-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAIf,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,YAAY,EAAyB,MAAM,+BAA+B,CAAC;AAOpF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,4FAA4F;AAC5F,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAoIxF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAChD,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrC"}
1
+ {"version":3,"file":"spec-builder.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec/spec-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAIf,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,YAAY,EAAyB,MAAM,+BAA+B,CAAC;AAOpF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,4FAA4F;AAC5F,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAqIxF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAChD,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrC"}
@@ -9,7 +9,7 @@ import { analyzeSplit, formatSplitSuggestion } from '../../engine/spec-splitter.
9
9
  import { getScopeFilters } from '../../engine/scope-filter.js';
10
10
  import { isLegacyLocation, getSpecFileNames } from '../../engine/planu-config-writer.js';
11
11
  import { slugify, generateSpecId, generateBranchName } from '../create-spec-helpers.js';
12
- import { join } from 'node:path';
12
+ import { join, resolve } from 'node:path';
13
13
  import { readdir, readFile } from 'node:fs/promises';
14
14
  /** Builds the Spec object, calculates estimation, generates diagrams, and scope filters. */
15
15
  export async function buildSpecContext(params) {
@@ -48,7 +48,8 @@ export async function buildSpecContext(params) {
48
48
  const naming = isLegacyLocation(specLocation) ? 'legacy' : 'modern';
49
49
  const fileNames = getSpecFileNames(naming);
50
50
  // Flat structure — no subcategories (feature stored as tag instead)
51
- const specDir = join(projectPath, specLocation, `${specId}-${slug}`);
51
+ // Always resolve to absolute path to prevent CWD-relative writes
52
+ const specDir = resolve(join(projectPath, specLocation, `${specId}-${slug}`));
52
53
  const specPath = join(specDir, fileNames.spec);
53
54
  const technicalPath = join(specDir, fileNames.technical);
54
55
  const progressPath = join(specDir, fileNames.progress);
@@ -1 +1 @@
1
- {"version":3,"file":"spec-builder.js","sourceRoot":"","sources":["../../../src/tools/create-spec/spec-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-builder.js","sourceRoot":"","sources":["../../../src/tools/create-spec/spec-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-project.d.ts","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIxE;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuDzF"}
1
+ {"version":3,"file":"delete-project.d.ts","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKxE;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuDzF"}
@@ -1,5 +1,6 @@
1
1
  import { hashProjectPath } from '../storage/base-store.js';
2
2
  import { previewDeleteProject, executeDeleteProject } from '../engine/deleter/core.js';
3
+ import { t, ti } from '../i18n/index.js';
3
4
  /**
4
5
  * Handle delete_project tool invocation.
5
6
  * Requires confirm=true. Without it, shows preview only.
@@ -17,7 +18,7 @@ export async function handleDeleteProject(params) {
17
18
  type: 'text',
18
19
  text: JSON.stringify({
19
20
  ...preview,
20
- message: 'Preview: Set confirm=true to proceed with deletion.',
21
+ message: t('tools.delete_project.preview'),
21
22
  }, null, 2),
22
23
  },
23
24
  ],
@@ -36,7 +37,7 @@ export async function handleDeleteProject(params) {
36
37
  type: 'text',
37
38
  text: JSON.stringify({
38
39
  ...result,
39
- message: `Successfully deleted project data (${String(result.itemsAffected)} files).`,
40
+ message: ti('tools.delete_project.success', { count: String(result.itemsAffected) }),
40
41
  }, null, 2),
41
42
  },
42
43
  ],
@@ -45,7 +46,7 @@ export async function handleDeleteProject(params) {
45
46
  catch (error) {
46
47
  const message = error instanceof Error ? error.message : String(error);
47
48
  return {
48
- content: [{ type: 'text', text: `Delete project failed: ${message}` }],
49
+ content: [{ type: 'text', text: ti('tools.delete_project.error', { message }) }],
49
50
  isError: true,
50
51
  };
51
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete-project.js","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,qDAAqD;yBAC/D,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,sCAAsC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU;qBACtF,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,OAAO,EAAE,EAAE,CAAC;YACtE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"delete-project.js","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,CAAC,CAAC,8BAA8B,CAAC;yBAC3C,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,EAAE,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;qBACrF,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAChF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-spec.d.ts","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIrE;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDnF"}
1
+ {"version":3,"file":"delete-spec.d.ts","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKrE;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDnF"}
@@ -1,5 +1,6 @@
1
1
  import { hashProjectPath } from '../storage/base-store.js';
2
2
  import { previewDeleteSpec, executeDeleteSpec } from '../engine/deleter/core.js';
3
+ import { ti } from '../i18n/index.js';
3
4
  /**
4
5
  * Handle delete_spec tool invocation.
5
6
  * Supports single or bulk spec deletion with soft/hard delete.
@@ -18,7 +19,7 @@ export async function handleDeleteSpec(params) {
18
19
  type: 'text',
19
20
  text: JSON.stringify({
20
21
  ...preview,
21
- message: `Preview: ${String(preview.itemsAffected)} spec(s) would be deleted. Set confirm=true to proceed.`,
22
+ message: ti('tools.delete_spec.preview', { count: String(preview.itemsAffected) }),
22
23
  }, null, 2),
23
24
  },
24
25
  ],
@@ -37,7 +38,7 @@ export async function handleDeleteSpec(params) {
37
38
  type: 'text',
38
39
  text: JSON.stringify({
39
40
  ...result,
40
- message: `Successfully deleted ${String(result.itemsAffected)} spec(s).`,
41
+ message: ti('tools.delete_spec.success', { count: String(result.itemsAffected) }),
41
42
  }, null, 2),
42
43
  },
43
44
  ],
@@ -46,7 +47,7 @@ export async function handleDeleteSpec(params) {
46
47
  catch (error) {
47
48
  const message = error instanceof Error ? error.message : String(error);
48
49
  return {
49
- content: [{ type: 'text', text: `Delete spec failed: ${message}` }],
50
+ content: [{ type: 'text', text: ti('tools.delete_spec.error', { message }) }],
50
51
  isError: true,
51
52
  };
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete-spec.js","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,YAAY,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,yDAAyD;yBAC5G,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,wBAAwB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW;qBACzE,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,OAAO,EAAE,EAAE,CAAC;YACnE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"delete-spec.js","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;yBACnF,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;qBAClF,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEnE,wBAAsB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA0F7E"}
1
+ {"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEnE,wBAAsB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA2F7E"}
@@ -79,6 +79,7 @@ export async function handleEstimate(args) {
79
79
  { type: 'text', text: summary },
80
80
  { type: 'text', text: JSON.stringify(output, null, 2) },
81
81
  ],
82
+ structuredContent: output,
82
83
  };
83
84
  }
84
85
  //# sourceMappingURL=estimate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimate.js","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"estimate.js","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"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"}