@patze/code-cli 0.11.0 → 0.16.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/CHANGELOG.md +78 -0
- package/VERSION +1 -1
- package/dist/backend/agent-trace.d.ts +1 -0
- package/dist/backend/agent-trace.d.ts.map +1 -1
- package/dist/backend/agent-trace.js +1 -0
- package/dist/backend/agent-trace.js.map +1 -1
- package/dist/backend/preview-payload.d.ts +15 -3
- package/dist/backend/preview-payload.d.ts.map +1 -1
- package/dist/backend/preview-payload.js +38 -10
- package/dist/backend/preview-payload.js.map +1 -1
- package/dist/backend/run-stream-client.js +1 -1
- package/dist/backend/runs-client.d.ts +35 -0
- package/dist/backend/runs-client.d.ts.map +1 -0
- package/dist/backend/runs-client.js +87 -0
- package/dist/backend/runs-client.js.map +1 -0
- package/dist/cli/commands/agent.d.ts +8 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +72 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +3 -0
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js +3 -0
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/runs-format.d.ts +4 -0
- package/dist/cli/commands/runs-format.d.ts.map +1 -0
- package/dist/cli/commands/runs-format.js +50 -0
- package/dist/cli/commands/runs-format.js.map +1 -0
- package/dist/cli/commands/runs.d.ts.map +1 -1
- package/dist/cli/commands/runs.js +78 -8
- package/dist/cli/commands/runs.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +7 -3
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interactive/agent-execute-turn.d.ts +4 -0
- package/dist/cli/interactive/agent-execute-turn.d.ts.map +1 -1
- package/dist/cli/interactive/agent-execute-turn.js +14 -1
- package/dist/cli/interactive/agent-execute-turn.js.map +1 -1
- package/dist/cli/interactive/agent-stream-format.d.ts +8 -0
- package/dist/cli/interactive/agent-stream-format.d.ts.map +1 -1
- package/dist/cli/interactive/agent-stream-format.js +88 -5
- package/dist/cli/interactive/agent-stream-format.js.map +1 -1
- package/dist/cli/interactive/agent-turn.d.ts +1 -0
- package/dist/cli/interactive/agent-turn.d.ts.map +1 -1
- package/dist/cli/interactive/agent-turn.js +18 -1
- package/dist/cli/interactive/agent-turn.js.map +1 -1
- package/dist/cli/interactive/cloud-git.d.ts +13 -0
- package/dist/cli/interactive/cloud-git.d.ts.map +1 -0
- package/dist/cli/interactive/cloud-git.js +43 -0
- package/dist/cli/interactive/cloud-git.js.map +1 -0
- package/dist/cli/interactive/header.d.ts +2 -1
- package/dist/cli/interactive/header.d.ts.map +1 -1
- package/dist/cli/interactive/header.js +9 -1
- package/dist/cli/interactive/header.js.map +1 -1
- package/dist/cli/interactive/launcher.d.ts +3 -0
- package/dist/cli/interactive/launcher.d.ts.map +1 -0
- package/dist/cli/interactive/launcher.js +53 -0
- package/dist/cli/interactive/launcher.js.map +1 -0
- package/dist/cli/interactive/line-editor.d.ts +2 -1
- package/dist/cli/interactive/line-editor.d.ts.map +1 -1
- package/dist/cli/interactive/line-editor.js +22 -9
- package/dist/cli/interactive/line-editor.js.map +1 -1
- package/dist/cli/interactive/model-command.d.ts +6 -0
- package/dist/cli/interactive/model-command.d.ts.map +1 -0
- package/dist/cli/interactive/model-command.js +40 -0
- package/dist/cli/interactive/model-command.js.map +1 -0
- package/dist/cli/interactive/run-replay.d.ts +17 -0
- package/dist/cli/interactive/run-replay.d.ts.map +1 -0
- package/dist/cli/interactive/run-replay.js +114 -0
- package/dist/cli/interactive/run-replay.js.map +1 -0
- package/dist/cli/interactive/session-controller.d.ts +22 -0
- package/dist/cli/interactive/session-controller.d.ts.map +1 -0
- package/dist/cli/interactive/session-controller.js +103 -0
- package/dist/cli/interactive/session-controller.js.map +1 -0
- package/dist/cli/interactive/session-store.d.ts +20 -0
- package/dist/cli/interactive/session-store.d.ts.map +1 -0
- package/dist/cli/interactive/session-store.js +88 -0
- package/dist/cli/interactive/session-store.js.map +1 -0
- package/dist/cli/interactive/session.d.ts +27 -0
- package/dist/cli/interactive/session.d.ts.map +1 -1
- package/dist/cli/interactive/session.js +61 -0
- package/dist/cli/interactive/session.js.map +1 -1
- package/dist/cli/interactive/shell.d.ts.map +1 -1
- package/dist/cli/interactive/shell.js +14 -51
- package/dist/cli/interactive/shell.js.map +1 -1
- package/dist/cli/interactive/slash-dispatch.d.ts +3 -0
- package/dist/cli/interactive/slash-dispatch.d.ts.map +1 -1
- package/dist/cli/interactive/slash-dispatch.js +94 -1
- package/dist/cli/interactive/slash-dispatch.js.map +1 -1
- package/dist/cli/interactive/slash-registry.d.ts.map +1 -1
- package/dist/cli/interactive/slash-registry.js +6 -0
- package/dist/cli/interactive/slash-registry.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +35 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/one-shot-args.d.ts +9 -0
- package/dist/cli/one-shot-args.d.ts.map +1 -0
- package/dist/cli/one-shot-args.js +35 -0
- package/dist/cli/one-shot-args.js.map +1 -0
- package/dist/cli/read-stdin.d.ts +2 -0
- package/dist/cli/read-stdin.d.ts.map +1 -0
- package/dist/cli/read-stdin.js +12 -0
- package/dist/cli/read-stdin.js.map +1 -0
- package/dist/config/config.d.ts +2 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +8 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/models.d.ts +11 -0
- package/dist/config/models.d.ts.map +1 -0
- package/dist/config/models.js +51 -0
- package/dist/config/models.js.map +1 -0
- package/docs/known-limitations.md +12 -7
- package/package.json +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runs-format.js","sourceRoot":"","sources":["../../../src/cli/commands/runs-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAM5C,wBAAsB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA4EjF;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAepF"}
|
|
@@ -1,25 +1,95 @@
|
|
|
1
|
+
import { isAuthConfigured } from "../../backend/auth.js";
|
|
2
|
+
import { listPatzeCodeRunsForConfig, fetchPatzeCodeRunDetail } from "../../backend/runs-client.js";
|
|
3
|
+
import { PatzeBackendClient } from "../../backend/client.js";
|
|
4
|
+
import { loadConfig } from "../../config/config.js";
|
|
5
|
+
import { flagBoolean, flagString } from "../argv.js";
|
|
6
|
+
import { formatRunOpenLines, formatRunsListLines } from "./runs-format.js";
|
|
7
|
+
import { replayPatzeCodeRun } from "../interactive/run-replay.js";
|
|
8
|
+
import { InteractiveSession } from "../interactive/session.js";
|
|
1
9
|
export async function runRuns(argv, printer) {
|
|
2
10
|
const sub = argv.command[1] ?? "list";
|
|
11
|
+
const cwd = process.cwd();
|
|
12
|
+
const config = loadConfig(cwd);
|
|
13
|
+
if (!isAuthConfigured(config)) {
|
|
14
|
+
printer.error("Auth incomplete — run `patze login` or set PATZE_CODE_* env vars.");
|
|
15
|
+
return 1;
|
|
16
|
+
}
|
|
3
17
|
if (sub === "list") {
|
|
4
|
-
|
|
5
|
-
|
|
18
|
+
const limitRaw = flagString(argv.flags, "limit");
|
|
19
|
+
const limit = typeof limitRaw === "string" && limitRaw.trim() ? Math.min(Number(limitRaw) || 20, 64) : 20;
|
|
20
|
+
const result = await listPatzeCodeRunsForConfig({ config, limit });
|
|
21
|
+
if (!result.ok) {
|
|
22
|
+
printer.error(result.message);
|
|
23
|
+
return result.kind === "auth" ? 1 : 2;
|
|
24
|
+
}
|
|
25
|
+
for (const line of formatRunsListLines(result.runs)) {
|
|
26
|
+
printer.line(line);
|
|
27
|
+
}
|
|
6
28
|
return 0;
|
|
7
29
|
}
|
|
8
30
|
if (sub === "open") {
|
|
31
|
+
const stream = flagBoolean(argv.flags, "stream");
|
|
9
32
|
const runId = argv.positional[0];
|
|
10
33
|
if (!runId) {
|
|
11
|
-
printer.error("Usage: patze runs open <id>");
|
|
34
|
+
printer.error("Usage: patze runs open [--stream] <id>");
|
|
12
35
|
return 2;
|
|
13
36
|
}
|
|
14
|
-
|
|
15
|
-
|
|
37
|
+
if (stream) {
|
|
38
|
+
const session = new InteractiveSession(cwd);
|
|
39
|
+
session.setLastRunId(runId);
|
|
40
|
+
let partialActive = false;
|
|
41
|
+
const replay = await replayPatzeCodeRun(session, {
|
|
42
|
+
runId,
|
|
43
|
+
onTranscriptLine: (line) => printer.line(line),
|
|
44
|
+
onTranscriptPartial: process.stdout.isTTY
|
|
45
|
+
? (chunk) => {
|
|
46
|
+
partialActive = true;
|
|
47
|
+
process.stdout.write(chunk);
|
|
48
|
+
}
|
|
49
|
+
: undefined,
|
|
50
|
+
});
|
|
51
|
+
if (partialActive) {
|
|
52
|
+
process.stdout.write("\n");
|
|
53
|
+
}
|
|
54
|
+
if (!replay.streamed) {
|
|
55
|
+
for (const line of replay.lines) {
|
|
56
|
+
printer.line(line);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return replay.exitCode;
|
|
60
|
+
}
|
|
61
|
+
const client = new PatzeBackendClient(config);
|
|
62
|
+
const run = await fetchPatzeCodeRunDetail({
|
|
63
|
+
apiBase: client.baseUrl,
|
|
64
|
+
headers: client.buildHeaders(),
|
|
65
|
+
runId,
|
|
66
|
+
});
|
|
67
|
+
if (!run) {
|
|
68
|
+
printer.error(`Run not found: ${runId}`);
|
|
69
|
+
return 1;
|
|
70
|
+
}
|
|
71
|
+
for (const line of formatRunOpenLines(run)) {
|
|
72
|
+
printer.line(line);
|
|
73
|
+
}
|
|
74
|
+
return 0;
|
|
16
75
|
}
|
|
17
|
-
printer.error("Usage: patze runs list | patze runs open <id>");
|
|
76
|
+
printer.error("Usage: patze runs list [--limit N] | patze runs open [--stream] <id>");
|
|
18
77
|
return 2;
|
|
19
78
|
}
|
|
20
79
|
export async function runConfig(_argv, printer) {
|
|
21
|
-
|
|
22
|
-
printer.line("
|
|
80
|
+
const config = loadConfig();
|
|
81
|
+
printer.line("Patze config (resolved):");
|
|
82
|
+
printer.line(` api: ${config.api ?? "not set"}`);
|
|
83
|
+
printer.line(` userId: ${config.userId ?? "not set"}`);
|
|
84
|
+
printer.line(` model: ${config.model ?? "default"}`);
|
|
85
|
+
printer.line(` approval: ${config.approvalMode}`);
|
|
86
|
+
printer.line(` sandbox: ${config.sandboxMode}`);
|
|
87
|
+
if (config.sources.globalPath) {
|
|
88
|
+
printer.line(` global: ${config.sources.globalPath}`);
|
|
89
|
+
}
|
|
90
|
+
if (config.sources.projectPath) {
|
|
91
|
+
printer.line(` project: ${config.sources.projectPath}`);
|
|
92
|
+
}
|
|
23
93
|
return 0;
|
|
24
94
|
}
|
|
25
95
|
//# sourceMappingURL=runs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/cli/commands/runs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/cli/commands/runs.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAG9C,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAG9C,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuChD"}
|
package/dist/cli/help.js
CHANGED
|
@@ -5,6 +5,9 @@ export function printHelp(printer) {
|
|
|
5
5
|
printer.line("");
|
|
6
6
|
printer.line("Usage:");
|
|
7
7
|
printer.line(" patze Interactive shell (trust loop)");
|
|
8
|
+
printer.line(' patze "<task>" One-shot agent (preview + execute)');
|
|
9
|
+
printer.line(" patze agent \"<task>\" Explicit one-shot agent");
|
|
10
|
+
printer.line(" printf \"task\" | patze Stdin one-shot (non-TTY)");
|
|
8
11
|
printer.line(" patze --help Show help");
|
|
9
12
|
printer.line(" patze --version Show version");
|
|
10
13
|
printer.line(" patze status [--check] Local posture + trust-loop snapshot");
|
|
@@ -13,14 +16,15 @@ export function printHelp(printer) {
|
|
|
13
16
|
printer.line(' patze goal "<task>" --dry-run Plan without mutation');
|
|
14
17
|
printer.line(" patze code inspect|plan|diff Read-only / preview commands");
|
|
15
18
|
printer.line(" patze code apply|verify Disabled or help-only — use /apply /verify in shell");
|
|
16
|
-
printer.line(" patze runs list|open <id>
|
|
17
|
-
printer.line(" patze config
|
|
19
|
+
printer.line(" patze runs list|open [--stream] <id> Server run history (read-only)");
|
|
20
|
+
printer.line(" patze config Show resolved config paths");
|
|
18
21
|
printer.line("");
|
|
19
22
|
printer.line("Interactive trust loop:");
|
|
20
23
|
printer.line(" prompt → inspect → plan → diff → permissions → approve → apply → verify");
|
|
21
24
|
printer.line("");
|
|
22
25
|
printer.line("Slash commands (inside patze):");
|
|
23
26
|
printer.line(" /help /status /login /logout /context /goal /inspect /plan");
|
|
27
|
+
printer.line(" /model /run /last /runs /local /cloud");
|
|
24
28
|
printer.line(" /permissions /tools /diff /approve /apply /verify /reject /reset /clear /exit");
|
|
25
29
|
printer.line("");
|
|
26
30
|
printer.line("Safety:");
|
|
@@ -30,7 +34,7 @@ export function printHelp(printer) {
|
|
|
30
34
|
printer.line(" • Session digests are masked in output");
|
|
31
35
|
printer.line("");
|
|
32
36
|
printer.line("Environment:");
|
|
33
|
-
printer.line(" PATZE_CODE_API, PATZE_CODE_TOKEN, PATZE_CODE_USER_ID");
|
|
37
|
+
printer.line(" PATZE_CODE_API, PATZE_CODE_TOKEN, PATZE_CODE_USER_ID, PATZE_CODE_MODEL");
|
|
34
38
|
printer.line("");
|
|
35
39
|
printer.line("Docs: docs/trust-loop.md · docs/safety-model.md · docs/internal-beta.md");
|
|
36
40
|
printer.line(" docs/beta-tester-checklist.md · docs/beta-feedback-template.md");
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,OAAO,CAAC,IAAI,CAAC,iBAAiB,WAAW,gCAAgC,CAAC,CAAA;IAC1E,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;IAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;IAC/E,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;IAC1D,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC7D,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAA;IACpF,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAA;IAC9F,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;IACzE,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;IACtE,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAA;IAC7E,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAA;IACpG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,OAAO,CAAC,IAAI,CAAC,iBAAiB,WAAW,gCAAgC,CAAC,CAAA;IAC1E,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;IAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;IAC/E,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;IACnF,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;IAC1E,OAAO,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;IAC3E,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;IAC1D,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC7D,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAA;IACpF,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAA;IAC9F,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;IACzE,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;IACtE,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAA;IAC7E,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAA;IACpG,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAA;IACtF,OAAO,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;IAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACvC,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAA;IACzF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC9C,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;IAC5E,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;IACvD,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAA;IAC/F,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvB,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;IAC9D,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACrE,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACrD,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACxD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC5B,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAA;IACxF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;IACvF,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAA;AACtF,CAAC"}
|
|
@@ -6,8 +6,12 @@ export type ExecuteTurnOptions = {
|
|
|
6
6
|
config: ResolvedConfig;
|
|
7
7
|
objective: string;
|
|
8
8
|
previewArtifactDigest: string;
|
|
9
|
+
modelHint?: string | null;
|
|
10
|
+
conversationContext?: string | null;
|
|
11
|
+
executionMode?: "local" | "cloud";
|
|
9
12
|
fetchImpl?: FetchLike;
|
|
10
13
|
onTranscriptLine?: (line: string) => void;
|
|
14
|
+
onTranscriptPartial?: (chunk: string) => void;
|
|
11
15
|
};
|
|
12
16
|
export type ExecuteTurnResult = {
|
|
13
17
|
ok: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-execute-turn.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-execute-turn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAGhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAI5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-execute-turn.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-execute-turn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAGhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAI5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACjC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,OAAO,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAM7C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAElE;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuH5F"}
|
|
@@ -29,8 +29,21 @@ export async function runExecuteTurn(options) {
|
|
|
29
29
|
objective: options.objective,
|
|
30
30
|
cwd: options.cwd,
|
|
31
31
|
config: options.config,
|
|
32
|
+
modelHint: options.modelHint,
|
|
33
|
+
conversationContext: options.conversationContext,
|
|
34
|
+
executionMode: options.executionMode,
|
|
35
|
+
});
|
|
36
|
+
const transcript = new AgentStreamTranscript({
|
|
37
|
+
emit(lines) {
|
|
38
|
+
for (const line of lines) {
|
|
39
|
+
sink.lines.push(line);
|
|
40
|
+
options.onTranscriptLine?.(line);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
emitPartial(chunk) {
|
|
44
|
+
options.onTranscriptPartial?.(chunk);
|
|
45
|
+
},
|
|
32
46
|
});
|
|
33
|
-
const transcript = new AgentStreamTranscript(sink);
|
|
34
47
|
transcript.emitRunPhase("queued");
|
|
35
48
|
const execute = await postUserTaskExecute({
|
|
36
49
|
apiBase: client.baseUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-execute-turn.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-execute-turn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAGvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-execute-turn.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-execute-turn.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,23 @@ import type { PatzeCodeRunRecord } from "../../backend/run-record.js";
|
|
|
2
2
|
import { formatTranscriptEntry } from "./transcript-format.js";
|
|
3
3
|
export type StreamTranscriptSink = {
|
|
4
4
|
emit: (lines: string[]) => void;
|
|
5
|
+
emitPartial?: (chunk: string) => void;
|
|
5
6
|
};
|
|
6
7
|
export declare class AgentStreamTranscript {
|
|
7
8
|
private readonly sink;
|
|
8
9
|
private readonly seenTraceIds;
|
|
10
|
+
private readonly traceSlots;
|
|
9
11
|
private lastPhase;
|
|
12
|
+
private textBuffer;
|
|
13
|
+
private agentPrefixEmitted;
|
|
10
14
|
constructor(sink: StreamTranscriptSink);
|
|
15
|
+
flushPartialLine(): void;
|
|
11
16
|
emitRunPhase(phase: string, status?: string): void;
|
|
12
17
|
emitTraceItem(item: unknown): void;
|
|
13
18
|
emitFinalRun(run: PatzeCodeRunRecord | null): void;
|
|
19
|
+
private emitUpsertTrace;
|
|
20
|
+
private emitStreamingText;
|
|
21
|
+
private emitAgentPartial;
|
|
14
22
|
}
|
|
15
23
|
export { formatTranscriptEntry };
|
|
16
24
|
//# sourceMappingURL=agent-stream-format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-stream-format.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-stream-format.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,EAAoB,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAEhF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-stream-format.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-stream-format.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,EAAoB,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAEhF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC,CAAA;AAQD,qBAAa,qBAAqB;IAOpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,kBAAkB,CAAQ;gBAEL,IAAI,EAAE,oBAAoB;IAEvD,gBAAgB,IAAI,IAAI;IAQxB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IASlD,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IA2ClC,YAAY,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI;IA6BlD,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,gBAAgB;CAczB;AAyBD,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -4,10 +4,20 @@ import { formatAgentReply, formatTranscriptEntry } from "./transcript-format.js"
|
|
|
4
4
|
export class AgentStreamTranscript {
|
|
5
5
|
sink;
|
|
6
6
|
seenTraceIds = new Set();
|
|
7
|
+
traceSlots = new Map();
|
|
7
8
|
lastPhase = "";
|
|
9
|
+
textBuffer = "";
|
|
10
|
+
agentPrefixEmitted = false;
|
|
8
11
|
constructor(sink) {
|
|
9
12
|
this.sink = sink;
|
|
10
13
|
}
|
|
14
|
+
flushPartialLine() {
|
|
15
|
+
if (this.agentPrefixEmitted) {
|
|
16
|
+
this.sink.emitPartial?.("\n");
|
|
17
|
+
this.agentPrefixEmitted = false;
|
|
18
|
+
this.textBuffer = "";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
11
21
|
emitRunPhase(phase, status) {
|
|
12
22
|
const label = phase || status || "running";
|
|
13
23
|
if (label === this.lastPhase) {
|
|
@@ -24,27 +34,35 @@ export class AgentStreamTranscript {
|
|
|
24
34
|
if (event.kind === "status" && isIgnorableStatusTrace(event)) {
|
|
25
35
|
return;
|
|
26
36
|
}
|
|
27
|
-
|
|
28
|
-
event
|
|
29
|
-
|
|
37
|
+
if (event.kind === "text" && event.status === "running") {
|
|
38
|
+
this.emitStreamingText(event);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (event.kind === "tool" || event.kind === "thinking") {
|
|
42
|
+
this.emitUpsertTrace(event);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const shouldEmit = event.kind === "task" ||
|
|
30
46
|
(event.kind === "text" && event.status === "done") ||
|
|
31
47
|
(event.kind === "status" && !isIgnorableStatusTrace(event));
|
|
32
48
|
if (!shouldEmit) {
|
|
33
49
|
return;
|
|
34
50
|
}
|
|
35
51
|
this.seenTraceIds.add(event.id);
|
|
36
|
-
const role = event.kind === "
|
|
52
|
+
const role = event.kind === "status" || event.kind === "task" ? "run" : "agent";
|
|
37
53
|
const text = formatTraceLine(event);
|
|
38
54
|
if (!text) {
|
|
39
55
|
return;
|
|
40
56
|
}
|
|
41
57
|
if (role === "agent") {
|
|
58
|
+
this.flushPartialLine();
|
|
42
59
|
this.sink.emit(formatAgentReply(text));
|
|
43
60
|
return;
|
|
44
61
|
}
|
|
45
62
|
this.sink.emit(formatRoleLine(role, text));
|
|
46
63
|
}
|
|
47
64
|
emitFinalRun(run) {
|
|
65
|
+
this.flushPartialLine();
|
|
48
66
|
if (!run) {
|
|
49
67
|
this.sink.emit(formatAgentReply("Run finished but no record was returned."));
|
|
50
68
|
return;
|
|
@@ -62,6 +80,70 @@ export class AgentStreamTranscript {
|
|
|
62
80
|
}
|
|
63
81
|
this.sink.emit(formatRoleLine("run", "no auto-apply · review with /diff when a patch is ready"));
|
|
64
82
|
}
|
|
83
|
+
emitUpsertTrace(event) {
|
|
84
|
+
const text = formatTraceLine(event);
|
|
85
|
+
if (!text) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const slot = this.traceSlots.get(event.id);
|
|
89
|
+
const prefix = event.kind === "tool"
|
|
90
|
+
? event.status === "running"
|
|
91
|
+
? "[~]"
|
|
92
|
+
: event.status === "error"
|
|
93
|
+
? "[!]"
|
|
94
|
+
: "[x]"
|
|
95
|
+
: event.status === "running"
|
|
96
|
+
? "[…]"
|
|
97
|
+
: "[·]";
|
|
98
|
+
const line = `${prefix} ${text}`;
|
|
99
|
+
if (slot?.emitted && slot.lastText === line) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this.traceSlots.set(event.id, {
|
|
103
|
+
kind: event.kind,
|
|
104
|
+
lastText: line,
|
|
105
|
+
emitted: true,
|
|
106
|
+
});
|
|
107
|
+
this.seenTraceIds.add(event.id);
|
|
108
|
+
this.flushPartialLine();
|
|
109
|
+
const role = event.kind === "tool" ? "tool" : "agent";
|
|
110
|
+
if (role === "agent") {
|
|
111
|
+
this.sink.emit(formatAgentReply(line));
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
this.sink.emit(formatRoleLine(role, line));
|
|
115
|
+
}
|
|
116
|
+
emitStreamingText(event) {
|
|
117
|
+
const detail = event.detail?.trim() ?? "";
|
|
118
|
+
if (!detail) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (event.streamDelta) {
|
|
122
|
+
this.emitAgentPartial(detail);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const delta = detail.startsWith(this.textBuffer)
|
|
126
|
+
? detail.slice(this.textBuffer.length)
|
|
127
|
+
: detail;
|
|
128
|
+
this.textBuffer = detail;
|
|
129
|
+
if (delta) {
|
|
130
|
+
this.emitAgentPartial(delta);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
emitAgentPartial(chunk) {
|
|
134
|
+
if (!chunk) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (this.sink.emitPartial) {
|
|
138
|
+
if (!this.agentPrefixEmitted) {
|
|
139
|
+
this.sink.emitPartial(`${"agent".padEnd(7)}`);
|
|
140
|
+
this.agentPrefixEmitted = true;
|
|
141
|
+
}
|
|
142
|
+
this.sink.emitPartial(chunk);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
this.sink.emit(formatAgentReply(chunk));
|
|
146
|
+
}
|
|
65
147
|
}
|
|
66
148
|
function formatRoleLine(role, text) {
|
|
67
149
|
const label = role.padEnd(7);
|
|
@@ -70,7 +152,8 @@ function formatRoleLine(role, text) {
|
|
|
70
152
|
function formatTraceLine(event) {
|
|
71
153
|
const detail = event.detail?.trim() ?? "";
|
|
72
154
|
if (event.kind === "tool") {
|
|
73
|
-
|
|
155
|
+
const name = event.toolName || event.title;
|
|
156
|
+
return detail ? `${name} · ${excerptTraceText(detail, 120)}` : name;
|
|
74
157
|
}
|
|
75
158
|
if (event.kind === "thinking") {
|
|
76
159
|
return detail ? excerptTraceText(detail, 160) : event.title;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-stream-format.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-stream-format.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-stream-format.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-stream-format.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAahF,MAAM,OAAO,qBAAqB;IAOH;IANZ,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAA;IAClD,SAAS,GAAG,EAAE,CAAA;IACd,UAAU,GAAG,EAAE,CAAA;IACf,kBAAkB,GAAG,KAAK,CAAA;IAElC,YAA6B,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAE3D,gBAAgB;QACd,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;YAC/B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,MAAe;QACzC,MAAM,KAAK,GAAG,KAAK,IAAI,MAAM,IAAI,SAAS,CAAA;QAC1C,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACtG,CAAC;IAED,aAAa,CAAC,IAAa;QACzB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAM;QACR,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAM;QACR,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;YAClD,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;QAE7D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;QAC/E,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAM;QACR,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,YAAY,CAAC,GAA8B;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,0CAA0C,CAAC,CAAC,CAAA;YAC5E,OAAM;QACR,CAAC;QAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACvD,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,cAAc,CACZ,KAAK,EACL,kBAAkB,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/G,CACF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,yDAAyD,CAAC,CAAC,CAAA;IAClG,CAAC;IAEO,eAAe,CAAC,KAAsB;QAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,KAAK,MAAM;YACnB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;gBAC1B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO;oBACxB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,KAAK;YACX,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;gBAC1B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,CAAA;QAEb,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAA;QAChC,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAE/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;QACrD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC5C,CAAC;IAEO,iBAAiB,CAAC,KAAsB;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,MAAM,CAAA;QACV,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;QACxB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;YAChC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAC5B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,CAAC;CACF;AAED,SAAS,cAAc,CAAC,IAAoB,EAAE,IAAY;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5B,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,KAAsB;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAA;QAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IACnF,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;AACnF,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -7,6 +7,7 @@ export type AgentTurnResult = {
|
|
|
7
7
|
};
|
|
8
8
|
export type AgentTurnOptions = PlanPreviewOptions & {
|
|
9
9
|
onTranscriptLine?: (line: string) => void;
|
|
10
|
+
onTranscriptPartial?: (chunk: string) => void;
|
|
10
11
|
};
|
|
11
12
|
export declare function runAgentTurn(session: InteractiveSession, objective: string, options?: AgentTurnOptions): Promise<AgentTurnResult>;
|
|
12
13
|
//# sourceMappingURL=agent-turn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-turn.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-turn.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AActD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,CAAA;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA8L1B"}
|
|
@@ -13,6 +13,8 @@ import { formatAgentReply } from "./transcript-format.js";
|
|
|
13
13
|
import { classifyTurnInput } from "./agent-turn-classify.js";
|
|
14
14
|
import { buildContextualReply } from "./agent-turn-context.js";
|
|
15
15
|
import { isCliExecuteEnabled, isExecuteAuthReady, runExecuteTurn, } from "./agent-execute-turn.js";
|
|
16
|
+
import { resolveEffectiveModel } from "../../config/models.js";
|
|
17
|
+
import { buildConversationContext } from "./session-store.js";
|
|
16
18
|
export async function runAgentTurn(session, objective, options = {}) {
|
|
17
19
|
const trimmed = objective.trim();
|
|
18
20
|
if (!trimmed) {
|
|
@@ -24,6 +26,10 @@ export async function runAgentTurn(session, objective, options = {}) {
|
|
|
24
26
|
const config = loadConfig(session.cwd);
|
|
25
27
|
const permission = getPermissionModeDef(session.getPermissionMode());
|
|
26
28
|
const authReady = isAuthConfigured(config);
|
|
29
|
+
const modelHint = resolveEffectiveModel({
|
|
30
|
+
sessionOverride: session.getModelOverride(),
|
|
31
|
+
configModel: config.model,
|
|
32
|
+
});
|
|
27
33
|
if (classifyTurnInput(trimmed) === "conversation") {
|
|
28
34
|
const inspectResult = inspectWorkspace(session.cwd, config.defaultAllow, config.defaultDeny);
|
|
29
35
|
const workspaceRoot = guessWorkspaceRoot(session.cwd);
|
|
@@ -44,6 +50,7 @@ export async function runAgentTurn(session, objective, options = {}) {
|
|
|
44
50
|
exitCode: 0,
|
|
45
51
|
};
|
|
46
52
|
}
|
|
53
|
+
const conversationContext = buildConversationContext(session.getActiveTranscript());
|
|
47
54
|
session.setCurrentGoal(trimmed);
|
|
48
55
|
session.clearReviewAndApprovalState();
|
|
49
56
|
const inspectResult = inspectWorkspace(session.cwd, config.defaultAllow, config.defaultDeny);
|
|
@@ -57,7 +64,13 @@ export async function runAgentTurn(session, objective, options = {}) {
|
|
|
57
64
|
if (authReady) {
|
|
58
65
|
toolSteps.push("plan_preview_server");
|
|
59
66
|
planSource = "server";
|
|
60
|
-
const plan = await runPlanPreview(trimmed, {
|
|
67
|
+
const plan = await runPlanPreview(trimmed, {
|
|
68
|
+
cwd: session.cwd,
|
|
69
|
+
fetchImpl: options.fetchImpl,
|
|
70
|
+
modelHint,
|
|
71
|
+
conversationContext,
|
|
72
|
+
executionMode: session.getExecutionMode(),
|
|
73
|
+
});
|
|
61
74
|
exitCode = plan.exitCode;
|
|
62
75
|
if (plan.preview?.ok) {
|
|
63
76
|
previewResult = {
|
|
@@ -122,8 +135,12 @@ export async function runAgentTurn(session, objective, options = {}) {
|
|
|
122
135
|
config,
|
|
123
136
|
objective: trimmed,
|
|
124
137
|
previewArtifactDigest: artifactDigest,
|
|
138
|
+
modelHint,
|
|
139
|
+
conversationContext,
|
|
140
|
+
executionMode: session.getExecutionMode(),
|
|
125
141
|
fetchImpl: options.fetchImpl,
|
|
126
142
|
onTranscriptLine: options.onTranscriptLine,
|
|
143
|
+
onTranscriptPartial: options.onTranscriptPartial,
|
|
127
144
|
});
|
|
128
145
|
if (execute.run?.run_id) {
|
|
129
146
|
session.setLastRunId(execute.run.run_id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,cAAc,EAA2B,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAG9D,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../../src/cli/interactive/agent-turn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type CloudGitDetection = {
|
|
2
|
+
ok: true;
|
|
3
|
+
url: string;
|
|
4
|
+
startingRef?: string;
|
|
5
|
+
} | {
|
|
6
|
+
ok: false;
|
|
7
|
+
message: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function detectCloudRepository(cwd: string): CloudGitDetection;
|
|
10
|
+
export declare function formatCloudTarget(detection: Extract<CloudGitDetection, {
|
|
11
|
+
ok: true;
|
|
12
|
+
}>): string;
|
|
13
|
+
//# sourceMappingURL=cloud-git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-git.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/cloud-git.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAsBlC,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAkBpE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,MAAM,CAE7F"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
2
|
+
function runGit(cwd, args) {
|
|
3
|
+
try {
|
|
4
|
+
return execFileSync("git", ["-C", cwd, ...args], {
|
|
5
|
+
encoding: "utf8",
|
|
6
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
7
|
+
}).trim();
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function normalizeGitHubRemote(remote) {
|
|
14
|
+
const trimmed = remote.trim().replace(/\.git$/, "");
|
|
15
|
+
const sshMatch = trimmed.match(/^git@github\.com:(.+\/.+)$/);
|
|
16
|
+
const sshUrlMatch = trimmed.match(/^ssh:\/\/git@github\.com\/(.+\/.+)$/);
|
|
17
|
+
const httpsMatch = trimmed.match(/^https:\/\/github\.com\/(.+\/.+)$/);
|
|
18
|
+
const repoPath = sshMatch?.[1] ?? sshUrlMatch?.[1] ?? httpsMatch?.[1];
|
|
19
|
+
return repoPath ? `https://github.com/${repoPath}` : undefined;
|
|
20
|
+
}
|
|
21
|
+
export function detectCloudRepository(cwd) {
|
|
22
|
+
const remote = runGit(cwd, ["config", "--get", "remote.origin.url"]);
|
|
23
|
+
if (!remote) {
|
|
24
|
+
return {
|
|
25
|
+
ok: false,
|
|
26
|
+
message: "Cloud mode requires a git repository with remote.origin.url set.",
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const url = normalizeGitHubRemote(remote);
|
|
30
|
+
if (!url) {
|
|
31
|
+
return {
|
|
32
|
+
ok: false,
|
|
33
|
+
message: "Cloud mode currently expects remote.origin.url to point at GitHub.",
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const branch = runGit(cwd, ["rev-parse", "--abbrev-ref", "HEAD"]);
|
|
37
|
+
const startingRef = branch && branch !== "HEAD" ? branch : undefined;
|
|
38
|
+
return startingRef ? { ok: true, url, startingRef } : { ok: true, url };
|
|
39
|
+
}
|
|
40
|
+
export function formatCloudTarget(detection) {
|
|
41
|
+
return detection.startingRef ? `${detection.url}#${detection.startingRef}` : detection.url;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=cloud-git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-git.js","sourceRoot":"","sources":["../../../src/cli/interactive/cloud-git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAMjD,SAAS,MAAM,CAAC,GAAW,EAAE,IAAc;IACzC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE;YAC/C,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;IACrE,OAAO,QAAQ,CAAC,CAAC,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAA;IACpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,kEAAkE;SAC5E,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACzC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oEAAoE;SAC9E,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IACjE,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAmD;IACnF,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAA;AAC5F,CAAC"}
|