baxian 1.2.56 → 1.2.57

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.
@@ -4,6 +4,7 @@ export declare const NET_EXEC_TIMEOUT_MS = 60000;
4
4
  export declare const GH_EXEC_TIMEOUT_MS = 30000;
5
5
  export declare const CLONE_EXEC_TIMEOUT_MS = 600000;
6
6
  export declare function isTransientNetworkFailure(text: string): boolean;
7
+ export declare function execOutcomeUnknown(result: Pick<ExecResult, 'exitCode' | 'stdout' | 'stderr'>): boolean;
7
8
  export interface NetExecOptions {
8
9
  timeout?: number;
9
10
  retries?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"net-exec.d.ts","sourceRoot":"","sources":["../../src/agent/net-exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI7D,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAqC7C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAQD,wBAAgB,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAElF;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,UAAU,CAAC,CAyBrB"}
1
+ {"version":3,"file":"net-exec.d.ts","sourceRoot":"","sources":["../../src/agent/net-exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI7D,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAqC7C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/D;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG,OAAO,CAItG;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAQD,wBAAgB,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAElF;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,UAAU,CAAC,CAyBrB"}
@@ -43,6 +43,12 @@ export function isTransientNetworkFailure(text) {
43
43
  return false;
44
44
  return TRANSIENT_PATTERNS.some((p) => p.test(text));
45
45
  }
46
+ // exit 255 or transient noise on either stream: the command's outcome is unknown, not negative.
47
+ export function execOutcomeUnknown(result) {
48
+ return result.exitCode === 255
49
+ || isTransientNetworkFailure(result.stderr)
50
+ || isTransientNetworkFailure(result.stdout);
51
+ }
46
52
  function defaultSleep(ms) {
47
53
  return new Promise((resolve) => setTimeout(resolve, ms));
48
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"net-exec.js","sourceRoot":"","sources":["../../src/agent/net-exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"net-exec.js","sourceRoot":"","sources":["../../src/agent/net-exec.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,16 @@ export interface RepoStoreCache {
8
8
  }
9
9
  export declare function createRepoStoreCache(): RepoStoreCache;
10
10
  export declare function ensureBaxianRuntimeDirsSafe(runner: CommandRunner, absRepoPath: string): Promise<void>;
11
+ export declare function isUnder(root: string, path: string): boolean;
12
+ export declare function ancestorSymlinkGuard(root: string, target: string): string;
13
+ export declare function guardedRemoveClause(root: string, target: string, opts?: {
14
+ recursive?: boolean;
15
+ }): string;
16
+ export declare function sweepStrayFile(runner: CommandRunner, path: string, guardClause?: string): Promise<void>;
17
+ export declare function stageFileGuarded(runner: CommandRunner, root: string, tmp: string, content: Buffer | string): Promise<void>;
18
+ export declare function moveFileIntoPlace(runner: CommandRunner, tmp: string, final: string, opts?: {
19
+ guardRoot?: string;
20
+ }): Promise<void>;
11
21
  export declare class RepoStore {
12
22
  private runner;
13
23
  private mode;
@@ -25,12 +35,16 @@ export declare class RepoStore {
25
35
  private resolveAbsPath;
26
36
  private resolveHome;
27
37
  private cloneIfNeeded;
38
+ private probe;
28
39
  private validateClone;
29
40
  private ensureBaxianExcluded;
30
41
  private syncMatchingOriginUrl;
31
42
  private syncOriginUrl;
32
43
  private originMatches;
33
- private removeCloneRemnant;
44
+ private probeDirExists;
45
+ private discardStaging;
46
+ private promoteStaging;
47
+ private recoverEmptyLeftoverDir;
34
48
  private fetchIfStale;
35
49
  private runUnderMutex;
36
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repo-store.d.ts","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAWD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,qBAAa,SAAS;IAKlB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,iBAAiB,CAAC;IAV5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAGpB,MAAM,EAAE,aAAa,EAC7B,IAAI,EAAE,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,YAAA;IAM9B,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBzB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,cAAc;YAMR,cAAc;YAoBd,WAAW;YA4BX,aAAa;YA+Db,aAAa;YA0Cb,oBAAoB;YAapB,qBAAqB;YAiBrB,aAAa;IAiB3B,OAAO,CAAC,aAAa;YAWP,kBAAkB;YAIlB,YAAY;YAeZ,aAAa;CAU5B;AAkBD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjE"}
1
+ {"version":3,"file":"repo-store.d.ts","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAWD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAMD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAazE;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAG5G;AAGD,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7G;AAUD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAGD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED,qBAAa,SAAS;IAKlB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,iBAAiB,CAAC;IAV5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAGpB,MAAM,EAAE,aAAa,EAC7B,IAAI,EAAE,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,YAAA;IAM9B,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBzB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,cAAc;YAMR,cAAc;YAoBd,WAAW;YA4BX,aAAa;YAyEb,KAAK;YAUL,aAAa;YA8Cb,oBAAoB;YAapB,qBAAqB;YAkBrB,aAAa;IAwB3B,OAAO,CAAC,aAAa;YAUP,cAAc;YAUd,cAAc;YAgBd,cAAc;YAgCd,uBAAuB;YAUvB,YAAY;YAeZ,aAAa;CAU5B;AAkBD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjE"}
@@ -1,6 +1,7 @@
1
+ import { randomUUID } from 'node:crypto';
1
2
  import { homedir } from 'node:os';
2
3
  import { shellQuote, hostGroupKey, workdirHostGroupKey } from './runner.js';
3
- import { CLONE_EXEC_TIMEOUT_MS, GIT_NET_ENV, execNetwork } from './net-exec.js';
4
+ import { CLONE_EXEC_TIMEOUT_MS, GIT_NET_ENV, execNetwork, execOutcomeUnknown } from './net-exec.js';
4
5
  import { isGitHubRepo, normalizeRepoUrl, parseGitRemote, redactGitCredentials, repoSlug } from '../shared/index.js';
5
6
  export function createRepoStoreCache() {
6
7
  return { homes: new Map(), mutex: new Map(), lastFetchAt: new Map(), owners: new Map() };
@@ -34,6 +35,110 @@ export async function ensureBaxianRuntimeDirsSafe(runner, absRepoPath) {
34
35
  `baxian requires real directories contained in the Workdir.`);
35
36
  }
36
37
  }
38
+ function normalizeRoot(root) {
39
+ return root.replace(/\/+$/, '');
40
+ }
41
+ export function isUnder(root, path) {
42
+ return path.startsWith(`${normalizeRoot(root)}/`);
43
+ }
44
+ // One [ ! -L ] per component — root included — glued onto the destructive command itself.
45
+ export function ancestorSymlinkGuard(root, target) {
46
+ const rootClean = normalizeRoot(root);
47
+ if (!isUnder(root, target)) {
48
+ throw new Error(`ancestorSymlinkGuard: ${target} is not under ${rootClean}`);
49
+ }
50
+ const parts = target.slice(rootClean.length + 1).split('/').filter(Boolean);
51
+ const checks = [`[ ! -L ${shellQuote(rootClean)} ]`, `[ -d ${shellQuote(rootClean)} ]`];
52
+ let cur = rootClean;
53
+ for (const part of parts) {
54
+ cur = `${cur}/${part}`;
55
+ checks.push(`[ ! -L ${shellQuote(cur)} ]`);
56
+ }
57
+ return checks.join(' && ');
58
+ }
59
+ // The guard/op/quoting composition for destructive removes lives here once.
60
+ export function guardedRemoveClause(root, target, opts = {}) {
61
+ const rm = opts.recursive ? 'rm -rf' : 'rm -f';
62
+ return `${ancestorSymlinkGuard(root, target)} && ${rm} -- ${shellQuote(target)}`;
63
+ }
64
+ // A failure sweep must never out-reach the write it cleans after — skip (leak a tmp) over crossing a rebound ancestor.
65
+ export async function sweepStrayFile(runner, path, guardClause) {
66
+ const cmd = guardClause
67
+ ? `if ${guardClause}; then rm -f -- ${shellQuote(path)}; fi`
68
+ : `rm -f -- ${shellQuote(path)}`;
69
+ try {
70
+ const rm = await runner.exec(cmd);
71
+ if (rm.exitCode !== 0) {
72
+ console.warn(`[fs] failed to remove stray tmp ${path}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
73
+ }
74
+ }
75
+ catch (err) {
76
+ console.warn(`[fs] failed to remove stray tmp ${path}:`, err);
77
+ }
78
+ }
79
+ function nestedSweepGuard(final, guardRoot) {
80
+ const finalIsRealDir = `[ -d ${shellQuote(final)} ] && [ ! -L ${shellQuote(final)} ]`;
81
+ return guardRoot ? `${ancestorSymlinkGuard(guardRoot, final)} && ${finalIsRealDir}` : finalIsRealDir;
82
+ }
83
+ // The path guard and the write share one command — a rebound ancestor never even
84
+ // receives staging bytes. mkdir -p may create missing components the guard just
85
+ // cleared as not-yet-existing (runner.writeFile used to do this implicitly).
86
+ export async function stageFileGuarded(runner, root, tmp, content) {
87
+ const buf = typeof content === 'string' ? Buffer.from(content, 'utf8') : content;
88
+ const guard = ancestorSymlinkGuard(root, tmp);
89
+ const dir = tmp.slice(0, tmp.lastIndexOf('/'));
90
+ const cmd = `${guard} && mkdir -p ${shellQuote(dir)} && cat > ${shellQuote(tmp)}`;
91
+ let res;
92
+ try {
93
+ res = await runner.execWithStdin(cmd, buf);
94
+ }
95
+ catch (err) {
96
+ await sweepStrayFile(runner, tmp, guard);
97
+ throw new Error(`staged write of ${tmp} failed (exec layer): ${err instanceof Error ? err.message : String(err)}`);
98
+ }
99
+ if (res.exitCode !== 0) {
100
+ await sweepStrayFile(runner, tmp, guard);
101
+ throw new Error(`staged write of ${tmp} failed (exit ${res.exitCode}): ${res.stderr.trim() || 'symlink-free path required'}`);
102
+ }
103
+ }
104
+ // mv onto a directory target nests instead of replacing: fail closed ahead, verify after, sweep both tmp homes on failure.
105
+ export async function moveFileIntoPlace(runner, tmp, final, opts = {}) {
106
+ const tmpBase = tmp.slice(tmp.lastIndexOf('/') + 1);
107
+ const clauses = [
108
+ ...(opts.guardRoot ? [ancestorSymlinkGuard(opts.guardRoot, final)] : []),
109
+ `[ ! -d ${shellQuote(final)} ]`,
110
+ `mv -f -- ${shellQuote(tmp)} ${shellQuote(final)}`,
111
+ `[ -f ${shellQuote(final)} ]`,
112
+ ];
113
+ const guardCovers = (p) => opts.guardRoot !== undefined && isUnder(opts.guardRoot, p);
114
+ const tmpGuard = guardCovers(tmp) ? ancestorSymlinkGuard(opts.guardRoot, tmp) : undefined;
115
+ const nestedGuard = nestedSweepGuard(final, guardCovers(final) ? opts.guardRoot : undefined);
116
+ const nested = `${final}/${tmpBase}`;
117
+ const sweepBoth = async () => {
118
+ const step = (p, guard) => guard ? `if ${guard}; then rm -f -- ${shellQuote(p)}; fi` : `rm -f -- ${shellQuote(p)}`;
119
+ try {
120
+ const rm = await runner.exec(`${step(tmp, tmpGuard)}; ${step(nested, nestedGuard)}`);
121
+ if (rm.exitCode !== 0) {
122
+ console.warn(`[fs] failed to remove stray tmp ${tmp} / ${nested}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
123
+ }
124
+ }
125
+ catch (err) {
126
+ console.warn(`[fs] failed to remove stray tmp ${tmp} / ${nested}:`, err);
127
+ }
128
+ };
129
+ let res;
130
+ try {
131
+ res = await runner.exec(clauses.join(' && '));
132
+ }
133
+ catch (err) {
134
+ await sweepBoth();
135
+ throw new Error(`atomic replace of ${final} failed (exec layer): ${err instanceof Error ? err.message : String(err)}`);
136
+ }
137
+ if (res.exitCode !== 0) {
138
+ await sweepBoth();
139
+ throw new Error(`atomic replace of ${final} failed (exit ${res.exitCode}): ${res.stderr.trim() || 'target must be a plain file with a symlink-free path'}`);
140
+ }
141
+ }
37
142
  export class RepoStore {
38
143
  runner;
39
144
  mode;
@@ -137,7 +242,7 @@ export class RepoStore {
137
242
  return home;
138
243
  }
139
244
  async cloneIfNeeded(absRepoPath) {
140
- const dirExists = (await this.runner.exec(`test -d ${shellQuote(absRepoPath)}`)).exitCode === 0;
245
+ const dirExists = await this.probeDirExists(absRepoPath);
141
246
  if (!dirExists) {
142
247
  if (this.configuredWorkdir) {
143
248
  throw new Error(`Configured Workdir ${absRepoPath} does not exist; ` +
@@ -147,9 +252,10 @@ export class RepoStore {
147
252
  const mk = await this.runner.exec(`mkdir -p ${shellQuote(parent)}`);
148
253
  if (mk.exitCode !== 0)
149
254
  throw new Error(`Failed to mkdir ${parent}: ${mk.stderr}`);
255
+ const staging = `${absRepoPath}.claim-${randomUUID()}`;
150
256
  const cloneCmd = this.isGitHub
151
- ? `${GIT_NET_ENV} gh repo clone ${shellQuote(repoSlug(this.repo))} ${shellQuote(absRepoPath)} --no-upstream`
152
- : `${GIT_NET_ENV} git clone ${shellQuote(this.repo)} ${shellQuote(absRepoPath)}`;
257
+ ? `${GIT_NET_ENV} gh repo clone ${shellQuote(repoSlug(this.repo))} ${shellQuote(staging)} --no-upstream`
258
+ : `${GIT_NET_ENV} git clone ${shellQuote(this.repo)} ${shellQuote(staging)}`;
153
259
  let clone;
154
260
  try {
155
261
  clone = await execNetwork(this.runner, cloneCmd, {
@@ -158,62 +264,76 @@ export class RepoStore {
158
264
  });
159
265
  }
160
266
  catch (err) {
161
- await this.removeCloneRemnant(absRepoPath);
267
+ await this.discardStaging(staging, err instanceof Error ? err.message : String(err));
162
268
  throw err;
163
269
  }
164
270
  if (clone.exitCode !== 0) {
165
- await this.removeCloneRemnant(absRepoPath);
271
+ await this.discardStaging(staging, `clone exit ${clone.exitCode}`);
166
272
  const cmd = this.isGitHub ? 'gh repo clone' : 'git clone';
167
273
  throw new Error(redactGitCredentials(`${cmd} ${this.repo} failed: ${clone.stderr || clone.stdout}`));
168
274
  }
275
+ await this.promoteStaging(staging, absRepoPath);
169
276
  if (this.isGitHub && parseGitRemote(this.repo) !== null) {
170
277
  return this.syncMatchingOriginUrl(absRepoPath);
171
278
  }
172
279
  return false;
173
280
  }
174
- const isRepo = (await this.runner.exec(`git rev-parse --resolve-git-dir ${shellQuote(`${absRepoPath}/.git`)}`)).exitCode === 0;
281
+ const gitDir = await this.probe(`git rev-parse --resolve-git-dir ${shellQuote(`${absRepoPath}/.git`)}`, `git dir at ${absRepoPath}`);
282
+ const isRepo = gitDir.exitCode === 0;
175
283
  if (!isRepo) {
176
- const discovered = await this.runner.exec(`git -C ${shellQuote(absRepoPath)} rev-parse --show-toplevel`);
284
+ const discovered = await this.probe(`git -C ${shellQuote(absRepoPath)} rev-parse --show-toplevel`, `repo layout at ${absRepoPath}`);
177
285
  if (discovered.exitCode === 0) {
178
286
  throw new Error(`Workdir ${absRepoPath} must be the repository's exact top-level directory, not a subdirectory.`);
179
287
  }
180
- const bare = await this.runner.exec(`git rev-parse --resolve-git-dir ${shellQuote(absRepoPath)}`);
288
+ const bare = await this.probe(`git rev-parse --resolve-git-dir ${shellQuote(absRepoPath)}`, `repo layout at ${absRepoPath}`);
181
289
  if (bare.exitCode === 0) {
182
290
  throw new Error(`Workdir ${absRepoPath} must be a non-bare Git clone.`);
183
291
  }
292
+ if (await this.recoverEmptyLeftoverDir(absRepoPath)) {
293
+ return this.cloneIfNeeded(absRepoPath);
294
+ }
184
295
  throw new Error(`${absRepoPath} exists but is not a git repository. Remove it manually or change project.repo.`);
185
296
  }
186
297
  return this.syncMatchingOriginUrl(absRepoPath);
187
298
  }
299
+ // Runs a remote probe; an uncertain transport outcome throws instead of masquerading as "no".
300
+ async probe(cmd, what) {
301
+ const result = await this.runner.exec(cmd);
302
+ if (result.exitCode !== 0 && execOutcomeUnknown(result)) {
303
+ throw new Error(`Cannot probe ${what} (exit ${result.exitCode}): ${result.stderr.trim() || result.stdout.trim() || 'exec layer failure'}`);
304
+ }
305
+ return result;
306
+ }
188
307
  async validateClone(absRepoPath) {
189
308
  const path = shellQuote(absRepoPath);
190
- const top = await this.runner.exec(`git -C ${path} rev-parse --show-toplevel`);
309
+ const probe = (cmd, what) => this.probe(cmd, `${what} at ${absRepoPath}`);
310
+ const top = await probe(`git -C ${path} rev-parse --show-toplevel`, 'worktree top');
191
311
  if (top.exitCode !== 0 || top.stdout.trim() === '') {
192
312
  throw new Error(`${absRepoPath} is not a working-tree Git repository.`);
193
313
  }
194
- const canonicalTop = await this.runner.exec(`cd ${shellQuote(top.stdout.trim())} && pwd -P`);
314
+ const canonicalTop = await probe(`cd ${shellQuote(top.stdout.trim())} && pwd -P`, 'canonical top');
195
315
  if (canonicalTop.exitCode !== 0 || canonicalTop.stdout.trim() !== absRepoPath) {
196
316
  throw new Error(`Workdir ${absRepoPath} must be the repository's exact top-level directory, not a subdirectory.`);
197
317
  }
198
- const bare = await this.runner.exec(`git -C ${path} rev-parse --is-bare-repository`);
318
+ const bare = await probe(`git -C ${path} rev-parse --is-bare-repository`, 'bare flag');
199
319
  if (bare.exitCode !== 0 || bare.stdout.trim() !== 'false') {
200
320
  throw new Error(`Workdir ${absRepoPath} must be a non-bare Git clone.`);
201
321
  }
202
- const independent = await this.runner.exec(`test -d ${shellQuote(`${absRepoPath}/.git`)} && ` +
322
+ const independent = await probe(`test -d ${shellQuote(`${absRepoPath}/.git`)} && ` +
203
323
  `test "$(git -C ${path} rev-parse --git-common-dir)" = .git && ` +
204
- `test ! -s ${shellQuote(`${absRepoPath}/.git/objects/info/alternates`)}`);
324
+ `test ! -s ${shellQuote(`${absRepoPath}/.git/objects/info/alternates`)}`, 'clone independence');
205
325
  if (independent.exitCode !== 0) {
206
326
  throw new Error(`Workdir ${absRepoPath} must be an independent ordinary clone, not a linked worktree or alternates-based clone.`);
207
327
  }
208
- const writable = await this.runner.exec(`test -r ${path} -a -w ${path} -a -x ${path}`);
328
+ const writable = await probe(`test -r ${path} -a -w ${path} -a -x ${path}`, 'permissions');
209
329
  if (writable.exitCode !== 0) {
210
330
  throw new Error(`Workdir ${absRepoPath} is not readable and writable by the agent host user.`);
211
331
  }
212
- const metadata = await this.runner.exec(`git -C ${path} rev-parse --git-dir HEAD >/dev/null`);
332
+ const metadata = await probe(`git -C ${path} rev-parse --git-dir HEAD >/dev/null`, 'git metadata');
213
333
  if (metadata.exitCode !== 0) {
214
334
  throw new Error(`Workdir ${absRepoPath} has unreadable Git metadata or HEAD.`);
215
335
  }
216
- const remoteRefs = await this.runner.exec(`git -C ${path} for-each-ref --format=${shellQuote('%(refname)')} --count=1 refs/remotes/`);
336
+ const remoteRefs = await probe(`git -C ${path} for-each-ref --format=${shellQuote('%(refname)')} --count=1 refs/remotes/`, 'remote-tracking refs');
217
337
  if (remoteRefs.exitCode !== 0 || remoteRefs.stdout.trim() === '') {
218
338
  throw new Error(`Workdir ${absRepoPath} has no readable remote-tracking refs.`);
219
339
  }
@@ -242,16 +362,21 @@ export class RepoStore {
242
362
  return false;
243
363
  return this.syncOriginUrl(absRepoPath, originUrl);
244
364
  }
365
+ // pushurl is cleared BEFORE the URL flips, so a failure keeps the diff visible and the next ensure() retries.
245
366
  async syncOriginUrl(absRepoPath, originUrl) {
246
367
  if (parseGitRemote(this.repo) === null)
247
368
  return false;
248
369
  if (!accessMethodDiffers(this.repo, originUrl))
249
370
  return false;
371
+ const unset = await this.probe(`git -C ${shellQuote(absRepoPath)} config --unset-all remote.origin.pushurl`, `remote.origin.pushurl removal at ${absRepoPath}`);
372
+ // git config exit 5 = key absent, the normal case here.
373
+ if (unset.exitCode !== 0 && unset.exitCode !== 5) {
374
+ throw new Error(redactGitCredentials(`Failed to clear remote.origin.pushurl at ${absRepoPath} (exit ${unset.exitCode}): ${unset.stderr.trim()}`));
375
+ }
250
376
  const result = await this.runner.exec(`git -C ${shellQuote(absRepoPath)} config --replace-all remote.origin.url ${shellQuote(this.repo)}`);
251
377
  if (result.exitCode !== 0) {
252
378
  throw new Error(redactGitCredentials(`Failed to update origin URL at ${absRepoPath}: ${result.stderr}`));
253
379
  }
254
- await this.runner.exec(`git -C ${shellQuote(absRepoPath)} config --unset-all remote.origin.pushurl`);
255
380
  return true;
256
381
  }
257
382
  originMatches(originUrl) {
@@ -262,10 +387,69 @@ export class RepoStore {
262
387
  const got = parseGitRemote(originUrl);
263
388
  return want !== null && got !== null && want.host === got.host && want.path === got.path;
264
389
  }
265
- // A clone killed by the exec timeout dies mid-transfer and leaves a partial
266
- // directory that the next ensure() would reject as "not a git repository".
267
- async removeCloneRemnant(absRepoPath) {
268
- await this.runner.exec(`rm -rf ${shellQuote(absRepoPath)}`).catch(() => undefined);
390
+ // exit 1 is test(1) saying "no" — unless transport noise rode along, proving nothing.
391
+ async probeDirExists(absRepoPath) {
392
+ const probe = await this.probe(`test -d ${shellQuote(absRepoPath)}`, `workdir ${absRepoPath}`);
393
+ if (probe.exitCode === 0)
394
+ return true;
395
+ if (probe.exitCode === 1)
396
+ return false;
397
+ throw new Error(`Cannot probe workdir ${absRepoPath} (exit ${probe.exitCode}): ${probe.stderr.trim() || 'exec layer failure'}`);
398
+ }
399
+ // The staging name embeds a UUID, so deleting by name cannot hit anyone else's work.
400
+ async discardStaging(staging, reason, guardClause) {
401
+ console.warn(`[repo-store] removing staged clone ${staging}: ${redactGitCredentials(reason)}`);
402
+ const rmCmd = guardClause
403
+ ? `if ${guardClause}; then rm -rf ${shellQuote(staging)}; fi`
404
+ : `rm -rf ${shellQuote(staging)}`;
405
+ try {
406
+ const rm = await this.runner.exec(rmCmd);
407
+ if (rm.exitCode !== 0) {
408
+ console.warn(`[repo-store] failed to remove staged clone ${staging}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
409
+ }
410
+ }
411
+ catch (err) {
412
+ console.warn(`[repo-store] failed to remove staged clone ${staging}:`, err);
413
+ }
414
+ }
415
+ // On any unclear mv outcome the UUID name gives the clone exactly two possible homes — sweep both, never guess.
416
+ async promoteStaging(staging, absRepoPath) {
417
+ const base = staging.slice(staging.lastIndexOf('/') + 1);
418
+ const nestedPath = `${absRepoPath}/${base}`;
419
+ // A nested discard through a symlinked final would cross outside the managed tree.
420
+ const finalIsRealDir = `[ -d ${shellQuote(absRepoPath)} ] && [ ! -L ${shellQuote(absRepoPath)} ]`;
421
+ const discardBoth = async (reason) => {
422
+ await this.discardStaging(staging, reason);
423
+ await this.discardStaging(nestedPath, reason, finalIsRealDir);
424
+ };
425
+ // The name must be free AND not a symlink: mv onto a symlink-to-dir would follow it out of the tree.
426
+ const promote = await this.runner.exec(`[ ! -e ${shellQuote(absRepoPath)} ] && [ ! -L ${shellQuote(absRepoPath)} ] && ` +
427
+ `mv ${shellQuote(staging)} ${shellQuote(absRepoPath)}`);
428
+ if (promote.exitCode !== 0) {
429
+ await discardBoth(`promote failed: ${promote.stderr.trim() || `exit ${promote.exitCode}`}`);
430
+ throw new Error(`Cannot promote staged clone into ${absRepoPath}: ${promote.stderr.trim() || `exit ${promote.exitCode}`}`);
431
+ }
432
+ const nested = await this.runner.exec(`test -e ${shellQuote(nestedPath)}`);
433
+ if (execOutcomeUnknown(nested) || (nested.exitCode !== 0 && nested.exitCode !== 1)) {
434
+ const reason = `promote verification failed (exit ${nested.exitCode}): ${nested.stderr.trim() || 'exec layer failure'}`;
435
+ await discardBoth(reason);
436
+ throw new Error(`Cannot verify promoted clone at ${absRepoPath}; ${reason}`);
437
+ }
438
+ if (nested.exitCode === 1)
439
+ return;
440
+ await this.discardStaging(nestedPath, `final path ${absRepoPath} was recreated concurrently`, finalIsRealDir);
441
+ throw new Error(`Final path ${absRepoPath} was recreated while promoting; staged clone withdrawn.`);
442
+ }
443
+ // rmdir cannot touch anything non-empty; a failed transport proves nothing about emptiness.
444
+ async recoverEmptyLeftoverDir(absRepoPath) {
445
+ if (this.configuredWorkdir)
446
+ return false;
447
+ const undo = await this.probe(`rmdir ${shellQuote(absRepoPath)}`, `leftover dir ${absRepoPath}`);
448
+ if (undo.exitCode === 0) {
449
+ console.warn(`[repo-store] removed leftover empty dir ${absRepoPath}; retrying clone`);
450
+ return true;
451
+ }
452
+ return false;
269
453
  }
270
454
  async fetchIfStale(cacheKey, absRepoPath) {
271
455
  const last = this.cache.lastFetchAt.get(cacheKey) ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"repo-store.js","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo-store.js","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"review-transport.d.ts","sourceRoot":"","sources":["../../src/agent/review-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-transport.d.ts","sourceRoot":"","sources":["../../src/agent/review-transport.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { randomBytes } from 'node:crypto';
2
2
  import { isRecord, MAX_INLINE_CONTENT_BYTES, MAX_READ_FILE_BYTES, REVIEW_EXCHANGE_DIR, REVIEW_INBOX_DIR, RESEARCH_DOCS_DIR, SPEC_DOC_RELPATH, mapWithConcurrency, FS_READ_CONCURRENCY, renderSpecDocuments, } from '../shared/index.js';
3
3
  import { shellQuote } from './runner.js';
4
4
  import { GIT_NET_ENV, execNetwork } from './net-exec.js';
5
- import { ensureBaxianRuntimeDirsSafe } from './repo-store.js';
5
+ import { ancestorSymlinkGuard, ensureBaxianRuntimeDirsSafe, guardedRemoveClause, moveFileIntoPlace, stageFileGuarded, sweepStrayFile } from './repo-store.js';
6
6
  export class ReviewExchangeError extends Error {
7
7
  reason;
8
8
  constructor(reason, message) {
@@ -112,13 +112,13 @@ export class ReviewTransport {
112
112
  ];
113
113
  const runner = this.deps.createRunnerFor(agent);
114
114
  await this.ensureRuntimeDirs(runner, workdir);
115
- const result = await runner.exec(`rm -f ${paths.map(shellQuote).join(' ')}`);
115
+ const result = await runner.exec(paths.map(p => guardedRemoveClause(workdir, p)).join(' && '));
116
116
  if (result.exitCode !== 0) {
117
117
  throw new ReviewExchangeError('artifact-cleanup-failed', `failed to clear stale dispatch outputs: ${result.stderr.trim() || `exit ${result.exitCode}`}`);
118
118
  }
119
119
  if (resetsSpecDocuments) {
120
120
  const researchDir = `${workdir}/${RESEARCH_DOCS_DIR}`;
121
- const cleared = await runner.exec(`rm -rf -- ${shellQuote(researchDir)}`);
121
+ const cleared = await runner.exec(guardedRemoveClause(workdir, researchDir, { recursive: true }));
122
122
  if (cleared.exitCode !== 0) {
123
123
  throw new ReviewExchangeError('artifact-cleanup-failed', `failed to clear stale research docs: ${cleared.stderr.trim() || `exit ${cleared.exitCode}`}`);
124
124
  }
@@ -234,7 +234,7 @@ export class ReviewTransport {
234
234
  const researchDir = `${workdir}/${RESEARCH_DOCS_DIR}`;
235
235
  await assertOwner();
236
236
  await this.ensureRuntimeDirs(runner, workdir);
237
- const cleared = await runner.exec(`rm -f -- ${shellQuote(specPath)} && rm -rf -- ${shellQuote(researchDir)}`);
237
+ const cleared = await runner.exec(`${guardedRemoveClause(workdir, specPath)} && ${guardedRemoveClause(workdir, researchDir, { recursive: true })}`);
238
238
  if (cleared.exitCode !== 0) {
239
239
  throw new ReviewExchangeError('spec-seed-failed', `failed to clear old spec documents: ${cleared.stderr.trim() || `exit ${cleared.exitCode}`}`);
240
240
  }
@@ -246,16 +246,13 @@ export class ReviewTransport {
246
246
  const dir = final.slice(0, final.lastIndexOf('/'));
247
247
  const tmp = `${dir}/.tmp-${randomBytes(8).toString('hex')}`;
248
248
  try {
249
- await runner.writeFile(tmp, document.content);
249
+ await stageFileGuarded(runner, workdir, tmp, document.content);
250
250
  await assertOwner();
251
- const moved = await runner.exec(`mv -f -- ${shellQuote(tmp)} ${shellQuote(final)}`);
252
- if (moved.exitCode !== 0) {
253
- throw new Error(moved.stderr.trim() || `exit ${moved.exitCode}`);
254
- }
251
+ await moveFileIntoPlace(runner, tmp, final, { guardRoot: workdir });
255
252
  await assertOwner();
256
253
  }
257
254
  catch (err) {
258
- await runner.exec(`rm -f -- ${shellQuote(tmp)}`).catch(() => undefined);
255
+ await sweepStrayFile(runner, tmp, ancestorSymlinkGuard(workdir, tmp));
259
256
  if (err instanceof ReviewExchangeError)
260
257
  throw err;
261
258
  throw new ReviewExchangeError('spec-seed-failed', `failed to write ${document.relPath}: ${err instanceof Error ? err.message : String(err)}`);
@@ -339,15 +336,11 @@ export class ReviewTransport {
339
336
  const runner = this.deps.createRunnerFor(agent);
340
337
  await this.ensureRuntimeDirs(runner, wt);
341
338
  try {
342
- await runner.writeFile(tmp, content);
339
+ await stageFileGuarded(runner, wt, tmp, content);
340
+ await moveFileIntoPlace(runner, tmp, final, { guardRoot: wt });
343
341
  }
344
342
  catch (err) {
345
- throw new ReviewExchangeError('deliver-failed', `${filename}: write failed: ${err instanceof Error ? err.message : String(err)}`);
346
- }
347
- const mv = await runner.exec(`mv -f ${shellQuote(tmp)} ${shellQuote(final)}`);
348
- if (mv.exitCode !== 0) {
349
- await runner.exec(`rm -f ${shellQuote(tmp)}`).catch(() => undefined);
350
- throw new ReviewExchangeError('deliver-failed', `${filename}: mv failed: ${mv.stderr.trim()}`);
343
+ throw new ReviewExchangeError('deliver-failed', `${filename}: ${err instanceof Error ? err.message : String(err)}`);
351
344
  }
352
345
  return { path: `${REVIEW_INBOX_DIR}/${filename}`, bytes: Buffer.byteLength(content, 'utf8') };
353
346
  }
@@ -367,7 +360,11 @@ export class ReviewTransport {
367
360
  const wt = this.requireWorkdir(agent.id);
368
361
  const runner = this.deps.createRunnerFor(agent);
369
362
  await this.ensureRuntimeDirs(runner, wt);
370
- await runner.exec(`rm -f ${shellQuote(`${wt}/${REVIEW_EXCHANGE_DIR}/${name}`)}`);
363
+ const target = `${wt}/${REVIEW_EXCHANGE_DIR}/${name}`;
364
+ const rm = await runner.exec(guardedRemoveClause(wt, target));
365
+ if (rm.exitCode !== 0) {
366
+ throw new ReviewExchangeError('artifact-cleanup-failed', `failed to delete ${target}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
367
+ }
371
368
  }
372
369
  async ensureRuntimeDirs(runner, workdir) {
373
370
  try {