baxian 2.0.2 → 2.0.4

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 (232) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +3 -3
  3. package/dist/agent/bootstrap.js +4 -4
  4. package/dist/agent/branch.d.ts.map +1 -1
  5. package/dist/agent/branch.js +0 -7
  6. package/dist/agent/branch.js.map +1 -1
  7. package/dist/agent/detect/region.d.ts.map +1 -1
  8. package/dist/agent/detect/region.js +0 -3
  9. package/dist/agent/detect/region.js.map +1 -1
  10. package/dist/agent/dispatch-reconciler.d.ts +2 -0
  11. package/dist/agent/dispatch-reconciler.d.ts.map +1 -1
  12. package/dist/agent/dispatch-reconciler.js +48 -55
  13. package/dist/agent/dispatch-reconciler.js.map +1 -1
  14. package/dist/agent/lineage.d.ts.map +1 -1
  15. package/dist/agent/lineage.js +0 -9
  16. package/dist/agent/lineage.js.map +1 -1
  17. package/dist/agent/manager.d.ts +42 -8
  18. package/dist/agent/manager.d.ts.map +1 -1
  19. package/dist/agent/manager.js +717 -375
  20. package/dist/agent/manager.js.map +1 -1
  21. package/dist/agent/net-exec.d.ts.map +1 -1
  22. package/dist/agent/net-exec.js +0 -5
  23. package/dist/agent/net-exec.js.map +1 -1
  24. package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
  25. package/dist/agent/pane-streamer-manager.js +0 -36
  26. package/dist/agent/pane-streamer-manager.js.map +1 -1
  27. package/dist/agent/pane-streamer.d.ts +6 -0
  28. package/dist/agent/pane-streamer.d.ts.map +1 -1
  29. package/dist/agent/pane-streamer.js +126 -83
  30. package/dist/agent/pane-streamer.js.map +1 -1
  31. package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
  32. package/dist/agent/phase-signal-watcher.js +2 -77
  33. package/dist/agent/phase-signal-watcher.js.map +1 -1
  34. package/dist/agent/phase-signal.d.ts +0 -1
  35. package/dist/agent/phase-signal.d.ts.map +1 -1
  36. package/dist/agent/phase-signal.js +0 -17
  37. package/dist/agent/phase-signal.js.map +1 -1
  38. package/dist/agent/preflight.d.ts.map +1 -1
  39. package/dist/agent/preflight.js +0 -18
  40. package/dist/agent/preflight.js.map +1 -1
  41. package/dist/agent/prompt.d.ts.map +1 -1
  42. package/dist/agent/prompt.js +0 -1
  43. package/dist/agent/prompt.js.map +1 -1
  44. package/dist/agent/repo-store.d.ts.map +1 -1
  45. package/dist/agent/repo-store.js +0 -38
  46. package/dist/agent/repo-store.js.map +1 -1
  47. package/dist/agent/runner.d.ts.map +1 -1
  48. package/dist/agent/runner.js +0 -2
  49. package/dist/agent/runner.js.map +1 -1
  50. package/dist/agent/tmux-install.js +0 -1
  51. package/dist/agent/tmux-install.js.map +1 -1
  52. package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
  53. package/dist/agent/tmux-probe-poller.js +4 -11
  54. package/dist/agent/tmux-probe-poller.js.map +1 -1
  55. package/dist/agent/tmux.d.ts.map +1 -1
  56. package/dist/agent/tmux.js +0 -86
  57. package/dist/agent/tmux.js.map +1 -1
  58. package/dist/agent/vt-visible-text.d.ts +46 -1
  59. package/dist/agent/vt-visible-text.d.ts.map +1 -1
  60. package/dist/agent/vt-visible-text.js +639 -63
  61. package/dist/agent/vt-visible-text.js.map +1 -1
  62. package/dist/api/agents.d.ts.map +1 -1
  63. package/dist/api/agents.js +3 -49
  64. package/dist/api/agents.js.map +1 -1
  65. package/dist/api/config.d.ts.map +1 -1
  66. package/dist/api/config.js +10 -59
  67. package/dist/api/config.js.map +1 -1
  68. package/dist/api/hosts.d.ts.map +1 -1
  69. package/dist/api/hosts.js +8 -63
  70. package/dist/api/hosts.js.map +1 -1
  71. package/dist/api/platform-guard.d.ts.map +1 -1
  72. package/dist/api/platform-guard.js +2 -3
  73. package/dist/api/platform-guard.js.map +1 -1
  74. package/dist/api/probe.d.ts.map +1 -1
  75. package/dist/api/probe.js +0 -1
  76. package/dist/api/probe.js.map +1 -1
  77. package/dist/api/projects.d.ts.map +1 -1
  78. package/dist/api/projects.js +15 -28
  79. package/dist/api/projects.js.map +1 -1
  80. package/dist/api/tasks.d.ts.map +1 -1
  81. package/dist/api/tasks.js +94 -58
  82. package/dist/api/tasks.js.map +1 -1
  83. package/dist/app.d.ts +2 -2
  84. package/dist/app.d.ts.map +1 -1
  85. package/dist/app.js +0 -6
  86. package/dist/app.js.map +1 -1
  87. package/dist/cli.d.ts.map +1 -1
  88. package/dist/cli.js +6 -31
  89. package/dist/cli.js.map +1 -1
  90. package/dist/config/hot-reload.d.ts.map +1 -1
  91. package/dist/config/hot-reload.js +0 -4
  92. package/dist/config/hot-reload.js.map +1 -1
  93. package/dist/config/loader.d.ts.map +1 -1
  94. package/dist/config/loader.js +6 -29
  95. package/dist/config/loader.js.map +1 -1
  96. package/dist/config/normalizer.d.ts.map +1 -1
  97. package/dist/config/normalizer.js +0 -19
  98. package/dist/config/normalizer.js.map +1 -1
  99. package/dist/config/validator.d.ts.map +1 -1
  100. package/dist/config/validator.js +31 -229
  101. package/dist/config/validator.js.map +1 -1
  102. package/dist/event/handlers.d.ts.map +1 -1
  103. package/dist/event/handlers.js +3 -11
  104. package/dist/event/handlers.js.map +1 -1
  105. package/dist/event/log.js +0 -2
  106. package/dist/event/log.js.map +1 -1
  107. package/dist/event/ws.d.ts.map +1 -1
  108. package/dist/event/ws.js +3 -3
  109. package/dist/event/ws.js.map +1 -1
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +5 -46
  112. package/dist/index.js.map +1 -1
  113. package/dist/platform/body-digest.d.ts.map +1 -1
  114. package/dist/platform/body-digest.js +0 -4
  115. package/dist/platform/body-digest.js.map +1 -1
  116. package/dist/platform/command-renderer.d.ts.map +1 -1
  117. package/dist/platform/command-renderer.js +0 -3
  118. package/dist/platform/command-renderer.js.map +1 -1
  119. package/dist/platform/comment-cursor.d.ts.map +1 -1
  120. package/dist/platform/comment-cursor.js +0 -21
  121. package/dist/platform/comment-cursor.js.map +1 -1
  122. package/dist/platform/driver-spec.d.ts.map +1 -1
  123. package/dist/platform/driver-spec.js +1 -42
  124. package/dist/platform/driver-spec.js.map +1 -1
  125. package/dist/platform/feedback.d.ts +5 -1
  126. package/dist/platform/feedback.d.ts.map +1 -1
  127. package/dist/platform/feedback.js +7 -1
  128. package/dist/platform/feedback.js.map +1 -1
  129. package/dist/platform/field-mapper.d.ts.map +1 -1
  130. package/dist/platform/field-mapper.js +3 -11
  131. package/dist/platform/field-mapper.js.map +1 -1
  132. package/dist/platform/git-driver.d.ts.map +1 -1
  133. package/dist/platform/git-driver.js +0 -20
  134. package/dist/platform/git-driver.js.map +1 -1
  135. package/dist/platform/manifest.d.ts.map +1 -1
  136. package/dist/platform/manifest.js +0 -3
  137. package/dist/platform/manifest.js.map +1 -1
  138. package/dist/platform/markers.d.ts.map +1 -1
  139. package/dist/platform/markers.js +0 -19
  140. package/dist/platform/markers.js.map +1 -1
  141. package/dist/platform/platform-poller.d.ts +5 -1
  142. package/dist/platform/platform-poller.d.ts.map +1 -1
  143. package/dist/platform/platform-poller.js +8 -49
  144. package/dist/platform/platform-poller.js.map +1 -1
  145. package/dist/platform/plugin-registry.d.ts.map +1 -1
  146. package/dist/platform/plugin-registry.js +1 -12
  147. package/dist/platform/plugin-registry.js.map +1 -1
  148. package/dist/platform/pr-conversation-cache.d.ts +12 -7
  149. package/dist/platform/pr-conversation-cache.d.ts.map +1 -1
  150. package/dist/platform/pr-conversation-cache.js +60 -40
  151. package/dist/platform/pr-conversation-cache.js.map +1 -1
  152. package/dist/platform/preflight-exec.d.ts.map +1 -1
  153. package/dist/platform/preflight-exec.js +0 -9
  154. package/dist/platform/preflight-exec.js.map +1 -1
  155. package/dist/platform/response-parser.d.ts.map +1 -1
  156. package/dist/platform/response-parser.js +0 -4
  157. package/dist/platform/response-parser.js.map +1 -1
  158. package/dist/platform/review-timeline.d.ts +17 -2
  159. package/dist/platform/review-timeline.d.ts.map +1 -1
  160. package/dist/platform/review-timeline.js +93 -106
  161. package/dist/platform/review-timeline.js.map +1 -1
  162. package/dist/platform/row-schema.d.ts.map +1 -1
  163. package/dist/platform/row-schema.js +0 -11
  164. package/dist/platform/row-schema.js.map +1 -1
  165. package/dist/platform/startup.d.ts.map +1 -1
  166. package/dist/platform/startup.js +1 -12
  167. package/dist/platform/startup.js.map +1 -1
  168. package/dist/platform/types.d.ts.map +1 -1
  169. package/dist/platform/types.js +0 -5
  170. package/dist/platform/types.js.map +1 -1
  171. package/dist/platform/verdict-engine.d.ts.map +1 -1
  172. package/dist/platform/verdict-engine.js +0 -15
  173. package/dist/platform/verdict-engine.js.map +1 -1
  174. package/dist/shared/concurrency.d.ts.map +1 -1
  175. package/dist/shared/concurrency.js +0 -2
  176. package/dist/shared/concurrency.js.map +1 -1
  177. package/dist/shared/constants.d.ts +0 -2
  178. package/dist/shared/constants.d.ts.map +1 -1
  179. package/dist/shared/constants.js +0 -3
  180. package/dist/shared/constants.js.map +1 -1
  181. package/dist/shared/git-url.d.ts.map +1 -1
  182. package/dist/shared/git-url.js +0 -9
  183. package/dist/shared/git-url.js.map +1 -1
  184. package/dist/shared/types.d.ts +31 -12
  185. package/dist/shared/types.d.ts.map +1 -1
  186. package/dist/shared/types.js +14 -0
  187. package/dist/shared/types.js.map +1 -1
  188. package/dist/skill/registry.d.ts.map +1 -1
  189. package/dist/skill/registry.js +0 -5
  190. package/dist/skill/registry.js.map +1 -1
  191. package/dist/skills/baxian-signals/SKILL.md +0 -6
  192. package/dist/state/agent-store.d.ts.map +1 -1
  193. package/dist/state/agent-store.js +0 -6
  194. package/dist/state/agent-store.js.map +1 -1
  195. package/dist/state/error-record-store.d.ts.map +1 -1
  196. package/dist/state/error-record-store.js +0 -5
  197. package/dist/state/error-record-store.js.map +1 -1
  198. package/dist/state/init.d.ts.map +1 -1
  199. package/dist/state/init.js +0 -1
  200. package/dist/state/init.js.map +1 -1
  201. package/dist/state/lock.d.ts.map +1 -1
  202. package/dist/state/lock.js +0 -1
  203. package/dist/state/lock.js.map +1 -1
  204. package/dist/state/snapshot.d.ts +0 -1
  205. package/dist/state/snapshot.d.ts.map +1 -1
  206. package/dist/state/snapshot.js +0 -13
  207. package/dist/state/snapshot.js.map +1 -1
  208. package/dist/state/task-store.d.ts.map +1 -1
  209. package/dist/state/task-store.js +96 -11
  210. package/dist/state/task-store.js.map +1 -1
  211. package/dist/terminal/attach.d.ts.map +1 -1
  212. package/dist/terminal/attach.js +0 -4
  213. package/dist/terminal/attach.js.map +1 -1
  214. package/dist/terminal/stream-ws.js +0 -5
  215. package/dist/terminal/stream-ws.js.map +1 -1
  216. package/dist/web/assets/index-CzVzThuT.js +15 -0
  217. package/dist/web/assets/{index-BS2adAfI.css → index-Rmp4wT_5.css} +1 -1
  218. package/dist/web/index.html +2 -2
  219. package/package.json +1 -1
  220. package/dist/agent/root-agent-runtime.d.ts +0 -80
  221. package/dist/agent/root-agent-runtime.d.ts.map +0 -1
  222. package/dist/agent/root-agent-runtime.js +0 -637
  223. package/dist/agent/root-agent-runtime.js.map +0 -1
  224. package/dist/agent/root-recovery-coordinator.d.ts +0 -124
  225. package/dist/agent/root-recovery-coordinator.d.ts.map +0 -1
  226. package/dist/agent/root-recovery-coordinator.js +0 -1557
  227. package/dist/agent/root-recovery-coordinator.js.map +0 -1
  228. package/dist/state/root-recovery-store.d.ts +0 -107
  229. package/dist/state/root-recovery-store.d.ts.map +0 -1
  230. package/dist/state/root-recovery-store.js +0 -400
  231. package/dist/state/root-recovery-store.js.map +0 -1
  232. package/dist/web/assets/index-BKiM0MSM.js +0 -15
@@ -48,7 +48,6 @@ function assertPlainFormat(fmt) {
48
48
  throw new Error(`tmux format ${JSON.stringify(fmt)} contains unsupported characters`);
49
49
  }
50
50
  }
51
- // Newline/NUL cannot survive tmux command re-parsing; everything else round-trips via '\'' splicing.
52
51
  export function tmuxQuote(value) {
53
52
  if (value.includes('\n') || value.includes('\0')) {
54
53
  throw new Error(`tmux argument ${JSON.stringify(value)} contains unsupported characters (newline/NUL)`);
@@ -68,15 +67,11 @@ function parseSessionRef(line) {
68
67
  return null;
69
68
  return { serverPid: m[1], serverStart: m[2], sessionId: m[3] };
70
69
  }
71
- // Names land inside tmux format filters — reject syntax-altering characters outright.
72
70
  function assertPlainSessionName(name) {
73
71
  if (!/^[A-Za-z0-9_@=[\]-]+$/.test(name)) {
74
72
  throw new Error(`tmux session name ${JSON.stringify(name)} contains unsupported characters`);
75
73
  }
76
74
  }
77
- // One read carries geometry, owner state, non-reusable session identity, the
78
- // session claim, and a feature probe evaluated by the same server that will
79
- // evaluate write guards (plus its version for the legacy determination).
80
75
  const WINDOW_GEOMETRY_FORMAT = '#{window_width} #{window_height} #{status} #{window-size} ' +
81
76
  '#{@bx_owner_gen}|#{pid}|#{start_time}|#{session_id}|#{@baxian-agent-id}|#{version}|#{e|<=:1,2}';
82
77
  const TMUX_VERSION_RE = /^(?:next-)?(\d+)\.(\d+)/;
@@ -89,15 +84,10 @@ export function classifyOwnerWriteCapability(versionRaw, probeRaw) {
89
84
  const major = parseInt(m[1], 10);
90
85
  const minor = parseInt(m[2], 10);
91
86
  if (major > 3 || (major === 3 && minor >= 2)) {
92
- // A >=3.2 server whose arithmetic probe did NOT evaluate is contradictory
93
- // evidence — never downgrade it to an unguarded-adjacent path.
94
87
  return null;
95
88
  }
96
89
  return 'legacy';
97
90
  }
98
- // A client's usable content area excludes its status line(s); tmux only keeps the
99
- // scroll-optimized incremental stream for clients whose content area matches the
100
- // window size, so both conversions must stay N-aware or geometry runs away.
101
91
  export function contentArea(tty, statusLines) {
102
92
  return { cols: tty.cols, rows: Math.max(1, tty.rows - statusLines) };
103
93
  }
@@ -150,20 +140,16 @@ export class SessionAbsentError extends Error {
150
140
  this.name = 'SessionAbsentError';
151
141
  }
152
142
  }
153
- // A pattern that can never match — used where a runtime has no dialog of a given kind.
154
143
  const NEVER_RE = /[^\s\S]/;
155
144
  const REPL_PROC_TITLES = {
156
145
  'claude-code': /^(?:claude(?:\.exe)?|\d+\.\d+\.\d+)$/,
157
146
  codex: /^(?:codex|node)$/,
158
- // qodercli's npm bin reports a versioned process name (e.g. qodercli-1.0.40); the standalone binary may not.
159
147
  opencode: /^opencode$/,
160
148
  qodercli: /^qodercli(?:-[\d.]+)?$/,
161
149
  };
162
150
  const READY_ANCHORS = {
163
151
  'claude-code': /⏵⏵ bypass permissions on/,
164
152
  codex: /permissions: YOLO mode|(?:^|\n)› [^\n]+\n\n\s+[A-Za-z0-9][A-Za-z0-9._:/-]*(?:\s+[A-Za-z0-9][A-Za-z0-9._:/-]*){0,2}\s+·[^\n]*(?:\n\s*)?$/,
165
- // opencode/qodercli have no idle-only anchor line (their footers persist while working);
166
- // readiness for them is decided by the idle-composer + not-busy path in hasRuntimeReadyView.
167
153
  opencode: NEVER_RE,
168
154
  qodercli: NEVER_RE,
169
155
  };
@@ -217,8 +203,6 @@ function detectRuntimeCompletionPopup(stripped, runtime) {
217
203
  }
218
204
  return RUNTIME_COMPLETION_POPUP_RE.test(footer.join(' '));
219
205
  }
220
- // codex 空 composer 上按一次 Esc 会 arm backtrack,footer 变成此提示、替换掉带 `·` 的状态行;
221
- // 它只在空闲态出现(工作中 Esc 是打断),故等价于一个 ready anchor。锚定屏幕底部避免误吃历史输出。
222
206
  const CODEX_BACKTRACK_HINT_RE = /(?:^|\n)[ \t]*esc again to edit previous message[ \t]*(?:\n[ \t]*)*$/i;
223
207
  function hasReplReadyAnchor(stripped, runtime) {
224
208
  if (READY_ANCHORS[runtime].test(stripped))
@@ -229,8 +213,6 @@ const OSC_TITLE_WORKING_RE = /^[⠀-⣿] /;
229
213
  export function hasOscTitleWorking(paneTitle) {
230
214
  return OSC_TITLE_WORKING_RE.test(paneTitle);
231
215
  }
232
- // claude-code 独有契约(poller manifest osc_title_idle 同源):idle 恒为 "✳ <摘要>",working 为 braille 帧前缀。
233
- // codex 的 title 是 cwd 之类的弱信号,不构成 idle 契约。
234
216
  const OSC_TITLE_IDLE_RES = {
235
217
  'claude-code': /^✳ /,
236
218
  };
@@ -248,24 +230,11 @@ const CODEX_IDLE_PROMPT_LINE_RE = /^[ \t]*[›→](?:[ \t].*)?$/im;
248
230
  const CODEX_IDLE_COMPOSER_LINE_RE = /(?:^|\n)→ [A-Za-z0-9][\w.-]*(?:\s+git:\([^\s)]+\))?\s*$/i;
249
231
  const CODEX_IDLE_PROMPT_TAIL_LINES = 6;
250
232
  const CODEX_WORKING_TAIL_LINES = 8;
251
- // claude-code ≥2.1 的空 composer 行是 ❯ + no-break space(U+00A0),[ \t] 不含它
252
233
  const CLAUDE_IDLE_COMPOSER_LINE_RE = /^[ \t\u00A0]*[❯>][ \t\u00A0]*$/m;
253
- // opencode working: progress bar `■■■⬝⬝⬝` + interrupt hint. Matches the herdr-listed
254
- // "esc to interrupt", the post-TUI-rewrite "esc interrupt" (no "to"), and the
255
- // "ctrl+c to interrupt" footer that can be the only busy evidence if the bar wraps out of tail.
256
234
  const OPENCODE_BUSY_RE = /(?:esc|ctrl\+c)\s+(?:to\s+)?interrupt|(?:■|⬝){4,}/i;
257
235
  const OPENCODE_IDLE_COMPOSER_RE = /ctrl\+p\s+commands/;
258
- // qodercli working: "(esc to cancel," suffix + braille "Thinking…" spinner line.
259
236
  const QODER_BUSY_RE = /\(esc to cancel,|^[ \t]*[⠀-⣿][ \t]+.*\p{L}/mu;
260
- // Only the composer placeholder marks idle. "? for shortcuts" is dropped on purpose: it is also
261
- // an OVERLAY_FOOTER_SIGNAL (help/shortcuts overlay), so using it as an idle cue would read an
262
- // overlay pane as ready and paste the prompt into the overlay instead of the composer.
263
237
  const QODER_IDLE_COMPOSER_RE = /Type your message or @/;
264
- // opencode/qodercli keep their idle footer visible while a permission prompt is up, so the
265
- // footer-based idle-composer check alone would read a pending pane as ready. Block the ready
266
- // view on the prompt text. Kept in sync with each manifest's pending rule (opencode.json
267
- // permission_required, qodercli.json confirmation_blocker) so ready gate and detection never
268
- // diverge. Misfire only degrades to a dispatch timeout (fail-closed), never an inject over a live prompt.
269
238
  const RUNTIME_PENDING_RES = {
270
239
  opencode: /△\s*Permission required|Permission required|Allow once|Allow always/i,
271
240
  qodercli: /Permission Required|Allow this command to run|Do you want to allow|waiting for user confirmation|awaiting approval|allow once or always\?|asking user|enter your response|review your answers:|shell awaiting input/i,
@@ -347,8 +316,6 @@ export function hasRuntimeIdleComposerPrompt(stripped, runtime) {
347
316
  const t = tail(stripped, CODEX_IDLE_PROMPT_TAIL_LINES);
348
317
  return CODEX_IDLE_COMPOSER_LINE_RE.test(t) || CODEX_EMPTY_COMPOSER_RE.test(t);
349
318
  }
350
- // opencode/qodercli 的 fresh 屏顶部锚定/垂直居中,idle 标记落在物理 tail 之外(下方是空行海),
351
- // 取非空行窗口(与 manifest region tailNonEmpty 同语义)做到几何无关。
352
319
  if (runtime === 'opencode') {
353
320
  return OPENCODE_IDLE_COMPOSER_RE.test(tailNonEmpty(stripped, ACTIVE_SPINNER_TAIL_LINES));
354
321
  }
@@ -365,28 +332,17 @@ function screenBlocksReadyView(stripped, runtime) {
365
332
  || (RUNTIME_PENDING_RES[runtime]?.test(stripped) ?? false)
366
333
  || detectRuntimeOverlay(stripped);
367
334
  }
368
- // manifest blocker 规则(bash/generic permission、live_blocked_form、dynamic workflow、legacy)的文本指纹。
369
- // 这些 prompt 挂起时 OSC 标题仍是 ✳ idle 形态(manifest 里 blocker 优先级压过 osc_title_idle 即此语义),
370
- // 单短语 ≤22 字符,29 列窄 pane 下不折行。仅供 title fast path 消费:并入 hasRuntimeReadyView 会让
371
- // 历史输出里的这些短语误伤 bootstrap 等既有调用方。误拦仅退化为超时 409(fail-closed),
372
- // 但可能出现在回复正文的短语一律走组合判定(与选单形态同现)——裸判会把常态 idle 输出当 prompt。
373
- // 指纹一律用 \s+ 连接词间:Ink 在词边界硬折行,长短语(skip interview…35 字符)窄屏必断行
374
335
  const PENDING_PROMPT_SIGNALS = [
375
336
  /waiting\s+for\s+permission/i,
376
337
  /review\s+your\s+answers/i,
377
338
  /skip\s+interview\s+and\s+plan\s+immediately/i,
378
339
  ];
379
340
  const PENDING_OFFER_RE = /do\s+you\s+want\s+to|would\s+you\s+like\s+to|tab\s+to\s+amend|ctrl\+e\s+to\s+explain/i;
380
- // manifest bash/generic permission 的选项行形态并集:裸 Yes(反色选中无 ❯)、编号 Yes/No。
381
- // 不收 `❯ <任意文本>`(legacy manifest 形态):clear 的 pre-clear wait 发生在清残稿之前,
382
- // composer 残稿正是 ❯+文本,收了会把修复目标场景 veto 成死锁。
383
341
  const PENDING_OPTION_LINE_RE = /^\s*(?:❯\s*)?(?:\d+\.\s*)?yes\b|^\s*(?:❯\s*)?\d+\.\s*no\b/im;
384
342
  const SELECT_FORM_ENTER_RE = /enter\s+to\s+(?:select|confirm)/i;
385
343
  const DYNAMIC_WORKFLOW_RE = /run\s+a\s+dynamic\s+workflow\?/i;
386
344
  const FORM_ESC_CANCEL_RE = /esc\s+to\s+cancel/i;
387
345
  const PENDING_PROMPT_TAIL_LINES = 15;
388
- // 活动 form 区域:最后一条水平线(form/composer box 边界)之后;无水平线(如极窄 pane 不渲染
389
- // box)时退回 tail 15。不学 extractRegion 的"无线取整屏"——这里误拦即 409,整屏会把正文引用扫进来。
390
346
  function pendingPromptRegion(stripped) {
391
347
  const lines = stripped.split('\n');
392
348
  let lastRule = -1;
@@ -408,8 +364,6 @@ export function detectRuntimePendingPrompt(stripped) {
408
364
  return true;
409
365
  return SELECT_FORM_ENTER_RE.test(t) && FORM_ESC_CANCEL_RE.test(t);
410
366
  }
411
- // transcript viewer / model picker 挂起时按键落 overlay 而非 composer;与 manifest skipStateUpdate 规则同源。
412
- // footer(ctrl+o to toggle · esc to close,31 字符)窄屏会折两行,故看最后 2 个非空行而非 manifest 的 1 行。
413
367
  const OVERLAY_FOOTER_SIGNALS = [
414
368
  /ctrl\+o[^\n]{0,60}to\s+toggle/i,
415
369
  /ctrl\+e[^\n]{0,60}show\s+all/i,
@@ -513,7 +467,6 @@ export class TmuxManager {
513
467
  async createSession(name, workdir) {
514
468
  assertPlainSessionName(name);
515
469
  const PATH = '/opt/homebrew/bin:/usr/local/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin';
516
- // -e lands the nonce atomically with the session itself — the post-disconnect ownership proof.
517
470
  const nonce = randomUUID();
518
471
  let result;
519
472
  try {
@@ -532,7 +485,6 @@ export class TmuxManager {
532
485
  return ref;
533
486
  return this.reconcileCreatedSession(name, nonce, `new-session succeeded but returned unparseable ref ${JSON.stringify(result.stdout.trim())}`);
534
487
  }
535
- // "No success seen" is not "not created" — a session may be live behind a dropped connection.
536
488
  if (execOutcomeUnknown(result)) {
537
489
  return this.reconcileCreatedSession(name, nonce, `new-session outcome unknown (exit ${result.exitCode}): ${result.stderr.trim()}`);
538
490
  }
@@ -571,7 +523,6 @@ export class TmuxManager {
571
523
  const line = result.stdout.trim();
572
524
  return line.startsWith(`${CREATION_NONCE_ENV}=`) ? line.slice(CREATION_NONCE_ENV.length + 1) : null;
573
525
  }
574
- // Transient-network / 255 markers on either stream must NOT be read as "no nonce"; treat as unknown.
575
526
  if (tmuxProbeOutcomeUnknown(result)) {
576
527
  throw new TmuxOutcomeUnknownError(`tmux creation-nonce probe for ${name} outcome unknown (transient): exit ${result.exitCode}: ${result.stderr}`);
577
528
  }
@@ -580,7 +531,6 @@ export class TmuxManager {
580
531
  }
581
532
  throw new Error(`tmux creation-nonce probe for ${name} failed (exit ${result.exitCode}): ${result.stderr}`);
582
533
  }
583
- // Ref and claim come from one round trip — the claim can't belong to a different session.
584
534
  async getSessionSnapshot(name, opts) {
585
535
  assertPlainSessionName(name);
586
536
  const result = await run(this.runner, `tmux list-sessions -F '${SESSION_REF_FORMAT}|#{@baxian-agent-id}' ` +
@@ -607,8 +557,6 @@ export class TmuxManager {
607
557
  async hasCreationNonce(name, opts) {
608
558
  return (await this.readCreationNonce(name, opts)) !== null;
609
559
  }
610
- // Every session-option write re-proves generation+session+claim inside the server itself;
611
- // expectedClaim '' is the fresh-create batch writing the claim onto a still-unclaimed session.
612
560
  async setSessionOptionsIfAlive(ref, entries, opts) {
613
561
  assertSessionRef(ref);
614
562
  if (opts.expectedClaim !== '')
@@ -650,7 +598,6 @@ export class TmuxManager {
650
598
  const value = firstLine.slice(PANE_OK_MARKER.length);
651
599
  return value === '' ? null : value;
652
600
  }
653
- // The web-terminal resize path: size change and window-size pin ride one claim-checked command.
654
601
  async resizeWindowByRef(ref, claim, cols, rows) {
655
602
  assertSessionRef(ref);
656
603
  assertPlainSessionName(claim);
@@ -673,8 +620,6 @@ export class TmuxManager {
673
620
  throw new PaneGoneError(ref.sessionId, 'identity condition failed');
674
621
  }
675
622
  }
676
- // list-panes -a with an exact generation+session+claim filter cannot fall back to another
677
- // session, and a fresh server reissuing the same $n fails the generation half.
678
623
  async getSinglePaneByRef(ref, claim, opts) {
679
624
  assertSessionRef(ref);
680
625
  assertPlainSessionName(claim);
@@ -697,7 +642,6 @@ export class TmuxManager {
697
642
  assertPaneId(paneId);
698
643
  return { session: ref, paneId, claim };
699
644
  }
700
- // Generation AND the caller-declared claim condition are evaluated inside the killing server itself.
701
645
  async killSessionRef(ref, claimCond, opts) {
702
646
  assertSessionRef(ref);
703
647
  let claimClause;
@@ -717,7 +661,6 @@ export class TmuxManager {
717
661
  if (result.exitCode === 0) {
718
662
  return result.stdout.includes(REFUSED_MARKER) ? 'refused' : 'killed';
719
663
  }
720
- // Transient / 255 must not be read as "absent" — a stuck kill would otherwise let DELETE drop the session.
721
664
  if (tmuxProbeOutcomeUnknown(result)) {
722
665
  throw new TmuxOutcomeUnknownError(`tmux killSessionRef ${ref.sessionId} outcome unknown (transient): exit ${result.exitCode}: ${result.stderr}`);
723
666
  }
@@ -741,7 +684,6 @@ export class TmuxManager {
741
684
  }
742
685
  throw new Error(`tmux guarded write to ${pane.paneId} failed (exit ${result.exitCode}): ${result.stderr}`);
743
686
  }
744
- // Marker-first read: the FIRST line decides ok/gone, so pane text can never spoof the verdict.
745
687
  async guardedPaneRead(pane, headerFmt, extra = [], opts) {
746
688
  assertPaneRef(pane);
747
689
  assertPlainFormat(headerFmt);
@@ -768,8 +710,6 @@ export class TmuxManager {
768
710
  body: nl === -1 ? '' : result.stdout.slice(nl + 1),
769
711
  };
770
712
  }
771
- // Absent / transient / other failures are distinct outcomes: SSH flakes and
772
- // exit 255 must never be read as "session gone" (three-state discipline).
773
713
  async getWindowGeometry(name, opts) {
774
714
  assertPlainSessionName(name);
775
715
  const result = await run(this.runner, `tmux display-message -p -t ${shellQuote(`=${name}:`)} ${shellQuote(WINDOW_GEOMETRY_FORMAT)}`, opts);
@@ -783,10 +723,6 @@ export class TmuxManager {
783
723
  }
784
724
  throw new Error(`tmux getWindowGeometry ${name} failed (exit ${result.exitCode}): ${result.stderr}`);
785
725
  }
786
- // The guard re-evaluates identity + claim (+ generation when the server proves
787
- // format arithmetic) inside the tmux server at execution time: a delayed write —
788
- // stale gen, a same-name session rebuilt after ours died, or a foreign/unclaimed
789
- // same-name session — lands as a no-op instead of mutating a window we don't own.
790
726
  async ownerWrite(name, ref, claim, gen, mode, resizeTo, opts) {
791
727
  assertPlainSessionName(name);
792
728
  assertSessionRef(ref);
@@ -830,7 +766,6 @@ export class TmuxManager {
830
766
  throw new Error(`tmux pane ${pane.paneId} has an empty current path`);
831
767
  return path;
832
768
  }
833
- // A gone pane reads as an empty title on purpose: title is an advisory signal, never an authority.
834
769
  async readPaneTitle(pane, opts) {
835
770
  try {
836
771
  return await this.displayMessage(pane, '#{pane_title}', opts);
@@ -881,7 +816,6 @@ export class TmuxManager {
881
816
  const { body } = await this.guardedPaneRead(pane, '', [`capture-pane ${flags.join(' ')} -t ${pane.paneId}`], execOpts);
882
817
  return body;
883
818
  }
884
- // Probe-gated stdin load (bytes reach a buffer only on a five-field identity match, no openssl) then a claim-checked paste; once the load is confirmed, any paste non-success reconciles the named buffer so nothing leaks.
885
819
  async injectPrompt(pane, prompt, agentId) {
886
820
  assertPaneRef(pane);
887
821
  const bytes = Buffer.byteLength(prompt, 'utf8');
@@ -897,7 +831,6 @@ export class TmuxManager {
897
831
  ].join('|');
898
832
  const loadCmd = `[ "$(tmux display-message -p -t ${shellQuote(pane.paneId)} '${probeFmt}')" = ${shellQuote(expected)} ] && ` +
899
833
  `tmux load-buffer -b ${shellQuote(buf)} -`;
900
- // Step 1 — probe-gated load via execWithStdin (login-shell PATH resolves tmux); a failed gate/load leaves NO buffer, only an unknown outcome reconciles.
901
834
  let loaded;
902
835
  try {
903
836
  loaded = await this.runner.execWithStdin(loadCmd, payload);
@@ -915,7 +848,6 @@ export class TmuxManager {
915
848
  throw new PaneGoneError(pane.paneId, loaded.stderr.trim());
916
849
  throw new PaneGoneError(pane.paneId, `identity probe or buffer load failed before any buffer was created: ${loaded.stderr.trim() || 'probe mismatch'}`);
917
850
  }
918
- // Step 2 — the buffer now exists. Any non-success here may leave it behind → reconcile by name.
919
851
  const pasteCmd = `tmux if-shell -t ${shellQuote(pane.paneId)} -F ${shellQuote(paneCond(pane))} ` +
920
852
  `${shellQuote(`paste-buffer -b ${buf} -t ${pane.paneId} -d -p -r`)} ` +
921
853
  `${shellQuote(`delete-buffer -b ${buf} ; display-message -p ${TARGET_GONE_MARKER}`)}`;
@@ -933,15 +865,12 @@ export class TmuxManager {
933
865
  }
934
866
  return;
935
867
  }
936
- // Non-zero after a confirmed load (e.g. pane vanished before if-shell resolved -t, returning
937
- // "can't find pane") does NOT run the else-branch, so the buffer lingers — reconcile by name.
938
868
  await this.reconcileInjectBuffer(buf, `paste failed (exit ${pasted.exitCode}): ${pasted.stderr.trim()}`);
939
869
  if (pasted.exitCode === 1 && (isSessionAbsent(pasted.stderr) || isTargetGone(pasted.stderr))) {
940
870
  throw new PaneGoneError(pane.paneId, pasted.stderr.trim() || 'pane gone before paste');
941
871
  }
942
872
  throw new Error(`tmux injectPrompt ${pane.paneId} paste failed (exit ${pasted.exitCode}): ${pasted.stderr}`);
943
873
  }
944
- // The uuid buffer name is the non-rebindable credential: deleting it by name on any server removes only this call's bytes, so reconciliation ignores generation.
945
874
  async reconcileInjectBuffer(buf, cause) {
946
875
  try {
947
876
  const del = await run(this.runner, `tmux delete-buffer -b ${shellQuote(buf)}`);
@@ -958,7 +887,6 @@ export class TmuxManager {
958
887
  console.warn(`[tmux] injectPrompt reconcile: buffer ${buf} cleanup NOT confirmed; prompt may linger in tmux (${cause}):`, err);
959
888
  }
960
889
  }
961
- // Staging split from pasting lets a caller fence the paste after every await the staging exec hides.
962
890
  async stagePromptBuffer(paneId, prompt, agentId) {
963
891
  const bytes = Buffer.byteLength(prompt, 'utf8');
964
892
  if (bytes > MAX_PROMPT_BYTES) {
@@ -969,7 +897,6 @@ export class TmuxManager {
969
897
  let result;
970
898
  let transportErr;
971
899
  try {
972
- // Raw stdin load (no openssl) — same transport as injectPrompt, keeping the guard path openssl-free.
973
900
  result = await this.runner.execWithStdin(`tmux load-buffer -b ${shellQuote(buf)} -`, payload);
974
901
  }
975
902
  catch (err) {
@@ -978,7 +905,6 @@ export class TmuxManager {
978
905
  }
979
906
  if (transportErr !== undefined || result.exitCode !== 0) {
980
907
  let retirementNote = '';
981
- // Unknown outcome may have created the full-prompt buffer remotely; retire it by its unique name.
982
908
  if (transportErr !== undefined || execOutcomeUnknown(result)) {
983
909
  let cleanupFailure;
984
910
  try {
@@ -1026,7 +952,6 @@ export class TmuxManager {
1026
952
  async sendEnter(pane) {
1027
953
  await this.sendKeysToPane(pane, 'Enter');
1028
954
  }
1029
- // 空格先弄脏 composer——空 composer 上 C-c 会退出 codex;间隔防止连发被 codex 粘贴检测合并。
1030
955
  async clearComposerDraft(pane) {
1031
956
  await this.sendKeysLiteral(pane, ' ');
1032
957
  await sleep(COMPOSER_DIRTY_SETTLE_MS);
@@ -1052,7 +977,6 @@ export class TmuxManager {
1052
977
  if (submitAckBusy(composerBaseline, runtime)) {
1053
978
  throw new Error(`runtime ack timeout (paneId=${pane.paneId}): pane already busy at baseline`);
1054
979
  }
1055
- // Width-independent busy authority: at narrow width the in-pane "working" line soft-wraps out of regex range, but the OSC title still transitions idle→working. Prefer the caller's PRE-Enter sample; reading here would race a runtime that flips to working right after submit.
1056
980
  const baselineTitle = opts.baselineTitle ?? await this.readPaneTitle(pane);
1057
981
  if (hasOscTitleWorking(baselineTitle)) {
1058
982
  throw new Error(`runtime ack timeout (paneId=${pane.paneId}): pane already busy at baseline`);
@@ -1073,12 +997,7 @@ export class TmuxManager {
1073
997
  && !detectStartupDialog(bottomLine, runtime)
1074
998
  && !TRUST_DIALOGS[runtime].test(visible)
1075
999
  && !detectRuntimeCompletionPopup(visible, runtime)
1076
- // opencode/qodercli can open a permission/confirmation prompt right after submit,
1077
- // before any busy spinner. Resending Enter there would hit the default option
1078
- // (e.g. Allow once), so treat a pending prompt as "already left the composer".
1079
1000
  && !(RUNTIME_PENDING_RES[runtime]?.test(visible) ?? false)
1080
- // 非 YOLO 下 claude-code 的权限 prompt 底行(Esc to cancel · Tab to amend…)不落上面任何
1081
- // 守卫;区域限定的 pending 指纹兜底,误伤只退化为 ack 超时(fail-closed),绝不 Enter 进 prompt。
1082
1001
  && !detectRuntimePendingPrompt(visible);
1083
1002
  if (opts.resend
1084
1003
  && enterWouldSubmit
@@ -1177,17 +1096,12 @@ function isSessionAbsent(stderr) {
1177
1096
  s.includes('no such session') ||
1178
1097
  (s.includes('error connecting to') && s.includes('no such file or directory')));
1179
1098
  }
1180
- // A tmux probe outcome is UNKNOWN (not "absent") when exit 255 (ssh/exec layer) or an INDEPENDENT
1181
- // transient marker appears. The local "error connecting to <socket> (No such file)" absence itself
1182
- // matches the generic "error connecting to" transient pattern, so it is stripped before deciding —
1183
- // only a remaining genuine transient (ssh drop, connection reset, …) makes the outcome unknown.
1184
1099
  function tmuxProbeOutcomeUnknown(result) {
1185
1100
  if (result.exitCode === 255)
1186
1101
  return true;
1187
1102
  const stderrSansSocketAbsence = (result.stderr || '').replace(/error connecting to \S+ \(no such file or directory\)/gi, '');
1188
1103
  return isTransientNetworkFailure(stderrSansSocketAbsence) || isTransientNetworkFailure(result.stdout);
1189
1104
  }
1190
- // A pane/window that vanished (distinct from a whole-session/server absence).
1191
1105
  function isTargetGone(stderr) {
1192
1106
  const s = (stderr || '').trim().toLowerCase();
1193
1107
  return /can'?t find (?:pane|window)/.test(s) || s.includes('no such pane') || s.includes('no such window');
@@ -1 +1 @@
1
- {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/agent/tmux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/agent/tmux.ts"],"names":[],"mappings":"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"}