@entelligentsia/forgecli 1.0.36 → 1.0.40

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 (654) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/CHANGELOG-forge-plugin.md +101 -0
  3. package/dist/CHANGELOG-pi.md +143 -0
  4. package/dist/bin/argv.d.ts +1 -1
  5. package/dist/bin/argv.js +12 -0
  6. package/dist/bin/argv.js.map +1 -1
  7. package/dist/bin/forge.js +18 -16
  8. package/dist/bin/forge.js.map +1 -1
  9. package/dist/bin/reset.d.ts +39 -0
  10. package/dist/bin/reset.js +101 -0
  11. package/dist/bin/reset.js.map +1 -0
  12. package/dist/extensions/forgecli/claude-bootstrap/bootstrap.js +56 -265
  13. package/dist/extensions/forgecli/claude-bootstrap/bootstrap.js.map +1 -1
  14. package/dist/extensions/forgecli/claude-bootstrap/uninstall.js +52 -32
  15. package/dist/extensions/forgecli/claude-bootstrap/uninstall.js.map +1 -1
  16. package/dist/extensions/forgecli/commands/reset.d.ts +16 -0
  17. package/dist/extensions/forgecli/commands/reset.js +83 -0
  18. package/dist/extensions/forgecli/commands/reset.js.map +1 -0
  19. package/dist/extensions/forgecli/forge-commands.d.ts +7 -2
  20. package/dist/extensions/forgecli/forge-commands.js +19 -5
  21. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  22. package/dist/extensions/forgecli/forge-subagent.d.ts +4 -4
  23. package/dist/extensions/forgecli/hooks/forge-permissions.js +20 -6
  24. package/dist/extensions/forgecli/hooks/forge-permissions.js.map +1 -1
  25. package/dist/extensions/forgecli/index.js +6 -3
  26. package/dist/extensions/forgecli/index.js.map +1 -1
  27. package/dist/extensions/forgecli/lib/forge-root.d.ts +6 -0
  28. package/dist/extensions/forgecli/lib/forge-root.js +52 -0
  29. package/dist/extensions/forgecli/lib/forge-root.js.map +1 -1
  30. package/dist/extensions/forgecli/lib/payload-manifest.d.ts +62 -0
  31. package/dist/extensions/forgecli/lib/payload-manifest.js +151 -0
  32. package/dist/extensions/forgecli/lib/payload-manifest.js.map +1 -0
  33. package/dist/extensions/forgecli/orchestrators/advisory-render.d.ts +9 -0
  34. package/dist/extensions/forgecli/orchestrators/advisory-render.js +107 -0
  35. package/dist/extensions/forgecli/orchestrators/advisory-render.js.map +1 -0
  36. package/dist/extensions/forgecli/orchestrators/bug/bug-phases.d.ts +3 -0
  37. package/dist/extensions/forgecli/orchestrators/bug/bug-phases.js +22 -0
  38. package/dist/extensions/forgecli/orchestrators/bug/bug-phases.js.map +1 -1
  39. package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.d.ts +1 -1
  40. package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.js +34 -2
  41. package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.js.map +1 -1
  42. package/dist/extensions/forgecli/orchestrators/bug/run-bug-pipeline.js +2 -2
  43. package/dist/extensions/forgecli/orchestrators/bug/run-bug-pipeline.js.map +1 -1
  44. package/dist/extensions/forgecli/orchestrators/common/recovery-menu.d.ts +24 -0
  45. package/dist/extensions/forgecli/orchestrators/common/recovery-menu.js +58 -0
  46. package/dist/extensions/forgecli/orchestrators/common/recovery-menu.js.map +1 -0
  47. package/dist/extensions/forgecli/orchestrators/common/reset-pipeline.d.ts +53 -0
  48. package/dist/extensions/forgecli/orchestrators/common/reset-pipeline.js +131 -0
  49. package/dist/extensions/forgecli/orchestrators/common/reset-pipeline.js.map +1 -0
  50. package/dist/extensions/forgecli/orchestrators/halt-advisor.js +25 -3
  51. package/dist/extensions/forgecli/orchestrators/halt-advisor.js.map +1 -1
  52. package/dist/extensions/forgecli/orchestrators/task/run-task-pipeline.js +3 -3
  53. package/dist/extensions/forgecli/orchestrators/task/run-task-pipeline.js.map +1 -1
  54. package/dist/extensions/forgecli/orchestrators/task/task-phases.d.ts +3 -0
  55. package/dist/extensions/forgecli/orchestrators/task/task-phases.js +22 -0
  56. package/dist/extensions/forgecli/orchestrators/task/task-phases.js.map +1 -1
  57. package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.d.ts +1 -1
  58. package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.js +37 -2
  59. package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.js.map +1 -1
  60. package/dist/extensions/forgecli/store/store-resolver.d.ts +15 -0
  61. package/dist/extensions/forgecli/store/store-resolver.js +118 -18
  62. package/dist/extensions/forgecli/store/store-resolver.js.map +1 -1
  63. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  64. package/dist/forge-payload/.schemas/enum-catalog.json +2 -2
  65. package/dist/forge-payload/.schemas/migrations.json +85 -0
  66. package/dist/forge-payload/.schemas/payload-manifest.schema.json +100 -0
  67. package/dist/forge-payload/commands/check-agent.md +7 -23
  68. package/dist/forge-payload/commands/enhance.md +31 -5
  69. package/dist/forge-payload/commands/init.md +161 -97
  70. package/dist/forge-payload/commands/reset.md +117 -0
  71. package/dist/forge-payload/hooks/forge-permissions.cjs +29 -6
  72. package/dist/forge-payload/init/phases/phase-3-materialize.md +5 -1
  73. package/dist/forge-payload/integrity.json +22 -7
  74. package/dist/forge-payload/payload-manifest.json +314 -0
  75. package/dist/forge-payload/schemas/enum-catalog.json +2 -2
  76. package/dist/forge-payload/schemas/payload-manifest.schema.json +100 -0
  77. package/dist/forge-payload/schemas/structure-manifest.json +4 -2
  78. package/dist/forge-payload/tools/reset-plan.cjs +210 -0
  79. package/dist/forge-payload/tools/store.cjs +4 -1
  80. package/dist/forge-payload/tools/substitute-placeholders.cjs +10 -2
  81. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  82. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +8 -0
  83. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  84. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +1 -1
  85. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  86. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +1 -1
  87. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  88. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts +4 -0
  89. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts.map +1 -0
  90. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +3 -0
  91. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js.map +1 -0
  92. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts +20 -0
  93. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts.map +1 -0
  94. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +92 -0
  95. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js.map +1 -0
  96. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts +18 -0
  97. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts.map +1 -0
  98. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +42 -0
  99. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js.map +1 -0
  100. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts +10 -0
  101. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts.map +1 -0
  102. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +31 -0
  103. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js.map +1 -0
  104. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts +30 -0
  105. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts.map +1 -0
  106. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +170 -0
  107. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js.map +1 -0
  108. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts +26 -0
  109. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts.map +1 -0
  110. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +90 -0
  111. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js.map +1 -0
  112. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +6 -1
  113. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  114. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  115. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  116. package/node_modules/@earendil-works/pi-ai/README.md +12 -4
  117. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  118. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +3 -0
  119. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  120. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +45 -0
  121. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  122. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +45 -0
  123. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  124. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +1804 -815
  125. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  126. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +2031 -1384
  127. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  128. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  129. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +71 -27
  130. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  131. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +1 -1
  132. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  133. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +24 -16
  134. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  135. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  136. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +1 -0
  137. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  138. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  139. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +3 -1
  140. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  141. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  142. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +35 -13
  143. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  144. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
  145. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +2 -1
  146. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
  147. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  148. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +1 -0
  149. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  150. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +12 -4
  151. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  152. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  153. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  154. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +13 -1
  155. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  156. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  157. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +4 -2
  158. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
  159. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +1 -1
  160. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  161. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +3 -2
  162. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  163. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  164. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +143 -0
  165. package/node_modules/@earendil-works/pi-coding-agent/README.md +26 -4
  166. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +1 -0
  167. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
  168. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js +11 -0
  169. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
  170. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/project-trust.d.ts +10 -0
  171. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/project-trust.d.ts.map +1 -0
  172. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/project-trust.js +48 -0
  173. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/project-trust.js.map +1 -0
  174. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts +17 -0
  175. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts.map +1 -0
  176. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js +128 -0
  177. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js.map +1 -0
  178. package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
  179. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +9 -1
  180. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
  181. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.d.ts +3 -1
  182. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.d.ts.map +1 -1
  183. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js +4 -1
  184. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js.map +1 -1
  185. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts +2 -1
  186. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts.map +1 -1
  187. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +2 -2
  188. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js.map +1 -1
  189. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +4 -1
  190. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  191. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +16 -3
  192. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  193. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  194. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +4 -3
  195. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  196. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts +3 -1
  197. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  198. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js +9 -3
  199. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js.map +1 -1
  200. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/utils.d.ts +1 -1
  201. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/utils.d.ts.map +1 -1
  202. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/utils.js +1 -1
  203. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/utils.js.map +1 -1
  204. package/node_modules/@earendil-works/pi-coding-agent/dist/core/experimental.d.ts +2 -0
  205. package/node_modules/@earendil-works/pi-coding-agent/dist/core/experimental.d.ts.map +1 -0
  206. package/node_modules/@earendil-works/pi-coding-agent/dist/core/experimental.js +4 -0
  207. package/node_modules/@earendil-works/pi-coding-agent/dist/core/experimental.js.map +1 -0
  208. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/template.js +19 -6
  209. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts +1 -1
  210. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
  211. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
  212. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts +1 -1
  213. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
  214. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +4 -4
  215. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
  216. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +10 -3
  217. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  218. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +47 -1
  219. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  220. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +28 -2
  221. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  222. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  223. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.d.ts +2 -0
  224. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.d.ts.map +1 -1
  225. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.js +29 -1
  226. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.js.map +1 -1
  227. package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.d.ts +1 -0
  228. package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.d.ts.map +1 -1
  229. package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.js +1 -0
  230. package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.js.map +1 -1
  231. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  232. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +1 -0
  233. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  234. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts +1 -0
  235. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  236. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +44 -5
  237. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  238. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts +3 -0
  239. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
  240. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +47 -13
  241. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
  242. package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.d.ts +15 -0
  243. package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.d.ts.map +1 -0
  244. package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.js +58 -0
  245. package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.js.map +1 -0
  246. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.d.ts +2 -1
  247. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.d.ts.map +1 -1
  248. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js +24 -26
  249. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js.map +1 -1
  250. package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.d.ts +4 -0
  251. package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.d.ts.map +1 -0
  252. package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.js +72 -0
  253. package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.js.map +1 -0
  254. package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-display-names.d.ts.map +1 -1
  255. package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-display-names.js +3 -0
  256. package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-display-names.js.map +1 -1
  257. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts +13 -2
  258. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
  259. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +112 -37
  260. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
  261. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  262. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +7 -33
  263. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js.map +1 -1
  264. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
  265. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +103 -70
  266. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
  267. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +20 -2
  268. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  269. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +97 -30
  270. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  271. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.d.ts.map +1 -1
  272. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js +1 -0
  273. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js.map +1 -1
  274. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  275. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +1 -1
  276. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  277. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  278. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js +1 -1
  279. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  280. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
  281. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js +1 -1
  282. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
  283. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
  284. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +1 -1
  285. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
  286. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
  287. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +1 -1
  288. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
  289. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
  290. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +1 -1
  291. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
  292. package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.d.ts +36 -0
  293. package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.d.ts.map +1 -0
  294. package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.js +202 -0
  295. package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.js.map +1 -0
  296. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +5 -4
  297. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
  298. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -1
  299. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
  300. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
  301. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +72 -32
  302. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
  303. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.d.ts.map +1 -1
  304. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js +39 -34
  305. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js.map +1 -1
  306. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts +1 -1
  307. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts.map +1 -1
  308. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.js.map +1 -1
  309. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  310. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.js +2 -2
  311. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.js.map +1 -1
  312. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  313. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  314. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/first-time-setup.js +103 -0
  315. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  316. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
  317. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js +7 -0
  318. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
  319. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.d.ts +2 -0
  320. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.d.ts.map +1 -1
  321. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.js +2 -0
  322. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.js.map +1 -1
  323. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +1 -1
  324. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  325. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +10 -13
  326. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
  327. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +3 -1
  328. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  329. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +20 -0
  330. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
  331. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  332. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +22 -0
  333. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  334. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  335. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
  336. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/trust-selector.js +91 -0
  337. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/trust-selector.js.map +1 -0
  338. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +7 -0
  339. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  340. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +101 -5
  341. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  342. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.d.ts.map +1 -1
  343. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.js +1 -0
  344. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.js.map +1 -1
  345. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  346. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +1 -0
  347. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  348. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts +6 -2
  349. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts.map +1 -1
  350. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +111 -10
  351. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js.map +1 -1
  352. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts +1 -0
  353. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts.map +1 -1
  354. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.js +78 -0
  355. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.js.map +1 -1
  356. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/git.d.ts.map +1 -1
  357. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/git.js +54 -22
  358. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/git.js.map +1 -1
  359. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/open-browser.d.ts +9 -0
  360. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/open-browser.d.ts.map +1 -0
  361. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/open-browser.js +22 -0
  362. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/open-browser.js.map +1 -0
  363. package/node_modules/@earendil-works/pi-coding-agent/docs/containerization.md +111 -0
  364. package/node_modules/@earendil-works/pi-coding-agent/docs/docs.json +8 -0
  365. package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +67 -13
  366. package/node_modules/@earendil-works/pi-coding-agent/docs/index.md +2 -0
  367. package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +4 -3
  368. package/node_modules/@earendil-works/pi-coding-agent/docs/packages.md +1 -1
  369. package/node_modules/@earendil-works/pi-coding-agent/docs/prompt-templates.md +9 -2
  370. package/node_modules/@earendil-works/pi-coding-agent/docs/providers.md +5 -0
  371. package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +1 -1
  372. package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +5 -0
  373. package/node_modules/@earendil-works/pi-coding-agent/docs/security.md +59 -0
  374. package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +15 -0
  375. package/node_modules/@earendil-works/pi-coding-agent/docs/skills.md +1 -1
  376. package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +36 -2
  377. package/node_modules/@earendil-works/pi-coding-agent/docs/themes.md +1 -1
  378. package/node_modules/@earendil-works/pi-coding-agent/docs/tmux.md +4 -2
  379. package/node_modules/@earendil-works/pi-coding-agent/docs/tui.md +10 -1
  380. package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +19 -2
  381. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/README.md +2 -0
  382. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-header.ts +1 -1
  383. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  384. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  385. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/doom-overlay/index.ts +1 -1
  386. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/index.ts +531 -0
  387. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package-lock.json +185 -0
  388. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package.json +19 -0
  389. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/handoff.ts +1 -1
  390. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/interactive-shell.ts +1 -1
  391. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/overlay-qa-tests.ts +152 -81
  392. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/project-trust.ts +64 -0
  393. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/qna.ts +1 -1
  394. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/question.ts +1 -1
  395. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/questionnaire.ts +1 -1
  396. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  397. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/snake.ts +1 -1
  398. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/space-invaders.ts +1 -1
  399. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/summarize.ts +1 -1
  400. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/tic-tac-toe.ts +1 -1
  401. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/todo.ts +1 -1
  402. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/tools.ts +5 -0
  403. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  404. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +12 -419
  405. package/node_modules/@earendil-works/pi-coding-agent/package.json +5 -8
  406. package/node_modules/@earendil-works/pi-tui/README.md +13 -1
  407. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +2 -0
  408. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  409. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  410. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +6 -1
  411. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  412. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +102 -43
  413. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  414. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +2 -1
  415. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  416. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +11 -1
  417. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  418. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts +1 -1
  419. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts.map +1 -1
  420. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js +2 -2
  421. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js.map +1 -1
  422. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
  423. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  424. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  425. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +4 -7
  426. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  427. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +38 -77
  428. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  429. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +20 -4
  430. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  431. package/node_modules/@earendil-works/pi-tui/dist/tui.js +244 -42
  432. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  433. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +1 -0
  434. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
  435. package/node_modules/@earendil-works/pi-tui/dist/utils.js +46 -15
  436. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  437. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  438. package/node_modules/@mariozechner/clipboard/package.json +2 -1
  439. package/node_modules/@mariozechner/clipboard-linux-x64-musl/README.md +3 -0
  440. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +25 -0
  441. package/package.json +7 -6
  442. package/dist/extensions/forgecli/add-pipeline.d.ts +0 -19
  443. package/dist/extensions/forgecli/add-pipeline.js +0 -143
  444. package/dist/extensions/forgecli/add-pipeline.js.map +0 -1
  445. package/dist/extensions/forgecli/add-task.d.ts +0 -20
  446. package/dist/extensions/forgecli/add-task.js +0 -154
  447. package/dist/extensions/forgecli/add-task.js.map +0 -1
  448. package/dist/extensions/forgecli/approve.d.ts +0 -22
  449. package/dist/extensions/forgecli/approve.js +0 -152
  450. package/dist/extensions/forgecli/approve.js.map +0 -1
  451. package/dist/extensions/forgecli/banner.d.ts +0 -10
  452. package/dist/extensions/forgecli/banner.js +0 -36
  453. package/dist/extensions/forgecli/banner.js.map +0 -1
  454. package/dist/extensions/forgecli/calibrate.d.ts +0 -64
  455. package/dist/extensions/forgecli/calibrate.js +0 -481
  456. package/dist/extensions/forgecli/calibrate.js.map +0 -1
  457. package/dist/extensions/forgecli/collate.d.ts +0 -22
  458. package/dist/extensions/forgecli/collate.js +0 -134
  459. package/dist/extensions/forgecli/collate.js.map +0 -1
  460. package/dist/extensions/forgecli/commit.d.ts +0 -22
  461. package/dist/extensions/forgecli/commit.js +0 -152
  462. package/dist/extensions/forgecli/commit.js.map +0 -1
  463. package/dist/extensions/forgecli/config-command.d.ts +0 -8
  464. package/dist/extensions/forgecli/config-command.js +0 -67
  465. package/dist/extensions/forgecli/config-command.js.map +0 -1
  466. package/dist/extensions/forgecli/config-layer.d.ts +0 -53
  467. package/dist/extensions/forgecli/config-layer.js +0 -72
  468. package/dist/extensions/forgecli/config-layer.js.map +0 -1
  469. package/dist/extensions/forgecli/config-writer.d.ts +0 -16
  470. package/dist/extensions/forgecli/config-writer.js +0 -69
  471. package/dist/extensions/forgecli/config-writer.js.map +0 -1
  472. package/dist/extensions/forgecli/enhance.d.ts +0 -27
  473. package/dist/extensions/forgecli/enhance.js +0 -199
  474. package/dist/extensions/forgecli/enhance.js.map +0 -1
  475. package/dist/extensions/forgecli/fix-bug.d.ts +0 -85
  476. package/dist/extensions/forgecli/fix-bug.js +0 -1580
  477. package/dist/extensions/forgecli/fix-bug.js.map +0 -1
  478. package/dist/extensions/forgecli/forge-header.d.ts +0 -12
  479. package/dist/extensions/forgecli/forge-header.js +0 -114
  480. package/dist/extensions/forgecli/forge-header.js.map +0 -1
  481. package/dist/extensions/forgecli/forge-init.d.ts +0 -26
  482. package/dist/extensions/forgecli/forge-init.js +0 -514
  483. package/dist/extensions/forgecli/forge-init.js.map +0 -1
  484. package/dist/extensions/forgecli/forge-root.d.ts +0 -10
  485. package/dist/extensions/forgecli/forge-root.js +0 -62
  486. package/dist/extensions/forgecli/forge-root.js.map +0 -1
  487. package/dist/extensions/forgecli/forge-update-command.d.ts +0 -100
  488. package/dist/extensions/forgecli/forge-update-command.js +0 -435
  489. package/dist/extensions/forgecli/forge-update-command.js.map +0 -1
  490. package/dist/extensions/forgecli/friction-emit.d.ts +0 -99
  491. package/dist/extensions/forgecli/friction-emit.js +0 -245
  492. package/dist/extensions/forgecli/friction-emit.js.map +0 -1
  493. package/dist/extensions/forgecli/implement.d.ts +0 -22
  494. package/dist/extensions/forgecli/implement.js +0 -170
  495. package/dist/extensions/forgecli/implement.js.map +0 -1
  496. package/dist/extensions/forgecli/init-context.d.ts +0 -99
  497. package/dist/extensions/forgecli/init-context.js +0 -178
  498. package/dist/extensions/forgecli/init-context.js.map +0 -1
  499. package/dist/extensions/forgecli/init-progress.d.ts +0 -39
  500. package/dist/extensions/forgecli/init-progress.js +0 -117
  501. package/dist/extensions/forgecli/init-progress.js.map +0 -1
  502. package/dist/extensions/forgecli/input-router.d.ts +0 -33
  503. package/dist/extensions/forgecli/input-router.js +0 -136
  504. package/dist/extensions/forgecli/input-router.js.map +0 -1
  505. package/dist/extensions/forgecli/lib/halt-advisor.d.ts +0 -59
  506. package/dist/extensions/forgecli/lib/halt-advisor.js +0 -113
  507. package/dist/extensions/forgecli/lib/halt-advisor.js.map +0 -1
  508. package/dist/extensions/forgecli/lib/orchestrator-preflight.d.ts +0 -46
  509. package/dist/extensions/forgecli/lib/orchestrator-preflight.js +0 -64
  510. package/dist/extensions/forgecli/lib/orchestrator-preflight.js.map +0 -1
  511. package/dist/extensions/forgecli/materialize.d.ts +0 -16
  512. package/dist/extensions/forgecli/materialize.js +0 -195
  513. package/dist/extensions/forgecli/materialize.js.map +0 -1
  514. package/dist/extensions/forgecli/migrate.d.ts +0 -22
  515. package/dist/extensions/forgecli/migrate.js +0 -260
  516. package/dist/extensions/forgecli/migrate.js.map +0 -1
  517. package/dist/extensions/forgecli/migration-engine.d.ts +0 -117
  518. package/dist/extensions/forgecli/migration-engine.js +0 -563
  519. package/dist/extensions/forgecli/migration-engine.js.map +0 -1
  520. package/dist/extensions/forgecli/model-registry.d.ts +0 -61
  521. package/dist/extensions/forgecli/model-registry.js +0 -127
  522. package/dist/extensions/forgecli/model-registry.js.map +0 -1
  523. package/dist/extensions/forgecli/model-resolver.d.ts +0 -32
  524. package/dist/extensions/forgecli/model-resolver.js +0 -65
  525. package/dist/extensions/forgecli/model-resolver.js.map +0 -1
  526. package/dist/extensions/forgecli/model-validator.d.ts +0 -29
  527. package/dist/extensions/forgecli/model-validator.js +0 -107
  528. package/dist/extensions/forgecli/model-validator.js.map +0 -1
  529. package/dist/extensions/forgecli/orchestrator-status-bar.d.ts +0 -26
  530. package/dist/extensions/forgecli/orchestrator-status-bar.js +0 -213
  531. package/dist/extensions/forgecli/orchestrator-status-bar.js.map +0 -1
  532. package/dist/extensions/forgecli/plan.d.ts +0 -22
  533. package/dist/extensions/forgecli/plan.js +0 -167
  534. package/dist/extensions/forgecli/plan.js.map +0 -1
  535. package/dist/extensions/forgecli/quiz-agent.d.ts +0 -17
  536. package/dist/extensions/forgecli/quiz-agent.js +0 -98
  537. package/dist/extensions/forgecli/quiz-agent.js.map +0 -1
  538. package/dist/extensions/forgecli/read-command.d.ts +0 -2
  539. package/dist/extensions/forgecli/read-command.js +0 -100
  540. package/dist/extensions/forgecli/read-command.js.map +0 -1
  541. package/dist/extensions/forgecli/regenerate.d.ts +0 -40
  542. package/dist/extensions/forgecli/regenerate.js +0 -438
  543. package/dist/extensions/forgecli/regenerate.js.map +0 -1
  544. package/dist/extensions/forgecli/remove-command.d.ts +0 -17
  545. package/dist/extensions/forgecli/remove-command.js +0 -124
  546. package/dist/extensions/forgecli/remove-command.js.map +0 -1
  547. package/dist/extensions/forgecli/report-bug.d.ts +0 -25
  548. package/dist/extensions/forgecli/report-bug.js +0 -159
  549. package/dist/extensions/forgecli/report-bug.js.map +0 -1
  550. package/dist/extensions/forgecli/retrospective.d.ts +0 -20
  551. package/dist/extensions/forgecli/retrospective.js +0 -126
  552. package/dist/extensions/forgecli/retrospective.js.map +0 -1
  553. package/dist/extensions/forgecli/review-code.d.ts +0 -35
  554. package/dist/extensions/forgecli/review-code.js +0 -196
  555. package/dist/extensions/forgecli/review-code.js.map +0 -1
  556. package/dist/extensions/forgecli/review-plan.d.ts +0 -35
  557. package/dist/extensions/forgecli/review-plan.js +0 -200
  558. package/dist/extensions/forgecli/review-plan.js.map +0 -1
  559. package/dist/extensions/forgecli/run-sprint.d.ts +0 -27
  560. package/dist/extensions/forgecli/run-sprint.js +0 -716
  561. package/dist/extensions/forgecli/run-sprint.js.map +0 -1
  562. package/dist/extensions/forgecli/run-task.d.ts +0 -204
  563. package/dist/extensions/forgecli/run-task.js +0 -1403
  564. package/dist/extensions/forgecli/run-task.js.map +0 -1
  565. package/dist/extensions/forgecli/skill-curation-flag.d.ts +0 -21
  566. package/dist/extensions/forgecli/skill-curation-flag.js +0 -71
  567. package/dist/extensions/forgecli/skill-curation-flag.js.map +0 -1
  568. package/dist/extensions/forgecli/skill-curator-subagent.d.ts +0 -102
  569. package/dist/extensions/forgecli/skill-curator-subagent.js +0 -339
  570. package/dist/extensions/forgecli/skill-curator-subagent.js.map +0 -1
  571. package/dist/extensions/forgecli/skill-retriever.d.ts +0 -84
  572. package/dist/extensions/forgecli/skill-retriever.js +0 -246
  573. package/dist/extensions/forgecli/skill-retriever.js.map +0 -1
  574. package/dist/extensions/forgecli/skill-usage-tracker.d.ts +0 -91
  575. package/dist/extensions/forgecli/skill-usage-tracker.js +0 -224
  576. package/dist/extensions/forgecli/skill-usage-tracker.js.map +0 -1
  577. package/dist/extensions/forgecli/sprint-intake.d.ts +0 -10
  578. package/dist/extensions/forgecli/sprint-intake.js +0 -91
  579. package/dist/extensions/forgecli/sprint-intake.js.map +0 -1
  580. package/dist/extensions/forgecli/sprint-plan.d.ts +0 -14
  581. package/dist/extensions/forgecli/sprint-plan.js +0 -122
  582. package/dist/extensions/forgecli/sprint-plan.js.map +0 -1
  583. package/dist/extensions/forgecli/status-command.d.ts +0 -19
  584. package/dist/extensions/forgecli/status-command.js +0 -140
  585. package/dist/extensions/forgecli/status-command.js.map +0 -1
  586. package/dist/extensions/forgecli/store-error-remediation.d.ts +0 -65
  587. package/dist/extensions/forgecli/store-error-remediation.js +0 -307
  588. package/dist/extensions/forgecli/store-error-remediation.js.map +0 -1
  589. package/dist/extensions/forgecli/store-query.d.ts +0 -22
  590. package/dist/extensions/forgecli/store-query.js +0 -107
  591. package/dist/extensions/forgecli/store-query.js.map +0 -1
  592. package/dist/extensions/forgecli/store-repair.d.ts +0 -17
  593. package/dist/extensions/forgecli/store-repair.js +0 -123
  594. package/dist/extensions/forgecli/store-repair.js.map +0 -1
  595. package/dist/extensions/forgecli/store-resolver.d.ts +0 -56
  596. package/dist/extensions/forgecli/store-resolver.js +0 -263
  597. package/dist/extensions/forgecli/store-resolver.js.map +0 -1
  598. package/dist/extensions/forgecli/store-validator.d.ts +0 -16
  599. package/dist/extensions/forgecli/store-validator.js +0 -32
  600. package/dist/extensions/forgecli/store-validator.js.map +0 -1
  601. package/dist/extensions/forgecli/test-orchestrate.d.ts +0 -2
  602. package/dist/extensions/forgecli/test-orchestrate.js +0 -182
  603. package/dist/extensions/forgecli/test-orchestrate.js.map +0 -1
  604. package/dist/extensions/forgecli/thread-switcher.d.ts +0 -5
  605. package/dist/extensions/forgecli/thread-switcher.js +0 -189
  606. package/dist/extensions/forgecli/thread-switcher.js.map +0 -1
  607. package/dist/extensions/forgecli/transition-guard.d.ts +0 -20
  608. package/dist/extensions/forgecli/transition-guard.js +0 -89
  609. package/dist/extensions/forgecli/transition-guard.js.map +0 -1
  610. package/dist/extensions/forgecli/update-check.d.ts +0 -37
  611. package/dist/extensions/forgecli/update-check.js +0 -185
  612. package/dist/extensions/forgecli/update-check.js.map +0 -1
  613. package/dist/extensions/forgecli/update-tools.d.ts +0 -23
  614. package/dist/extensions/forgecli/update-tools.js +0 -135
  615. package/dist/extensions/forgecli/update-tools.js.map +0 -1
  616. package/dist/extensions/forgecli/validate.d.ts +0 -22
  617. package/dist/extensions/forgecli/validate.js +0 -152
  618. package/dist/extensions/forgecli/validate.js.map +0 -1
  619. package/dist/extensions/forgecli/viewport-events.d.ts +0 -78
  620. package/dist/extensions/forgecli/viewport-events.js +0 -243
  621. package/dist/extensions/forgecli/viewport-events.js.map +0 -1
  622. package/dist/extensions/forgecli/viewport-renderer.d.ts +0 -83
  623. package/dist/extensions/forgecli/viewport-renderer.js +0 -233
  624. package/dist/extensions/forgecli/viewport-renderer.js.map +0 -1
  625. package/dist/extensions/forgecli/viewport-theme.d.ts +0 -11
  626. package/dist/extensions/forgecli/viewport-theme.js +0 -128
  627. package/dist/extensions/forgecli/viewport-theme.js.map +0 -1
  628. package/dist/extensions/forgecli/whats-new-widget.d.ts +0 -26
  629. package/dist/extensions/forgecli/whats-new-widget.js +0 -376
  630. package/dist/extensions/forgecli/whats-new-widget.js.map +0 -1
  631. package/dist/extensions/forgecli/whats-new.d.ts +0 -120
  632. package/dist/extensions/forgecli/whats-new.js +0 -470
  633. package/dist/extensions/forgecli/whats-new.js.map +0 -1
  634. package/dist/forge-payload/.base-pack/commands/check-agent.md +0 -22
  635. package/dist/forge-payload/.base-pack/commands/enhance.md +0 -37
  636. package/dist/forge-payload/.base-pack/commands/init.md +0 -278
  637. package/dist/forge-payload/init/generation/generate-knowledge-base.md +0 -56
  638. package/dist/forge-payload/init/generation/generate-personas.md +0 -54
  639. package/dist/forge-payload/init/generation/generate-skills.md +0 -36
  640. package/dist/forge-payload/init/generation/generate-templates.md +0 -39
  641. /package/dist/forge-payload/{.base-pack/commands → commands}/approve.md +0 -0
  642. /package/dist/forge-payload/{.base-pack/commands → commands}/collate.md +0 -0
  643. /package/dist/forge-payload/{.base-pack/commands → commands}/commit.md +0 -0
  644. /package/dist/forge-payload/{.base-pack/commands → commands}/fix-bug.md +0 -0
  645. /package/dist/forge-payload/{.base-pack/commands → commands}/implement.md +0 -0
  646. /package/dist/forge-payload/{.base-pack/commands → commands}/new-sprint.md +0 -0
  647. /package/dist/forge-payload/{.base-pack/commands → commands}/plan-sprint.md +0 -0
  648. /package/dist/forge-payload/{.base-pack/commands → commands}/plan.md +0 -0
  649. /package/dist/forge-payload/{.base-pack/commands → commands}/retro.md +0 -0
  650. /package/dist/forge-payload/{.base-pack/commands → commands}/review-code.md +0 -0
  651. /package/dist/forge-payload/{.base-pack/commands → commands}/review-plan.md +0 -0
  652. /package/dist/forge-payload/{.base-pack/commands → commands}/run-sprint.md +0 -0
  653. /package/dist/forge-payload/{.base-pack/commands → commands}/run-task.md +0 -0
  654. /package/dist/forge-payload/{.base-pack/commands → commands}/validate.md +0 -0
@@ -1,113 +0,0 @@
1
- // halt-advisor.ts — Halt-recovery advisor helper (FORGE-S26-T18).
2
- //
3
- // When preflight-gate.cjs exits 1 and emits a structured failure JSON,
4
- // the CLI route (run-task / fix-bug) calls runHaltAdvisor to spawn a
5
- // read-only one-shot subagent that explains the failure and guides recovery.
6
- //
7
- // Design constraints:
8
- // - Advisor is READ-ONLY: no store writes, no artifact mutations.
9
- // - Model: the HEAVY model the runtime resolves point-in-time — the
10
- // approve/architect slot through the existing routing cascade
11
- // (project > user > pi default). NO dedicated advisorModel config entry.
12
- // If nothing is routed and no current model exists, the advisor is
13
- // skipped silently (non-fatal).
14
- // - runHaltAdvisor is best-effort: failures must not mask the primary halt.
15
- import { runForgeSubagent, loadForgePersona } from "../forge-subagent.js";
16
- import { resolveModelForPhase } from "../model-resolver.js";
17
- /**
18
- * Resolve the advisor model for halt-recovery.
19
- *
20
- * Priority:
21
- * 1. Explicit `advisorModel` config slot from forge-cli layered config.
22
- * Contract (rev. 2026-06-04): the advisor model is the HEAVY model the runtime
23
- * resolves point-in-time. There is NO dedicated advisorModel config entry —
24
- * "heavy" is the approve/architect slot resolved through the existing routing
25
- * cascade (L4 phase override → L3/L2 project → L1 user/global → default),
26
- * exactly as the approve phase itself would resolve. When the cascade bottoms
27
- * out at inherit, the session's current model (pi default) is used. In the
28
- * Claude Code plugin route the equivalent is the opus-class session model.
29
- *
30
- * Returns undefined (advisor skipped, non-fatal) only when nothing is routed
31
- * AND no current model is available.
32
- *
33
- * (History: the original FORGE-S26-T18 implementation used a dedicated
34
- * advisorModel config slot with a blind registry fallback that produced
35
- * "anthropic/undefined" on the CART-S03-T01 halt — both retired.)
36
- */
37
- export function resolveAdvisorModel(merged, currentModel, pipelineName = "default") {
38
- // Heavy slot: the approve phase / architect persona routing resolution.
39
- try {
40
- const heavy = resolveModelForPhase(pipelineName, "approve", "architect", merged ?? {});
41
- if (heavy.model)
42
- return heavy.model;
43
- }
44
- catch {
45
- // resolution errors are non-fatal — fall through to the current model
46
- }
47
- // Inherit → pi's current model (provider-neutral, known-good).
48
- if (currentModel?.provider) {
49
- const model = currentModel.model ?? currentModel.id;
50
- if (model)
51
- return { provider: currentModel.provider, model };
52
- }
53
- return undefined;
54
- }
55
- /**
56
- * Spawn a read-only advisor subagent to explain the gate failure and guide recovery.
57
- *
58
- * Best-effort: errors are notified via ctx.ui but do NOT propagate. The
59
- * primary halt status is the caller's responsibility to surface separately.
60
- */
61
- export async function runHaltAdvisor(opts) {
62
- const { gateFailure, advisorModel, taskId, cwd, ctx, forgeRoot } = opts;
63
- if (!advisorModel) {
64
- // No model available — skip advisor silently.
65
- return;
66
- }
67
- ctx.ui.notify(`ℹ forge: halt advisor running on ${advisorModel.provider}/${advisorModel.model} for ${taskId}`, "info");
68
- const advisoryPrompt = [
69
- `# Halt-Recovery Advisory for ${taskId}`,
70
- ``,
71
- `A preflight gate halted the pipeline for phase **${gateFailure.phase}**.`,
72
- ``,
73
- `## Failure Details`,
74
- `- **Reason code:** \`${gateFailure.reasonCode}\``,
75
- `- **Detail:** ${gateFailure.detail}`,
76
- ``,
77
- `## Recommended Remediation`,
78
- gateFailure.remediation,
79
- ``,
80
- `## Your Role`,
81
- `You are a read-only advisor. Explain the failure in plain language, confirm the`,
82
- `remediation step, and provide any additional context the user needs to unblock.`,
83
- `Do NOT modify any files, run any commands, or write to the store.`,
84
- `Output your advisory as a brief structured summary (2–4 sentences).`,
85
- ].join("\n");
86
- try {
87
- let persona;
88
- try {
89
- persona = loadForgePersona("engineer", cwd);
90
- }
91
- catch {
92
- // Persona unavailable — use a minimal fallback rather than crashing.
93
- persona = {
94
- name: "advisor",
95
- description: "Halt-recovery advisor",
96
- systemPrompt: "You are a Forge engineering advisor. Be concise and helpful.",
97
- filePath: "",
98
- };
99
- }
100
- await runForgeSubagent({
101
- persona,
102
- task: advisoryPrompt,
103
- cwd,
104
- forgeRoot,
105
- requestedModel: advisorModel,
106
- });
107
- }
108
- catch (err) {
109
- const e = err;
110
- ctx.ui.notify(`⚠ forge: halt advisor failed (non-fatal): ${e.message ?? "unknown"}`, "warning");
111
- }
112
- }
113
- //# sourceMappingURL=halt-advisor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"halt-advisor.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/lib/halt-advisor.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import type { MergedConfig } from "../config-layer.js";
2
- import type { OrchestratorResult } from "./orchestrator-types.js";
3
- /** Minimal context interface — only the bits preflight needs. */
4
- export interface PreflightContext {
5
- ui: {
6
- notify(message: string, type?: "error" | "info" | "warning"): void;
7
- };
8
- }
9
- export interface RunOrchestratorPreflightOptions {
10
- /** "task" runs validateModelConfig; "ceremony" skips it. */
11
- mode: "task" | "ceremony";
12
- /** Minimal context for notifications. */
13
- ctx: PreflightContext;
14
- /** Prefix for notify messages, e.g. "forge:run-task" or "forge:fix-bug". */
15
- notifyPrefix: string;
16
- /** Persona name catalogue from readPersonaDir. */
17
- personaCatalogue: string[];
18
- /** Pipeline name catalogue from readPipelineNames; null if no config found. */
19
- pipelineCatalogue: string[] | null;
20
- /** Merged model-routing config from loadLayeredConfig. */
21
- modelRoutingConfig: MergedConfig;
22
- /** Available models from ctx.modelRegistry.getAvailable(). */
23
- availableModels: Array<{
24
- provider: string;
25
- id: string;
26
- }>;
27
- }
28
- /** Discriminated union: proceed=true → continue; proceed=false → return result early. */
29
- export type OrchestratorPreflightResult = {
30
- proceed: true;
31
- } | {
32
- proceed: false;
33
- result: OrchestratorResult;
34
- };
35
- /**
36
- * Run the orchestrator pre-flight check.
37
- *
38
- * In mode="task": calls validateModelConfig and surfaces warnings/errors via
39
- * ctx.ui.notify. Returns `{ proceed: false, result }` with status="failed" if
40
- * there are errors; returns `{ proceed: true }` otherwise.
41
- *
42
- * In mode="ceremony": returns `{ proceed: true }` immediately without calling
43
- * validateModelConfig. This matches the existing behaviour of ceremony dispatch
44
- * which uses lookupPersonaModel rather than the full validator.
45
- */
46
- export declare function runOrchestratorPreflight(opts: RunOrchestratorPreflightOptions): OrchestratorPreflightResult;
@@ -1,64 +0,0 @@
1
- // lib/orchestrator-preflight.ts — FORGE-S25-T17 (H-13, N-H-D)
2
- //
3
- // Single shared preflight helper for orchestrator pipelines. Replaces the
4
- // duplicate pre-flight validation blocks in run-task.ts and fix-bug.ts.
5
- //
6
- // Design: a `mode` parameter selects behaviour:
7
- //
8
- // mode="task" — full model-config validation via validateModelConfig.
9
- // Used by runTaskPipeline and runBugPipeline.
10
- // mode="ceremony" — skips validateModelConfig entirely.
11
- // Aligns with dispatchSprintCeremony which uses
12
- // lookupPersonaModel (not the full validator). The
13
- // run-sprint.ts ceremony call does NOT use this helper
14
- // directly; it was already skip-validation by design
15
- // (N-H-D). This mode is available for future callers
16
- // that need a ceremony-style preflight.
17
- //
18
- // Why run-sprint.ts is NOT migrated to this helper:
19
- // run-sprint.ts contains a separate sprint-entry validation block
20
- // (lines 470–498) that validates sprint-level config, not task/phase-level.
21
- // That block is architecturally distinct and is explicitly out of scope
22
- // per the plan-review finding (N-H-D resolved, reviewer-approved).
23
- import { validateModelConfig } from "../model-validator.js";
24
- // ---------------------------------------------------------------------------
25
- // runOrchestratorPreflight
26
- // ---------------------------------------------------------------------------
27
- /**
28
- * Run the orchestrator pre-flight check.
29
- *
30
- * In mode="task": calls validateModelConfig and surfaces warnings/errors via
31
- * ctx.ui.notify. Returns `{ proceed: false, result }` with status="failed" if
32
- * there are errors; returns `{ proceed: true }` otherwise.
33
- *
34
- * In mode="ceremony": returns `{ proceed: true }` immediately without calling
35
- * validateModelConfig. This matches the existing behaviour of ceremony dispatch
36
- * which uses lookupPersonaModel rather than the full validator.
37
- */
38
- export function runOrchestratorPreflight(opts) {
39
- if (opts.mode === "ceremony") {
40
- return { proceed: true };
41
- }
42
- // mode="task" — full validation
43
- const strict = process.env.FORGE_STRICT_MODELS === "1";
44
- const { errors, warnings } = validateModelConfig(opts.personaCatalogue, opts.pipelineCatalogue, opts.modelRoutingConfig, opts.availableModels, strict);
45
- for (const w of warnings) {
46
- opts.ctx.ui.notify(`⚠ ${opts.notifyPrefix} — model routing: ${w.message}`, "warning");
47
- }
48
- if (errors.length > 0) {
49
- for (const e of errors) {
50
- opts.ctx.ui.notify(`× ${opts.notifyPrefix} — model routing: ${e.message}`, "error");
51
- }
52
- return {
53
- proceed: false,
54
- result: {
55
- status: "failed",
56
- lastPhaseIndex: 0,
57
- iterationCounts: {},
58
- lastError: `model config validation failed: ${errors.map((e) => e.code).join(", ")}`,
59
- },
60
- };
61
- }
62
- return { proceed: true };
63
- }
64
- //# sourceMappingURL=orchestrator-preflight.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator-preflight.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/lib/orchestrator-preflight.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,4EAA4E;AAC5E,kEAAkE;AAClE,0DAA0D;AAC1D,oEAAoE;AACpE,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,4DAA4D;AAC5D,EAAE;AACF,oDAAoD;AACpD,oEAAoE;AACpE,8EAA8E;AAC9E,0EAA0E;AAC1E,qEAAqE;AAGrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAkC5D,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAqC;IAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,gCAAgC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC;IACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAC/C,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,eAAe,EACpB,MAAM,CACN,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,YAAY,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,YAAY,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACrF,CAAC;QACD,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACP,MAAM,EAAE,QAAQ;gBAChB,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,EAAE;gBACnB,SAAS,EAAE,mCAAmC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACpF;SACD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
- export interface ParsedMaterializeArgs {
3
- mode: "all" | "single-workflow";
4
- workflowId?: string;
5
- }
6
- /**
7
- * Parse /forge:materialize arguments.
8
- *
9
- * Recognised forms:
10
- * (empty) → { mode: "all" }
11
- * --all → { mode: "all" }
12
- * workflows <id> → { mode: "single-workflow", workflowId: "<id>" }
13
- * workflows:<id> → { mode: "single-workflow", workflowId: "<id>" }
14
- */
15
- export declare function parseMaterializeArgs(args: string): ParsedMaterializeArgs;
16
- export declare function registerMaterialize(pi: ExtensionAPI): void;
@@ -1,195 +0,0 @@
1
- // materialize.ts — native handler for /forge:materialize (FORGE-S23-T09)
2
- //
3
- // Ports the deterministic subset of the plugin's /forge:materialize:
4
- // - Full warm-up (no args or --all): runs substitute-placeholders.cjs,
5
- // build-persona-pack.cjs, and build-context-pack.cjs from the bundled payload.
6
- // - Single-workflow mode: deferred — notify + return (follow-up task).
7
- //
8
- // Mode-neutral invariant: never writes .forge/config.json mode field.
9
- // Uses spawn("node", [toolPath, ...argv]) — argv-array, no shell (IL6).
10
- //
11
- // References: regenerate.ts (substitute-placeholders.cjs argv),
12
- // forge-init.ts (build-persona-pack / build-context-pack argv).
13
- import { spawn } from "node:child_process";
14
- import * as fs from "node:fs";
15
- import * as path from "node:path";
16
- import { getBundledPayloadRoot, getBundledToolsRoot } from "./forge-init.js";
17
- // ── Argument parser ─────────────────────────────────────────────────────────
18
- /**
19
- * Parse /forge:materialize arguments.
20
- *
21
- * Recognised forms:
22
- * (empty) → { mode: "all" }
23
- * --all → { mode: "all" }
24
- * workflows <id> → { mode: "single-workflow", workflowId: "<id>" }
25
- * workflows:<id> → { mode: "single-workflow", workflowId: "<id>" }
26
- */
27
- export function parseMaterializeArgs(args) {
28
- const trimmed = args.trim();
29
- if (!trimmed || trimmed === "--all") {
30
- return { mode: "all" };
31
- }
32
- // "workflows plan_task" or "workflows:plan_task"
33
- const workflowsMatch = trimmed.match(/^workflows[: ](.+)$/);
34
- if (workflowsMatch) {
35
- return { mode: "single-workflow", workflowId: workflowsMatch[1].trim() };
36
- }
37
- // Unrecognised flags/forms: treat as full warm-up (fail-open)
38
- return { mode: "all" };
39
- }
40
- // ── Tool runner ─────────────────────────────────────────────────────────────
41
- /**
42
- * Spawn `node <toolPath> [...argv]` and await completion.
43
- * Returns `{ ok: boolean, stderr: string }`.
44
- *
45
- * Non-zero exit is FATAL when `fatal === true` (default), ADVISORY otherwise.
46
- */
47
- async function runTool(toolPath, argv, cwd, label, timeoutMs = 60_000) {
48
- return new Promise((resolve) => {
49
- const child = spawn("node", [toolPath, ...argv], {
50
- cwd,
51
- stdio: ["ignore", "pipe", "pipe"],
52
- });
53
- let stderrBuf = "";
54
- const timer = setTimeout(() => {
55
- child.kill("SIGKILL");
56
- resolve({ ok: false, stderr: `${label} timed out after ${timeoutMs}ms` });
57
- }, timeoutMs);
58
- child.stderr?.on("data", (d) => {
59
- stderrBuf += d.toString();
60
- });
61
- child.on("close", (code) => {
62
- clearTimeout(timer);
63
- resolve({ ok: code === 0, stderr: stderrBuf });
64
- });
65
- child.on("error", (err) => {
66
- clearTimeout(timer);
67
- resolve({ ok: false, stderr: err.message });
68
- });
69
- });
70
- }
71
- // ── Register ────────────────────────────────────────────────────────────────
72
- export function registerMaterialize(pi) {
73
- pi.registerCommand("forge:materialize", {
74
- description: "Fill missing or stubbed Forge scaffolding without overwriting pristine files. " +
75
- "Deterministic complement to /forge:init --fast. Mode-neutral: never writes config mode.",
76
- async handler(args, ctx) {
77
- const cwd = process.cwd();
78
- const parsed = parseMaterializeArgs(args);
79
- // Single-workflow mode: deferred in forge-cli — notify and return
80
- if (parsed.mode === "single-workflow") {
81
- ctx.ui.notify(`〇 forge:materialize — single-workflow mode ('${parsed.workflowId ?? "?"}') is not yet supported in forge-cli. ` +
82
- "Use the Forge plugin directly or run /forge:materialize --all for a full warm-up.", "info");
83
- return;
84
- }
85
- // Config guard
86
- const configPath = path.join(cwd, ".forge", "config.json");
87
- if (!fs.existsSync(configPath)) {
88
- ctx.ui.notify("× forge:materialize — no .forge/config.json found. Run /forge:init first.", "error");
89
- return;
90
- }
91
- // Resolve tool paths
92
- let bundleRoot;
93
- let toolsRoot;
94
- try {
95
- bundleRoot = getBundledPayloadRoot();
96
- toolsRoot = getBundledToolsRoot();
97
- }
98
- catch (err) {
99
- const msg = err instanceof Error ? err.message : String(err);
100
- ctx.ui.notify(`× forge:materialize — could not resolve bundle paths: ${msg}`, "error");
101
- return;
102
- }
103
- const substituteTool = path.join(toolsRoot, "substitute-placeholders.cjs");
104
- const basePackDir = path.join(bundleRoot, ".base-pack");
105
- const configJsonPath = path.join(cwd, ".forge", "config.json");
106
- // Guard: tools must exist
107
- if (!fs.existsSync(substituteTool)) {
108
- ctx.ui.notify(`× forge:materialize — substitute-placeholders.cjs not found at ${substituteTool}`, "error");
109
- return;
110
- }
111
- if (!fs.existsSync(basePackDir)) {
112
- ctx.ui.notify(`× forge:materialize — .base-pack not found at ${basePackDir}`, "error");
113
- return;
114
- }
115
- ctx.ui.setStatus?.("forge:materialize", "Materializing .forge/ artifacts…");
116
- // Step 1: substitute-placeholders.cjs (fatal on failure)
117
- // argv shape mirrors regenerate.ts usage
118
- const initContextJson = path.join(cwd, ".forge", "init-context.json");
119
- const subArgv = [
120
- "--forge-root",
121
- bundleRoot,
122
- "--base-pack",
123
- basePackDir,
124
- "--config",
125
- configJsonPath,
126
- "--out",
127
- cwd,
128
- ];
129
- if (fs.existsSync(initContextJson)) {
130
- subArgv.push("--context", initContextJson);
131
- }
132
- const subResult = await runTool(substituteTool, subArgv, cwd, "substitute-placeholders", 60_000);
133
- if (!subResult.ok) {
134
- const errMsg = subResult.stderr.trim().split("\n").slice(-3).join(" | ") || "unknown error";
135
- ctx.ui.notify(`× forge:materialize — substitute-placeholders.cjs failed: ${errMsg}`, "error");
136
- ctx.ui.setStatus?.("forge:materialize", undefined);
137
- return;
138
- }
139
- ctx.ui.notify("〇 forge:materialize — scaffold filled", "info");
140
- // Step 2: build-persona-pack.cjs (advisory — non-fatal)
141
- const buildPersonaPackTool = path.join(toolsRoot, "build-persona-pack.cjs");
142
- if (fs.existsSync(buildPersonaPackTool)) {
143
- fs.mkdirSync(path.join(cwd, ".forge", "cache"), { recursive: true });
144
- const personaResult = await runTool(buildPersonaPackTool, ["--out", path.join(cwd, ".forge", "cache", "persona-pack.json")], cwd, "build-persona-pack", 30_000);
145
- if (!personaResult.ok) {
146
- const msg = personaResult.stderr.trim().split("\n").at(-1) ?? "unknown";
147
- ctx.ui.notify(`△ forge:materialize — build-persona-pack.cjs failed (non-fatal): ${msg}`, "warning");
148
- }
149
- }
150
- // Step 3: build-context-pack.cjs (advisory — non-fatal)
151
- const buildContextPackTool = path.join(toolsRoot, "build-context-pack.cjs");
152
- if (fs.existsSync(buildContextPackTool)) {
153
- // Read engineering path from config
154
- let kbPath = "engineering";
155
- try {
156
- const raw = fs.readFileSync(configPath, "utf8");
157
- const cfg = JSON.parse(raw);
158
- const p = cfg.paths;
159
- if (p && typeof p.engineering === "string")
160
- kbPath = p.engineering;
161
- }
162
- catch {
163
- // use default
164
- }
165
- const ctxResult = await runTool(buildContextPackTool, [
166
- "--arch-dir",
167
- path.join(cwd, kbPath, "architecture"),
168
- "--out-md",
169
- path.join(cwd, ".forge", "cache", "context-pack.md"),
170
- "--out-json",
171
- path.join(cwd, ".forge", "cache", "context-pack.json"),
172
- ], cwd, "build-context-pack", 30_000);
173
- if (!ctxResult.ok) {
174
- const msg = ctxResult.stderr.trim().split("\n").at(-1) ?? "unknown";
175
- ctx.ui.notify(`△ forge:materialize — build-context-pack.cjs failed (non-fatal): ${msg}`, "warning");
176
- }
177
- }
178
- // Complete
179
- ctx.ui.setStatus?.("forge:materialize", undefined);
180
- ctx.ui.notify("〇 forge:materialize complete — gaps filled (mode unchanged)", "info");
181
- // Promotion hint (mode-neutral: only read, never write)
182
- try {
183
- const raw = fs.readFileSync(configPath, "utf8");
184
- const cfg = JSON.parse(raw);
185
- if (cfg.mode === "fast") {
186
- ctx.ui.notify("〇 To declare the project fully generated: /forge:config mode full", "info");
187
- }
188
- }
189
- catch {
190
- // non-fatal — promotion hint is cosmetic
191
- }
192
- },
193
- });
194
- }
195
- //# sourceMappingURL=materialize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/materialize.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
- import { type ForgeToolDefs } from "./forge-tools.js";
3
- export interface ParsedMigrateArgs {
4
- /** True when --structural flag present OR .forge/structure-versions.json absent. */
5
- structural: boolean;
6
- /** True when --dry-run flag present (schema branch only). */
7
- dryRun: boolean;
8
- }
9
- /**
10
- * Parse /forge:migrate arguments.
11
- *
12
- * Also checks filesystem for .forge/structure-versions.json to determine
13
- * structural vs schema branch (absence → structural).
14
- */
15
- export declare function parseMigrateArgs(args: string, cwd: string): ParsedMigrateArgs;
16
- export interface RegisterMigrateOptions {
17
- /** Override bundleRoot — for testing only. Production: always undefined (resolved via getBundledPayloadRoot). */
18
- _testBundleRoot?: string;
19
- /** Forge tool definitions for subagent injection. */
20
- forgeToolDefs?: ForgeToolDefs;
21
- }
22
- export declare function registerMigrate(pi: ExtensionAPI, opts?: RegisterMigrateOptions): void;