@planu/cli 0.72.0 → 0.73.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 (255) hide show
  1. package/README.md +1 -1
  2. package/dist/config/license-plans.json +9 -2
  3. package/dist/config/tool-groups.json +5 -1
  4. package/dist/engine/actuals/git-analyzer.js +1 -1
  5. package/dist/engine/actuals/git-analyzer.js.map +1 -1
  6. package/dist/engine/agent-prompt-generator.d.ts +12 -0
  7. package/dist/engine/agent-prompt-generator.d.ts.map +1 -0
  8. package/dist/engine/agent-prompt-generator.js +171 -0
  9. package/dist/engine/agent-prompt-generator.js.map +1 -0
  10. package/dist/engine/ai-tool-detector/index.d.ts +6 -0
  11. package/dist/engine/ai-tool-detector/index.d.ts.map +1 -0
  12. package/dist/engine/ai-tool-detector/index.js +95 -0
  13. package/dist/engine/ai-tool-detector/index.js.map +1 -0
  14. package/dist/engine/ci-generator/planu-steps.d.ts.map +1 -1
  15. package/dist/engine/ci-generator/planu-steps.js +10 -11
  16. package/dist/engine/ci-generator/planu-steps.js.map +1 -1
  17. package/dist/engine/convention-scanner/codebase-scanner.d.ts +7 -0
  18. package/dist/engine/convention-scanner/codebase-scanner.d.ts.map +1 -0
  19. package/dist/engine/convention-scanner/codebase-scanner.js +258 -0
  20. package/dist/engine/convention-scanner/codebase-scanner.js.map +1 -0
  21. package/dist/engine/convention-scanner/convention-parser.d.ts +7 -0
  22. package/dist/engine/convention-scanner/convention-parser.d.ts.map +1 -0
  23. package/dist/engine/convention-scanner/convention-parser.js +195 -0
  24. package/dist/engine/convention-scanner/convention-parser.js.map +1 -0
  25. package/dist/engine/convention-scanner/index.d.ts +3 -0
  26. package/dist/engine/convention-scanner/index.d.ts.map +1 -0
  27. package/dist/engine/convention-scanner/index.js +5 -0
  28. package/dist/engine/convention-scanner/index.js.map +1 -0
  29. package/dist/engine/convention-sync.d.ts +9 -0
  30. package/dist/engine/convention-sync.d.ts.map +1 -0
  31. package/dist/engine/convention-sync.js +156 -0
  32. package/dist/engine/convention-sync.js.map +1 -0
  33. package/dist/engine/doc-generator/portal/portal-regenerator.d.ts +2 -1
  34. package/dist/engine/doc-generator/portal/portal-regenerator.d.ts.map +1 -1
  35. package/dist/engine/doc-generator/portal/portal-regenerator.js +23 -15
  36. package/dist/engine/doc-generator/portal/portal-regenerator.js.map +1 -1
  37. package/dist/engine/feedback/triage.d.ts +16 -0
  38. package/dist/engine/feedback/triage.d.ts.map +1 -0
  39. package/dist/engine/feedback/triage.js +165 -0
  40. package/dist/engine/feedback/triage.js.map +1 -0
  41. package/dist/engine/hooks-reconciler.d.ts +7 -0
  42. package/dist/engine/hooks-reconciler.d.ts.map +1 -0
  43. package/dist/engine/hooks-reconciler.js +214 -0
  44. package/dist/engine/hooks-reconciler.js.map +1 -0
  45. package/dist/engine/platform-registry.d.ts +17 -0
  46. package/dist/engine/platform-registry.d.ts.map +1 -0
  47. package/dist/engine/platform-registry.js +78 -0
  48. package/dist/engine/platform-registry.js.map +1 -0
  49. package/dist/engine/project-health-checker.d.ts +4 -2
  50. package/dist/engine/project-health-checker.d.ts.map +1 -1
  51. package/dist/engine/project-health-checker.js +78 -5
  52. package/dist/engine/project-health-checker.js.map +1 -1
  53. package/dist/engine/rules-generator/index.d.ts +14 -0
  54. package/dist/engine/rules-generator/index.d.ts.map +1 -0
  55. package/dist/engine/rules-generator/index.js +313 -0
  56. package/dist/engine/rules-generator/index.js.map +1 -0
  57. package/dist/engine/rules-reconciler.d.ts +13 -0
  58. package/dist/engine/rules-reconciler.d.ts.map +1 -0
  59. package/dist/engine/rules-reconciler.js +193 -0
  60. package/dist/engine/rules-reconciler.js.map +1 -0
  61. package/dist/engine/skill-generator/detect.d.ts +1 -0
  62. package/dist/engine/skill-generator/detect.d.ts.map +1 -1
  63. package/dist/engine/skill-generator/detect.js +13 -5
  64. package/dist/engine/skill-generator/detect.js.map +1 -1
  65. package/dist/engine/skills/skills-fetcher.d.ts +4 -0
  66. package/dist/engine/skills/skills-fetcher.d.ts.map +1 -0
  67. package/dist/engine/skills/skills-fetcher.js +102 -0
  68. package/dist/engine/skills/skills-fetcher.js.map +1 -0
  69. package/dist/engine/skills-reconciler.d.ts +15 -0
  70. package/dist/engine/skills-reconciler.d.ts.map +1 -0
  71. package/dist/engine/skills-reconciler.js +98 -0
  72. package/dist/engine/skills-reconciler.js.map +1 -0
  73. package/dist/engine/spec-template-cleaner.d.ts +12 -0
  74. package/dist/engine/spec-template-cleaner.d.ts.map +1 -0
  75. package/dist/engine/spec-template-cleaner.js +119 -0
  76. package/dist/engine/spec-template-cleaner.js.map +1 -0
  77. package/dist/engine/validator/analyzer.d.ts +4 -2
  78. package/dist/engine/validator/analyzer.d.ts.map +1 -1
  79. package/dist/engine/validator/analyzer.js +5 -2
  80. package/dist/engine/validator/analyzer.js.map +1 -1
  81. package/dist/engine/validator/deep-code-checker.d.ts +4 -2
  82. package/dist/engine/validator/deep-code-checker.d.ts.map +1 -1
  83. package/dist/engine/validator/deep-code-checker.js +44 -1
  84. package/dist/engine/validator/deep-code-checker.js.map +1 -1
  85. package/dist/engine/validator/extractors.d.ts +8 -1
  86. package/dist/engine/validator/extractors.d.ts.map +1 -1
  87. package/dist/engine/validator/extractors.js +33 -0
  88. package/dist/engine/validator/extractors.js.map +1 -1
  89. package/dist/engine/validator.d.ts.map +1 -1
  90. package/dist/engine/validator.js +13 -2
  91. package/dist/engine/validator.js.map +1 -1
  92. package/dist/engine/workers/schema.d.ts +58 -0
  93. package/dist/engine/workers/schema.d.ts.map +1 -0
  94. package/dist/engine/workers/schema.js +41 -0
  95. package/dist/engine/workers/schema.js.map +1 -0
  96. package/dist/engine/workers/worker-engine.js +1 -1
  97. package/dist/engine/workers/worker-engine.js.map +1 -1
  98. package/dist/index.js +10 -0
  99. package/dist/index.js.map +1 -1
  100. package/dist/storage/convention-baseline.d.ts +20 -0
  101. package/dist/storage/convention-baseline.d.ts.map +1 -0
  102. package/dist/storage/convention-baseline.js +57 -0
  103. package/dist/storage/convention-baseline.js.map +1 -0
  104. package/dist/storage/feedback-remote.d.ts +8 -0
  105. package/dist/storage/feedback-remote.d.ts.map +1 -0
  106. package/dist/storage/feedback-remote.js +27 -0
  107. package/dist/storage/feedback-remote.js.map +1 -0
  108. package/dist/storage/feedback-store.d.ts +27 -0
  109. package/dist/storage/feedback-store.d.ts.map +1 -0
  110. package/dist/storage/feedback-store.js +272 -0
  111. package/dist/storage/feedback-store.js.map +1 -0
  112. package/dist/storage/index.d.ts +1 -0
  113. package/dist/storage/index.d.ts.map +1 -1
  114. package/dist/storage/index.js +1 -0
  115. package/dist/storage/index.js.map +1 -1
  116. package/dist/tools/convention-sync.d.ts +8 -0
  117. package/dist/tools/convention-sync.d.ts.map +1 -0
  118. package/dist/tools/convention-sync.js +77 -0
  119. package/dist/tools/convention-sync.js.map +1 -0
  120. package/dist/tools/create-spec-hu/ac-adapters/convention-adapter.d.ts +9 -0
  121. package/dist/tools/create-spec-hu/ac-adapters/convention-adapter.d.ts.map +1 -0
  122. package/dist/tools/create-spec-hu/ac-adapters/convention-adapter.js +68 -0
  123. package/dist/tools/create-spec-hu/ac-adapters/convention-adapter.js.map +1 -0
  124. package/dist/tools/create-spec-hu/ac-adapters/custom-template-adapter.d.ts +14 -0
  125. package/dist/tools/create-spec-hu/ac-adapters/custom-template-adapter.d.ts.map +1 -0
  126. package/dist/tools/create-spec-hu/ac-adapters/custom-template-adapter.js +60 -0
  127. package/dist/tools/create-spec-hu/ac-adapters/custom-template-adapter.js.map +1 -0
  128. package/dist/tools/create-spec-hu/ac-adapters/index.d.ts +4 -0
  129. package/dist/tools/create-spec-hu/ac-adapters/index.d.ts.map +1 -1
  130. package/dist/tools/create-spec-hu/ac-adapters/index.js +9 -1
  131. package/dist/tools/create-spec-hu/ac-adapters/index.js.map +1 -1
  132. package/dist/tools/create-spec.d.ts.map +1 -1
  133. package/dist/tools/create-spec.js +3 -2
  134. package/dist/tools/create-spec.js.map +1 -1
  135. package/dist/tools/delete-decision.d.ts.map +1 -1
  136. package/dist/tools/delete-decision.js +2 -0
  137. package/dist/tools/delete-decision.js.map +1 -1
  138. package/dist/tools/delete-project.d.ts.map +1 -1
  139. package/dist/tools/delete-project.js +11 -14
  140. package/dist/tools/delete-project.js.map +1 -1
  141. package/dist/tools/delete-spec.d.ts.map +1 -1
  142. package/dist/tools/delete-spec.js +11 -9
  143. package/dist/tools/delete-spec.js.map +1 -1
  144. package/dist/tools/estimate.d.ts.map +1 -1
  145. package/dist/tools/estimate.js +6 -5
  146. package/dist/tools/estimate.js.map +1 -1
  147. package/dist/tools/export-session.d.ts.map +1 -1
  148. package/dist/tools/export-session.js +7 -9
  149. package/dist/tools/export-session.js.map +1 -1
  150. package/dist/tools/feedback-handler.d.ts +5 -0
  151. package/dist/tools/feedback-handler.d.ts.map +1 -0
  152. package/dist/tools/feedback-handler.js +106 -0
  153. package/dist/tools/feedback-handler.js.map +1 -0
  154. package/dist/tools/generate-teammate-prompt.d.ts +8 -0
  155. package/dist/tools/generate-teammate-prompt.d.ts.map +1 -1
  156. package/dist/tools/generate-teammate-prompt.js +33 -0
  157. package/dist/tools/generate-teammate-prompt.js.map +1 -1
  158. package/dist/tools/init-project/handler.d.ts.map +1 -1
  159. package/dist/tools/init-project/handler.js +42 -7
  160. package/dist/tools/init-project/handler.js.map +1 -1
  161. package/dist/tools/init-project/helpers.d.ts.map +1 -1
  162. package/dist/tools/init-project/helpers.js +1 -2
  163. package/dist/tools/init-project/helpers.js.map +1 -1
  164. package/dist/tools/init-project/result-builder.d.ts.map +1 -1
  165. package/dist/tools/init-project/result-builder.js +12 -1
  166. package/dist/tools/init-project/result-builder.js.map +1 -1
  167. package/dist/tools/log-decision.d.ts.map +1 -1
  168. package/dist/tools/log-decision.js +15 -4
  169. package/dist/tools/log-decision.js.map +1 -1
  170. package/dist/tools/manage-trash.d.ts.map +1 -1
  171. package/dist/tools/manage-trash.js +13 -27
  172. package/dist/tools/manage-trash.js.map +1 -1
  173. package/dist/tools/reconcile-hooks.d.ts +7 -0
  174. package/dist/tools/reconcile-hooks.d.ts.map +1 -0
  175. package/dist/tools/reconcile-hooks.js +78 -0
  176. package/dist/tools/reconcile-hooks.js.map +1 -0
  177. package/dist/tools/reconcile-rules.d.ts +7 -0
  178. package/dist/tools/reconcile-rules.d.ts.map +1 -0
  179. package/dist/tools/reconcile-rules.js +86 -0
  180. package/dist/tools/reconcile-rules.js.map +1 -0
  181. package/dist/tools/reconcile-skills.d.ts +8 -0
  182. package/dist/tools/reconcile-skills.d.ts.map +1 -0
  183. package/dist/tools/reconcile-skills.js +70 -0
  184. package/dist/tools/reconcile-skills.js.map +1 -0
  185. package/dist/tools/register-feedback-tools.d.ts +3 -0
  186. package/dist/tools/register-feedback-tools.d.ts.map +1 -0
  187. package/dist/tools/register-feedback-tools.js +65 -0
  188. package/dist/tools/register-feedback-tools.js.map +1 -0
  189. package/dist/tools/register-spec-tools/core-spec-tools.d.ts.map +1 -1
  190. package/dist/tools/register-spec-tools/core-spec-tools.js +10 -4
  191. package/dist/tools/register-spec-tools/core-spec-tools.js.map +1 -1
  192. package/dist/tools/register-team-tools.d.ts.map +1 -1
  193. package/dist/tools/register-team-tools.js +35 -8
  194. package/dist/tools/register-team-tools.js.map +1 -1
  195. package/dist/tools/safe-handler.d.ts.map +1 -1
  196. package/dist/tools/safe-handler.js +20 -2
  197. package/dist/tools/safe-handler.js.map +1 -1
  198. package/dist/tools/schemas/index.d.ts +1 -0
  199. package/dist/tools/schemas/index.d.ts.map +1 -1
  200. package/dist/tools/schemas/index.js +1 -0
  201. package/dist/tools/schemas/index.js.map +1 -1
  202. package/dist/tools/schemas/reconcile-skills-schemas.d.ts +7 -0
  203. package/dist/tools/schemas/reconcile-skills-schemas.d.ts.map +1 -0
  204. package/dist/tools/schemas/reconcile-skills-schemas.js +18 -0
  205. package/dist/tools/schemas/reconcile-skills-schemas.js.map +1 -0
  206. package/dist/tools/schemas/workers-schema.d.ts +1 -56
  207. package/dist/tools/schemas/workers-schema.d.ts.map +1 -1
  208. package/dist/tools/schemas/workers-schema.js +6 -42
  209. package/dist/tools/schemas/workers-schema.js.map +1 -1
  210. package/dist/tools/skill-registry/search.d.ts.map +1 -1
  211. package/dist/tools/skill-registry/search.js +29 -3
  212. package/dist/tools/skill-registry/search.js.map +1 -1
  213. package/dist/tools/suggest-tooling/skills-fetcher.d.ts +1 -3
  214. package/dist/tools/suggest-tooling/skills-fetcher.d.ts.map +1 -1
  215. package/dist/tools/suggest-tooling/skills-fetcher.js +3 -101
  216. package/dist/tools/suggest-tooling/skills-fetcher.js.map +1 -1
  217. package/dist/tools/token-recording.d.ts +16 -0
  218. package/dist/tools/token-recording.d.ts.map +1 -0
  219. package/dist/tools/token-recording.js +47 -0
  220. package/dist/tools/token-recording.js.map +1 -0
  221. package/dist/tools/update-status-convention-gate.d.ts +12 -0
  222. package/dist/tools/update-status-convention-gate.d.ts.map +1 -0
  223. package/dist/tools/update-status-convention-gate.js +159 -0
  224. package/dist/tools/update-status-convention-gate.js.map +1 -0
  225. package/dist/tools/update-status-reconcile.d.ts +7 -0
  226. package/dist/tools/update-status-reconcile.d.ts.map +1 -0
  227. package/dist/tools/update-status-reconcile.js +47 -0
  228. package/dist/tools/update-status-reconcile.js.map +1 -0
  229. package/dist/tools/update-status.d.ts.map +1 -1
  230. package/dist/tools/update-status.js +113 -67
  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 +92 -2
  234. package/dist/tools/validate.js.map +1 -1
  235. package/dist/types/ai-tool-rules.d.ts +42 -0
  236. package/dist/types/ai-tool-rules.d.ts.map +1 -0
  237. package/dist/types/ai-tool-rules.js +3 -0
  238. package/dist/types/ai-tool-rules.js.map +1 -0
  239. package/dist/types/conventions.d.ts +155 -0
  240. package/dist/types/conventions.d.ts.map +1 -0
  241. package/dist/types/conventions.js +3 -0
  242. package/dist/types/conventions.js.map +1 -0
  243. package/dist/types/feedback.d.ts +76 -0
  244. package/dist/types/feedback.d.ts.map +1 -0
  245. package/dist/types/feedback.js +3 -0
  246. package/dist/types/feedback.js.map +1 -0
  247. package/dist/types/index.d.ts +3 -0
  248. package/dist/types/index.d.ts.map +1 -1
  249. package/dist/types/index.js +1 -0
  250. package/dist/types/index.js.map +1 -1
  251. package/dist/types/project/planu-config.d.ts +4 -0
  252. package/dist/types/project/planu-config.d.ts.map +1 -1
  253. package/package.json +1 -1
  254. package/src/config/license-plans.json +9 -2
  255. package/src/config/tool-groups.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/create-spec-hu/ac-adapters/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,4EAA4E;AAG5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAA2B,EAAE,SAAiB;IACnF,MAAM,GAAG,GAAG;QACV,GAAG,uBAAuB,CAAC,SAAS,CAAC;QACrC,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAC9B,GAAG,mBAAmB,CAAC,SAAS,CAAC;QACjC,GAAG,kBAAkB,CAAC,SAAS,CAAC;KACjC,CAAC;IAEF,oCAAoC;IACpC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/create-spec-hu/ac-adapters/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAG5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAA2B,EAAE,SAAiB;IACnF,MAAM,GAAG,GAAG;QACV,GAAG,yBAAyB,CAAC,SAAS,CAAC;QACvC,GAAG,qBAAqB,CAAC,SAAS,CAAC;QACnC,GAAG,uBAAuB,CAAC,SAAS,CAAC;QACrC,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAC9B,GAAG,mBAAmB,CAAC,SAAS,CAAC;QACjC,GAAG,kBAAkB,CAAC,SAAS,CAAC;KACjC,CAAC;IAEF,oCAAoC;IACpC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-spec.d.ts","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgCrE,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA0RnF"}
1
+ {"version":3,"file":"create-spec.d.ts","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiCrE,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA0RnF"}
@@ -11,6 +11,7 @@ import { join } from 'node:path';
11
11
  import { detectTeamScale } from '../engine/platform-engineering/idp-detector.js';
12
12
  import { runPreSpecDepCheck } from '../engine/dep-auditor/pre-spec-check.js';
13
13
  import { estimateSpec } from '../engine/estimator.js';
14
+ import { stripEmptySections } from '../engine/spec-template-cleaner.js';
14
15
  import { checkSpecReadiness } from '../engine/readiness-checker.js';
15
16
  import { generateProgressContent } from '../engine/progress-writer.js';
16
17
  import { generatePerSpecExecutiveReport, generatePerSpecTechnicalReport, } from '../engine/doc-generator/per-spec-report/index.js';
@@ -59,8 +60,8 @@ export async function handleCreateSpec(params) {
59
60
  mcpSection +
60
61
  resilienceSection;
61
62
  const fichaTecnicaContent = generateFichaTecnicaContent(spec, description, estimation, knowledge, diagrams, teamScale);
62
- await writeFile(specPath, huContent, 'utf-8');
63
- await writeFile(technicalPath, fichaTecnicaContent, 'utf-8');
63
+ await writeFile(specPath, stripEmptySections(huContent), 'utf-8');
64
+ await writeFile(technicalPath, stripEmptySections(fichaTecnicaContent), 'utf-8');
64
65
  // Generate and write progress.md
65
66
  const progressContent = generateProgressContent(spec);
66
67
  await writeFile(progressPath, progressContent, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-decision.d.ts","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIzE;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwD3F"}
1
+ {"version":3,"file":"delete-decision.d.ts","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKzE;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA0D3F"}
@@ -1,5 +1,6 @@
1
1
  import { hashProjectPath } from '../storage/base-store.js';
2
2
  import { previewDeleteDecision, executeDeleteDecision } from '../engine/deleter/core.js';
3
+ import { notifyStoreChange } from '../engine/doc-generator/portal/regen-hook.js';
3
4
  /**
4
5
  * Handle delete_decision tool invocation.
5
6
  * Supports single or bulk decision deletion.
@@ -31,6 +32,7 @@ export async function handleDeleteDecision(params) {
31
32
  isError: true,
32
33
  };
33
34
  }
35
+ notifyStoreChange(params.projectRoot, 'decisions');
34
36
  return {
35
37
  content: [
36
38
  {
@@ -1 +1 @@
1
- {"version":3,"file":"delete-decision.js","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEzF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAA2B;IACpE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/F,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,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACpE,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,6DAA6D;yBAChH,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,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,eAAe;qBAC7E,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,2BAA2B,OAAO,EAAE,EAAE,CAAC;YACvE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"delete-decision.js","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAA2B;IACpE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/F,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,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACpE,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,6DAA6D;yBAChH,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,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,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnD,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,eAAe;qBAC7E,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,2BAA2B,OAAO,EAAE,EAAE,CAAC;YACvE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -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;AAKxE;;;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,CA4CzF"}
@@ -13,34 +13,31 @@ export async function handleDeleteProject(params) {
13
13
  if (!confirm) {
14
14
  const preview = await previewDeleteProject(projectId);
15
15
  return {
16
- content: [
17
- {
18
- type: 'text',
19
- text: JSON.stringify({
20
- ...preview,
21
- message: t('tools.delete_project.preview'),
22
- }, null, 2),
23
- },
24
- ],
16
+ content: [{ type: 'text', text: t('tools.delete_project.preview') }],
17
+ structuredContent: preview,
25
18
  };
26
19
  }
27
20
  const result = await executeDeleteProject(projectId, force);
28
21
  if (!result.success) {
29
22
  return {
30
- content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
23
+ content: [
24
+ {
25
+ type: 'text',
26
+ text: result.warnings.length > 0 ? result.warnings.join('\n') : 'Delete failed.',
27
+ },
28
+ ],
31
29
  isError: true,
30
+ structuredContent: result,
32
31
  };
33
32
  }
34
33
  return {
35
34
  content: [
36
35
  {
37
36
  type: 'text',
38
- text: JSON.stringify({
39
- ...result,
40
- message: ti('tools.delete_project.success', { count: String(result.itemsAffected) }),
41
- }, null, 2),
37
+ text: ti('tools.delete_project.success', { count: String(result.itemsAffected) }),
42
38
  },
43
39
  ],
40
+ structuredContent: result,
44
41
  };
45
42
  }
46
43
  catch (error) {
@@ -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;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
+ {"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,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,8BAA8B,CAAC,EAAE,CAAC;gBACpE,iBAAiB,EAAE,OAA6C;aACjE,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;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB;qBACjF;iBACF;gBACD,OAAO,EAAE,IAAI;gBACb,iBAAiB,EAAE,MAA4C;aAChE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,EAAE,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;iBAClF;aACF;YACD,iBAAiB,EAAE,MAA4C;SAChE,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;AAOrE;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA6DnF"}
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;AAOrE;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAuDnF"}
@@ -19,19 +19,23 @@ export async function handleDeleteSpec(params) {
19
19
  content: [
20
20
  {
21
21
  type: 'text',
22
- text: JSON.stringify({
23
- ...preview,
24
- message: ti('tools.delete_spec.preview', { count: String(preview.itemsAffected) }),
25
- }, null, 2),
22
+ text: ti('tools.delete_spec.preview', { count: String(preview.itemsAffected) }),
26
23
  },
27
24
  ],
25
+ structuredContent: preview,
28
26
  };
29
27
  }
30
28
  const result = await executeDeleteSpec(projectId, specIds, force);
31
29
  if (!result.success) {
32
30
  return {
33
- content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
31
+ content: [
32
+ {
33
+ type: 'text',
34
+ text: result.warnings.length > 0 ? result.warnings.join('\n') : 'Delete failed.',
35
+ },
36
+ ],
34
37
  isError: true,
38
+ structuredContent: result,
35
39
  };
36
40
  }
37
41
  // Regenerate dashboard after successful deletion (best-effort, non-blocking)
@@ -42,12 +46,10 @@ export async function handleDeleteSpec(params) {
42
46
  content: [
43
47
  {
44
48
  type: 'text',
45
- text: JSON.stringify({
46
- ...result,
47
- message: ti('tools.delete_spec.success', { count: String(result.itemsAffected) }),
48
- }, null, 2),
49
+ text: ti('tools.delete_spec.success', { count: String(result.itemsAffected) }),
49
50
  },
50
51
  ],
52
+ structuredContent: result,
51
53
  };
52
54
  }
53
55
  catch (error) {
@@ -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;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;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,6EAA6E;QAC7E,KAAK,SAAS;aACX,SAAS,CAAC,SAAS,CAAC;aACpB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7E,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
+ {"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;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;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,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;qBAChF;iBACF;gBACD,iBAAiB,EAAE,OAA6C;aACjE,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;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB;qBACjF;iBACF;gBACD,OAAO,EAAE,IAAI;gBACb,iBAAiB,EAAE,MAA4C;aAChE,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,KAAK,SAAS;aACX,SAAS,CAAC,SAAS,CAAC;aACpB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;iBAC/E;aACF;YACD,iBAAiB,EAAE,MAA4C;SAChE,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,CA4F7E"}
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,CA6F7E"}
@@ -68,17 +68,18 @@ export async function handleEstimate(args) {
68
68
  historyUsed: metricsHistory.entries.length > 0,
69
69
  };
70
70
  const level = knowledge?.experienceLevel ?? 'intermediate';
71
- const summary = formatByLevel(`¡Listo! El spec ${specId} tiene una estimación de ${est.devHours}h de desarrollo. El costo total sería $${est.totalCostUsd} USD.`, ti('tools.estimate.success', {
71
+ const summary = formatByLevel(ti('tools.estimate.success', {
72
+ specId,
73
+ devHours: String(est.devHours),
74
+ totalCostUsd: String(est.totalCostUsd),
75
+ }), ti('tools.estimate.success', {
72
76
  specId,
73
77
  devHours: String(est.devHours),
74
78
  totalCostUsd: String(est.totalCostUsd),
75
79
  }), `${specId}: ${est.devHours}h dev | $${est.totalCostUsd} USD | confidence: ${result.confidence}`, level);
76
80
  return {
77
81
  phaseEvent: createBasicPhaseEvent('estimate', 'completed', 100, 'analyzing'),
78
- content: [
79
- { type: 'text', text: summary },
80
- { type: 'text', text: JSON.stringify(output, null, 2) },
81
- ],
82
+ content: [{ type: 'text', text: summary }],
82
83
  // structuredContent requires Record<string,unknown>; output is a typed JSON-serializable object.
83
84
  structuredContent: output,
84
85
  };
@@ -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":"AAAA,2EAA2E;AAC3E,qEAAqE;AAErE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGlF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAmB;IACtD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEnC,eAAe;IACf,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC/E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG;QACtB,GAAG,YAAY;QACf,GAAG,CAAC,SAAS,EAAE,eAAe,KAAK,UAAU;YAC3C,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,GAAG,GAAG,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,SAAS,EAAE,eAAe,KAAK,QAAQ;YACzC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,GAAG,GAAG,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,6CAA6C;IAC7C,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEvE,2BAA2B;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAE3E,sCAAsC;IACtC,MAAM,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE;QAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;IAC9B,2EAA2E;IAC3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG;QACb,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE;YACV,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;YAClE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;SACzC;QACD,aAAa,EAAE;YACb,aAAa,EAAE,SAAS;YACxB,gBAAgB,EAAE,cAAc;YAChC,cAAc,EAAE,OAAO,cAAc,qDAAqD;SAC3F;QACD,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;KAC/C,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,EAAE,eAAe,IAAI,cAAc,CAAC;IAC3D,MAAM,OAAO,GAAG,aAAa,CAC3B,EAAE,CAAC,wBAAwB,EAAE;QAC3B,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KACvC,CAAC,EACF,EAAE,CAAC,wBAAwB,EAAE;QAC3B,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KACvC,CAAC,EACF,GAAG,MAAM,KAAK,GAAG,CAAC,QAAQ,YAAY,GAAG,CAAC,YAAY,sBAAsB,MAAM,CAAC,UAAU,EAAE,EAC/F,KAAK,CACN,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,qBAAqB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC;QAC5E,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,iGAAiG;QACjG,iBAAiB,EAAE,MAAiC;KACrD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"export-session.d.ts","sourceRoot":"","sources":["../../src/tools/export-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAqB,MAAM,mBAAmB,CAAC;AAqD3F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA8CzF"}
1
+ {"version":3,"file":"export-session.d.ts","sourceRoot":"","sources":["../../src/tools/export-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAqB,MAAM,mBAAmB,CAAC;AAqD3F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwCzF"}
@@ -55,21 +55,19 @@ export async function handleExportSession(params) {
55
55
  session = await sessionStore.getLatest(projectId);
56
56
  }
57
57
  if (!session) {
58
+ return {
59
+ content: [{ type: 'text', text: 'No sessions found for this project.' }],
60
+ };
61
+ }
62
+ if (format === 'json') {
58
63
  return {
59
64
  content: [
60
65
  {
61
66
  type: 'text',
62
- text: JSON.stringify({
63
- message: 'No sessions found for this project.',
64
- projectId,
65
- }, null, 2),
67
+ text: `\`\`\`json\n${JSON.stringify(session, null, 2)}\n\`\`\``,
66
68
  },
67
69
  ],
68
- };
69
- }
70
- if (format === 'json') {
71
- return {
72
- content: [{ type: 'text', text: JSON.stringify(session, null, 2) }],
70
+ structuredContent: session,
73
71
  };
74
72
  }
75
73
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"export-session.js","sourceRoot":"","sources":["../../src/tools/export-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-session.js","sourceRoot":"","sources":["../../src/tools/export-session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAE5D,SAAS,gBAAgB,CAAC,OAA0B;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC;IAE3C,IAAI,CAAC;QACH,IAAI,OAAO,CAAC;QACZ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC;aACzE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU;qBAChE;iBACF;gBACD,iBAAiB,EAAE,OAA6C;aACjE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;SAC7D,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,4BAA4B,OAAO,EAAE,EAAE,CAAC;YACxE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ToolResult, SubmitFeedbackInput, TriageFeedbackInput, ResolveFeedbackInput } from '../types/index.js';
2
+ export declare function handleSubmitFeedback(input: SubmitFeedbackInput): Promise<ToolResult>;
3
+ export declare function handleTriageFeedback(input: TriageFeedbackInput): ToolResult;
4
+ export declare function handleResolveFeedback(input: ResolveFeedbackInput): Promise<ToolResult>;
5
+ //# sourceMappingURL=feedback-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-handler.d.ts","sourceRoot":"","sources":["../../src/tools/feedback-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EAEV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAiC3B,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmC1F;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,UAAU,CAY3E;AAUD,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4C5F"}
@@ -0,0 +1,106 @@
1
+ // tools/feedback-handler.ts — Feedback Hub tool handlers (SPEC-188)
2
+ import { join } from 'node:path';
3
+ import { submitFeedback, getFeedback, resolveFeedback, findSimilar, } from '../storage/feedback-store.js';
4
+ import { triageFeedback, formatTriageReport } from '../engine/feedback/triage.js';
5
+ // ---------------------------------------------------------------------------
6
+ // Default data directory
7
+ // ---------------------------------------------------------------------------
8
+ function getDataDir(projectPath) {
9
+ const base = projectPath ?? process.cwd();
10
+ return join(base, 'data');
11
+ }
12
+ // ---------------------------------------------------------------------------
13
+ // Type emoji mapping
14
+ // ---------------------------------------------------------------------------
15
+ const TYPE_EMOJI = {
16
+ bug: 'Bug',
17
+ feature: 'Feature',
18
+ suggestion: 'Suggestion',
19
+ dx: 'DX',
20
+ };
21
+ // ---------------------------------------------------------------------------
22
+ // submit_feedback handler
23
+ // ---------------------------------------------------------------------------
24
+ export async function handleSubmitFeedback(input) {
25
+ const feedbackType = input.type;
26
+ const dataDir = getDataDir(input.context?.projectPath);
27
+ const entry = await submitFeedback(dataDir, {
28
+ type: feedbackType,
29
+ title: input.title,
30
+ description: input.description,
31
+ context: input.context,
32
+ status: 'pending',
33
+ votes: 1,
34
+ });
35
+ // Check for similar feedback to warn about duplicates
36
+ const similar = findSimilar(dataDir, input.title, 0.4).filter((e) => e.id !== entry.id);
37
+ const topSimilar = similar.sort((a, b) => (b.votes ?? 0) - (a.votes ?? 0))[0];
38
+ const lines = [
39
+ `Feedback submitted: **${entry.id}**`,
40
+ '',
41
+ '| Field | Value |',
42
+ '|-------|-------|',
43
+ `| Type | ${TYPE_EMOJI[feedbackType]} |`,
44
+ `| Title | ${entry.title} |`,
45
+ `| Status | Pending |`,
46
+ ];
47
+ if (topSimilar !== undefined) {
48
+ lines.push('');
49
+ lines.push(`Similar feedback found: ${topSimilar.id} (${topSimilar.votes ?? 1} votes) — consider voting instead of duplicating.`);
50
+ }
51
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
52
+ }
53
+ // ---------------------------------------------------------------------------
54
+ // triage_feedback handler
55
+ // ---------------------------------------------------------------------------
56
+ export function handleTriageFeedback(input) {
57
+ const dataDir = getDataDir();
58
+ const filterType = input.filter;
59
+ const entries = getFeedback(dataDir, filterType !== undefined ? { type: filterType } : undefined);
60
+ const groups = triageFeedback(entries);
61
+ const report = formatTriageReport(groups);
62
+ const summary = getSummaryLine(entries.length, groups.length);
63
+ const text = [summary, '', report].join('\n');
64
+ return { content: [{ type: 'text', text }] };
65
+ }
66
+ function getSummaryLine(total, groups) {
67
+ return `${total} feedback item(s) → ${groups} triage group(s)`;
68
+ }
69
+ // ---------------------------------------------------------------------------
70
+ // resolve_feedback handler
71
+ // ---------------------------------------------------------------------------
72
+ export async function handleResolveFeedback(input) {
73
+ const dataDir = getDataDir();
74
+ const resolved = await resolveFeedback(dataDir, input.feedbackId, input.specId, input.prUrl, input.notes);
75
+ if (resolved === null) {
76
+ return {
77
+ content: [
78
+ {
79
+ type: 'text',
80
+ text: `Error: Feedback ${input.feedbackId} not found. Check the ID and try again.`,
81
+ },
82
+ ],
83
+ isError: true,
84
+ };
85
+ }
86
+ const lines = [
87
+ `Feedback resolved: **${resolved.id}**`,
88
+ '',
89
+ '| Field | Value |',
90
+ '|-------|-------|',
91
+ `| Title | ${resolved.title} |`,
92
+ `| Status | Resolved |`,
93
+ `| Resolved At | ${resolved.resolvedAt ?? 'now'} |`,
94
+ ];
95
+ if (resolved.specId) {
96
+ lines.push(`| Linked Spec | ${resolved.specId} |`);
97
+ }
98
+ if (resolved.prUrl) {
99
+ lines.push(`| PR URL | ${resolved.prUrl} |`);
100
+ }
101
+ if (resolved.resolvedNotes) {
102
+ lines.push('', `**Notes:** ${resolved.resolvedNotes}`);
103
+ }
104
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
105
+ }
106
+ //# sourceMappingURL=feedback-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-handler.js","sourceRoot":"","sources":["../../src/tools/feedback-handler.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
1
  import type { GenerateTeammatePromptInput, ToolResult } from '../types/index.js';
2
2
  export declare function handleGenerateTeammatePrompt(params: GenerateTeammatePromptInput): Promise<ToolResult>;
3
+ /**
4
+ * Generate agent prompts based on detected architecture layers.
5
+ * When `layer` is omitted, generates prompts for all detected layers.
6
+ */
7
+ export declare function handleGenerateLayerPrompts(params: {
8
+ projectId: string;
9
+ layer?: string;
10
+ }): Promise<ToolResult>;
3
11
  //# sourceMappingURL=generate-teammate-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-teammate-prompt.d.ts","sourceRoot":"","sources":["../../src/tools/generate-teammate-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA+CjF,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,UAAU,CAAC,CAuCrB"}
1
+ {"version":3,"file":"generate-teammate-prompt.d.ts","sourceRoot":"","sources":["../../src/tools/generate-teammate-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgDjF,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,UAAU,CAAC,CAuCrB;AAMD;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BtB"}
@@ -1,5 +1,6 @@
1
1
  import { specStore, knowledgeStore } from '../storage/index.js';
2
2
  import { buildTeammatePrompt } from '../engine/team-planner/index.js';
3
+ import { generateAgentPrompts } from '../engine/agent-prompt-generator.js';
3
4
  import { readFile } from 'node:fs/promises';
4
5
  import { stripFrontmatter } from '../engine/frontmatter-parser.js';
5
6
  // ---------------------------------------------------------------------------
@@ -75,4 +76,36 @@ export async function handleGenerateTeammatePrompt(params) {
75
76
  });
76
77
  return text({ teammateName, role, specId, prompt });
77
78
  }
79
+ // ---------------------------------------------------------------------------
80
+ // Layer-based agent prompt handler
81
+ // ---------------------------------------------------------------------------
82
+ /**
83
+ * Generate agent prompts based on detected architecture layers.
84
+ * When `layer` is omitted, generates prompts for all detected layers.
85
+ */
86
+ export async function handleGenerateLayerPrompts(params) {
87
+ const { projectId, layer } = params;
88
+ const knowledge = await knowledgeStore.getKnowledge(projectId);
89
+ if (!knowledge) {
90
+ return err(`No project knowledge found for '${projectId}'. Run init_project or scan_project first.`);
91
+ }
92
+ const prompts = generateAgentPrompts(knowledge, layer);
93
+ if (prompts.length === 0) {
94
+ const hint = layer
95
+ ? `Layer '${layer}' was not detected in project '${projectId}'.`
96
+ : `No layers detected in project '${projectId}'.`;
97
+ return err(`${hint} Run scan_project to detect architecture layers first.`);
98
+ }
99
+ return text({
100
+ projectId,
101
+ generatedCount: prompts.length,
102
+ agents: prompts.map((p) => ({
103
+ name: p.name,
104
+ layer: p.layer,
105
+ recommendedModel: p.recommendedModel,
106
+ ownedPaths: p.ownedPaths,
107
+ prompt: p.prompt,
108
+ })),
109
+ });
110
+ }
78
111
  //# sourceMappingURL=generate-teammate-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-teammate-prompt.js","sourceRoot":"","sources":["../../src/tools/generate-teammate-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-teammate-prompt.js","sourceRoot":"","sources":["../../src/tools/generate-teammate-prompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAwI9B,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgYrF"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAIhB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAgL9B,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4YrF"}