@entelligentsia/forgecli 1.0.21 → 1.0.25

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 (232) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/dist/CHANGELOG-forge-plugin.md +118 -0
  3. package/dist/extensions/forgecli/forge-tools.d.ts +1 -0
  4. package/dist/extensions/forgecli/forge-tools.js +73 -0
  5. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  6. package/dist/extensions/forgecli/lib/forge-root.d.ts +5 -0
  7. package/dist/extensions/forgecli/lib/forge-root.js +14 -1
  8. package/dist/extensions/forgecli/lib/forge-root.js.map +1 -1
  9. package/dist/extensions/forgecli/orchestrators/fix-bug.d.ts +1 -0
  10. package/dist/extensions/forgecli/orchestrators/fix-bug.js +26 -0
  11. package/dist/extensions/forgecli/orchestrators/fix-bug.js.map +1 -1
  12. package/dist/extensions/forgecli/orchestrators/run-sprint.js +49 -0
  13. package/dist/extensions/forgecli/orchestrators/run-sprint.js.map +1 -1
  14. package/dist/forge-payload/.base-pack/workflows/_fragments/event-emission-schema.md +4 -0
  15. package/dist/forge-payload/.base-pack/workflows/_fragments/event-vocabulary.md +88 -0
  16. package/dist/forge-payload/.base-pack/workflows/commit_task.md +41 -38
  17. package/dist/forge-payload/.base-pack/workflows/implement_plan.md +3 -3
  18. package/dist/forge-payload/.base-pack/workflows-js/wfl-fix-bug.js +42 -6
  19. package/dist/forge-payload/.base-pack/workflows-js/wfl-run-task.js +32 -1
  20. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  21. package/dist/forge-payload/.schemas/enum-catalog.json +2 -2
  22. package/dist/forge-payload/.schemas/event.schema.json +8 -3
  23. package/dist/forge-payload/.schemas/migrations.json +56 -0
  24. package/dist/forge-payload/integrity.json +3 -3
  25. package/dist/forge-payload/meta/store-schema/event.schema.md +7 -0
  26. package/dist/forge-payload/meta/workflows/_fragments/event-emission-schema.md +4 -0
  27. package/dist/forge-payload/meta/workflows/_fragments/event-vocabulary.md +88 -0
  28. package/dist/forge-payload/meta/workflows/meta-commit.md +46 -43
  29. package/dist/forge-payload/meta/workflows/meta-fix-bug.md +7 -2
  30. package/dist/forge-payload/meta/workflows/meta-implement.md +3 -3
  31. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +4 -1
  32. package/dist/forge-payload/schemas/enum-catalog.json +2 -2
  33. package/dist/forge-payload/schemas/event.schema.json +8 -3
  34. package/dist/forge-payload/schemas/structure-manifest.json +4 -2
  35. package/dist/forge-payload/tools/commit-task.cjs +218 -0
  36. package/dist/forge-payload/tools/store-cli.cjs +6 -1
  37. package/node_modules/@mariozechner/clipboard/package.json +2 -1
  38. package/node_modules/@mariozechner/clipboard-linux-x64-musl/README.md +3 -0
  39. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +25 -0
  40. package/package.json +2 -2
  41. package/dist/extensions/forgecli/add-pipeline.d.ts +0 -19
  42. package/dist/extensions/forgecli/add-pipeline.js +0 -143
  43. package/dist/extensions/forgecli/add-pipeline.js.map +0 -1
  44. package/dist/extensions/forgecli/add-task.d.ts +0 -20
  45. package/dist/extensions/forgecli/add-task.js +0 -154
  46. package/dist/extensions/forgecli/add-task.js.map +0 -1
  47. package/dist/extensions/forgecli/approve.d.ts +0 -22
  48. package/dist/extensions/forgecli/approve.js +0 -152
  49. package/dist/extensions/forgecli/approve.js.map +0 -1
  50. package/dist/extensions/forgecli/banner.d.ts +0 -10
  51. package/dist/extensions/forgecli/banner.js +0 -36
  52. package/dist/extensions/forgecli/banner.js.map +0 -1
  53. package/dist/extensions/forgecli/calibrate.d.ts +0 -64
  54. package/dist/extensions/forgecli/calibrate.js +0 -481
  55. package/dist/extensions/forgecli/calibrate.js.map +0 -1
  56. package/dist/extensions/forgecli/collate.d.ts +0 -22
  57. package/dist/extensions/forgecli/collate.js +0 -134
  58. package/dist/extensions/forgecli/collate.js.map +0 -1
  59. package/dist/extensions/forgecli/commit.d.ts +0 -22
  60. package/dist/extensions/forgecli/commit.js +0 -152
  61. package/dist/extensions/forgecli/commit.js.map +0 -1
  62. package/dist/extensions/forgecli/config-command.d.ts +0 -8
  63. package/dist/extensions/forgecli/config-command.js +0 -67
  64. package/dist/extensions/forgecli/config-command.js.map +0 -1
  65. package/dist/extensions/forgecli/config-layer.d.ts +0 -53
  66. package/dist/extensions/forgecli/config-layer.js +0 -72
  67. package/dist/extensions/forgecli/config-layer.js.map +0 -1
  68. package/dist/extensions/forgecli/config-writer.d.ts +0 -16
  69. package/dist/extensions/forgecli/config-writer.js +0 -69
  70. package/dist/extensions/forgecli/config-writer.js.map +0 -1
  71. package/dist/extensions/forgecli/enhance.d.ts +0 -27
  72. package/dist/extensions/forgecli/enhance.js +0 -199
  73. package/dist/extensions/forgecli/enhance.js.map +0 -1
  74. package/dist/extensions/forgecli/fix-bug.d.ts +0 -85
  75. package/dist/extensions/forgecli/fix-bug.js +0 -1580
  76. package/dist/extensions/forgecli/fix-bug.js.map +0 -1
  77. package/dist/extensions/forgecli/forge-header.d.ts +0 -12
  78. package/dist/extensions/forgecli/forge-header.js +0 -114
  79. package/dist/extensions/forgecli/forge-header.js.map +0 -1
  80. package/dist/extensions/forgecli/forge-init.d.ts +0 -26
  81. package/dist/extensions/forgecli/forge-init.js +0 -514
  82. package/dist/extensions/forgecli/forge-init.js.map +0 -1
  83. package/dist/extensions/forgecli/forge-root.d.ts +0 -10
  84. package/dist/extensions/forgecli/forge-root.js +0 -62
  85. package/dist/extensions/forgecli/forge-root.js.map +0 -1
  86. package/dist/extensions/forgecli/forge-update-command.d.ts +0 -100
  87. package/dist/extensions/forgecli/forge-update-command.js +0 -435
  88. package/dist/extensions/forgecli/forge-update-command.js.map +0 -1
  89. package/dist/extensions/forgecli/friction-emit.d.ts +0 -99
  90. package/dist/extensions/forgecli/friction-emit.js +0 -245
  91. package/dist/extensions/forgecli/friction-emit.js.map +0 -1
  92. package/dist/extensions/forgecli/implement.d.ts +0 -22
  93. package/dist/extensions/forgecli/implement.js +0 -170
  94. package/dist/extensions/forgecli/implement.js.map +0 -1
  95. package/dist/extensions/forgecli/init-context.d.ts +0 -99
  96. package/dist/extensions/forgecli/init-context.js +0 -178
  97. package/dist/extensions/forgecli/init-context.js.map +0 -1
  98. package/dist/extensions/forgecli/init-progress.d.ts +0 -39
  99. package/dist/extensions/forgecli/init-progress.js +0 -117
  100. package/dist/extensions/forgecli/init-progress.js.map +0 -1
  101. package/dist/extensions/forgecli/input-router.d.ts +0 -33
  102. package/dist/extensions/forgecli/input-router.js +0 -136
  103. package/dist/extensions/forgecli/input-router.js.map +0 -1
  104. package/dist/extensions/forgecli/lib/halt-advisor.d.ts +0 -59
  105. package/dist/extensions/forgecli/lib/halt-advisor.js +0 -113
  106. package/dist/extensions/forgecli/lib/halt-advisor.js.map +0 -1
  107. package/dist/extensions/forgecli/lib/orchestrator-preflight.d.ts +0 -46
  108. package/dist/extensions/forgecli/lib/orchestrator-preflight.js +0 -64
  109. package/dist/extensions/forgecli/lib/orchestrator-preflight.js.map +0 -1
  110. package/dist/extensions/forgecli/materialize.d.ts +0 -16
  111. package/dist/extensions/forgecli/materialize.js +0 -195
  112. package/dist/extensions/forgecli/materialize.js.map +0 -1
  113. package/dist/extensions/forgecli/migrate.d.ts +0 -22
  114. package/dist/extensions/forgecli/migrate.js +0 -260
  115. package/dist/extensions/forgecli/migrate.js.map +0 -1
  116. package/dist/extensions/forgecli/migration-engine.d.ts +0 -117
  117. package/dist/extensions/forgecli/migration-engine.js +0 -563
  118. package/dist/extensions/forgecli/migration-engine.js.map +0 -1
  119. package/dist/extensions/forgecli/model-registry.d.ts +0 -61
  120. package/dist/extensions/forgecli/model-registry.js +0 -127
  121. package/dist/extensions/forgecli/model-registry.js.map +0 -1
  122. package/dist/extensions/forgecli/model-resolver.d.ts +0 -32
  123. package/dist/extensions/forgecli/model-resolver.js +0 -65
  124. package/dist/extensions/forgecli/model-resolver.js.map +0 -1
  125. package/dist/extensions/forgecli/model-validator.d.ts +0 -29
  126. package/dist/extensions/forgecli/model-validator.js +0 -107
  127. package/dist/extensions/forgecli/model-validator.js.map +0 -1
  128. package/dist/extensions/forgecli/orchestrator-status-bar.d.ts +0 -26
  129. package/dist/extensions/forgecli/orchestrator-status-bar.js +0 -213
  130. package/dist/extensions/forgecli/orchestrator-status-bar.js.map +0 -1
  131. package/dist/extensions/forgecli/plan.d.ts +0 -22
  132. package/dist/extensions/forgecli/plan.js +0 -167
  133. package/dist/extensions/forgecli/plan.js.map +0 -1
  134. package/dist/extensions/forgecli/quiz-agent.d.ts +0 -17
  135. package/dist/extensions/forgecli/quiz-agent.js +0 -98
  136. package/dist/extensions/forgecli/quiz-agent.js.map +0 -1
  137. package/dist/extensions/forgecli/read-command.d.ts +0 -2
  138. package/dist/extensions/forgecli/read-command.js +0 -100
  139. package/dist/extensions/forgecli/read-command.js.map +0 -1
  140. package/dist/extensions/forgecli/regenerate.d.ts +0 -40
  141. package/dist/extensions/forgecli/regenerate.js +0 -438
  142. package/dist/extensions/forgecli/regenerate.js.map +0 -1
  143. package/dist/extensions/forgecli/remove-command.d.ts +0 -17
  144. package/dist/extensions/forgecli/remove-command.js +0 -124
  145. package/dist/extensions/forgecli/remove-command.js.map +0 -1
  146. package/dist/extensions/forgecli/report-bug.d.ts +0 -25
  147. package/dist/extensions/forgecli/report-bug.js +0 -159
  148. package/dist/extensions/forgecli/report-bug.js.map +0 -1
  149. package/dist/extensions/forgecli/retrospective.d.ts +0 -20
  150. package/dist/extensions/forgecli/retrospective.js +0 -126
  151. package/dist/extensions/forgecli/retrospective.js.map +0 -1
  152. package/dist/extensions/forgecli/review-code.d.ts +0 -35
  153. package/dist/extensions/forgecli/review-code.js +0 -196
  154. package/dist/extensions/forgecli/review-code.js.map +0 -1
  155. package/dist/extensions/forgecli/review-plan.d.ts +0 -35
  156. package/dist/extensions/forgecli/review-plan.js +0 -200
  157. package/dist/extensions/forgecli/review-plan.js.map +0 -1
  158. package/dist/extensions/forgecli/run-sprint.d.ts +0 -27
  159. package/dist/extensions/forgecli/run-sprint.js +0 -716
  160. package/dist/extensions/forgecli/run-sprint.js.map +0 -1
  161. package/dist/extensions/forgecli/run-task.d.ts +0 -204
  162. package/dist/extensions/forgecli/run-task.js +0 -1403
  163. package/dist/extensions/forgecli/run-task.js.map +0 -1
  164. package/dist/extensions/forgecli/skill-curation-flag.d.ts +0 -21
  165. package/dist/extensions/forgecli/skill-curation-flag.js +0 -71
  166. package/dist/extensions/forgecli/skill-curation-flag.js.map +0 -1
  167. package/dist/extensions/forgecli/skill-curator-subagent.d.ts +0 -102
  168. package/dist/extensions/forgecli/skill-curator-subagent.js +0 -339
  169. package/dist/extensions/forgecli/skill-curator-subagent.js.map +0 -1
  170. package/dist/extensions/forgecli/skill-retriever.d.ts +0 -84
  171. package/dist/extensions/forgecli/skill-retriever.js +0 -246
  172. package/dist/extensions/forgecli/skill-retriever.js.map +0 -1
  173. package/dist/extensions/forgecli/skill-usage-tracker.d.ts +0 -91
  174. package/dist/extensions/forgecli/skill-usage-tracker.js +0 -224
  175. package/dist/extensions/forgecli/skill-usage-tracker.js.map +0 -1
  176. package/dist/extensions/forgecli/sprint-intake.d.ts +0 -10
  177. package/dist/extensions/forgecli/sprint-intake.js +0 -91
  178. package/dist/extensions/forgecli/sprint-intake.js.map +0 -1
  179. package/dist/extensions/forgecli/sprint-plan.d.ts +0 -14
  180. package/dist/extensions/forgecli/sprint-plan.js +0 -122
  181. package/dist/extensions/forgecli/sprint-plan.js.map +0 -1
  182. package/dist/extensions/forgecli/status-command.d.ts +0 -19
  183. package/dist/extensions/forgecli/status-command.js +0 -140
  184. package/dist/extensions/forgecli/status-command.js.map +0 -1
  185. package/dist/extensions/forgecli/store-error-remediation.d.ts +0 -65
  186. package/dist/extensions/forgecli/store-error-remediation.js +0 -307
  187. package/dist/extensions/forgecli/store-error-remediation.js.map +0 -1
  188. package/dist/extensions/forgecli/store-query.d.ts +0 -22
  189. package/dist/extensions/forgecli/store-query.js +0 -107
  190. package/dist/extensions/forgecli/store-query.js.map +0 -1
  191. package/dist/extensions/forgecli/store-repair.d.ts +0 -17
  192. package/dist/extensions/forgecli/store-repair.js +0 -123
  193. package/dist/extensions/forgecli/store-repair.js.map +0 -1
  194. package/dist/extensions/forgecli/store-resolver.d.ts +0 -56
  195. package/dist/extensions/forgecli/store-resolver.js +0 -263
  196. package/dist/extensions/forgecli/store-resolver.js.map +0 -1
  197. package/dist/extensions/forgecli/store-validator.d.ts +0 -16
  198. package/dist/extensions/forgecli/store-validator.js +0 -32
  199. package/dist/extensions/forgecli/store-validator.js.map +0 -1
  200. package/dist/extensions/forgecli/test-orchestrate.d.ts +0 -2
  201. package/dist/extensions/forgecli/test-orchestrate.js +0 -182
  202. package/dist/extensions/forgecli/test-orchestrate.js.map +0 -1
  203. package/dist/extensions/forgecli/thread-switcher.d.ts +0 -5
  204. package/dist/extensions/forgecli/thread-switcher.js +0 -189
  205. package/dist/extensions/forgecli/thread-switcher.js.map +0 -1
  206. package/dist/extensions/forgecli/transition-guard.d.ts +0 -20
  207. package/dist/extensions/forgecli/transition-guard.js +0 -89
  208. package/dist/extensions/forgecli/transition-guard.js.map +0 -1
  209. package/dist/extensions/forgecli/update-check.d.ts +0 -37
  210. package/dist/extensions/forgecli/update-check.js +0 -185
  211. package/dist/extensions/forgecli/update-check.js.map +0 -1
  212. package/dist/extensions/forgecli/update-tools.d.ts +0 -23
  213. package/dist/extensions/forgecli/update-tools.js +0 -135
  214. package/dist/extensions/forgecli/update-tools.js.map +0 -1
  215. package/dist/extensions/forgecli/validate.d.ts +0 -22
  216. package/dist/extensions/forgecli/validate.js +0 -152
  217. package/dist/extensions/forgecli/validate.js.map +0 -1
  218. package/dist/extensions/forgecli/viewport-events.d.ts +0 -78
  219. package/dist/extensions/forgecli/viewport-events.js +0 -243
  220. package/dist/extensions/forgecli/viewport-events.js.map +0 -1
  221. package/dist/extensions/forgecli/viewport-renderer.d.ts +0 -83
  222. package/dist/extensions/forgecli/viewport-renderer.js +0 -233
  223. package/dist/extensions/forgecli/viewport-renderer.js.map +0 -1
  224. package/dist/extensions/forgecli/viewport-theme.d.ts +0 -11
  225. package/dist/extensions/forgecli/viewport-theme.js +0 -128
  226. package/dist/extensions/forgecli/viewport-theme.js.map +0 -1
  227. package/dist/extensions/forgecli/whats-new-widget.d.ts +0 -26
  228. package/dist/extensions/forgecli/whats-new-widget.js +0 -376
  229. package/dist/extensions/forgecli/whats-new-widget.js.map +0 -1
  230. package/dist/extensions/forgecli/whats-new.d.ts +0 -120
  231. package/dist/extensions/forgecli/whats-new.js +0 -470
  232. package/dist/extensions/forgecli/whats-new.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-command.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/status-command.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- export interface RemediationResult {
2
- /** One-line user-facing hint explaining the error and the fix. */
3
- hint: string;
4
- /** Optional copy-pasteable store-cli command. Empty string if N/A. */
5
- command: string;
6
- }
7
- /**
8
- * Infer the entity type from an entity name/ID string.
9
- * Returns "task" as default if no match.
10
- */
11
- export declare function inferEntityType(entity: string): string;
12
- /** Parsed breakdown of a validation error string. */
13
- interface ParsedError {
14
- field: string;
15
- errorKind: "enum" | "required" | "undeclared" | "type" | "pattern" | "datetime" | "length" | "other";
16
- observed?: string;
17
- enumValues?: string[];
18
- }
19
- /**
20
- * Parse a single validation error line from validate.js / store-cli.
21
- *
22
- * Examples:
23
- * 'status: value "verified" not in [reported, triaged, in-progress, fixed]'
24
- * 'taskId: missing required field'
25
- * 'xyz: undeclared field'
26
- * 'sprintId: expected string, got number'
27
- * 'title: value length 0 is below minLength 1'
28
- * 'createdAt: value "today" is not a valid date-time'
29
- * 'prefix: value "AB" does not match pattern ^[A-Z]+-[A-Z]$'
30
- */
31
- export declare function parseValidationError(line: string): ParsedError;
32
- /**
33
- * Given a single validation error line (from validate.js or store-cli),
34
- * return a user-facing remediation hint and optional copy-pasteable command.
35
- *
36
- * @param errorLine A single error line from validate.js / store-cli output.
37
- * @param entityType The entity type (task, sprint, bug, feature, event).
38
- * @param entityId The entity ID (e.g. "FORGE-S18-T02") — used for commands.
39
- * @returns RemediationResult with hint and command.
40
- */
41
- export declare function remediateError(errorLine: string, entityType: string, entityId: string): RemediationResult;
42
- /**
43
- * Parse a multi-line validation output (e.g. from store-cli validate or
44
- * validate-store --dry-run) into individual error lines and return
45
- * remediation for each.
46
- *
47
- * @param output Raw multi-line output from validation tool.
48
- * @param entityType Override entity type (inferred from output if not provided).
49
- * @returns Array of { errorLine, remediation } objects.
50
- */
51
- export declare function remediateValidationOutput(output: string, entityType?: string): Array<{
52
- errorLine: string;
53
- remediation: RemediationResult;
54
- }>;
55
- /**
56
- * Format a block message for a write-guard violation, appending remediation hints.
57
- * Used by hook-dispatcher.ts for store-cli intercept blocks.
58
- *
59
- * @param rawReason The raw reason string from validateStoreCLIPayload or checkWriteGuard.
60
- * @param entityType The entity type if known.
61
- * @param entityId The entity ID if known.
62
- * @returns Enhanced reason string with remediation hints appended.
63
- */
64
- export declare function enhanceBlockMessage(rawReason: string, entityType?: string, entityId?: string): string;
65
- export {};
@@ -1,307 +0,0 @@
1
- // Store-error remediation — forge-cli#24
2
- // Moved from lib/store-error-remediation.ts to root by FORGE-S25-T22 (S-7: single-file lib/ dir).
3
- //
4
- // Shared remediation-hint surface for store validation errors.
5
- // Consumed by:
6
- // - health-check.ts (per-error row in store-integrity output)
7
- // - hooks/write-guard.ts (block-message body for schema violations)
8
- // - hook-dispatcher.ts (store-cli intercept block messages)
9
- // - store-validator.ts (structured result for hook callers)
10
- //
11
- // Error sources:
12
- // 1. validate.js (in-process via write-guard) — produces error strings like:
13
- // "status: value "verified" not in [reported, triaged, in-progress, fixed]"
14
- // "taskId: missing required field"
15
- // "xyz: undeclared field"
16
- // 2. store-cli.cjs validate (subprocess via store-validator.ts) — same format,
17
- // piped through stderr.
18
- // 3. validate-store.cjs --dry-run (subprocess via health-check.ts) — lines like:
19
- // "ERROR FORGE-S18-T02: status: value "verified" not in [reported, triaged, ...]"
20
- // "WARN FORGE-S18-T02: ..."
21
- //
22
- // This module parses those formats and returns a one-line user-facing hint
23
- // plus an optional copy-pasteable store-cli command.
24
- // ── Entity-type inference from entity name / ID ────────────────────────────────
25
- /** Map entity type to the corresponding schema's status enum values. */
26
- const STATUS_ENUMS = {
27
- task: [
28
- "draft",
29
- "planned",
30
- "plan-approved",
31
- "implementing",
32
- "implemented",
33
- "review-approved",
34
- "approved",
35
- "committed",
36
- "plan-revision-required",
37
- "code-revision-required",
38
- "blocked",
39
- "escalated",
40
- "abandoned",
41
- ],
42
- sprint: ["planning", "active", "completed", "retrospective-done", "partially-completed", "blocked", "abandoned"],
43
- bug: ["reported", "triaged", "in-progress", "fixed"],
44
- feature: ["proposed", "accepted", "in-progress", "delivered", "declined"],
45
- event: [], // no status field
46
- };
47
- /** Known entity types that support write via store-cli. */
48
- const ENTITY_TYPES = new Set(["task", "sprint", "bug", "feature", "event"]);
49
- /**
50
- * Infer the entity type from an entity name/ID string.
51
- * Returns "task" as default if no match.
52
- */
53
- export function inferEntityType(entity) {
54
- const lower = entity.toLowerCase();
55
- // Bug patterns: BUG-015, FORGE-BUG-015, bug-031
56
- if (/\bbug/i.test(entity))
57
- return "bug";
58
- // Sprint patterns: S18 (standalone), sprint-01 — but NOT inside task IDs like FORGE-S18-T02
59
- if (/^[A-Z]+-S\d+$/i.test(entity) || /\bsprint/i.test(entity))
60
- return "sprint";
61
- // Feature patterns: FORGE-F01
62
- if (/\bf\d+\b/i.test(entity) || lower.includes("feat"))
63
- return "feature";
64
- // Event patterns
65
- if (lower.includes("event"))
66
- return "event";
67
- // Task IDs: FORGE-S18-T02, PROJECT-T01
68
- if (/\bt\d+\b/i.test(entity))
69
- return "task";
70
- // Default
71
- return "task";
72
- }
73
- const STATUS_REMEDIATION = {
74
- hint: "Set status to one of the legal values for this entity type.",
75
- command: (entityType, entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" update-status ${entityType} ${entityId} status <legal-value>`,
76
- };
77
- const REQUIRED_FIELD_REMEDIATION = {
78
- hint: "Add the missing field with a valid value. Use the template command to see the canonical shape.",
79
- command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
80
- };
81
- const UNDECLARED_FIELD_REMEDIATION = {
82
- hint: "Remove the undeclared field, or check the schema for the correct property name.",
83
- command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
84
- };
85
- const TYPE_MISMATCH_REMEDIATION = {
86
- hint: "Use the correct type for this field. Use the describe command to see the expected type.",
87
- command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
88
- };
89
- const PATTERN_REMEDIATION = {
90
- hint: "The value must match the expected pattern (e.g. a date-time or ID format).",
91
- command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
92
- };
93
- const DATE_TIME_REMEDIATION = {
94
- hint: "Use an ISO 8601 date-time string (e.g. 2026-05-21T12:00:00Z).",
95
- command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
96
- };
97
- const LENGTH_REMEDIATION = {
98
- hint: "Adjust the value length to satisfy the schema constraint.",
99
- command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
100
- };
101
- /**
102
- * Parse a single validation error line from validate.js / store-cli.
103
- *
104
- * Examples:
105
- * 'status: value "verified" not in [reported, triaged, in-progress, fixed]'
106
- * 'taskId: missing required field'
107
- * 'xyz: undeclared field'
108
- * 'sprintId: expected string, got number'
109
- * 'title: value length 0 is below minLength 1'
110
- * 'createdAt: value "today" is not a valid date-time'
111
- * 'prefix: value "AB" does not match pattern ^[A-Z]+-[A-Z]$'
112
- */
113
- export function parseValidationError(line) {
114
- // Enum violation: 'field: value "X" not in [a, b, c]'
115
- const enumMatch = line.match(/^(\w+):\s+value\s+"([^"]+)"\s+not in \[([^\]]+)\]/);
116
- if (enumMatch) {
117
- return {
118
- field: enumMatch[1],
119
- errorKind: "enum",
120
- observed: enumMatch[2],
121
- enumValues: enumMatch[3].split(",").map((s) => s.trim()),
122
- };
123
- }
124
- // Required field: 'field: missing required field'
125
- if (/\bmissing required field\b/.test(line)) {
126
- const fieldMatch = line.match(/^(\w+):/);
127
- return { field: fieldMatch?.[1] ?? "unknown", errorKind: "required" };
128
- }
129
- // Undeclared field: 'xyz: undeclared field'
130
- if (/\bundeclared field\b/.test(line)) {
131
- const fieldMatch = line.match(/^(\w+):/);
132
- return { field: fieldMatch?.[1] ?? "unknown", errorKind: "undeclared" };
133
- }
134
- // Type mismatch: 'field: expected string, got number'
135
- const typeMatch = line.match(/^(\w+):\s+expected\s+\S+,?\s+got\s+\S+/);
136
- if (typeMatch) {
137
- return { field: typeMatch[1], errorKind: "type" };
138
- }
139
- // Date-time format: 'field: value "..." is not a valid date-time'
140
- if (/\bis not a valid date-time\b/.test(line)) {
141
- const fieldMatch = line.match(/^(\w+):/);
142
- return { field: fieldMatch?.[1] ?? "unknown", errorKind: "datetime" };
143
- }
144
- // Pattern mismatch: 'field: value "..." does not match pattern ...'
145
- if (/\bdoes not match pattern\b/.test(line)) {
146
- const fieldMatch = line.match(/^(\w+):/);
147
- return { field: fieldMatch?.[1] ?? "unknown", errorKind: "pattern" };
148
- }
149
- // Length violations
150
- if (/\blength\b.*\b(exceeds|below)\b/.test(line) || /\b(exceeds|below)\b.*\blength\b/.test(line)) {
151
- const fieldMatch = line.match(/^(\w+):/);
152
- return { field: fieldMatch?.[1] ?? "unknown", errorKind: "length" };
153
- }
154
- // Generic: capture leading field name if present
155
- const genericMatch = line.match(/^(\w+):/);
156
- return { field: genericMatch?.[1] ?? "unknown", errorKind: "other" };
157
- }
158
- // ── Public API ──────────────────────────────────────────────────────────────────
159
- /**
160
- * Given a single validation error line (from validate.js or store-cli),
161
- * return a user-facing remediation hint and optional copy-pasteable command.
162
- *
163
- * @param errorLine A single error line from validate.js / store-cli output.
164
- * @param entityType The entity type (task, sprint, bug, feature, event).
165
- * @param entityId The entity ID (e.g. "FORGE-S18-T02") — used for commands.
166
- * @returns RemediationResult with hint and command.
167
- */
168
- export function remediateError(errorLine, entityType, entityId) {
169
- const parsed = parseValidationError(errorLine);
170
- switch (parsed.errorKind) {
171
- case "enum": {
172
- const legalValues = STATUS_ENUMS[entityType] ?? parsed.enumValues ?? [];
173
- const isStatusField = parsed.field === "status" || parsed.field.toLowerCase().includes("status");
174
- if (isStatusField && legalValues.length > 0) {
175
- return {
176
- hint: `"${parsed.observed}" is not a legal ${entityType} status. Legal values: ${legalValues.join(", ")}.`,
177
- command: `node "$FORGE_ROOT/tools/store-cli.cjs" update-status ${entityType} ${entityId} status <${legalValues.join("|")}>`,
178
- };
179
- }
180
- if (legalValues.length > 0) {
181
- return {
182
- hint: `Invalid value for "${parsed.field}". Allowed: ${legalValues.join(", ")}.`,
183
- command: `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
184
- };
185
- }
186
- return {
187
- hint: STATUS_REMEDIATION.hint,
188
- command: STATUS_REMEDIATION.command(entityType, entityId),
189
- };
190
- }
191
- case "required":
192
- return {
193
- hint: REQUIRED_FIELD_REMEDIATION.hint,
194
- command: REQUIRED_FIELD_REMEDIATION.command(entityType, entityId),
195
- };
196
- case "undeclared":
197
- return {
198
- hint: UNDECLARED_FIELD_REMEDIATION.hint,
199
- command: UNDECLARED_FIELD_REMEDIATION.command(entityType, entityId),
200
- };
201
- case "type":
202
- return {
203
- hint: TYPE_MISMATCH_REMEDIATION.hint,
204
- command: TYPE_MISMATCH_REMEDIATION.command(entityType, entityId),
205
- };
206
- case "datetime":
207
- return {
208
- hint: DATE_TIME_REMEDIATION.hint,
209
- command: DATE_TIME_REMEDIATION.command(entityType, entityId),
210
- };
211
- case "pattern":
212
- return {
213
- hint: PATTERN_REMEDIATION.hint,
214
- command: PATTERN_REMEDIATION.command(entityType, entityId),
215
- };
216
- case "length":
217
- return {
218
- hint: LENGTH_REMEDIATION.hint,
219
- command: LENGTH_REMEDIATION.command(entityType, entityId),
220
- };
221
- case "other":
222
- default:
223
- return {
224
- hint: "Check the schema for the expected shape.",
225
- command: `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
226
- };
227
- }
228
- }
229
- /**
230
- * Parse a multi-line validation output (e.g. from store-cli validate or
231
- * validate-store --dry-run) into individual error lines and return
232
- * remediation for each.
233
- *
234
- * @param output Raw multi-line output from validation tool.
235
- * @param entityType Override entity type (inferred from output if not provided).
236
- * @returns Array of { errorLine, remediation } objects.
237
- */
238
- export function remediateValidationOutput(output, entityType) {
239
- const lines = output
240
- .split("\n")
241
- .map((l) => l.trim())
242
- .filter((l) => l.length > 0);
243
- const results = [];
244
- for (const line of lines) {
245
- // Strip "ERROR" / "WARN" prefix from validate-store --dry-run output
246
- const cleaned = line.replace(/^(ERROR|WARN)\s+/, "");
247
- if (!cleaned)
248
- continue;
249
- // Extract entity ID from lines like "FORGE-S18-T02: status: ..."
250
- const entityIdMatch = cleaned.match(/^([A-Z]+-S?\d+-T?\d+|[A-Z]+-BUG-\d+|[A-Z]+-F\d+):/);
251
- const entityId = entityIdMatch?.[1] ?? "unknown";
252
- // If entity type not overridden, try to infer
253
- const inferredType = entityType ?? inferEntityType(entityId);
254
- // Skip non-error lines (hint lines from validate.js, blank lines, etc.)
255
- if (cleaned.startsWith("(") || cleaned.startsWith("hint:") || cleaned.startsWith("#")) {
256
- continue;
257
- }
258
- // Skip lines that are just an entity name without an error field
259
- // (the real error is on the same line after the entity prefix)
260
- const errorPart = entityIdMatch ? cleaned.slice(entityIdMatch[0].length).trim() : cleaned;
261
- if (!errorPart || errorPart.length < 3)
262
- continue;
263
- results.push({
264
- errorLine: cleaned,
265
- remediation: remediateError(errorPart, inferredType, entityId),
266
- });
267
- }
268
- return results;
269
- }
270
- /**
271
- * Format a block message for a write-guard violation, appending remediation hints.
272
- * Used by hook-dispatcher.ts for store-cli intercept blocks.
273
- *
274
- * @param rawReason The raw reason string from validateStoreCLIPayload or checkWriteGuard.
275
- * @param entityType The entity type if known.
276
- * @param entityId The entity ID if known.
277
- * @returns Enhanced reason string with remediation hints appended.
278
- */
279
- export function enhanceBlockMessage(rawReason, entityType, entityId) {
280
- // Parse the raw reason into lines and try to add remediation to each error line.
281
- const lines = rawReason.split("\n");
282
- const enhanced = [];
283
- for (const line of lines) {
284
- // Strip leading list markers and bullet points
285
- const stripped = line.replace(/^\s*[-•]\s*/, "").trim();
286
- // Check if this line contains a recognizable validation error pattern
287
- const parsed = parseValidationError(stripped);
288
- // Also match lines that contain validation error patterns not caught by parseValidationError
289
- const hasKnownError = parsed.errorKind !== "other" ||
290
- /\bmissing required\b|\bnot in \[|\bundeclared\b|\bexpected\b.*\bgot\b/.test(stripped);
291
- if (hasKnownError) {
292
- const type = entityType ?? "task";
293
- const id = entityId ?? "unknown";
294
- const remediation = remediateError(stripped, type, id);
295
- enhanced.push(line);
296
- enhanced.push(` 💡 ${remediation.hint}`);
297
- if (remediation.command) {
298
- enhanced.push(` → ${remediation.command}`);
299
- }
300
- }
301
- else {
302
- enhanced.push(line);
303
- }
304
- }
305
- return enhanced.join("\n");
306
- }
307
- //# sourceMappingURL=store-error-remediation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-error-remediation.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/store-error-remediation.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
- export interface StoreQueryResult {
3
- stdout: string;
4
- ok: boolean;
5
- errorMessage?: string;
6
- }
7
- /**
8
- * Run store-cli in query or nlp mode.
9
- * - Args starting with "--" → query branch: `store-cli query ...flags`
10
- * - Otherwise → nlp branch: `store-cli nlp "<args>"`
11
- *
12
- * Returns raw stdout for display. Does NOT JSON-parse — caller renders as-is.
13
- * Exported so orchestrators can call directly without going through sendUserMessage.
14
- */
15
- export declare function runStoreQuery(args: string, forgeRoot: string, cwd: string): Promise<StoreQueryResult>;
16
- /**
17
- * Register /forge:store-query.
18
- * forgeRoot is nullable — null means we're outside a Forge project.
19
- */
20
- export declare function registerStoreQuery(pi: ExtensionAPI, opts: {
21
- forgeRoot: string | null;
22
- }): void;
@@ -1,107 +0,0 @@
1
- // store-query.ts — native atomic handler for /forge:store-query (FORGE-S23-T10)
2
- //
3
- // Dispatches to store-cli query (flags path) or store-cli nlp (intent path)
4
- // and emits raw stdout via ctx.ui.notify.
5
- //
6
- // Archetype: Atomic (no LLM in loop — pack-04 §Atomic).
7
- // Iron Laws:
8
- // IL1 — new code lives in forge-cli/ only
9
- // IL6 — no shell-string interpolation (argv-array throughout)
10
- // IL7 — silent continuation past failures is never acceptable
11
- import { execFile } from "node:child_process";
12
- import * as path from "node:path";
13
- import { promisify } from "node:util";
14
- import { resolveToolDir } from "./store-resolver.js";
15
- const execFileAsync = promisify(execFile);
16
- // ── Usage message ─────────────────────────────────────────────────────────────
17
- const USAGE = `Usage: /forge:search <intent or flags>
18
-
19
- Examples:
20
- /forge:search open bugs in S12
21
- /forge:search FORGE-BUG-047
22
- /forge:search --sprint FORGE-S12 --status in-progress
23
- /forge:search --keyword auth
24
- /forge:search schema`;
25
- /**
26
- * Run store-cli in query or nlp mode.
27
- * - Args starting with "--" → query branch: `store-cli query ...flags`
28
- * - Otherwise → nlp branch: `store-cli nlp "<args>"`
29
- *
30
- * Returns raw stdout for display. Does NOT JSON-parse — caller renders as-is.
31
- * Exported so orchestrators can call directly without going through sendUserMessage.
32
- */
33
- export async function runStoreQuery(args, forgeRoot, cwd) {
34
- const trimmed = args.trim();
35
- const toolDir = resolveToolDir(forgeRoot);
36
- const storeCliPath = path.join(toolDir, "store-cli.cjs");
37
- let argv;
38
- let timeoutMs;
39
- if (trimmed.startsWith("--")) {
40
- // Query branch: pass flags verbatim as argv tokens
41
- const tokens = trimmed.split(/\s+/).filter(Boolean);
42
- argv = ["query", ...tokens];
43
- timeoutMs = 10_000;
44
- }
45
- else {
46
- // NLP branch: pass entire trimmed arg string as single argument
47
- argv = ["nlp", trimmed];
48
- timeoutMs = 30_000;
49
- }
50
- try {
51
- const result = await execFileAsync("node", [storeCliPath, ...argv], {
52
- cwd,
53
- encoding: "utf8",
54
- timeout: timeoutMs,
55
- });
56
- return { stdout: result.stdout, ok: true };
57
- }
58
- catch (err) {
59
- const e = err;
60
- // execFile rejects on non-zero exit; stdout may still contain partial results
61
- const stderr = e.stderr || e.message || String(err);
62
- const stdout = e.stdout || "";
63
- return {
64
- stdout,
65
- ok: false,
66
- errorMessage: stderr.slice(0, 500),
67
- };
68
- }
69
- }
70
- // ── Register ─────────────────────────────────────────────────────────────────
71
- /**
72
- * Register /forge:store-query.
73
- * forgeRoot is nullable — null means we're outside a Forge project.
74
- */
75
- export function registerStoreQuery(pi, opts) {
76
- pi.registerCommand("forge:search", {
77
- description: "Query the Forge store by natural language or exact flags. " +
78
- "Use flags (--sprint, --task, --keyword) for exact queries; " +
79
- "use plain text for NLP intent queries.",
80
- async handler(args, ctx) {
81
- const cwd = process.cwd();
82
- // Outside-project guard
83
- if (!opts.forgeRoot) {
84
- ctx.ui.notify("× forge:search — not inside a Forge project. Run /forge:init first.", "error");
85
- return;
86
- }
87
- const trimmed = args.trim();
88
- if (!trimmed) {
89
- ctx.ui.notify(USAGE, "info");
90
- return;
91
- }
92
- ctx.ui.setStatus?.("forge:search", "Querying store…");
93
- const result = await runStoreQuery(trimmed, opts.forgeRoot, cwd);
94
- ctx.ui.setStatus?.("forge:search", undefined);
95
- if (!result.ok && result.errorMessage) {
96
- ctx.ui.notify(`× forge:search — ${result.errorMessage}`, "error");
97
- // Still show partial stdout if available
98
- if (result.stdout.trim()) {
99
- ctx.ui.notify(result.stdout.trim(), "info");
100
- }
101
- return;
102
- }
103
- ctx.ui.notify(result.stdout.trim() || "(no results)", "info");
104
- },
105
- });
106
- }
107
- //# sourceMappingURL=store-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-query.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/store-query.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
- export interface ParsedStoreRepairArgs {
3
- dryRun: boolean;
4
- seed: string;
5
- sourceLabel: string;
6
- }
7
- export declare function parseStoreRepairArgs(rawArgs: string, cwd: string): ParsedStoreRepairArgs;
8
- export interface ComposeStoreRepairKickoffOpts {
9
- commandMd: string;
10
- parsed: ParsedStoreRepairArgs;
11
- }
12
- export declare function composeStoreRepairKickoff(opts: ComposeStoreRepairKickoffOpts): string;
13
- export interface RegisterStoreRepairOptions {
14
- forgeRoot: string | null;
15
- cwd?: string;
16
- }
17
- export declare function registerStoreRepair(pi: ExtensionAPI, options: RegisterStoreRepairOptions): void;