@astroanywhere/agent 0.1.40 → 0.1.42

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.
Files changed (35) hide show
  1. package/dist/commands/start.d.ts.map +1 -1
  2. package/dist/commands/start.js +146 -0
  3. package/dist/commands/start.js.map +1 -1
  4. package/dist/lib/local-merge.d.ts +22 -0
  5. package/dist/lib/local-merge.d.ts.map +1 -0
  6. package/dist/lib/local-merge.js +120 -0
  7. package/dist/lib/local-merge.js.map +1 -0
  8. package/dist/lib/task-executor.d.ts.map +1 -1
  9. package/dist/lib/task-executor.js +34 -2
  10. package/dist/lib/task-executor.js.map +1 -1
  11. package/dist/lib/websocket-client.d.ts +17 -0
  12. package/dist/lib/websocket-client.d.ts.map +1 -1
  13. package/dist/lib/websocket-client.js +49 -0
  14. package/dist/lib/websocket-client.js.map +1 -1
  15. package/dist/lib/workdir-safety.d.ts +5 -0
  16. package/dist/lib/workdir-safety.d.ts.map +1 -1
  17. package/dist/lib/workdir-safety.js +16 -0
  18. package/dist/lib/workdir-safety.js.map +1 -1
  19. package/dist/lib/worktree.d.ts +4 -0
  20. package/dist/lib/worktree.d.ts.map +1 -1
  21. package/dist/lib/worktree.js +94 -38
  22. package/dist/lib/worktree.js.map +1 -1
  23. package/dist/providers/codex-adapter.d.ts.map +1 -1
  24. package/dist/providers/codex-adapter.js +7 -0
  25. package/dist/providers/codex-adapter.js.map +1 -1
  26. package/dist/providers/openclaw-adapter.d.ts +14 -0
  27. package/dist/providers/openclaw-adapter.d.ts.map +1 -1
  28. package/dist/providers/openclaw-adapter.js +111 -3
  29. package/dist/providers/openclaw-adapter.js.map +1 -1
  30. package/dist/providers/opencode-adapter.d.ts.map +1 -1
  31. package/dist/providers/opencode-adapter.js +8 -1
  32. package/dist/providers/opencode-adapter.js.map +1 -1
  33. package/dist/types.d.ts +52 -1
  34. package/dist/types.d.ts.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0BH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoJD,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAs4B5E"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0BH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoJD,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAijC5E"}
@@ -324,6 +324,8 @@ export async function startCommand(options = {}) {
324
324
  // wsClient will be assigned after construction
325
325
  // eslint-disable-next-line prefer-const -- reassigned on line 530 after wsClient creation
326
326
  let taskExecutor;
327
+ // Track in-progress file upload sessions for chunked transfers
328
+ let uploadSessions;
327
329
  const wsClient = new WebSocketClient({
328
330
  runnerId,
329
331
  machineId,
@@ -404,6 +406,150 @@ export async function startCommand(options = {}) {
404
406
  wsClient.sendFileListResponse(correlationId, []);
405
407
  }
406
408
  },
409
+ onFileContent: (path, correlationId) => {
410
+ log('debug', `File content request for path: ${path}`, logLevel);
411
+ try {
412
+ if (!existsSync(path)) {
413
+ wsClient.sendFileContentResponse(correlationId, path, undefined, undefined, undefined, undefined, 'File not found');
414
+ return;
415
+ }
416
+ const stat = statSync(path);
417
+ if (stat.isDirectory()) {
418
+ wsClient.sendFileContentResponse(correlationId, path, undefined, undefined, undefined, undefined, 'Path is a directory');
419
+ return;
420
+ }
421
+ const ext = path.split('.').pop()?.toLowerCase() ?? '';
422
+ const mimeMap = {
423
+ png: 'image/png', jpg: 'image/jpeg', jpeg: 'image/jpeg', gif: 'image/gif',
424
+ webp: 'image/webp', svg: 'image/svg+xml', pdf: 'application/pdf',
425
+ json: 'application/json', xml: 'application/xml',
426
+ html: 'text/html', htm: 'text/html', css: 'text/css',
427
+ js: 'text/javascript', ts: 'text/javascript', tsx: 'text/javascript', jsx: 'text/javascript',
428
+ md: 'text/markdown', txt: 'text/plain', csv: 'text/csv',
429
+ py: 'text/x-python', rb: 'text/x-ruby', go: 'text/x-go',
430
+ rs: 'text/x-rust', java: 'text/x-java', c: 'text/x-c', cpp: 'text/x-c++',
431
+ sh: 'text/x-shellscript', yaml: 'text/yaml', yml: 'text/yaml',
432
+ toml: 'text/toml',
433
+ };
434
+ const mimeType = mimeMap[ext] ?? 'application/octet-stream';
435
+ const textTypes = ['text/', 'application/json', 'application/xml', 'image/svg+xml'];
436
+ const isText = textTypes.some(t => mimeType.startsWith(t));
437
+ const fileBuffer = readFileSync(path);
438
+ const CHUNK_SIZE = 1024 * 1024; // 1MB chunks
439
+ if (fileBuffer.length > CHUNK_SIZE) {
440
+ const encoding = isText ? 'utf-8' : 'base64';
441
+ const fullContent = isText ? fileBuffer.toString('utf-8') : fileBuffer.toString('base64');
442
+ const totalChunks = Math.ceil(fullContent.length / CHUNK_SIZE);
443
+ for (let i = 0; i < totalChunks; i++) {
444
+ const chunk = fullContent.slice(i * CHUNK_SIZE, (i + 1) * CHUNK_SIZE);
445
+ wsClient.sendFileContentResponse(correlationId, path, chunk, encoding, mimeType, fileBuffer.length, undefined, true, i, totalChunks);
446
+ }
447
+ log('debug', `Sent file content for ${path} in ${totalChunks} chunks (${fileBuffer.length} bytes)`, logLevel);
448
+ }
449
+ else {
450
+ const encoding = isText ? 'utf-8' : 'base64';
451
+ const content = isText ? fileBuffer.toString('utf-8') : fileBuffer.toString('base64');
452
+ wsClient.sendFileContentResponse(correlationId, path, content, encoding, mimeType, fileBuffer.length);
453
+ log('debug', `Sent file content for ${path} (${fileBuffer.length} bytes)`, logLevel);
454
+ }
455
+ }
456
+ catch (error) {
457
+ log('warn', `Failed to read file ${path}: ${error instanceof Error ? error.message : String(error)}`, logLevel);
458
+ wsClient.sendFileContentResponse(correlationId, path, undefined, undefined, undefined, undefined, `Failed: ${error instanceof Error ? error.message : String(error)}`);
459
+ }
460
+ },
461
+ onFileUpload: (destinationPath, fileName, size, totalChunks, overwrite, correlationId) => {
462
+ log('debug', `File upload request: ${fileName} -> ${destinationPath} (${size} bytes, ${totalChunks} chunks, overwrite=${overwrite})`, logLevel);
463
+ // Security: reject path traversal
464
+ if (fileName.includes('..') || destinationPath.includes('..')) {
465
+ wsClient.sendFileUploadResponse(correlationId, false, undefined, 'Path traversal not allowed');
466
+ return;
467
+ }
468
+ // Security: reject sensitive paths
469
+ const sensitivePatterns = ['/etc/', '/.ssh/', '/usr/', '/bin/', '/sbin/'];
470
+ const resolvedDest = destinationPath === '~' ? homedir() : destinationPath;
471
+ if (sensitivePatterns.some(p => resolvedDest.includes(p))) {
472
+ wsClient.sendFileUploadResponse(correlationId, false, undefined, 'Upload to sensitive path not allowed');
473
+ return;
474
+ }
475
+ // Size limit: 50MB
476
+ if (size > 50 * 1024 * 1024) {
477
+ wsClient.sendFileUploadResponse(correlationId, false, undefined, 'File too large (max 50MB)');
478
+ return;
479
+ }
480
+ const fullPath = join(resolvedDest, fileName);
481
+ // Check for conflicts
482
+ if (existsSync(fullPath) && !overwrite) {
483
+ wsClient.sendFileUploadResponse(correlationId, false, fullPath, 'File already exists');
484
+ return;
485
+ }
486
+ // Ensure destination directory exists
487
+ try {
488
+ mkdirSync(resolvedDest, { recursive: true });
489
+ }
490
+ catch (err) {
491
+ wsClient.sendFileUploadResponse(correlationId, false, undefined, `Cannot create directory: ${err instanceof Error ? err.message : String(err)}`);
492
+ return;
493
+ }
494
+ // For single-chunk uploads, wait for the chunk to arrive
495
+ // For multi-chunk, store metadata for chunk assembly
496
+ if (!uploadSessions) {
497
+ uploadSessions = new Map();
498
+ }
499
+ uploadSessions.set(correlationId, {
500
+ destinationPath: resolvedDest,
501
+ fileName,
502
+ fullPath,
503
+ totalChunks,
504
+ chunks: new Map(),
505
+ tmpPath: `${fullPath}.tmp.${correlationId.slice(0, 8)}`,
506
+ });
507
+ log('debug', `Upload session created for ${correlationId}: ${fullPath}`, logLevel);
508
+ },
509
+ onFileUploadChunk: (correlationId, chunkIndex, encoding, content) => {
510
+ if (!uploadSessions?.has(correlationId)) {
511
+ log('warn', `Received chunk for unknown upload session: ${correlationId}`, logLevel);
512
+ wsClient.sendFileUploadResponse(correlationId, false, undefined, 'Unknown upload session');
513
+ return;
514
+ }
515
+ const session = uploadSessions.get(correlationId);
516
+ session.chunks.set(chunkIndex, { encoding, content });
517
+ log('debug', `Received chunk ${chunkIndex + 1}/${session.totalChunks} for ${session.fileName}`, logLevel);
518
+ // Check if all chunks received
519
+ if (session.chunks.size >= session.totalChunks) {
520
+ try {
521
+ // Reassemble chunks in order
522
+ const orderedChunks = [];
523
+ for (let i = 0; i < session.totalChunks; i++) {
524
+ const chunk = session.chunks.get(i);
525
+ if (!chunk) {
526
+ throw new Error(`Missing chunk ${i}`);
527
+ }
528
+ orderedChunks.push(chunk.encoding === 'base64'
529
+ ? Buffer.from(chunk.content, 'base64')
530
+ : Buffer.from(chunk.content, 'utf-8'));
531
+ }
532
+ const fullBuffer = Buffer.concat(orderedChunks);
533
+ // Atomic write: write to temp file then rename
534
+ writeFileSync(session.tmpPath, fullBuffer);
535
+ renameSync(session.tmpPath, session.fullPath);
536
+ wsClient.sendFileUploadResponse(correlationId, true, session.fullPath);
537
+ log('debug', `Upload complete: ${session.fullPath} (${fullBuffer.length} bytes)`, logLevel);
538
+ }
539
+ catch (error) {
540
+ // Clean up temp file on error
541
+ try {
542
+ unlinkSync(session.tmpPath);
543
+ }
544
+ catch { /* ignore */ }
545
+ wsClient.sendFileUploadResponse(correlationId, false, undefined, `Write failed: ${error instanceof Error ? error.message : String(error)}`);
546
+ log('warn', `Upload write failed for ${session.fullPath}: ${error instanceof Error ? error.message : String(error)}`, logLevel);
547
+ }
548
+ finally {
549
+ uploadSessions.delete(correlationId);
550
+ }
551
+ }
552
+ },
407
553
  onDirectoryList: (path, correlationId) => {
408
554
  log('debug', `Directory list request for path: ${path || '~'}`, logLevel);
409
555
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Local Merge — squash-merge a task branch into a project branch locally.
3
+ *
4
+ * Used for git repos with no remote (remoteType='none'). Provides the same
5
+ * accumulative branch model as the GitHub PR flow, but using local git
6
+ * merge operations instead of GitHub API calls.
7
+ */
8
+ export interface LocalMergeResult {
9
+ merged: boolean;
10
+ commitSha?: string;
11
+ conflict?: boolean;
12
+ conflictFiles?: string[];
13
+ error?: string;
14
+ }
15
+ /**
16
+ * Squash-merge a task branch into a project branch using a temporary worktree.
17
+ *
18
+ * This never disturbs the user's main checkout or any existing worktrees.
19
+ * A temporary worktree is created for the merge, used, then cleaned up.
20
+ */
21
+ export declare function localMergeIntoProjectBranch(gitRoot: string, taskBranch: string, projectBranch: string, commitMessage: string): Promise<LocalMergeResult>;
22
+ //# sourceMappingURL=local-merge.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Local Merge — squash-merge a task branch into a project branch locally.
3
+ *
4
+ * Used for git repos with no remote (remoteType='none'). Provides the same
5
+ * accumulative branch model as the GitHub PR flow, but using local git
6
+ * merge operations instead of GitHub API calls.
7
+ */
8
+ import { execFile } from 'node:child_process';
9
+ import { promisify } from 'node:util';
10
+ import { randomBytes } from 'node:crypto';
11
+ import { join } from 'node:path';
12
+ import { rm } from 'node:fs/promises';
13
+ const execFileAsync = promisify(execFile);
14
+ function withGitEnv() {
15
+ // LC_ALL=C ensures git outputs English messages regardless of user locale,
16
+ // which is required for reliable string matching (e.g., "nothing to commit").
17
+ return { ...process.env, GIT_TERMINAL_PROMPT: '0', LC_ALL: 'C' };
18
+ }
19
+ /**
20
+ * Squash-merge a task branch into a project branch using a temporary worktree.
21
+ *
22
+ * This never disturbs the user's main checkout or any existing worktrees.
23
+ * A temporary worktree is created for the merge, used, then cleaned up.
24
+ */
25
+ export async function localMergeIntoProjectBranch(gitRoot, taskBranch, projectBranch, commitMessage) {
26
+ // 1. Check if there are actual changes between the branches
27
+ try {
28
+ const { stdout: diff } = await execFileAsync('git', ['-C', gitRoot, 'diff', '--stat', `${projectBranch}...${taskBranch}`], { env: withGitEnv(), timeout: 10_000 });
29
+ if (!diff.trim()) {
30
+ return { merged: false };
31
+ }
32
+ }
33
+ catch {
34
+ // If diff fails (e.g., branch doesn't exist), try the merge anyway
35
+ }
36
+ // 2. Create a temporary worktree for the merge operation
37
+ const suffix = `${Date.now()}-${randomBytes(4).toString('hex')}`;
38
+ const tmpMergeDir = join(gitRoot, '.astro', 'tmp-merge', `merge-${suffix}`);
39
+ try {
40
+ await execFileAsync('git', ['-C', gitRoot, 'worktree', 'add', tmpMergeDir, projectBranch], { env: withGitEnv(), timeout: 15_000 });
41
+ }
42
+ catch (err) {
43
+ const msg = err instanceof Error ? err.message : String(err);
44
+ return { merged: false, error: `Failed to create merge worktree: ${msg}` };
45
+ }
46
+ try {
47
+ // 3. Squash-merge the task branch
48
+ try {
49
+ await execFileAsync('git', ['-C', tmpMergeDir, 'merge', '--squash', taskBranch], { env: withGitEnv(), timeout: 30_000 });
50
+ }
51
+ catch (mergeErr) {
52
+ // Check for merge conflicts
53
+ try {
54
+ const { stdout: status } = await execFileAsync('git', ['-C', tmpMergeDir, 'status', '--porcelain'], { env: withGitEnv(), timeout: 5_000 });
55
+ const conflictFiles = status
56
+ .split('\n')
57
+ .filter((l) => /^(UU|AA|DD|AU|UA|DU|UD)/.test(l))
58
+ .map((l) => l.slice(3).trim());
59
+ if (conflictFiles.length > 0) {
60
+ // Reset the failed squash merge to leave worktree clean before removal.
61
+ // Note: `merge --abort` does NOT work after `merge --squash` because
62
+ // squash merges don't set MERGE_HEAD. `reset --merge` is the correct way.
63
+ try {
64
+ await execFileAsync('git', ['-C', tmpMergeDir, 'reset', '--merge'], { env: withGitEnv(), timeout: 5_000 });
65
+ }
66
+ catch { /* best effort — worktree cleanup handles it anyway */ }
67
+ return { merged: false, conflict: true, conflictFiles };
68
+ }
69
+ }
70
+ catch { /* fall through to generic error */ }
71
+ const msg = mergeErr instanceof Error ? mergeErr.message : String(mergeErr);
72
+ return { merged: false, error: `Merge failed: ${msg}` };
73
+ }
74
+ // 4. Commit the squash merge
75
+ try {
76
+ await execFileAsync('git', ['-C', tmpMergeDir, 'commit', '-m', commitMessage], { env: withGitEnv(), timeout: 10_000 });
77
+ }
78
+ 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
+ const errObj = commitErr;
82
+ const allOutput = [errObj.message, errObj.stdout, errObj.stderr]
83
+ .filter(Boolean).join('\n');
84
+ if (allOutput.includes('nothing to commit') || allOutput.includes('nothing added to commit')) {
85
+ // Identical trees — not an error
86
+ return { merged: false };
87
+ }
88
+ // Real commit failure (pre-commit hook, disk full, etc.)
89
+ const msg = commitErr instanceof Error ? commitErr.message : String(commitErr);
90
+ return { merged: false, error: `Commit failed: ${msg}` };
91
+ }
92
+ // 5. Get the resulting commit SHA
93
+ try {
94
+ const { stdout: sha } = await execFileAsync('git', ['-C', tmpMergeDir, 'rev-parse', 'HEAD'], { env: withGitEnv(), timeout: 5_000 });
95
+ return { merged: true, commitSha: sha.trim() };
96
+ }
97
+ catch (shaErr) {
98
+ const msg = shaErr instanceof Error ? shaErr.message : String(shaErr);
99
+ return { merged: false, error: `Merge committed but failed to capture SHA: ${msg}` };
100
+ }
101
+ }
102
+ finally {
103
+ // 6. Always clean up the temporary merge worktree
104
+ try {
105
+ await execFileAsync('git', ['-C', gitRoot, 'worktree', 'remove', '--force', tmpMergeDir], { env: withGitEnv(), timeout: 10_000 });
106
+ }
107
+ catch {
108
+ // Force-remove if git worktree remove fails
109
+ try {
110
+ await rm(tmpMergeDir, { recursive: true, force: true });
111
+ }
112
+ catch { /* best effort */ }
113
+ try {
114
+ await execFileAsync('git', ['-C', gitRoot, 'worktree', 'prune'], { env: withGitEnv(), timeout: 5_000 });
115
+ }
116
+ catch { /* best effort */ }
117
+ }
118
+ }
119
+ }
120
+ //# sourceMappingURL=local-merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-merge.js","sourceRoot":"","sources":["../../src/lib/local-merge.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":"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"}
1
+ {"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/lib/task-executor.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { SlurmJobMonitor } from './slurm-job-monitor.js';
16
16
  import { createWorktree } from './worktree.js';
17
17
  import { BranchLockManager } from './branch-lock.js';
18
18
  import { pushAndCreatePR } from './git-pr.js';
19
+ import { localMergeIntoProjectBranch } from './local-merge.js';
19
20
  import { checkWorkdirSafety, isGitAvailable, isGitRepo, isUntrackedInParentRepo, createSandbox, WorkdirSafetyTier, } from './workdir-safety.js';
20
21
  const execFileAsync = promisify(execFileCb);
21
22
  export class TaskExecutor {
@@ -936,10 +937,41 @@ export class TaskExecutor {
936
937
  console.log(`[executor] Task ${task.id}: copy mode, worktree preserved at ${prepared.workingDirectory}`);
937
938
  }
938
939
  else if (deliveryMode === 'branch') {
939
- // Auto-commit but don't push branch stays local
940
- console.log(`[executor] Task ${task.id}: branch mode, committing locally`);
940
+ // Branch mode: commit locally, merge into project branch if available
941
941
  result.branchName = prepared.branchName;
942
942
  keepBranch = true;
943
+ if (prepared.gitRoot && prepared.projectBranch && prepared.branchName) {
944
+ // Local merge: squash-merge task branch into project accumulation branch
945
+ this.wsClient.sendTaskStatus(task.id, 'running', 95, 'Merging into project branch...');
946
+ console.log(`[executor] Task ${task.id}: branch mode, merging ${prepared.branchName} → ${prepared.projectBranch}`);
947
+ const mergeResult = await localMergeIntoProjectBranch(prepared.gitRoot, prepared.branchName, prepared.projectBranch, `[${task.shortProjectId ?? 'astro'}/${task.shortNodeId ?? task.id.slice(0, 6)}] ${rawTitle}`);
948
+ if (mergeResult.merged) {
949
+ result.deliveryStatus = 'success';
950
+ result.commitAfterSha = mergeResult.commitSha;
951
+ console.log(`[executor] Task ${task.id}: merged into ${prepared.projectBranch} (${mergeResult.commitSha})`);
952
+ }
953
+ else if (mergeResult.conflict) {
954
+ result.deliveryStatus = 'failed';
955
+ result.deliveryError = `Merge conflict in: ${mergeResult.conflictFiles?.join(', ')}`;
956
+ console.error(`[executor] Task ${task.id}: merge conflict — ${mergeResult.conflictFiles?.join(', ')}`);
957
+ }
958
+ else if (mergeResult.error) {
959
+ result.deliveryStatus = 'failed';
960
+ result.deliveryError = mergeResult.error;
961
+ console.error(`[executor] Task ${task.id}: merge failed — ${mergeResult.error}`);
962
+ }
963
+ else {
964
+ // No changes to merge
965
+ result.deliveryStatus = 'skipped';
966
+ console.log(`[executor] Task ${task.id}: no changes to merge`);
967
+ }
968
+ }
969
+ else if (prepared.projectBranch) {
970
+ console.warn(`[executor] Task ${task.id}: projectBranch=${prepared.projectBranch} but gitRoot=${prepared.gitRoot}, branchName=${prepared.branchName} — skipping local merge`);
971
+ }
972
+ else {
973
+ console.log(`[executor] Task ${task.id}: branch mode, committing locally (no project branch)`);
974
+ }
943
975
  }
944
976
  else if (deliveryMode === 'push') {
945
977
  // Push branch to remote, but don't create a PR — user creates PR manually