@entelligentsia/forgecli 0.11.2 → 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.
- package/CHANGELOG.md +10 -0
- package/dist/CHANGELOG-forge-plugin.md +27 -0
- package/dist/bin/forge.js +0 -0
- package/dist/extensions/forgecli/ask-user-tool.js +32 -20
- package/dist/extensions/forgecli/ask-user-tool.js.map +1 -1
- package/dist/extensions/forgecli/config-layer.js +4 -1
- package/dist/extensions/forgecli/config-layer.js.map +1 -1
- package/dist/extensions/forgecli/config-writer.js +4 -1
- package/dist/extensions/forgecli/config-writer.js.map +1 -1
- package/dist/extensions/forgecli/fix-bug.js +31 -1
- package/dist/extensions/forgecli/fix-bug.js.map +1 -1
- package/dist/extensions/forgecli/health-check.d.ts +10 -0
- package/dist/extensions/forgecli/health-check.js +160 -8
- package/dist/extensions/forgecli/health-check.js.map +1 -1
- package/dist/extensions/forgecli/hook-dispatcher.js +4 -2
- package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
- package/dist/extensions/forgecli/hooks/write-guard.js +5 -1
- package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -1
- package/dist/extensions/forgecli/lib/store-error-remediation.d.ts +65 -0
- package/dist/extensions/forgecli/lib/store-error-remediation.js +298 -0
- package/dist/extensions/forgecli/lib/store-error-remediation.js.map +1 -0
- package/dist/extensions/forgecli/run-sprint.js +16 -1
- package/dist/extensions/forgecli/run-sprint.js.map +1 -1
- package/dist/extensions/forgecli/run-task.js +30 -8
- package/dist/extensions/forgecli/run-task.js.map +1 -1
- package/dist/extensions/forgecli/store-resolver.d.ts +18 -0
- package/dist/extensions/forgecli/store-resolver.js +44 -4
- package/dist/extensions/forgecli/store-resolver.js.map +1 -1
- package/dist/extensions/forgecli/store-validator.d.ts +3 -0
- package/dist/extensions/forgecli/store-validator.js +4 -2
- package/dist/extensions/forgecli/store-validator.js.map +1 -1
- package/dist/forge-payload/.base-pack/personas/supervisor.md +9 -0
- package/dist/forge-payload/.base-pack/workflows/enhance.md +17 -11
- package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
- package/dist/forge-payload/.schemas/migrations.json +16 -0
- package/dist/forge-payload/meta/workflows/meta-enhance.md +17 -11
- package/dist/forge-payload/tools/build-persona-pack.cjs +120 -11
- package/package.json +1 -1
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
// Store-error remediation — forge-cli#24
|
|
2
|
+
//
|
|
3
|
+
// Shared remediation-hint surface for store validation errors.
|
|
4
|
+
// Consumed by:
|
|
5
|
+
// - health-check.ts (per-error row in store-integrity output)
|
|
6
|
+
// - hooks/write-guard.ts (block-message body for schema violations)
|
|
7
|
+
// - hook-dispatcher.ts (store-cli intercept block messages)
|
|
8
|
+
// - store-validator.ts (structured result for hook callers)
|
|
9
|
+
//
|
|
10
|
+
// Error sources:
|
|
11
|
+
// 1. validate.js (in-process via write-guard) — produces error strings like:
|
|
12
|
+
// "status: value "verified" not in [reported, triaged, in-progress, fixed]"
|
|
13
|
+
// "taskId: missing required field"
|
|
14
|
+
// "xyz: undeclared field"
|
|
15
|
+
// 2. store-cli.cjs validate (subprocess via store-validator.ts) — same format,
|
|
16
|
+
// piped through stderr.
|
|
17
|
+
// 3. validate-store.cjs --dry-run (subprocess via health-check.ts) — lines like:
|
|
18
|
+
// "ERROR FORGE-S18-T02: status: value "verified" not in [reported, triaged, ...]"
|
|
19
|
+
// "WARN FORGE-S18-T02: ..."
|
|
20
|
+
//
|
|
21
|
+
// This module parses those formats and returns a one-line user-facing hint
|
|
22
|
+
// plus an optional copy-pasteable store-cli command.
|
|
23
|
+
// ── Entity-type inference from entity name / ID ────────────────────────────────
|
|
24
|
+
/** Map entity type to the corresponding schema's status enum values. */
|
|
25
|
+
const STATUS_ENUMS = {
|
|
26
|
+
task: [
|
|
27
|
+
"draft", "planned", "plan-approved", "implementing", "implemented",
|
|
28
|
+
"review-approved", "approved", "committed", "plan-revision-required",
|
|
29
|
+
"code-revision-required", "blocked", "escalated", "abandoned",
|
|
30
|
+
],
|
|
31
|
+
sprint: [
|
|
32
|
+
"planning", "active", "completed", "retrospective-done",
|
|
33
|
+
"partially-completed", "blocked", "abandoned",
|
|
34
|
+
],
|
|
35
|
+
bug: ["reported", "triaged", "in-progress", "fixed"],
|
|
36
|
+
feature: ["proposed", "accepted", "in-progress", "delivered", "declined"],
|
|
37
|
+
event: [], // no status field
|
|
38
|
+
};
|
|
39
|
+
/** Known entity types that support write via store-cli. */
|
|
40
|
+
const ENTITY_TYPES = new Set(["task", "sprint", "bug", "feature", "event"]);
|
|
41
|
+
/**
|
|
42
|
+
* Infer the entity type from an entity name/ID string.
|
|
43
|
+
* Returns "task" as default if no match.
|
|
44
|
+
*/
|
|
45
|
+
export function inferEntityType(entity) {
|
|
46
|
+
const lower = entity.toLowerCase();
|
|
47
|
+
// Bug patterns: BUG-015, FORGE-BUG-015, bug-031
|
|
48
|
+
if (/\bbug/i.test(entity))
|
|
49
|
+
return "bug";
|
|
50
|
+
// Sprint patterns: S18 (standalone), sprint-01 — but NOT inside task IDs like FORGE-S18-T02
|
|
51
|
+
if (/^[A-Z]+-S\d+$/i.test(entity) || /\bsprint/i.test(entity))
|
|
52
|
+
return "sprint";
|
|
53
|
+
// Feature patterns: FORGE-F01
|
|
54
|
+
if (/\bf\d+\b/i.test(entity) || lower.includes("feat"))
|
|
55
|
+
return "feature";
|
|
56
|
+
// Event patterns
|
|
57
|
+
if (lower.includes("event"))
|
|
58
|
+
return "event";
|
|
59
|
+
// Task IDs: FORGE-S18-T02, PROJECT-T01
|
|
60
|
+
if (/\bt\d+\b/i.test(entity))
|
|
61
|
+
return "task";
|
|
62
|
+
// Default
|
|
63
|
+
return "task";
|
|
64
|
+
}
|
|
65
|
+
const STATUS_REMEDIATION = {
|
|
66
|
+
hint: "Set status to one of the legal values for this entity type.",
|
|
67
|
+
command: (entityType, entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" update-status ${entityType} ${entityId} status <legal-value>`,
|
|
68
|
+
};
|
|
69
|
+
const REQUIRED_FIELD_REMEDIATION = {
|
|
70
|
+
hint: "Add the missing field with a valid value. Use the template command to see the canonical shape.",
|
|
71
|
+
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
|
|
72
|
+
};
|
|
73
|
+
const UNDECLARED_FIELD_REMEDIATION = {
|
|
74
|
+
hint: "Remove the undeclared field, or check the schema for the correct property name.",
|
|
75
|
+
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
76
|
+
};
|
|
77
|
+
const TYPE_MISMATCH_REMEDIATION = {
|
|
78
|
+
hint: "Use the correct type for this field. Use the describe command to see the expected type.",
|
|
79
|
+
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
80
|
+
};
|
|
81
|
+
const PATTERN_REMEDIATION = {
|
|
82
|
+
hint: "The value must match the expected pattern (e.g. a date-time or ID format).",
|
|
83
|
+
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
84
|
+
};
|
|
85
|
+
const DATE_TIME_REMEDIATION = {
|
|
86
|
+
hint: "Use an ISO 8601 date-time string (e.g. 2026-05-21T12:00:00Z).",
|
|
87
|
+
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
88
|
+
};
|
|
89
|
+
const LENGTH_REMEDIATION = {
|
|
90
|
+
hint: "Adjust the value length to satisfy the schema constraint.",
|
|
91
|
+
command: (entityType, _entityId) => `node "$FORGE_ROOT/tools/store-cli.cjs" describe ${entityType}`,
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Parse a single validation error line from validate.js / store-cli.
|
|
95
|
+
*
|
|
96
|
+
* Examples:
|
|
97
|
+
* 'status: value "verified" not in [reported, triaged, in-progress, fixed]'
|
|
98
|
+
* 'taskId: missing required field'
|
|
99
|
+
* 'xyz: undeclared field'
|
|
100
|
+
* 'sprintId: expected string, got number'
|
|
101
|
+
* 'title: value length 0 is below minLength 1'
|
|
102
|
+
* 'createdAt: value "today" is not a valid date-time'
|
|
103
|
+
* 'prefix: value "AB" does not match pattern ^[A-Z]+-[A-Z]$'
|
|
104
|
+
*/
|
|
105
|
+
export function parseValidationError(line) {
|
|
106
|
+
// Enum violation: 'field: value "X" not in [a, b, c]'
|
|
107
|
+
const enumMatch = line.match(/^(\w+):\s+value\s+"([^"]+)"\s+not in \[([^\]]+)\]/);
|
|
108
|
+
if (enumMatch) {
|
|
109
|
+
return {
|
|
110
|
+
field: enumMatch[1],
|
|
111
|
+
errorKind: "enum",
|
|
112
|
+
observed: enumMatch[2],
|
|
113
|
+
enumValues: enumMatch[3].split(",").map((s) => s.trim()),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
// Required field: 'field: missing required field'
|
|
117
|
+
if (/\bmissing required field\b/.test(line)) {
|
|
118
|
+
const fieldMatch = line.match(/^(\w+):/);
|
|
119
|
+
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "required" };
|
|
120
|
+
}
|
|
121
|
+
// Undeclared field: 'xyz: undeclared field'
|
|
122
|
+
if (/\bundeclared field\b/.test(line)) {
|
|
123
|
+
const fieldMatch = line.match(/^(\w+):/);
|
|
124
|
+
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "undeclared" };
|
|
125
|
+
}
|
|
126
|
+
// Type mismatch: 'field: expected string, got number'
|
|
127
|
+
const typeMatch = line.match(/^(\w+):\s+expected\s+\S+,?\s+got\s+\S+/);
|
|
128
|
+
if (typeMatch) {
|
|
129
|
+
return { field: typeMatch[1], errorKind: "type" };
|
|
130
|
+
}
|
|
131
|
+
// Date-time format: 'field: value "..." is not a valid date-time'
|
|
132
|
+
if (/\bis not a valid date-time\b/.test(line)) {
|
|
133
|
+
const fieldMatch = line.match(/^(\w+):/);
|
|
134
|
+
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "datetime" };
|
|
135
|
+
}
|
|
136
|
+
// Pattern mismatch: 'field: value "..." does not match pattern ...'
|
|
137
|
+
if (/\bdoes not match pattern\b/.test(line)) {
|
|
138
|
+
const fieldMatch = line.match(/^(\w+):/);
|
|
139
|
+
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "pattern" };
|
|
140
|
+
}
|
|
141
|
+
// Length violations
|
|
142
|
+
if (/\blength\b.*\b(exceeds|below)\b/.test(line) || /\b(exceeds|below)\b.*\blength\b/.test(line)) {
|
|
143
|
+
const fieldMatch = line.match(/^(\w+):/);
|
|
144
|
+
return { field: fieldMatch?.[1] ?? "unknown", errorKind: "length" };
|
|
145
|
+
}
|
|
146
|
+
// Generic: capture leading field name if present
|
|
147
|
+
const genericMatch = line.match(/^(\w+):/);
|
|
148
|
+
return { field: genericMatch?.[1] ?? "unknown", errorKind: "other" };
|
|
149
|
+
}
|
|
150
|
+
// ── Public API ──────────────────────────────────────────────────────────────────
|
|
151
|
+
/**
|
|
152
|
+
* Given a single validation error line (from validate.js or store-cli),
|
|
153
|
+
* return a user-facing remediation hint and optional copy-pasteable command.
|
|
154
|
+
*
|
|
155
|
+
* @param errorLine A single error line from validate.js / store-cli output.
|
|
156
|
+
* @param entityType The entity type (task, sprint, bug, feature, event).
|
|
157
|
+
* @param entityId The entity ID (e.g. "FORGE-S18-T02") — used for commands.
|
|
158
|
+
* @returns RemediationResult with hint and command.
|
|
159
|
+
*/
|
|
160
|
+
export function remediateError(errorLine, entityType, entityId) {
|
|
161
|
+
const parsed = parseValidationError(errorLine);
|
|
162
|
+
switch (parsed.errorKind) {
|
|
163
|
+
case "enum": {
|
|
164
|
+
const legalValues = STATUS_ENUMS[entityType] ?? parsed.enumValues ?? [];
|
|
165
|
+
const isStatusField = parsed.field === "status" || parsed.field.toLowerCase().includes("status");
|
|
166
|
+
if (isStatusField && legalValues.length > 0) {
|
|
167
|
+
return {
|
|
168
|
+
hint: `"${parsed.observed}" is not a legal ${entityType} status. Legal values: ${legalValues.join(", ")}.`,
|
|
169
|
+
command: `node "$FORGE_ROOT/tools/store-cli.cjs" update-status ${entityType} ${entityId} status <${legalValues.join("|")}>`,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
if (legalValues.length > 0) {
|
|
173
|
+
return {
|
|
174
|
+
hint: `Invalid value for "${parsed.field}". Allowed: ${legalValues.join(", ")}.`,
|
|
175
|
+
command: `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
hint: STATUS_REMEDIATION.hint,
|
|
180
|
+
command: STATUS_REMEDIATION.command(entityType, entityId),
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
case "required":
|
|
184
|
+
return {
|
|
185
|
+
hint: REQUIRED_FIELD_REMEDIATION.hint,
|
|
186
|
+
command: REQUIRED_FIELD_REMEDIATION.command(entityType, entityId),
|
|
187
|
+
};
|
|
188
|
+
case "undeclared":
|
|
189
|
+
return {
|
|
190
|
+
hint: UNDECLARED_FIELD_REMEDIATION.hint,
|
|
191
|
+
command: UNDECLARED_FIELD_REMEDIATION.command(entityType, entityId),
|
|
192
|
+
};
|
|
193
|
+
case "type":
|
|
194
|
+
return {
|
|
195
|
+
hint: TYPE_MISMATCH_REMEDIATION.hint,
|
|
196
|
+
command: TYPE_MISMATCH_REMEDIATION.command(entityType, entityId),
|
|
197
|
+
};
|
|
198
|
+
case "datetime":
|
|
199
|
+
return {
|
|
200
|
+
hint: DATE_TIME_REMEDIATION.hint,
|
|
201
|
+
command: DATE_TIME_REMEDIATION.command(entityType, entityId),
|
|
202
|
+
};
|
|
203
|
+
case "pattern":
|
|
204
|
+
return {
|
|
205
|
+
hint: PATTERN_REMEDIATION.hint,
|
|
206
|
+
command: PATTERN_REMEDIATION.command(entityType, entityId),
|
|
207
|
+
};
|
|
208
|
+
case "length":
|
|
209
|
+
return {
|
|
210
|
+
hint: LENGTH_REMEDIATION.hint,
|
|
211
|
+
command: LENGTH_REMEDIATION.command(entityType, entityId),
|
|
212
|
+
};
|
|
213
|
+
case "other":
|
|
214
|
+
default:
|
|
215
|
+
return {
|
|
216
|
+
hint: "Check the schema for the expected shape.",
|
|
217
|
+
command: `node "$FORGE_ROOT/tools/store-cli.cjs" template ${entityType}`,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Parse a multi-line validation output (e.g. from store-cli validate or
|
|
223
|
+
* validate-store --dry-run) into individual error lines and return
|
|
224
|
+
* remediation for each.
|
|
225
|
+
*
|
|
226
|
+
* @param output Raw multi-line output from validation tool.
|
|
227
|
+
* @param entityType Override entity type (inferred from output if not provided).
|
|
228
|
+
* @returns Array of { errorLine, remediation } objects.
|
|
229
|
+
*/
|
|
230
|
+
export function remediateValidationOutput(output, entityType) {
|
|
231
|
+
const lines = output
|
|
232
|
+
.split("\n")
|
|
233
|
+
.map((l) => l.trim())
|
|
234
|
+
.filter((l) => l.length > 0);
|
|
235
|
+
const results = [];
|
|
236
|
+
for (const line of lines) {
|
|
237
|
+
// Strip "ERROR" / "WARN" prefix from validate-store --dry-run output
|
|
238
|
+
const cleaned = line.replace(/^(ERROR|WARN)\s+/, "");
|
|
239
|
+
if (!cleaned)
|
|
240
|
+
continue;
|
|
241
|
+
// Extract entity ID from lines like "FORGE-S18-T02: status: ..."
|
|
242
|
+
const entityIdMatch = cleaned.match(/^([A-Z]+-S?\d+-T?\d+|[A-Z]+-BUG-\d+|[A-Z]+-F\d+):/);
|
|
243
|
+
const entityId = entityIdMatch?.[1] ?? "unknown";
|
|
244
|
+
// If entity type not overridden, try to infer
|
|
245
|
+
const inferredType = entityType ?? inferEntityType(entityId);
|
|
246
|
+
// Skip non-error lines (hint lines from validate.js, blank lines, etc.)
|
|
247
|
+
if (cleaned.startsWith("(") || cleaned.startsWith("hint:") || cleaned.startsWith("#")) {
|
|
248
|
+
continue;
|
|
249
|
+
}
|
|
250
|
+
// Skip lines that are just an entity name without an error field
|
|
251
|
+
// (the real error is on the same line after the entity prefix)
|
|
252
|
+
const errorPart = entityIdMatch ? cleaned.slice(entityIdMatch[0].length).trim() : cleaned;
|
|
253
|
+
if (!errorPart || errorPart.length < 3)
|
|
254
|
+
continue;
|
|
255
|
+
results.push({
|
|
256
|
+
errorLine: cleaned,
|
|
257
|
+
remediation: remediateError(errorPart, inferredType, entityId),
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
return results;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Format a block message for a write-guard violation, appending remediation hints.
|
|
264
|
+
* Used by hook-dispatcher.ts for store-cli intercept blocks.
|
|
265
|
+
*
|
|
266
|
+
* @param rawReason The raw reason string from validateStoreCLIPayload or checkWriteGuard.
|
|
267
|
+
* @param entityType The entity type if known.
|
|
268
|
+
* @param entityId The entity ID if known.
|
|
269
|
+
* @returns Enhanced reason string with remediation hints appended.
|
|
270
|
+
*/
|
|
271
|
+
export function enhanceBlockMessage(rawReason, entityType, entityId) {
|
|
272
|
+
// Parse the raw reason into lines and try to add remediation to each error line.
|
|
273
|
+
const lines = rawReason.split("\n");
|
|
274
|
+
const enhanced = [];
|
|
275
|
+
for (const line of lines) {
|
|
276
|
+
// Strip leading list markers and bullet points
|
|
277
|
+
const stripped = line.replace(/^\s*[-•]\s*/, "").trim();
|
|
278
|
+
// Check if this line contains a recognizable validation error pattern
|
|
279
|
+
const parsed = parseValidationError(stripped);
|
|
280
|
+
// Also match lines that contain validation error patterns not caught by parseValidationError
|
|
281
|
+
const hasKnownError = parsed.errorKind !== "other" || /\bmissing required\b|\bnot in \[|\bundeclared\b|\bexpected\b.*\bgot\b/.test(stripped);
|
|
282
|
+
if (hasKnownError) {
|
|
283
|
+
const type = entityType ?? "task";
|
|
284
|
+
const id = entityId ?? "unknown";
|
|
285
|
+
const remediation = remediateError(stripped, type, id);
|
|
286
|
+
enhanced.push(line);
|
|
287
|
+
enhanced.push(` 💡 ${remediation.hint}`);
|
|
288
|
+
if (remediation.command) {
|
|
289
|
+
enhanced.push(` → ${remediation.command}`);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
enhanced.push(line);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return enhanced.join("\n");
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=store-error-remediation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-error-remediation.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/lib/store-error-remediation.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ import * as path from "node:path";
|
|
|
26
26
|
import { fileURLToPath } from "node:url";
|
|
27
27
|
import { spawnSync } from "node:child_process";
|
|
28
28
|
import { assertAudience } from "./audience-gate.js";
|
|
29
|
+
import { resolveToCanonicalId, resolveToolDir } from "./store-resolver.js";
|
|
29
30
|
import { checkMaterialization } from "./plan.js";
|
|
30
31
|
import { loadWorkflow } from "./loaders/workflow-loader.js";
|
|
31
32
|
import { discoverForgeConfig } from "./forge-root.js";
|
|
@@ -233,7 +234,7 @@ export function registerRunSprint(pi, options = {}) {
|
|
|
233
234
|
"Orchestrator archetype: delegates per-task execution to runTaskPipeline.",
|
|
234
235
|
async handler(args, ctx) {
|
|
235
236
|
const cwd = options.cwd ?? process.cwd();
|
|
236
|
-
|
|
237
|
+
let sprintId = args.trim();
|
|
237
238
|
if (!sprintId) {
|
|
238
239
|
ctx.ui.notify("× forge:run-sprint — sprint ID required. Usage: /forge:run-sprint <SPRINT_ID>", "error");
|
|
239
240
|
return;
|
|
@@ -252,6 +253,20 @@ export function registerRunSprint(pi, options = {}) {
|
|
|
252
253
|
return;
|
|
253
254
|
}
|
|
254
255
|
const forgeRoot = forgeConfig.forgeRoot;
|
|
256
|
+
// ── Resolve sprint ID (prefix-normalize, suffix-match, NLP fallback) ──
|
|
257
|
+
// Handles unprefixed IDs like "S22" → "FORGE-S22".
|
|
258
|
+
// Issue #20: unprefixed entity IDs silently poisoned substitutions.
|
|
259
|
+
const toolDir = resolveToolDir(forgeRoot);
|
|
260
|
+
const resolvedSprintId = await resolveToCanonicalId(sprintId, toolDir, cwd, "sprint", { ctx, commandLabel: "forge:run-sprint" });
|
|
261
|
+
if (!resolvedSprintId) {
|
|
262
|
+
// Error already emitted by resolver
|
|
263
|
+
ctx.ui.setStatus?.(SPRINT_STATUS_KEY, undefined);
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
// Replace raw arg with canonical ID for all subsequent operations.
|
|
267
|
+
sprintId = resolvedSprintId;
|
|
268
|
+
// Update status with canonical ID so the user sees the resolved form.
|
|
269
|
+
ctx.ui.setStatus?.(SPRINT_STATUS_KEY, `run-sprint ${sprintId}: ready`);
|
|
255
270
|
const storeCli = path.join(forgeRoot, "tools", "store-cli.cjs");
|
|
256
271
|
const preflightGate = path.join(forgeRoot, "tools", "preflight-gate.cjs");
|
|
257
272
|
// ── Sprint resolution ────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-sprint.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/run-sprint.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,EAAE;AACF,qEAAqE;AACrE,iFAAiF;AACjF,EAAE;AACF,6EAA6E;AAC7E,uEAAuE;AACvE,2EAA2E;AAC3E,4EAA4E;AAC5E,EAAE;AACF,4BAA4B;AAC5B,kFAAkF;AAClF,mHAAmH;AACnH,0DAA0D;AAC1D,EAAE;AACF,2BAA2B;AAC3B,8DAA8D;AAC9D,uFAAuF;AACvF,sFAAsF;AACtF,2EAA2E;AAC3E,EAAE;AACF,8CAA8C;AAC9C,sEAAsE;AAEtE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAmC,MAAM,sBAAsB,CAAC;AAa3F,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,IAAI,aAAa,EAC1B,YAAY,GAGZ,MAAM,eAAe,CAAC;AAEvB,gFAAgF;AAEhF,SAAS,oBAAoB,CAAC,GAAW;IACxC,IAAI,CAAC;QACJ,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;aAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,YAAoB;IACpD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QACvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAI,GAA+B,CAAC,SAAS,CAAC;YAC7D,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9E,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAaD,SAAS,mBAAmB,CAAC,GAAW,EAAE,QAAgB;IACzD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,QAAQ,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IACrD,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC;QACJ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,KAAqB;IAC3D,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,QAAgB;IACvD,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC;QACJ,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACR,YAAY;IACb,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAqB;IAChD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,OAAO,KAAK,GAAG,WAAW,CAAC;AAC5B,CAAC;AAUD,SAAS,gBAAgB,CAAC,QAAgB,EAAE,QAAgB,EAAE,GAAW;IACxE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACpG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC;QACJ,MAAM,GAAG,GAAW,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;QAC/C,mDAAmD;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAW,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAChF,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAYD,KAAK,UAAU,sBAAsB,CAAC,MAUrC;IACA,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACtH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE3B,+DAA+D;IAC/D,MAAM,YAAY,GAAG,oCAAoC,CAAC;IAC1D,MAAM,WAAW,GAAI,WAAW,CAAC;IAEjC,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACJ,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,OAAO,EAAO,mBAAmB;YACjC,UAAU,EAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;YAClC,YAAY,EAAE,6BAA6B;SAC3C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG;QACjB,gCAAgC,QAAQ,EAAE;QAC1C,EAAE;QACF,SAAS,IAAI,EAAE;QACf,oBAAoB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;KAC7D,CAAC;IACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,SAAS,CAAC,IAAI,CACb,EAAE,EACF,2DAA2D,YAAY,QAAQ,EAC/E,6EAA6E,CAC7E,CAAC;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElC,8EAA8E;IAC9E,2DAA2D;IAC3D,MAAM,SAAS,GAAG,GAAG,QAAQ,WAAW,CAAC;IACzC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAE9C,IAAI,KAAyB,CAAC;IAC9B,IAAI,QAA4B,CAAC;IACjC,IAAI,YAAgC,CAAC;IAErC,MAAM,QAAQ,GAAG,sBAAsB,CAAC;QACvC,QAAQ;QACR,SAAS;QACT,SAAS,EAAE,UAAU;QACrB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,cAAc,QAAQ,qBAAqB,WAAW,MAAM;KACzE,CAAC,CAAC;IAEH,gFAAgF;IAChF,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAE5F,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACrC,OAAO;YACP,IAAI;YACJ,GAAG;YACH,SAAS,EAAE,GAAG,QAAQ,YAAY;YAClC,SAAS;YACT,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YACvE,iEAAiE;YACjE,kEAAkE;YAClE,oDAAoD;YACpD,cAAc,EAAE,SAAS,QAAQ,EAAE;YACnC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,cAAc,EAAE,mBAAmB,CAAC,KAAK;YACzC,aAAa,EAAE,GAAG,CAAC,aAAa;SAChC,CAAC,CAAC;QACH,KAAK,GAAM,MAAM,CAAC,KAAK,CAAC;QACxB,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC3B,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,oCAAoC,CAAC;QAC5E,CAAC;IACF,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,CAAyB,CAAC;QACtC,YAAY,GAAG,GAAG,EAAE,OAAO,IAAI,wBAAwB,CAAC;IACzD,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5E,CAAC;IAED,8EAA8E;IAC9E,iFAAiF;IACjF,2DAA2D;IAC3D,IAAI,OAAO,GAAiD,mBAAmB,CAAC;IAChF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE;QACpC,GAAG,SAAS,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;KAC9D,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAgB,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;gBAAsB,OAAO,GAAG,UAAU,CAAC;iBACvE,IAAI,MAAM,CAAC,MAAM,KAAK,qBAAqB;gBAAI,OAAO,GAAG,SAAS,CAAC;YACxE,6CAA6C;QAC9C,CAAC;QAAC,MAAM,CAAC;YACR,sCAAsC;QACvC,CAAC;IACF,CAAC;IAED,OAAO;QACN,OAAO;QACP,KAAK;QACL,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;QAChC,YAAY;KACZ,CAAC;AACH,CAAC;AAeD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAE7C,MAAM,UAAU,iBAAiB,CAAC,EAAgB,EAAE,UAAoC,EAAE;IACzF,EAAE,CAAC,eAAe,CAAC,kBAAkB,EAAE;QACtC,WAAW,EACV,0CAA0C;YAC1C,wCAAwC;YACxC,0EAA0E;QAC3E,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,GAA4B;YACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,+EAA+E,EAAE,OAAO,CAAC,CAAC;gBACxG,OAAO;YACR,CAAC;YAED,0CAA0C;YAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,kDAAkD,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;gBACrF,OAAO;YACR,CAAC;YAED,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,cAAc,QAAQ,iBAAiB,CAAC,CAAC;YAE/E,oEAAoE;YACpE,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,4EAA4E,EAAE,OAAO,CAAC,CAAC;gBACrG,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBACjD,OAAO;YACR,CAAC;YACD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAE1E,oEAAoE;YACpE,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,8CAA8C,QAAQ,6BAA6B,EAAE,OAAO,CAAC,CAAC;gBAC5G,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBACjD,OAAO;YACR,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YACrC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,+BAA+B,QAAQ,KAAK,OAAO,CAAC,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE1F,qEAAqE;YACrE,mDAAmD;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YAC5E,IAAI,UAAkB,CAAC;YACvB,IAAI,gBAAgB,GAAW,KAAK,CAAC;YACrC,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC1C,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;gBAChC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACR,mEAAmE;gBACnE,0DAA0D;gBAC1D,UAAU,GAAG,EAAE,CAAC;gBAChB,gBAAgB,GAAG,mBAAmB,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAuB,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7F,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBACjD,OAAO;YACR,CAAC;YAED,oEAAoE;YACpE,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBACnE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBACrB,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBAC1C,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,0BAA0B,MAAM,iBAAiB,YAAY,EAAE,EAC/D,OAAO,CACP,CAAC;oBACH,CAAC;oBACD,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBACjD,OAAO;gBACR,CAAC;YACF,CAAC;YAED,qEAAqE;YACrE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CACnC,gBAAgB,QAAQ,GAAG,EAC3B,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9B,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;oBAC5D,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBACjD,OAAO;gBACR,CAAC;YACF,CAAC;YAED,oEAAoE;YACpE,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,gBAAgB,GAAa,EAAE,CAAC;YACpC,IAAI,gBAAgB,GAA8B,IAAI,GAAG,EAAE,CAAC;YAE5D,IAAI,mBAAmB,EAAE,CAAC;gBACzB,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAC7C,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,gDAAgD,QAAQ,oCAAoC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,oBAAoB,EAC5J,SAAS,CACT,CAAC;oBACF,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;wBACzB,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CACjC,gCAAgC,QAAQ,GAAG,EAC3C,8EAA8E,CAC9E,CAAC;wBACF,IAAI,KAAK,EAAE,CAAC;4BACX,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAClC,CAAC;6BAAM,CAAC;4BACP,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gDAAgD,EAAE,MAAM,CAAC,CAAC;4BACxE,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;4BACjD,OAAO;wBACR,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,2DAA2D;wBAC3D,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,4EAA4E,EAAE,MAAM,CAAC,CAAC;wBACpG,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBACjD,OAAO;oBACR,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,4BAA4B;oBAC5B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;wBACzB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAClC,iBAAiB,QAAQ,GAAG,EAC5B,8BAA8B,mBAAmB,CAAC,SAAS,KAAK,mBAAmB,CAAC,gBAAgB,CAAC,MAAM,gCAAgC,CAC3I,CAAC;wBACF,IAAI,MAAM,EAAE,CAAC;4BACZ,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC;4BAC/C,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;4BACxD,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,+BAA+B,QAAQ,cAAc,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,EAAE,EAChG,MAAM,CACN,CAAC;4BACF,2EAA2E;4BAC3E,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gCACpD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gCAC7C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oCACnC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gCACzC,CAAC;4BACF,CAAC;wBACF,CAAC;6BAAM,CAAC;4BACP,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAClC,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,6DAA6D;wBAC7D,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,8CAA8C,QAAQ,4CAA4C,EAClG,MAAM,CACN,CAAC;wBACF,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBACjD,OAAO;oBACR,CAAC;gBACF,CAAC;YACF,CAAC;YAED,uEAAuE;YACvE,uEAAuE;YACvE,CAAC;gBACA,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,CACrD,CAAC;gBACF,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAC7D,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;gBAChE,MAAM,eAAe,GAAG,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC;gBAClE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC;gBACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAC/C,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAChE,MAAM,CACN,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC9E,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;wBACxB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC5E,CAAC;oBACD,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBACjD,OAAO;gBACR,CAAC;YACF,CAAC;YAED,qEAAqE;YACrE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,IAAI,SAA6B,CAAC;YAClC,IAAI,YAAgC,CAAC;YACrC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEjC,KAAK,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAEtB,iEAAiE;gBACjE,mEAAmE;gBACnE,8DAA8D;gBAC9D,mDAAmD;gBACnD,CAAC;oBACA,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE;wBACxC,GAAG,SAAS,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;qBAC1D,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC9B,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,IAAI,CAAC;4BACJ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAgB,CAAC,CAAC;4BAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gCAC5E,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,KAAK,QAAQ,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,MAAM,YAAY,UAAU,CAAC,MAAM,aAAa,EACpG,MAAM,CACN,CAAC;gCACF,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCAC9B,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,SAAS,CAAC;gCAC1C,YAAY,GAAG,UAAU,CAAC,QAAQ,IAAI,YAAY,CAAC;gCACnD,gBAAgB,CAAC,GAAG,EAAE;oCACrB,QAAQ;oCACR,SAAS,EAAE,CAAC,GAAG,CAAC;oCAChB,gBAAgB;oCAChB,MAAM,EAAE,KAAK;oCACb,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iCACjC,CAAC,CAAC;gCACH,SAAS;4BACV,CAAC;wBACF,CAAC;wBAAC,MAAM,CAAC;4BACR,0DAA0D;wBAC3D,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CACjB,iBAAiB,EACjB,cAAc,QAAQ,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,GAAG,CACrE,CAAC;gBACF,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,KAAK,QAAQ,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,MAAM,EAAE,EAC5D,MAAM,CACN,CAAC;gBAEF,iEAAiE;gBACjE,2EAA2E;gBAC3E,IAAI,eAAe,GAA6B,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7E,IAAI,eAAe,EAAE,CAAC;oBACrB,oCAAoC;oBACpC,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,eAAe,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;wBAC3G,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,+CAA+C,MAAM,mBAAmB,EACxE,SAAS,CACT,CAAC;wBACF,eAAe,GAAG,SAAS,CAAC;oBAC7B,CAAC;gBACF,CAAC;gBAED,uEAAuE;gBACvE,IAAI,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;oBACtD,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,6CAA6C,MAAM,yBAAyB,EAC5E,SAAS,CACT,CAAC;oBACF,eAAe,GAAG,SAAS,CAAC;gBAC7B,CAAC;gBAED,kEAAkE;gBAClE,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAE9B,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAEnD,MAAM,UAAU,GAA0B,MAAM,eAAe,CAAC;oBAC/D,MAAM;oBACN,GAAG;oBACH,GAAG;oBACH,SAAS;oBACT,QAAQ;oBACR,aAAa;oBACb,QAAQ;oBACR,eAAe;oBACf,MAAM,EAAE,UAAU,EAAG,sCAAsC;oBAC3D,eAAe,EAAE,OAAO,CAAC,eAAe;wBACvC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;4BAClC,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,MAAM,EAAE,CAAC,CAAC,MAAM;yBAChB,CAAC;wBACF,CAAC,CAAC,SAAS;iBACZ,CAAC,CAAC;gBAEH,+DAA+D;gBAC/D,IAAI,UAAU,CAAC,KAAK;oBAAE,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;gBACnD,IAAI,UAAU,CAAC,QAAQ;oBAAE,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;gBAE5D,+DAA+D;gBAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACvC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9B,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC/C,CAAC;qBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBAC9C,4DAA4D;oBAC5D,4DAA4D;oBAC5D,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;oBAC9C,MAAM,cAAc,GAA4B;wBAC/C,OAAO,EAAU,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,gBAAgB;wBACzE,QAAQ;wBACR,IAAI,EAAa,cAAc;wBAC/B,MAAM,EAAW,eAAe;wBAChC,cAAc,EAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;wBACtD,YAAY,EAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;wBACnD,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;wBAC/E,KAAK,EAAY,SAAS,IAAO,cAAc;wBAC/C,QAAQ,EAAS,YAAY,IAAI,cAAc;wBAC/C,IAAI,EAAa,eAAe;wBAChC,iBAAiB,EAAE,CAAC;wBACpB,cAAc,EAAK,MAAM;wBACzB,SAAS,EAAU,WAAW;qBAC9B,CAAC;oBACF,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAEnD,gBAAgB,CAAC,GAAG,EAAE;wBACrB,QAAQ;wBACR,SAAS,EAAE,CAAC;wBACZ,gBAAgB;wBAChB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,WAAW;wBACtB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACjC,CAAC,CAAC;oBACH,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wBAAwB,QAAQ,iBAAiB,MAAM,aAAa,EAAE,MAAM,CAAC,CAAC;oBAC5F,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBACjD,OAAO;gBACR,CAAC;qBAAM,CAAC;oBACP,qGAAqG;oBACrG,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAC3C,MAAM,WAAW,GAA4B;wBAC5C,OAAO,EAAU,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,gBAAgB;wBACzE,QAAQ;wBACR,IAAI,EAAa,cAAc;wBAC/B,MAAM,EAAW,eAAe;wBAChC,cAAc,EAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;wBACtD,YAAY,EAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;wBACnD,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;wBAC/E,KAAK,EAAY,SAAS,IAAO,cAAc;wBAC/C,QAAQ,EAAS,YAAY,IAAI,cAAc;wBAC/C,IAAI,EAAa,eAAe;wBAChC,iBAAiB,EAAE,CAAC;wBACpB,cAAc,EAAK,MAAM;wBACzB,SAAS,EAAU,UAAU,CAAC,SAAS,IAAI,SAAS;qBACpD,CAAC;oBACF,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAEhD,gBAAgB,CAAC,GAAG,EAAE;wBACrB,QAAQ;wBACR,SAAS,EAAE,CAAC;wBACZ,gBAAgB;wBAChB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACjC,CAAC,CAAC;oBACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBACjD,OAAO;gBACR,CAAC;gBAED,6DAA6D;gBAC7D,wBAAwB;gBACxB,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBACnD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CACnC,wBAAwB,EACxB,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,qBAAqB,CACzE,CAAC;oBACF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACd,mCAAmC;wBACnC,gBAAgB,CAAC,GAAG,EAAE;4BACrB,QAAQ;4BACR,SAAS,EAAE,CAAC,GAAG,CAAC;4BAChB,gBAAgB;4BAChB,MAAM,EAAE,KAAK;4BACb,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACjC,CAAC,CAAC;wBAEH,kFAAkF;wBAClF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC9B,IAAI,cAAgD,CAAC;wBAErD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACjC,yDAAyD;4BACzD,+CAA+C;4BAC/C,cAAc,GAAG,MAAM,sBAAsB,CAAC;gCAC7C,QAAQ;gCACR,IAAI,EAAE,SAAS;gCACf,gBAAgB;gCAChB,gBAAgB,EAAE,CAAC;gCACnB,GAAG;gCACH,SAAS;gCACT,GAAG;gCACH,QAAQ;gCACR,eAAe,EAAE,OAAO,CAAC,eAAe;6BACxC,CAAC,CAAC;wBACJ,CAAC;wBAED,MAAM,WAAW,GAA4B;4BAC5C,OAAO,EAAU,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,kBAAkB;4BAC3E,QAAQ;4BACR,IAAI,EAAa,WAAW;4BAC5B,MAAM,EAAW,iBAAiB;4BAClC,cAAc,EAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;4BACtD,YAAY,EAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;4BACnD,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;4BAC/E,KAAK,EAAY,cAAc,EAAE,KAAK,IAAO,SAAS,IAAO,cAAc;4BAC3E,QAAQ,EAAS,cAAc,EAAE,QAAQ,IAAI,YAAY,IAAI,cAAc;4BAC3E,IAAI,EAAa,iBAAiB;4BAClC,SAAS,EAAQ,OAAO,CAAC,MAAM;4BAC/B,gBAAgB;4BAChB,OAAO,EAAU,SAAS;4BAC1B,oBAAoB,EAAE,CAAC;4BACvB,SAAS,EAAQ,CAAC;4BAClB,cAAc,EAAG,CAAC;yBAClB,CAAC;wBACF,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAEhD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,yDAAyD,EAAE,MAAM,CAAC,CAAC;wBACjF,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBACjD,OAAO;oBACR,CAAC;gBACF,CAAC;gBAED,4DAA4D;gBAC5D,gBAAgB,CAAC,GAAG,EAAE;oBACrB,QAAQ;oBACR,SAAS,EAAE,CAAC,GAAG,CAAC;oBAChB,gBAAgB;oBAChB,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACjC,CAAC,CAAC;YACJ,CAAC;YAED,oEAAoE;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE/B,+CAA+C;YAC/C,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAEjC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC;gBAC7C,QAAQ;gBACR,IAAI,EAAE,UAAU;gBAChB,gBAAgB;gBAChB,GAAG;gBACH,SAAS;gBACT,GAAG;gBACH,QAAQ;gBACR,eAAe,EAAE,OAAO,CAAC,eAAe;aACxC,CAAC,CAAC;YAEH,MAAM,WAAW,GAA4B;gBAC5C,OAAO,EAAU,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,kBAAkB;gBAC3E,QAAQ;gBACR,IAAI,EAAa,WAAW;gBAC5B,MAAM,EAAW,iBAAiB;gBAClC,cAAc,EAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;gBACtD,YAAY,EAAK,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;gBACpD,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;gBAChF,KAAK,EAAY,QAAQ,CAAC,KAAK,IAAO,SAAS,IAAO,cAAc;gBACpE,QAAQ,EAAS,QAAQ,CAAC,QAAQ,IAAI,YAAY,IAAI,cAAc;gBACpE,IAAI,EAAa,iBAAiB;gBAClC,SAAS,EAAQ,OAAO,CAAC,MAAM;gBAC/B,gBAAgB;gBAChB,OAAO,EAAU,QAAQ,CAAC,OAAO,KAAK,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO;gBACxF,SAAS,EAAQ,CAAC;gBAClB,cAAc,EAAG,CAAC;aAClB,CAAC;YAEF,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACpB,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,2DAA2D,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EACrF,SAAS,CACT,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,gEAAgE;YAChE,sEAAsE;YACtE,kCAAkC;YAClC,IAAI,CAAC;gBACJ,MAAM,YAAY,GAA+B;oBAChD,IAAI,EAAE,yBAAyB;oBAC/B,QAAQ;oBACR,GAAG;iBACH,CAAC;gBACF,MAAM,kBAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,GAA2B,CAAC;gBACtC,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,6EAA6E,CAAC,CAAC,OAAO,IAAI,SAAS,EAAE,EACrG,SAAS,CACT,CAAC;YACH,CAAC;YAED,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAEjD,IAAI,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACrC,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,+BAA+B,QAAQ,cAAc,gBAAgB,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,UAAU,EACxG,MAAM,CACN,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBACrD,8CAA8C;gBAC9C,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,+BAA+B,QAAQ,0CAA0C;oBACjF,2BAA2B,QAAQ,+BAA+B,EAClE,SAAS,CACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,+BAA+B,QAAQ,2CAA2C,EAClF,SAAS,CACT,CAAC;YACH,CAAC;QACF,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"run-sprint.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/run-sprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import * as path from "node:path";
|
|
|
18
18
|
import { fileURLToPath } from "node:url";
|
|
19
19
|
import { spawnSync } from "node:child_process";
|
|
20
20
|
import { assertAudience, CallerContextStore } from "./audience-gate.js";
|
|
21
|
+
import { resolveToCanonicalId, resolveToolDir } from "./store-resolver.js";
|
|
21
22
|
import { checkMaterialization } from "./plan.js";
|
|
22
23
|
import { loadForgePersona, runForgeSubagent } from "./forge-subagent.js";
|
|
23
24
|
import { discoverForgeConfig } from "./forge-root.js";
|
|
@@ -811,25 +812,42 @@ export function registerRunTask(pi, options = {}) {
|
|
|
811
812
|
"Orchestrator archetype: each phase is an isolated subagent session (IL10).",
|
|
812
813
|
async handler(args, ctx) {
|
|
813
814
|
const cwd = options.cwd ?? process.cwd();
|
|
814
|
-
|
|
815
|
+
let taskId = args.trim();
|
|
815
816
|
if (!taskId) {
|
|
816
817
|
ctx.ui.notify("× forge:run-task — task ID required. Usage: /forge:run-task <TASK_ID>", "error");
|
|
817
818
|
return;
|
|
818
819
|
}
|
|
819
820
|
ctx.ui.setStatus?.(STATUS_KEY, `run-task ${taskId}: initializing…`);
|
|
820
|
-
// Register the session in the live registry that the thread-switcher reads from.
|
|
821
|
-
const registry = getSessionRegistry();
|
|
822
|
-
registry.startSession(taskId);
|
|
823
821
|
// ── Discover forge config ────────────────────────────────────────
|
|
824
822
|
const forgeConfig = discoverForgeConfig(cwd);
|
|
825
823
|
if (!forgeConfig) {
|
|
826
824
|
ctx.ui.notify("× forge:run-task — no Forge project found at cwd. Run /forge:init first.", "error");
|
|
827
|
-
registry.completeSession(taskId, "failed");
|
|
828
825
|
ctx.ui.setStatus?.(STATUS_KEY, undefined);
|
|
829
826
|
ctx.ui.setStatus?.(MESSAGE_KEY, undefined);
|
|
830
827
|
return;
|
|
831
828
|
}
|
|
832
829
|
const forgeRoot = forgeConfig.forgeRoot;
|
|
830
|
+
// ── Resolve task ID (prefix-normalize, suffix-match, NLP fallback) ──
|
|
831
|
+
// Handles unprefixed IDs like "S22-T03" → "FORGE-S22-T03".
|
|
832
|
+
// Issue #20: unprefixed task IDs silently poisoned substitutions.
|
|
833
|
+
// NOTE: resolveToCanonicalId may surface ctx.ui.select (disambiguation)
|
|
834
|
+
// or ctx.ui.confirm prompts. The session must NOT be registered yet
|
|
835
|
+
// at this point — the chip strip would appear before the user has
|
|
836
|
+
// chosen which task they meant, stealing arrow keys from the dialog.
|
|
837
|
+
const toolDir = resolveToolDir(forgeRoot);
|
|
838
|
+
const resolvedTaskId = await resolveToCanonicalId(taskId, toolDir, cwd, "task", { ctx, commandLabel: "forge:run-task" });
|
|
839
|
+
if (!resolvedTaskId) {
|
|
840
|
+
// Error already emitted by resolver
|
|
841
|
+
ctx.ui.setStatus?.(STATUS_KEY, undefined);
|
|
842
|
+
ctx.ui.setStatus?.(MESSAGE_KEY, undefined);
|
|
843
|
+
return;
|
|
844
|
+
}
|
|
845
|
+
// Replace raw arg with canonical ID for all subsequent operations
|
|
846
|
+
// (state files, store reads, preflight gates, orchestrator emits).
|
|
847
|
+
// Issue #20: unprefixed task IDs silently poisoned substitutions.
|
|
848
|
+
taskId = resolvedTaskId;
|
|
849
|
+
// Update status with canonical ID so the user sees the resolved form.
|
|
850
|
+
ctx.ui.setStatus?.(STATUS_KEY, `run-task ${taskId}: ready`);
|
|
833
851
|
// Tool paths
|
|
834
852
|
const storeCli = path.join(forgeRoot, "tools", "store-cli.cjs");
|
|
835
853
|
const preflightGate = path.join(forgeRoot, "tools", "preflight-gate.cjs");
|
|
@@ -848,7 +866,6 @@ export function registerRunTask(pi, options = {}) {
|
|
|
848
866
|
}
|
|
849
867
|
else {
|
|
850
868
|
ctx.ui.notify("forge:run-task — stale state kept; aborting.", "info");
|
|
851
|
-
registry.completeSession(taskId, "failed");
|
|
852
869
|
ctx.ui.setStatus?.(STATUS_KEY, undefined);
|
|
853
870
|
ctx.ui.setStatus?.(MESSAGE_KEY, undefined);
|
|
854
871
|
return;
|
|
@@ -857,7 +874,6 @@ export function registerRunTask(pi, options = {}) {
|
|
|
857
874
|
else {
|
|
858
875
|
// Non-interactive: auto-abort on stale state
|
|
859
876
|
ctx.ui.notify("forge:run-task — stale state; non-interactive mode auto-aborting.", "info");
|
|
860
|
-
registry.completeSession(taskId, "failed");
|
|
861
877
|
ctx.ui.setStatus?.(STATUS_KEY, undefined);
|
|
862
878
|
ctx.ui.setStatus?.(MESSAGE_KEY, undefined);
|
|
863
879
|
return;
|
|
@@ -891,7 +907,13 @@ export function registerRunTask(pi, options = {}) {
|
|
|
891
907
|
}
|
|
892
908
|
}
|
|
893
909
|
}
|
|
894
|
-
// ──
|
|
910
|
+
// ── Register session & delegate to pipeline ────────────────────
|
|
911
|
+
// Session registration MUST happen after all interactive disambiguation
|
|
912
|
+
// (resolveToCanonicalId, resume confirm) so the chip strip doesn't appear
|
|
913
|
+
// before the user has confirmed which task they meant — the strip would
|
|
914
|
+
// steal arrow keys from ctx.ui.select / ctx.ui.confirm dialogs.
|
|
915
|
+
const registry = getSessionRegistry();
|
|
916
|
+
registry.startSession(taskId);
|
|
895
917
|
const signal = registry.getAbortSignal(taskId);
|
|
896
918
|
const pipelineResult = await runTaskPipeline({
|
|
897
919
|
taskId,
|