@astroanywhere/agent 0.3.3 → 0.3.5

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.
@@ -1,5 +1,13 @@
1
1
  /**
2
- * Git PR utilities for creating pull requests after task execution
2
+ * Git PR utilities for creating pull requests after task execution.
3
+ *
4
+ * GitHub workflow: task branch → PR → project branch (auto-merge).
5
+ * Task branches NEVER create PRs directly to the base branch (main).
6
+ * The only PR to main comes from the "Push to GitHub" task node.
7
+ *
8
+ * When the worktree is gone (agent cleaned it up during execution),
9
+ * git operations fall back to gitRoot (branch refs live in shared store),
10
+ * and gh commands use explicit --repo OWNER/REPO (no local context needed).
3
11
  */
4
12
  export interface PRResult {
5
13
  branchName: string;
@@ -20,24 +28,44 @@ export interface PRResult {
20
28
  */
21
29
  export declare function getDefaultBranch(repoDir: string): Promise<string>;
22
30
  /**
23
- * Check if the current branch has commits ahead of the base branch
31
+ * Check if a branch has commits ahead of the base branch.
32
+ *
33
+ * When called from a worktree, HEAD resolves to the task branch.
34
+ * When called from the git root (worktree cleaned up), pass branchName
35
+ * explicitly so we compare the right ref instead of HEAD.
24
36
  */
25
- export declare function hasBranchCommits(worktreePath: string, baseBranch: string): Promise<boolean>;
37
+ export declare function hasBranchCommits(repoDir: string, baseBranch: string, branchName?: string): Promise<boolean>;
26
38
  /**
27
39
  * Push the branch to origin
28
40
  */
29
- export declare function pushBranch(worktreePath: string, branchName: string): Promise<{
41
+ export declare function pushBranch(repoDir: string, branchName: string): Promise<{
30
42
  ok: boolean;
31
43
  error?: string;
32
44
  }>;
33
45
  /**
34
- * Create a pull request using the `gh` CLI
46
+ * Extract the GitHub repo slug (OWNER/REPO) from a git remote URL.
47
+ * Supports both SSH and HTTPS formats:
48
+ * git@github.com:owner/repo.git → owner/repo
49
+ * https://github.com/owner/repo.git → owner/repo
35
50
  */
36
- export declare function createPullRequest(worktreePath: string, options: {
51
+ export declare function parseRepoSlug(remoteUrl: string): string | null;
52
+ /**
53
+ * Get the GitHub repo slug (OWNER/REPO) from a git directory's origin remote.
54
+ */
55
+ export declare function getRepoSlug(repoDir: string): Promise<string | null>;
56
+ /**
57
+ * Create a pull request using the `gh` CLI.
58
+ *
59
+ * Uses --repo OWNER/REPO when provided so the command doesn't depend on
60
+ * the local git directory being valid (worktree may have been cleaned up).
61
+ */
62
+ export declare function createPullRequest(cwd: string, options: {
37
63
  branchName: string;
38
64
  baseBranch: string;
39
65
  title: string;
40
66
  body: string;
67
+ /** Explicit GitHub repo slug (OWNER/REPO) — avoids local git context resolution */
68
+ repoSlug?: string;
41
69
  }): Promise<{
42
70
  prUrl: string;
43
71
  prNumber: number;
@@ -45,10 +73,15 @@ export declare function createPullRequest(worktreePath: string, options: {
45
73
  /**
46
74
  * Merge a pull request using the `gh` CLI.
47
75
  * Used to auto-merge per-task PRs into the project branch.
76
+ *
77
+ * Uses --repo OWNER/REPO when provided so the command doesn't depend on
78
+ * the local git directory being valid.
48
79
  */
49
- export declare function mergePullRequest(worktreePath: string, prNumber: number, options?: {
80
+ export declare function mergePullRequest(cwd: string, prNumber: number, options?: {
50
81
  method?: 'squash' | 'merge' | 'rebase';
51
82
  deleteBranch?: boolean;
83
+ /** Explicit GitHub repo slug (OWNER/REPO) */
84
+ repoSlug?: string;
52
85
  }): Promise<{
53
86
  ok: boolean;
54
87
  error?: string;
@@ -76,7 +109,21 @@ export declare function getGitRoot(dir: string): Promise<string | null>;
76
109
  */
77
110
  export declare function autoCommitChanges(worktreePath: string, taskTitle: string): Promise<boolean>;
78
111
  /**
79
- * Full PR creation flow: auto-commit + push + create PR, with graceful fallbacks
112
+ * Full PR delivery following the accumulative project branch workflow:
113
+ *
114
+ * task branch → push → PR → auto-merge → project branch
115
+ *
116
+ * When the worktree has been cleaned up (agent removed it during execution):
117
+ * - git operations (push, rev-list) use gitRoot — the task branch lives in
118
+ * the shared git object store, not the worktree directory
119
+ * - gh operations (pr create, pr merge) use --repo OWNER/REPO — explicitly
120
+ * targets the GitHub repo without depending on local filesystem state
121
+ * - auto-commit is skipped (nothing to stage if the worktree is gone)
122
+ *
123
+ * baseBranch MUST be provided by the caller. It is the project branch
124
+ * (e.g., astro/7b19a9), never auto-detected. Task branches must never
125
+ * create PRs directly to the base branch (main) — that's exclusively
126
+ * the "Push to GitHub" node's responsibility.
80
127
  */
81
128
  export declare function pushAndCreatePR(worktreePath: string, options: {
82
129
  branchName: string;
@@ -88,13 +135,15 @@ export declare function pushAndCreatePR(worktreePath: string, options: {
88
135
  autoCommit?: boolean;
89
136
  /** Override the default PR body */
90
137
  body?: string;
91
- /** Target branch for PR base — avoids re-detecting (should match what worktree was created from) */
138
+ /** Target branch for PR base (project branch). Required for PR creation. */
92
139
  baseBranch?: string;
93
- /** If true, auto-merge the PR after creation (squash merge into base branch) */
140
+ /** If true, auto-merge the PR after creation (squash merge into project branch) */
94
141
  autoMerge?: boolean;
95
142
  /** Merge method for auto-merge (default: 'squash') */
96
143
  mergeMethod?: 'squash' | 'merge' | 'rebase';
97
144
  /** Git SHA of the base branch before this task — passed through to PRResult */
98
145
  commitBeforeSha?: string;
146
+ /** Git root directory — used when the worktree has been cleaned up */
147
+ gitRoot?: string;
99
148
  }): Promise<PRResult>;
100
149
  //# 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":"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"}
1
+ {"version":3,"file":"git-pr.d.ts","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  /**
2
- * Git PR utilities for creating pull requests after task execution
2
+ * Git PR utilities for creating pull requests after task execution.
3
+ *
4
+ * GitHub workflow: task branch → PR → project branch (auto-merge).
5
+ * Task branches NEVER create PRs directly to the base branch (main).
6
+ * The only PR to main comes from the "Push to GitHub" task node.
7
+ *
8
+ * When the worktree is gone (agent cleaned it up during execution),
9
+ * git operations fall back to gitRoot (branch refs live in shared store),
10
+ * and gh commands use explicit --repo OWNER/REPO (no local context needed).
3
11
  */
4
12
  import { execFile } from 'node:child_process';
5
13
  import { promisify } from 'node:util';
@@ -41,11 +49,16 @@ export async function getDefaultBranch(repoDir) {
41
49
  return 'main';
42
50
  }
43
51
  /**
44
- * Check if the current branch has commits ahead of the base branch
52
+ * Check if a branch has commits ahead of the base branch.
53
+ *
54
+ * When called from a worktree, HEAD resolves to the task branch.
55
+ * When called from the git root (worktree cleaned up), pass branchName
56
+ * explicitly so we compare the right ref instead of HEAD.
45
57
  */
46
- export async function hasBranchCommits(worktreePath, baseBranch) {
58
+ export async function hasBranchCommits(repoDir, baseBranch, branchName) {
47
59
  try {
48
- const { stdout } = await execFileAsync('git', ['-C', worktreePath, 'rev-list', '--count', `origin/${baseBranch}..HEAD`], { env: withGitEnv(), timeout: 10_000 });
60
+ const headRef = branchName ?? 'HEAD';
61
+ const { stdout } = await execFileAsync('git', ['-C', repoDir, 'rev-list', '--count', `origin/${baseBranch}..${headRef}`], { env: withGitEnv(), timeout: 10_000 });
49
62
  return parseInt(stdout.trim(), 10) > 0;
50
63
  }
51
64
  catch {
@@ -55,17 +68,17 @@ export async function hasBranchCommits(worktreePath, baseBranch) {
55
68
  /**
56
69
  * Push the branch to origin
57
70
  */
58
- export async function pushBranch(worktreePath, branchName) {
71
+ export async function pushBranch(repoDir, branchName) {
59
72
  // Log remote URL for debugging push target
60
73
  try {
61
- const { stdout: remoteUrl } = await execFileAsync('git', ['-C', worktreePath, 'remote', 'get-url', 'origin'], { env: withGitEnv(), timeout: 5_000 });
74
+ const { stdout: remoteUrl } = await execFileAsync('git', ['-C', repoDir, 'remote', 'get-url', 'origin'], { env: withGitEnv(), timeout: 5_000 });
62
75
  console.log(`[git-pr] Pushing branch ${branchName} to origin (${remoteUrl.trim()})`);
63
76
  }
64
77
  catch {
65
- console.warn(`[git-pr] Could not resolve origin URL for ${worktreePath}`);
78
+ console.warn(`[git-pr] Could not resolve origin URL for ${repoDir}`);
66
79
  }
67
80
  try {
68
- const { stdout, stderr } = await execFileAsync('git', ['-C', worktreePath, 'push', '-u', 'origin', branchName], { env: withGitEnv(), timeout: 60_000 });
81
+ const { stdout, stderr } = await execFileAsync('git', ['-C', repoDir, 'push', '-u', 'origin', branchName], { env: withGitEnv(), timeout: 60_000 });
69
82
  if (stderr)
70
83
  console.log(`[git-pr] Push stderr: ${stderr.trim()}`);
71
84
  if (stdout)
@@ -80,17 +93,52 @@ export async function pushBranch(worktreePath, branchName) {
80
93
  }
81
94
  }
82
95
  /**
83
- * Create a pull request using the `gh` CLI
96
+ * Extract the GitHub repo slug (OWNER/REPO) from a git remote URL.
97
+ * Supports both SSH and HTTPS formats:
98
+ * git@github.com:owner/repo.git → owner/repo
99
+ * https://github.com/owner/repo.git → owner/repo
84
100
  */
85
- export async function createPullRequest(worktreePath, options) {
101
+ export function parseRepoSlug(remoteUrl) {
102
+ // Handles both SSH (git@github.com:owner/repo.git)
103
+ // and HTTPS (https://github.com/owner/repo.git) formats.
104
+ // Note: assumes OWNER/REPO (two segments). GitLab subgroups
105
+ // (group/subgroup/repo) will extract only the last two segments.
106
+ const match = remoteUrl.match(/[:/]([^/]+\/[^/]+?)(?:\.git)?$/);
107
+ if (match)
108
+ return match[1];
109
+ return null;
110
+ }
111
+ /**
112
+ * Get the GitHub repo slug (OWNER/REPO) from a git directory's origin remote.
113
+ */
114
+ export async function getRepoSlug(repoDir) {
86
115
  try {
87
- const { stdout } = await execFileAsync('gh', [
116
+ const { stdout } = await execFileAsync('git', ['-C', repoDir, 'remote', 'get-url', 'origin'], { env: withGitEnv(), timeout: 5_000 });
117
+ return parseRepoSlug(stdout.trim());
118
+ }
119
+ catch {
120
+ return null;
121
+ }
122
+ }
123
+ /**
124
+ * Create a pull request using the `gh` CLI.
125
+ *
126
+ * Uses --repo OWNER/REPO when provided so the command doesn't depend on
127
+ * the local git directory being valid (worktree may have been cleaned up).
128
+ */
129
+ export async function createPullRequest(cwd, options) {
130
+ try {
131
+ const args = [
88
132
  'pr', 'create',
89
133
  '--base', options.baseBranch,
90
134
  '--head', options.branchName,
91
135
  '--title', options.title,
92
136
  '--body', options.body,
93
- ], { cwd: worktreePath, env: withGitEnv(), timeout: 30_000 });
137
+ ];
138
+ if (options.repoSlug) {
139
+ args.push('--repo', options.repoSlug);
140
+ }
141
+ const { stdout } = await execFileAsync('gh', args, { cwd, env: withGitEnv(), timeout: 30_000 });
94
142
  const prUrl = stdout.trim();
95
143
  // Extract PR number from URL: https://github.com/user/repo/pull/123
96
144
  const match = prUrl.match(/\/pull\/(\d+)/);
@@ -106,8 +154,11 @@ export async function createPullRequest(worktreePath, options) {
106
154
  /**
107
155
  * Merge a pull request using the `gh` CLI.
108
156
  * Used to auto-merge per-task PRs into the project branch.
157
+ *
158
+ * Uses --repo OWNER/REPO when provided so the command doesn't depend on
159
+ * the local git directory being valid.
109
160
  */
110
- export async function mergePullRequest(worktreePath, prNumber, options) {
161
+ export async function mergePullRequest(cwd, prNumber, options) {
111
162
  const method = options?.method ?? 'squash';
112
163
  const args = [
113
164
  'pr', 'merge', String(prNumber),
@@ -116,9 +167,12 @@ export async function mergePullRequest(worktreePath, prNumber, options) {
116
167
  if (options?.deleteBranch !== false) {
117
168
  args.push('--delete-branch');
118
169
  }
170
+ if (options?.repoSlug) {
171
+ args.push('--repo', options.repoSlug);
172
+ }
119
173
  try {
120
174
  await execFileAsync('gh', args, {
121
- cwd: worktreePath,
175
+ cwd,
122
176
  env: withGitEnv(),
123
177
  timeout: 60_000,
124
178
  });
@@ -224,45 +278,88 @@ async function readBaseBranchFromConfig(gitRoot) {
224
278
  return null;
225
279
  }
226
280
  /**
227
- * Full PR creation flow: auto-commit + push + create PR, with graceful fallbacks
281
+ * Full PR delivery following the accumulative project branch workflow:
282
+ *
283
+ * task branch → push → PR → auto-merge → project branch
284
+ *
285
+ * When the worktree has been cleaned up (agent removed it during execution):
286
+ * - git operations (push, rev-list) use gitRoot — the task branch lives in
287
+ * the shared git object store, not the worktree directory
288
+ * - gh operations (pr create, pr merge) use --repo OWNER/REPO — explicitly
289
+ * targets the GitHub repo without depending on local filesystem state
290
+ * - auto-commit is skipped (nothing to stage if the worktree is gone)
291
+ *
292
+ * baseBranch MUST be provided by the caller. It is the project branch
293
+ * (e.g., astro/7b19a9), never auto-detected. Task branches must never
294
+ * create PRs directly to the base branch (main) — that's exclusively
295
+ * the "Push to GitHub" node's responsibility.
228
296
  */
229
297
  export async function pushAndCreatePR(worktreePath, options) {
230
298
  const result = { branchName: options.branchName };
231
- // Get git root from worktree to find default branch
232
- const gitRoot = await getGitRoot(worktreePath);
299
+ // Resolve git context: worktree if it still exists, gitRoot otherwise.
300
+ // The task branch lives in the shared git object store (all worktrees
301
+ // share one .git), so push/rev-list work from gitRoot even when the
302
+ // worktree directory is gone.
303
+ const worktreeGitRoot = await getGitRoot(worktreePath);
304
+ const gitRoot = worktreeGitRoot ?? options.gitRoot ?? null;
233
305
  if (!gitRoot) {
234
- console.warn(`[git-pr] No git root found for ${worktreePath}, skipping PR`);
306
+ console.warn(`[git-pr] No git root found for ${worktreePath} and no gitRoot provided`);
235
307
  result.error = 'Not a git repository';
236
308
  return result;
237
309
  }
310
+ const worktreeAlive = !!worktreeGitRoot;
311
+ // For git commands: use worktree when available (HEAD = task branch),
312
+ // fall back to gitRoot (need explicit branch name for rev-list).
313
+ const gitDir = worktreeAlive ? worktreePath : gitRoot;
314
+ if (!worktreeAlive) {
315
+ console.log(`[git-pr] Worktree at ${worktreePath} is gone, using gitRoot: ${gitRoot}`);
316
+ }
238
317
  // Check if repo has a remote
239
318
  if (!(await hasRemoteOrigin(gitRoot))) {
240
319
  console.warn(`[git-pr] No remote origin for ${gitRoot}, skipping PR`);
241
320
  result.error = 'No remote origin configured — cannot push';
242
321
  return result;
243
322
  }
244
- // Priority: caller-provided baseBranch > config file > auto-detection
323
+ // Resolve the repo slug for gh commands (OWNER/REPO from remote URL).
324
+ // This makes gh pr create/merge independent of the local filesystem.
325
+ // Only required when we'll actually run gh commands (not skipPR mode).
326
+ const repoSlug = await getRepoSlug(gitRoot);
327
+ if (!repoSlug && !worktreeAlive && !options.skipPR) {
328
+ console.warn(`[git-pr] Cannot resolve repo slug from ${gitRoot} and worktree is gone`);
329
+ result.error = 'Cannot resolve GitHub repo — worktree gone and no repo slug';
330
+ return result;
331
+ }
332
+ // baseBranch: caller-provided (project branch) > config > auto-detect.
333
+ // For the accumulative workflow, the caller should always provide the
334
+ // project branch. Auto-detection is only a fallback for edge cases
335
+ // (e.g., "Push to GitHub" node targeting the default branch).
245
336
  const baseBranch = options.baseBranch ?? await readBaseBranchFromConfig(gitRoot) ?? await getDefaultBranch(gitRoot);
246
- // Auto-commit any uncommitted changes the agent left behind (opt-in, default true)
247
- if (options.autoCommit !== false) {
337
+ // Auto-commit uncommitted changes only when the worktree still exists.
338
+ // When the worktree is gone, there's nothing to stage (agent cleaned it up).
339
+ if (options.autoCommit !== false && worktreeAlive) {
248
340
  await autoCommitChanges(worktreePath, options.taskTitle);
249
341
  }
250
- // Check if there are commits to push
251
- const hasCommits = await hasBranchCommits(worktreePath, baseBranch);
342
+ else if (options.autoCommit !== false && !worktreeAlive) {
343
+ console.log(`[git-pr] Skipping auto-commit worktree at ${worktreePath} no longer exists`);
344
+ }
345
+ // Check if there are commits to push.
346
+ // From gitRoot, HEAD is the main checkout (not the task branch), so we
347
+ // must compare by explicit branch name.
348
+ const hasCommits = await hasBranchCommits(gitDir, baseBranch, worktreeAlive ? undefined : options.branchName);
252
349
  if (!hasCommits) {
253
- console.log(`[git-pr] No commits ahead of ${baseBranch} in ${worktreePath}, skipping PR`);
254
- // Not an error — agent made no changes
350
+ console.log(`[git-pr] No commits ahead of ${baseBranch} for ${options.branchName}`);
255
351
  return result;
256
352
  }
257
353
  console.log(`[git-pr] Branch ${options.branchName} has commits ahead of ${baseBranch}`);
258
- // Push the branch
259
- const pushResult = await pushBranch(worktreePath, options.branchName);
354
+ // Push the task branch to origin.
355
+ // Works from gitRoot because the branch ref lives in the shared store.
356
+ const pushResult = await pushBranch(gitDir, options.branchName);
260
357
  if (!pushResult.ok) {
261
358
  result.error = pushResult.error || 'Failed to push branch';
262
359
  return result;
263
360
  }
264
361
  result.pushed = true;
265
- // Skip PR creation if requested (push-only mode)
362
+ // Skip PR creation if requested (push-only mode, e.g., "Push to GitHub" node)
266
363
  if (options.skipPR) {
267
364
  console.log(`[git-pr] skipPR=true, branch pushed (${options.branchName})`);
268
365
  return result;
@@ -277,11 +374,23 @@ export async function pushAndCreatePR(worktreePath, options) {
277
374
  ?? (options.taskDescription
278
375
  ? `## Task\n\n${options.taskDescription}\n\n---\n*Created by Astro task automation*`
279
376
  : '*Created by Astro task automation*');
280
- const pr = await createPullRequest(worktreePath, {
377
+ // Create PR: task branch → project branch.
378
+ // Uses --repo when available so gh doesn't depend on local git context.
379
+ // Guard: if repoSlug is null (non-standard remote URL) and the worktree
380
+ // was deleted between the initial check and now, gh will fail with a
381
+ // misleading "not a git repository" error. Re-check and fail clearly.
382
+ if (!repoSlug && !(await getGitRoot(worktreePath))) {
383
+ console.warn(`[git-pr] Worktree gone after push and no repo slug — cannot create PR`);
384
+ result.error = 'Cannot resolve GitHub repo — worktree gone and no repo slug';
385
+ return result;
386
+ }
387
+ console.log(`[git-pr] Creating PR: ${options.branchName} → ${baseBranch}${repoSlug ? ` (repo: ${repoSlug})` : ''}`);
388
+ const pr = await createPullRequest(gitDir, {
281
389
  branchName: options.branchName,
282
390
  baseBranch,
283
391
  title: options.taskTitle,
284
392
  body,
393
+ repoSlug: repoSlug ?? undefined,
285
394
  });
286
395
  if (pr) {
287
396
  result.prUrl = pr.prUrl;
@@ -289,9 +398,10 @@ export async function pushAndCreatePR(worktreePath, options) {
289
398
  result.commitBeforeSha = options.commitBeforeSha;
290
399
  // Auto-merge: squash-merge the per-task PR into the project branch
291
400
  if (options.autoMerge && pr.prNumber) {
292
- const mergeResult = await mergePullRequest(worktreePath, pr.prNumber, {
401
+ const mergeResult = await mergePullRequest(gitDir, pr.prNumber, {
293
402
  method: options.mergeMethod ?? 'squash',
294
403
  deleteBranch: true,
404
+ repoSlug: repoSlug ?? undefined,
295
405
  });
296
406
  if (mergeResult.ok) {
297
407
  // Capture the project branch SHA after merge
@@ -1 +1 @@
1
- {"version":3,"file":"git-pr.js","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-pr.js","sourceRoot":"","sources":["../../src/lib/git-pr.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,7 @@ export interface LocalMergeResult {
18
18
  * This never disturbs the user's main checkout or any existing worktrees.
19
19
  * A temporary worktree is created for the merge, used, then cleaned up.
20
20
  */
21
- export declare function localMergeIntoProjectBranch(gitRoot: string, taskBranch: string, projectBranch: string, commitMessage: string): Promise<LocalMergeResult>;
21
+ export declare function localMergeIntoProjectBranch(gitRoot: string, taskBranch: string, projectBranch: string, commitMessage: string,
22
+ /** Optional logging callback for user-visible messages */
23
+ log?: (msg: string) => void): Promise<LocalMergeResult>;
22
24
  //# sourceMappingURL=local-merge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-merge.d.ts","sourceRoot":"","sources":["../../src/lib/local-merge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,gBAAgB,CAAC,CA0H3B"}
1
+ {"version":3,"file":"local-merge.d.ts","sourceRoot":"","sources":["../../src/lib/local-merge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM;AACrB,0DAA0D;AAC1D,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CA+I3B"}
@@ -22,33 +22,47 @@ function withGitEnv() {
22
22
  * This never disturbs the user's main checkout or any existing worktrees.
23
23
  * A temporary worktree is created for the merge, used, then cleaned up.
24
24
  */
25
- export async function localMergeIntoProjectBranch(gitRoot, taskBranch, projectBranch, commitMessage) {
25
+ export async function localMergeIntoProjectBranch(gitRoot, taskBranch, projectBranch, commitMessage,
26
+ /** Optional logging callback for user-visible messages */
27
+ log) {
28
+ const emit = log ?? (() => { });
26
29
  // 1. Check if there are actual changes between the branches
30
+ console.log(`[local-merge] diff --stat ${projectBranch}...${taskBranch} (gitRoot: ${gitRoot})`);
27
31
  try {
28
32
  const { stdout: diff } = await execFileAsync('git', ['-C', gitRoot, 'diff', '--stat', `${projectBranch}...${taskBranch}`], { env: withGitEnv(), timeout: 10_000 });
29
33
  if (!diff.trim()) {
34
+ console.log(`[local-merge] No changes between ${projectBranch} and ${taskBranch}`);
35
+ emit('No changes to merge');
30
36
  return { merged: false };
31
37
  }
38
+ console.log(`[local-merge] Changes detected:\n${diff.trim()}`);
32
39
  }
33
40
  catch {
34
- // If diff fails (e.g., branch doesn't exist), try the merge anyway
41
+ console.warn(`[local-merge] diff failed (branch may not exist yet), proceeding with merge`);
35
42
  }
36
43
  // 2. Create a temporary worktree for the merge operation
37
44
  const suffix = `${Date.now()}-${randomBytes(4).toString('hex')}`;
38
45
  const tmpMergeDir = join(gitRoot, '.astro', 'tmp-merge', `merge-${suffix}`);
46
+ console.log(`[local-merge] worktree add ${tmpMergeDir} ${projectBranch}`);
39
47
  try {
40
48
  await execFileAsync('git', ['-C', gitRoot, 'worktree', 'add', tmpMergeDir, projectBranch], { env: withGitEnv(), timeout: 15_000 });
49
+ console.log(`[local-merge] Merge worktree created at ${tmpMergeDir}`);
41
50
  }
42
51
  catch (err) {
43
52
  const msg = err instanceof Error ? err.message : String(err);
53
+ console.error(`[local-merge] Failed to create merge worktree: ${msg}`);
44
54
  return { merged: false, error: `Failed to create merge worktree: ${msg}` };
45
55
  }
46
56
  try {
47
57
  // 3. Squash-merge the task branch
58
+ console.log(`[local-merge] merge --squash ${taskBranch} (cwd: ${tmpMergeDir})`);
59
+ emit(`Squash-merging ${taskBranch} into ${projectBranch}`);
48
60
  try {
49
61
  await execFileAsync('git', ['-C', tmpMergeDir, 'merge', '--squash', taskBranch], { env: withGitEnv(), timeout: 30_000 });
62
+ console.log(`[local-merge] Squash-merge succeeded`);
50
63
  }
51
64
  catch (mergeErr) {
65
+ console.warn(`[local-merge] Squash-merge failed, checking for conflicts`);
52
66
  // Check for merge conflicts
53
67
  try {
54
68
  const { stdout: status } = await execFileAsync('git', ['-C', tmpMergeDir, 'status', '--porcelain'], { env: withGitEnv(), timeout: 5_000 });
@@ -57,6 +71,8 @@ export async function localMergeIntoProjectBranch(gitRoot, taskBranch, projectBr
57
71
  .filter((l) => /^(UU|AA|DD|AU|UA|DU|UD)/.test(l))
58
72
  .map((l) => l.slice(3).trim());
59
73
  if (conflictFiles.length > 0) {
74
+ console.log(`[local-merge] Conflict in: ${conflictFiles.join(', ')}`);
75
+ emit(`Merge conflict: ${conflictFiles.join(', ')}`);
60
76
  // Reset the failed squash merge to leave worktree clean before removal.
61
77
  // Note: `merge --abort` does NOT work after `merge --squash` because
62
78
  // squash merges don't set MERGE_HEAD. `reset --merge` is the correct way.
@@ -69,43 +85,49 @@ export async function localMergeIntoProjectBranch(gitRoot, taskBranch, projectBr
69
85
  }
70
86
  catch { /* fall through to generic error */ }
71
87
  const msg = mergeErr instanceof Error ? mergeErr.message : String(mergeErr);
88
+ console.error(`[local-merge] Merge failed: ${msg}`);
72
89
  return { merged: false, error: `Merge failed: ${msg}` };
73
90
  }
74
91
  // 4. Commit the squash merge
92
+ console.log(`[local-merge] commit (cwd: ${tmpMergeDir})`);
75
93
  try {
76
94
  await execFileAsync('git', ['-C', tmpMergeDir, 'commit', '-m', commitMessage], { env: withGitEnv(), timeout: 10_000 });
95
+ console.log(`[local-merge] Commit succeeded`);
77
96
  }
78
97
  catch (commitErr) {
79
- // Node's execFile error has .message='Command failed: ...' but the actual
80
- // git output is in .stdout/.stderr on the error object.
81
98
  const errObj = commitErr;
82
99
  const allOutput = [errObj.message, errObj.stdout, errObj.stderr]
83
100
  .filter(Boolean).join('\n');
84
101
  if (allOutput.includes('nothing to commit') || allOutput.includes('nothing added to commit')) {
85
- // Identical trees not an error
102
+ console.log(`[local-merge] Nothing to commit (identical trees)`);
103
+ emit('No changes to merge (identical trees)');
86
104
  return { merged: false };
87
105
  }
88
- // Real commit failure (pre-commit hook, disk full, etc.)
89
106
  const msg = commitErr instanceof Error ? commitErr.message : String(commitErr);
107
+ console.error(`[local-merge] Commit failed: ${msg}`);
90
108
  return { merged: false, error: `Commit failed: ${msg}` };
91
109
  }
92
110
  // 5. Get the resulting commit SHA
93
111
  try {
94
112
  const { stdout: sha } = await execFileAsync('git', ['-C', tmpMergeDir, 'rev-parse', 'HEAD'], { env: withGitEnv(), timeout: 5_000 });
113
+ console.log(`[local-merge] Merge committed: ${sha.trim()}`);
95
114
  return { merged: true, commitSha: sha.trim() };
96
115
  }
97
116
  catch (shaErr) {
98
117
  const msg = shaErr instanceof Error ? shaErr.message : String(shaErr);
118
+ console.error(`[local-merge] Failed to capture SHA: ${msg}`);
99
119
  return { merged: false, error: `Merge committed but failed to capture SHA: ${msg}` };
100
120
  }
101
121
  }
102
122
  finally {
103
123
  // 6. Always clean up the temporary merge worktree
124
+ console.log(`[local-merge] worktree remove ${tmpMergeDir}`);
104
125
  try {
105
126
  await execFileAsync('git', ['-C', gitRoot, 'worktree', 'remove', '--force', tmpMergeDir], { env: withGitEnv(), timeout: 10_000 });
127
+ console.log(`[local-merge] Merge worktree removed`);
106
128
  }
107
129
  catch {
108
- // Force-remove if git worktree remove fails
130
+ console.warn(`[local-merge] worktree remove failed, force-removing`);
109
131
  try {
110
132
  await rm(tmpMergeDir, { recursive: true, force: true });
111
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local-merge.js","sourceRoot":"","sources":["../../src/lib/local-merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-merge.js","sourceRoot":"","sources":["../../src/lib/local-merge.ts"],"names":[],"mappings":"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"}