@entelligentsia/forgecli 0.21.0 → 1.0.3

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 (364) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +31 -33
  3. package/dist/CHANGELOG-forge-plugin.md +142 -0
  4. package/dist/CHANGELOG-pi.md +24 -1
  5. package/dist/bin/forgecli.d.ts +2 -0
  6. package/dist/bin/forgecli.js +6 -0
  7. package/dist/bin/forgecli.js.map +1 -0
  8. package/dist/extensions/forgecli/add-pipeline.js +1 -1
  9. package/dist/extensions/forgecli/add-pipeline.js.map +1 -1
  10. package/dist/extensions/forgecli/add-task.js +1 -1
  11. package/dist/extensions/forgecli/add-task.js.map +1 -1
  12. package/dist/extensions/forgecli/approve.js +17 -2
  13. package/dist/extensions/forgecli/approve.js.map +1 -1
  14. package/dist/extensions/forgecli/audience-gate.js +1 -1
  15. package/dist/extensions/forgecli/audience-gate.js.map +1 -1
  16. package/dist/extensions/forgecli/calibrate.js +11 -8
  17. package/dist/extensions/forgecli/calibrate.js.map +1 -1
  18. package/dist/extensions/forgecli/collate.js +1 -1
  19. package/dist/extensions/forgecli/collate.js.map +1 -1
  20. package/dist/extensions/forgecli/commit.js +17 -2
  21. package/dist/extensions/forgecli/commit.js.map +1 -1
  22. package/dist/extensions/forgecli/enhance.js +1 -1
  23. package/dist/extensions/forgecli/enhance.js.map +1 -1
  24. package/dist/extensions/forgecli/fix-bug.d.ts +1 -2
  25. package/dist/extensions/forgecli/fix-bug.js +678 -609
  26. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  27. package/dist/extensions/forgecli/forge-artifact-tool.d.ts +6 -8
  28. package/dist/extensions/forgecli/forge-artifact-tool.js +94 -197
  29. package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -1
  30. package/dist/extensions/forgecli/forge-commands.js +57 -18
  31. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  32. package/dist/extensions/forgecli/forge-init/phase4-register.js +6 -7
  33. package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -1
  34. package/dist/extensions/forgecli/forge-init/run-phases.d.ts +4 -0
  35. package/dist/extensions/forgecli/forge-init/run-phases.js +304 -0
  36. package/dist/extensions/forgecli/forge-init/run-phases.js.map +1 -0
  37. package/dist/extensions/forgecli/forge-init/verifiers.d.ts +14 -5
  38. package/dist/extensions/forgecli/forge-init/verifiers.js +79 -62
  39. package/dist/extensions/forgecli/forge-init/verifiers.js.map +1 -1
  40. package/dist/extensions/forgecli/forge-init.js +131 -76
  41. package/dist/extensions/forgecli/forge-init.js.map +1 -1
  42. package/dist/extensions/forgecli/forge-subagent.d.ts +26 -0
  43. package/dist/extensions/forgecli/forge-subagent.js +42 -18
  44. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  45. package/dist/extensions/forgecli/forge-tools.d.ts +34 -4
  46. package/dist/extensions/forgecli/forge-tools.js +191 -79
  47. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  48. package/dist/extensions/forgecli/health-check.js +3 -3
  49. package/dist/extensions/forgecli/health-check.js.map +1 -1
  50. package/dist/extensions/forgecli/hook-dispatcher.d.ts +1 -1
  51. package/dist/extensions/forgecli/hooks/check-update.d.ts +8 -0
  52. package/dist/extensions/forgecli/hooks/check-update.js +29 -1
  53. package/dist/extensions/forgecli/hooks/check-update.js.map +1 -1
  54. package/dist/extensions/forgecli/hooks/post-init-hook.js +6 -6
  55. package/dist/extensions/forgecli/hooks/post-init-hook.js.map +1 -1
  56. package/dist/extensions/forgecli/hooks/post-sprint-hook.js +6 -6
  57. package/dist/extensions/forgecli/hooks/post-sprint-hook.js.map +1 -1
  58. package/dist/extensions/forgecli/hooks/triage-error.js +1 -0
  59. package/dist/extensions/forgecli/hooks/triage-error.js.map +1 -1
  60. package/dist/extensions/forgecli/implement.js +20 -2
  61. package/dist/extensions/forgecli/implement.js.map +1 -1
  62. package/dist/extensions/forgecli/index.js +39 -32
  63. package/dist/extensions/forgecli/index.js.map +1 -1
  64. package/dist/extensions/forgecli/lib/pipeline-guard.d.ts +41 -0
  65. package/dist/extensions/forgecli/lib/pipeline-guard.js +100 -0
  66. package/dist/extensions/forgecli/lib/pipeline-guard.js.map +1 -0
  67. package/dist/extensions/forgecli/loaders/persona-skill-loader.js +2 -2
  68. package/dist/extensions/forgecli/loaders/persona-skill-loader.js.map +1 -1
  69. package/dist/extensions/forgecli/migrate.d.ts +3 -0
  70. package/dist/extensions/forgecli/migrate.js +4 -2
  71. package/dist/extensions/forgecli/migrate.js.map +1 -1
  72. package/dist/extensions/forgecli/plan.js +21 -2
  73. package/dist/extensions/forgecli/plan.js.map +1 -1
  74. package/dist/extensions/forgecli/quiz-agent.js +7 -7
  75. package/dist/extensions/forgecli/quiz-agent.js.map +1 -1
  76. package/dist/extensions/forgecli/regenerate.js +49 -18
  77. package/dist/extensions/forgecli/regenerate.js.map +1 -1
  78. package/dist/extensions/forgecli/remove-command.js +1 -1
  79. package/dist/extensions/forgecli/remove-command.js.map +1 -1
  80. package/dist/extensions/forgecli/report-bug.js +1 -1
  81. package/dist/extensions/forgecli/report-bug.js.map +1 -1
  82. package/dist/extensions/forgecli/retrospective.js +9 -9
  83. package/dist/extensions/forgecli/retrospective.js.map +1 -1
  84. package/dist/extensions/forgecli/review-code.d.ts +13 -0
  85. package/dist/extensions/forgecli/review-code.js +62 -3
  86. package/dist/extensions/forgecli/review-code.js.map +1 -1
  87. package/dist/extensions/forgecli/review-plan.d.ts +13 -0
  88. package/dist/extensions/forgecli/review-plan.js +65 -3
  89. package/dist/extensions/forgecli/review-plan.js.map +1 -1
  90. package/dist/extensions/forgecli/run-task.js +461 -391
  91. package/dist/extensions/forgecli/run-task.js.map +1 -1
  92. package/dist/extensions/forgecli/session-registry.d.ts +12 -0
  93. package/dist/extensions/forgecli/session-registry.js +23 -0
  94. package/dist/extensions/forgecli/session-registry.js.map +1 -1
  95. package/dist/extensions/forgecli/skill-curator-subagent.d.ts +2 -1
  96. package/dist/extensions/forgecli/skill-curator-subagent.js +2 -1
  97. package/dist/extensions/forgecli/skill-curator-subagent.js.map +1 -1
  98. package/dist/extensions/forgecli/sprint-intake.js +6 -6
  99. package/dist/extensions/forgecli/sprint-intake.js.map +1 -1
  100. package/dist/extensions/forgecli/sprint-plan.js +9 -9
  101. package/dist/extensions/forgecli/sprint-plan.js.map +1 -1
  102. package/dist/extensions/forgecli/status-command.js +1 -1
  103. package/dist/extensions/forgecli/status-command.js.map +1 -1
  104. package/dist/extensions/forgecli/store-query.js +11 -11
  105. package/dist/extensions/forgecli/store-query.js.map +1 -1
  106. package/dist/extensions/forgecli/store-repair.js +7 -7
  107. package/dist/extensions/forgecli/store-repair.js.map +1 -1
  108. package/dist/extensions/forgecli/subagent/caller-context.d.ts +35 -11
  109. package/dist/extensions/forgecli/subagent/caller-context.js +49 -21
  110. package/dist/extensions/forgecli/subagent/caller-context.js.map +1 -1
  111. package/dist/extensions/forgecli/subagent/orchestrator-transcript.d.ts +66 -0
  112. package/dist/extensions/forgecli/subagent/orchestrator-transcript.js +66 -0
  113. package/dist/extensions/forgecli/subagent/orchestrator-transcript.js.map +1 -0
  114. package/dist/extensions/forgecli/subagent/phase-guard.d.ts +34 -0
  115. package/dist/extensions/forgecli/subagent/phase-guard.js +139 -0
  116. package/dist/extensions/forgecli/subagent/phase-guard.js.map +1 -0
  117. package/dist/extensions/forgecli/subagent/phase-summary-map.d.ts +1 -0
  118. package/dist/extensions/forgecli/subagent/phase-summary-map.js +22 -0
  119. package/dist/extensions/forgecli/subagent/phase-summary-map.js.map +1 -0
  120. package/dist/extensions/forgecli/thread-switcher.js +2 -2
  121. package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
  122. package/dist/extensions/forgecli/validate.js +17 -2
  123. package/dist/extensions/forgecli/validate.js.map +1 -1
  124. package/dist/extensions/forgecli/viewport-events.d.ts +4 -0
  125. package/dist/extensions/forgecli/viewport-events.js +18 -1
  126. package/dist/extensions/forgecli/viewport-events.js.map +1 -1
  127. package/dist/extensions/forgecli/viewport-renderer.d.ts +12 -2
  128. package/dist/extensions/forgecli/viewport-renderer.js +8 -6
  129. package/dist/extensions/forgecli/viewport-renderer.js.map +1 -1
  130. package/dist/forge-payload/.base-pack/commands/check-agent.md +22 -0
  131. package/dist/forge-payload/.base-pack/commands/new-sprint.md +22 -0
  132. package/dist/forge-payload/.base-pack/commands/plan-sprint.md +22 -0
  133. package/dist/forge-payload/.base-pack/commands/quiz-agent.md +2 -18
  134. package/dist/forge-payload/.base-pack/commands/retro.md +22 -0
  135. package/dist/forge-payload/.base-pack/commands/retrospective.md +2 -18
  136. package/dist/forge-payload/.base-pack/commands/sprint-intake.md +2 -18
  137. package/dist/forge-payload/.base-pack/commands/sprint-plan.md +2 -18
  138. package/dist/forge-payload/.base-pack/workflows/_fragments/friction-emit.md +2 -2
  139. package/dist/forge-payload/.base-pack/workflows/_fragments/generation-instructions.md +4 -4
  140. package/dist/forge-payload/.base-pack/workflows/_fragments/iron-laws.md +1 -1
  141. package/dist/forge-payload/.base-pack/workflows/architect_approve.md +13 -1
  142. package/dist/forge-payload/.base-pack/workflows/commit_task.md +12 -1
  143. package/dist/forge-payload/.base-pack/workflows/enhance.md +6 -6
  144. package/dist/forge-payload/.base-pack/workflows/fix_bug.md +11 -29
  145. package/dist/forge-payload/.base-pack/workflows/implement_plan.md +14 -2
  146. package/dist/forge-payload/.base-pack/workflows/migrate_structural.md +2 -2
  147. package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +20 -4
  148. package/dist/forge-payload/.base-pack/workflows/plan_task.md +14 -2
  149. package/dist/forge-payload/.base-pack/workflows/review_code.md +37 -7
  150. package/dist/forge-payload/.base-pack/workflows/review_plan.md +36 -6
  151. package/dist/forge-payload/.base-pack/workflows/run_sprint.md +2 -2
  152. package/dist/forge-payload/.base-pack/workflows/triage.md +190 -0
  153. package/dist/forge-payload/.base-pack/workflows/validate_task.md +37 -7
  154. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  155. package/dist/forge-payload/.schemas/config.schema.json +0 -5
  156. package/dist/forge-payload/.schemas/enum-catalog.json +9 -13
  157. package/dist/forge-payload/.schemas/migrations.json +63 -0
  158. package/dist/forge-payload/agents/tomoshibi.md +150 -6
  159. package/dist/forge-payload/commands/add-pipeline.md +1 -1
  160. package/dist/forge-payload/commands/add-task.md +1 -1
  161. package/dist/forge-payload/commands/calibrate.md +4 -350
  162. package/dist/forge-payload/commands/check-agent.md +38 -0
  163. package/dist/forge-payload/commands/config.md +3 -113
  164. package/dist/forge-payload/commands/enhance.md +5 -32
  165. package/dist/forge-payload/commands/health.md +155 -13
  166. package/dist/forge-payload/commands/init.md +25 -31
  167. package/dist/forge-payload/commands/migrate.md +6 -154
  168. package/dist/forge-payload/commands/quiz-agent.md +2 -34
  169. package/dist/forge-payload/commands/rebuild.md +664 -0
  170. package/dist/forge-payload/commands/regenerate.md +2 -774
  171. package/dist/forge-payload/commands/remove.md +10 -13
  172. package/dist/forge-payload/commands/repair.md +187 -0
  173. package/dist/forge-payload/commands/search.md +73 -0
  174. package/dist/forge-payload/commands/status.md +105 -0
  175. package/dist/forge-payload/commands/store-query.md +2 -69
  176. package/dist/forge-payload/commands/store-repair.md +2 -183
  177. package/dist/forge-payload/commands/update-tools.md +4 -50
  178. package/dist/forge-payload/commands/update.md +64 -58
  179. package/dist/forge-payload/hooks/check-update.cjs +1 -1
  180. package/dist/forge-payload/hooks/post-init.cjs +2 -2
  181. package/dist/forge-payload/hooks/post-sprint.cjs +2 -2
  182. package/dist/forge-payload/hooks/triage-error.cjs +11 -10
  183. package/dist/forge-payload/init/phases/phase-1-collect.md +138 -0
  184. package/dist/forge-payload/init/phases/phase-2-discover.md +127 -0
  185. package/dist/forge-payload/init/phases/phase-3-materialize.md +113 -0
  186. package/dist/forge-payload/init/phases/phase-4-register.md +159 -0
  187. package/dist/forge-payload/integrity.json +21 -24
  188. package/dist/forge-payload/meta/fragments/tool-discipline.md +41 -0
  189. package/dist/forge-payload/meta/templates/meta-retro.md +28 -0
  190. package/dist/forge-payload/meta/workflows/_fragments/friction-emit.md +2 -2
  191. package/dist/forge-payload/meta/workflows/_fragments/generation-instructions.md +4 -4
  192. package/dist/forge-payload/meta/workflows/_fragments/iron-laws.md +1 -1
  193. package/dist/forge-payload/meta/workflows/meta-approve.md +13 -1
  194. package/dist/forge-payload/meta/workflows/meta-bug-triage.md +210 -0
  195. package/dist/forge-payload/meta/workflows/meta-check-agent.md +138 -0
  196. package/dist/forge-payload/meta/workflows/meta-commit.md +12 -1
  197. package/dist/forge-payload/meta/workflows/meta-enhance.md +5 -5
  198. package/dist/forge-payload/meta/workflows/meta-fix-bug.md +11 -29
  199. package/dist/forge-payload/meta/workflows/meta-implement.md +13 -1
  200. package/dist/forge-payload/meta/workflows/meta-migrate.md +3 -3
  201. package/dist/forge-payload/meta/workflows/meta-new-sprint.md +84 -0
  202. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +20 -4
  203. package/dist/forge-payload/meta/workflows/meta-plan-sprint.md +152 -0
  204. package/dist/forge-payload/meta/workflows/meta-plan-task.md +13 -1
  205. package/dist/forge-payload/meta/workflows/meta-retro.md +73 -0
  206. package/dist/forge-payload/meta/workflows/meta-review-implementation.md +37 -7
  207. package/dist/forge-payload/meta/workflows/meta-review-plan.md +36 -6
  208. package/dist/forge-payload/meta/workflows/meta-validate.md +37 -7
  209. package/dist/forge-payload/schemas/config.schema.json +0 -5
  210. package/dist/forge-payload/schemas/enum-catalog.json +9 -13
  211. package/dist/forge-payload/schemas/structure-manifest.json +25 -8
  212. package/dist/forge-payload/tools/artifact.cjs +324 -0
  213. package/dist/forge-payload/tools/banners.cjs +3 -4
  214. package/dist/forge-payload/tools/build-context-pack.cjs +1 -1
  215. package/dist/forge-payload/tools/check-structure.cjs +8 -3
  216. package/dist/forge-payload/tools/store-cli.cjs +67 -7
  217. package/dist/forge-payload/tools/substitute-placeholders.cjs +1 -1
  218. package/dist/forge-payload/tools/verify-apply.cjs +75 -0
  219. package/dist/forge-payload/tools/verify-phase.cjs +259 -0
  220. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  221. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +0 -17
  222. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  223. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +21 -38
  224. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  225. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  226. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +5 -4
  227. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  228. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +2 -1
  229. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  230. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +5 -2
  231. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  232. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  233. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +24 -1
  234. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.d.ts.map +1 -1
  235. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js +2 -3
  236. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js.map +1 -1
  237. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.d.ts +1 -0
  238. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.d.ts.map +1 -1
  239. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.js +52 -22
  240. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.js.map +1 -1
  241. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
  242. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +16 -4
  243. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
  244. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  245. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +45 -50
  246. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  247. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
  248. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +43 -81
  249. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
  250. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  251. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.js +27 -12
  252. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.js.map +1 -1
  253. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  254. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js +2 -3
  255. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  256. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
  257. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js +3 -3
  258. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
  259. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
  260. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +5 -5
  261. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
  262. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.d.ts +2 -0
  263. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.d.ts.map +1 -1
  264. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js +37 -0
  265. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js.map +1 -1
  266. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
  267. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +9 -8
  268. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
  269. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
  270. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +20 -35
  271. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
  272. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +3 -0
  273. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  274. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +64 -7
  275. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
  276. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  277. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +15 -3
  278. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  279. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.d.ts +3 -1
  280. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.d.ts.map +1 -1
  281. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.js +14 -8
  282. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.js.map +1 -1
  283. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.d.ts +30 -0
  284. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.d.ts.map +1 -0
  285. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.js +124 -0
  286. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.js.map +1 -0
  287. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.d.ts +2 -0
  288. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.d.ts.map +1 -0
  289. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.js +31 -0
  290. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.js.map +1 -0
  291. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.d.ts +7 -27
  292. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
  293. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js +75 -115
  294. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
  295. package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +6 -0
  296. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  297. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  298. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  299. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  300. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +12 -14
  301. package/node_modules/@earendil-works/pi-coding-agent/package.json +5 -5
  302. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts +3 -0
  303. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +1 -0
  304. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +53 -0
  305. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -0
  306. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  307. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +4 -1
  308. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  309. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +2 -0
  310. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  311. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +13 -1
  312. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  313. package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
  314. package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
  315. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  316. package/node_modules/@entelligentsia/forge-compress/dist/compressor.d.ts +6 -0
  317. package/node_modules/@entelligentsia/forge-compress/dist/compressor.js +137 -0
  318. package/node_modules/@entelligentsia/forge-compress/dist/entropy.d.ts +3 -0
  319. package/node_modules/@entelligentsia/forge-compress/dist/entropy.js +99 -0
  320. package/node_modules/@entelligentsia/forge-compress/dist/forge/entity.d.ts +8 -0
  321. package/node_modules/@entelligentsia/forge-compress/dist/forge/entity.js +149 -0
  322. package/node_modules/@entelligentsia/forge-compress/dist/forge/index.d.ts +7 -0
  323. package/node_modules/@entelligentsia/forge-compress/dist/forge/index.js +4 -0
  324. package/node_modules/@entelligentsia/forge-compress/dist/forge/markdown.d.ts +5 -0
  325. package/node_modules/@entelligentsia/forge-compress/dist/forge/markdown.js +92 -0
  326. package/node_modules/@entelligentsia/forge-compress/dist/forge/query.d.ts +7 -0
  327. package/node_modules/@entelligentsia/forge-compress/dist/forge/query.js +60 -0
  328. package/node_modules/@entelligentsia/forge-compress/dist/forge/validate.d.ts +1 -0
  329. package/node_modules/@entelligentsia/forge-compress/dist/forge/validate.js +82 -0
  330. package/node_modules/@entelligentsia/forge-compress/dist/index.d.ts +6 -0
  331. package/node_modules/@entelligentsia/forge-compress/dist/index.js +5 -0
  332. package/node_modules/@entelligentsia/forge-compress/dist/progressive.d.ts +1 -0
  333. package/node_modules/@entelligentsia/forge-compress/dist/progressive.js +108 -0
  334. package/node_modules/@entelligentsia/forge-compress/dist/strip.d.ts +4 -0
  335. package/node_modules/@entelligentsia/forge-compress/dist/strip.js +55 -0
  336. package/node_modules/@entelligentsia/forge-compress/dist/tokens.d.ts +2 -0
  337. package/node_modules/@entelligentsia/forge-compress/dist/tokens.js +17 -0
  338. package/node_modules/@entelligentsia/forge-compress/package.json +45 -0
  339. package/node_modules/@entelligentsia/forge-compress/src/__tests__/compress.test.ts +409 -0
  340. package/node_modules/@entelligentsia/forge-compress/src/compressor.ts +147 -0
  341. package/node_modules/@entelligentsia/forge-compress/src/entropy.ts +105 -0
  342. package/node_modules/@entelligentsia/forge-compress/src/forge/entity.ts +184 -0
  343. package/node_modules/@entelligentsia/forge-compress/src/forge/index.ts +10 -0
  344. package/node_modules/@entelligentsia/forge-compress/src/forge/markdown.ts +122 -0
  345. package/node_modules/@entelligentsia/forge-compress/src/forge/query.ts +105 -0
  346. package/node_modules/@entelligentsia/forge-compress/src/forge/validate.ts +86 -0
  347. package/node_modules/@entelligentsia/forge-compress/src/index.ts +22 -0
  348. package/node_modules/@entelligentsia/forge-compress/src/progressive.ts +123 -0
  349. package/node_modules/@entelligentsia/forge-compress/src/strip.ts +58 -0
  350. package/node_modules/@entelligentsia/forge-compress/src/tokens.ts +19 -0
  351. package/package.json +10 -15
  352. package/dist/extensions/forgecli/forge-init/phase-descriptors.d.ts +0 -72
  353. package/dist/extensions/forgecli/forge-init/phase-descriptors.js +0 -359
  354. package/dist/extensions/forgecli/forge-init/phase-descriptors.js.map +0 -1
  355. package/dist/extensions/forgecli/forge-init/prompts.d.ts +0 -10
  356. package/dist/extensions/forgecli/forge-init/prompts.js +0 -91
  357. package/dist/extensions/forgecli/forge-init/prompts.js.map +0 -1
  358. package/dist/extensions/forgecli/lib/store-error-remediation.d.ts +0 -65
  359. package/dist/extensions/forgecli/lib/store-error-remediation.js +0 -298
  360. package/dist/extensions/forgecli/lib/store-error-remediation.js.map +0 -1
  361. package/dist/forge-payload/hooks/check-update.js +0 -378
  362. package/dist/forge-payload/hooks/forge-permissions.js +0 -164
  363. package/dist/forge-payload/hooks/triage-error.js +0 -77
  364. package/dist/forge-payload/hooks/validate-write.js +0 -250
@@ -1 +1 @@
1
- {"version":3,"file":"fix-bug.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/fix-bug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix-bug.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/fix-bug.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import type { ToolDefinition } from "@earendil-works/pi-coding-agent";
2
- /**
3
- * Test override for readStorePath — allows unit tests to inject a mock
4
- * without touching node:child_process. Reset to {} after each test.
5
- */
6
- export declare const _testOverrides: {
7
- readStorePath?: ((entity: string, entityId: string, toolDir: string, projectRoot: string) => string | null) | undefined;
8
- };
9
- export declare function buildForgeArtifact(projectRoot: string, engineeringPath: string, toolDir: string): ToolDefinition;
2
+ type RunCjsFn = (toolPath: string, argv: string[], signal: AbortSignal | undefined, timeoutMs: number, projectRoot: string) => Promise<{
3
+ stdout: string;
4
+ stderr: string;
5
+ }>;
6
+ export declare function buildForgeArtifact(projectRoot: string, _engineeringPath: string, toolDir: string, _runCjsOverride?: RunCjsFn): ToolDefinition;
7
+ export {};
@@ -1,153 +1,59 @@
1
- // forge-artifact-tool.ts — typed artifact read/write/list tool for subagent sessions.
1
+ // forge-artifact-tool.ts — thin runCjs shim delegating to plugin artifact.cjs.
2
2
  //
3
- // Resolves phase artifact paths from (entityType, entityId, artifactName) tuples.
4
- // Validates JSON summary artifacts on write. Eliminates path derivation as a
5
- // failure mode for low-tier models.
3
+ // All logic (artifact catalog, path resolution, summary JSON validation) lives
4
+ // in forge/forge/tools/artifact.cjs as the canonical plugin-side implementation.
5
+ // This module is a lightweight wrapper that dispatches read/write/list calls via
6
+ // runCjs to the plugin tool, keeping forge-cli in sync automatically whenever
7
+ // the plugin is updated.
6
8
  //
7
- // v0.19.1 (forge-cli#33): resolveEntityDir now reads the store record's `path`
8
- // field instead of constructing paths from the entity ID alone. Bug, sprint, and
9
- // task directories can include descriptive slugs (e.g.
10
- // engineering/bugs/BUG-001-sprint-runner-context-accumulation) that are not
11
- // derivable from the ID alone.
12
- import { execFileSync } from "node:child_process";
9
+ // Content-passing strategy for write:
10
+ // - Inline (<64KB): content is passed as the 4th positional argv argument.
11
+ // - Large (>=64KB): content is written to a temp file and passed as @<path>.
12
+ // artifact.cjs recognises the @-prefix convention and reads from the file.
13
13
  import * as fs from "node:fs";
14
+ import * as os from "node:os";
14
15
  import * as path from "node:path";
15
16
  import { Type } from "typebox";
16
- // ── Artifact catalog ────────────────────────────────────────────────────────
17
- const ARTIFACT_CATALOG = {
18
- plan: { filename: "PLAN.md", type: "md" },
19
- "plan-review": { filename: "PLAN_REVIEW.md", type: "md" },
20
- progress: { filename: "PROGRESS.md", type: "md" },
21
- "code-review": { filename: "CODE_REVIEW.md", type: "md" },
22
- "validation-report": { filename: "VALIDATION_REPORT.md", type: "md" },
23
- "architect-approval": { filename: "ARCHITECT_APPROVAL.md", type: "md" },
24
- triage: { filename: "TRIAGE.md", type: "md" },
25
- "bug-report": { filename: "BUG_REPORT.md", type: "md" },
26
- index: { filename: "INDEX.md", type: "md" },
27
- "cost-report": { filename: "COST_REPORT.md", type: "md" },
28
- timesheet: { filename: "TIMESHEET.md", type: "md" },
29
- "plan-summary": { filename: "PLAN-SUMMARY.json", type: "json" },
30
- "review-plan-summary": { filename: "REVIEW-PLAN-SUMMARY.json", type: "json" },
31
- "implementation-summary": { filename: "IMPLEMENTATION-SUMMARY.json", type: "json" },
32
- "review-code-summary": { filename: "REVIEW-CODE-SUMMARY.json", type: "json" },
33
- "review-impl-summary": { filename: "REVIEW-IMPL-SUMMARY.json", type: "json" },
34
- "validation-summary": { filename: "VALIDATION-SUMMARY.json", type: "json" },
35
- "approve-summary": { filename: "APPROVE-SUMMARY.json", type: "json" },
36
- "commit-summary": { filename: "COMMIT-SUMMARY.json", type: "json" },
37
- "triage-summary": { filename: "TRIAGE-SUMMARY.json", type: "json" },
38
- "writeback-summary": { filename: "WRITEBACK-SUMMARY.json", type: "json" },
39
- "collation-summary": { filename: "COLLATION-SUMMARY.json", type: "json" },
40
- };
41
- const ARTIFACT_NAMES = Object.keys(ARTIFACT_CATALOG).sort();
42
- // ── Summary JSON validation ─────────────────────────────────────────────────
43
- const SUMMARY_REQUIRED = ["objective", "key_changes", "verdict", "written_at"];
44
- function validateSummaryJson(content) {
45
- let obj;
46
- try {
47
- obj = JSON.parse(content);
48
- }
49
- catch (e) {
50
- return `Invalid JSON: ${e.message}`;
51
- }
52
- const missing = SUMMARY_REQUIRED.filter((f) => !(f in obj));
53
- if (missing.length > 0)
54
- return `Missing required fields: ${missing.join(", ")}`;
55
- if (typeof obj.objective !== "string")
56
- return `"objective" must be a string`;
57
- if (!Array.isArray(obj.key_changes))
58
- return `"key_changes" must be an array`;
59
- if (typeof obj.verdict !== "string")
60
- return `"verdict" must be a string`;
61
- if (typeof obj.written_at !== "string")
62
- return `"written_at" must be a string`;
63
- return null;
64
- }
65
- // ── Entity path resolution ──────────────────────────────────────────────────
66
- /**
67
- * Test override for readStorePath — allows unit tests to inject a mock
68
- * without touching node:child_process. Reset to {} after each test.
69
- */
70
- export const _testOverrides = {};
71
- /** Read a store record via store-cli and return its `path` field, or null on failure. */
72
- function readStorePath(entity, entityId, toolDir, projectRoot) {
73
- // Test injection: if a mock is set, use it directly.
74
- if (_testOverrides.readStorePath) {
75
- return _testOverrides.readStorePath(entity, entityId, toolDir, projectRoot);
76
- }
77
- const cliPath = path.join(toolDir, "store-cli.cjs");
78
- try {
79
- const result = execFileSync("node", [cliPath, "read", entity, entityId, "--json"], {
80
- cwd: projectRoot,
81
- encoding: "utf8",
82
- timeout: 10_000,
83
- });
84
- const record = JSON.parse(result);
85
- if (typeof record.path === "string" && record.path.length > 0) {
86
- return record.path;
87
- }
88
- }
89
- catch {
90
- // Store unavailable or record not found — fall through to ID-only resolution.
91
- }
92
- return null;
93
- }
94
- /**
95
- * Resolve entity directory using the store record's `path` field when available,
96
- * falling back to ID-only construction for tasks (sprint dir derived from
97
- * sprint record path or sprint ID) and sprints/bugs (direct ID).
98
- *
99
- * forge-cli#33: the store record is the canonical source for entity directory
100
- * paths — slug-suffixed directories like `BUG-001-sprint-runner-context-accumulation`
101
- * cannot be derived from the entity ID alone.
102
- */
103
- function resolveEntityDir(entity, entityId, engineeringPath, toolDir, projectRoot) {
104
- switch (entity) {
105
- case "bug": {
106
- // Read bug record's path field — canonical source for slug-suffixed dirs.
107
- const storePath = readStorePath("bug", entityId, toolDir, projectRoot);
108
- if (storePath)
109
- return storePath;
110
- // Fallback: ID-only construction.
111
- return path.join(engineeringPath, "bugs", entityId);
112
- }
113
- case "sprint": {
114
- const storePath = readStorePath("sprint", entityId, toolDir, projectRoot);
115
- if (storePath)
116
- return storePath;
117
- return path.join(engineeringPath, "sprints", entityId);
118
- }
119
- case "task": {
120
- // For tasks, the path includes the sprint directory (which may have
121
- // a slug suffix). Read the task record's path field.
122
- const storePath = readStorePath("task", entityId, toolDir, projectRoot);
123
- if (storePath)
124
- return storePath;
125
- // Fallback: derive from sprint prefix. Try sprint record for slug.
126
- const match = entityId.match(/^(.+-S\d+)-T\d+$/);
127
- if (!match)
128
- return null;
129
- const sprintId = match[1];
130
- const sprintPath = readStorePath("sprint", sprintId, toolDir, projectRoot);
131
- if (sprintPath) {
132
- return path.join(sprintPath, entityId);
133
- }
134
- // Last resort: ID-only construction.
135
- return path.join(engineeringPath, "sprints", sprintId, entityId);
136
- }
137
- default:
138
- return null;
139
- }
140
- }
17
+ import { compressMarkdown, countTokens } from "@entelligentsia/forge-compress";
18
+ import { runCjs as defaultRunCjs } from "./forge-tools.js";
19
+ // ── Artifact name list (for parameter description only — logic lives in plugin) ──
20
+ const ARTIFACT_NAMES = [
21
+ "plan",
22
+ "plan-review",
23
+ "progress",
24
+ "code-review",
25
+ "validation-report",
26
+ "architect-approval",
27
+ "triage",
28
+ "bug-report",
29
+ "index",
30
+ "cost-report",
31
+ "timesheet",
32
+ "plan-summary",
33
+ "review-plan-summary",
34
+ "implementation-summary",
35
+ "review-code-summary",
36
+ "review-impl-summary",
37
+ "validation-summary",
38
+ "approve-summary",
39
+ "commit-summary",
40
+ "triage-summary",
41
+ "writeback-summary",
42
+ "collation-summary",
43
+ ].sort();
44
+ const ARTIFACT_NAME_LIST = ARTIFACT_NAMES.join(", ");
45
+ const INLINE_CONTENT_LIMIT = 64 * 1024; // 64KB
141
46
  // ── Tool builder ────────────────────────────────────────────────────────────
142
- export function buildForgeArtifact(projectRoot, engineeringPath, toolDir) {
143
- const artifactNameList = ARTIFACT_NAMES.join(", ");
47
+ export function buildForgeArtifact(projectRoot, _engineeringPath, toolDir, _runCjsOverride) {
48
+ const toolPath = path.join(toolDir, "artifact.cjs");
49
+ const runCjs = _runCjsOverride ?? defaultRunCjs;
144
50
  return {
145
51
  name: "forge_artifact",
146
52
  label: "Forge Artifact",
147
53
  description: "Read, write, or list phase artifacts (PLAN.md, PROGRESS.md, *-SUMMARY.json, etc.) " +
148
54
  "for a task, bug, or sprint. Resolves paths automatically from entity ID — never " +
149
55
  "construct artifact paths manually.\n\n" +
150
- `Known artifacts: ${artifactNameList}.\n\n` +
56
+ `Known artifacts: ${ARTIFACT_NAME_LIST}.\n\n` +
151
57
  "JSON summary artifacts are validated on write (objective, key_changes, verdict, written_at required). " +
152
58
  "Use 'list' to see which artifacts already exist for an entity.",
153
59
  promptSnippet: "Use forge_artifact to read/write phase outputs (PLAN.md, PROGRESS.md, *-SUMMARY.json). " +
@@ -163,86 +69,77 @@ export function buildForgeArtifact(projectRoot, engineeringPath, toolDir) {
163
69
  description: "Entity ID (e.g. HELLO-S99-T02, HELLO-B01-shout-flag, HELLO-S99).",
164
70
  }),
165
71
  artifact: Type.Optional(Type.String({
166
- description: `Artifact name (required for read/write). One of: ${artifactNameList}.`,
72
+ description: `Artifact name (required for read/write). One of: ${ARTIFACT_NAME_LIST}.`,
167
73
  })),
168
74
  content: Type.Optional(Type.String({
169
75
  description: "Content to write (required for write command).",
170
76
  })),
171
77
  }),
172
- async execute(_toolCallId, _params) {
78
+ async execute(_toolCallId, _params, signal) {
173
79
  const params = _params;
174
- const entityDir = resolveEntityDir(params.entity, params.entityId, engineeringPath, toolDir, projectRoot);
175
- if (!entityDir) {
176
- return errResult(`Cannot resolve ${params.entity} directory for "${params.entityId}". ` +
177
- `Expected ID pattern: task=PREFIX-SNN-TNN, bug=PREFIX-BNN-slug, sprint=PREFIX-SNN.`);
178
- }
179
- const absDir = path.resolve(projectRoot, entityDir);
180
- if (params.command === "list") {
181
- if (!fs.existsSync(absDir)) {
182
- return okResult(`No artifacts found — directory does not exist: ${entityDir}/`);
80
+ let tmpFile = null;
81
+ try {
82
+ const argv = [params.command, params.entity, params.entityId];
83
+ if (params.command !== "list") {
84
+ if (!params.artifact) {
85
+ return errResult(`"artifact" is required for ${params.command}. Known: ${ARTIFACT_NAME_LIST}`);
86
+ }
87
+ argv.push(params.artifact);
183
88
  }
184
- const files = fs.readdirSync(absDir).filter((f) => f.endsWith(".md") || f.endsWith(".json"));
185
- const known = [];
186
- const other = [];
187
- for (const f of files) {
188
- const catalogEntry = Object.entries(ARTIFACT_CATALOG).find(([, v]) => v.filename === f);
189
- if (catalogEntry) {
190
- known.push(` ${catalogEntry[0]} ${f}`);
89
+ if (params.command === "write") {
90
+ if (!params.content) {
91
+ return errResult(`"content" is required for write.`);
92
+ }
93
+ const bytes = Buffer.byteLength(params.content, "utf8");
94
+ if (bytes >= INLINE_CONTENT_LIMIT) {
95
+ // Write to a temp file and pass @<path>
96
+ tmpFile = path.join(os.tmpdir(), `forge-artifact-${Date.now()}-${process.pid}.tmp`);
97
+ fs.writeFileSync(tmpFile, params.content, "utf8");
98
+ argv.push(`@${tmpFile}`);
191
99
  }
192
100
  else {
193
- other.push(` (unlisted) ${f}`);
101
+ argv.push(params.content);
194
102
  }
195
103
  }
196
- const lines = [`Artifacts in ${entityDir}/:`];
197
- if (known.length > 0)
198
- lines.push(...known);
199
- if (other.length > 0)
200
- lines.push(...other);
201
- if (known.length === 0 && other.length === 0)
202
- lines.push(" (empty)");
203
- return okResult(lines.join("\n"));
204
- }
205
- if (!params.artifact) {
206
- return errResult(`"artifact" is required for ${params.command}. Known: ${artifactNameList}`);
207
- }
208
- const catalogEntry = ARTIFACT_CATALOG[params.artifact];
209
- if (!catalogEntry) {
210
- const suggestions = ARTIFACT_NAMES.filter((n) => n.includes(params.artifact.toLowerCase()));
211
- return errResult(`Unknown artifact "${params.artifact}". Known: ${artifactNameList}.` +
212
- (suggestions.length > 0 ? ` Did you mean: ${suggestions.join(", ")}?` : ""));
213
- }
214
- const filePath = path.join(absDir, catalogEntry.filename);
215
- if (params.command === "read") {
216
- if (!fs.existsSync(filePath)) {
217
- return errResult(`Artifact not found: ${path.join(entityDir, catalogEntry.filename)}`);
104
+ const { stdout, stderr } = await runCjs(toolPath, argv, signal, 10_000, projectRoot);
105
+ if (stderr && stderr.trim()) {
106
+ return errResult(stderr.trim());
218
107
  }
219
- const content = fs.readFileSync(filePath, "utf8");
220
- return okResult(content);
221
- }
222
- if (params.command === "write") {
223
- if (!params.content) {
224
- return errResult(`"content" is required for write.`);
108
+ const output = stdout.trim() || "OK";
109
+ if (params.command === "read" && params.artifact && !params.artifact.endsWith("-summary")) {
110
+ const before = countTokens(output);
111
+ const compressed = compressMarkdown(output, { mode: "map" });
112
+ const after = countTokens(compressed);
113
+ if (after < before) {
114
+ const saved = Math.round((1 - after / before) * 100);
115
+ process.stderr.write(`\x1b[2m[forge-compress] artifact:read ${before}→${after} tok (${saved}% saved)\x1b[0m\n`);
116
+ return okResult(compressed, { tool: "artifact:read", before, after, saved });
117
+ }
225
118
  }
226
- if (catalogEntry.type === "json") {
227
- const validationError = validateSummaryJson(params.content);
228
- if (validationError) {
229
- return errResult(`Summary validation failed for ${catalogEntry.filename}: ${validationError}. ` +
230
- `Required fields: ${SUMMARY_REQUIRED.join(", ")}.`);
119
+ return okResult(output);
120
+ }
121
+ catch (err) {
122
+ const e = err;
123
+ return errResult(`forge_artifact failed: ${e.message ?? "unknown error"}`);
124
+ }
125
+ finally {
126
+ if (tmpFile) {
127
+ try {
128
+ fs.unlinkSync(tmpFile);
129
+ }
130
+ catch {
131
+ /* best-effort cleanup */
231
132
  }
232
133
  }
233
- fs.mkdirSync(absDir, { recursive: true });
234
- fs.writeFileSync(filePath, params.content, "utf8");
235
- return okResult(`Wrote ${Buffer.byteLength(params.content, "utf8")} bytes to ${path.join(entityDir, catalogEntry.filename)}`);
236
134
  }
237
- return errResult(`Unknown command: ${params.command}`);
238
135
  },
239
136
  };
240
137
  }
241
- // ── Result helpers (same pattern as forge-tools.ts) ─────────────────────────
242
- function okResult(text) {
138
+ // ── Result helpers ────────────────────────────────────────────────────────────
139
+ function okResult(text, compression) {
243
140
  return {
244
141
  content: [{ type: "text", text: text || "OK" }],
245
- details: {},
142
+ details: compression ? { compression } : {},
246
143
  };
247
144
  }
248
145
  function errResult(text) {