@planu/cli 0.42.1 → 0.43.1

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 (262) 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/docs-site-generator/spec-renderer.d.ts.map +1 -1
  24. package/dist/engine/docs-site-generator/spec-renderer.js +2 -1
  25. package/dist/engine/docs-site-generator/spec-renderer.js.map +1 -1
  26. package/dist/engine/execution-plan/agent-execution-plan.d.ts.map +1 -1
  27. package/dist/engine/execution-plan/agent-execution-plan.js +2 -0
  28. package/dist/engine/execution-plan/agent-execution-plan.js.map +1 -1
  29. package/dist/engine/living-spec-analyzer.d.ts +7 -0
  30. package/dist/engine/living-spec-analyzer.d.ts.map +1 -0
  31. package/dist/engine/living-spec-analyzer.js +362 -0
  32. package/dist/engine/living-spec-analyzer.js.map +1 -0
  33. package/dist/engine/llm-providers/cost-tracker.d.ts.map +1 -1
  34. package/dist/engine/llm-providers/cost-tracker.js +1 -0
  35. package/dist/engine/llm-providers/cost-tracker.js.map +1 -1
  36. package/dist/engine/llm-providers/load-balancer.d.ts.map +1 -1
  37. package/dist/engine/llm-providers/load-balancer.js +3 -0
  38. package/dist/engine/llm-providers/load-balancer.js.map +1 -1
  39. package/dist/engine/plugins/extensions/tool-extension.d.ts.map +1 -1
  40. package/dist/engine/plugins/extensions/tool-extension.js +1 -0
  41. package/dist/engine/plugins/extensions/tool-extension.js.map +1 -1
  42. package/dist/engine/plugins/lifecycle.d.ts.map +1 -1
  43. package/dist/engine/plugins/lifecycle.js +3 -4
  44. package/dist/engine/plugins/lifecycle.js.map +1 -1
  45. package/dist/engine/plugins/loader.d.ts.map +1 -1
  46. package/dist/engine/plugins/loader.js +3 -0
  47. package/dist/engine/plugins/loader.js.map +1 -1
  48. package/dist/engine/plugins/sandbox.d.ts.map +1 -1
  49. package/dist/engine/plugins/sandbox.js +3 -3
  50. package/dist/engine/plugins/sandbox.js.map +1 -1
  51. package/dist/engine/registry-updater.d.ts.map +1 -1
  52. package/dist/engine/registry-updater.js +3 -3
  53. package/dist/engine/registry-updater.js.map +1 -1
  54. package/dist/engine/safety/health-monitor.d.ts.map +1 -1
  55. package/dist/engine/safety/health-monitor.js +3 -0
  56. package/dist/engine/safety/health-monitor.js.map +1 -1
  57. package/dist/engine/safety/transaction.d.ts.map +1 -1
  58. package/dist/engine/safety/transaction.js +3 -0
  59. package/dist/engine/safety/transaction.js.map +1 -1
  60. package/dist/engine/source-resolver.d.ts +38 -0
  61. package/dist/engine/source-resolver.d.ts.map +1 -0
  62. package/dist/engine/source-resolver.js +179 -0
  63. package/dist/engine/source-resolver.js.map +1 -0
  64. package/dist/engine/spec-dependency-graph.d.ts +33 -0
  65. package/dist/engine/spec-dependency-graph.d.ts.map +1 -0
  66. package/dist/engine/spec-dependency-graph.js +243 -0
  67. package/dist/engine/spec-dependency-graph.js.map +1 -0
  68. package/dist/engine/spec-templates/custom-loader.d.ts.map +1 -1
  69. package/dist/engine/spec-templates/custom-loader.js +1 -0
  70. package/dist/engine/spec-templates/custom-loader.js.map +1 -1
  71. package/dist/i18n/index.d.ts +1 -1
  72. package/dist/i18n/index.d.ts.map +1 -1
  73. package/dist/i18n/index.js +1 -35
  74. package/dist/i18n/index.js.map +1 -1
  75. package/dist/index.js +6 -4
  76. package/dist/index.js.map +1 -1
  77. package/dist/prompts/index.d.ts +6 -0
  78. package/dist/prompts/index.d.ts.map +1 -0
  79. package/dist/prompts/index.js +121 -0
  80. package/dist/prompts/index.js.map +1 -0
  81. package/dist/resources/specs.d.ts.map +1 -1
  82. package/dist/resources/specs.js +11 -6
  83. package/dist/resources/specs.js.map +1 -1
  84. package/dist/storage/checkpoint-store.d.ts.map +1 -1
  85. package/dist/storage/checkpoint-store.js +3 -2
  86. package/dist/storage/checkpoint-store.js.map +1 -1
  87. package/dist/storage/file-mutex.d.ts +14 -0
  88. package/dist/storage/file-mutex.d.ts.map +1 -0
  89. package/dist/storage/file-mutex.js +39 -0
  90. package/dist/storage/file-mutex.js.map +1 -0
  91. package/dist/storage/spec-store.d.ts.map +1 -1
  92. package/dist/storage/spec-store.js +48 -39
  93. package/dist/storage/spec-store.js.map +1 -1
  94. package/dist/tools/activate-license.d.ts.map +1 -1
  95. package/dist/tools/activate-license.js +27 -18
  96. package/dist/tools/activate-license.js.map +1 -1
  97. package/dist/tools/analyze-spec-dependencies.d.ts +6 -0
  98. package/dist/tools/analyze-spec-dependencies.d.ts.map +1 -0
  99. package/dist/tools/analyze-spec-dependencies.js +72 -0
  100. package/dist/tools/analyze-spec-dependencies.js.map +1 -0
  101. package/dist/tools/check-readiness.d.ts.map +1 -1
  102. package/dist/tools/check-readiness.js +8 -0
  103. package/dist/tools/check-readiness.js.map +1 -1
  104. package/dist/tools/configure-llm-providers-handler.d.ts.map +1 -1
  105. package/dist/tools/configure-llm-providers-handler.js +25 -18
  106. package/dist/tools/configure-llm-providers-handler.js.map +1 -1
  107. package/dist/tools/context-budget.d.ts.map +1 -1
  108. package/dist/tools/context-budget.js +41 -14
  109. package/dist/tools/context-budget.js.map +1 -1
  110. package/dist/tools/create-spec/spec-builder.d.ts.map +1 -1
  111. package/dist/tools/create-spec/spec-builder.js +3 -2
  112. package/dist/tools/create-spec/spec-builder.js.map +1 -1
  113. package/dist/tools/delete-project.d.ts.map +1 -1
  114. package/dist/tools/delete-project.js +4 -3
  115. package/dist/tools/delete-project.js.map +1 -1
  116. package/dist/tools/delete-spec.d.ts.map +1 -1
  117. package/dist/tools/delete-spec.js +4 -3
  118. package/dist/tools/delete-spec.js.map +1 -1
  119. package/dist/tools/estimate.d.ts.map +1 -1
  120. package/dist/tools/estimate.js +1 -0
  121. package/dist/tools/estimate.js.map +1 -1
  122. package/dist/tools/event-contracts/handlers.d.ts.map +1 -1
  123. package/dist/tools/event-contracts/handlers.js +5 -7
  124. package/dist/tools/event-contracts/handlers.js.map +1 -1
  125. package/dist/tools/export-spec.js +1 -1
  126. package/dist/tools/export-spec.js.map +1 -1
  127. package/dist/tools/license-status.d.ts.map +1 -1
  128. package/dist/tools/license-status.js +33 -1
  129. package/dist/tools/license-status.js.map +1 -1
  130. package/dist/tools/list-specs.d.ts.map +1 -1
  131. package/dist/tools/list-specs.js +1 -0
  132. package/dist/tools/list-specs.js.map +1 -1
  133. package/dist/tools/llm-provider-status-handler.d.ts.map +1 -1
  134. package/dist/tools/llm-provider-status-handler.js +13 -8
  135. package/dist/tools/llm-provider-status-handler.js.map +1 -1
  136. package/dist/tools/manage-context/store.d.ts.map +1 -1
  137. package/dist/tools/manage-context/store.js +4 -5
  138. package/dist/tools/manage-context/store.js.map +1 -1
  139. package/dist/tools/manage-plugins-handler.d.ts.map +1 -1
  140. package/dist/tools/manage-plugins-handler.js +38 -12
  141. package/dist/tools/manage-plugins-handler.js.map +1 -1
  142. package/dist/tools/manage-trash.d.ts.map +1 -1
  143. package/dist/tools/manage-trash.js +9 -5
  144. package/dist/tools/manage-trash.js.map +1 -1
  145. package/dist/tools/reconcile-spec.d.ts.map +1 -1
  146. package/dist/tools/reconcile-spec.js +11 -1
  147. package/dist/tools/reconcile-spec.js.map +1 -1
  148. package/dist/tools/register-context-tools.d.ts.map +1 -1
  149. package/dist/tools/register-context-tools.js +2 -0
  150. package/dist/tools/register-context-tools.js.map +1 -1
  151. package/dist/tools/register-event-tools.d.ts.map +1 -1
  152. package/dist/tools/register-event-tools.js +1 -0
  153. package/dist/tools/register-event-tools.js.map +1 -1
  154. package/dist/tools/register-export-tools.d.ts.map +1 -1
  155. package/dist/tools/register-export-tools.js +1 -0
  156. package/dist/tools/register-export-tools.js.map +1 -1
  157. package/dist/tools/register-governance-tools.d.ts.map +1 -1
  158. package/dist/tools/register-governance-tools.js +1 -0
  159. package/dist/tools/register-governance-tools.js.map +1 -1
  160. package/dist/tools/register-learning-tools.d.ts.map +1 -1
  161. package/dist/tools/register-learning-tools.js +1 -0
  162. package/dist/tools/register-learning-tools.js.map +1 -1
  163. package/dist/tools/register-license-tools.d.ts.map +1 -1
  164. package/dist/tools/register-license-tools.js +2 -0
  165. package/dist/tools/register-license-tools.js.map +1 -1
  166. package/dist/tools/register-memory-tools.d.ts.map +1 -1
  167. package/dist/tools/register-memory-tools.js +2 -0
  168. package/dist/tools/register-memory-tools.js.map +1 -1
  169. package/dist/tools/register-migration-tools.d.ts.map +1 -1
  170. package/dist/tools/register-migration-tools.js +1 -0
  171. package/dist/tools/register-migration-tools.js.map +1 -1
  172. package/dist/tools/register-platform-tools/design-stack-tools.d.ts.map +1 -1
  173. package/dist/tools/register-platform-tools/design-stack-tools.js +12 -0
  174. package/dist/tools/register-platform-tools/design-stack-tools.js.map +1 -1
  175. package/dist/tools/register-platform-tools/lifecycle-infra-tools.d.ts.map +1 -1
  176. package/dist/tools/register-platform-tools/lifecycle-infra-tools.js +7 -0
  177. package/dist/tools/register-platform-tools/lifecycle-infra-tools.js.map +1 -1
  178. package/dist/tools/register-readiness-tools.d.ts.map +1 -1
  179. package/dist/tools/register-readiness-tools.js +2 -0
  180. package/dist/tools/register-readiness-tools.js.map +1 -1
  181. package/dist/tools/register-security-tools.d.ts.map +1 -1
  182. package/dist/tools/register-security-tools.js +1 -0
  183. package/dist/tools/register-security-tools.js.map +1 -1
  184. package/dist/tools/register-spec-tools/analysis-tools.d.ts.map +1 -1
  185. package/dist/tools/register-spec-tools/analysis-tools.js +18 -0
  186. package/dist/tools/register-spec-tools/analysis-tools.js.map +1 -1
  187. package/dist/tools/register-spec-tools/core-spec-tools.d.ts.map +1 -1
  188. package/dist/tools/register-spec-tools/core-spec-tools.js +4 -1
  189. package/dist/tools/register-spec-tools/core-spec-tools.js.map +1 -1
  190. package/dist/tools/register-stack-tools.d.ts.map +1 -1
  191. package/dist/tools/register-stack-tools.js +3 -0
  192. package/dist/tools/register-stack-tools.js.map +1 -1
  193. package/dist/tools/safe-handler.d.ts +2 -1
  194. package/dist/tools/safe-handler.d.ts.map +1 -1
  195. package/dist/tools/safe-handler.js +51 -3
  196. package/dist/tools/safe-handler.js.map +1 -1
  197. package/dist/tools/sanitize-path.d.ts +13 -0
  198. package/dist/tools/sanitize-path.d.ts.map +1 -0
  199. package/dist/tools/sanitize-path.js +60 -0
  200. package/dist/tools/sanitize-path.js.map +1 -0
  201. package/dist/tools/schemas/index.d.ts +1 -0
  202. package/dist/tools/schemas/index.d.ts.map +1 -1
  203. package/dist/tools/schemas/index.js +1 -0
  204. package/dist/tools/schemas/index.js.map +1 -1
  205. package/dist/tools/schemas/output-schemas.d.ts +168 -0
  206. package/dist/tools/schemas/output-schemas.d.ts.map +1 -0
  207. package/dist/tools/schemas/output-schemas.js +182 -0
  208. package/dist/tools/schemas/output-schemas.js.map +1 -0
  209. package/dist/tools/schemas/spec.d.ts.map +1 -1
  210. package/dist/tools/schemas/spec.js +9 -1
  211. package/dist/tools/schemas/spec.js.map +1 -1
  212. package/dist/tools/spec-templates.d.ts.map +1 -1
  213. package/dist/tools/spec-templates.js +36 -26
  214. package/dist/tools/spec-templates.js.map +1 -1
  215. package/dist/tools/suggest-tooling/catalog-loader.d.ts.map +1 -1
  216. package/dist/tools/suggest-tooling/catalog-loader.js +1 -0
  217. package/dist/tools/suggest-tooling/catalog-loader.js.map +1 -1
  218. package/dist/tools/tool-group-handler.d.ts.map +1 -1
  219. package/dist/tools/tool-group-handler.js +16 -13
  220. package/dist/tools/tool-group-handler.js.map +1 -1
  221. package/dist/tools/tool-registry.d.ts +14 -0
  222. package/dist/tools/tool-registry.d.ts.map +1 -0
  223. package/dist/tools/tool-registry.js +36 -0
  224. package/dist/tools/tool-registry.js.map +1 -0
  225. package/dist/tools/update-status-actions.d.ts +6 -0
  226. package/dist/tools/update-status-actions.d.ts.map +1 -1
  227. package/dist/tools/update-status-actions.js +19 -2
  228. package/dist/tools/update-status-actions.js.map +1 -1
  229. package/dist/tools/update-status.d.ts.map +1 -1
  230. package/dist/tools/update-status.js +6 -1
  231. package/dist/tools/update-status.js.map +1 -1
  232. package/dist/tools/validate.d.ts.map +1 -1
  233. package/dist/tools/validate.js +1 -0
  234. package/dist/tools/validate.js.map +1 -1
  235. package/dist/transports/http-rate-limiter.d.ts +22 -0
  236. package/dist/transports/http-rate-limiter.d.ts.map +1 -0
  237. package/dist/transports/http-rate-limiter.js +42 -0
  238. package/dist/transports/http-rate-limiter.js.map +1 -0
  239. package/dist/transports/http-transport.d.ts.map +1 -1
  240. package/dist/transports/http-transport.js +21 -1
  241. package/dist/transports/http-transport.js.map +1 -1
  242. package/dist/types/actuals-tracking.d.ts +9 -1
  243. package/dist/types/actuals-tracking.d.ts.map +1 -1
  244. package/dist/types/common/primitives.d.ts +1 -0
  245. package/dist/types/common/primitives.d.ts.map +1 -1
  246. package/dist/types/index.d.ts +1 -0
  247. package/dist/types/index.d.ts.map +1 -1
  248. package/dist/types/index.js +1 -0
  249. package/dist/types/index.js.map +1 -1
  250. package/dist/types/source-resolution.d.ts +49 -0
  251. package/dist/types/source-resolution.d.ts.map +1 -0
  252. package/dist/types/source-resolution.js +10 -0
  253. package/dist/types/source-resolution.js.map +1 -0
  254. package/dist/types/spec/core.d.ts +48 -0
  255. package/dist/types/spec/core.d.ts.map +1 -1
  256. package/dist/types/spec/inputs.d.ts +1 -0
  257. package/dist/types/spec/inputs.d.ts.map +1 -1
  258. package/package.json +1 -1
  259. package/src/config/license-plans.json +2 -1
  260. package/src/i18n/messages/en.json +177 -4
  261. package/src/i18n/messages/es.json +177 -4
  262. package/src/i18n/messages/pt.json +177 -4
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/event-contracts/handlers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,mBAAmB,EAInB,UAAU,EAEX,MAAM,sBAAsB,CAAC;AAO9B,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiE3F;AAMD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmC3F;AAMD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA0FzF;AAMD,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkDnF"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/event-contracts/handlers.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,mBAAmB,EAInB,UAAU,EAEX,MAAM,sBAAsB,CAAC;AAO9B,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgE3F;AAMD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmC3F;AAMD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyFzF;AAMD,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiDnF"}
@@ -1,6 +1,7 @@
1
1
  // tools/event-contracts/handlers.ts — Subcommand handler implementations
2
2
  import { join } from 'node:path';
3
- import { writeFile, mkdir, readFile } from 'node:fs/promises';
3
+ import { readFile } from 'node:fs/promises';
4
+ import { writeJsonSafe } from '../../engine/safety/atomic-writer.js';
4
5
  import { projectDataDir } from '../../storage/index.js';
5
6
  import { validatePayload, classifyChange, generateDualVersionStrategy, bumpVersion, buildJsonSchema, } from '../../engine/event-schema-validator.js';
6
7
  import { detectPrimaryBroker, getBrokerConfig } from '../../engine/event-detector.js';
@@ -38,8 +39,7 @@ export async function handleGenerateContract(args) {
38
39
  const contractPath = join(projectDataDir(projectId), 'event-contracts', eventName,
39
40
  /* v8 ignore next */
40
41
  `v${initialVersion.split('.')[0] ?? '1'}.json`);
41
- await mkdir(join(projectDataDir(projectId), 'event-contracts', eventName), { recursive: true });
42
- await writeFile(contractPath, JSON.stringify(contract, null, 2), 'utf-8');
42
+ await writeJsonSafe(contractPath, contract);
43
43
  return {
44
44
  content: [
45
45
  {
@@ -129,8 +129,7 @@ export async function handleEvolveContract(args) {
129
129
  const contractPath = join(projectDataDir(projectId), 'event-contracts', eventName,
130
130
  /* v8 ignore next */
131
131
  `v${newVersion.split('.')[0] ?? '1'}.json`);
132
- await mkdir(join(projectDataDir(projectId), 'event-contracts', eventName), { recursive: true });
133
- await writeFile(contractPath, JSON.stringify(updatedContract, null, 2), 'utf-8');
132
+ await writeJsonSafe(contractPath, updatedContract);
134
133
  return {
135
134
  content: [
136
135
  {
@@ -173,8 +172,7 @@ export async function handleSagaSpec(args) {
173
172
  referencedBySpecs: specId ? [specId] : [],
174
173
  };
175
174
  const sagaPath = join(projectDataDir(projectId), 'event-contracts', 'sagas', `${sagaId}.json`);
176
- await mkdir(join(projectDataDir(projectId), 'event-contracts', 'sagas'), { recursive: true });
177
- await writeFile(sagaPath, JSON.stringify(saga, null, 2), 'utf-8');
175
+ await writeJsonSafe(sagaPath, saga);
178
176
  const mermaid = buildSagaMermaid(saga);
179
177
  return {
180
178
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/tools/event-contracts/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/tools/event-contracts/handlers.ts"],"names":[],"mappings":"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"}
@@ -85,7 +85,7 @@ export async function handleExportSpec(params) {
85
85
  });
86
86
  // Write to output directory
87
87
  const slug = toSlug(spec.title);
88
- const outputDir = params.outputDir ?? join(params.projectPath, '.specify', 'specs', slug);
88
+ const outputDir = params.outputDir ?? join(params.projectPath, 'planu', 'exports', slug);
89
89
  await mkdir(outputDir, { recursive: true });
90
90
  const specMdPath = join(outputDir, 'spec.md');
91
91
  const planMdPath = join(outputDir, 'plan.md');
@@ -1 +1 @@
1
- {"version":3,"file":"export-spec.js","sourceRoot":"","sources":["../../src/tools/export-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-spec.js","sourceRoot":"","sources":["../../src/tools/export-spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"license-status.d.ts","sourceRoot":"","sources":["../../src/tools/license-status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAoBxE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDxF"}
1
+ {"version":3,"file":"license-status.d.ts","sourceRoot":"","sources":["../../src/tools/license-status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAoBxE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4FxF"}