@entelligentsia/forgecli 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/README.md +177 -38
  3. package/dist/bin/argv.js +5 -0
  4. package/dist/bin/argv.js.map +1 -1
  5. package/dist/bin/forge.js +1 -0
  6. package/dist/bin/forge.js.map +1 -1
  7. package/dist/extensions/forgecli/ask-user-tool.d.ts +17 -0
  8. package/dist/extensions/forgecli/ask-user-tool.js +139 -0
  9. package/dist/extensions/forgecli/ask-user-tool.js.map +1 -0
  10. package/dist/extensions/forgecli/forge-commands.d.ts +21 -0
  11. package/dist/extensions/forgecli/forge-commands.js +141 -0
  12. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  13. package/dist/extensions/forgecli/forge-init.d.ts +26 -0
  14. package/dist/extensions/forgecli/forge-init.js +948 -0
  15. package/dist/extensions/forgecli/forge-init.js.map +1 -0
  16. package/dist/extensions/forgecli/health-check.d.ts +18 -0
  17. package/dist/extensions/forgecli/health-check.js +154 -0
  18. package/dist/extensions/forgecli/health-check.js.map +1 -0
  19. package/dist/extensions/forgecli/hook-dispatcher.d.ts +34 -1
  20. package/dist/extensions/forgecli/hook-dispatcher.js +237 -3
  21. package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
  22. package/dist/extensions/forgecli/index.js +28 -11
  23. package/dist/extensions/forgecli/index.js.map +1 -1
  24. package/dist/extensions/forgecli/init-context.d.ts +99 -0
  25. package/dist/extensions/forgecli/init-context.js +163 -0
  26. package/dist/extensions/forgecli/init-context.js.map +1 -0
  27. package/dist/extensions/forgecli/init-progress.d.ts +39 -0
  28. package/dist/extensions/forgecli/init-progress.js +117 -0
  29. package/dist/extensions/forgecli/init-progress.js.map +1 -0
  30. package/dist/extensions/forgecli/refresh-kb-links.d.ts +18 -0
  31. package/dist/extensions/forgecli/refresh-kb-links.js +228 -0
  32. package/dist/extensions/forgecli/refresh-kb-links.js.map +1 -0
  33. package/dist/extensions/forgecli/store-validator.d.ts +13 -0
  34. package/dist/extensions/forgecli/store-validator.js +35 -0
  35. package/dist/extensions/forgecli/store-validator.js.map +1 -0
  36. package/dist/extensions/forgecli/transition-guard.d.ts +20 -0
  37. package/dist/extensions/forgecli/transition-guard.js +125 -0
  38. package/dist/extensions/forgecli/transition-guard.js.map +1 -0
  39. package/dist/forge-payload/.base-pack/commands/approve.md +22 -0
  40. package/dist/forge-payload/.base-pack/commands/collate.md +22 -0
  41. package/dist/forge-payload/.base-pack/commands/commit.md +22 -0
  42. package/dist/forge-payload/.base-pack/commands/enhance.md +37 -0
  43. package/dist/forge-payload/.base-pack/commands/fix-bug.md +22 -0
  44. package/dist/forge-payload/.base-pack/commands/implement.md +22 -0
  45. package/dist/forge-payload/.base-pack/commands/plan.md +22 -0
  46. package/dist/forge-payload/.base-pack/commands/quiz-agent.md +22 -0
  47. package/dist/forge-payload/.base-pack/commands/retrospective.md +22 -0
  48. package/dist/forge-payload/.base-pack/commands/review-code.md +22 -0
  49. package/dist/forge-payload/.base-pack/commands/review-plan.md +22 -0
  50. package/dist/forge-payload/.base-pack/commands/run-sprint.md +22 -0
  51. package/dist/forge-payload/.base-pack/commands/run-task.md +22 -0
  52. package/dist/forge-payload/.base-pack/commands/sprint-intake.md +22 -0
  53. package/dist/forge-payload/.base-pack/commands/sprint-plan.md +22 -0
  54. package/dist/forge-payload/.base-pack/commands/validate.md +22 -0
  55. package/dist/forge-payload/.claude-plugin/plugin.json +15 -0
  56. package/dist/forge-payload/.init/discovery/discover-database.md +32 -0
  57. package/dist/forge-payload/.init/discovery/discover-processes.md +31 -0
  58. package/dist/forge-payload/.init/discovery/discover-routing.md +31 -0
  59. package/dist/forge-payload/.init/discovery/discover-stack.md +33 -0
  60. package/dist/forge-payload/.init/discovery/discover-testing.md +34 -0
  61. package/dist/forge-payload/.init/generation/generate-kb-doc.md +60 -0
  62. package/dist/forge-payload/.schemas/bug.schema.json +53 -0
  63. package/dist/forge-payload/.schemas/collation-state.schema.json +16 -0
  64. package/dist/forge-payload/.schemas/event-sidecar.schema.json +22 -0
  65. package/dist/forge-payload/.schemas/event.schema.json +32 -0
  66. package/dist/forge-payload/.schemas/feature.schema.json +22 -0
  67. package/dist/forge-payload/.schemas/progress-entry.schema.json +16 -0
  68. package/dist/forge-payload/.schemas/project-context.schema.json +167 -0
  69. package/dist/forge-payload/.schemas/project-overlay.schema.json +25 -0
  70. package/dist/forge-payload/.schemas/sprint.schema.json +27 -0
  71. package/dist/forge-payload/.schemas/structure-versions.schema.json +57 -0
  72. package/dist/forge-payload/.schemas/task.schema.json +58 -0
  73. package/dist/forge-payload/.tools/banners.cjs +435 -0
  74. package/dist/forge-payload/.tools/build-context-pack.cjs +290 -0
  75. package/dist/forge-payload/.tools/build-init-context.cjs +322 -0
  76. package/dist/forge-payload/.tools/build-overlay.cjs +326 -0
  77. package/dist/forge-payload/.tools/build-persona-pack.cjs +226 -0
  78. package/dist/forge-payload/.tools/collate.cjs +1041 -0
  79. package/dist/forge-payload/.tools/generation-manifest.cjs +311 -0
  80. package/dist/forge-payload/.tools/lib/forge-root.cjs +59 -0
  81. package/dist/forge-payload/.tools/lib/paths.cjs +29 -0
  82. package/dist/forge-payload/.tools/lib/pricing.cjs +165 -0
  83. package/dist/forge-payload/.tools/lib/project-root.cjs +32 -0
  84. package/dist/forge-payload/.tools/lib/result.js +40 -0
  85. package/dist/forge-payload/.tools/lib/validate.js +131 -0
  86. package/dist/forge-payload/.tools/manage-config.cjs +340 -0
  87. package/dist/forge-payload/.tools/manage-versions.cjs +365 -0
  88. package/dist/forge-payload/.tools/seed-store.cjs +237 -0
  89. package/dist/forge-payload/.tools/store-cli.cjs +1123 -0
  90. package/dist/forge-payload/.tools/store.cjs +315 -0
  91. package/dist/forge-payload/.tools/substitute-placeholders.cjs +625 -0
  92. package/dist/forge-payload/.tools/validate-store.cjs +522 -0
  93. package/package.json +1 -1
  94. /package/dist/forge-payload/{personas → .base-pack/personas}/architect.md +0 -0
  95. /package/dist/forge-payload/{personas → .base-pack/personas}/bug-fixer.md +0 -0
  96. /package/dist/forge-payload/{personas → .base-pack/personas}/collator.md +0 -0
  97. /package/dist/forge-payload/{personas → .base-pack/personas}/engineer.md +0 -0
  98. /package/dist/forge-payload/{personas → .base-pack/personas}/librarian.md +0 -0
  99. /package/dist/forge-payload/{personas → .base-pack/personas}/orchestrator.md +0 -0
  100. /package/dist/forge-payload/{personas → .base-pack/personas}/product-manager.md +0 -0
  101. /package/dist/forge-payload/{personas → .base-pack/personas}/qa-engineer.md +0 -0
  102. /package/dist/forge-payload/{personas → .base-pack/personas}/supervisor.md +0 -0
  103. /package/dist/forge-payload/{skills → .base-pack/skills}/architect-skills.md +0 -0
  104. /package/dist/forge-payload/{skills → .base-pack/skills}/bug-fixer-skills.md +0 -0
  105. /package/dist/forge-payload/{skills → .base-pack/skills}/collator-skills.md +0 -0
  106. /package/dist/forge-payload/{skills → .base-pack/skills}/engineer-skills.md +0 -0
  107. /package/dist/forge-payload/{skills → .base-pack/skills}/generic-skills.md +0 -0
  108. /package/dist/forge-payload/{skills → .base-pack/skills}/librarian-skills.md +0 -0
  109. /package/dist/forge-payload/{skills → .base-pack/skills}/qa-engineer-skills.md +0 -0
  110. /package/dist/forge-payload/{skills → .base-pack/skills}/store-custodian-skills.md +0 -0
  111. /package/dist/forge-payload/{skills → .base-pack/skills}/supervisor-skills.md +0 -0
  112. /package/dist/forge-payload/{templates → .base-pack/templates}/CODE_REVIEW_TEMPLATE.md +0 -0
  113. /package/dist/forge-payload/{templates → .base-pack/templates}/COST_REPORT_TEMPLATE.md +0 -0
  114. /package/dist/forge-payload/{templates → .base-pack/templates}/PLAN_REVIEW_TEMPLATE.md +0 -0
  115. /package/dist/forge-payload/{templates → .base-pack/templates}/PLAN_SUMMARY_TEMPLATE.json +0 -0
  116. /package/dist/forge-payload/{templates → .base-pack/templates}/PLAN_TEMPLATE.md +0 -0
  117. /package/dist/forge-payload/{templates → .base-pack/templates}/PROGRESS_TEMPLATE.md +0 -0
  118. /package/dist/forge-payload/{templates → .base-pack/templates}/RETROSPECTIVE_TEMPLATE.md +0 -0
  119. /package/dist/forge-payload/{templates → .base-pack/templates}/SPRINT_MANIFEST_TEMPLATE.md +0 -0
  120. /package/dist/forge-payload/{templates → .base-pack/templates}/SPRINT_REQUIREMENTS_TEMPLATE.md +0 -0
  121. /package/dist/forge-payload/{templates → .base-pack/templates}/TASK_PROMPT_TEMPLATE.md +0 -0
  122. /package/dist/forge-payload/{workflows → .base-pack/workflows}/_fragments/context-injection.md +0 -0
  123. /package/dist/forge-payload/{workflows → .base-pack/workflows}/_fragments/event-emission-schema.md +0 -0
  124. /package/dist/forge-payload/{workflows → .base-pack/workflows}/_fragments/finalize.md +0 -0
  125. /package/dist/forge-payload/{workflows → .base-pack/workflows}/_fragments/progress-reporting.md +0 -0
  126. /package/dist/forge-payload/{workflows → .base-pack/workflows}/architect_approve.md +0 -0
  127. /package/dist/forge-payload/{workflows → .base-pack/workflows}/architect_review_sprint_completion.md +0 -0
  128. /package/dist/forge-payload/{workflows → .base-pack/workflows}/architect_sprint_intake.md +0 -0
  129. /package/dist/forge-payload/{workflows → .base-pack/workflows}/architect_sprint_plan.md +0 -0
  130. /package/dist/forge-payload/{workflows → .base-pack/workflows}/collator_agent.md +0 -0
  131. /package/dist/forge-payload/{workflows → .base-pack/workflows}/commit_task.md +0 -0
  132. /package/dist/forge-payload/{workflows → .base-pack/workflows}/fix_bug.md +0 -0
  133. /package/dist/forge-payload/{workflows → .base-pack/workflows}/implement_plan.md +0 -0
  134. /package/dist/forge-payload/{workflows → .base-pack/workflows}/migrate_structural.md +0 -0
  135. /package/dist/forge-payload/{workflows → .base-pack/workflows}/orchestrate_task.md +0 -0
  136. /package/dist/forge-payload/{workflows → .base-pack/workflows}/plan_task.md +0 -0
  137. /package/dist/forge-payload/{workflows → .base-pack/workflows}/quiz_agent.md +0 -0
  138. /package/dist/forge-payload/{workflows → .base-pack/workflows}/review_code.md +0 -0
  139. /package/dist/forge-payload/{workflows → .base-pack/workflows}/review_plan.md +0 -0
  140. /package/dist/forge-payload/{workflows → .base-pack/workflows}/run_sprint.md +0 -0
  141. /package/dist/forge-payload/{workflows → .base-pack/workflows}/sprint_retrospective.md +0 -0
  142. /package/dist/forge-payload/{workflows → .base-pack/workflows}/update_implementation.md +0 -0
  143. /package/dist/forge-payload/{workflows → .base-pack/workflows}/update_plan.md +0 -0
  144. /package/dist/forge-payload/{workflows → .base-pack/workflows}/validate_task.md +0 -0
@@ -13,8 +13,18 @@
13
13
  // Q14 contract: every command except /forge:init no-ops gracefully
14
14
  // outside a Forge project with a notify pointing at /forge:init.
15
15
  // /forge:init is registered in index.ts (unconditional, AC#4 from T02).
16
+ //
17
+ // Phase G (FORGE-S17-T02): registerAllForgeCommands enumerates every
18
+ // *.md under dist/forge-payload/.base-pack/commands/ and registers each
19
+ // as a pi command. Real handlers for init/health/refresh-kb-links are
20
+ // wired separately; all others emit advisory stubs.
21
+ import * as fsSync from "node:fs";
16
22
  import { promises as fs } from "node:fs";
17
23
  import * as path from "node:path";
24
+ import { fileURLToPath } from "node:url";
25
+ import { runRefreshKbLinks } from "./refresh-kb-links.js";
26
+ // Resolve the package root for bundle path resolution
27
+ const _PKG_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
18
28
  // Tomoshibi gate — flipped true by /forge:ask, consumed by the
19
29
  // before_agent_start handler on the next turn. Module-private state is
20
30
  // safe under pi turn semantics: pi serialises agent turns, so the gate
@@ -131,10 +141,141 @@ export function registerForgeCommands(pi, options) {
131
141
  },
132
142
  });
133
143
  }
144
+ // ── Phase G: registerAllForgeCommands (FORGE-S17-T02) ─────────────────────
145
+ // Enumerate every *.md under dist/forge-payload/.base-pack/commands/ at
146
+ // runtime, parse YAML frontmatter (name + description), and register each
147
+ // via pi.registerCommand(). Real handlers for init/health/refresh-kb-links
148
+ // are deferred to their dedicated modules (called before this function).
149
+ // All remaining commands get advisory stub handlers.
150
+ //
151
+ // This function is called AFTER registerForgeInit(pi) and registerForgeCommands()
152
+ // so that real handlers (registered first) are not overwritten.
153
+ /** Parse YAML frontmatter from a markdown file. Returns name and description or null. */
154
+ function parseFrontmatter(content) {
155
+ if (!content.startsWith("---"))
156
+ return null;
157
+ const end = content.indexOf("---", 3);
158
+ if (end === -1)
159
+ return null;
160
+ const block = content.slice(3, end);
161
+ let name = "";
162
+ let description = "";
163
+ for (const line of block.split("\n")) {
164
+ const m = line.match(/^(\w+):\s*(.+)$/);
165
+ if (!m)
166
+ continue;
167
+ if (m[1] === "name")
168
+ name = m[2].trim();
169
+ if (m[1] === "description")
170
+ description = m[2].trim();
171
+ }
172
+ if (!name)
173
+ return null;
174
+ return { name, description };
175
+ }
176
+ /** Commands that have real handlers registered by other modules OR explicitly by registerAllForgeCommands. */
177
+ const REAL_HANDLERS = new Set([
178
+ "forge:init",
179
+ "forge:health",
180
+ "forge:ask",
181
+ "forge:config",
182
+ "forge:status",
183
+ "forge:update",
184
+ "forge:refresh-kb-links",
185
+ "forge:enhance",
186
+ ]);
187
+ /**
188
+ * Register all forge commands from the bundled .base-pack/commands/ directory.
189
+ * Commands already registered (real handlers) are skipped.
190
+ * Returns the number of commands registered.
191
+ */
192
+ export function registerAllForgeCommands(pi, options) {
193
+ const commandsDir = path.join(options.bundlePayloadRoot, ".base-pack", "commands");
194
+ let commandFiles;
195
+ try {
196
+ commandFiles = fsSync.readdirSync(commandsDir).filter((f) => f.endsWith(".md"));
197
+ }
198
+ catch {
199
+ // .base-pack not yet built — skip gracefully
200
+ return 0;
201
+ }
202
+ let registered = 0;
203
+ for (const file of commandFiles) {
204
+ const filePath = path.join(commandsDir, file);
205
+ let content;
206
+ try {
207
+ content = fsSync.readFileSync(filePath, "utf8");
208
+ }
209
+ catch {
210
+ continue;
211
+ }
212
+ const meta = parseFrontmatter(content);
213
+ if (!meta)
214
+ continue;
215
+ const commandName = `forge:${meta.name}`;
216
+ // Skip commands that already have real handlers
217
+ if (REAL_HANDLERS.has(commandName))
218
+ continue;
219
+ // Register stub
220
+ const capturedName = commandName;
221
+ pi.registerCommand(capturedName, {
222
+ description: meta.description || `Forge: ${meta.name}`,
223
+ async handler(_args, ctx) {
224
+ ctx.ui.notify(`〇 ${capturedName} — full implementation in S18+.`, "info");
225
+ },
226
+ });
227
+ registered++;
228
+ }
229
+ // Register /forge:refresh-kb-links with real handler (Phase G)
230
+ const capturedCwd = options.cwd ?? process.cwd();
231
+ pi.registerCommand("forge:refresh-kb-links", {
232
+ description: "Refresh Forge KB and workflow links in agent instruction files",
233
+ async handler(_args, ctx) {
234
+ ctx.ui.setStatus?.("forge:refresh-kb-links", "Refreshing KB links…");
235
+ try {
236
+ const result = await runRefreshKbLinks(capturedCwd);
237
+ for (const msg of result.messages) {
238
+ ctx.ui.notify(msg, "info");
239
+ }
240
+ if (result.filesUpdated === 0 && result.filesSkipped > 0) {
241
+ ctx.ui.notify("forge:refresh-kb-links — all agent instruction files already up to date.", "info");
242
+ }
243
+ }
244
+ catch (err) {
245
+ const e = err;
246
+ ctx.ui.notify(`forge:refresh-kb-links error: ${e.message ?? "unknown"}`, "error");
247
+ }
248
+ finally {
249
+ ctx.ui.setStatus?.("forge:refresh-kb-links", undefined);
250
+ }
251
+ },
252
+ });
253
+ // Register /forge:enhance stub with sentinel (PLAN sub-decision #4)
254
+ pi.registerCommand("forge:enhance", {
255
+ description: "Progressive project-specific enrichment of structural elements",
256
+ async handler(_args, ctx) {
257
+ const sentinelPath = path.join(capturedCwd, ".forge", "cache", "post-init-enhancement-triggered");
258
+ const sentinelExists = fsSync.existsSync(sentinelPath);
259
+ ctx.ui.notify(`〇 forge:enhance — full implementation in S18+. ${sentinelExists ? "Sentinel already written." : "Sentinel written; auto-trigger will fire when it lands."}`, "info");
260
+ if (!sentinelExists) {
261
+ try {
262
+ fsSync.mkdirSync(path.dirname(sentinelPath), { recursive: true });
263
+ fsSync.writeFileSync(sentinelPath, new Date().toISOString() + "\n", "utf8");
264
+ }
265
+ catch {
266
+ // non-fatal
267
+ }
268
+ }
269
+ },
270
+ });
271
+ return registered;
272
+ }
134
273
  // ── Test helpers ─────────────────────────────────────────────────────────────
135
274
  // Internal — exported only for unit tests. Not part of the public API.
136
275
  export const __test__ = {
137
276
  resetTomoshibiState,
138
277
  getTomoshibiPending: () => tomoshibiPending,
278
+ parseFrontmatter,
279
+ REAL_HANDLERS,
139
280
  };
140
281
  //# sourceMappingURL=forge-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"forge-commands.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/forge-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forge-commands.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/forge-commands.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,4DAA4D;AAC5D,iEAAiE;AACjE,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,wCAAwC;AACxC,iEAAiE;AACjE,wDAAwD;AACxD,EAAE;AACF,mEAAmE;AACnE,iEAAiE;AACjE,wEAAwE;AACxE,EAAE;AACF,qEAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,oDAAoD;AAEpD,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,sDAAsD;AACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAS/F,+DAA+D;AAC/D,uEAAuE;AACvE,uEAAuE;AACvE,2BAA2B;AAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,IAAI,qBAAqB,GAAkB,IAAI,CAAC;AAEhD,SAAS,mBAAmB;IAC3B,gBAAgB,GAAG,KAAK,CAAC;IACzB,qBAAqB,GAAG,IAAI,CAAC;AAC9B,CAAC;AAED,oFAAoF;AACpF,SAAS,kBAAkB,CAAC,WAAmB,EAAE,GAA4B;IAC5E,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,WAAW,0DAA0D,EAAE,SAAS,CAAC,CAAC;AAC1G,CAAC;AAED,gFAAgF;AAChF,0EAA0E;AAC1E,yEAAyE;AACzE,kEAAkE;AAClE,KAAK,UAAU,uBAAuB,CACrC,EAAgB,EAChB,SAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,GAA4B;IAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,WAAW,KAAK,CAAC,CAAC;IACnE,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACJ,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,GAA0C,CAAC;QACrD,kFAAkF;QAClF,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,WAAW,qBAAqB,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;QACzG,OAAO;IACR,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,WAAW,EAAE,CAAC;IAClG,EAAE,CAAC,eAAe,CAAC,GAAG,UAAU,OAAO,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAgB,EAAE,OAAwB;IAC/E,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAE3C,6EAA6E;IAC7E,2EAA2E;IAC3E,wEAAwE;IACxE,oBAAoB;IACpB,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACtC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9B,gBAAgB,GAAG,KAAK,CAAC;QACzB,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACpD,IAAI,CAAC;gBACJ,qBAAqB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,GAA2B,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;gBAC7F,OAAO;YACR,CAAC;QACF,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE;QAClC,WAAW,EAAE,kFAAkF;QAC/F,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;YACtB,IAAI,CAAC,SAAS;gBAAE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzD,MAAM,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;KACD,CAAC,CAAC;IAEH,6EAA6E;IAC7E,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE;QAClC,WAAW,EAAE,+CAA+C;QAC5D,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;YACtB,IAAI,CAAC,SAAS;gBAAE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzD,MAAM,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;KACD,CAAC,CAAC;IAEH,6EAA6E;IAC7E,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE;QAC/B,WAAW,EAAE,2EAA2E;QACxF,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YACvB,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wEAAwE,CAAC;YACvG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;QACnG,CAAC;KACD,CAAC,CAAC;IAEH,yEAAyE;IACzE,iEAAiE;IAEjE,6EAA6E;IAC7E,2EAA2E;IAC3E,gEAAgE;IAChE,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE;QAClC,WAAW,EAAE,gCAAgC;QAC7C,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;YACtB,IAAI,CAAC,SAAS;gBAAE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC;gBACJ,MAAM,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,GAAwB,CAAC;gBACnC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACzB,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,8EAA8E;wBAC7E,4BAA4B,EAC7B,MAAM,CACN,CAAC;oBACF,OAAO;gBACR,CAAC;gBACD,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,qDAAqD;AACrD,EAAE;AACF,kFAAkF;AAClF,gEAAgE;AAEhE,yFAAyF;AACzF,SAAS,gBAAgB,CAAC,OAAe;IACxC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa;YAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,8GAA8G;AAC9G,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC7B,YAAY;IACZ,cAAc;IACd,WAAW;IACX,cAAc;IACd,cAAc;IACd,cAAc;IACd,wBAAwB;IACxB,eAAe;CACf,CAAC,CAAC;AAWH;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAgB,EAAE,OAA2B;IACrF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAEnF,IAAI,YAAsB,CAAC;IAC3B,IAAI,CAAC;QACJ,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACR,6CAA6C;QAC7C,OAAO,CAAC,CAAC;IACV,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACR,SAAS;QACV,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,WAAW,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;QAEzC,gDAAgD;QAChD,IAAI,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,SAAS;QAE7C,gBAAgB;QAChB,MAAM,YAAY,GAAG,WAAW,CAAC;QACjC,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE;YAChC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,UAAU,IAAI,CAAC,IAAI,EAAE;YACtD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;gBACvB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,YAAY,iCAAiC,EAAE,MAAM,CAAC,CAAC;YAC3E,CAAC;SACD,CAAC,CAAC;QAEH,UAAU,EAAE,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACjD,EAAE,CAAC,eAAe,CAAC,wBAAwB,EAAE;QAC5C,WAAW,EAAE,gEAAgE;QAC7E,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;YACvB,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;YACrE,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC5B,CAAC;gBACD,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;oBAC1D,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,0EAA0E,EAAE,MAAM,CAAC,CAAC;gBACnG,CAAC;YACF,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,GAA2B,CAAC;gBACtC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,OAAO,IAAI,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;YACnF,CAAC;oBAAS,CAAC;gBACV,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;KACD,CAAC,CAAC;IAEH,oEAAoE;IACpE,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE;QACnC,WAAW,EAAE,gEAAgE;QAC7E,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;YACvB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,iCAAiC,CAAC,CAAC;YAClG,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACvD,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,kDAAkD,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,yDAAyD,EAAE,EAC5J,MAAM,CACN,CAAC;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACJ,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAClE,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7E,CAAC;gBAAC,MAAM,CAAC;oBACR,YAAY;gBACb,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,uEAAuE;AACvE,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,mBAAmB;IACnB,mBAAmB,EAAE,GAAG,EAAE,CAAC,gBAAgB;IAC3C,gBAAgB;IAChB,aAAa;CACb,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+ /** Get the bundled forge-payload root (dist/forge-payload/) */
3
+ export declare function getBundledPayloadRoot(): string;
4
+ /** Get the bundled tools directory (dist/forge-payload/.tools/) */
5
+ export declare function getBundledToolsRoot(): string;
6
+ /**
7
+ * Resolve the absolute path to dist/forge-payload/.tools and validate it
8
+ * contains store-cli.cjs. Throws if the directory is missing or incomplete.
9
+ * Exported for test access and for Phase-4 pi-aware forgeRoot stamp.
10
+ */
11
+ export declare function resolveBundleToolsRoot(): string;
12
+ /**
13
+ * Detect pi runtime. forge-init.ts is only ever called from the forgecli pi
14
+ * extension (registerForgeInit is invoked during extension load by pi). There
15
+ * is no Claude Code execution path. Therefore this always returns true.
16
+ *
17
+ * We keep the guard explicit rather than hardcoding `true` so that if a future
18
+ * Claude Code path is added it is obvious where to insert the condition.
19
+ *
20
+ * Heuristic: PI_CODING_AGENT_DIR env set → definitely pi. Otherwise assume pi
21
+ * (our only caller). Only false if explicitly opted-out via env flag in a
22
+ * hypothetical future Claude Code integration.
23
+ * Exported for test access.
24
+ */
25
+ export declare function isPiRuntime(): boolean;
26
+ export declare function registerForgeInit(pi: ExtensionAPI): void;