botmux 3.18.0-canary.6 → 3.18.0

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 (78) hide show
  1. package/README.en.md +23 -1
  2. package/README.md +23 -1
  3. package/dist/.runtime-build-id +1 -1
  4. package/dist/adapters/backend/session-backend-selector.d.ts +11 -0
  5. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  6. package/dist/adapters/backend/session-backend-selector.js +27 -2
  7. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  8. package/dist/adapters/backend/zellij-backend.d.ts +33 -1
  9. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
  10. package/dist/adapters/backend/zellij-backend.js +97 -15
  11. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  12. package/dist/adapters/cli/ebsd-input.d.ts +16 -0
  13. package/dist/adapters/cli/ebsd-input.d.ts.map +1 -0
  14. package/dist/adapters/cli/ebsd-input.js +119 -0
  15. package/dist/adapters/cli/ebsd-input.js.map +1 -0
  16. package/dist/adapters/cli/ebsd.d.ts +8 -0
  17. package/dist/adapters/cli/ebsd.d.ts.map +1 -0
  18. package/dist/adapters/cli/ebsd.js +94 -0
  19. package/dist/adapters/cli/ebsd.js.map +1 -0
  20. package/dist/adapters/cli/fs-policy.d.ts +6 -0
  21. package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
  22. package/dist/adapters/cli/fs-policy.js +6 -1
  23. package/dist/adapters/cli/fs-policy.js.map +1 -1
  24. package/dist/adapters/cli/registry.d.ts +2 -1
  25. package/dist/adapters/cli/registry.d.ts.map +1 -1
  26. package/dist/adapters/cli/registry.js +4 -1
  27. package/dist/adapters/cli/registry.js.map +1 -1
  28. package/dist/adapters/cli/service-secret-files.d.ts +4 -0
  29. package/dist/adapters/cli/service-secret-files.d.ts.map +1 -0
  30. package/dist/adapters/cli/service-secret-files.js +28 -0
  31. package/dist/adapters/cli/service-secret-files.js.map +1 -0
  32. package/dist/adapters/cli/types.d.ts +19 -2
  33. package/dist/adapters/cli/types.d.ts.map +1 -1
  34. package/dist/core/command-handler.d.ts.map +1 -1
  35. package/dist/core/command-handler.js +12 -11
  36. package/dist/core/command-handler.js.map +1 -1
  37. package/dist/core/session-manager.d.ts.map +1 -1
  38. package/dist/core/session-manager.js +14 -0
  39. package/dist/core/session-manager.js.map +1 -1
  40. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  41. package/dist/dashboard/bot-onboarding.js +4 -0
  42. package/dist/dashboard/bot-onboarding.js.map +1 -1
  43. package/dist/dashboard-web/app.js +1 -1
  44. package/dist/dashboard-web/chunks/{sessions-page-C6OBOF3A.js → sessions-page-BWR4UB6X.js} +1 -1
  45. package/dist/im/lark/card-builder.d.ts.map +1 -1
  46. package/dist/im/lark/card-builder.js +1 -0
  47. package/dist/im/lark/card-builder.js.map +1 -1
  48. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  49. package/dist/im/lark/event-dispatcher.js +8 -1
  50. package/dist/im/lark/event-dispatcher.js.map +1 -1
  51. package/dist/services/ebsd-transcript.d.ts +13 -0
  52. package/dist/services/ebsd-transcript.d.ts.map +1 -0
  53. package/dist/services/ebsd-transcript.js +158 -0
  54. package/dist/services/ebsd-transcript.js.map +1 -0
  55. package/dist/services/file-bridge-path.d.ts.map +1 -1
  56. package/dist/services/file-bridge-path.js +3 -0
  57. package/dist/services/file-bridge-path.js.map +1 -1
  58. package/dist/services/structured-bridge-clis.d.ts +5 -3
  59. package/dist/services/structured-bridge-clis.d.ts.map +1 -1
  60. package/dist/services/structured-bridge-clis.js +5 -1
  61. package/dist/services/structured-bridge-clis.js.map +1 -1
  62. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  63. package/dist/setup/bot-config-editor.js +2 -0
  64. package/dist/setup/bot-config-editor.js.map +1 -1
  65. package/dist/setup/open-platform-automation.d.ts +126 -0
  66. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  67. package/dist/setup/open-platform-automation.js +274 -0
  68. package/dist/setup/open-platform-automation.js.map +1 -1
  69. package/dist/utils/child-env.d.ts +1 -1
  70. package/dist/utils/child-env.d.ts.map +1 -1
  71. package/dist/utils/child-env.js +9 -0
  72. package/dist/utils/child-env.js.map +1 -1
  73. package/dist/utils/executable.d.ts.map +1 -1
  74. package/dist/utils/executable.js +7 -1
  75. package/dist/utils/executable.js.map +1 -1
  76. package/dist/worker.js +164 -27
  77. package/dist/worker.js.map +1 -1
  78. package/package.json +7 -7
package/README.en.md CHANGED
@@ -62,7 +62,29 @@ More: [Roles & teams](https://deepcoldy.github.io/botmux/en/roles) · [File sand
62
62
 
63
63
  Switch with `cliId` in `bots.json`. **20+ adapters**, spanning local CLIs (process-isolated, reachable via `tmux attach`) and API / cloud agents (e.g. Mira, riff — reached over API / remote, not a local process; mojo is API-driven but executes tools on the bot host by default, set cloud: true for the remote sandbox). Representative ones:
64
64
 
65
- `claude-code` · `codex` · `gemini` · `cursor` · `opencode` · `opencode2` · `antigravity` · `copilot` · `grok` · `kimi` · `kiro-cli` · `reasonix` · `dsh` · `aiden` · `coco` (TRAE) · `hermes` · `mira` · `riff` (cloud agent) … · `mojo` (API-driven, host execution by default) …
65
+ `claude-code` · `codex` · `gemini` · `cursor` · `opencode` · `opencode2` · `antigravity` · `copilot` · `grok` · `kimi` · `kiro-cli` · `reasonix` · `dsh` · `aiden` · `coco` (TRAE) · `hermes` · `ebsd` · `mira` · `riff` (cloud agent) … · `mojo` (API-driven, host execution by default) …
66
+
67
+ The `ebsd` adapter uses a dedicated external service identity and native OMP session storage. Operators must provide the Diag Gateway token and ByteCloud service account through permission-restricted files, never through `bots.json`.
68
+
69
+ Store only non-secret metadata and credential file paths in `bots.json`:
70
+
71
+ ```json
72
+ {
73
+ "cliId": "ebsd",
74
+ "workingDir": "/var/lib/botmux/ebsd-work",
75
+ "sandbox": true,
76
+ "env": {
77
+ "EBSD_BOTMUX_DIAG_ENDPOINT": "https://ebsbot.example",
78
+ "EBSD_BOTMUX_DIAG_TOKEN_FILE": "/run/secrets/ebsd-botmux/diag-token",
79
+ "EBSD_BOTMUX_BYTECLOUD_ACCESS_KEY_FILE": "/run/secrets/ebsd-botmux/bytecloud-ak",
80
+ "EBSD_BOTMUX_BYTECLOUD_SECRET_KEY_FILE": "/run/secrets/ebsd-botmux/bytecloud-sk",
81
+ "EBSD_BOTMUX_SUBJECT": "botmux-ebsd@prod",
82
+ "EBSD_BOTMUX_REPOSITORY_ROOT": "/srv/repos"
83
+ }
84
+ }
85
+ ```
86
+
87
+ The three credential files must be owner-held `0600` regular files, not symlinks. Never put their contents, the AK/SK, or the Gateway token in `bots.json`. Use a dedicated empty `workingDir`; repositories are exposed separately through the read-only `EBSD_BOTMUX_REPOSITORY_ROOT`. Linux hosts need bubblewrap before enabling `sandbox`, and startup fails closed if isolation cannot be established. The Gateway may accept current and previous keys during rotation while the subject remains stable.
66
88
 
67
89
  The current full set of `cliId`s is authoritative in [`src/adapters/cli/registry.ts`](https://github.com/deepcoldy/botmux/blob/master/src/adapters/cli/registry.ts); per-CLI config and wrapper / gateway setups are in [CLI Adapters](https://deepcoldy.github.io/botmux/en/adapters).
68
90
 
package/README.md CHANGED
@@ -81,7 +81,29 @@ botmux start
81
81
 
82
82
  `bots.json` 里用 `cliId` 一键切换。**20+ 适配器**,覆盖本地 CLI(进程隔离,`tmux attach` 可直连)和 API / 云 Agent(如 Mira、riff——通过 API / 远端接入,非本地进程;mojo 为 API 驱动、默认在宿主机执行工具,可配 cloud: true 走云沙箱)。代表项:
83
83
 
84
- `claude-code` · `codex` · `gemini` · `cursor` · `opencode` · `opencode2` · `antigravity` · `copilot` · `grok` · `kimi` · `kiro-cli` · `reasonix` · `dsh` · `aiden` · `coco`(TRAE) · `hermes` · `mira` · `riff`(云 Agent) … · `mojo`(API 驱动,默认宿主机执行) …
84
+ `claude-code` · `codex` · `gemini` · `cursor` · `opencode` · `opencode2` · `antigravity` · `copilot` · `grok` · `kimi` · `kiro-cli` · `reasonix` · `dsh` · `aiden` · `coco`(TRAE) · `hermes` · `ebsd` · `mira` · `riff`(云 Agent) … · `mojo`(API 驱动,默认宿主机执行) …
85
+
86
+ `ebsd` 使用独立的外部服务身份和原生 OMP 会话目录;部署方必须通过受限权限文件配置 Diag Gateway token 与 ByteCloud service account,不能把密钥写入 `bots.json`。
87
+
88
+ `bots.json` 里只放非敏感元数据和密钥文件路径,例如:
89
+
90
+ ```json
91
+ {
92
+ "cliId": "ebsd",
93
+ "workingDir": "/var/lib/botmux/ebsd-work",
94
+ "sandbox": true,
95
+ "env": {
96
+ "EBSD_BOTMUX_DIAG_ENDPOINT": "https://ebsbot.example",
97
+ "EBSD_BOTMUX_DIAG_TOKEN_FILE": "/run/secrets/ebsd-botmux/diag-token",
98
+ "EBSD_BOTMUX_BYTECLOUD_ACCESS_KEY_FILE": "/run/secrets/ebsd-botmux/bytecloud-ak",
99
+ "EBSD_BOTMUX_BYTECLOUD_SECRET_KEY_FILE": "/run/secrets/ebsd-botmux/bytecloud-sk",
100
+ "EBSD_BOTMUX_SUBJECT": "botmux-ebsd@prod",
101
+ "EBSD_BOTMUX_REPOSITORY_ROOT": "/srv/repos"
102
+ }
103
+ }
104
+ ```
105
+
106
+ 三个密钥文件必须是运行 BotMux 的账号持有的 `0600` 普通文件,不能是符号链接;文件内容、AK/SK 和 Gateway token 都不得写进 `bots.json`。`workingDir` 应是专用空目录,仓库通过只读的 `EBSD_BOTMUX_REPOSITORY_ROOT` 暴露。Linux 开启 `sandbox` 前需安装 bubblewrap,隔离建立失败时会拒绝启动。当前/上一把 Gateway key 可以在服务端并存完成轮换,subject 保持不变。
85
107
 
86
108
  当前完整 `cliId` 以 [`src/adapters/cli/registry.ts`](https://github.com/deepcoldy/botmux/blob/master/src/adapters/cli/registry.ts) 为准;各 CLI 的配置与套 wrapper / 网关方法见 [多 CLI 适配器](https://deepcoldy.github.io/botmux/adapters)。
87
109
 
@@ -1 +1 @@
1
- 20839c2a3a4c85cb8e81cf27135f2ccfa02418d5b14fa140a12b0bcd7f31a005
1
+ dee42b7568bfaa29896b1b763f12f3e1020cae4f4a0be0fb78af7a8f1b8605e8
@@ -57,11 +57,22 @@ export type BackendGateDecision = {
57
57
  * abandoning it would spawn a duplicate CLI and orphan the real conversation.
58
58
  * tmux/zellij capability probes use disposable sessions; ZMX checks its
59
59
  * version and full-list control plane; Herdr uses `herdr --version`.
60
+ *
61
+ * `existingSessionUnknown` is the third state of that existence check: the
62
+ * probe itself got no answer (a timeout under host load), which a
63
+ * `hasSession()`-style boolean reports as "no session". Gating on that turns a
64
+ * false negative on the CHEAP check into a hard refusal for a session whose
65
+ * pane is alive. So an indeterminate existence answer spawns rather than gates
66
+ * — the reverse asymmetry from a kill-verification, where an unanswered probe
67
+ * must NOT be read as success. Callers that deliberately gate on an
68
+ * indeterminate result (ZMX ownership / protocol version, where adopting
69
+ * someone else's session is the worse outcome) simply leave this unset.
60
70
  */
61
71
  export declare function decideBackendGate(opts: {
62
72
  requested: BackendType;
63
73
  available: boolean;
64
74
  hasExistingSession: boolean;
75
+ existingSessionUnknown?: boolean;
65
76
  }): BackendGateDecision;
66
77
  /** User-facing card shown when {@link decideBackendGate} gates a session. */
67
78
  export declare function backendGateUserMessage(backend: BackendType, reason: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"session-backend-selector.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/session-backend-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-backend-selector.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/session-backend-selector.ts"],"names":[],"mappings":"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"}
@@ -124,12 +124,24 @@ export function retireSupersededRecordedHerdrTarget(opts) {
124
124
  * abandoning it would spawn a duplicate CLI and orphan the real conversation.
125
125
  * tmux/zellij capability probes use disposable sessions; ZMX checks its
126
126
  * version and full-list control plane; Herdr uses `herdr --version`.
127
+ *
128
+ * `existingSessionUnknown` is the third state of that existence check: the
129
+ * probe itself got no answer (a timeout under host load), which a
130
+ * `hasSession()`-style boolean reports as "no session". Gating on that turns a
131
+ * false negative on the CHEAP check into a hard refusal for a session whose
132
+ * pane is alive. So an indeterminate existence answer spawns rather than gates
133
+ * — the reverse asymmetry from a kill-verification, where an unanswered probe
134
+ * must NOT be read as success. Callers that deliberately gate on an
135
+ * indeterminate result (ZMX ownership / protocol version, where adopting
136
+ * someone else's session is the worse outcome) simply leave this unset.
127
137
  */
128
138
  export function decideBackendGate(opts) {
129
139
  if (opts.requested === 'pty')
130
140
  return { action: 'spawn' };
131
141
  if (opts.hasExistingSession)
132
142
  return { action: 'spawn' };
143
+ if (opts.existingSessionUnknown)
144
+ return { action: 'spawn' };
133
145
  if (opts.available)
134
146
  return { action: 'spawn' };
135
147
  return { action: 'gate', reason: `${opts.requested} 后端在本机不可用` };
@@ -240,9 +252,22 @@ export function selectSessionBackend(opts) {
240
252
  }
241
253
  if (opts.backendType === 'zellij') {
242
254
  const sessionName = ZellijBackend.sessionName(opts.sessionId);
243
- const reattach = ZellijBackend.hasSession(sessionName);
255
+ // Prefer the caller's frozen existence decision when supplied: the worker
256
+ // resolves a tri-state probe once (biasing an indeterminate answer toward
257
+ // "reattach", since a live pane is more authoritative than a load-timed-out
258
+ // probe — the same asymmetry decideBackendGate uses) and refreshes it to
259
+ // "gone" after any teardown, so a post-kill re-selection cold-spawns rather
260
+ // than reattaching to what it just removed. A bare live `hasSession()`
261
+ // cannot tell those two call sites apart, so only fall back to it when no
262
+ // decision was threaded in (default callers / unit tests).
263
+ const reattach = opts.hasExistingSession ?? ZellijBackend.hasSession(sessionName);
264
+ // A threaded-in decision is authoritative — tell the backend to honour it
265
+ // verbatim and skip spawn()'s `|| hasSession()` self-heal, which would
266
+ // otherwise re-probe and could reattach to a pane a teardown gate just
267
+ // removed. Default callers (no decision) keep the self-heal via 'auto'.
268
+ const reattachDecision = opts.hasExistingSession === undefined ? 'auto' : 'frozen';
244
269
  return {
245
- backend: new ZellijBackend(sessionName, { ownsSession: true, isReattach: reattach }),
270
+ backend: new ZellijBackend(sessionName, { ownsSession: true, isReattach: reattach, reattachDecision }),
246
271
  isTmuxMode: false,
247
272
  isPipeMode: false,
248
273
  isZellijMode: true,
@@ -1 +1 @@
1
- {"version":3,"file":"session-backend-selector.js","sourceRoot":"","sources":["../../../src/adapters/backend/session-backend-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-backend-selector.js","sourceRoot":"","sources":["../../../src/adapters/backend/session-backend-selector.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,15 @@ export declare class ZellijBackend implements SessionBackend {
28
28
  private readonly sessionName;
29
29
  private readonly ownsSession;
30
30
  private reattaching;
31
+ /** When true, the caller has ALREADY resolved reattach-vs-fresh (the worker's
32
+ * frozen tri-state probe, refreshed to 'missing' after any teardown). spawn()
33
+ * must then honour `reattaching` verbatim and skip its `|| hasSession()`
34
+ * self-heal — that live re-probe would re-run the same load-fragile
35
+ * `list-sessions` and, on a post-kill session that has not fully died yet,
36
+ * flip a frozen `false` back to attach, reattaching to the very pane the
37
+ * teardown gate just removed. 'auto' (default) keeps the self-heal for
38
+ * callers that did not freeze a decision. */
39
+ private readonly frozenReattach;
31
40
  private configPath;
32
41
  private tmpConfigDir;
33
42
  /** Set by kill()/destroySession() so the pty-client exit they cause (an
@@ -49,6 +58,7 @@ export declare class ZellijBackend implements SessionBackend {
49
58
  ownsSession?: boolean;
50
59
  isReattach?: boolean;
51
60
  paneId?: string;
61
+ reattachDecision?: 'frozen' | 'auto';
52
62
  });
53
63
  static isAvailable(): boolean;
54
64
  static sessionName(sessionId: string): string;
@@ -59,13 +69,35 @@ export declare class ZellijBackend implements SessionBackend {
59
69
  /** Like liveSessions(), but distinguishes "command failed/timed out" ({ok:false})
60
70
  * from "command succeeded, zero live sessions" ({ok:true, sessions:[]}). The
61
71
  * tri-state probe builds on this so a transient `list-sessions` failure isn't
62
- * read as "session gone". */
72
+ * read as "session gone".
73
+ *
74
+ * NOTE zellij exits **1** with stderr `No active zellij sessions found.` when
75
+ * there are simply no sessions — an authoritative "zero", not a failure. A
76
+ * bare catch would report that clean host as {ok:false} → `unknown`, and any
77
+ * caller that biases `unknown` toward reattach would then `zellij attach` a
78
+ * name that does not exist (exit 1) on every first start. So classify like
79
+ * TmuxBackend.probeSession does: a numeric exit status with no signal is an
80
+ * ANSWER from zellij; only a signal/timeout or a spawn failure (ENOENT/EACCES
81
+ * — neither carries a numeric status) means we never got one.
82
+ *
83
+ * The "answered" case is split by EXIT CODE, not by stderr wording alone:
84
+ * zellij uses 1 for "listed fine, nothing live" and clap's 2 for usage errors
85
+ * (verified against 0.44.1: a bogus flag/subcommand exits 2). But a numeric
86
+ * status is only trusted AFTER ruling out a deadline — Node's timeout can
87
+ * race the child's own exit and produce `ETIMEDOUT` alongside a clean status
88
+ * (see isExecTimeoutError and the tmux-probe regression that pins it), which
89
+ * is still "no answer". And a silent non-zero exit is not proof of emptiness:
90
+ * we require zellij's explicit "no active sessions" line (or live rows) to
91
+ * call it, so anything ambiguous degrades to `unknown` — the safe direction.
92
+ */
63
93
  static probeLiveSessions(): {
64
94
  ok: true;
65
95
  sessions: string[];
66
96
  } | {
67
97
  ok: false;
68
98
  };
99
+ /** Live (non-EXITED) session names from `list-sessions --no-formatting` output. */
100
+ private static parseLiveSessionRows;
69
101
  static hasSession(name: string): boolean;
70
102
  static probeSession(name: string): SessionProbe;
71
103
  /** Kill + purge a session (so no resurrectable corpse accumulates). */
@@ -1 +1 @@
1
- {"version":3,"file":"zellij-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zellij-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-backend.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { tmpdir } from 'node:os';
5
5
  import { join, dirname } from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { zellijEnv, probeZellijFunctional } from '../../setup/ensure-zellij.js';
8
- import { resolveUserShell, buildBotmuxEnvAssignments, shellWrapperScript, shellCommandArgv, shellKindForPath } from './tmux-backend.js';
8
+ import { resolveUserShell, buildBotmuxEnvAssignments, shellWrapperScript, shellCommandArgv, shellKindForPath, isExecTimeoutError } from './tmux-backend.js';
9
9
  import { resolveBotmuxWrapperBinDir } from '../../core/botmux-wrapper.js';
10
10
  import { logger } from '../../utils/logger.js';
11
11
  /**
@@ -37,6 +37,15 @@ export class ZellijBackend {
37
37
  sessionName;
38
38
  ownsSession;
39
39
  reattaching = false;
40
+ /** When true, the caller has ALREADY resolved reattach-vs-fresh (the worker's
41
+ * frozen tri-state probe, refreshed to 'missing' after any teardown). spawn()
42
+ * must then honour `reattaching` verbatim and skip its `|| hasSession()`
43
+ * self-heal — that live re-probe would re-run the same load-fragile
44
+ * `list-sessions` and, on a post-kill session that has not fully died yet,
45
+ * flip a frozen `false` back to attach, reattaching to the very pane the
46
+ * teardown gate just removed. 'auto' (default) keeps the self-heal for
47
+ * callers that did not freeze a decision. */
48
+ frozenReattach;
40
49
  configPath = null;
41
50
  tmpConfigDir = null;
42
51
  /** Set by kill()/destroySession() so the pty-client exit they cause (an
@@ -60,6 +69,7 @@ export class ZellijBackend {
60
69
  this.sessionName = sessionName;
61
70
  this.ownsSession = opts?.ownsSession ?? true;
62
71
  this.reattaching = opts?.isReattach ?? false;
72
+ this.frozenReattach = opts?.reattachDecision === 'frozen';
63
73
  this.paneId = opts?.paneId ?? null;
64
74
  }
65
75
  // ─── Static helpers (mirror TmuxBackend) ──────────────────────────────────
@@ -79,28 +89,79 @@ export class ZellijBackend {
79
89
  /** Like liveSessions(), but distinguishes "command failed/timed out" ({ok:false})
80
90
  * from "command succeeded, zero live sessions" ({ok:true, sessions:[]}). The
81
91
  * tri-state probe builds on this so a transient `list-sessions` failure isn't
82
- * read as "session gone". */
92
+ * read as "session gone".
93
+ *
94
+ * NOTE zellij exits **1** with stderr `No active zellij sessions found.` when
95
+ * there are simply no sessions — an authoritative "zero", not a failure. A
96
+ * bare catch would report that clean host as {ok:false} → `unknown`, and any
97
+ * caller that biases `unknown` toward reattach would then `zellij attach` a
98
+ * name that does not exist (exit 1) on every first start. So classify like
99
+ * TmuxBackend.probeSession does: a numeric exit status with no signal is an
100
+ * ANSWER from zellij; only a signal/timeout or a spawn failure (ENOENT/EACCES
101
+ * — neither carries a numeric status) means we never got one.
102
+ *
103
+ * The "answered" case is split by EXIT CODE, not by stderr wording alone:
104
+ * zellij uses 1 for "listed fine, nothing live" and clap's 2 for usage errors
105
+ * (verified against 0.44.1: a bogus flag/subcommand exits 2). But a numeric
106
+ * status is only trusted AFTER ruling out a deadline — Node's timeout can
107
+ * race the child's own exit and produce `ETIMEDOUT` alongside a clean status
108
+ * (see isExecTimeoutError and the tmux-probe regression that pins it), which
109
+ * is still "no answer". And a silent non-zero exit is not proof of emptiness:
110
+ * we require zellij's explicit "no active sessions" line (or live rows) to
111
+ * call it, so anything ambiguous degrades to `unknown` — the safe direction.
112
+ */
83
113
  static probeLiveSessions() {
114
+ let out;
84
115
  try {
85
- const out = execFileSync('zellij', ['list-sessions', '--no-formatting'], {
116
+ out = execFileSync('zellij', ['list-sessions', '--no-formatting'], {
86
117
  encoding: 'utf-8',
87
- stdio: ['ignore', 'pipe', 'ignore'],
118
+ stdio: ['ignore', 'pipe', 'pipe'],
88
119
  timeout: 3000,
89
120
  env: zellijEnv(),
90
121
  });
91
- return {
92
- ok: true,
93
- sessions: out
94
- .split('\n')
95
- .map(l => l.trim())
96
- .filter(l => l.length > 0 && !/EXITED/i.test(l))
97
- .map(l => l.split(/\s+/)[0])
98
- .filter(Boolean),
99
- };
100
122
  }
101
- catch {
123
+ catch (e) {
124
+ // Deadline FIRST, before any numeric-status reasoning: when Node's timeout
125
+ // races the child's own exit, the error carries `code='ETIMEDOUT'` AND a
126
+ // clean `status` with no signal (see isExecTimeoutError + the
127
+ // tmux-probe.test.ts regression pinning that exact shape). Reading that as
128
+ // an answer would turn the very high-load timeout this PR exists to
129
+ // tolerate back into an authoritative "gone" — and in the strict post-kill
130
+ // path it would report an unconfirmed termination as proven.
131
+ if (isExecTimeoutError(e))
132
+ return { ok: false };
133
+ // Not answered at all (killed by a signal, or a spawn failure like
134
+ // ENOENT/EACCES which carries no numeric status): stay indeterminate.
135
+ if (!e || typeof e.status !== 'number' || e.signal)
136
+ return { ok: false };
137
+ // Answered non-zero. Only exit 1 can mean "listed fine, nothing live";
138
+ // clap usage/startup errors are 2+ and prove nothing about liveness.
139
+ if (e.status !== 1)
140
+ return { ok: false };
141
+ // If it printed live rows anyway, those win (never report a live pane gone).
142
+ const rows = ZellijBackend.parseLiveSessionRows(e.stdout?.toString?.() ?? '');
143
+ if (rows.length > 0)
144
+ return { ok: true, sessions: rows };
145
+ // Require zellij's explicit "no active sessions" answer to call it empty.
146
+ // A SILENT non-zero exit proves nothing — treating it as zero is how an
147
+ // unconfirmed kill or a half-broken host would read as "session gone".
148
+ // (The message is hardcoded in zellij since our 0.44.0 floor; a future
149
+ // rewording degrades to `unknown`, which is the safe direction here.)
150
+ if (/no active zellij sessions/i.test((e.stderr?.toString?.() ?? '').trim())) {
151
+ return { ok: true, sessions: [] };
152
+ }
102
153
  return { ok: false };
103
154
  }
155
+ return { ok: true, sessions: ZellijBackend.parseLiveSessionRows(out) };
156
+ }
157
+ /** Live (non-EXITED) session names from `list-sessions --no-formatting` output. */
158
+ static parseLiveSessionRows(raw) {
159
+ return raw
160
+ .split('\n')
161
+ .map(l => l.trim())
162
+ .filter(l => l.length > 0 && !/EXITED/i.test(l))
163
+ .map(l => l.split(/\s+/)[0])
164
+ .filter(Boolean);
104
165
  }
105
166
  static hasSession(name) {
106
167
  return ZellijBackend.probeSession(name) === 'exists';
@@ -124,7 +185,28 @@ export class ZellijBackend {
124
185
  // ─── SessionBackend implementation ────────────────────────────────────────
125
186
  spawn(bin, args, opts) {
126
187
  // Reattach if the session is already live (daemon restarted, CLI survived).
127
- this.reattaching = this.reattaching || ZellijBackend.hasSession(this.sessionName);
188
+ // Skip this self-heal when the caller froze the decision: a teardown gate
189
+ // may have just killed the pane and set reattaching=false, and a live
190
+ // re-probe here (same load-fragile `list-sessions`) could still see the
191
+ // not-yet-reaped session and wrongly flip us back to attach.
192
+ if (!this.frozenReattach) {
193
+ this.reattaching = this.reattaching || ZellijBackend.hasSession(this.sessionName);
194
+ }
195
+ if (this.frozenReattach && this.reattaching) {
196
+ // A frozen `attach` can still be objectively WRONG: the worker biases an
197
+ // indeterminate existence probe toward reattach (a live pane is likelier
198
+ // than a gone one under load), and not every path re-probes before we get
199
+ // here. `attach` on a session that does not exist exits 1 ("No session
200
+ // with the name … found!"), which reads as a CLI crash and burns a
201
+ // restart. So downgrade to a fresh spawn ONLY on an authoritative
202
+ // 'missing' — an indeterminate answer keeps the reattach bias, and a
203
+ // frozen `false` is never flipped the other way (that direction is the
204
+ // teardown guarantee this whole flag exists to protect).
205
+ if (ZellijBackend.probeSession(this.sessionName) === 'missing') {
206
+ logger.debug(`[zellij:${this.sessionName}] frozen reattach downgraded to fresh spawn: session is provably absent`);
207
+ this.reattaching = false;
208
+ }
209
+ }
128
210
  logger.debug(`[zellij:${this.sessionName}] spawn ${this.reattaching ? 'reattach' : 'new'} ` +
129
211
  `bin=${bin} args=${JSON.stringify(args)} cwd=${opts.cwd} ${opts.cols}x${opts.rows}`);
130
212
  const { configPath, layoutPath } = this.writeRuntimeFiles(bin, args, opts);
@@ -1 +1 @@
1
- {"version":3,"file":"zellij-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zellij-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * ebsd-only OMP TUI input writer.
3
+ *
4
+ * Keep this implementation local to the ebsd adapter. It intentionally mirrors
5
+ * OMP's current bracketed-paste behavior without changing or importing the
6
+ * existing oh-my-pi adapter implementation.
7
+ */
8
+ import type { PtyHandle, SubmitRecheckResult, WriteInputContext } from './types.js';
9
+ export type EbsdInputWriter = (pty: PtyHandle, content: string, context?: WriteInputContext) => Promise<void | {
10
+ submitted: boolean;
11
+ cliSessionId?: string;
12
+ failureReason?: string;
13
+ recheck?: () => SubmitRecheckResult | Promise<SubmitRecheckResult>;
14
+ }>;
15
+ export declare function createEbsdInputWriter(): EbsdInputWriter;
16
+ //# sourceMappingURL=ebsd-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ebsd-input.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/ebsd-input.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA0EpF,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,KACxB,OAAO,CAAC,IAAI,GAAG;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACpE,CAAC,CAAC;AAEH,wBAAgB,qBAAqB,IAAI,eAAe,CAgDvD"}