@scanton/phase2s 1.1.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -1
- package/dist/src/cli/doctor.d.ts +39 -0
- package/dist/src/cli/doctor.d.ts.map +1 -0
- package/dist/src/cli/doctor.js +244 -0
- package/dist/src/cli/doctor.js.map +1 -0
- package/dist/src/cli/goal.d.ts +32 -1
- package/dist/src/cli/goal.d.ts.map +1 -1
- package/dist/src/cli/goal.js +181 -14
- package/dist/src/cli/goal.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +115 -9
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/init.d.ts +73 -0
- package/dist/src/cli/init.d.ts.map +1 -0
- package/dist/src/cli/init.js +366 -0
- package/dist/src/cli/init.js.map +1 -0
- package/dist/src/cli/lint.d.ts +32 -0
- package/dist/src/cli/lint.d.ts.map +1 -0
- package/dist/src/cli/lint.js +140 -0
- package/dist/src/cli/lint.js.map +1 -0
- package/dist/src/cli/report.d.ts +62 -0
- package/dist/src/cli/report.d.ts.map +1 -0
- package/dist/src/cli/report.js +188 -0
- package/dist/src/cli/report.js.map +1 -0
- package/dist/src/cli/upgrade.d.ts +35 -0
- package/dist/src/cli/upgrade.d.ts.map +1 -0
- package/dist/src/cli/upgrade.js +126 -0
- package/dist/src/cli/upgrade.js.map +1 -0
- package/dist/src/core/config.d.ts +60 -8
- package/dist/src/core/config.d.ts.map +1 -1
- package/dist/src/core/config.js +31 -1
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/notify.d.ts +41 -0
- package/dist/src/core/notify.d.ts.map +1 -0
- package/dist/src/core/notify.js +153 -0
- package/dist/src/core/notify.js.map +1 -0
- package/dist/src/core/run-logger.d.ts +83 -0
- package/dist/src/core/run-logger.d.ts.map +1 -0
- package/dist/src/core/run-logger.js +70 -0
- package/dist/src/core/run-logger.js.map +1 -0
- package/dist/src/mcp/server.d.ts +9 -0
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +148 -1
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/providers/gemini.d.ts +29 -0
- package/dist/src/providers/gemini.d.ts.map +1 -0
- package/dist/src/providers/gemini.js +47 -0
- package/dist/src/providers/gemini.js.map +1 -0
- package/dist/src/providers/index.d.ts +2 -0
- package/dist/src/providers/index.d.ts.map +1 -1
- package/dist/src/providers/index.js +8 -0
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/openrouter.d.ts +25 -0
- package/dist/src/providers/openrouter.d.ts.map +1 -0
- package/dist/src/providers/openrouter.js +43 -0
- package/dist/src/providers/openrouter.js.map +1 -0
- package/dist/src/tools/registry.d.ts +5 -3
- package/dist/src/tools/registry.d.ts.map +1 -1
- package/dist/src/tools/registry.js +35 -12
- package/dist/src/tools/registry.js.map +1 -1
- package/package.json +1 -1
package/dist/src/cli/goal.js
CHANGED
|
@@ -6,12 +6,17 @@
|
|
|
6
6
|
* output, retries failed sub-tasks with failure context, and loops until all
|
|
7
7
|
* criteria pass or max attempts are exhausted.
|
|
8
8
|
*
|
|
9
|
-
* Usage: phase2s goal <spec-file> [--max-attempts <n>] [--resume]
|
|
9
|
+
* Usage: phase2s goal <spec-file> [--max-attempts <n>] [--resume] [--review-before-run]
|
|
10
10
|
*
|
|
11
11
|
* With --resume: reads existing state from .phase2s/state/<hash>.json
|
|
12
12
|
* (relative to the spec file directory), skips completed sub-tasks, and
|
|
13
13
|
* injects saved failure context for failed ones. Starts fresh if no state
|
|
14
14
|
* exists.
|
|
15
|
+
*
|
|
16
|
+
* With --review-before-run: runs the spec through adversarial review (fresh
|
|
17
|
+
* Agent instance, adversarial SKILL.md template) before execution begins.
|
|
18
|
+
* Halts and returns challenged: true if verdict is CHALLENGED or
|
|
19
|
+
* NEEDS_CLARIFICATION.
|
|
15
20
|
*/
|
|
16
21
|
import { execFile } from "child_process";
|
|
17
22
|
import { readFileSync } from "fs";
|
|
@@ -21,26 +26,34 @@ import { loadConfig } from "../core/config.js";
|
|
|
21
26
|
import { loadLearnings, formatLearningsForPrompt } from "../core/memory.js";
|
|
22
27
|
import { parseSpec } from "../core/spec-parser.js";
|
|
23
28
|
import { computeSpecHash, readState, writeState, clearState } from "../core/state.js";
|
|
29
|
+
import { RunLogger } from "../core/run-logger.js";
|
|
30
|
+
import { sendNotification, buildNotifyPayload } from "../core/notify.js";
|
|
24
31
|
import { loadAllSkills } from "../skills/index.js";
|
|
25
32
|
import { substituteInputs, stripAskTokens } from "../skills/template.js";
|
|
26
33
|
/** Cap on bytes stored for failureContext per sub-task. */
|
|
27
34
|
const FAILURE_CONTEXT_MAX_BYTES = 4096;
|
|
28
35
|
export async function runGoal(specFile, options = {}) {
|
|
29
36
|
const specPath = resolve(process.cwd(), specFile);
|
|
30
|
-
// State
|
|
37
|
+
// State and run logs are stored relative to the spec file directory, not
|
|
38
|
+
// invocation cwd. This keeps logs next to the spec regardless of where
|
|
39
|
+
// `phase2s goal` is invoked from.
|
|
31
40
|
const specDir = dirname(specPath);
|
|
32
41
|
let markdown;
|
|
33
42
|
try {
|
|
34
43
|
markdown = readFileSync(specPath, "utf8");
|
|
35
44
|
}
|
|
36
45
|
catch {
|
|
37
|
-
|
|
38
|
-
process.exit(1);
|
|
46
|
+
throw new Error(`Cannot read spec file: ${specPath}`);
|
|
39
47
|
}
|
|
40
48
|
const specHash = computeSpecHash(markdown);
|
|
41
49
|
const spec = parseSpec(markdown);
|
|
42
50
|
const maxAttempts = Math.max(1, parseInt(options.maxAttempts ?? "3", 10) || 3);
|
|
43
51
|
const resume = !!options.resume;
|
|
52
|
+
// Initialise RunLogger now so we can capture the path even if we halt early.
|
|
53
|
+
const logger = new RunLogger(specDir, specHash);
|
|
54
|
+
const startMs = Date.now();
|
|
55
|
+
// Load config early so it's available for all return paths (including early exits).
|
|
56
|
+
const config = await loadConfig();
|
|
44
57
|
// -------------------------------------------------------------------------
|
|
45
58
|
// State: load existing state when resuming, otherwise start fresh.
|
|
46
59
|
// -------------------------------------------------------------------------
|
|
@@ -57,6 +70,14 @@ export async function runGoal(specFile, options = {}) {
|
|
|
57
70
|
subTaskResults: {},
|
|
58
71
|
};
|
|
59
72
|
}
|
|
73
|
+
logger.log({
|
|
74
|
+
event: "goal_started",
|
|
75
|
+
specFile: basename(specPath),
|
|
76
|
+
specHash,
|
|
77
|
+
subTaskCount: spec.decomposition.length,
|
|
78
|
+
maxAttempts,
|
|
79
|
+
resuming: resume,
|
|
80
|
+
});
|
|
60
81
|
console.log(`\nGoal executor: ${spec.title}`);
|
|
61
82
|
console.log(`Eval command: ${spec.evalCommand}`);
|
|
62
83
|
console.log(`Sub-tasks: ${spec.decomposition.length}`);
|
|
@@ -68,7 +89,17 @@ export async function runGoal(specFile, options = {}) {
|
|
|
68
89
|
}
|
|
69
90
|
if (spec.decomposition.length === 0 && spec.acceptanceCriteria.length === 0) {
|
|
70
91
|
console.log("\nSpec has no sub-tasks and no acceptance criteria. Nothing to execute.");
|
|
71
|
-
|
|
92
|
+
logger.log({ event: "goal_completed", success: true, attempts: 0 });
|
|
93
|
+
const result = {
|
|
94
|
+
success: true,
|
|
95
|
+
attempts: 0,
|
|
96
|
+
criteriaResults: {},
|
|
97
|
+
runLogPath: logger.close(),
|
|
98
|
+
summary: "Spec has no sub-tasks and no acceptance criteria.",
|
|
99
|
+
durationMs: Date.now() - startMs,
|
|
100
|
+
};
|
|
101
|
+
await maybeNotify(options, config, result, basename(specPath));
|
|
102
|
+
return result;
|
|
72
103
|
}
|
|
73
104
|
// Warn on large specs
|
|
74
105
|
if (spec.decomposition.length * maxAttempts > 15) {
|
|
@@ -76,19 +107,57 @@ export async function runGoal(specFile, options = {}) {
|
|
|
76
107
|
"This may take a while and consume significant ChatGPT usage.");
|
|
77
108
|
}
|
|
78
109
|
// Set up agent
|
|
79
|
-
const config = await loadConfig();
|
|
80
110
|
const learningsList = await loadLearnings(process.cwd());
|
|
81
111
|
const learningsStr = formatLearningsForPrompt(learningsList);
|
|
82
|
-
|
|
83
|
-
// Load skills to get satori template + settings
|
|
112
|
+
// Load skills to get satori + adversarial templates and settings
|
|
84
113
|
const skills = await loadAllSkills();
|
|
85
114
|
const satoriSkill = skills.find((s) => s.name === "satori");
|
|
115
|
+
const adversarialSkill = skills.find((s) => s.name === "adversarial");
|
|
86
116
|
const satoriRetries = satoriSkill?.retries ?? 3;
|
|
87
117
|
const satoriModel = satoriSkill?.model;
|
|
118
|
+
const adversarialModel = adversarialSkill?.model;
|
|
88
119
|
// Build the satori base prompt from its template (same as what the REPL does)
|
|
89
120
|
const satoriTemplate = satoriSkill
|
|
90
121
|
? stripAskTokens(substituteInputs(satoriSkill.promptTemplate, {}, satoriSkill.inputs)).result
|
|
91
122
|
: "";
|
|
123
|
+
// -------------------------------------------------------------------------
|
|
124
|
+
// Pre-execution adversarial review (optional, uses fresh Agent to avoid
|
|
125
|
+
// contaminating the implementation agent's conversation history).
|
|
126
|
+
// -------------------------------------------------------------------------
|
|
127
|
+
if (options.reviewBeforeRun) {
|
|
128
|
+
logger.log({ event: "plan_review_started" });
|
|
129
|
+
const adversarialTemplate = adversarialSkill?.promptTemplate ?? "";
|
|
130
|
+
const reviewPrompt = buildAdversarialPrompt(spec, adversarialTemplate);
|
|
131
|
+
const reviewAgent = new Agent({ config, learnings: learningsStr });
|
|
132
|
+
const response = await reviewAgent.run(reviewPrompt, { modelOverride: adversarialModel });
|
|
133
|
+
const verdict = response.includes("VERDICT: CHALLENGED")
|
|
134
|
+
? "CHALLENGED"
|
|
135
|
+
: response.includes("NEEDS_CLARIFICATION")
|
|
136
|
+
? "NEEDS_CLARIFICATION"
|
|
137
|
+
: "APPROVED";
|
|
138
|
+
logger.log({ event: "plan_review_completed", verdict, response });
|
|
139
|
+
if (verdict !== "APPROVED") {
|
|
140
|
+
console.log(`\nSpec ${verdict} before execution. Adversarial review response:\n`);
|
|
141
|
+
console.log(response);
|
|
142
|
+
const result = {
|
|
143
|
+
success: false,
|
|
144
|
+
attempts: 0,
|
|
145
|
+
criteriaResults: {},
|
|
146
|
+
runLogPath: logger.close(),
|
|
147
|
+
summary: `Spec ${verdict} before execution.`,
|
|
148
|
+
durationMs: Date.now() - startMs,
|
|
149
|
+
challenged: true,
|
|
150
|
+
challengeResponse: response,
|
|
151
|
+
};
|
|
152
|
+
await maybeNotify(options, config, result, basename(specPath));
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
console.log("\nAdversarial review: APPROVED. Proceeding with execution.");
|
|
156
|
+
}
|
|
157
|
+
// -------------------------------------------------------------------------
|
|
158
|
+
// Main execution loop
|
|
159
|
+
// -------------------------------------------------------------------------
|
|
160
|
+
const agent = new Agent({ config, learnings: learningsStr });
|
|
92
161
|
let attempt = state.attempt;
|
|
93
162
|
let subtasksToRun = spec.decomposition;
|
|
94
163
|
let previousFailureContext;
|
|
@@ -96,6 +165,7 @@ export async function runGoal(specFile, options = {}) {
|
|
|
96
165
|
while (attempt < maxAttempts) {
|
|
97
166
|
attempt++;
|
|
98
167
|
state.attempt = attempt;
|
|
168
|
+
logger.log({ event: "attempt_started", attempt });
|
|
99
169
|
console.log(`\n${"=".repeat(50)}`);
|
|
100
170
|
console.log(`Attempt ${attempt}/${maxAttempts}`);
|
|
101
171
|
console.log("=".repeat(50));
|
|
@@ -115,6 +185,8 @@ export async function runGoal(specFile, options = {}) {
|
|
|
115
185
|
const priorFailureContext = priorResult?.status === "failed"
|
|
116
186
|
? priorResult.failureContext
|
|
117
187
|
: previousFailureContext;
|
|
188
|
+
const numericIndex = globalIndex >= 0 ? globalIndex : i;
|
|
189
|
+
logger.log({ event: "subtask_started", attempt, index: numericIndex, name: subtask.name });
|
|
118
190
|
console.log(`\nRunning sub-task: ${subtask.name}`);
|
|
119
191
|
const taskContext = buildSatoriContext(subtask, spec.constraints, priorFailureContext);
|
|
120
192
|
// Combine satori system instructions + task-specific context
|
|
@@ -150,6 +222,7 @@ export async function runGoal(specFile, options = {}) {
|
|
|
150
222
|
};
|
|
151
223
|
state.lastUpdatedAt = new Date().toISOString();
|
|
152
224
|
writeState(specDir, specHash, state);
|
|
225
|
+
logger.log({ event: "subtask_completed", attempt, index: numericIndex, status: "failed", failureContext: truncated });
|
|
153
226
|
console.error(`\nSub-task failed: ${subtask.name}`);
|
|
154
227
|
}
|
|
155
228
|
else {
|
|
@@ -160,26 +233,51 @@ export async function runGoal(specFile, options = {}) {
|
|
|
160
233
|
};
|
|
161
234
|
state.lastUpdatedAt = new Date().toISOString();
|
|
162
235
|
writeState(specDir, specHash, state);
|
|
236
|
+
logger.log({ event: "subtask_completed", attempt, index: numericIndex, status: "passed" });
|
|
163
237
|
}
|
|
164
238
|
}
|
|
165
239
|
// Run evaluation
|
|
166
240
|
console.log(`\nRunning evaluation: ${spec.evalCommand}`);
|
|
241
|
+
logger.log({ event: "eval_started", command: spec.evalCommand });
|
|
167
242
|
const evalOutput = await runCommand(spec.evalCommand);
|
|
168
243
|
console.log(evalOutput.slice(0, 1000) + (evalOutput.length > 1000 ? "\n[...truncated...]" : ""));
|
|
244
|
+
// Store first 2000 chars in log (enough for diagnostics, not overwhelming)
|
|
245
|
+
logger.log({ event: "eval_completed", output: evalOutput.slice(0, 2000) });
|
|
169
246
|
// If no acceptance criteria, report raw output and exit
|
|
170
247
|
if (spec.acceptanceCriteria.length === 0) {
|
|
171
248
|
console.log("\nNo acceptance criteria defined. Eval output shown above.");
|
|
172
|
-
|
|
249
|
+
logger.log({ event: "goal_completed", success: true, attempts: attempt });
|
|
250
|
+
const result = {
|
|
251
|
+
success: true,
|
|
252
|
+
attempts: attempt,
|
|
253
|
+
criteriaResults: {},
|
|
254
|
+
runLogPath: logger.close(),
|
|
255
|
+
summary: `Goal completed successfully after ${attempt} attempt(s).`,
|
|
256
|
+
durationMs: Date.now() - startMs,
|
|
257
|
+
};
|
|
258
|
+
await maybeNotify(options, config, result, basename(specPath));
|
|
259
|
+
return result;
|
|
173
260
|
}
|
|
174
261
|
// Check acceptance criteria
|
|
175
262
|
criteriaResults = await checkCriteria(spec.acceptanceCriteria, evalOutput, agent);
|
|
176
263
|
printCriteriaTable(criteriaResults);
|
|
177
264
|
const failing = Object.entries(criteriaResults).filter(([, pass]) => !pass).map(([c]) => c);
|
|
265
|
+
logger.log({ event: "criteria_checked", results: criteriaResults, failing });
|
|
178
266
|
if (failing.length === 0) {
|
|
179
267
|
console.log(`\n✓ All acceptance criteria met after ${attempt} attempt(s).`);
|
|
180
268
|
// Clean completion: remove state so stale state doesn't block future runs.
|
|
181
269
|
clearState(specDir, specHash);
|
|
182
|
-
|
|
270
|
+
logger.log({ event: "goal_completed", success: true, attempts: attempt });
|
|
271
|
+
const result = {
|
|
272
|
+
success: true,
|
|
273
|
+
attempts: attempt,
|
|
274
|
+
criteriaResults,
|
|
275
|
+
runLogPath: logger.close(),
|
|
276
|
+
summary: `All criteria passed after ${attempt} attempt(s).`,
|
|
277
|
+
durationMs: Date.now() - startMs,
|
|
278
|
+
};
|
|
279
|
+
await maybeNotify(options, config, result, basename(specPath));
|
|
280
|
+
return result;
|
|
183
281
|
}
|
|
184
282
|
if (attempt < maxAttempts) {
|
|
185
283
|
previousFailureContext = await analyzeFailures(failing, evalOutput, spec, agent);
|
|
@@ -191,11 +289,80 @@ export async function runGoal(specFile, options = {}) {
|
|
|
191
289
|
}
|
|
192
290
|
console.log(`\n✗ Goal not achieved after ${maxAttempts} attempts.`);
|
|
193
291
|
console.log("Failing criteria:");
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
292
|
+
const failingFinal = Object.entries(criteriaResults).filter(([, pass]) => !pass).map(([c]) => c);
|
|
293
|
+
for (const criterion of failingFinal) {
|
|
294
|
+
console.log(` ✗ ${criterion}`);
|
|
197
295
|
}
|
|
198
|
-
|
|
296
|
+
logger.log({ event: "goal_completed", success: false, attempts: maxAttempts });
|
|
297
|
+
const failResult = {
|
|
298
|
+
success: false,
|
|
299
|
+
attempts: maxAttempts,
|
|
300
|
+
criteriaResults,
|
|
301
|
+
runLogPath: logger.close(),
|
|
302
|
+
summary: `Goal failed after ${maxAttempts} attempts. ${failingFinal.length} criteria not met.`,
|
|
303
|
+
durationMs: Date.now() - startMs,
|
|
304
|
+
};
|
|
305
|
+
await maybeNotify(options, config, failResult, basename(specPath));
|
|
306
|
+
return failResult;
|
|
307
|
+
}
|
|
308
|
+
// ---------------------------------------------------------------------------
|
|
309
|
+
// Notification helper
|
|
310
|
+
// ---------------------------------------------------------------------------
|
|
311
|
+
/**
|
|
312
|
+
* Send a post-run notification if the caller requested one.
|
|
313
|
+
* Errors are swallowed — notification failures never surface to the user.
|
|
314
|
+
*/
|
|
315
|
+
async function maybeNotify(options, config, result, specFile) {
|
|
316
|
+
if (!options.notify)
|
|
317
|
+
return;
|
|
318
|
+
const notifyOptions = typeof options.notify === "object"
|
|
319
|
+
? options.notify
|
|
320
|
+
: {
|
|
321
|
+
mac: config.notify?.mac,
|
|
322
|
+
slack: config.notify?.slack,
|
|
323
|
+
discord: config.notify?.discord,
|
|
324
|
+
teams: config.notify?.teams,
|
|
325
|
+
};
|
|
326
|
+
const payload = buildNotifyPayload(specFile, result.success, result.attempts, result.challenged ?? false, result.durationMs);
|
|
327
|
+
try {
|
|
328
|
+
await sendNotification(payload, notifyOptions);
|
|
329
|
+
}
|
|
330
|
+
catch (err) {
|
|
331
|
+
console.error(`[phase2s notify] Notification failed: ${String(err)}`);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
// ---------------------------------------------------------------------------
|
|
335
|
+
// buildAdversarialPrompt
|
|
336
|
+
// ---------------------------------------------------------------------------
|
|
337
|
+
/**
|
|
338
|
+
* Build a pre-execution adversarial review prompt.
|
|
339
|
+
*
|
|
340
|
+
* Injects the spec's decomposition and acceptance criteria as the "plan" to
|
|
341
|
+
* challenge, then appends the adversarial SKILL.md template which instructs
|
|
342
|
+
* the model to review what came before it and emit a structured verdict.
|
|
343
|
+
*/
|
|
344
|
+
export function buildAdversarialPrompt(spec, adversarialTemplate) {
|
|
345
|
+
const decompositionLines = spec.decomposition
|
|
346
|
+
.map((t, i) => `${i + 1}. **${t.name}**: ${t.successCriteria}`)
|
|
347
|
+
.join("\n");
|
|
348
|
+
const criteriaLines = spec.acceptanceCriteria
|
|
349
|
+
.map((c, i) => `${i + 1}. ${c}`)
|
|
350
|
+
.join("\n");
|
|
351
|
+
const plan = [
|
|
352
|
+
`## Spec: ${spec.title}`,
|
|
353
|
+
"",
|
|
354
|
+
"### Problem",
|
|
355
|
+
spec.problemStatement,
|
|
356
|
+
"",
|
|
357
|
+
"### Sub-task decomposition",
|
|
358
|
+
decompositionLines || "(none)",
|
|
359
|
+
"",
|
|
360
|
+
"### Acceptance criteria",
|
|
361
|
+
criteriaLines || "(none)",
|
|
362
|
+
].join("\n");
|
|
363
|
+
return adversarialTemplate
|
|
364
|
+
? `${plan}\n\n${adversarialTemplate}`
|
|
365
|
+
: plan;
|
|
199
366
|
}
|
|
200
367
|
// ---------------------------------------------------------------------------
|
|
201
368
|
// Helpers
|
package/dist/src/cli/goal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goal.js","sourceRoot":"","sources":["../../../src/cli/goal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAA2B,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEzE,2DAA2D;AAC3D,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAavC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,UAAuB,EAAE;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,2EAA2E;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhC,4EAA4E;IAC5E,mEAAmE;IACnE,4EAA4E;IAC5E,IAAI,KAAK,GAAqB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3E,yEAAyE;IACzE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,GAAG;YACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAC5B,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACvC,WAAW;YACX,OAAO,EAAE,CAAC;YACV,cAAc,EAAE,EAAE;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAClG,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,8BAA8B,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACvF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IAC7D,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,WAAW,GAAG,EAAE,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CACV,gDAAgD,IAAI,CAAC,aAAa,CAAC,MAAM,gBAAgB,WAAW,cAAc;YAClH,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IAE7D,gDAAgD;IAChD,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,WAAW,EAAE,KAAK,CAAC;IAEvC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,WAAW;QAChC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC7F,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACvC,IAAI,sBAA0C,CAAC;IAC/C,IAAI,eAAe,GAA4B,EAAE,CAAC;IAElD,OAAO,OAAO,GAAG,WAAW,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;QACV,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACjC,qFAAqF;YACrF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAEnD,uDAAuD;YACvD,IAAI,WAAW,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,SAAS;YACX,CAAC;YAED,+DAA+D;YAC/D,MAAM,mBAAmB,GAAG,WAAW,EAAE,MAAM,KAAK,QAAQ;gBAC1D,CAAC,CAAC,WAAW,CAAC,cAAc;gBAC5B,CAAC,CAAC,sBAAsB,CAAC;YAE3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YACvF,6DAA6D;YAC7D,MAAM,eAAe,GAAG,cAAc;gBACpC,CAAC,CAAC,GAAG,cAAc,gBAAgB,WAAW,EAAE;gBAChD,CAAC,CAAC,WAAW,CAAC;YAEhB,wEAAwE;YACxE,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,IAAI,WAAW,GAAY,IAAI,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE;oBAC/B,aAAa,EAAE,WAAW;oBAC1B,UAAU,EAAE,aAAa;oBACzB,aAAa,EAAE,IAAI,CAAC,WAAW;oBAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC5B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,WAAW,GAAG,GAAG,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE3B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,CAAC;YAE9D,IAAI,WAAW,EAAE,CAAC;gBAChB,+DAA+D;gBAC/D,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;oBAC/B,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,SAAS;oBACzB,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;iBAC3C,CAAC;gBACF,KAAK,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC/C,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,0EAA0E;gBAC1E,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;oBAC/B,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC,CAAC;gBACF,KAAK,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC/C,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjG,wDAAwD;QACxD,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACnE,CAAC;QAED,4BAA4B;QAC5B,eAAe,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAClF,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,cAAc,CAAC,CAAC;YAC5E,2EAA2E;YAC3E,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAC/D,CAAC;QAED,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;YAC1B,sBAAsB,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACjF,aAAa,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC;YACzG,wFAAwF;YACxF,0FAA0F;YAC1F,OAAO,CAAC,GAAG,CAAC,cAAc,aAAa,CAAC,MAAM,iBAAiB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,WAAW,YAAY,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AACpE,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,WAAgC,EAChC,cAAuB;IAEvB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAClG,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAExG,IAAI,OAAO,GAAG,GAAG,OAAO,CAAC,eAAe;;;WAG/B,OAAO,CAAC,KAAK,IAAI,iBAAiB;qBACxB,OAAO,CAAC,MAAM,IAAI,iBAAiB;;;aAG3C,MAAM;eACJ,QAAQ,EAAE,CAAC;IAExB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,IAAI;;;EAGb,cAAc;;wDAEwC,CAAC;IACvD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAkB,EAClB,UAAkB,EAClB,KAAY;IAEZ,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG;;EAEf,SAAS;;;;;;;;EAQT,YAAY,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzC,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,kBAAkB;IAChD,CAAC;IAED,yDAAyD;IACzD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAE1D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,+BAA+B;YAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,OAAO;gBAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,QAAkB;IACrD,oBAAoB;IACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,2EAA2E;IAC3E,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACjE,CAAC;IACF,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAiB,EACjB,UAAkB,EAClB,IAAU,EACV,KAAY;IAEZ,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG;EACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIvC,SAAS;;;0BAGe,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;;0FAE6B,CAAC;IAEzF,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAiB,EACjB,aAAwB,EACxB,cAAsB,EACtB,KAAY;IAEZ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,aAAa;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;SAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG;EACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGvC,cAAc;;;EAGd,WAAW;;gIAEmH,CAAC;IAE/H,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,aAAa,CAAC,IAAI,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC5D,CACF,CAAC;IAEF,wDAAwD;IACxD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,SAAS,GAAG,OAAO;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE;YAC1B,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,sBAAsB,SAAS,GAAG,IAAI,MAAM,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,eAAe,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,eAAwC;IAClE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"goal.js","sourceRoot":"","sources":["../../../src/cli/goal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAiEA,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAiEA,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4PvE;AAwfD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,oBAAoB,EAAE,KAAK,EAAE,GAC3C;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CA6BjI"}
|
package/dist/src/cli/index.js
CHANGED
|
@@ -124,11 +124,16 @@ export async function main(argv = process.argv) {
|
|
|
124
124
|
});
|
|
125
125
|
// List available skills
|
|
126
126
|
program
|
|
127
|
-
.command("skills")
|
|
128
|
-
.description("List available skills")
|
|
127
|
+
.command("skills [query]")
|
|
128
|
+
.description("List available skills, or filter with an optional search query")
|
|
129
129
|
.option("--json", "Output as JSON")
|
|
130
|
-
.action(async (cmdOpts) => {
|
|
131
|
-
|
|
130
|
+
.action(async (query, cmdOpts) => {
|
|
131
|
+
let skills = await loadAllSkills();
|
|
132
|
+
if (query) {
|
|
133
|
+
const q = query.toLowerCase();
|
|
134
|
+
skills = skills.filter((s) => s.name.toLowerCase().includes(q) ||
|
|
135
|
+
(s.description?.toLowerCase().includes(q) ?? false));
|
|
136
|
+
}
|
|
132
137
|
if (cmdOpts.json) {
|
|
133
138
|
const output = skills.map((s) => ({
|
|
134
139
|
name: s.name,
|
|
@@ -145,10 +150,18 @@ export async function main(argv = process.argv) {
|
|
|
145
150
|
return;
|
|
146
151
|
}
|
|
147
152
|
if (skills.length === 0) {
|
|
148
|
-
|
|
153
|
+
if (query) {
|
|
154
|
+
console.log(chalk.yellow(`\n No skills match "${query}". Try a broader term or run phase2s skills to list all.\n`));
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
log.info("No skills found. Add skills to .phase2s/skills/ or ~/.phase2s/skills/");
|
|
158
|
+
}
|
|
149
159
|
return;
|
|
150
160
|
}
|
|
151
|
-
|
|
161
|
+
const header = query
|
|
162
|
+
? chalk.bold(`\nSkills matching "${query}":\n`)
|
|
163
|
+
: chalk.bold("\nAvailable skills:\n");
|
|
164
|
+
console.log(header);
|
|
152
165
|
for (const skill of skills) {
|
|
153
166
|
const tierBadge = skill.model === "fast"
|
|
154
167
|
? chalk.blue(" [fast]")
|
|
@@ -165,10 +178,97 @@ export async function main(argv = process.argv) {
|
|
|
165
178
|
.description("Execute a spec file end-to-end: run sub-tasks, evaluate, retry until done")
|
|
166
179
|
.option("--max-attempts <n>", "Maximum retry loops (default: 3)", "3")
|
|
167
180
|
.option("--resume", "Resume from the last completed sub-task (reads state from .phase2s/state/)")
|
|
181
|
+
.option("--review-before-run", "Run adversarial review on spec before executing")
|
|
182
|
+
.option("--notify", "Send a notification when the run completes (macOS + optional Slack webhook)")
|
|
168
183
|
.action(async (specFile, cmdOpts) => {
|
|
169
184
|
const { runGoal } = await import("./goal.js");
|
|
170
|
-
|
|
171
|
-
|
|
185
|
+
try {
|
|
186
|
+
const result = await runGoal(specFile, {
|
|
187
|
+
maxAttempts: cmdOpts.maxAttempts,
|
|
188
|
+
resume: cmdOpts.resume,
|
|
189
|
+
reviewBeforeRun: cmdOpts.reviewBeforeRun,
|
|
190
|
+
notify: cmdOpts.notify,
|
|
191
|
+
});
|
|
192
|
+
if (result.runLogPath)
|
|
193
|
+
console.log(`Run log: ${result.runLogPath}`);
|
|
194
|
+
process.exit(result.success ? 0 : 1);
|
|
195
|
+
}
|
|
196
|
+
catch (err) {
|
|
197
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
198
|
+
process.exit(1);
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
// Run log report viewer
|
|
202
|
+
program
|
|
203
|
+
.command("report <logfile>")
|
|
204
|
+
.description("Display a human-readable summary of a dark factory run log (.jsonl)")
|
|
205
|
+
.action(async (logfile) => {
|
|
206
|
+
const { parseRunLog, buildRunReport, formatRunReport } = await import("./report.js");
|
|
207
|
+
try {
|
|
208
|
+
const events = parseRunLog(logfile);
|
|
209
|
+
const report = buildRunReport(events);
|
|
210
|
+
console.log(formatRunReport(report));
|
|
211
|
+
}
|
|
212
|
+
catch (err) {
|
|
213
|
+
console.error(`Error reading run log: ${err instanceof Error ? err.message : String(err)}`);
|
|
214
|
+
process.exit(1);
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
// Interactive setup wizard
|
|
218
|
+
program
|
|
219
|
+
.command("init")
|
|
220
|
+
.description("Interactive setup wizard — configure .phase2s.yaml for your provider")
|
|
221
|
+
.option("--non-interactive", "Skip prompts and use flag values (for CI)")
|
|
222
|
+
.option("--provider <provider>", "Provider: codex-cli, openai-api, anthropic, ollama, openrouter, gemini")
|
|
223
|
+
.option("--api-key <key>", "API key for openai-api or anthropic provider")
|
|
224
|
+
.option("--openrouter-api-key <key>", "API key for openrouter provider")
|
|
225
|
+
.option("--gemini-api-key <key>", "API key for gemini provider (starts with AIza)")
|
|
226
|
+
.option("--fast-model <model>", "Fast tier model name")
|
|
227
|
+
.option("--smart-model <model>", "Smart tier model name")
|
|
228
|
+
.option("--slack-webhook <url>", "Slack webhook URL for notifications")
|
|
229
|
+
.option("--discord-webhook <url>", "Discord webhook URL for notifications")
|
|
230
|
+
.option("--teams-webhook <url>", "Microsoft Teams webhook URL for notifications")
|
|
231
|
+
.action(async (cmdOpts) => {
|
|
232
|
+
const { runInit } = await import("./init.js");
|
|
233
|
+
await runInit({
|
|
234
|
+
nonInteractive: cmdOpts.nonInteractive,
|
|
235
|
+
provider: cmdOpts.provider,
|
|
236
|
+
apiKey: cmdOpts.apiKey,
|
|
237
|
+
openrouterApiKey: cmdOpts.openrouterApiKey,
|
|
238
|
+
geminiApiKey: cmdOpts.geminiApiKey,
|
|
239
|
+
fastModel: cmdOpts.fastModel,
|
|
240
|
+
smartModel: cmdOpts.smartModel,
|
|
241
|
+
slackWebhook: cmdOpts.slackWebhook,
|
|
242
|
+
discordWebhook: cmdOpts.discordWebhook,
|
|
243
|
+
teamsWebhook: cmdOpts.teamsWebhook,
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
// Self-update command
|
|
247
|
+
program
|
|
248
|
+
.command("upgrade")
|
|
249
|
+
.description("Check for a newer version and offer to install it")
|
|
250
|
+
.option("--check", "Report whether an update is available without prompting")
|
|
251
|
+
.action(async (cmdOpts) => {
|
|
252
|
+
const { runUpgrade } = await import("./upgrade.js");
|
|
253
|
+
await runUpgrade(VERSION, { check: cmdOpts.check });
|
|
254
|
+
});
|
|
255
|
+
// Spec linting
|
|
256
|
+
program
|
|
257
|
+
.command("lint <spec-file>")
|
|
258
|
+
.description("Validate a 5-pillar spec file before running it — catches structural errors before the dark factory run begins")
|
|
259
|
+
.action(async (specFile) => {
|
|
260
|
+
const { runLint } = await import("./lint.js");
|
|
261
|
+
const ok = await runLint(specFile);
|
|
262
|
+
if (!ok)
|
|
263
|
+
process.exit(1);
|
|
264
|
+
});
|
|
265
|
+
// Installation health check
|
|
266
|
+
program
|
|
267
|
+
.command("doctor")
|
|
268
|
+
.description("Check Phase2S installation health — Node version, auth, config, working dir")
|
|
269
|
+
.action(async () => {
|
|
270
|
+
const { runDoctor } = await import("./doctor.js");
|
|
271
|
+
await runDoctor();
|
|
172
272
|
});
|
|
173
273
|
// Shell completion script generator
|
|
174
274
|
program
|
|
@@ -203,7 +303,7 @@ _phase2s_complete() {
|
|
|
203
303
|
|
|
204
304
|
# Complete subcommands at position 1
|
|
205
305
|
if [[ \${COMP_CWORD} -eq 1 ]]; then
|
|
206
|
-
COMPREPLY=($(compgen -W "chat run skills mcp completion" -- "\$cur"))
|
|
306
|
+
COMPREPLY=($(compgen -W "chat run skills mcp goal report init upgrade lint doctor completion" -- "\$cur"))
|
|
207
307
|
return
|
|
208
308
|
fi
|
|
209
309
|
|
|
@@ -239,6 +339,12 @@ _phase2s() {
|
|
|
239
339
|
'run:Run a single prompt and exit'
|
|
240
340
|
'skills:List available skills'
|
|
241
341
|
'mcp:Start as an MCP server for Claude Code'
|
|
342
|
+
'goal:Run a spec file autonomously (dark factory)'
|
|
343
|
+
'report:Display a human-readable summary of a run log'
|
|
344
|
+
'init:Interactive setup wizard — configure .phase2s.yaml'
|
|
345
|
+
'upgrade:Check for a newer version and offer to install it'
|
|
346
|
+
'lint:Validate a 5-pillar spec file before running it'
|
|
347
|
+
'doctor:Check Phase2S installation health'
|
|
242
348
|
'completion:Output shell completion script'
|
|
243
349
|
)
|
|
244
350
|
|