baxian 1.2.59 → 1.2.61

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 (168) hide show
  1. package/dist/agent/branch.d.ts.map +1 -1
  2. package/dist/agent/branch.js +19 -13
  3. package/dist/agent/branch.js.map +1 -1
  4. package/dist/agent/dispatch-reconciler.d.ts +45 -0
  5. package/dist/agent/dispatch-reconciler.d.ts.map +1 -0
  6. package/dist/agent/dispatch-reconciler.js +513 -0
  7. package/dist/agent/dispatch-reconciler.js.map +1 -0
  8. package/dist/agent/manager.d.ts +123 -12
  9. package/dist/agent/manager.d.ts.map +1 -1
  10. package/dist/agent/manager.js +1607 -420
  11. package/dist/agent/manager.js.map +1 -1
  12. package/dist/agent/pane-streamer-manager.d.ts +70 -0
  13. package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
  14. package/dist/agent/pane-streamer-manager.js +487 -5
  15. package/dist/agent/pane-streamer-manager.js.map +1 -1
  16. package/dist/agent/pane-streamer.d.ts +48 -1
  17. package/dist/agent/pane-streamer.d.ts.map +1 -1
  18. package/dist/agent/pane-streamer.js +338 -15
  19. package/dist/agent/pane-streamer.js.map +1 -1
  20. package/dist/agent/phase-signal-watcher.d.ts +43 -2
  21. package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
  22. package/dist/agent/phase-signal-watcher.js +301 -43
  23. package/dist/agent/phase-signal-watcher.js.map +1 -1
  24. package/dist/agent/phase-signal.d.ts +9 -0
  25. package/dist/agent/phase-signal.d.ts.map +1 -1
  26. package/dist/agent/phase-signal.js +63 -5
  27. package/dist/agent/phase-signal.js.map +1 -1
  28. package/dist/agent/preflight.d.ts +20 -1
  29. package/dist/agent/preflight.d.ts.map +1 -1
  30. package/dist/agent/preflight.js +235 -27
  31. package/dist/agent/preflight.js.map +1 -1
  32. package/dist/agent/prompt.d.ts +8 -0
  33. package/dist/agent/prompt.d.ts.map +1 -1
  34. package/dist/agent/prompt.js +45 -2
  35. package/dist/agent/prompt.js.map +1 -1
  36. package/dist/agent/repo-store.d.ts +5 -1
  37. package/dist/agent/repo-store.d.ts.map +1 -1
  38. package/dist/agent/repo-store.js +199 -70
  39. package/dist/agent/repo-store.js.map +1 -1
  40. package/dist/agent/review-transport.d.ts.map +1 -1
  41. package/dist/agent/review-transport.js +4 -2
  42. package/dist/agent/review-transport.js.map +1 -1
  43. package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
  44. package/dist/agent/tmux-probe-poller.js +29 -20
  45. package/dist/agent/tmux-probe-poller.js.map +1 -1
  46. package/dist/agent/tmux.d.ts +79 -32
  47. package/dist/agent/tmux.d.ts.map +1 -1
  48. package/dist/agent/tmux.js +435 -225
  49. package/dist/agent/tmux.js.map +1 -1
  50. package/dist/api/config.d.ts.map +1 -1
  51. package/dist/api/config.js +18 -0
  52. package/dist/api/config.js.map +1 -1
  53. package/dist/api/projects.d.ts.map +1 -1
  54. package/dist/api/projects.js +241 -98
  55. package/dist/api/projects.js.map +1 -1
  56. package/dist/api/tasks.d.ts.map +1 -1
  57. package/dist/api/tasks.js +29 -2
  58. package/dist/api/tasks.js.map +1 -1
  59. package/dist/app.d.ts +2 -0
  60. package/dist/app.d.ts.map +1 -1
  61. package/dist/app.js +1 -0
  62. package/dist/app.js.map +1 -1
  63. package/dist/cli.d.ts.map +1 -1
  64. package/dist/cli.js +18 -3
  65. package/dist/cli.js.map +1 -1
  66. package/dist/config/hot-reload.d.ts.map +1 -1
  67. package/dist/config/hot-reload.js +1 -0
  68. package/dist/config/hot-reload.js.map +1 -1
  69. package/dist/config/loader.d.ts.map +1 -1
  70. package/dist/config/loader.js +48 -3
  71. package/dist/config/loader.js.map +1 -1
  72. package/dist/config/validator.js +11 -1
  73. package/dist/config/validator.js.map +1 -1
  74. package/dist/errors.d.ts +2 -1
  75. package/dist/errors.d.ts.map +1 -1
  76. package/dist/errors.js +3 -1
  77. package/dist/errors.js.map +1 -1
  78. package/dist/event/handlers.d.ts.map +1 -1
  79. package/dist/event/handlers.js +138 -41
  80. package/dist/event/handlers.js.map +1 -1
  81. package/dist/event/log.d.ts.map +1 -1
  82. package/dist/event/log.js +17 -2
  83. package/dist/event/log.js.map +1 -1
  84. package/dist/github/pr-conversation-cache.d.ts +48 -0
  85. package/dist/github/pr-conversation-cache.d.ts.map +1 -0
  86. package/dist/github/pr-conversation-cache.js +199 -0
  87. package/dist/github/pr-conversation-cache.js.map +1 -0
  88. package/dist/github/pr-conversation.d.ts +2 -2
  89. package/dist/github/pr-conversation.d.ts.map +1 -1
  90. package/dist/github/pr-conversation.js.map +1 -1
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +16 -1
  93. package/dist/index.js.map +1 -1
  94. package/dist/platform/driver-spec.d.ts.map +1 -1
  95. package/dist/platform/driver-spec.js +33 -0
  96. package/dist/platform/driver-spec.js.map +1 -1
  97. package/dist/platform/git-driver.d.ts +7 -1
  98. package/dist/platform/git-driver.d.ts.map +1 -1
  99. package/dist/platform/git-driver.js +33 -2
  100. package/dist/platform/git-driver.js.map +1 -1
  101. package/dist/platform/platform-poller.d.ts +8 -0
  102. package/dist/platform/platform-poller.d.ts.map +1 -1
  103. package/dist/platform/platform-poller.js +80 -1
  104. package/dist/platform/platform-poller.js.map +1 -1
  105. package/dist/platform/plugin-registry.d.ts.map +1 -1
  106. package/dist/platform/plugin-registry.js +14 -2
  107. package/dist/platform/plugin-registry.js.map +1 -1
  108. package/dist/platform/plugins/github/driver.json +3 -0
  109. package/dist/platform/plugins/github/skills/baxian-cli-gh/SKILL.md +16 -7
  110. package/dist/platform/preflight-exec.d.ts +21 -0
  111. package/dist/platform/preflight-exec.d.ts.map +1 -0
  112. package/dist/platform/preflight-exec.js +62 -0
  113. package/dist/platform/preflight-exec.js.map +1 -0
  114. package/dist/platform/review-timeline.d.ts +16 -0
  115. package/dist/platform/review-timeline.d.ts.map +1 -0
  116. package/dist/platform/review-timeline.js +195 -0
  117. package/dist/platform/review-timeline.js.map +1 -0
  118. package/dist/platform/startup.d.ts +5 -1
  119. package/dist/platform/startup.d.ts.map +1 -1
  120. package/dist/platform/startup.js +25 -0
  121. package/dist/platform/startup.js.map +1 -1
  122. package/dist/platform/types.d.ts +2 -0
  123. package/dist/platform/types.d.ts.map +1 -1
  124. package/dist/platform/types.js +1 -1
  125. package/dist/platform/types.js.map +1 -1
  126. package/dist/shared/constants.d.ts +6 -0
  127. package/dist/shared/constants.d.ts.map +1 -1
  128. package/dist/shared/constants.js +6 -0
  129. package/dist/shared/constants.js.map +1 -1
  130. package/dist/shared/git-url.d.ts +1 -0
  131. package/dist/shared/git-url.d.ts.map +1 -1
  132. package/dist/shared/git-url.js +3 -0
  133. package/dist/shared/git-url.js.map +1 -1
  134. package/dist/shared/types.d.ts +23 -6
  135. package/dist/shared/types.d.ts.map +1 -1
  136. package/dist/shared/types.js.map +1 -1
  137. package/dist/skill/registry.d.ts +9 -2
  138. package/dist/skill/registry.d.ts.map +1 -1
  139. package/dist/skill/registry.js +88 -54
  140. package/dist/skill/registry.js.map +1 -1
  141. package/dist/skills/baxian-pr-feedback/SKILL.md +2 -0
  142. package/dist/skills/baxian-pr-recheck/SKILL.md +2 -0
  143. package/dist/skills/baxian-pr-review/SKILL.md +2 -0
  144. package/dist/skills/baxian-research/SKILL.md +1 -1
  145. package/dist/skills/baxian-signals/SKILL.md +19 -4
  146. package/dist/skills/baxian-task-check/SKILL.md +4 -2
  147. package/dist/state/agent-store.d.ts +5 -1
  148. package/dist/state/agent-store.d.ts.map +1 -1
  149. package/dist/state/agent-store.js +56 -17
  150. package/dist/state/agent-store.js.map +1 -1
  151. package/dist/state/lock.d.ts +9 -0
  152. package/dist/state/lock.d.ts.map +1 -1
  153. package/dist/state/lock.js +24 -1
  154. package/dist/state/lock.js.map +1 -1
  155. package/dist/state/task-store.js +4 -4
  156. package/dist/state/task-store.js.map +1 -1
  157. package/dist/terminal/attach.d.ts +10 -1
  158. package/dist/terminal/attach.d.ts.map +1 -1
  159. package/dist/terminal/attach.js +41 -20
  160. package/dist/terminal/attach.js.map +1 -1
  161. package/dist/terminal/stream-ws.d.ts.map +1 -1
  162. package/dist/terminal/stream-ws.js +27 -0
  163. package/dist/terminal/stream-ws.js.map +1 -1
  164. package/dist/web/assets/{index-DfcbGriX.css → index-BPv6vv3U.css} +1 -1
  165. package/dist/web/assets/index-CUJtd0bC.js +16 -0
  166. package/dist/web/index.html +2 -2
  167. package/package.json +1 -1
  168. package/dist/web/assets/index-DskVWe7e.js +0 -13
@@ -8,6 +8,7 @@ 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 canonicalSelfGuard(path: string): string;
11
12
  export declare function isUnder(root: string, path: string): boolean;
12
13
  export declare function ancestorSymlinkGuard(root: string, target: string): string;
13
14
  export declare function guardedRemoveClause(root: string, target: string, opts?: {
@@ -26,8 +27,9 @@ export declare class RepoStore {
26
27
  private agentId;
27
28
  private configuredWorkdir?;
28
29
  private readonly isGitHub;
30
+ private readonly cloneWithGh;
29
31
  private readonly repo;
30
- constructor(runner: CommandRunner, repo: string, mode: AgentMode, host: HostConfig | undefined, cache: RepoStoreCache, agentId: string, configuredWorkdir?: string | undefined);
32
+ constructor(runner: CommandRunner, repo: string, mode: AgentMode, host: HostConfig | undefined, cache: RepoStoreCache, agentId: string, configuredWorkdir?: string | undefined, cloneViaGh?: boolean);
31
33
  ensure(): Promise<string>;
32
34
  refresh(absRepoPath: string): Promise<void>;
33
35
  private hostKey;
@@ -44,6 +46,8 @@ export declare class RepoStore {
44
46
  private probeDirExists;
45
47
  private discardStaging;
46
48
  private promoteStaging;
49
+ private reconcilePromote;
50
+ private clearPromoteClaim;
47
51
  private recoverEmptyLeftoverDir;
48
52
  private fetchIfStale;
49
53
  private runUnderMutex;
@@ -1 +1 @@
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
+ {"version":3,"file":"repo-store.d.ts","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,10 @@ export async function ensureBaxianRuntimeDirsSafe(runner, absRepoPath) {
25
25
  }
26
26
  const dirs = BAXIAN_RUNTIME_DIRS.map(dir => `${absRepoPath}/${dir}`);
27
27
  const operands = dirs.map(shellQuote).join(' ');
28
- const command = `for p in ${operands}; do ` +
28
+ const q = shellQuote(absRepoPath);
29
+ // Canonical root guard rides the same command: a rebound Workdir root never receives a mkdir.
30
+ const command = `[ "$(cd -- ${q} 2>/dev/null && pwd -P)" = ${q} ] || exit 9; ` +
31
+ `for p in ${operands}; do ` +
29
32
  `if [ -L "$p" ] || { [ -e "$p" ] && [ ! -d "$p" ]; }; then exit 9; fi; ` +
30
33
  `done && mkdir -p ${operands} && ` +
31
34
  `for p in ${operands}; do [ -d "$p" ] && [ ! -L "$p" ] || exit 9; done`;
@@ -36,22 +39,35 @@ export async function ensureBaxianRuntimeDirsSafe(runner, absRepoPath) {
36
39
  }
37
40
  }
38
41
  function normalizeRoot(root) {
39
- return root.replace(/\/+$/, '');
42
+ // Strip trailing slashes, but keep the filesystem root as "/" — collapsing it to "" would make the
43
+ // guard `cd -- ''` and break cloning on root-home (HOME=/) container hosts.
44
+ const cleaned = root.replace(/\/+$/, '');
45
+ return cleaned === '' ? '/' : cleaned;
46
+ }
47
+ // Canonical Workdir (pwd -P) is symlink-free by construction; this equality re-proves it in the SAME command as a mutation so a mid-ensure root rebind can't be written through.
48
+ export function canonicalSelfGuard(path) {
49
+ const q = shellQuote(path);
50
+ return `[ "$(cd -- ${q} 2>/dev/null && pwd -P)" = ${q} ]`;
40
51
  }
41
52
  export function isUnder(root, path) {
42
- return path.startsWith(`${normalizeRoot(root)}/`);
53
+ const r = normalizeRoot(root);
54
+ // Root "/" contributes a single leading slash, not "//".
55
+ return r === '/' ? path.startsWith('/') && path !== '/' : path.startsWith(`${r}/`);
43
56
  }
44
- // One [ ! -L ] per component — root included — glued onto the destructive command itself.
57
+ // Canonical (pwd -P) root proves the whole chain symlink-free; a bare [ ! -L root ] misses a rebound mid-path ancestor. Root MUST be canonical (state.workdir / physical home).
45
58
  export function ancestorSymlinkGuard(root, target) {
46
59
  const rootClean = normalizeRoot(root);
47
60
  if (!isUnder(root, target)) {
48
61
  throw new Error(`ancestorSymlinkGuard: ${target} is not under ${rootClean}`);
49
62
  }
50
- const parts = target.slice(rootClean.length + 1).split('/').filter(Boolean);
51
- const checks = [`[ ! -L ${shellQuote(rootClean)} ]`, `[ -d ${shellQuote(rootClean)} ]`];
63
+ // For root "/" the separator IS the leading slash (offset 1); otherwise it is an extra "/" (offset +1).
64
+ const sliceFrom = rootClean === '/' ? rootClean.length : rootClean.length + 1;
65
+ const parts = target.slice(sliceFrom).split('/').filter(Boolean);
66
+ const q = shellQuote(rootClean);
67
+ const checks = [`[ "$(cd -- ${q} 2>/dev/null && pwd -P)" = ${q} ]`];
52
68
  let cur = rootClean;
53
69
  for (const part of parts) {
54
- cur = `${cur}/${part}`;
70
+ cur = cur === '/' ? `/${part}` : `${cur}/${part}`;
55
71
  checks.push(`[ ! -L ${shellQuote(cur)} ]`);
56
72
  }
57
73
  return checks.join(' && ');
@@ -61,28 +77,42 @@ export function guardedRemoveClause(root, target, opts = {}) {
61
77
  const rm = opts.recursive ? 'rm -rf' : 'rm -f';
62
78
  return `${ancestorSymlinkGuard(root, target)} && ${rm} -- ${shellQuote(target)}`;
63
79
  }
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) {
80
+ const SWEEP_REMOVED = 'BX_SWEEP_REMOVED';
81
+ const SWEEP_REFUSED = 'BX_SWEEP_REFUSED';
82
+ // Four audited outcomes: removed-or-absent, guard-refused (deliberate keep), rm-failed, and probe-unknown (exec reject / exit 255 — rm may have run, reply lost) which is kept and flagged, never folded into the others.
83
+ async function sweepGuardedPath(runner, path, guardClause) {
84
+ const rm = `rm -f -- ${shellQuote(path)} && printf '%s' ${shellQuote(SWEEP_REMOVED)}`;
66
85
  const cmd = guardClause
67
- ? `if ${guardClause}; then rm -f -- ${shellQuote(path)}; fi`
68
- : `rm -f -- ${shellQuote(path)}`;
86
+ ? `if ${guardClause}; then ${rm}; else printf '%s' ${shellQuote(SWEEP_REFUSED)}; fi`
87
+ : rm;
88
+ let res;
69
89
  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
- }
90
+ res = await runner.exec(cmd);
74
91
  }
75
92
  catch (err) {
76
- console.warn(`[fs] failed to remove stray tmp ${path}:`, err);
93
+ console.warn(`[fs] sweep ${path}: outcome UNKNOWN (exec rejected) — target kept, may linger: ${err instanceof Error ? err.message : String(err)}`);
94
+ return;
95
+ }
96
+ if (res.exitCode !== 0 || execOutcomeUnknown(res)) {
97
+ console.warn(`[fs] sweep ${path}: outcome UNKNOWN (exit ${res.exitCode}: ${res.stderr.trim() || 'no stderr'}) — target kept, may linger`);
98
+ return;
99
+ }
100
+ if (res.stdout.includes(SWEEP_REMOVED))
101
+ return;
102
+ if (res.stdout.includes(SWEEP_REFUSED)) {
103
+ console.warn(`[fs] sweep ${path}: guard refused — target deliberately kept (rebound ancestor; not out-reaching)`);
104
+ return;
77
105
  }
106
+ console.warn(`[fs] sweep ${path}: rm reported failure (no marker; exit ${res.exitCode})`);
107
+ }
108
+ export async function sweepStrayFile(runner, path, guardClause) {
109
+ await sweepGuardedPath(runner, path, guardClause);
78
110
  }
79
111
  function nestedSweepGuard(final, guardRoot) {
80
112
  const finalIsRealDir = `[ -d ${shellQuote(final)} ] && [ ! -L ${shellQuote(final)} ]`;
81
113
  return guardRoot ? `${ancestorSymlinkGuard(guardRoot, final)} && ${finalIsRealDir}` : finalIsRealDir;
82
114
  }
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).
115
+ // Guard and write share one command so a rebound ancestor never receives staging bytes; mkdir -p recreates components the guard just cleared as not-yet-existing.
86
116
  export async function stageFileGuarded(runner, root, tmp, content) {
87
117
  const buf = typeof content === 'string' ? Buffer.from(content, 'utf8') : content;
88
118
  const guard = ancestorSymlinkGuard(root, tmp);
@@ -114,17 +144,10 @@ export async function moveFileIntoPlace(runner, tmp, final, opts = {}) {
114
144
  const tmpGuard = guardCovers(tmp) ? ancestorSymlinkGuard(opts.guardRoot, tmp) : undefined;
115
145
  const nestedGuard = nestedSweepGuard(final, guardCovers(final) ? opts.guardRoot : undefined);
116
146
  const nested = `${final}/${tmpBase}`;
147
+ // Each home swept independently so a first-step failure can't be masked by a second-step no-op.
117
148
  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
- }
149
+ await sweepGuardedPath(runner, tmp, tmpGuard);
150
+ await sweepGuardedPath(runner, nested, nestedGuard);
128
151
  };
129
152
  let res;
130
153
  try {
@@ -147,8 +170,9 @@ export class RepoStore {
147
170
  agentId;
148
171
  configuredWorkdir;
149
172
  isGitHub;
173
+ cloneWithGh;
150
174
  repo;
151
- constructor(runner, repo, mode, host, cache, agentId, configuredWorkdir) {
175
+ constructor(runner, repo, mode, host, cache, agentId, configuredWorkdir, cloneViaGh) {
152
176
  this.runner = runner;
153
177
  this.mode = mode;
154
178
  this.host = host;
@@ -157,6 +181,9 @@ export class RepoStore {
157
181
  this.configuredWorkdir = configuredWorkdir;
158
182
  this.repo = repo.trim();
159
183
  this.isGitHub = isGitHubRepo(this.repo);
184
+ // clone 是 agent 执行面:github 仓库仅 resolved tool 为 gh 时走 gh repo clone,
185
+ // 自定义 tool 走朴素 git(repo clone 是 gh 专属子命令)。
186
+ this.cloneWithGh = cloneViaGh ?? this.isGitHub;
160
187
  }
161
188
  async ensure() {
162
189
  const absRepoPath = await this.resolveAbsPath();
@@ -248,14 +275,17 @@ export class RepoStore {
248
275
  throw new Error(`Configured Workdir ${absRepoPath} does not exist; ` +
249
276
  `baxian never creates a user-specified Workdir implicitly.`);
250
277
  }
278
+ // Auto mode only (configured Workdir threw above), so physical home is the provable root; mkdir and clone carry the same chain guard, leaving only the in-command race during the long clone.
279
+ const guardRoot = await this.resolveHome();
251
280
  const parent = absRepoPath.replace(/\/[^/]+$/, '');
252
- const mk = await this.runner.exec(`mkdir -p ${shellQuote(parent)}`);
253
- if (mk.exitCode !== 0)
254
- throw new Error(`Failed to mkdir ${parent}: ${mk.stderr}`);
255
281
  const staging = `${absRepoPath}.claim-${randomUUID()}`;
256
- const cloneCmd = this.isGitHub
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)}`;
282
+ const stagingGuard = ancestorSymlinkGuard(guardRoot, staging);
283
+ const mk = await this.runner.exec(`${stagingGuard} && mkdir -p ${shellQuote(parent)}`);
284
+ if (mk.exitCode !== 0)
285
+ throw new Error(`Failed to mkdir ${parent} (symlink-safe): ${mk.stderr}`);
286
+ const cloneCmd = this.cloneWithGh
287
+ ? `${stagingGuard} && ${GIT_NET_ENV} gh repo clone ${shellQuote(repoSlug(this.repo))} ${shellQuote(staging)} --no-upstream`
288
+ : `${stagingGuard} && ${GIT_NET_ENV} git clone ${shellQuote(this.repo)} ${shellQuote(staging)}`;
259
289
  let clone;
260
290
  try {
261
291
  clone = await execNetwork(this.runner, cloneCmd, {
@@ -264,15 +294,15 @@ export class RepoStore {
264
294
  });
265
295
  }
266
296
  catch (err) {
267
- await this.discardStaging(staging, err instanceof Error ? err.message : String(err));
297
+ await this.discardStaging(staging, err instanceof Error ? err.message : String(err), ancestorSymlinkGuard(guardRoot, staging));
268
298
  throw err;
269
299
  }
270
300
  if (clone.exitCode !== 0) {
271
- await this.discardStaging(staging, `clone exit ${clone.exitCode}`);
272
- const cmd = this.isGitHub ? 'gh repo clone' : 'git clone';
301
+ await this.discardStaging(staging, `clone exit ${clone.exitCode}`, ancestorSymlinkGuard(guardRoot, staging));
302
+ const cmd = this.cloneWithGh ? 'gh repo clone' : 'git clone';
273
303
  throw new Error(redactGitCredentials(`${cmd} ${this.repo} failed: ${clone.stderr || clone.stdout}`));
274
304
  }
275
- await this.promoteStaging(staging, absRepoPath);
305
+ await this.promoteStaging(staging, absRepoPath, guardRoot);
276
306
  if (this.isGitHub && parseGitRemote(this.repo) !== null) {
277
307
  return this.syncMatchingOriginUrl(absRepoPath);
278
308
  }
@@ -325,6 +355,13 @@ export class RepoStore {
325
355
  if (independent.exitCode !== 0) {
326
356
  throw new Error(`Workdir ${absRepoPath} must be an independent ordinary clone, not a linked worktree or alternates-based clone.`);
327
357
  }
358
+ // A promisor/partial clone lazy-fetches missing objects on read, so an unguarded object query
359
+ // could write packs into an externally-rebound .git; reject it as non-independent up front.
360
+ const partial = await probe(`git -C ${path} config --get-regexp ${shellQuote('^(remote\\..*\\.(promisor|partialclonefilter)|extensions\\.partialclone)$')}`, 'partial-clone markers');
361
+ if (partial.exitCode === 0 && partial.stdout.trim() !== '') {
362
+ throw new Error(`Workdir ${absRepoPath} is a partial/promisor clone (${partial.stdout.trim().split('\n')[0]}); ` +
363
+ `baxian requires an independent ordinary clone. Re-clone without --filter.`);
364
+ }
328
365
  const writable = await probe(`test -r ${path} -a -w ${path} -a -x ${path}`, 'permissions');
329
366
  if (writable.exitCode !== 0) {
330
367
  throw new Error(`Workdir ${absRepoPath} is not readable and writable by the agent host user.`);
@@ -340,7 +377,7 @@ export class RepoStore {
340
377
  }
341
378
  async ensureBaxianExcluded(absRepoPath) {
342
379
  const path = shellQuote(absRepoPath);
343
- const command = `cd ${path} && p="$(git rev-parse --git-path info/exclude)" && ` +
380
+ const command = `${canonicalSelfGuard(absRepoPath)} && cd ${path} && p="$(git rev-parse --git-path info/exclude)" && ` +
344
381
  `mkdir -p "$(dirname "$p")" && ` +
345
382
  `{ grep -qxF '.baxian/' "$p" 2>/dev/null || printf '%s\\n' '.baxian/' >> "$p"; } && ` +
346
383
  `git check-ignore -q -- .baxian/__probe__`;
@@ -368,12 +405,14 @@ export class RepoStore {
368
405
  return false;
369
406
  if (!accessMethodDiffers(this.repo, originUrl))
370
407
  return false;
371
- const unset = await this.probe(`git -C ${shellQuote(absRepoPath)} config --unset-all remote.origin.pushurl`, `remote.origin.pushurl removal at ${absRepoPath}`);
408
+ // These config writes precede validateClone, so a rebound-to-external Workdir would be mutated first; each carries the canonical self-guard in its own command.
409
+ const guard = canonicalSelfGuard(absRepoPath);
410
+ const unset = await this.probe(`${guard} && git -C ${shellQuote(absRepoPath)} config --unset-all remote.origin.pushurl`, `remote.origin.pushurl removal at ${absRepoPath}`);
372
411
  // git config exit 5 = key absent, the normal case here.
373
412
  if (unset.exitCode !== 0 && unset.exitCode !== 5) {
374
413
  throw new Error(redactGitCredentials(`Failed to clear remote.origin.pushurl at ${absRepoPath} (exit ${unset.exitCode}): ${unset.stderr.trim()}`));
375
414
  }
376
- const result = await this.runner.exec(`git -C ${shellQuote(absRepoPath)} config --replace-all remote.origin.url ${shellQuote(this.repo)}`);
415
+ const result = await this.runner.exec(`${guard} && git -C ${shellQuote(absRepoPath)} config --replace-all remote.origin.url ${shellQuote(this.repo)}`);
377
416
  if (result.exitCode !== 0) {
378
417
  throw new Error(redactGitCredentials(`Failed to update origin URL at ${absRepoPath}: ${result.stderr}`));
379
418
  }
@@ -399,52 +438,140 @@ export class RepoStore {
399
438
  // The staging name embeds a UUID, so deleting by name cannot hit anyone else's work.
400
439
  async discardStaging(staging, reason, guardClause) {
401
440
  console.warn(`[repo-store] removing staged clone ${staging}: ${redactGitCredentials(reason)}`);
441
+ // Emit a marker so a guard-refused sweep is not masked by the `if`'s exit 0 (destructive cleanup must not fail silently).
402
442
  const rmCmd = guardClause
403
- ? `if ${guardClause}; then rm -rf ${shellQuote(staging)}; fi`
404
- : `rm -rf ${shellQuote(staging)}`;
443
+ ? `if ${guardClause}; then rm -rf ${shellQuote(staging)} && echo BX_STAGING_REMOVED; else echo BX_STAGING_REFUSED; fi`
444
+ : `rm -rf ${shellQuote(staging)} && echo BX_STAGING_REMOVED`;
405
445
  try {
406
446
  const rm = await this.runner.exec(rmCmd);
407
447
  if (rm.exitCode !== 0) {
408
448
  console.warn(`[repo-store] failed to remove staged clone ${staging}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
409
449
  }
450
+ else if (rm.stdout.includes('BX_STAGING_REFUSED')) {
451
+ console.warn(`[repo-store] staged clone ${staging} NOT removed: ancestor guard refused (rebound path); debris may remain`);
452
+ }
453
+ else if (!rm.stdout.includes('BX_STAGING_REMOVED')) {
454
+ console.warn(`[repo-store] staged clone ${staging} removal outcome unknown (no marker); debris may remain`);
455
+ }
410
456
  }
411
457
  catch (err) {
412
458
  console.warn(`[repo-store] failed to remove staged clone ${staging}:`, err);
413
459
  }
414
460
  }
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) {
461
+ // mv has three homes (unmoved staging / moved final / nested-on-race); a nonce in staging/.git survives the move so an unknown outcome is reconciled by which home holds our bytes, never guessed.
462
+ async promoteStaging(staging, absRepoPath, guardRoot) {
417
463
  const base = staging.slice(staging.lastIndexOf('/') + 1);
418
464
  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)} ]`;
465
+ // Sweeps carry the FULL ancestor chain from the managed root: a leaf-only [ ! -L ] would still fire inside an external dir if `.baxian/agents/<id>` rebinds.
466
+ const stagingGuard = ancestorSymlinkGuard(guardRoot, staging);
467
+ const nestedGuard = ancestorSymlinkGuard(guardRoot, nestedPath);
421
468
  const discardBoth = async (reason) => {
422
- await this.discardStaging(staging, reason);
423
- await this.discardStaging(nestedPath, reason, finalIsRealDir);
469
+ await this.discardStaging(staging, reason, stagingGuard);
470
+ await this.discardStaging(nestedPath, reason, nestedGuard);
424
471
  };
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)
472
+ const nonce = randomUUID();
473
+ const claimRel = '.git/baxian-promote-claim';
474
+ const stagingClaim = `${staging}/${claimRel}`;
475
+ const finalClaim = `${absRepoPath}/${claimRel}`;
476
+ const markGuard = ancestorSymlinkGuard(guardRoot, staging);
477
+ const mark = await this.runner.exec(`${markGuard} && printf %s ${shellQuote(nonce)} > ${shellQuote(stagingClaim)}`);
478
+ if (mark.exitCode !== 0) {
479
+ await this.discardStaging(staging, `promote-claim write failed: ${mark.stderr.trim() || `exit ${mark.exitCode}`}`, markGuard);
480
+ throw new Error(`Cannot stamp staged clone ${staging}: ${mark.stderr.trim() || `exit ${mark.exitCode}`}`);
481
+ }
482
+ // Guard + free-and-not-symlink + mv share one command: a rebound ancestor never receives the move.
483
+ const promoteCmd = `${ancestorSymlinkGuard(guardRoot, absRepoPath)} && ` +
484
+ `[ ! -e ${shellQuote(absRepoPath)} ] && [ ! -L ${shellQuote(absRepoPath)} ] && ` +
485
+ `mv ${shellQuote(staging)} ${shellQuote(absRepoPath)}`;
486
+ let promote;
487
+ try {
488
+ promote = await this.runner.exec(promoteCmd);
489
+ }
490
+ catch (err) {
491
+ await this.reconcilePromote(staging, absRepoPath, nestedPath, finalClaim, nonce, guardRoot, `mv exec rejected: ${err instanceof Error ? err.message : String(err)}`);
492
+ return;
493
+ }
494
+ if (promote.exitCode === 0) {
495
+ // Confirm the landing site BEFORE touching any marker: an exit-0 mv can nest staging into a raced-in target, making `final` foreign — clearing its baxian-promote-claim would delete someone else's file.
496
+ const nested = await this.runner.exec(`test -e ${shellQuote(nestedPath)}`);
497
+ if (execOutcomeUnknown(nested) || (nested.exitCode !== 0 && nested.exitCode !== 1)) {
498
+ const reason = `promote verification failed (exit ${nested.exitCode}): ${nested.stderr.trim() || 'exec layer failure'}`;
499
+ await discardBoth(reason);
500
+ throw new Error(`Cannot verify promoted clone at ${absRepoPath}; ${reason}`);
501
+ }
502
+ if (nested.exitCode === 1) {
503
+ // No nested copy: our mv landed at `final`. Its marker must still hold our nonce to adopt it — a
504
+ // refused clear means `final` was replaced after the mv (foreign clone), so promote is inconclusive.
505
+ const cleared = await this.clearPromoteClaim(finalClaim, ancestorSymlinkGuard(guardRoot, finalClaim), nonce);
506
+ if (cleared !== 'removed') {
507
+ throw new Error(`Promote to ${absRepoPath} landed but its ownership marker was ${cleared} (replaced/foreign or unverifiable); refusing to adopt. Retry DELETE/clone.`);
508
+ }
509
+ return;
510
+ }
511
+ await this.discardStaging(nestedPath, `final path ${absRepoPath} was recreated concurrently`, nestedGuard);
512
+ throw new Error(`Final path ${absRepoPath} was recreated while promoting; staged clone withdrawn.`);
513
+ }
514
+ if (execOutcomeUnknown(promote)) {
515
+ await this.reconcilePromote(staging, absRepoPath, nestedPath, finalClaim, nonce, guardRoot, `mv outcome unknown (exit ${promote.exitCode}): ${promote.stderr.trim()}`);
439
516
  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.`);
517
+ }
518
+ await discardBoth(`promote failed: ${promote.stderr.trim() || `exit ${promote.exitCode}`}`);
519
+ throw new Error(`Cannot promote staged clone into ${absRepoPath}: ${promote.stderr.trim() || `exit ${promote.exitCode}`}`);
520
+ }
521
+ // Three-home reconciliation of an unknown mv: staging present → not executed (discard); final holds our nonce → done; nested → target race (discard); else inconclusive (keep).
522
+ async reconcilePromote(staging, absRepoPath, nestedPath, finalClaim, nonce, guardRoot, cause) {
523
+ const stagingExists = await this.runner.exec(`test -e ${shellQuote(staging)}`);
524
+ if (stagingExists.exitCode === 0) {
525
+ await this.discardStaging(staging, `mv not executed (${cause})`, ancestorSymlinkGuard(guardRoot, staging));
526
+ throw new Error(`Promote to ${absRepoPath} not executed; staged clone withdrawn. ${cause}`);
527
+ }
528
+ if (stagingExists.exitCode === 1) {
529
+ const marker = await this.runner.exec(`cat ${shellQuote(finalClaim)} 2>/dev/null`);
530
+ if (marker.exitCode === 0 && marker.stdout.trim() === nonce) {
531
+ // The separate cat above can race a replacement of `final`; the atomic clear is authoritative —
532
+ // only treat the promote as completed-and-ours if the marker was actually removed under nonce.
533
+ const cleared = await this.clearPromoteClaim(finalClaim, ancestorSymlinkGuard(guardRoot, finalClaim), nonce);
534
+ if (cleared !== 'removed') {
535
+ throw new Error(`Promote to ${absRepoPath} reconciliation: ownership marker was ${cleared} (final replaced after the nonce read); refusing to adopt. ${cause}`);
536
+ }
537
+ console.warn(`[repo-store] promote to ${absRepoPath} reconciled as already-completed (${cause})`);
538
+ return;
539
+ }
540
+ const nested = await this.runner.exec(`test -e ${shellQuote(nestedPath)}`);
541
+ if (nested.exitCode === 0) {
542
+ await this.discardStaging(nestedPath, `mv nested on target race (${cause})`, ancestorSymlinkGuard(guardRoot, nestedPath));
543
+ throw new Error(`Promote to ${absRepoPath} nested on a target race; staged clone withdrawn. ${cause}`);
544
+ }
545
+ }
546
+ console.warn(`[repo-store] promote to ${absRepoPath} outcome UNKNOWN — staging/final/nested all inconclusive, nothing removed (${cause})`);
547
+ throw new Error(`Cannot reconcile promote to ${absRepoPath}; all locations inconclusive. ${cause}`);
548
+ }
549
+ async clearPromoteClaim(finalClaim, guard, nonce) {
550
+ try {
551
+ // Nonce re-check and rm in ONE command (a separate cat→rm could delete a replaced foreign marker); the echoed marker surfaces a guard/nonce-refused clear that the `if`'s exit 0 would otherwise mask.
552
+ const rm = await this.runner.exec(`if ${guard} && [ "$(cat ${shellQuote(finalClaim)} 2>/dev/null)" = ${shellQuote(nonce)} ]; ` +
553
+ `then rm -f ${shellQuote(finalClaim)} && echo BX_MARKER_REMOVED; else echo BX_MARKER_REFUSED; fi`);
554
+ if (rm.exitCode !== 0) {
555
+ console.warn(`[repo-store] failed to clear promote-claim marker ${finalClaim}: ${rm.stderr.trim() || `exit ${rm.exitCode}`}`);
556
+ return 'failed';
557
+ }
558
+ if (rm.stdout.includes('BX_MARKER_REFUSED')) {
559
+ console.warn(`[repo-store] promote-claim marker ${finalClaim} NOT cleared: guard/nonce mismatch (foreign or rebound); left in place`);
560
+ return 'refused';
561
+ }
562
+ return 'removed';
563
+ }
564
+ catch (err) {
565
+ console.warn(`[repo-store] failed to clear promote-claim marker ${finalClaim}:`, err);
566
+ return 'failed';
567
+ }
442
568
  }
443
- // rmdir cannot touch anything non-empty; a failed transport proves nothing about emptiness.
569
+ // rmdir can't touch anything non-empty and the chain guard binds it to the physical managed root, so a rebound parent can't be hit.
444
570
  async recoverEmptyLeftoverDir(absRepoPath) {
445
571
  if (this.configuredWorkdir)
446
572
  return false;
447
- const undo = await this.probe(`rmdir ${shellQuote(absRepoPath)}`, `leftover dir ${absRepoPath}`);
573
+ const guardRoot = await this.resolveHome();
574
+ const undo = await this.probe(`${ancestorSymlinkGuard(guardRoot, absRepoPath)} && rmdir ${shellQuote(absRepoPath)}`, `leftover dir ${absRepoPath}`);
448
575
  if (undo.exitCode === 0) {
449
576
  console.warn(`[repo-store] removed leftover empty dir ${absRepoPath}; retrying clone`);
450
577
  return true;
@@ -455,7 +582,9 @@ export class RepoStore {
455
582
  const last = this.cache.lastFetchAt.get(cacheKey) ?? 0;
456
583
  if (Date.now() - last < FETCH_THROTTLE_MS)
457
584
  return;
458
- const result = await execNetwork(this.runner, `cd ${shellQuote(absRepoPath)} && ${GIT_NET_ENV} git fetch --all --prune && git remote set-head origin --auto`);
585
+ // fetch/set-head write refs and FETCH_HEAD; the canonical self-guard rides the same command so a
586
+ // rebind after validateClone can't redirect the writes into an external repo.
587
+ const result = await execNetwork(this.runner, `${canonicalSelfGuard(absRepoPath)} && cd ${shellQuote(absRepoPath)} && ${GIT_NET_ENV} git fetch --all --prune && git remote set-head origin --auto`);
459
588
  if (result.exitCode !== 0) {
460
589
  throw new Error(`git fetch failed or origin/HEAD could not be refreshed at ${absRepoPath}: ${result.stderr}`);
461
590
  }
@@ -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":"AACA,OAAO,EAWL,KAAK,WAAW,EAEhB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAc,KAAK,aAAa,EAAmB,MAAM,aAAa,CAAC;AAK9E,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM;CAKlB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,CAAC;IACnD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACrD;AAYD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAuCnE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CA0BnE;AAUD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEhD,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BvF,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgEjG,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqE9D,oBAAoB,CACxB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,YAAY,EAAE,EAClC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAuCV,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAMnF,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAMpF,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnD,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAatF,aAAa,CACjB,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IA6BZ,cAAc,CAClB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC;YAsBlB,gBAAgB;YAYhB,kBAAkB;YAclB,iBAAiB;IAW/B,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,cAAc;CAKvB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,oBAAoB,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,oBAAoB,CAAC;CAChD;AAaD,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAwClC"}
1
+ {"version":3,"file":"review-transport.d.ts","sourceRoot":"","sources":["../../src/agent/review-transport.ts"],"names":[],"mappings":"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"}