@astroanywhere/agent 0.1.32 → 0.1.33

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.
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Per-branch async mutex for serializing worktree creation.
3
+ *
4
+ * When multiple tasks share the same branch (same project), they must
5
+ * create worktrees sequentially to avoid "branch already exists" errors.
6
+ * Tasks on different branches run in parallel without contention.
7
+ */
8
+ export interface BranchLockHandle {
9
+ /** Release the lock. Idempotent — safe to call multiple times. */
10
+ release: () => void;
11
+ }
12
+ export declare class BranchLockManager {
13
+ private locks;
14
+ /**
15
+ * Derive a lock key scoped to the **project** level.
16
+ *
17
+ * All tasks in the same project share one lock so they serialize.
18
+ * This is required because each task's auto-merge into the project branch
19
+ * must complete before the next task can branch from the updated tip.
20
+ *
21
+ * Key format: `{canonicalWorkdir}::{shortProjectId}`
22
+ * Fallback: `{canonicalWorkdir}::{taskId}`
23
+ *
24
+ * Uses `realpathSync` to follow symlinks so that the same repo accessed
25
+ * via different paths (e.g., symlink vs real path) shares the same lock.
26
+ * Falls back to `resolve()` if the path doesn't exist yet.
27
+ */
28
+ static computeLockKey(workdir: string, shortProjectId?: string, _shortNodeId?: string, taskId?: string): string;
29
+ /**
30
+ * Acquire the lock for a given key.
31
+ * Resolves immediately if unlocked; queues (FIFO) if another task holds it.
32
+ */
33
+ acquire(key: string, taskId?: string): Promise<BranchLockHandle>;
34
+ /**
35
+ * Release the lock and promote the next waiter (FIFO).
36
+ */
37
+ release(key: string): void;
38
+ /** Check if a key is currently locked. */
39
+ isLocked(key: string): boolean;
40
+ /** Number of tasks waiting (not including the current holder). */
41
+ getQueueLength(key: string): number;
42
+ /** Release all locks and resolve all waiters. Used during cancelAll(). */
43
+ releaseAll(): void;
44
+ private createHandle;
45
+ }
46
+ //# sourceMappingURL=branch-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-lock.d.ts","sourceRoot":"","sources":["../../src/lib/branch-lock.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAUD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAqC;IAElD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM;IAYT;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBhE;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAc1B,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK9B,kEAAkE;IAClE,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKnC,0EAA0E;IAC1E,UAAU,IAAI,IAAI;IAYlB,OAAO,CAAC,YAAY;CAUrB"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Per-branch async mutex for serializing worktree creation.
3
+ *
4
+ * When multiple tasks share the same branch (same project), they must
5
+ * create worktrees sequentially to avoid "branch already exists" errors.
6
+ * Tasks on different branches run in parallel without contention.
7
+ */
8
+ import { resolve } from 'node:path';
9
+ import { realpathSync } from 'node:fs';
10
+ export class BranchLockManager {
11
+ locks = new Map();
12
+ /**
13
+ * Derive a lock key scoped to the **project** level.
14
+ *
15
+ * All tasks in the same project share one lock so they serialize.
16
+ * This is required because each task's auto-merge into the project branch
17
+ * must complete before the next task can branch from the updated tip.
18
+ *
19
+ * Key format: `{canonicalWorkdir}::{shortProjectId}`
20
+ * Fallback: `{canonicalWorkdir}::{taskId}`
21
+ *
22
+ * Uses `realpathSync` to follow symlinks so that the same repo accessed
23
+ * via different paths (e.g., symlink vs real path) shares the same lock.
24
+ * Falls back to `resolve()` if the path doesn't exist yet.
25
+ */
26
+ static computeLockKey(workdir, shortProjectId, _shortNodeId, taskId) {
27
+ let canonicalWorkdir;
28
+ try {
29
+ canonicalWorkdir = realpathSync(workdir);
30
+ }
31
+ catch {
32
+ // Path doesn't exist yet (e.g., worktree not created) — fall back to resolve()
33
+ canonicalWorkdir = resolve(workdir);
34
+ }
35
+ const suffix = shortProjectId ?? taskId ?? 'unknown';
36
+ return `${canonicalWorkdir}::${suffix}`;
37
+ }
38
+ /**
39
+ * Acquire the lock for a given key.
40
+ * Resolves immediately if unlocked; queues (FIFO) if another task holds it.
41
+ */
42
+ acquire(key, taskId) {
43
+ let entry = this.locks.get(key);
44
+ if (!entry) {
45
+ // First acquisition — no contention
46
+ entry = { holder: taskId, queue: [] };
47
+ this.locks.set(key, entry);
48
+ return Promise.resolve(this.createHandle(key));
49
+ }
50
+ if (entry.holder === undefined) {
51
+ // Lock exists but is released — reacquire
52
+ entry.holder = taskId;
53
+ return Promise.resolve(this.createHandle(key));
54
+ }
55
+ // Lock is held — queue the waiter
56
+ return new Promise((resolvePromise) => {
57
+ entry.queue.push({ taskId, resolve: resolvePromise });
58
+ });
59
+ }
60
+ /**
61
+ * Release the lock and promote the next waiter (FIFO).
62
+ */
63
+ release(key) {
64
+ const entry = this.locks.get(key);
65
+ if (!entry)
66
+ return;
67
+ if (entry.queue.length > 0) {
68
+ const next = entry.queue.shift();
69
+ entry.holder = next.taskId;
70
+ next.resolve(this.createHandle(key));
71
+ }
72
+ else {
73
+ // No waiters — clean up
74
+ this.locks.delete(key);
75
+ }
76
+ }
77
+ /** Check if a key is currently locked. */
78
+ isLocked(key) {
79
+ const entry = this.locks.get(key);
80
+ return entry !== undefined && entry.holder !== undefined;
81
+ }
82
+ /** Number of tasks waiting (not including the current holder). */
83
+ getQueueLength(key) {
84
+ const entry = this.locks.get(key);
85
+ return entry?.queue.length ?? 0;
86
+ }
87
+ /** Release all locks and resolve all waiters. Used during cancelAll(). */
88
+ releaseAll() {
89
+ for (const [key, entry] of this.locks) {
90
+ // Resolve all queued waiters so their promises don't leak
91
+ for (const waiter of entry.queue) {
92
+ waiter.resolve(this.createHandle(key));
93
+ }
94
+ entry.queue = [];
95
+ entry.holder = undefined;
96
+ }
97
+ this.locks.clear();
98
+ }
99
+ createHandle(key) {
100
+ let released = false;
101
+ return {
102
+ release: () => {
103
+ if (released)
104
+ return; // idempotent
105
+ released = true;
106
+ this.release(key);
107
+ },
108
+ };
109
+ }
110
+ }
111
+ //# sourceMappingURL=branch-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-lock.js","sourceRoot":"","sources":["../../src/lib/branch-lock.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,14 @@ export interface PRResult {
6
6
  pushed?: boolean;
7
7
  prUrl?: string;
8
8
  prNumber?: number;
9
+ /** Git SHA of the base branch before this PR was merged */
10
+ commitBeforeSha?: string;
11
+ /** Git SHA of the base branch after this PR was merged */
12
+ commitAfterSha?: string;
9
13
  /** Error message if any step of the delivery pipeline failed */
10
14
  error?: string;
15
+ /** Whether auto-merge was attempted and failed (PR created but not merged) */
16
+ autoMergeFailed?: boolean;
11
17
  }
12
18
  /**
13
19
  * Detect the default branch (main/master) for the repo
@@ -36,6 +42,22 @@ export declare function createPullRequest(worktreePath: string, options: {
36
42
  prUrl: string;
37
43
  prNumber: number;
38
44
  } | null>;
45
+ /**
46
+ * Merge a pull request using the `gh` CLI.
47
+ * Used to auto-merge per-task PRs into the project branch.
48
+ */
49
+ export declare function mergePullRequest(worktreePath: string, prNumber: number, options?: {
50
+ method?: 'squash' | 'merge' | 'rebase';
51
+ deleteBranch?: boolean;
52
+ }): Promise<{
53
+ ok: boolean;
54
+ error?: string;
55
+ }>;
56
+ /**
57
+ * Get the current SHA of a remote branch.
58
+ * Fetches first to ensure we have the latest.
59
+ */
60
+ export declare function getRemoteBranchSha(repoDir: string, branchName: string): Promise<string | undefined>;
39
61
  /**
40
62
  * Check if `gh` CLI is available and authenticated
41
63
  */
@@ -68,5 +90,11 @@ export declare function pushAndCreatePR(worktreePath: string, options: {
68
90
  body?: string;
69
91
  /** Target branch for PR base — avoids re-detecting (should match what worktree was created from) */
70
92
  baseBranch?: string;
93
+ /** If true, auto-merge the PR after creation (squash merge into base branch) */
94
+ autoMerge?: boolean;
95
+ /** Merge method for auto-merge (default: 'squash') */
96
+ mergeMethod?: 'squash' | 'merge' | 'rebase';
97
+ /** Git SHA of the base branch before this task — passed through to PRResult */
98
+ commitBeforeSha?: string;
71
99
  }): Promise<PRResult>;
72
100
  //# sourceMappingURL=git-pr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-pr.d.ts","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"AAAA;;GAEG;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,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BvE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B1C;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GACA,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAyBrD;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;;GAEG;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,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,QAAQ,CAAC,CA4EnB"}
1
+ {"version":3,"file":"git-pr.d.ts","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"AAAA;;GAEG;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;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B1C;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GACA,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAyBrD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB1C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;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;;GAEG;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,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,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;CAC1B,GACA,OAAO,CAAC,QAAQ,CAAC,CAgGnB"}
@@ -103,6 +103,48 @@ export async function createPullRequest(worktreePath, options) {
103
103
  return null;
104
104
  }
105
105
  }
106
+ /**
107
+ * Merge a pull request using the `gh` CLI.
108
+ * Used to auto-merge per-task PRs into the project branch.
109
+ */
110
+ export async function mergePullRequest(worktreePath, prNumber, options) {
111
+ const method = options?.method ?? 'squash';
112
+ const args = [
113
+ 'pr', 'merge', String(prNumber),
114
+ `--${method}`,
115
+ ];
116
+ if (options?.deleteBranch !== false) {
117
+ args.push('--delete-branch');
118
+ }
119
+ try {
120
+ await execFileAsync('gh', args, {
121
+ cwd: worktreePath,
122
+ env: withGitEnv(),
123
+ timeout: 60_000,
124
+ });
125
+ console.log(`[git-pr] Merged PR #${prNumber} via ${method}`);
126
+ return { ok: true };
127
+ }
128
+ catch (err) {
129
+ const msg = err instanceof Error ? err.message : String(err);
130
+ console.error(`[git-pr] Failed to merge PR #${prNumber}: ${msg}`);
131
+ return { ok: false, error: `Failed to merge PR: ${msg}` };
132
+ }
133
+ }
134
+ /**
135
+ * Get the current SHA of a remote branch.
136
+ * Fetches first to ensure we have the latest.
137
+ */
138
+ export async function getRemoteBranchSha(repoDir, branchName) {
139
+ try {
140
+ await execFileAsync('git', ['-C', repoDir, 'fetch', 'origin', branchName], { env: withGitEnv(), timeout: 30_000 });
141
+ const { stdout } = await execFileAsync('git', ['-C', repoDir, 'rev-parse', `origin/${branchName}`], { env: withGitEnv(), timeout: 5_000 });
142
+ return stdout.trim() || undefined;
143
+ }
144
+ catch {
145
+ return undefined;
146
+ }
147
+ }
106
148
  /**
107
149
  * Check if `gh` CLI is available and authenticated
108
150
  */
@@ -244,6 +286,26 @@ export async function pushAndCreatePR(worktreePath, options) {
244
286
  if (pr) {
245
287
  result.prUrl = pr.prUrl;
246
288
  result.prNumber = pr.prNumber;
289
+ result.commitBeforeSha = options.commitBeforeSha;
290
+ // Auto-merge: squash-merge the per-task PR into the project branch
291
+ if (options.autoMerge && pr.prNumber) {
292
+ const mergeResult = await mergePullRequest(worktreePath, pr.prNumber, {
293
+ method: options.mergeMethod ?? 'squash',
294
+ deleteBranch: true,
295
+ });
296
+ if (mergeResult.ok) {
297
+ // Capture the project branch SHA after merge
298
+ result.commitAfterSha = await getRemoteBranchSha(gitRoot, baseBranch);
299
+ if (!result.commitAfterSha) {
300
+ console.warn(`[git-pr] Failed to capture commitAfterSha after merge of PR #${pr.prNumber}`);
301
+ }
302
+ console.log(`[git-pr] Auto-merged PR #${pr.prNumber}, commitAfterSha=${result.commitAfterSha}`);
303
+ }
304
+ else {
305
+ console.warn(`[git-pr] Auto-merge failed for PR #${pr.prNumber}: ${mergeResult.error}`);
306
+ result.autoMergeFailed = true;
307
+ }
308
+ }
247
309
  }
248
310
  else {
249
311
  result.error = 'PR creation failed (gh pr create returned an error)';
@@ -1 +1 @@
1
- {"version":3,"file":"git-pr.js","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"AAAA;;GAEG;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;AAWD;;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;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAAoB,EACpB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,UAAU,QAAQ,CAAC,EACzE,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,YAAoB,EACpB,UAAkB;IAElB,2CAA2C;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAC/C,KAAK,EACL,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EACnD,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,YAAY,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAC5C,KAAK,EACL,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EACxD,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;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,YAAoB,EACpB,OAKC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,IAAI,EACJ;YACE,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,EACD,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAC1D,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;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,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;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAAoB,EACpB,OAYC;IAED,MAAM,MAAM,GAAa,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IAE5D,oDAAoD;IACpD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,YAAY,eAAe,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,GAAG,sBAAsB,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,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,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,wBAAwB,CAAC,OAAO,CAAC,IAAI,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEpH,mFAAmF;IACnF,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,OAAO,YAAY,eAAe,CAAC,CAAC;QAC1F,uCAAuC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,UAAU,yBAAyB,UAAU,EAAE,CAAC,CAAC;IAExF,kBAAkB;IAClB,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACtE,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,iDAAiD;IACjD,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,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE;QAC/C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU;QACV,KAAK,EAAE,OAAO,CAAC,SAAS;QACxB,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,GAAG,qDAAqD,CAAC;IACvE,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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"}
@@ -79,16 +79,16 @@ export function buildPlanSystemPrompt(visionDoc, repoContext) {
79
79
  if (repoContext.packageInfo) {
80
80
  parts.push(`## Package Metadata\n<user_content>\n${repoContext.packageInfo}\n</user_content>`);
81
81
  }
82
- if (repoContext.fileTreeSummary) {
83
- parts.push(`## File Tree\n<user_content>\n${repoContext.fileTreeSummary}\n</user_content>`);
84
- }
82
+ // NOTE: fileTreeSummary is intentionally NOT included in the prompt.
83
+ // The file tree is used for file path autocompletion only, not injected
84
+ // into the context window to save tokens and reduce noise.
85
85
  if (parts.length > 0) {
86
86
  repoSection = '\n\n' + parts.join('\n\n') + '\n';
87
87
  }
88
88
  }
89
89
  const hasRepo = repoSection.length > 0;
90
90
  const outputInstructions = hasRepo
91
- ? `You are a project planning assistant with access to the repository. The key files and file tree are provided above.
91
+ ? `You are a project planning assistant with access to the repository. The key files are provided above.
92
92
  You may use tools (Read, Glob, Grep) to explore the codebase for additional context before generating the plan.
93
93
  When you are done exploring, output your final plan as a single JSON object.
94
94
  Your FINAL message must contain ONLY the JSON object — no prose before or after.
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-templates.js","sourceRoot":"","sources":["../../src/lib/prompt-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-templates.js","sourceRoot":"","sources":["../../src/lib/prompt-templates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"repo-context.d.ts","sourceRoot":"","sources":["../../src/lib/repo-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAeD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAmChG"}
1
+ {"version":3,"file":"repo-context.d.ts","sourceRoot":"","sources":["../../src/lib/repo-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgFH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAeD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAmChG"}
@@ -8,7 +8,74 @@ import { readFileSync, existsSync } from 'node:fs';
8
8
  import { join } from 'node:path';
9
9
  const FILE_CAP = 15_000; // 15KB cap for CLAUDE.md and README
10
10
  const PKG_CAP = 5_000; // 5KB cap for package metadata
11
- const FILE_TREE_CAP = 200; // max files to show in tree summary
11
+ const FILE_TREE_CAP = 3000; // max files to show in tree summary
12
+ /** File extensions to deprioritize (config, generated, non-source) */
13
+ const LOW_PRIORITY_PATTERNS = [
14
+ /\.lock$/,
15
+ /-lock\./, // package-lock.json, etc.
16
+ /\.min\.[jt]sx?$/,
17
+ /\.d\.ts$/,
18
+ /\.map$/,
19
+ /\.snap$/,
20
+ /\.svg$/,
21
+ /\.png$/,
22
+ /\.jpg$/,
23
+ /\.jpeg$/,
24
+ /\.gif$/,
25
+ /\.ico$/,
26
+ /\.woff2?$/,
27
+ /\.ttf$/,
28
+ /\.eot$/,
29
+ /\.pdf$/,
30
+ /^\./, // dotfiles
31
+ ];
32
+ /** Directories to deprioritize (matches anywhere in path, including nested) */
33
+ const LOW_PRIORITY_DIRS = [
34
+ /(?:^|\/)node_modules\//,
35
+ /(?:^|\/)\.git\//,
36
+ /(?:^|\/)dist\//,
37
+ /(?:^|\/)build\//,
38
+ /(?:^|\/)\.next\//,
39
+ /(?:^|\/)coverage\//,
40
+ /(?:^|\/)__pycache__\//,
41
+ /\.egg-info\//,
42
+ /(?:^|\/)vendor\//,
43
+ ];
44
+ function isLowPriority(filePath) {
45
+ if (LOW_PRIORITY_DIRS.some(p => p.test(filePath)))
46
+ return true;
47
+ // Treat any file inside a dot-directory (e.g. .github/, .vscode/) as low priority
48
+ const segments = filePath.split('/');
49
+ if (segments.some(seg => seg.length > 1 && seg[0] === '.' && seg !== '..'))
50
+ return true;
51
+ const basename = filePath.split('/').pop() ?? filePath;
52
+ if (LOW_PRIORITY_PATTERNS.some(p => p.test(basename)))
53
+ return true;
54
+ return false;
55
+ }
56
+ /**
57
+ * Sort files: source files first, config/generated last.
58
+ * Within each group, preserve original order (usually alphabetical from git ls-files).
59
+ * Optimized to avoid unnecessary allocations when result will be truncated.
60
+ */
61
+ function smartSortFiles(files) {
62
+ const high = [];
63
+ const low = [];
64
+ for (const f of files) {
65
+ if (isLowPriority(f)) {
66
+ low.push(f);
67
+ }
68
+ else {
69
+ high.push(f);
70
+ }
71
+ }
72
+ // If we have more high-priority files than the cap, return only those
73
+ if (high.length >= FILE_TREE_CAP) {
74
+ return high.slice(0, FILE_TREE_CAP);
75
+ }
76
+ // Otherwise, return all high-priority files + low-priority files up to cap
77
+ return [...high, ...low.slice(0, FILE_TREE_CAP - high.length)];
78
+ }
12
79
  function readFileCapped(path, cap) {
13
80
  if (!existsSync(path))
14
81
  return undefined;
@@ -47,10 +114,10 @@ export function readRepoContext(workingDirectory, fileTree) {
47
114
  }
48
115
  }
49
116
  }
50
- // Format file tree summary
117
+ // Format file tree summary with smart filtering
51
118
  if (fileTree && fileTree.length > 0) {
52
119
  const total = fileTree.length;
53
- const shown = fileTree.slice(0, FILE_TREE_CAP);
120
+ const shown = smartSortFiles(fileTree);
54
121
  const lines = shown.join('\n');
55
122
  result.fileTreeSummary = total > FILE_TREE_CAP
56
123
  ? `${lines}\n\n... and ${total - FILE_TREE_CAP} more files (${total} total)`
@@ -1 +1 @@
1
- {"version":3,"file":"repo-context.js","sourceRoot":"","sources":["../../src/lib/repo-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,QAAQ,GAAG,MAAM,CAAA,CAAC,oCAAoC;AAC5D,MAAM,OAAO,GAAG,KAAK,CAAA,CAAG,+BAA+B;AACvD,MAAM,aAAa,GAAG,GAAG,CAAA,CAAC,oCAAoC;AAS9D,SAAS,cAAc,CAAC,IAAY,EAAE,GAAW;IAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,yBAAyB,CAAA;QAC1D,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,gBAAwB,EAAE,QAAmB;IAC3E,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,6DAA6D;IAC7D,IAAI,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrD,iBAAiB;QACjB,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;QAE/E,kCAAkC;QAClC,MAAM,CAAC,QAAQ;YACb,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC;gBAC7D,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;QAE/D,oCAAoC;QACpC,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC/E,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;YACpE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,WAAW,GAAG,KAAK,GAAG,KAAK,OAAO,EAAE,CAAA;gBAC3C,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,CAAC,eAAe,GAAG,KAAK,GAAG,aAAa;YAC5C,CAAC,CAAC,GAAG,KAAK,eAAe,KAAK,GAAG,aAAa,gBAAgB,KAAK,SAAS;YAC5E,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"repo-context.js","sourceRoot":"","sources":["../../src/lib/repo-context.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ export declare class TaskExecutor {
34
34
  private maxSandboxSize;
35
35
  private gitAvailable;
36
36
  private hpcCapability;
37
+ private branchLockManager;
37
38
  private tasksByDirectory;
38
39
  private pendingSafetyChecks;
39
40
  constructor(options: TaskExecutorOptions);
@@ -118,6 +119,11 @@ export declare class TaskExecutor {
118
119
  * Get count of active tasks in a directory
119
120
  */
120
121
  private getActiveTasksInDirectory;
122
+ /**
123
+ * Determine whether a task will create a git worktree.
124
+ * Used to decide if the branch lock should be acquired.
125
+ */
126
+ private taskWillCreateWorktree;
121
127
  private executeTask;
122
128
  private prepareTaskWorkspace;
123
129
  private getAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/lib/task-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAA4B,aAAa,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA8B7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,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;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,cAAc,CAAS;IAC/B,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;IAG5C,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,mBAAmB,CAA8C;gBAE7D,OAAO,EAAE,mBAAmB;IAsBxC;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA2E3C;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GACtD,OAAO,CAAC,IAAI,CAAC;IAWhB;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAuBnC;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiErE;;OAEG;IACH,aAAa,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAOpD;;OAEG;IACH,SAAS,IAAI,IAAI;IA0BjB;;OAEG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMxC;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BpH;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;OAGG;YACW,mBAAmB;IA2EjC;;OAEG;YACW,kBAAkB;IAKhC;;OAEG;YACW,qBAAqB;IA8FnC;;;OAGG;YACW,aAAa;IAwB3B;;OAEG;YACW,cAAc;IAY5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,yBAAyB;YAKnB,WAAW;YAwVX,oBAAoB;YA8FpB,UAAU;IA6BxB,OAAO,CAAC,YAAY;CAUrB"}
1
+ {"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/lib/task-executor.ts"],"names":[],"mappings":"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"}