@astroanywhere/agent 0.3.9 ā 0.4.1
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 +14 -0
- package/dist/lib/git-pr.d.ts +2 -2
- package/dist/lib/git-pr.d.ts.map +1 -1
- package/dist/lib/git-pr.js +8 -8
- package/dist/lib/git-pr.js.map +1 -1
- package/dist/lib/task-executor.d.ts.map +1 -1
- package/dist/lib/task-executor.js +49 -37
- package/dist/lib/task-executor.js.map +1 -1
- package/dist/lib/websocket-client.d.ts +4 -0
- package/dist/lib/websocket-client.d.ts.map +1 -1
- package/dist/lib/websocket-client.js +24 -1
- package/dist/lib/websocket-client.js.map +1 -1
- package/dist/lib/worktree.d.ts +3 -3
- package/dist/lib/worktree.d.ts.map +1 -1
- package/dist/lib/worktree.js +24 -24
- package/dist/lib/worktree.js.map +1 -1
- package/dist/providers/base-adapter.d.ts +27 -0
- package/dist/providers/base-adapter.d.ts.map +1 -1
- package/dist/providers/base-adapter.js +39 -1
- package/dist/providers/base-adapter.js.map +1 -1
- package/dist/providers/claude-sdk-adapter.d.ts +2 -4
- package/dist/providers/claude-sdk-adapter.d.ts.map +1 -1
- package/dist/providers/claude-sdk-adapter.js +33 -50
- package/dist/providers/claude-sdk-adapter.js.map +1 -1
- package/dist/providers/codex-adapter.d.ts.map +1 -1
- package/dist/providers/codex-adapter.js +2 -1
- package/dist/providers/codex-adapter.js.map +1 -1
- package/dist/providers/opencode-adapter.d.ts.map +1 -1
- package/dist/providers/opencode-adapter.js +2 -1
- package/dist/providers/opencode-adapter.js.map +1 -1
- package/dist/types.d.ts +12 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -20,6 +20,17 @@
|
|
|
20
20
|
|
|
21
21
|
---
|
|
22
22
|
|
|
23
|
+
<details open>
|
|
24
|
+
<summary><h2>š° News</h2></summary>
|
|
25
|
+
|
|
26
|
+
| Date | Update |
|
|
27
|
+
|:-----|:-------|
|
|
28
|
+
| **2026-03-19** | **š¤ Pi Coding Agent support** — Astro now natively supports [Pi](https://github.com/badlogic/pi-mono), the coding agent powering [OpenClaw](https://github.com/openclaw-ai/openclaw). Auto-detected at launch alongside Claude Code, Codex, and OpenCode. Full streaming, tool result rendering, session preservation, and multi-turn resume. |
|
|
29
|
+
|
|
30
|
+
</details>
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
23
34
|
## What is Astro?
|
|
24
35
|
|
|
25
36
|
[**Astro**](https://astroanywhere.com/landing/) is an orchestrator for AI coding agents. It takes a complex goal, decomposes it into a dependency graph of tasks, and executes them **in parallel** across your machines — your laptop, GPU servers, HPC clusters, cloud VMs.
|
|
@@ -572,9 +583,12 @@ Astro works with the AI coding agents you already use. Install any supported age
|
|
|
572
583
|
|---|---|---|
|
|
573
584
|
| **Claude Code** | `npm i -g @anthropic-ai/claude-code` | [anthropic.com/claude-code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview) |
|
|
574
585
|
| **Codex** | `npm i -g @openai/codex` | [github.com/openai/codex](https://github.com/openai/codex) |
|
|
586
|
+
| **Pi** | `npm i -g @mariozechner/pi-coding-agent` | [github.com/badlogic/pi-mono](https://github.com/badlogic/pi-mono) |
|
|
575
587
|
| **OpenClaw** | `npm i -g openclaw` | [github.com/openclaw-ai/openclaw](https://github.com/openclaw-ai/openclaw) |
|
|
576
588
|
| **OpenCode** | `bun i -g opencode` | [github.com/opencode-ai/opencode](https://github.com/opencode-ai/opencode) |
|
|
577
589
|
|
|
590
|
+
Pi is the coding agent that powers OpenClaw. If you have OpenClaw installed, Pi is already available — Astro detects it automatically. You can also install Pi standalone for direct access to its multi-provider model support (Anthropic, OpenAI, Google, Bedrock, custom providers via `models.json`).
|
|
591
|
+
|
|
578
592
|
All agents get full project context injection, real-time output streaming, and session preservation for multi-turn resume. Your API keys stay on your machine — Astro never sees them.
|
|
579
593
|
|
|
580
594
|
### 3. GitHub-Native Workflow
|
package/dist/lib/git-pr.d.ts
CHANGED
|
@@ -104,8 +104,8 @@ export declare function getRemoteBranchSha(repoDir: string, branchName: string):
|
|
|
104
104
|
* - Post-push verification via fetch + rev-parse
|
|
105
105
|
*/
|
|
106
106
|
export declare function pushBranchToRemote(gitRoot: string, branchName: string, options?: {
|
|
107
|
-
/**
|
|
108
|
-
|
|
107
|
+
/** Structured operational status line */
|
|
108
|
+
operational?: (message: string, source: 'astro' | 'git' | 'delivery') => void;
|
|
109
109
|
/** Label for log messages (default: 'push') */
|
|
110
110
|
label?: string;
|
|
111
111
|
}): Promise<{
|
package/dist/lib/git-pr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-pr.d.ts","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BvE;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B1C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ9D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWzE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA4ClE;AA+BD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0B1C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,
|
|
1
|
+
{"version":3,"file":"git-pr.d.ts","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BvE;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B1C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ9D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWzE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA4ClE;AA+BD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0B1C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC;IAC9E,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoDtD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAUtD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWvE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWpE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CA+BlB;AAoBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,QAAQ,CAAC,CAkKnB"}
|
package/dist/lib/git-pr.js
CHANGED
|
@@ -243,16 +243,16 @@ export async function getRemoteBranchSha(repoDir, branchName) {
|
|
|
243
243
|
* - Post-push verification via fetch + rev-parse
|
|
244
244
|
*/
|
|
245
245
|
export async function pushBranchToRemote(gitRoot, branchName, options) {
|
|
246
|
-
const
|
|
246
|
+
const operational = options?.operational;
|
|
247
247
|
const label = options?.label ?? 'push';
|
|
248
248
|
const MAX_ATTEMPTS = 2;
|
|
249
249
|
let lastError;
|
|
250
250
|
for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
|
|
251
251
|
try {
|
|
252
|
-
|
|
252
|
+
operational?.(`Pushing ${branchName} to origin (${label} attempt ${attempt}/${MAX_ATTEMPTS})...`, 'git');
|
|
253
253
|
await execFileAsync('git', ['-C', gitRoot, 'push', '-u', 'origin', branchName], { env: withGitEnv(), timeout: 30_000 });
|
|
254
254
|
lastError = undefined;
|
|
255
|
-
|
|
255
|
+
operational?.(`${branchName} pushed to origin`, 'git');
|
|
256
256
|
console.log(`[git-pr] Pushed ${branchName} to origin (${label} attempt ${attempt})`);
|
|
257
257
|
break;
|
|
258
258
|
}
|
|
@@ -260,31 +260,31 @@ export async function pushBranchToRemote(gitRoot, branchName, options) {
|
|
|
260
260
|
lastError = err instanceof Error ? err.message : String(err);
|
|
261
261
|
// "everything up-to-date" is not an error
|
|
262
262
|
if (lastError.includes('Everything up-to-date') || lastError.includes('up to date')) {
|
|
263
|
-
|
|
263
|
+
operational?.(`${branchName} already up-to-date on origin`, 'git');
|
|
264
264
|
console.log(`[git-pr] ${branchName} already up-to-date on origin`);
|
|
265
265
|
lastError = undefined;
|
|
266
266
|
break;
|
|
267
267
|
}
|
|
268
268
|
console.error(`[git-pr] ${label} attempt ${attempt} failed: ${lastError}`);
|
|
269
269
|
if (attempt < MAX_ATTEMPTS) {
|
|
270
|
-
|
|
270
|
+
operational?.(`Push failed (attempt ${attempt}): ${lastError} ā retrying in 2s...`, 'git');
|
|
271
271
|
await new Promise(resolve => setTimeout(resolve, 2_000));
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
if (lastError) {
|
|
276
|
-
|
|
276
|
+
operational?.(`ERROR: Failed to push ${branchName} to origin: ${lastError}`, 'git');
|
|
277
277
|
return { ok: false, error: `Failed to push ${branchName} to origin after ${MAX_ATTEMPTS} attempts: ${lastError}` };
|
|
278
278
|
}
|
|
279
279
|
// Verify the branch is actually on origin after push.
|
|
280
280
|
const remoteSha = await getRemoteBranchSha(gitRoot, branchName);
|
|
281
281
|
if (!remoteSha) {
|
|
282
282
|
const msg = `Push reported success but ${branchName} not visible on origin (fetch + rev-parse failed)`;
|
|
283
|
-
|
|
283
|
+
operational?.(`ERROR: ${msg}`, 'git');
|
|
284
284
|
console.error(`[git-pr] ${msg}`);
|
|
285
285
|
return { ok: false, error: msg };
|
|
286
286
|
}
|
|
287
|
-
|
|
287
|
+
operational?.(`Verified: ${branchName} on origin (${remoteSha.slice(0, 8)})`, 'git');
|
|
288
288
|
console.log(`[git-pr] Verified ${branchName} on origin (sha: ${remoteSha.slice(0, 8)})`);
|
|
289
289
|
return { ok: true };
|
|
290
290
|
}
|
package/dist/lib/git-pr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-pr.js","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,SAAS,UAAU;IACjB,OAAO;QACL,GAAG,OAAO,CAAC,GAAG;QACd,mBAAmB,EAAE,GAAG;KACzB,CAAC;AACJ,CAAC;AAiBD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe;IACpD,yCAAyC;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,0BAA0B,CAAC,EAC3D,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1B,mCAAmC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,CAAC,EACzE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,MAAM,CAAC;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,UAAkB,EAClB,UAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,UAAU,KAAK,OAAO,EAAE,CAAC,EAC1E,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CACvC,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,UAAkB;IAElB,2CAA2C;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAC/C,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC9C,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,eAAe,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAC5C,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EACnD,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CACvC,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAA6D,CAAC;QAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7E,OAAO,CAAC,KAAK,CAAC,kCAAkC,UAAU,KAAK,WAAW,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,WAAW,EAAE,EAAE,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,mDAAmD;IACnD,yDAAyD;IACzD,4DAA4D;IAC5D,iEAAiE;IACjE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC9C,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;QACF,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,OAOC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,OAAO,CAAC,UAAU;YAC5B,QAAQ,EAAE,OAAO,CAAC,UAAU;YAC5B,SAAS,EAAE,OAAO,CAAC,KAAK;YACxB,QAAQ,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC;QACF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,IAAI,EACJ,IAAI,EACJ,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5C,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5B,oEAAoE;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;QAEtD,wEAAwE;QACxE,IAAI,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,kCAAkC,OAAO,CAAC,UAAU,0BAA0B,CAAC,CAAC;YAC5F,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjF,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;QAChC,CAAC;QAED,iFAAiF;QACjF,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC/E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACrE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,UAAkB,EAClB,QAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,IAAI,EACJ,IAAI,EACJ,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5C,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,8CAA8C,UAAU,GAAG,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAW,EACX,QAAgB,EAChB,OAKC;IAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC;IAC3C,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC/B,KAAK,MAAM,EAAE;KACd,CAAC;IACF,IAAI,OAAO,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE;YAC9B,GAAG;YACH,GAAG,EAAE,UAAU,EAAE;YACjB,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,QAAQ,MAAM,EAAE,CAAC,CAAC;QAC7D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,gCAAgC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,GAAG,EAAE,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAC9C,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CACvC,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,UAAU,EAAE,CAAC,EACpD,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,UAAkB,EAClB,OAKC;IAED,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,IAAI,SAA6B,CAAC;IAElC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,oBAAoB,UAAU,eAAe,KAAK,YAAY,OAAO,IAAI,YAAY,QAAQ,CAAC,CAAC;YACtG,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EACnD,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CACvC,CAAC;YACF,SAAS,GAAG,SAAS,CAAC;YACtB,IAAI,EAAE,CAAC,YAAY,UAAU,qBAAqB,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,eAAe,KAAK,YAAY,OAAO,GAAG,CAAC,CAAC;YACrF,MAAM;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,0CAA0C;YAC1C,IAAI,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpF,IAAI,EAAE,CAAC,YAAY,UAAU,iCAAiC,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,+BAA+B,CAAC,CAAC;gBACnE,SAAS,GAAG,SAAS,CAAC;gBACtB,MAAM;YACR,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,YAAY,OAAO,YAAY,SAAS,EAAE,CAAC,CAAC;YAC3E,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;gBAC3B,IAAI,EAAE,CAAC,iCAAiC,OAAO,MAAM,SAAS,gCAAgC,CAAC,CAAC;gBAChG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,EAAE,CAAC,kCAAkC,UAAU,eAAe,SAAS,IAAI,CAAC,CAAC;QACjF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,UAAU,oBAAoB,YAAY,cAAc,SAAS,EAAE,EAAE,CAAC;IACrH,CAAC;IAED,sDAAsD;IACtD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,6BAA6B,UAAU,mDAAmD,CAAC;QACvG,IAAI,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,EAAE,CAAC,sBAAsB,UAAU,eAAe,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,oBAAoB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACzF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;YAC5C,GAAG,EAAE,UAAU,EAAE;YACjB,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC9C,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAC3C,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,YAAoB,EACpB,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,aAAa,CAClD,KAAK,EACL,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,EAC7C,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CACvC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,EACjC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CACvC,CAAC;QAEF,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,0CAA0C,CAAC,EAC5F,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CACvC,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,oDAAoD,SAAS,EAAE,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,wBAAwB,CAAC,OAAe;IACrD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAAoB,EACpB,OAoBC;IAED,MAAM,MAAM,GAAa,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IAE5D,uEAAuE;IACvE,sEAAsE;IACtE,oEAAoE;IACpE,8BAA8B;IAC9B,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,eAAe,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,YAAY,0BAA0B,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,GAAG,sBAAsB,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;IACxC,sEAAsE;IACtE,iEAAiE;IACjE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAEtD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,wBAAwB,YAAY,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,iCAAiC,OAAO,eAAe,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,GAAG,2CAA2C,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,0CAA0C,OAAO,uBAAuB,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,GAAG,6DAA6D,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,mEAAmE;IACnE,8DAA8D;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,wBAAwB,CAAC,OAAO,CAAC,IAAI,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEpH,yEAAyE;IACzE,6EAA6E;IAC7E,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,aAAa,EAAE,CAAC;QAClD,MAAM,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,+CAA+C,YAAY,mBAAmB,CAAC,CAAC;IAC9F,CAAC;IAED,sCAAsC;IACtC,uEAAuE;IACvE,wCAAwC;IACxC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,MAAM,EACN,UAAU,EACV,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAC/C,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,QAAQ,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,UAAU,yBAAyB,UAAU,EAAE,CAAC,CAAC;IAExF,kCAAkC;IAClC,uEAAuE;IACvE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,uBAAuB,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAErB,8EAA8E;IAC9E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,wCAAwC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+BAA+B;IAC/B,IAAI,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,GAAG,oDAAoD,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;WACpB,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,cAAc,OAAO,CAAC,eAAe,6CAA6C;YACpF,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAE5C,4EAA4E;IAC5E,8EAA8E;IAC9E,wEAAwE;IACxE,+EAA+E;IAC/E,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,UAAU,4CAA4C,CAAC,CAAC;YAC7F,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE;gBACjE,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;gBACrB,MAAM,CAAC,KAAK,GAAG,eAAe,UAAU,mBAAmB,YAAY,CAAC,KAAK,+BAA+B,CAAC;gBAC7G,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QACtF,MAAM,CAAC,KAAK,GAAG,6DAA6D,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,UAAU,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpH,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE;QACzC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU;QACV,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,IAAI;QACJ,QAAQ,EAAE,QAAQ,IAAI,SAAS;KAChC,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC9B,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAEjD,mEAAmE;QACnE,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE;gBAC9D,MAAM,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ;gBACvC,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,QAAQ,IAAI,SAAS;aAChC,CAAC,CAAC;YACH,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;gBACnB,6CAA6C;gBAC7C,MAAM,CAAC,cAAc,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,gEAAgE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9F,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,QAAQ,oBAAoB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,CAAC,QAAQ,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxF,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,GAAG,uBAAuB,EAAE,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"git-pr.js","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/lib/task-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,IAAI,EAAwC,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA6K3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAuBD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,iBAAiB,CAA2B;IACpD,+FAA+F;IAC/F,OAAO,CAAC,oBAAoB,CAA2B;IACvD,2FAA2F;IAC3F,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,mBAAmB,CAA8C;IAEzE,gFAAgF;IAChF,OAAO,CAAC,iBAAiB,CASV;IAEf,gFAAgF;IAChF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAkB;gBAExD,OAAO,EAAE,mBAAmB;IAyBxC;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAW/C;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/lib/task-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -237,12 +237,15 @@ export class TaskExecutor {
|
|
|
237
237
|
}
|
|
238
238
|
this.claimedTasks.add(task.id);
|
|
239
239
|
try {
|
|
240
|
-
//
|
|
241
|
-
|
|
242
|
-
//
|
|
243
|
-
//
|
|
240
|
+
// Only execution tasks need workingDirectory resolution, safety checks,
|
|
241
|
+
// git diff, and summary generation. All other types (plan/chat/summarize/
|
|
242
|
+
// playground) skip this overhead but still get full tool access when they
|
|
243
|
+
// have a working directory.
|
|
244
|
+
const isExecutionTask = !task.type || task.type === 'execution';
|
|
245
|
+
// Non-execution tasks can run without a working directory.
|
|
246
|
+
// For execution tasks, resolve the directory or auto-provision one.
|
|
244
247
|
let resolvedWorkDir;
|
|
245
|
-
if (
|
|
248
|
+
if (!isExecutionTask && !task.workingDirectory) {
|
|
246
249
|
resolvedWorkDir = undefined;
|
|
247
250
|
}
|
|
248
251
|
else {
|
|
@@ -274,14 +277,14 @@ export class TaskExecutor {
|
|
|
274
277
|
// thinks worktree isolation is active and allows parallel execution, but
|
|
275
278
|
// prepareTaskWorkspace() later falls back to direct in-place execution ā
|
|
276
279
|
// causing file conflicts when multiple tasks run on the same non-git directory.
|
|
277
|
-
const isGitDir =
|
|
280
|
+
const isGitDir = isExecutionTask && normalizedTask.workingDirectory && this.gitAvailable
|
|
278
281
|
? await isGitRepo(normalizedTask.workingDirectory)
|
|
279
282
|
: false;
|
|
280
283
|
const willUseWorktree = this.useWorktree
|
|
281
284
|
&& normalizedTask.useWorktree !== false
|
|
282
285
|
&& normalizedTask.deliveryMode !== 'direct'
|
|
283
286
|
&& (isGitDir || normalizedTask.deliveryMode === 'copy');
|
|
284
|
-
if (
|
|
287
|
+
if (isExecutionTask && task.skipSafetyCheck) {
|
|
285
288
|
// Server already approved safety for this directory ā skip the prompt.
|
|
286
289
|
// Only init git when the original safety decision was 'init-git'.
|
|
287
290
|
// When safetyDecision is 'proceed' (user chose non-git direct execution)
|
|
@@ -302,7 +305,7 @@ export class TaskExecutor {
|
|
|
302
305
|
}
|
|
303
306
|
return;
|
|
304
307
|
}
|
|
305
|
-
if (
|
|
308
|
+
if (isExecutionTask) {
|
|
306
309
|
// Perform safety check (worktree flag affects tier assignment)
|
|
307
310
|
const safetyCheck = await this.performSafetyCheck(normalizedTask, willUseWorktree);
|
|
308
311
|
// Handle safety tiers
|
|
@@ -594,6 +597,9 @@ export class TaskExecutor {
|
|
|
594
597
|
text: (data) => {
|
|
595
598
|
this.wsClient.sendTaskText(taskId, data, textSequence++);
|
|
596
599
|
},
|
|
600
|
+
operational: (message, source) => {
|
|
601
|
+
this.wsClient.sendTaskOperational(taskId, message, source);
|
|
602
|
+
},
|
|
597
603
|
toolUse: (toolName, toolInput, toolUseId) => {
|
|
598
604
|
this.wsClient.sendTaskToolUse(taskId, toolName, toolInput, toolUseId);
|
|
599
605
|
},
|
|
@@ -630,6 +636,7 @@ export class TaskExecutor {
|
|
|
630
636
|
projectBranch: meta.projectBranch,
|
|
631
637
|
stdout: stream.stdout,
|
|
632
638
|
stderr: stream.stderr,
|
|
639
|
+
operational: stream.operational,
|
|
633
640
|
});
|
|
634
641
|
if (worktree) {
|
|
635
642
|
resumeDir = worktree.workingDirectory;
|
|
@@ -925,6 +932,10 @@ export class TaskExecutor {
|
|
|
925
932
|
resetIdleTimeout();
|
|
926
933
|
this.wsClient.sendTaskText(normalizedTask.id, data, textSequence++);
|
|
927
934
|
},
|
|
935
|
+
operational: (message, source) => {
|
|
936
|
+
resetIdleTimeout();
|
|
937
|
+
this.wsClient.sendTaskOperational(normalizedTask.id, message, source);
|
|
938
|
+
},
|
|
928
939
|
toolUse: (toolName, toolInput, toolUseId) => {
|
|
929
940
|
resetIdleTimeout();
|
|
930
941
|
this.wsClient.sendTaskToolUse(normalizedTask.id, toolName, toolInput, toolUseId);
|
|
@@ -980,11 +991,12 @@ export class TaskExecutor {
|
|
|
980
991
|
// server's activity timer alive, not to display anything to the user.
|
|
981
992
|
this.wsClient.sendTaskText(normalizedTask.id, '', -(++heartbeatSeq));
|
|
982
993
|
}, TASK_HEARTBEAT_INTERVAL_MS);
|
|
983
|
-
//
|
|
984
|
-
|
|
994
|
+
// Only execution tasks get git diff, delivery, and summary ā all other types (chat, plan, playground, summarize) skip them.
|
|
995
|
+
// These non-execution types still get full tool access when they have a working directory.
|
|
996
|
+
const isExecutionTask = !normalizedTask.type || normalizedTask.type === 'execution';
|
|
985
997
|
let prepared;
|
|
986
998
|
try {
|
|
987
|
-
prepared =
|
|
999
|
+
prepared = !isExecutionTask && !normalizedTask.workingDirectory
|
|
988
1000
|
? { workingDirectory: '', cleanup: async () => { } }
|
|
989
1001
|
: await this.prepareTaskWorkspace(normalizedTask, stream, abortController.signal);
|
|
990
1002
|
}
|
|
@@ -1022,7 +1034,7 @@ export class TaskExecutor {
|
|
|
1022
1034
|
// Resume existing session if resumeSessionId is provided
|
|
1023
1035
|
const canResume = taskWithWorkspace.resumeSessionId
|
|
1024
1036
|
&& this.isResumableAdapter(adapter)
|
|
1025
|
-
&&
|
|
1037
|
+
&& !isExecutionTask;
|
|
1026
1038
|
let result;
|
|
1027
1039
|
if (canResume) {
|
|
1028
1040
|
console.log(`[executor] Task ${task.id}: resuming session ${taskWithWorkspace.resumeSessionId} with ${adapter.name} (type=${adapter.type}, hasMessages=${!!taskWithWorkspace.messages?.length})...`);
|
|
@@ -1075,7 +1087,7 @@ export class TaskExecutor {
|
|
|
1075
1087
|
});
|
|
1076
1088
|
}
|
|
1077
1089
|
// Emit accurate file change events via git diff (covers all change methods)
|
|
1078
|
-
if (
|
|
1090
|
+
if (isExecutionTask && prepared.workingDirectory) {
|
|
1079
1091
|
await this.emitGitDiffFileChanges(task.id, prepared.workingDirectory, prepared.commitBeforeSha, stream);
|
|
1080
1092
|
}
|
|
1081
1093
|
// Delivery-mode-aware result handling
|
|
@@ -1093,7 +1105,7 @@ export class TaskExecutor {
|
|
|
1093
1105
|
if (summary) {
|
|
1094
1106
|
console.log(`[executor] Task ${task.id}: summary available ā status=${summary.status}, workCompleted=${!!summary.workCompleted}, executiveSummary=${!!summary.executiveSummary}, keyFindings=${summary.keyFindings?.length ?? 0}, filesChanged=${summary.filesChanged?.length ?? 0}`);
|
|
1095
1107
|
}
|
|
1096
|
-
else if (
|
|
1108
|
+
else if (isExecutionTask) {
|
|
1097
1109
|
console.warn(`[executor] Task ${task.id}: no summary available for PR body`);
|
|
1098
1110
|
}
|
|
1099
1111
|
const rawTitle = summary?.workCompleted || task.title || task.prompt.slice(0, 100);
|
|
@@ -1101,7 +1113,7 @@ export class TaskExecutor {
|
|
|
1101
1113
|
? `[${task.shortProjectId}/${task.shortNodeId}] ${rawTitle}`
|
|
1102
1114
|
: rawTitle;
|
|
1103
1115
|
if (prepared.branchName && result.status === 'completed') {
|
|
1104
|
-
stream.
|
|
1116
|
+
stream.operational?.(`Delivering changes (mode: ${deliveryMode})...`, 'astro');
|
|
1105
1117
|
this.wsClient.sendTaskStatus(task.id, 'running', 90, 'Delivering changes...');
|
|
1106
1118
|
// Resolve GitHub repo slug (OWNER/REPO) for explicit gh --repo targeting.
|
|
1107
1119
|
// This makes gh pr create/merge independent of local filesystem state
|
|
@@ -1139,16 +1151,16 @@ export class TaskExecutor {
|
|
|
1139
1151
|
try {
|
|
1140
1152
|
if (deliveryMode === 'direct') {
|
|
1141
1153
|
// No git delivery ā files modified in-place
|
|
1142
|
-
stream.
|
|
1154
|
+
stream.operational?.('Changes applied in-place (direct mode)', 'delivery');
|
|
1143
1155
|
console.log(`[executor] Task ${task.id}: direct mode, skipping git delivery`);
|
|
1144
1156
|
}
|
|
1145
1157
|
else if (deliveryMode === 'copy') {
|
|
1146
1158
|
// Copy mode: worktree preserved, no git operations
|
|
1147
|
-
stream.
|
|
1159
|
+
stream.operational?.('Worktree preserved (copy mode)', 'delivery');
|
|
1148
1160
|
console.log(`[executor] Task ${task.id}: copy mode, worktree preserved at ${prepared.workingDirectory}`);
|
|
1149
1161
|
}
|
|
1150
1162
|
else if (deliveryMode === 'branch') {
|
|
1151
|
-
stream.
|
|
1163
|
+
stream.operational?.(`Merging into project branch ${prepared.projectBranch ?? 'local'}...`, 'git');
|
|
1152
1164
|
// Branch mode: commit locally, merge into project branch if available.
|
|
1153
1165
|
// The merge lock is held only during the squash-merge (seconds, not minutes),
|
|
1154
1166
|
// allowing tasks to execute in parallel. The squash merge naturally handles
|
|
@@ -1166,11 +1178,11 @@ export class TaskExecutor {
|
|
|
1166
1178
|
// don't overlap, and saves one retry cycle when they do.
|
|
1167
1179
|
const preRebase = await tryPreMergeRebase(prepared.workingDirectory, prepared.projectBranch, false);
|
|
1168
1180
|
if (preRebase.rebased) {
|
|
1169
|
-
stream.
|
|
1181
|
+
stream.operational?.(`Rebased onto ${prepared.projectBranch}`, 'git');
|
|
1170
1182
|
console.log(`[executor] Task ${task.id}: pre-merge rebase onto ${prepared.projectBranch} succeeded`);
|
|
1171
1183
|
}
|
|
1172
1184
|
else if (!preRebase.skipped) {
|
|
1173
|
-
stream.
|
|
1185
|
+
stream.operational?.('Rebase skipped (conflicts), retrying via merge', 'git');
|
|
1174
1186
|
console.log(`[executor] Task ${task.id}: pre-merge rebase had conflicts, falling back to merge retry loop`);
|
|
1175
1187
|
}
|
|
1176
1188
|
const mergeLockKey = BranchLockManager.computeLockKey(prepared.gitRoot, task.shortProjectId, task.shortNodeId, task.id);
|
|
@@ -1183,7 +1195,7 @@ export class TaskExecutor {
|
|
|
1183
1195
|
let mergeResult;
|
|
1184
1196
|
try {
|
|
1185
1197
|
this.wsClient.sendTaskStatus(task.id, 'running', 96, 'Merging into project branch...');
|
|
1186
|
-
mergeResult = await localMergeIntoProjectBranch(prepared.gitRoot, prepared.branchName, prepared.projectBranch, commitMessage, (msg) => stream.
|
|
1198
|
+
mergeResult = await localMergeIntoProjectBranch(prepared.gitRoot, prepared.branchName, prepared.projectBranch, commitMessage, (msg) => stream.operational?.(msg, 'git'));
|
|
1187
1199
|
}
|
|
1188
1200
|
finally {
|
|
1189
1201
|
mergeLock.release();
|
|
@@ -1192,7 +1204,7 @@ export class TaskExecutor {
|
|
|
1192
1204
|
if (mergeResult.merged) {
|
|
1193
1205
|
result.deliveryStatus = 'success';
|
|
1194
1206
|
result.commitAfterSha = mergeResult.commitSha;
|
|
1195
|
-
stream.
|
|
1207
|
+
stream.operational?.(`Merged into ${prepared.projectBranch} (${mergeResult.commitSha?.slice(0, 7)})`, 'git');
|
|
1196
1208
|
console.log(`[executor] Task ${task.id}: merged into ${prepared.projectBranch} (${mergeResult.commitSha})`);
|
|
1197
1209
|
// Sync project worktree to reflect the merged changes on disk
|
|
1198
1210
|
if (prepared.projectWorktreePath && prepared.projectBranch && prepared.gitRoot) {
|
|
@@ -1208,7 +1220,7 @@ export class TaskExecutor {
|
|
|
1208
1220
|
: null;
|
|
1209
1221
|
if (taskContext?.sessionId && this.isResumableAdapter(adapter) && attempt < MAX_MERGE_ATTEMPTS) {
|
|
1210
1222
|
const conflictFiles = mergeResult.conflictFiles?.join(', ') ?? 'unknown files';
|
|
1211
|
-
stream.
|
|
1223
|
+
stream.operational?.(`Merge conflict: ${conflictFiles} ā agent resolving (attempt ${attempt})...`, 'git');
|
|
1212
1224
|
console.log(`[executor] Task ${task.id}: merge conflict (attempt ${attempt}), resuming ${adapter.name} to resolve: ${conflictFiles}`);
|
|
1213
1225
|
this.wsClient.sendTaskStatus(task.id, 'running', 97, `Merge conflict ā agent resolving (attempt ${attempt})...`);
|
|
1214
1226
|
// Resume agent session with conflict resolution instructions.
|
|
@@ -1257,7 +1269,7 @@ export class TaskExecutor {
|
|
|
1257
1269
|
}
|
|
1258
1270
|
else if (deliveryMode === 'push') {
|
|
1259
1271
|
// Push branch to remote, but don't create a PR ā user creates PR manually
|
|
1260
|
-
stream.
|
|
1272
|
+
stream.operational?.(`Pushing ${prepared.branchName} to origin...`, 'git');
|
|
1261
1273
|
this.wsClient.sendTaskStatus(task.id, 'running', 95, 'Pushing branch...');
|
|
1262
1274
|
console.log(`[executor] Task ${task.id}: push mode, pushing branch ${prepared.branchName}`);
|
|
1263
1275
|
const prResult = await pushAndCreatePR(prepared.workingDirectory, {
|
|
@@ -1273,24 +1285,24 @@ export class TaskExecutor {
|
|
|
1273
1285
|
// Delivery failure ā don't override execution status
|
|
1274
1286
|
result.deliveryStatus = 'failed';
|
|
1275
1287
|
result.deliveryError = `Push delivery failed: ${prResult.error}`;
|
|
1276
|
-
stream.
|
|
1288
|
+
stream.operational?.(`Push failed: ${prResult.error}`, 'git');
|
|
1277
1289
|
console.error(`[executor] Task ${task.id}: push delivery failed: ${prResult.error}`);
|
|
1278
1290
|
}
|
|
1279
1291
|
else if (prResult.pushed) {
|
|
1280
1292
|
result.deliveryStatus = 'success';
|
|
1281
1293
|
keepBranch = true;
|
|
1282
|
-
stream.
|
|
1294
|
+
stream.operational?.(`Pushed to origin: ${prepared.branchName}`, 'git');
|
|
1283
1295
|
console.log(`[executor] Task ${task.id}: branch pushed (${prepared.branchName})`);
|
|
1284
1296
|
}
|
|
1285
1297
|
else {
|
|
1286
1298
|
result.deliveryStatus = 'skipped';
|
|
1287
|
-
stream.
|
|
1299
|
+
stream.operational?.('No changes to push', 'git');
|
|
1288
1300
|
console.log(`[executor] Task ${task.id}: no changes to push`);
|
|
1289
1301
|
}
|
|
1290
1302
|
}
|
|
1291
1303
|
else {
|
|
1292
1304
|
// 'pr' ā push + create PR, auto-merge into project branch if applicable
|
|
1293
|
-
stream.
|
|
1305
|
+
stream.operational?.(`Creating PR: ${prepared.branchName} ā ${prepared.baseBranch ?? 'main'}...`, 'git');
|
|
1294
1306
|
this.wsClient.sendTaskStatus(task.id, 'running', 94, 'Rebasing before push...');
|
|
1295
1307
|
// Pre-push rebase: if the target branch moved forward, rebase our task
|
|
1296
1308
|
// branch so the PR will be cleanly mergeable. The branch hasn't been
|
|
@@ -1298,11 +1310,11 @@ export class TaskExecutor {
|
|
|
1298
1310
|
if (prepared.baseBranch) {
|
|
1299
1311
|
const preRebase = await tryPreMergeRebase(prepared.workingDirectory, prepared.baseBranch, true);
|
|
1300
1312
|
if (preRebase.rebased) {
|
|
1301
|
-
stream.
|
|
1313
|
+
stream.operational?.(`Rebased onto origin/${prepared.baseBranch}`, 'git');
|
|
1302
1314
|
console.log(`[executor] Task ${task.id}: pre-push rebase onto origin/${prepared.baseBranch} succeeded`);
|
|
1303
1315
|
}
|
|
1304
1316
|
else if (!preRebase.skipped) {
|
|
1305
|
-
stream.
|
|
1317
|
+
stream.operational?.('Rebase skipped (conflicts), proceeding without rebase', 'git');
|
|
1306
1318
|
console.log(`[executor] Task ${task.id}: pre-push rebase had conflicts, proceeding without rebase`);
|
|
1307
1319
|
}
|
|
1308
1320
|
}
|
|
@@ -1326,7 +1338,7 @@ export class TaskExecutor {
|
|
|
1326
1338
|
result.commitBeforeSha = prResult.commitBeforeSha;
|
|
1327
1339
|
result.commitAfterSha = prResult.commitAfterSha;
|
|
1328
1340
|
keepBranch = true;
|
|
1329
|
-
stream.
|
|
1341
|
+
stream.operational?.(`PR created: ${prResult.prUrl}`, 'git');
|
|
1330
1342
|
if (prResult.autoMergeFailed) {
|
|
1331
1343
|
// PR was created but auto-merge failed (likely conflict).
|
|
1332
1344
|
// If the adapter supports session resume, ask the agent to
|
|
@@ -1338,7 +1350,7 @@ export class TaskExecutor {
|
|
|
1338
1350
|
: null;
|
|
1339
1351
|
if (prTaskContext?.sessionId && this.isResumableAdapter(adapter) && hasProjectBranch && prepared.branchName && prepared.baseBranch && prResult.prNumber && prepared.gitRoot) {
|
|
1340
1352
|
for (let attempt = 1; attempt <= MAX_PR_MERGE_ATTEMPTS; attempt++) {
|
|
1341
|
-
stream.
|
|
1353
|
+
stream.operational?.(`Auto-merge failed ā agent resolving conflict (attempt ${attempt})...`, 'git');
|
|
1342
1354
|
console.log(`[executor] Task ${task.id}: PR auto-merge failed (attempt ${attempt}), resuming ${adapter.name} to resolve`);
|
|
1343
1355
|
this.wsClient.sendTaskStatus(task.id, 'running', 97, `PR merge conflict ā agent resolving (attempt ${attempt})...`);
|
|
1344
1356
|
// Resume agent session ā agent rebases and force-pushes.
|
|
@@ -1399,18 +1411,18 @@ export class TaskExecutor {
|
|
|
1399
1411
|
result.deliveryStatus = 'failed';
|
|
1400
1412
|
result.deliveryError = `PR delivery failed: ${prResult.error}`;
|
|
1401
1413
|
keepBranch = prResult.pushed ?? false; // Keep branch if it was pushed
|
|
1402
|
-
stream.
|
|
1414
|
+
stream.operational?.(`PR delivery failed: ${prResult.error}`, 'git');
|
|
1403
1415
|
console.error(`[executor] Task ${task.id}: PR delivery failed: ${prResult.error}`);
|
|
1404
1416
|
}
|
|
1405
1417
|
else {
|
|
1406
|
-
stream.
|
|
1418
|
+
stream.operational?.('No changes to deliver', 'git');
|
|
1407
1419
|
console.log(`[executor] Task ${task.id}: no changes to push`);
|
|
1408
1420
|
}
|
|
1409
1421
|
}
|
|
1410
1422
|
}
|
|
1411
1423
|
catch (prError) {
|
|
1412
1424
|
const prMsg = prError instanceof Error ? prError.message : String(prError);
|
|
1413
|
-
stream.
|
|
1425
|
+
stream.operational?.(`Failed: ${prMsg}`, 'delivery');
|
|
1414
1426
|
console.error(`[executor] Task ${task.id}: delivery (${deliveryMode}) failed: ${prMsg}`);
|
|
1415
1427
|
// Delivery failure ā don't override execution status
|
|
1416
1428
|
result.deliveryStatus = 'failed';
|
|
@@ -1473,7 +1485,7 @@ export class TaskExecutor {
|
|
|
1473
1485
|
// remove the working copy ā the branch lives on remote/local refs,
|
|
1474
1486
|
// and re-execution will create a fresh worktree if needed.
|
|
1475
1487
|
if (prepared.branchName) {
|
|
1476
|
-
stream.
|
|
1488
|
+
stream.operational?.(`Cleaning up worktree (branch: ${prepared.branchName})...`, 'astro');
|
|
1477
1489
|
}
|
|
1478
1490
|
if (this.preserveWorktrees) {
|
|
1479
1491
|
console.log(`[executor] Task ${task.id}: worktree preserved (debug mode)`);
|
|
@@ -1632,7 +1644,7 @@ export class TaskExecutor {
|
|
|
1632
1644
|
projectBranch: task.projectBranch,
|
|
1633
1645
|
stdout: stream.stdout,
|
|
1634
1646
|
stderr: stream.stderr,
|
|
1635
|
-
|
|
1647
|
+
operational: stream.operational,
|
|
1636
1648
|
signal,
|
|
1637
1649
|
});
|
|
1638
1650
|
if (!worktree) {
|