agentic-engineering-harness 0.5.1 → 0.6.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 +157 -216
- package/dist/agents/config.js +2 -0
- package/dist/agents/config.js.map +1 -1
- package/dist/audit/intent.d.ts +20 -0
- package/dist/audit/intent.js +42 -0
- package/dist/audit/intent.js.map +1 -0
- package/dist/audit/run.d.ts +46 -0
- package/dist/audit/run.js +147 -0
- package/dist/audit/run.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/core/config.js +6 -2
- package/dist/core/config.js.map +1 -1
- package/dist/core/controlPlane.js +1 -1
- package/dist/core/controlPlane.js.map +1 -1
- package/dist/core/init.js +3 -3
- package/dist/core/init.js.map +1 -1
- package/dist/core/types.d.ts +20 -0
- package/dist/entry.js +112 -3
- package/dist/entry.js.map +1 -1
- package/dist/issues/intake.d.ts +1 -1
- package/dist/paseo/capabilities.d.ts +24 -0
- package/dist/paseo/capabilities.js +104 -0
- package/dist/paseo/capabilities.js.map +1 -0
- package/dist/paseo/context.d.ts +45 -0
- package/dist/paseo/context.js +153 -0
- package/dist/paseo/context.js.map +1 -0
- package/dist/paseo/start.d.ts +10 -2
- package/dist/paseo/start.js +56 -73
- package/dist/paseo/start.js.map +1 -1
- package/dist/spec/openspec.d.ts +28 -0
- package/dist/spec/openspec.js +179 -0
- package/dist/spec/openspec.js.map +1 -0
- package/dist/toolchain/resolve.js +3 -0
- package/dist/toolchain/resolve.js.map +1 -1
- package/dist/workers/paseo.js +53 -19
- package/dist/workers/paseo.js.map +1 -1
- package/docs/PASEO.md +56 -4
- package/docs/V0.5.2.md +180 -0
- package/docs/V0.6.md +148 -0
- package/package.json +3 -3
- package/presets/agents/orchestration.jsonc +37 -0
- package/schemas/project.schema.json +13 -2
- package/skills/engineering-workflow/SKILL.md +110 -86
- package/skills/openspec-authoring/SKILL.md +26 -0
- package/skills/paseo-orchestration/SKILL.md +38 -0
- package/templates/AGENTS.md +36 -17
- package/templates/agents.source.jsonc +1 -1
- package/templates/openspec-config.yaml +24 -0
- package/templates/project.yaml +11 -2
- package/templates/toolchain.yaml +11 -1
package/dist/entry.js
CHANGED
|
@@ -13,7 +13,11 @@ import { resolveOrganizationPolicyBundles } from "./policy/bundles.js";
|
|
|
13
13
|
import { benchmarkMcpCatalog } from "./mcp/benchmark.js";
|
|
14
14
|
import { buildEvalDashboard, runRepeatedEval } from "./evals/statistics.js";
|
|
15
15
|
import { startPaseoHarness } from "./paseo/start.js";
|
|
16
|
-
|
|
16
|
+
import { guardLeadContext } from "./paseo/context.js";
|
|
17
|
+
import { prepareOpenSpecChange, compileOpenSpecChange } from "./spec/openspec.js";
|
|
18
|
+
import { classifyEngineeringIntent, formatEngineeringIntent } from "./audit/intent.js";
|
|
19
|
+
import { runAudit } from "./audit/run.js";
|
|
20
|
+
const VERSION = "0.6.0";
|
|
17
21
|
const args = process.argv.slice(2);
|
|
18
22
|
if (args.length === 1 && ["--version", "-V"].includes(args[0])) {
|
|
19
23
|
console.log(VERSION);
|
|
@@ -23,6 +27,22 @@ if (args[0] === "start") {
|
|
|
23
27
|
await runStart(args.slice(1));
|
|
24
28
|
process.exit(process.exitCode ?? 0);
|
|
25
29
|
}
|
|
30
|
+
if (args[0] === "context" && args[1] === "guard") {
|
|
31
|
+
await runContextGuard(args.slice(2));
|
|
32
|
+
process.exit(process.exitCode ?? 0);
|
|
33
|
+
}
|
|
34
|
+
if (args[0] === "spec" && ["prepare", "compile"].includes(args[1] ?? "")) {
|
|
35
|
+
await runSpec(args.slice(1));
|
|
36
|
+
process.exit(process.exitCode ?? 0);
|
|
37
|
+
}
|
|
38
|
+
if (args[0] === "intent") {
|
|
39
|
+
await runIntent(args.slice(1));
|
|
40
|
+
process.exit(process.exitCode ?? 0);
|
|
41
|
+
}
|
|
42
|
+
if (args[0] === "audit") {
|
|
43
|
+
await runAuditCommand(args.slice(1));
|
|
44
|
+
process.exit(process.exitCode ?? 0);
|
|
45
|
+
}
|
|
26
46
|
if (args[0] === "setup") {
|
|
27
47
|
await runSetup(args.slice(1));
|
|
28
48
|
process.exit(process.exitCode ?? 0);
|
|
@@ -53,9 +73,11 @@ if (args[0] === "eval" && ["repeat", "dashboard"].includes(args[1] ?? "")) {
|
|
|
53
73
|
}
|
|
54
74
|
await import("./cli.js");
|
|
55
75
|
async function runStart(argv) {
|
|
56
|
-
const parsed = parseGeneric(argv, new Set(["lead", "title"]), new Set(["new", "no-web-ui", "no-setup"]));
|
|
76
|
+
const parsed = parseGeneric(argv, new Set(["lead", "title"]), new Set(["new", "resume", "no-web-ui", "no-setup"]));
|
|
57
77
|
if (parsed.positional.length > 1)
|
|
58
78
|
throw new Error(`aeh start accepts at most one project directory, received: ${parsed.positional.join(", ")}`);
|
|
79
|
+
if (parsed.flag("new") && parsed.flag("resume"))
|
|
80
|
+
throw new Error("aeh start cannot combine --new and --resume.");
|
|
59
81
|
const root = path.resolve(parsed.positional[0] ?? ".");
|
|
60
82
|
const config = await loadProjectConfig(root);
|
|
61
83
|
const entry = path.resolve(process.argv[1]);
|
|
@@ -64,6 +86,7 @@ async function runStart(argv) {
|
|
|
64
86
|
autoSetup: parsed.flag("no-setup") ? false : undefined,
|
|
65
87
|
webUi: parsed.flag("no-web-ui") ? false : undefined,
|
|
66
88
|
forceNew: parsed.flag("new"),
|
|
89
|
+
resume: parsed.flag("resume"),
|
|
67
90
|
leadAgent: parsed.value("lead"),
|
|
68
91
|
title: parsed.value("title"),
|
|
69
92
|
aehCommand
|
|
@@ -74,9 +97,92 @@ async function runStart(argv) {
|
|
|
74
97
|
console.log(`lead=${result.leadAgent}`);
|
|
75
98
|
console.log(`provider=${result.provider}`);
|
|
76
99
|
console.log(`model=${result.model}`);
|
|
100
|
+
if (result.paseoVersion)
|
|
101
|
+
console.log(`paseo=${result.paseoVersion}`);
|
|
77
102
|
console.log(`agentId=${result.agentId}`);
|
|
78
103
|
console.log(`title=${result.title}`);
|
|
79
|
-
console.log(`Open Paseo and continue in '${result.title}'.
|
|
104
|
+
console.log(`Open Paseo and continue in '${result.title}'. Engineering operations route through the Harness; normal aeh start creates a fresh lead, while --resume explicitly reuses a compatible one.`);
|
|
105
|
+
}
|
|
106
|
+
async function runContextGuard(argv) {
|
|
107
|
+
const parsed = parseGeneric(argv, new Set(["agent", "brief"]), new Set());
|
|
108
|
+
if (parsed.positional.length > 1)
|
|
109
|
+
throw new Error("aeh context guard accepts at most one project directory.");
|
|
110
|
+
const root = path.resolve(parsed.positional[0] ?? ".");
|
|
111
|
+
const config = await loadProjectConfig(root);
|
|
112
|
+
const agentId = parsed.value("agent") ?? process.env.PASEO_AGENT_ID;
|
|
113
|
+
if (!agentId)
|
|
114
|
+
throw new Error("aeh context guard requires --agent <id> or PASEO_AGENT_ID.");
|
|
115
|
+
const result = await guardLeadContext(root, config, agentId, { brief: parsed.value("brief") });
|
|
116
|
+
console.log(result.state);
|
|
117
|
+
console.log(result.message);
|
|
118
|
+
console.log(JSON.stringify(result, null, 2));
|
|
119
|
+
}
|
|
120
|
+
async function runSpec(argv) {
|
|
121
|
+
const sub = argv[0];
|
|
122
|
+
const parsed = parseGeneric(argv.slice(1), new Set(["title", "change"]), new Set());
|
|
123
|
+
const taskId = parsed.positional[0];
|
|
124
|
+
if (!taskId)
|
|
125
|
+
throw new Error(`aeh spec ${sub} requires <taskId>.`);
|
|
126
|
+
if (parsed.positional.length > 2)
|
|
127
|
+
throw new Error(`aeh spec ${sub} accepts <taskId> and at most one project directory.`);
|
|
128
|
+
const root = path.resolve(parsed.positional[1] ?? ".");
|
|
129
|
+
const title = parsed.value("title");
|
|
130
|
+
if (!title)
|
|
131
|
+
throw new Error(`aeh spec ${sub} requires --title <title>.`);
|
|
132
|
+
const config = await loadProjectConfig(root);
|
|
133
|
+
if (sub === "prepare") {
|
|
134
|
+
const result = await prepareOpenSpecChange(root, config, taskId, title);
|
|
135
|
+
console.log(`OPENSPEC ${result.created ? "CREATED" : "READY"} ${result.changeName}`);
|
|
136
|
+
console.log(`manager=${result.managerAgent}`);
|
|
137
|
+
console.log(`schema=${result.schema}`);
|
|
138
|
+
console.log(`directory=${path.relative(root, result.directory).replaceAll("\\", "/")}`);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (sub === "compile") {
|
|
142
|
+
const result = await compileOpenSpecChange(root, config, taskId, title, parsed.value("change"));
|
|
143
|
+
console.log(`COMPILED ${result.changeName} -> ${taskId}`);
|
|
144
|
+
console.log(`requirements=${result.requirements.join(",")}`);
|
|
145
|
+
console.log(`sourceSha256=${result.sourceSha256}`);
|
|
146
|
+
console.log(`contract=${path.relative(root, result.contractPath).replaceAll("\\", "/")}`);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
throw new Error(`Unknown spec command '${sub}'. Use prepare or compile.`);
|
|
150
|
+
}
|
|
151
|
+
async function runIntent(argv) {
|
|
152
|
+
const parsed = parseGeneric(argv, new Set(["file", "domain", "risk"]), new Set());
|
|
153
|
+
const request = parsed.positional[0];
|
|
154
|
+
if (!request)
|
|
155
|
+
throw new Error("aeh intent requires a natural-language request.");
|
|
156
|
+
if (parsed.positional.length > 2)
|
|
157
|
+
throw new Error("aeh intent accepts <request> and at most one project directory.");
|
|
158
|
+
const root = path.resolve(parsed.positional[1] ?? ".");
|
|
159
|
+
const config = await loadProjectConfig(root);
|
|
160
|
+
const decision = classifyEngineeringIntent(config, { request, files: parsed.values("file"), domains: parsed.values("domain"), risk: parseRisk(parsed.value("risk")) });
|
|
161
|
+
console.log(formatEngineeringIntent(decision));
|
|
162
|
+
console.log(JSON.stringify(decision, null, 2));
|
|
163
|
+
}
|
|
164
|
+
async function runAuditCommand(argv) {
|
|
165
|
+
const parsed = parseGeneric(argv, new Set(["file", "domain", "risk", "reviewer"]), new Set());
|
|
166
|
+
const request = parsed.positional[0];
|
|
167
|
+
if (!request)
|
|
168
|
+
throw new Error("aeh audit requires a natural-language audit request.");
|
|
169
|
+
if (parsed.positional.length > 2)
|
|
170
|
+
throw new Error("aeh audit accepts <request> and at most one project directory.");
|
|
171
|
+
const root = path.resolve(parsed.positional[1] ?? ".");
|
|
172
|
+
const config = await loadProjectConfig(root);
|
|
173
|
+
const intent = classifyEngineeringIntent(config, { request, files: parsed.values("file"), domains: parsed.values("domain"), risk: parseRisk(parsed.value("risk")), explicitIntent: "audit" });
|
|
174
|
+
if (intent.intent !== "audit")
|
|
175
|
+
throw new Error(`Request did not resolve to AUDIT: ${formatEngineeringIntent(intent)}`);
|
|
176
|
+
const report = await runAudit(root, config, { request, files: parsed.values("file"), domains: parsed.values("domain"), risk: parseRisk(parsed.value("risk")), reviewers: parsed.values("reviewer") });
|
|
177
|
+
console.log(`AUDIT ${report.status} — ${report.auditId}`);
|
|
178
|
+
console.log(`productionSafe=${report.productionSafe}`);
|
|
179
|
+
console.log(`findings critical=${report.counts.critical} high=${report.counts.high} medium=${report.counts.medium} low=${report.counts.low} note=${report.counts.note}`);
|
|
180
|
+
console.log(`debtScore=${report.debtScore}`);
|
|
181
|
+
for (const check of report.validationChecks.filter((item) => item.status !== "PASS" && item.status !== "SKIP"))
|
|
182
|
+
console.log(`validator ${check.status} ${check.id} class=${check.failureClass}: ${check.message}`);
|
|
183
|
+
for (const finding of report.findings)
|
|
184
|
+
console.log(`${finding.severity.toUpperCase()} ${finding.id} ${finding.location.file}: ${finding.evidence}`);
|
|
185
|
+
console.log(`report=.harness/audits/${report.auditId}.json`);
|
|
80
186
|
}
|
|
81
187
|
async function runSetup(argv) {
|
|
82
188
|
const parsed = parse(argv);
|
|
@@ -144,6 +250,9 @@ async function runStatisticalEval(argv) { const sub = argv[0]; const parsed = pa
|
|
|
144
250
|
console.log(JSON.stringify(await runRepeatedEval(root, config, caseId, parsed.value("variant"), runs), null, 2));
|
|
145
251
|
return;
|
|
146
252
|
} console.log(JSON.stringify(await buildEvalDashboard(root, config, caseId), null, 2)); }
|
|
253
|
+
function parseRisk(value) { if (!value)
|
|
254
|
+
return "low"; if (value === "low" || value === "medium" || value === "high")
|
|
255
|
+
return value; throw new Error(`Invalid risk '${value}'. Use low, medium or high.`); }
|
|
147
256
|
function parse(argv) { const parsed = parseGeneric(argv, new Set(["profile"]), new Set(["dry-run", "update-lock", "skip-project-deps", "prefer-containers"])); if (parsed.positional.length > 1)
|
|
148
257
|
throw new Error(`Expected at most one project directory, received: ${parsed.positional.join(", ")}`); return { directory: parsed.positional[0] ?? ".", flag: parsed.flag, value: parsed.value }; }
|
|
149
258
|
function parseGeneric(argv, valueFlags, booleanFlags) {
|
package/dist/entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,OAAO,GAAG,OAAO,CAAC;AACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAAC,CAAC;AAE1G,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAChG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAChI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAChJ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;IAAC,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAClG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AACvG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAChG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;IAAC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AACxG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;IAAC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAC/H,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;IAAC,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAClG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IAAC,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAC5H,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;IAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAChI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC;AAE5J,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAEzB,KAAK,UAAU,QAAQ,CAAC,IAAc;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACnH,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChJ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAClF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE;QACnD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACtD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACnD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,UAAU;KACX,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,KAAK,gJAAgJ,CAAC,CAAC;AAC3M,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9G,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACpE,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,qBAAqB,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,sDAAsD,CAAC,CAAC;IACzH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,4BAA4B,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,UAAU,OAAO,MAAM,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,4BAA4B,CAAC,CAAC;AAC5E,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACjF,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACvK,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACtF,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9L,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtM,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACzK,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,UAAU,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnN,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpJ,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAc;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC/Q,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,sBAAsB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAAC,IAAI,MAAM,CAAC,yBAAyB,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAAC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IAAC,CAAC;AACtoB,CAAC;AACD,KAAK,UAAU,YAAY,CAAC,IAAc,IAAmB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;IAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAAC,OAAO;AAAC,CAAC,CAAC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO;AAAC,CAAC,CAAC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;IAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO;AAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,gCAAgC,CAAC,CAAC,CAAC,CAAC;AACxvB,KAAK,UAAU,YAAY,CAAC,IAAc,IAAmB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;IAAC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAElwB,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IAAC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1O,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAAC,MAAM,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAChJ,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAAC,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAqB,EAAE,EAAE,CAAC;QAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC;QAAC,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAClhB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,sBAAsB,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAc,IAAmB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ;IAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7b,KAAK,UAAU,eAAe,CAAC,IAAc,IAAmB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxY,KAAK,UAAU,kBAAkB,CAAC,IAAc,IAAmB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;IAAE,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;IAAC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO;AAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAErrB,SAAS,SAAS,CAAC,KAAc,IAAc,IAAI,CAAC,KAAK;IAAE,OAAO,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM;IAAE,OAAO,KAAK,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,6BAA6B,CAAC,CAAC,CAAC,CAAC;AAC7N,SAAS,KAAK,CAAC,IAAc,IAAiG,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;IAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1e,SAAS,YAAY,CAAC,IAAc,EAAE,UAAuB,EAAE,YAAyB;IACtF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IAAC,MAAM,UAAU,GAAa,EAAE,CAAC;IACvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAAC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;YAAC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;QAAC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAAC,CAAC;IAC1hB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;AACrT,CAAC"}
|
package/dist/issues/intake.d.ts
CHANGED
|
@@ -66,11 +66,11 @@ declare const issuePlanSchema: z.ZodObject<{
|
|
|
66
66
|
low: "low";
|
|
67
67
|
}>;
|
|
68
68
|
flags: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
69
|
+
schema: "schema";
|
|
69
70
|
security: "security";
|
|
70
71
|
architecture: "architecture";
|
|
71
72
|
authentication: "authentication";
|
|
72
73
|
authorization: "authorization";
|
|
73
|
-
schema: "schema";
|
|
74
74
|
migration: "migration";
|
|
75
75
|
"public-api": "public-api";
|
|
76
76
|
"breaking-change": "breaking-change";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ProcessResult } from "../utils/process.js";
|
|
2
|
+
import { runProcess } from "../utils/process.js";
|
|
3
|
+
export interface PaseoCapabilities {
|
|
4
|
+
version?: string;
|
|
5
|
+
background: boolean;
|
|
6
|
+
quiet: boolean;
|
|
7
|
+
json: boolean;
|
|
8
|
+
outputSchema: boolean;
|
|
9
|
+
daemonJson: boolean;
|
|
10
|
+
nativeToolsRecommended: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface PaseoBackgroundRunOptions {
|
|
13
|
+
title: string;
|
|
14
|
+
provider: string;
|
|
15
|
+
model?: string;
|
|
16
|
+
workspaceId?: string;
|
|
17
|
+
prompt: string;
|
|
18
|
+
}
|
|
19
|
+
type Runner = typeof runProcess;
|
|
20
|
+
export declare function detectPaseoCapabilities(root: string, run?: Runner): Promise<PaseoCapabilities>;
|
|
21
|
+
export declare function buildPaseoBackgroundRunCommand(options: PaseoBackgroundRunOptions, capabilities: PaseoCapabilities): string;
|
|
22
|
+
export declare function extractPaseoAgentId(stdout: string): string | undefined;
|
|
23
|
+
export declare function isRecoverableDaemonStatus(result: ProcessResult): boolean;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { runProcess } from "../utils/process.js";
|
|
2
|
+
export async function detectPaseoCapabilities(root, run = runProcess) {
|
|
3
|
+
const [versionResult, runHelp, daemonHelp] = await Promise.all([
|
|
4
|
+
run("paseo --version", { cwd: root, timeoutMs: 15_000 }),
|
|
5
|
+
run("paseo run --help", { cwd: root, timeoutMs: 15_000 }),
|
|
6
|
+
run("paseo daemon status --help", { cwd: root, timeoutMs: 15_000 })
|
|
7
|
+
]);
|
|
8
|
+
const version = parseVersion(`${versionResult.stdout}\n${versionResult.stderr}`);
|
|
9
|
+
const runText = `${runHelp.stdout}\n${runHelp.stderr}`;
|
|
10
|
+
const daemonText = `${daemonHelp.stdout}\n${daemonHelp.stderr}`;
|
|
11
|
+
return {
|
|
12
|
+
version,
|
|
13
|
+
background: hasOption(runText, "--background"),
|
|
14
|
+
quiet: hasOption(runText, "--quiet") || hasOption(runText, "-q") || semverAtLeast(version, [0, 4, 0]),
|
|
15
|
+
json: hasOption(runText, "--json"),
|
|
16
|
+
outputSchema: hasOption(runText, "--output-schema"),
|
|
17
|
+
daemonJson: hasOption(daemonText, "--json"),
|
|
18
|
+
nativeToolsRecommended: semverAtLeast(version, [0, 4, 0])
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function buildPaseoBackgroundRunCommand(options, capabilities) {
|
|
22
|
+
if (!capabilities.background)
|
|
23
|
+
throw new Error(`Installed Paseo${capabilities.version ? ` ${capabilities.version}` : ""} does not advertise background runs.`);
|
|
24
|
+
const parts = ["paseo run", "--background"];
|
|
25
|
+
if (capabilities.json)
|
|
26
|
+
parts.push("--json");
|
|
27
|
+
else if (capabilities.quiet)
|
|
28
|
+
parts.push("--quiet");
|
|
29
|
+
parts.push(`--title ${quote(options.title)}`, `--provider ${quote(options.provider)}`);
|
|
30
|
+
if (options.workspaceId)
|
|
31
|
+
parts.push(`--workspace ${quote(options.workspaceId)}`);
|
|
32
|
+
if (options.model)
|
|
33
|
+
parts.push(`--model ${quote(options.model)}`);
|
|
34
|
+
parts.push(quote(options.prompt));
|
|
35
|
+
return parts.join(" ");
|
|
36
|
+
}
|
|
37
|
+
export function extractPaseoAgentId(stdout) {
|
|
38
|
+
const trimmed = stdout.trim();
|
|
39
|
+
if (!trimmed)
|
|
40
|
+
return undefined;
|
|
41
|
+
try {
|
|
42
|
+
const parsed = JSON.parse(trimmed);
|
|
43
|
+
const id = findId(parsed);
|
|
44
|
+
if (id)
|
|
45
|
+
return id;
|
|
46
|
+
}
|
|
47
|
+
catch { /* older Paseo emits plain text */ }
|
|
48
|
+
const lines = trimmed.split(/\r?\n/).map((line) => line.trim()).filter(Boolean);
|
|
49
|
+
for (const line of lines.reverse()) {
|
|
50
|
+
const direct = line.match(/^(?:agent(?:Id)?[=: ]+)?([A-Za-z0-9][A-Za-z0-9._:-]{2,})$/i)?.[1];
|
|
51
|
+
if (direct)
|
|
52
|
+
return direct;
|
|
53
|
+
const embedded = line.match(/(?:agent(?:Id)?|id)["'=:\s]+([A-Za-z0-9][A-Za-z0-9._:-]{2,})/i)?.[1];
|
|
54
|
+
if (embedded)
|
|
55
|
+
return embedded;
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
export function isRecoverableDaemonStatus(result) {
|
|
60
|
+
if (result.exitCode === 0)
|
|
61
|
+
return false;
|
|
62
|
+
return /stale[_ -]?pid|unreachable|connection refused|daemon.*not.*running|not running/i.test(`${result.stderr}\n${result.stdout}`);
|
|
63
|
+
}
|
|
64
|
+
function findId(value) {
|
|
65
|
+
if (!value || typeof value !== "object")
|
|
66
|
+
return undefined;
|
|
67
|
+
if (Array.isArray(value)) {
|
|
68
|
+
for (const item of value) {
|
|
69
|
+
const found = findId(item);
|
|
70
|
+
if (found)
|
|
71
|
+
return found;
|
|
72
|
+
}
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
const record = value;
|
|
76
|
+
for (const key of ["agentId", "agent_id", "id"])
|
|
77
|
+
if (typeof record[key] === "string" && record[key])
|
|
78
|
+
return record[key];
|
|
79
|
+
for (const child of Object.values(record)) {
|
|
80
|
+
const found = findId(child);
|
|
81
|
+
if (found)
|
|
82
|
+
return found;
|
|
83
|
+
}
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
function parseVersion(text) { return text.match(/\b(?:v)?(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)/)?.[1]; }
|
|
87
|
+
function hasOption(text, option) { return text.includes(option); }
|
|
88
|
+
function semverAtLeast(version, minimum) {
|
|
89
|
+
if (!version)
|
|
90
|
+
return false;
|
|
91
|
+
const match = version.match(/^(\d+)\.(\d+)\.(\d+)/);
|
|
92
|
+
if (!match)
|
|
93
|
+
return false;
|
|
94
|
+
const actual = match.slice(1, 4).map(Number);
|
|
95
|
+
for (let i = 0; i < 3; i += 1) {
|
|
96
|
+
if (actual[i] > minimum[i])
|
|
97
|
+
return true;
|
|
98
|
+
if (actual[i] < minimum[i])
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
function quote(value) { return `'${value.replaceAll("'", "'\\''")}'`; }
|
|
104
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/paseo/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { HarnessProjectConfig } from "../core/types.js";
|
|
2
|
+
import { runProcess } from "../utils/process.js";
|
|
3
|
+
import { startPaseoHarness } from "./start.js";
|
|
4
|
+
export type ContextGuardState = "OK" | "PRESSURE" | "HANDOFF_REQUIRED" | "HARD_HANDOFF" | "UNKNOWN";
|
|
5
|
+
export interface ContextUsage {
|
|
6
|
+
used?: number;
|
|
7
|
+
limit?: number;
|
|
8
|
+
ratio?: number;
|
|
9
|
+
source: string;
|
|
10
|
+
}
|
|
11
|
+
export interface LeadHandoffArtifact {
|
|
12
|
+
version: 1;
|
|
13
|
+
createdAt: string;
|
|
14
|
+
reason: "CONTEXT_PRESSURE";
|
|
15
|
+
project: string;
|
|
16
|
+
previousAgentId: string;
|
|
17
|
+
rotatedAgentId?: string;
|
|
18
|
+
context: ContextUsage;
|
|
19
|
+
branch?: string;
|
|
20
|
+
activeRun?: string;
|
|
21
|
+
latestAudit?: string;
|
|
22
|
+
latestDelivery?: string;
|
|
23
|
+
semanticBrief?: string;
|
|
24
|
+
nextInstruction: string;
|
|
25
|
+
}
|
|
26
|
+
export interface ContextGuardResult {
|
|
27
|
+
state: ContextGuardState;
|
|
28
|
+
usage: ContextUsage;
|
|
29
|
+
handoffPath?: string;
|
|
30
|
+
rotatedAgentId?: string;
|
|
31
|
+
message: string;
|
|
32
|
+
}
|
|
33
|
+
type Runner = typeof runProcess;
|
|
34
|
+
type Starter = typeof startPaseoHarness;
|
|
35
|
+
export interface ContextGuardOptions {
|
|
36
|
+
brief?: string;
|
|
37
|
+
run?: Runner;
|
|
38
|
+
autoRotate?: boolean;
|
|
39
|
+
aehCommand?: string;
|
|
40
|
+
start?: Starter;
|
|
41
|
+
}
|
|
42
|
+
export declare function guardLeadContext(root: string, config: HarnessProjectConfig, agentId: string, options?: ContextGuardOptions): Promise<ContextGuardResult>;
|
|
43
|
+
export declare function inspectPaseoContextUsage(root: string, agentId: string, run?: Runner): Promise<ContextUsage>;
|
|
44
|
+
export declare function extractContextUsage(value: unknown): ContextUsage;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import process from "node:process";
|
|
4
|
+
import { runProcess } from "../utils/process.js";
|
|
5
|
+
import { startPaseoHarness } from "./start.js";
|
|
6
|
+
export async function guardLeadContext(root, config, agentId, options = {}) {
|
|
7
|
+
const run = options.run ?? runProcess;
|
|
8
|
+
const policy = contextPolicy(config);
|
|
9
|
+
const usage = await inspectPaseoContextUsage(root, agentId, run);
|
|
10
|
+
if (usage.ratio === undefined)
|
|
11
|
+
return { state: "UNKNOWN", usage, message: "Paseo did not expose a stable context-usage ratio; continue with delegation-first behavior and prefer a fresh lead on the next aeh start." };
|
|
12
|
+
if (usage.ratio < policy.pressure)
|
|
13
|
+
return { state: "OK", usage, message: `Lead context ${(usage.ratio * 100).toFixed(1)}% is below the pressure threshold.` };
|
|
14
|
+
if (usage.ratio < policy.handoff)
|
|
15
|
+
return { state: "PRESSURE", usage, message: `Lead context ${(usage.ratio * 100).toFixed(1)}% is under pressure. Stop exploratory shell work and delegate all non-semantic operations.` };
|
|
16
|
+
const artifactPath = await writeHandoffArtifact(root, config, agentId, usage, options.brief, run);
|
|
17
|
+
const state = usage.ratio >= policy.hard ? "HARD_HANDOFF" : "HANDOFF_REQUIRED";
|
|
18
|
+
const autoRotate = options.autoRotate ?? Boolean(process.env.PASEO_AGENT_ID);
|
|
19
|
+
if (!autoRotate)
|
|
20
|
+
return { state, usage, handoffPath: artifactPath, message: `${state}: context ${(usage.ratio * 100).toFixed(1)}%. Handoff artifact created at ${relative(root, artifactPath)}. Create a fresh lead with /paseo-handoff (preferred), Paseo create_agent, or rerun the guard from the managed lead to rotate automatically. Do not compact and continue the engineering workflow in the old lead.` };
|
|
21
|
+
const starter = options.start ?? startPaseoHarness;
|
|
22
|
+
const aehCommand = options.aehCommand ?? exactAehCommand();
|
|
23
|
+
const relativeHandoff = relative(root, artifactPath);
|
|
24
|
+
const fresh = await starter(root, config, { forceNew: true, resume: false, handoffPath: relativeHandoff, aehCommand });
|
|
25
|
+
await recordRotatedLead(artifactPath, fresh.agentId);
|
|
26
|
+
return {
|
|
27
|
+
state,
|
|
28
|
+
usage,
|
|
29
|
+
handoffPath: artifactPath,
|
|
30
|
+
rotatedAgentId: fresh.agentId,
|
|
31
|
+
message: `${state}: context ${(usage.ratio * 100).toFixed(1)}%. AEH rotated responsibility to fresh lead ${fresh.agentId} using ${relativeHandoff}. Stop engineering work in ${agentId}; do not compact-and-continue. The fresh lead bootstraps from deterministic artifacts.`
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export async function inspectPaseoContextUsage(root, agentId, run = runProcess) {
|
|
35
|
+
const attempts = [`paseo ls -a -g --json`, `paseo logs ${quote(agentId)} --tail 5 --json`];
|
|
36
|
+
for (const command of attempts) {
|
|
37
|
+
const result = await run(command, { cwd: root, timeoutMs: 30_000 });
|
|
38
|
+
if (result.exitCode !== 0 || !result.stdout.trim())
|
|
39
|
+
continue;
|
|
40
|
+
try {
|
|
41
|
+
const parsed = JSON.parse(result.stdout);
|
|
42
|
+
const agent = findAgent(parsed, agentId) ?? parsed;
|
|
43
|
+
const usage = extractContextUsage(agent);
|
|
44
|
+
if (usage.ratio !== undefined)
|
|
45
|
+
return usage;
|
|
46
|
+
}
|
|
47
|
+
catch { /* older Paseo or non-JSON output */ }
|
|
48
|
+
}
|
|
49
|
+
return { source: "unavailable" };
|
|
50
|
+
}
|
|
51
|
+
export function extractContextUsage(value) {
|
|
52
|
+
const pairs = collectNumericFields(value);
|
|
53
|
+
const explicitRatio = first(pairs, ["contextusage", "contextusageratio", "contextpercentage", "contextpercent", "windowusage", "contextutilization"]);
|
|
54
|
+
if (explicitRatio !== undefined) {
|
|
55
|
+
const ratio = explicitRatio > 1 ? explicitRatio / 100 : explicitRatio;
|
|
56
|
+
if (ratio >= 0 && ratio <= 1.5)
|
|
57
|
+
return { ratio: Math.min(ratio, 1), source: "paseo-explicit-ratio" };
|
|
58
|
+
}
|
|
59
|
+
const used = first(pairs, ["contexttokens", "contextused", "usedcontexttokens", "tokensused", "totaltokens", "inputtokens"]);
|
|
60
|
+
const limit = first(pairs, ["contextwindow", "contextlimit", "contextwindowtokens", "maxtokens", "tokenlimit"]);
|
|
61
|
+
if (used !== undefined && limit !== undefined && limit > 0)
|
|
62
|
+
return { used, limit, ratio: Math.min(used / limit, 1), source: "paseo-token-fields" };
|
|
63
|
+
return { used, limit, source: "paseo-snapshot-no-ratio" };
|
|
64
|
+
}
|
|
65
|
+
function contextPolicy(config) {
|
|
66
|
+
const context = config.orchestration?.interactive?.context;
|
|
67
|
+
const pressure = clamp(context?.pressureThreshold ?? 0.70);
|
|
68
|
+
const handoff = Math.max(pressure, clamp(context?.handoffThreshold ?? 0.80));
|
|
69
|
+
const hard = Math.max(handoff, clamp(context?.hardHandoffThreshold ?? 0.90));
|
|
70
|
+
return { pressure, handoff, hard };
|
|
71
|
+
}
|
|
72
|
+
async function writeHandoffArtifact(root, config, agentId, usage, semanticBrief, run) {
|
|
73
|
+
const stateDir = config.orchestration?.interactive?.stateDir ?? ".harness/paseo";
|
|
74
|
+
const dir = path.resolve(root, stateDir, "handoffs");
|
|
75
|
+
await fs.mkdir(dir, { recursive: true });
|
|
76
|
+
const stamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
77
|
+
const file = path.join(dir, `lead-${stamp}.json`);
|
|
78
|
+
const branchResult = await run("git branch --show-current", { cwd: root, timeoutMs: 10_000 });
|
|
79
|
+
const artifact = {
|
|
80
|
+
version: 1,
|
|
81
|
+
createdAt: new Date().toISOString(),
|
|
82
|
+
reason: "CONTEXT_PRESSURE",
|
|
83
|
+
project: config.project.name,
|
|
84
|
+
previousAgentId: agentId,
|
|
85
|
+
context: usage,
|
|
86
|
+
branch: branchResult.exitCode === 0 ? branchResult.stdout.trim() || undefined : undefined,
|
|
87
|
+
activeRun: await latestJsonPath(root, config.sdd?.runsDir ?? ".harness/runs"),
|
|
88
|
+
latestAudit: await existingRelative(root, ".harness/audits/latest.json"),
|
|
89
|
+
latestDelivery: await latestJsonPath(root, config.delivery?.stateDir ?? ".harness/delivery"),
|
|
90
|
+
semanticBrief: semanticBrief?.trim() || undefined,
|
|
91
|
+
nextInstruction: "Continue as a fresh AEH Lead. Read the referenced sealed/run/audit/delivery artifacts rather than asking the previous lead to replay its full context. Re-run deterministic checks before accepting any state transition."
|
|
92
|
+
};
|
|
93
|
+
await fs.writeFile(file, `${JSON.stringify(artifact, null, 2)}\n`);
|
|
94
|
+
return file;
|
|
95
|
+
}
|
|
96
|
+
async function recordRotatedLead(file, agentId) {
|
|
97
|
+
const artifact = JSON.parse(await fs.readFile(file, "utf8"));
|
|
98
|
+
artifact.rotatedAgentId = agentId;
|
|
99
|
+
await fs.writeFile(file, `${JSON.stringify(artifact, null, 2)}\n`);
|
|
100
|
+
}
|
|
101
|
+
async function latestJsonPath(root, relativeDir) {
|
|
102
|
+
const dir = path.resolve(root, relativeDir);
|
|
103
|
+
const names = await fs.readdir(dir).catch(() => []);
|
|
104
|
+
const json = names.filter((name) => name.endsWith(".json"));
|
|
105
|
+
if (!json.length)
|
|
106
|
+
return undefined;
|
|
107
|
+
const values = await Promise.all(json.map(async (name) => ({ name, stat: await fs.stat(path.join(dir, name)) })));
|
|
108
|
+
values.sort((a, b) => b.stat.mtimeMs - a.stat.mtimeMs);
|
|
109
|
+
return relative(root, path.join(dir, values[0].name));
|
|
110
|
+
}
|
|
111
|
+
async function existingRelative(root, relativePath) { try {
|
|
112
|
+
await fs.access(path.resolve(root, relativePath));
|
|
113
|
+
return relativePath.replaceAll("\\", "/");
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return undefined;
|
|
117
|
+
} }
|
|
118
|
+
function exactAehCommand() { const entry = path.resolve(process.argv[1]); return `${JSON.stringify(process.execPath)} ${JSON.stringify(entry)}`; }
|
|
119
|
+
function findAgent(value, id) { if (Array.isArray(value)) {
|
|
120
|
+
for (const child of value) {
|
|
121
|
+
const found = findAgent(child, id);
|
|
122
|
+
if (found)
|
|
123
|
+
return found;
|
|
124
|
+
}
|
|
125
|
+
return undefined;
|
|
126
|
+
} if (!value || typeof value !== "object")
|
|
127
|
+
return undefined; const record = value; if ([record.id, record.agentId, record.agent_id].some((item) => item === id))
|
|
128
|
+
return record; for (const child of Object.values(record)) {
|
|
129
|
+
const found = findAgent(child, id);
|
|
130
|
+
if (found)
|
|
131
|
+
return found;
|
|
132
|
+
} return undefined; }
|
|
133
|
+
function collectNumericFields(value, out = new Map()) { if (Array.isArray(value)) {
|
|
134
|
+
for (const child of value)
|
|
135
|
+
collectNumericFields(child, out);
|
|
136
|
+
return out;
|
|
137
|
+
} if (!value || typeof value !== "object")
|
|
138
|
+
return out; for (const [key, child] of Object.entries(value)) {
|
|
139
|
+
const normalized = key.toLowerCase().replace(/[^a-z0-9]/g, "");
|
|
140
|
+
if (typeof child === "number" && Number.isFinite(child) && !out.has(normalized))
|
|
141
|
+
out.set(normalized, child);
|
|
142
|
+
else
|
|
143
|
+
collectNumericFields(child, out);
|
|
144
|
+
} return out; }
|
|
145
|
+
function first(values, keys) { for (const key of keys) {
|
|
146
|
+
const value = values.get(key);
|
|
147
|
+
if (value !== undefined)
|
|
148
|
+
return value;
|
|
149
|
+
} return undefined; }
|
|
150
|
+
function clamp(value) { return Math.max(0, Math.min(1, value)); }
|
|
151
|
+
function relative(root, file) { return path.relative(root, file).replaceAll("\\", "/"); }
|
|
152
|
+
function quote(value) { return `'${value.replaceAll("'", "'\\''")}'`; }
|
|
153
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/paseo/context.ts"],"names":[],"mappings":"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"}
|