@entelligentsia/forgecli 0.10.1 → 0.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +21 -3
  3. package/dist/CHANGELOG-forge-plugin.md +49 -0
  4. package/dist/bin/forge.js +0 -0
  5. package/dist/extensions/forgecli/add-pipeline.d.ts +19 -0
  6. package/dist/extensions/forgecli/add-pipeline.js +143 -0
  7. package/dist/extensions/forgecli/add-pipeline.js.map +1 -0
  8. package/dist/extensions/forgecli/add-task.d.ts +20 -0
  9. package/dist/extensions/forgecli/add-task.js +154 -0
  10. package/dist/extensions/forgecli/add-task.js.map +1 -0
  11. package/dist/extensions/forgecli/ask-user-tool.js +32 -20
  12. package/dist/extensions/forgecli/ask-user-tool.js.map +1 -1
  13. package/dist/extensions/forgecli/calibrate.d.ts +61 -0
  14. package/dist/extensions/forgecli/calibrate.js +488 -0
  15. package/dist/extensions/forgecli/calibrate.js.map +1 -0
  16. package/dist/extensions/forgecli/config-layer.js +4 -1
  17. package/dist/extensions/forgecli/config-layer.js.map +1 -1
  18. package/dist/extensions/forgecli/config-writer.js +4 -1
  19. package/dist/extensions/forgecli/config-writer.js.map +1 -1
  20. package/dist/extensions/forgecli/fix-bug.d.ts +9 -1
  21. package/dist/extensions/forgecli/fix-bug.js +101 -9
  22. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  23. package/dist/extensions/forgecli/forge-commands.js +15 -22
  24. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  25. package/dist/extensions/forgecli/forge-subagent.js +34 -7
  26. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  27. package/dist/extensions/forgecli/forge-update-command.d.ts +9 -0
  28. package/dist/extensions/forgecli/forge-update-command.js +106 -7
  29. package/dist/extensions/forgecli/forge-update-command.js.map +1 -1
  30. package/dist/extensions/forgecli/health-check.d.ts +32 -1
  31. package/dist/extensions/forgecli/health-check.js +337 -12
  32. package/dist/extensions/forgecli/health-check.js.map +1 -1
  33. package/dist/extensions/forgecli/hook-dispatcher.d.ts +25 -1
  34. package/dist/extensions/forgecli/hook-dispatcher.js +108 -11
  35. package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
  36. package/dist/extensions/forgecli/hooks/check-update.d.ts +81 -0
  37. package/dist/extensions/forgecli/hooks/check-update.js +308 -0
  38. package/dist/extensions/forgecli/hooks/check-update.js.map +1 -0
  39. package/dist/extensions/forgecli/hooks/forge-permissions.d.ts +32 -0
  40. package/dist/extensions/forgecli/hooks/forge-permissions.js +119 -0
  41. package/dist/extensions/forgecli/hooks/forge-permissions.js.map +1 -0
  42. package/dist/extensions/forgecli/hooks/triage-error.d.ts +23 -0
  43. package/dist/extensions/forgecli/hooks/triage-error.js +62 -0
  44. package/dist/extensions/forgecli/hooks/triage-error.js.map +1 -0
  45. package/dist/extensions/forgecli/hooks/write-guard.d.ts +28 -0
  46. package/dist/extensions/forgecli/hooks/write-guard.js +229 -0
  47. package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -0
  48. package/dist/extensions/forgecli/index.js +60 -0
  49. package/dist/extensions/forgecli/index.js.map +1 -1
  50. package/dist/extensions/forgecli/init-context.d.ts +1 -1
  51. package/dist/extensions/forgecli/init-context.js +21 -6
  52. package/dist/extensions/forgecli/init-context.js.map +1 -1
  53. package/dist/extensions/forgecli/lib/store-error-remediation.d.ts +65 -0
  54. package/dist/extensions/forgecli/lib/store-error-remediation.js +298 -0
  55. package/dist/extensions/forgecli/lib/store-error-remediation.js.map +1 -0
  56. package/dist/extensions/forgecli/materialize.d.ts +16 -0
  57. package/dist/extensions/forgecli/materialize.js +195 -0
  58. package/dist/extensions/forgecli/materialize.js.map +1 -0
  59. package/dist/extensions/forgecli/migrate.d.ts +19 -0
  60. package/dist/extensions/forgecli/migrate.js +258 -0
  61. package/dist/extensions/forgecli/migrate.js.map +1 -0
  62. package/dist/extensions/forgecli/migration-engine.d.ts +111 -0
  63. package/dist/extensions/forgecli/migration-engine.js +533 -0
  64. package/dist/extensions/forgecli/migration-engine.js.map +1 -0
  65. package/dist/extensions/forgecli/quiz-agent.d.ts +17 -0
  66. package/dist/extensions/forgecli/quiz-agent.js +98 -0
  67. package/dist/extensions/forgecli/quiz-agent.js.map +1 -0
  68. package/dist/extensions/forgecli/remove-command.d.ts +17 -0
  69. package/dist/extensions/forgecli/remove-command.js +124 -0
  70. package/dist/extensions/forgecli/remove-command.js.map +1 -0
  71. package/dist/extensions/forgecli/report-bug.d.ts +25 -0
  72. package/dist/extensions/forgecli/report-bug.js +159 -0
  73. package/dist/extensions/forgecli/report-bug.js.map +1 -0
  74. package/dist/extensions/forgecli/retrospective.d.ts +19 -0
  75. package/dist/extensions/forgecli/retrospective.js +156 -0
  76. package/dist/extensions/forgecli/retrospective.js.map +1 -0
  77. package/dist/extensions/forgecli/run-sprint.js +50 -1
  78. package/dist/extensions/forgecli/run-sprint.js.map +1 -1
  79. package/dist/extensions/forgecli/run-task.d.ts +9 -1
  80. package/dist/extensions/forgecli/run-task.js +94 -18
  81. package/dist/extensions/forgecli/run-task.js.map +1 -1
  82. package/dist/extensions/forgecli/session-registry.d.ts +27 -2
  83. package/dist/extensions/forgecli/session-registry.js +52 -1
  84. package/dist/extensions/forgecli/session-registry.js.map +1 -1
  85. package/dist/extensions/forgecli/status-command.d.ts +19 -0
  86. package/dist/extensions/forgecli/status-command.js +140 -0
  87. package/dist/extensions/forgecli/status-command.js.map +1 -0
  88. package/dist/extensions/forgecli/store-query.d.ts +22 -0
  89. package/dist/extensions/forgecli/store-query.js +107 -0
  90. package/dist/extensions/forgecli/store-query.js.map +1 -0
  91. package/dist/extensions/forgecli/store-repair.d.ts +17 -0
  92. package/dist/extensions/forgecli/store-repair.js +123 -0
  93. package/dist/extensions/forgecli/store-repair.js.map +1 -0
  94. package/dist/extensions/forgecli/store-resolver.d.ts +18 -0
  95. package/dist/extensions/forgecli/store-resolver.js +44 -4
  96. package/dist/extensions/forgecli/store-resolver.js.map +1 -1
  97. package/dist/extensions/forgecli/store-validator.d.ts +3 -0
  98. package/dist/extensions/forgecli/store-validator.js +4 -2
  99. package/dist/extensions/forgecli/store-validator.js.map +1 -1
  100. package/dist/extensions/forgecli/thread-switcher.js +213 -28
  101. package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
  102. package/dist/extensions/forgecli/update-tools.d.ts +23 -0
  103. package/dist/extensions/forgecli/update-tools.js +136 -0
  104. package/dist/extensions/forgecli/update-tools.js.map +1 -0
  105. package/dist/extensions/forgecli/viewport-theme.js +4 -0
  106. package/dist/extensions/forgecli/viewport-theme.js.map +1 -1
  107. package/dist/forge-payload/.base-pack/personas/supervisor.md +9 -0
  108. package/dist/forge-payload/.base-pack/workflows/enhance.md +17 -11
  109. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  110. package/dist/forge-payload/.schemas/config.schema.json +83 -0
  111. package/dist/forge-payload/.schemas/migrations.json +2065 -0
  112. package/dist/forge-payload/commands/regenerate.md +17 -1
  113. package/dist/forge-payload/meta/personas/README.md +16 -0
  114. package/dist/forge-payload/meta/personas/meta-architect.md +70 -0
  115. package/dist/forge-payload/meta/personas/meta-bug-fixer.md +73 -0
  116. package/dist/forge-payload/meta/personas/meta-collator.md +72 -0
  117. package/dist/forge-payload/meta/personas/meta-engineer.md +70 -0
  118. package/dist/forge-payload/meta/personas/meta-orchestrator.md +71 -0
  119. package/dist/forge-payload/meta/personas/meta-product-manager.md +82 -0
  120. package/dist/forge-payload/meta/personas/meta-qa-engineer.md +91 -0
  121. package/dist/forge-payload/meta/personas/meta-supervisor.md +92 -0
  122. package/dist/forge-payload/meta/skill-recommendations.md +154 -0
  123. package/dist/forge-payload/meta/skills/meta-architect-skills.md +43 -0
  124. package/dist/forge-payload/meta/skills/meta-bug-fixer-skills.md +43 -0
  125. package/dist/forge-payload/meta/skills/meta-collator-skills.md +41 -0
  126. package/dist/forge-payload/meta/skills/meta-engineer-skills.md +43 -0
  127. package/dist/forge-payload/meta/skills/meta-generic-skills.md +58 -0
  128. package/dist/forge-payload/meta/skills/meta-qa-engineer-skills.md +46 -0
  129. package/dist/forge-payload/meta/skills/meta-supervisor-skills.md +43 -0
  130. package/dist/forge-payload/meta/store-schema/bug.schema.md +71 -0
  131. package/dist/forge-payload/meta/store-schema/event.schema.md +76 -0
  132. package/dist/forge-payload/meta/store-schema/feature.schema.md +65 -0
  133. package/dist/forge-payload/meta/store-schema/sprint.schema.md +64 -0
  134. package/dist/forge-payload/meta/store-schema/task.schema.md +78 -0
  135. package/dist/forge-payload/meta/templates/meta-code-review.md +26 -0
  136. package/dist/forge-payload/meta/templates/meta-plan-review.md +28 -0
  137. package/dist/forge-payload/meta/templates/meta-plan.md +28 -0
  138. package/dist/forge-payload/meta/templates/meta-progress.md +25 -0
  139. package/dist/forge-payload/meta/templates/meta-retrospective.md +28 -0
  140. package/dist/forge-payload/meta/templates/meta-sprint-manifest.md +26 -0
  141. package/dist/forge-payload/meta/templates/meta-sprint-requirements.md +91 -0
  142. package/dist/forge-payload/meta/templates/meta-task-prompt.md +26 -0
  143. package/dist/forge-payload/meta/tool-specs/collate.spec.md +88 -0
  144. package/dist/forge-payload/meta/tool-specs/generation-manifest.spec.md +139 -0
  145. package/dist/forge-payload/meta/tool-specs/manage-config.spec.md +143 -0
  146. package/dist/forge-payload/meta/tool-specs/seed-store.spec.md +91 -0
  147. package/dist/forge-payload/meta/tool-specs/store-cli.spec.md +328 -0
  148. package/dist/forge-payload/meta/tool-specs/validate-store.spec.md +191 -0
  149. package/dist/forge-payload/meta/workflows/_fragments/context-injection.md +75 -0
  150. package/dist/forge-payload/meta/workflows/_fragments/event-emission-schema.md +73 -0
  151. package/dist/forge-payload/meta/workflows/_fragments/finalize.md +13 -0
  152. package/dist/forge-payload/meta/workflows/_fragments/friction-emit.md +73 -0
  153. package/dist/forge-payload/meta/workflows/_fragments/progress-reporting.md +38 -0
  154. package/dist/forge-payload/meta/workflows/_fragments/store-cli-verbs.md +39 -0
  155. package/dist/forge-payload/meta/workflows/meta-approve.md +119 -0
  156. package/dist/forge-payload/meta/workflows/meta-collate.md +89 -0
  157. package/dist/forge-payload/meta/workflows/meta-commit.md +93 -0
  158. package/dist/forge-payload/meta/workflows/meta-enhance.md +292 -0
  159. package/dist/forge-payload/meta/workflows/meta-fix-bug.md +501 -0
  160. package/dist/forge-payload/meta/workflows/meta-implement.md +132 -0
  161. package/dist/forge-payload/meta/workflows/meta-migrate.md +455 -0
  162. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +993 -0
  163. package/dist/forge-payload/meta/workflows/meta-plan-task.md +133 -0
  164. package/dist/forge-payload/meta/workflows/meta-quiz-agent.md +135 -0
  165. package/dist/forge-payload/meta/workflows/meta-retrospective.md +65 -0
  166. package/dist/forge-payload/meta/workflows/meta-review-implementation.md +119 -0
  167. package/dist/forge-payload/meta/workflows/meta-review-plan.md +108 -0
  168. package/dist/forge-payload/meta/workflows/meta-review-sprint-completion.md +65 -0
  169. package/dist/forge-payload/meta/workflows/meta-sprint-intake.md +76 -0
  170. package/dist/forge-payload/meta/workflows/meta-sprint-plan.md +147 -0
  171. package/dist/forge-payload/meta/workflows/meta-update-implementation.md +76 -0
  172. package/dist/forge-payload/meta/workflows/meta-update-plan.md +76 -0
  173. package/dist/forge-payload/meta/workflows/meta-validate.md +111 -0
  174. package/dist/forge-payload/tools/build-persona-pack.cjs +120 -11
  175. package/dist/forge-payload/tools/check-structure.cjs +344 -0
  176. package/dist/forge-payload/tools/list-skills.js +76 -0
  177. package/dist/forge-payload/tools/store-cli.cjs +27 -1
  178. package/dist/forge-payload/tools/substitute-placeholders.cjs +60 -8
  179. package/dist/forge-payload/tools/verify-integrity.cjs +86 -0
  180. package/package.json +2 -2
@@ -36,3 +36,21 @@ export declare function suffixMatch(toolDir: string, cwd: string, kind: "task" |
36
36
  * 5. NLP fallback → store-cli nlp "<query>"
37
37
  */
38
38
  export declare function resolveEntityRef(arg: string, toolDir: string, cwd: string, opts?: ResolveOptions): Promise<ResolverHit | null>;
39
+ export interface ResolveToCanonicalIdOptions {
40
+ /** Which entity types to search. Defaults to a single-element set matching `kind`. */
41
+ entityTypes?: Set<string>;
42
+ /** Command label used in error messages (e.g. "forge:run-task"). */
43
+ commandLabel?: string;
44
+ }
45
+ /**
46
+ * Resolve a raw user arg to a canonical entity ID string.
47
+ *
48
+ * 1. If the arg is already a canonical ID that resolves directly → return it.
49
+ * 2. If the arg is an unprefixed ID (e.g. "S22-T03") → suffix-match or
50
+ * prefix-normalize to the canonical form → return it.
51
+ * 3. If the arg is ambiguous → prompt the user (or hard-fail in non-interactive).
52
+ * 4. If the arg cannot be resolved → emit an actionable error and return null.
53
+ */
54
+ export declare function resolveToCanonicalId(arg: string, toolDir: string, cwd: string, kind: "task" | "sprint" | "bug" | "feature", opts: ResolveToCanonicalIdOptions & {
55
+ ctx?: ExtensionCommandContext;
56
+ }): Promise<string | null>;
@@ -1,8 +1,9 @@
1
1
  // store-resolver.ts — Shared store-cli resolver for `@path` / canonical ID /
2
- // ID-suffix / keyword / NLP cascade. Used by /forge:read and (eventually)
3
- // /forge:plan, /forge:implement, /forge:fix-bug ports. Co-locates the spawn
4
- // helper, regex constants, and the multi-result picker so future ports do not
5
- // drift from the canonical cascade.
2
+ // ID-suffix / keyword / NLP cascade. Used by /forge:read, /forge:run-task,
3
+ // /forge:run-sprint, /forge:fix-bug, and (eventually) /forge:plan,
4
+ // /forge:implement ports. Co-locates the spawn helper, regex constants, and
5
+ // the multi-result picker so future ports do not drift from the canonical
6
+ // cascade.
6
7
  import * as fsSync from "node:fs";
7
8
  import * as path from "node:path";
8
9
  import { execFile } from "node:child_process";
@@ -229,4 +230,43 @@ export async function resolveEntityRef(arg, toolDir, cwd, opts = {}) {
229
230
  }
230
231
  return pick(items);
231
232
  }
233
+ /**
234
+ * Resolve a raw user arg to a canonical entity ID string.
235
+ *
236
+ * 1. If the arg is already a canonical ID that resolves directly → return it.
237
+ * 2. If the arg is an unprefixed ID (e.g. "S22-T03") → suffix-match or
238
+ * prefix-normalize to the canonical form → return it.
239
+ * 3. If the arg is ambiguous → prompt the user (or hard-fail in non-interactive).
240
+ * 4. If the arg cannot be resolved → emit an actionable error and return null.
241
+ */
242
+ export async function resolveToCanonicalId(arg, toolDir, cwd, kind, opts) {
243
+ const { ctx, entityTypes = new Set([kind]), commandLabel = `forge:${kind}`, } = opts;
244
+ const resolved = await resolveEntityRef(arg, toolDir, cwd, {
245
+ entityTypes,
246
+ ctx,
247
+ statusLabel: `${commandLabel}: resolving`,
248
+ });
249
+ if (!resolved) {
250
+ ctx?.ui.notify(`× ${commandLabel} — could not resolve "${arg}". ` +
251
+ `No matching ${kind} found. ` +
252
+ `Try a canonical ID like <PREFIX>-S<N>-T<N> or use /forge:read for search.`, "error");
253
+ return null;
254
+ }
255
+ if ("dir" in resolved) {
256
+ // @path resolution — not a task/sprint/bug ID pattern.
257
+ ctx?.ui.notify(`× ${commandLabel} — "${arg}" resolved to a directory path, not a ${kind} ID. ` +
258
+ `Provide a canonical ${kind} ID instead.`, "error");
259
+ return null;
260
+ }
261
+ const canonicalId = resolved.item?.id;
262
+ if (!canonicalId || typeof canonicalId !== "string") {
263
+ ctx?.ui.notify(`× ${commandLabel} — resolved "${arg}" but record has no canonical ID.`, "error");
264
+ return null;
265
+ }
266
+ // If the canonical ID differs from the raw arg, notify the user.
267
+ if (canonicalId !== arg) {
268
+ ctx?.ui.notify(`ℹ ${commandLabel} — resolved "${arg}" → ${canonicalId}`, "info");
269
+ }
270
+ return canonicalId;
271
+ }
232
272
  //# sourceMappingURL=store-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-resolver.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/store-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-resolver.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/store-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  export interface StoreValidatorResult {
2
2
  ok: boolean;
3
+ /** Raw error output from store-cli. Present when ok=false. */
3
4
  reason: string;
5
+ /** Enhanced message with remediation hints. Present when ok=false. */
6
+ remediation: string;
4
7
  }
5
8
  /**
6
9
  * Validate a store entity payload by spawning `store-cli.cjs validate`.
@@ -9,6 +9,7 @@
9
9
  // async handlers. spawnSync completes before the block result is returned to pi.
10
10
  import { spawnSync } from "node:child_process";
11
11
  import * as path from "node:path";
12
+ import { enhanceBlockMessage } from "./lib/store-error-remediation.js";
12
13
  /**
13
14
  * Validate a store entity payload by spawning `store-cli.cjs validate`.
14
15
  *
@@ -28,8 +29,9 @@ export function validateStoreCLIPayload(entity, payload, forgeRoot) {
28
29
  result.error?.message ||
29
30
  `store-cli validate exited with code ${String(result.status)}` ||
30
31
  "validation failed (no error message)";
31
- return { ok: false, reason };
32
+ const remediation = enhanceBlockMessage(reason, entity, "unknown");
33
+ return { ok: false, reason, remediation };
32
34
  }
33
- return { ok: true, reason: "" };
35
+ return { ok: true, reason: "", remediation: "" };
34
36
  }
35
37
  //# sourceMappingURL=store-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-validator.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/store-validator.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,uEAAuE;AACvE,EAAE;AACF,iBAAiB;AACjB,8EAA8E;AAC9E,mFAAmF;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAOlC;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,OAAgB,EAAE,SAAiB;IAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,SAAS,CACvB,OAAO,CAAC,QAAQ,EAAE,OAAO;IACzB,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAC9C,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACrC,CAAC;IAEF,0DAA0D;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;YACrB,MAAM,CAAC,KAAK,EAAE,OAAO;YACrB,uCAAuC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC9D,sCAAsC,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"store-validator.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/store-validator.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,uEAAuE;AACvE,EAAE;AACF,iBAAiB;AACjB,8EAA8E;AAC9E,mFAAmF;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAUvE;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,OAAgB,EAAE,SAAiB;IAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,SAAS,CACvB,OAAO,CAAC,QAAQ,EAAE,OAAO;IACzB,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAC9C,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACrC,CAAC;IAEF,0DAA0D;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;YACrB,MAAM,CAAC,KAAK,EAAE,OAAO;YACrB,uCAAuC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC9D,sCAAsC,CAAC;QACxC,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAClD,CAAC"}
@@ -130,11 +130,16 @@ class ViewportFooterComponent {
130
130
  };
131
131
  }
132
132
  render(width) {
133
+ // Only show the footer when an orchestrator session is active.
134
+ // When all sessions are terminal (completed/failed/cancelled) or
135
+ // when no session exists, hide the footer — main viewport has no
136
+ // subagent aggregate to display.
137
+ const sessions = this.registry.listSessions();
138
+ const hasActive = sessions.some((s) => s.status === "running" || s.status === "cancelling");
139
+ if (!hasActive)
140
+ return [];
133
141
  const tokens = fmtTokenFooter(this.registry.getAggregateUsage());
134
142
  const orchModel = fmtModelLabel(this.getOrchestratorModel?.());
135
- // Cold-start: hide the row entirely (no model + no usage) so the
136
- // editor area doesn't carry a permanent blank line. As soon as we
137
- // know the orchestrator model OR have observed any usage, render.
138
143
  if (!tokens && !orchModel)
139
144
  return [];
140
145
  const left = orchModel ? `⌂ ${orchModel}` : "";
@@ -160,6 +165,9 @@ class ChipStripComponent {
160
165
  focusedChipId = "main";
161
166
  stripActive = false;
162
167
  invalidationCb;
168
+ /** When non-null, the strip shows a cancellation confirmation prompt
169
+ * for this chip instead of the normal chip view. */
170
+ cancelTarget = null;
163
171
  constructor(registry, theme) {
164
172
  this.registry = registry;
165
173
  this.theme = theme;
@@ -230,11 +238,20 @@ class ChipStripComponent {
230
238
  chipGlyph(chip) {
231
239
  if (chip.id === "main")
232
240
  return this.focusedChipId === "main" ? "●" : "○";
241
+ const session = this.activeSession();
233
242
  const p = this.chipPhase(chip);
234
243
  if (!p)
235
244
  return "·";
236
245
  if (this.focusedChipId === chip.id)
237
246
  return "●";
247
+ // Cancelling/cancelled glyphs are session-level, not phase-level.
248
+ // Show ⏳ for any phase when the session is cancelling, ⊘ when cancelled.
249
+ if (session?.status === "cancelled" && p.status !== "completed" && p.status !== "failed")
250
+ return "⊘";
251
+ if (session?.status === "cancelling" && p.status === "running")
252
+ return "⏳";
253
+ if (p.status === "cancelled")
254
+ return "⊘";
238
255
  if (p.status === "completed")
239
256
  return "✓";
240
257
  if (p.status === "failed")
@@ -253,7 +270,7 @@ class ChipStripComponent {
253
270
  return session.phases[session.phases.length - 1]?.role;
254
271
  }
255
272
  spinnerFrame(session) {
256
- if (session.status !== "running")
273
+ if (session.status !== "running" && session.status !== "cancelling")
257
274
  return "";
258
275
  const idx = Math.floor(Date.now() / SPINNER_INTERVAL_MS) % SPINNER_FRAMES.length;
259
276
  return SPINNER_FRAMES[idx];
@@ -262,6 +279,10 @@ class ChipStripComponent {
262
279
  const session = this.activeSession();
263
280
  if (!session)
264
281
  return []; // UX-B: hide entirely when no session.
282
+ // If user is confirming cancellation, show the confirmation prompt.
283
+ if (this.cancelTarget) {
284
+ return this.renderCancelPrompt(width, this.cancelTarget);
285
+ }
265
286
  const chips = this.chips();
266
287
  // Clamp cursor.
267
288
  if (this.cursorIdx >= chips.length)
@@ -273,29 +294,47 @@ class ChipStripComponent {
273
294
  renderInactive(width, session) {
274
295
  const dim = (s) => this.theme.fg("dim", s);
275
296
  const accent = (s) => this.theme.fg("accent", s);
276
- const spin = this.spinnerFrame(session);
277
297
  const chips = this.chips();
278
- // Orchestrator chip stays bracketed + accent-colored (anchor identity).
279
- // Subagent chips render after it as `<glyph> <role>`, dimmed —
280
- // completed phases show ✓, failed ✗, live ◇ (or ◆ with unread).
281
- // This makes phase progression visible at a glance without expanding
282
- // the strip.
298
+ const spin = this.spinnerFrame(session);
299
+ // Orchestrator chip: bracketed + accent-colored (anchor identity).
300
+ // Subagent chips: <glyph> <role>, dimmed.
283
301
  const orchChip = accent(`[${session.taskId}]`);
284
302
  const phaseChips = chips
285
303
  .filter((c) => c.id !== "main")
286
304
  .map((c) => dim(`${this.chipGlyph(c)} ${c.label}`));
287
305
  const chipsLine = [orchChip, ...phaseChips].join(" ");
288
- const prefix = dim("threads ");
289
- const hint = dim(" ↓ to navigate");
306
+ // Right-side: status · spinner · command hints.
307
+ // Cancelled sessions show "r resume" affordance; all others show "↓ to navigate".
308
+ const statusLabel = session.status === "cancelled" ? "cancelled"
309
+ : session.status === "cancelling" ? "cancelling…"
310
+ : "";
311
+ const statusPart = statusLabel ? dim(` ${statusLabel}`) : "";
290
312
  const spinPart = spin ? ` ${spin}` : "";
291
- const previewText = session.currentTurnPreview ? ` "${session.currentTurnPreview}"` : "";
292
- const fixedWidth = visibleWidth(prefix) +
293
- visibleWidth(chipsLine) +
294
- visibleWidth(spinPart) +
295
- visibleWidth(hint);
296
- const previewBudget = Math.max(0, width - fixedWidth);
297
- const preview = previewText ? dim(truncateToWidth(previewText, previewBudget)) : "";
298
- let line = `${prefix}${chipsLine}${spinPart}${preview}${hint}`;
313
+ const hint = session.status === "cancelled"
314
+ ? dim(" ↓ nav · r resume")
315
+ : dim(" ↓ to navigate");
316
+ // Truncate preview text from the MIDDLE of the line to keep chips and hints visible.
317
+ const previewText = session.currentTurnPreview ? `"${session.currentTurnPreview}"` : "";
318
+ // Priority: chips + status + spinner + hint are fixed.
319
+ // Truncate preview first, then truncate from the right as fallback.
320
+ const fixedRight = visibleWidth(statusPart) + visibleWidth(spinPart) + visibleWidth(hint);
321
+ const previewBudget = Math.max(0, width - fixedRight - 4); // 4 = safety margin
322
+ let preview = "";
323
+ if (previewText) {
324
+ // Truncate the preview text itself to fit the budget
325
+ const truncated = truncateToWidth(previewText, previewBudget);
326
+ if (visibleWidth(truncated) > 0)
327
+ preview = dim(` ${truncated}`);
328
+ }
329
+ // Build line; truncate from the right (preview tail) if still over-width.
330
+ let line = `${chipsLine}${statusPart}${spinPart}${preview}${hint}`;
331
+ if (visibleWidth(line) > width) {
332
+ // Truncate preview tail first (not chips)
333
+ const budget = Math.max(0, width - visibleWidth(chipsLine) - fixedRight);
334
+ const previewOnly = truncateToWidth(previewText, budget);
335
+ preview = previewOnly ? dim(` ${previewOnly}`) : "";
336
+ line = `${chipsLine}${statusPart}${spinPart}${preview}${hint}`;
337
+ }
299
338
  if (visibleWidth(line) > width)
300
339
  line = truncateToWidth(line, width);
301
340
  return [line];
@@ -315,8 +354,18 @@ class ChipStripComponent {
315
354
  return bold(inner);
316
355
  return dim(inner);
317
356
  });
318
- const prefix = accent("threads ─ ");
319
- const hint = dim(" ←→ · enter · back · esc back+main");
357
+ const prefix = "";
358
+ // "r resume" shown only for cancelled sessions; "x cancel" for running ones.
359
+ const cancelWord = session.status === "cancelled" ? dim("r resume") : dim("x cancel");
360
+ const navHints = dim(" ←→ · enter · ↑ back · esc back+main");
361
+ // Show status-based text for non-running sessions
362
+ let statusPart = "";
363
+ if (session.status === "cancelling") {
364
+ statusPart = " cancelling…";
365
+ }
366
+ else if (session.status === "cancelled") {
367
+ statusPart = " cancelled";
368
+ }
320
369
  const spin = this.spinnerFrame(session);
321
370
  const spinPart = spin ? ` ${spin}` : "";
322
371
  const previewText = session.currentTurnPreview ? ` "${session.currentTurnPreview}"` : "";
@@ -325,15 +374,44 @@ class ChipStripComponent {
325
374
  const fixed = visibleWidth(prefix) +
326
375
  visibleWidth(chipsJoined) +
327
376
  visibleWidth(spinPart) +
328
- visibleWidth(hint);
377
+ visibleWidth(statusPart) +
378
+ visibleWidth(cancelWord) +
379
+ visibleWidth(navHints);
329
380
  const previewBudget = Math.max(0, width - fixed);
330
381
  const preview = previewText ? dim(truncateToWidth(previewText, previewBudget)) : "";
331
- let line = `${prefix}${chipsJoined}${spinPart}${preview}${hint}`;
382
+ let line = `${prefix}${chipsJoined}${spinPart}${statusPart}${preview} ${cancelWord} ${navHints}`;
332
383
  // Hard cap as last-resort defence (visibleWidth is best-effort).
333
384
  if (visibleWidth(line) > width)
334
385
  line = truncateToWidth(line, width);
335
386
  return [line];
336
387
  }
388
+ /**
389
+ * Render the cancellation confirmation prompt. Replaces the normal
390
+ * chip strip when cancelTarget is non-null.
391
+ * ⚠ Cancel [taskId] → [phaseRole]? y/n · esc to abort
392
+ */
393
+ renderCancelPrompt(width, target) {
394
+ const dim = (s) => this.theme.fg("dim", s);
395
+ const warning = (s) => this.theme.fg("warning", s);
396
+ const bold = (s) => this.theme.bold(s);
397
+ const taskLabel = target.taskId ?? target.label;
398
+ const phaseLabel = target.id === "main" ? "session" : target.label;
399
+ // "cancel" sits right after the prompt — most visible position.
400
+ // Truncation sacrifices the dim dismiss-hints from the END, keeping
401
+ // the action word and the warning always readable.
402
+ const actionWord = dim("cancel");
403
+ const hints = dim(" · n/esc dismiss · y confirm");
404
+ const prompt = warning(`⚠ Cancel ${bold(taskLabel)} → ${bold(phaseLabel)}? `);
405
+ const budget = Math.max(0, width - visibleWidth(prompt) - visibleWidth(actionWord));
406
+ const tail = budget > 0 ? dim(` · n/esc dismiss · y confirm`) : "";
407
+ const budgetedTail = visibleWidth(tail) > budget
408
+ ? dim(truncateToWidth(` · n/esc dismiss · y confirm`, budget))
409
+ : tail;
410
+ let line = `${prompt}${actionWord}${budgetedTail}`;
411
+ if (visibleWidth(line) > width)
412
+ line = truncateToWidth(line, width);
413
+ return [line];
414
+ }
337
415
  invalidate() {
338
416
  // Re-render driven by external invalidationCb → tui.requestRender().
339
417
  }
@@ -345,6 +423,47 @@ class ChipStripComponent {
345
423
  this.stripActive = active;
346
424
  this.invalidationCb?.();
347
425
  }
426
+ /** Initiate cancel confirmation for a chip. Sets cancelTarget so the
427
+ * next render shows the confirmation prompt. */
428
+ requestCancelChip(chip) {
429
+ this.cancelTarget = chip;
430
+ this.invalidationCb?.();
431
+ }
432
+ /** Confirm the pending cancellation (user pressed y). */
433
+ confirmCancel() {
434
+ const target = this.cancelTarget;
435
+ this.cancelTarget = null;
436
+ this.invalidationCb?.();
437
+ return target;
438
+ }
439
+ /** Dismiss the cancel prompt (user pressed n/Esc). */
440
+ dismissCancel() {
441
+ this.cancelTarget = null;
442
+ this.invalidationCb?.();
443
+ }
444
+ /** Whether a cancel confirmation prompt is active. */
445
+ isCancelPromptActive() {
446
+ return this.cancelTarget !== null;
447
+ }
448
+ /** Check if the chip at the current cursor is a running phase that can be cancelled. */
449
+ isCursorCancellable() {
450
+ const chip = this.cursorChip();
451
+ if (!chip)
452
+ return false;
453
+ if (chip.id === "main") {
454
+ const session = this.activeSession();
455
+ return (session?.status ?? "") === "running";
456
+ }
457
+ const p = this.chipPhase(chip);
458
+ if (!p)
459
+ return false;
460
+ return p.status === "running";
461
+ }
462
+ /** True when the current session is cancelled — r key triggers resume. */
463
+ isCursorResumable() {
464
+ const session = this.activeSession();
465
+ return session?.status === "cancelled";
466
+ }
348
467
  getStripActive() {
349
468
  return this.stripActive;
350
469
  }
@@ -411,6 +530,18 @@ function isEsc(d) {
411
530
  // by the arrow checks above first.
412
531
  return d === "\x1b";
413
532
  }
533
+ function isXKey(d) {
534
+ return d === "x";
535
+ }
536
+ function isRKey(d) {
537
+ return d === "r" || d === "R";
538
+ }
539
+ function isYKey(d) {
540
+ return d === "y" || d === "Y";
541
+ }
542
+ function isNKey(d) {
543
+ return d === "n" || d === "N";
544
+ }
414
545
  // ── Registrar ───────────────────────────────────────────────────────────────
415
546
  /**
416
547
  * Custom renderer for the `forge:turn` chat-history rows we append on every
@@ -459,14 +590,14 @@ export function registerThreadSwitcher(pi) {
459
590
  // session_start and on every forge:threads command invocation.
460
591
  let currentCtx;
461
592
  function ensureSpinnerTimer() {
462
- // Tick re-renders while any session is "running" so the spinner
463
- // glyph animates and the preview text refreshes between user input.
593
+ // Tick re-renders while any session is "running" or "cancelling" so the
594
+ // spinner glyph animates and the preview text refreshes between user input.
464
595
  // When all sessions are terminal, the timer stops itself.
465
596
  if (spinnerTimer)
466
597
  return;
467
598
  spinnerTimer = setInterval(() => {
468
- const anyRunning = registry.listSessions().some((s) => s.status === "running");
469
- if (!anyRunning) {
599
+ const anyActive = registry.listSessions().some((s) => s.status === "running" || s.status === "cancelling");
600
+ if (!anyActive) {
470
601
  if (spinnerTimer)
471
602
  clearInterval(spinnerTimer);
472
603
  spinnerTimer = undefined;
@@ -569,6 +700,60 @@ export function registerThreadSwitcher(pi) {
569
700
  stripRef.parkCursorOnCurrentPhase();
570
701
  return { consume: true };
571
702
  }
703
+ // ── Cancel-confirmation handling (cancelTarget active) ────────
704
+ // When the strip shows a cancel prompt, y/Enter confirms,
705
+ // n/Esc dismisses. All other keys are consumed (no passthrough).
706
+ if (stripRef.isCancelPromptActive()) {
707
+ if (isYKey(data) || isEnter(data)) {
708
+ const target = stripRef.confirmCancel();
709
+ if (target?.taskId) {
710
+ registry.requestCancel(target.taskId);
711
+ }
712
+ stripRef.setStripActive(false);
713
+ setFocusToMain(live);
714
+ return { consume: true };
715
+ }
716
+ // Dismiss: n, Esc
717
+ if (isNKey(data) || isEsc(data)) {
718
+ stripRef.dismissCancel();
719
+ stripRef.setStripActive(false);
720
+ return { consume: true };
721
+ }
722
+ // Any other key in cancel-confirmation mode is consumed silently.
723
+ return { consume: true };
724
+ }
725
+ if (isXKey(data)) {
726
+ const chip = stripRef.cursorChip();
727
+ if (chip && stripRef.isCursorCancellable()) {
728
+ stripRef.requestCancelChip(chip);
729
+ return { consume: true };
730
+ }
731
+ return undefined;
732
+ }
733
+ if (isRKey(data)) {
734
+ // Resume a cancelled session. The state file is preserved on cancel
735
+ // (ADR-S21-01). Write the slash command to the editor and simulate
736
+ // Enter — exactly mirrors how a user types and submits the command.
737
+ const session = registry.listSessions()[0];
738
+ if (session && stripRef.isCursorResumable()) {
739
+ const entityId = session.taskId;
740
+ const cmd = entityId.startsWith("FORGE-BUG-")
741
+ ? `forge:fix-bug ${entityId}`
742
+ : `forge:run-task ${entityId}`;
743
+ stripRef.setStripActive(false);
744
+ try {
745
+ live.ui.setEditorText(`/${cmd}`);
746
+ }
747
+ catch {
748
+ // Non-fatal — editor may not be accessible in all contexts.
749
+ live.ui.notify(`↻ Resume: /${cmd}`, "info");
750
+ }
751
+ // Return Enter to submit the command. The router dispatches
752
+ // normally; pi processes it as a slash-command submit.
753
+ return { data: "\r" };
754
+ }
755
+ return undefined;
756
+ }
572
757
  if (isLeftArrow(data)) {
573
758
  stripRef.moveCursor(-1);
574
759
  return { consume: true };
@@ -1 +1 @@
1
- {"version":3,"file":"thread-switcher.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/thread-switcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-switcher.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/thread-switcher.ts"],"names":[],"mappings":"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"}