botmux 2.51.1 → 2.53.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 (165) hide show
  1. package/README.en.md +22 -265
  2. package/README.md +21 -296
  3. package/dist/adapters/backend/session-backend-selector.d.ts +5 -1
  4. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  5. package/dist/adapters/backend/session-backend-selector.js +15 -1
  6. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +3 -0
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/backend/types.d.ts +22 -0
  11. package/dist/adapters/backend/types.d.ts.map +1 -1
  12. package/dist/adapters/backend/types.js +7 -1
  13. package/dist/adapters/backend/types.js.map +1 -1
  14. package/dist/adapters/backend/zellij-backend.d.ts +132 -0
  15. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -0
  16. package/dist/adapters/backend/zellij-backend.js +375 -0
  17. package/dist/adapters/backend/zellij-backend.js.map +1 -0
  18. package/dist/adapters/backend/zellij-observe-backend.d.ts +62 -0
  19. package/dist/adapters/backend/zellij-observe-backend.d.ts.map +1 -0
  20. package/dist/adapters/backend/zellij-observe-backend.js +218 -0
  21. package/dist/adapters/backend/zellij-observe-backend.js.map +1 -0
  22. package/dist/adapters/cli/claude-code.d.ts +39 -5
  23. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  24. package/dist/adapters/cli/claude-code.js +53 -31
  25. package/dist/adapters/cli/claude-code.js.map +1 -1
  26. package/dist/adapters/cli/registry.d.ts +2 -1
  27. package/dist/adapters/cli/registry.d.ts.map +1 -1
  28. package/dist/adapters/cli/registry.js +3 -1
  29. package/dist/adapters/cli/registry.js.map +1 -1
  30. package/dist/adapters/cli/seed.d.ts +29 -0
  31. package/dist/adapters/cli/seed.d.ts.map +1 -0
  32. package/dist/adapters/cli/seed.js +63 -0
  33. package/dist/adapters/cli/seed.js.map +1 -0
  34. package/dist/adapters/cli/types.d.ts +17 -1
  35. package/dist/adapters/cli/types.d.ts.map +1 -1
  36. package/dist/bot-registry.d.ts +31 -1
  37. package/dist/bot-registry.d.ts.map +1 -1
  38. package/dist/bot-registry.js +31 -0
  39. package/dist/bot-registry.js.map +1 -1
  40. package/dist/cli.d.ts.map +1 -1
  41. package/dist/cli.js +37 -27
  42. package/dist/cli.js.map +1 -1
  43. package/dist/config.d.ts +7 -1
  44. package/dist/config.d.ts.map +1 -1
  45. package/dist/config.js +8 -0
  46. package/dist/config.js.map +1 -1
  47. package/dist/core/ask-hook/registry.d.ts.map +1 -1
  48. package/dist/core/ask-hook/registry.js +4 -0
  49. package/dist/core/ask-hook/registry.js.map +1 -1
  50. package/dist/core/command-handler.d.ts +4 -1
  51. package/dist/core/command-handler.d.ts.map +1 -1
  52. package/dist/core/command-handler.js +100 -8
  53. package/dist/core/command-handler.js.map +1 -1
  54. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  55. package/dist/core/dashboard-ipc-server.js +37 -0
  56. package/dist/core/dashboard-ipc-server.js.map +1 -1
  57. package/dist/core/dispatch.d.ts +33 -0
  58. package/dist/core/dispatch.d.ts.map +1 -1
  59. package/dist/core/dispatch.js +26 -0
  60. package/dist/core/dispatch.js.map +1 -1
  61. package/dist/core/session-discovery.d.ts +13 -4
  62. package/dist/core/session-discovery.d.ts.map +1 -1
  63. package/dist/core/session-discovery.js +5 -5
  64. package/dist/core/session-discovery.js.map +1 -1
  65. package/dist/core/session-manager.d.ts +10 -0
  66. package/dist/core/session-manager.d.ts.map +1 -1
  67. package/dist/core/session-manager.js +43 -18
  68. package/dist/core/session-manager.js.map +1 -1
  69. package/dist/core/types.d.ts +5 -2
  70. package/dist/core/types.d.ts.map +1 -1
  71. package/dist/core/types.js.map +1 -1
  72. package/dist/core/worker-pool.d.ts +1 -1
  73. package/dist/core/worker-pool.d.ts.map +1 -1
  74. package/dist/core/worker-pool.js +22 -9
  75. package/dist/core/worker-pool.js.map +1 -1
  76. package/dist/core/zellij-adopt-discovery.d.ts +28 -0
  77. package/dist/core/zellij-adopt-discovery.d.ts.map +1 -0
  78. package/dist/core/zellij-adopt-discovery.js +255 -0
  79. package/dist/core/zellij-adopt-discovery.js.map +1 -0
  80. package/dist/core/zellij-session-discovery.d.ts +73 -0
  81. package/dist/core/zellij-session-discovery.d.ts.map +1 -0
  82. package/dist/core/zellij-session-discovery.js +259 -0
  83. package/dist/core/zellij-session-discovery.js.map +1 -0
  84. package/dist/daemon.d.ts +3 -0
  85. package/dist/daemon.d.ts.map +1 -1
  86. package/dist/daemon.js +145 -13
  87. package/dist/daemon.js.map +1 -1
  88. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  89. package/dist/dashboard/web/bot-defaults.js +114 -0
  90. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  91. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  92. package/dist/dashboard/web/i18n.js +23 -1
  93. package/dist/dashboard/web/i18n.js.map +1 -1
  94. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  95. package/dist/dashboard/web/sessions.js +1 -0
  96. package/dist/dashboard/web/sessions.js.map +1 -1
  97. package/dist/dashboard/web/workflows.js +1 -1
  98. package/dist/dashboard/web/workflows.js.map +1 -1
  99. package/dist/dashboard-web/app.js +449 -426
  100. package/dist/dashboard.js +20 -0
  101. package/dist/dashboard.js.map +1 -1
  102. package/dist/i18n/en.d.ts.map +1 -1
  103. package/dist/i18n/en.js +15 -1
  104. package/dist/i18n/en.js.map +1 -1
  105. package/dist/i18n/zh.d.ts.map +1 -1
  106. package/dist/i18n/zh.js +16 -2
  107. package/dist/i18n/zh.js.map +1 -1
  108. package/dist/im/lark/card-builder.d.ts +8 -3
  109. package/dist/im/lark/card-builder.d.ts.map +1 -1
  110. package/dist/im/lark/card-builder.js +74 -5
  111. package/dist/im/lark/card-builder.js.map +1 -1
  112. package/dist/im/lark/card-handler.d.ts.map +1 -1
  113. package/dist/im/lark/card-handler.js +72 -10
  114. package/dist/im/lark/card-handler.js.map +1 -1
  115. package/dist/im/lark/event-dispatcher.d.ts +12 -0
  116. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  117. package/dist/im/lark/event-dispatcher.js +39 -31
  118. package/dist/im/lark/event-dispatcher.js.map +1 -1
  119. package/dist/im/lark/grant-command.d.ts +26 -0
  120. package/dist/im/lark/grant-command.d.ts.map +1 -1
  121. package/dist/im/lark/grant-command.js +142 -3
  122. package/dist/im/lark/grant-command.js.map +1 -1
  123. package/dist/im/lark/grant-pending.d.ts +7 -4
  124. package/dist/im/lark/grant-pending.d.ts.map +1 -1
  125. package/dist/im/lark/grant-pending.js +12 -6
  126. package/dist/im/lark/grant-pending.js.map +1 -1
  127. package/dist/services/codex-app-threads.d.ts +20 -0
  128. package/dist/services/codex-app-threads.d.ts.map +1 -0
  129. package/dist/services/codex-app-threads.js +165 -0
  130. package/dist/services/codex-app-threads.js.map +1 -0
  131. package/dist/services/grant-prefs-store.d.ts +23 -0
  132. package/dist/services/grant-prefs-store.d.ts.map +1 -0
  133. package/dist/services/grant-prefs-store.js +94 -0
  134. package/dist/services/grant-prefs-store.js.map +1 -0
  135. package/dist/services/grant-store.d.ts +34 -2
  136. package/dist/services/grant-store.d.ts.map +1 -1
  137. package/dist/services/grant-store.js +160 -9
  138. package/dist/services/grant-store.js.map +1 -1
  139. package/dist/services/quota-dedup.d.ts +33 -0
  140. package/dist/services/quota-dedup.d.ts.map +1 -0
  141. package/dist/services/quota-dedup.js +67 -0
  142. package/dist/services/quota-dedup.js.map +1 -0
  143. package/dist/setup/bot-config-editor.d.ts +1 -1
  144. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  145. package/dist/setup/bot-config-editor.js +5 -4
  146. package/dist/setup/bot-config-editor.js.map +1 -1
  147. package/dist/setup/ensure-zellij.d.ts +48 -0
  148. package/dist/setup/ensure-zellij.d.ts.map +1 -0
  149. package/dist/setup/ensure-zellij.js +93 -0
  150. package/dist/setup/ensure-zellij.js.map +1 -0
  151. package/dist/types.d.ts +9 -3
  152. package/dist/types.d.ts.map +1 -1
  153. package/dist/utils/anchor-serializer.d.ts +3 -2
  154. package/dist/utils/anchor-serializer.d.ts.map +1 -1
  155. package/dist/utils/anchor-serializer.js +20 -5
  156. package/dist/utils/anchor-serializer.js.map +1 -1
  157. package/dist/utils/transient-snapshot.js +2 -2
  158. package/dist/utils/transient-snapshot.js.map +1 -1
  159. package/dist/worker.js +124 -30
  160. package/dist/worker.js.map +1 -1
  161. package/dist/workflows/attempt-resume.d.ts +1 -1
  162. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  163. package/dist/workflows/attempt-resume.js +1 -1
  164. package/dist/workflows/attempt-resume.js.map +1 -1
  165. package/package.json +1 -1
@@ -0,0 +1,218 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { tmuxKeyToBytes } from './zellij-backend.js';
3
+ import { normaliseCaptureLineEndings } from './tmux-pipe-backend.js';
4
+ import { zellijEnv } from '../../setup/ensure-zellij.js';
5
+ import { logger } from '../../utils/logger.js';
6
+ /**
7
+ * ZellijObserveBackend — the zellij analogue of TmuxPipeBackend, for /adopt.
8
+ *
9
+ * zellij has no `pipe-pane` (zero-touch raw byte tap). The non-invasive
10
+ * primitives that DON'T disturb the user's session (size/focus) are:
11
+ * - observe: poll `zellij action dump-screen --pane-id <p> --ansi` (a query;
12
+ * no client attaches, no resize, no focus change — verified)
13
+ * - drive: `zellij action write/write-chars/send-keys --pane-id <p>`
14
+ * (targets the pane regardless of focus — verified focus-neutral)
15
+ *
16
+ * So this backend OBSERVES by polling dump-screen and emitting a snapshot on
17
+ * change (cleared + redrawn so the web-terminal xterm shows the current screen
18
+ * rather than stacking frames), and DRIVES via targeted `action` calls. It owns
19
+ * nothing: kill()/destroySession() only stop the pollers — the user's zellij
20
+ * session is never touched.
21
+ *
22
+ * Tradeoff vs tmux pipe-pane: the live screen has ~POLL_MS latency and isn't
23
+ * byte-exact. The authoritative conversation turns come from the per-CLI
24
+ * transcript bridge watchers (multiplexer-agnostic), which are immediate; the
25
+ * snapshot only drives the web-terminal/screenshot observation.
26
+ */
27
+ const POLL_MS = 700;
28
+ const LIVENESS_MS = 1000;
29
+ /** Home + clear screen — prefix each emitted snapshot so the consuming xterm
30
+ * redraws the current screen instead of appending successive frames. */
31
+ const CLEAR_HOME = '\x1b[H\x1b[2J';
32
+ export class ZellijObserveBackend {
33
+ session;
34
+ paneId;
35
+ cliPid;
36
+ cols;
37
+ rows;
38
+ dataCbs = [];
39
+ exitCbs = [];
40
+ pollTimer = null;
41
+ livenessTimer = null;
42
+ lastSnapshot = '';
43
+ exited = false;
44
+ // PtyHandle fields the worker may set (parallel to the other backends).
45
+ claudeJsonlPath;
46
+ cliCwd;
47
+ constructor(session, paneId, opts) {
48
+ this.session = session;
49
+ this.paneId = paneId;
50
+ this.cliPid = opts?.cliPid ?? null;
51
+ this.cols = 80;
52
+ this.rows = 24;
53
+ }
54
+ // ─── SessionBackend ───────────────────────────────────────────────────────
55
+ /** bin/args are ignored — we observe an existing pane, we don't launch. */
56
+ spawn(_bin, _args, opts) {
57
+ this.cols = opts.cols;
58
+ this.rows = opts.rows;
59
+ logger.debug(`[zellij-observe] ${this.session}/${this.paneId} observe ${this.cols}x${this.rows} cliPid=${this.cliPid}`);
60
+ this.pollTimer = setInterval(() => this.poll(), POLL_MS);
61
+ this.livenessTimer = setInterval(() => this.checkLiveness(), LIVENESS_MS);
62
+ }
63
+ poll() {
64
+ const snap = this.captureViewport();
65
+ if (snap && snap !== this.lastSnapshot) {
66
+ this.lastSnapshot = snap;
67
+ const frame = CLEAR_HOME + snap;
68
+ for (const cb of this.dataCbs)
69
+ cb(frame);
70
+ }
71
+ }
72
+ checkLiveness() {
73
+ if (this.exited)
74
+ return;
75
+ // Two exit signals: (a) the pane vanished, (b) the adopted CLI pid is gone.
76
+ // (b) is essential for user-typed CLIs: when the CLI exits, the pane drops
77
+ // back to a shell and stays "alive", so a pane-only check would keep the
78
+ // worker running and route subsequent Lark input INTO the user's shell.
79
+ // Mirrors the pid guard the restore path already uses.
80
+ if (!this.isPaneAlive() || !this.isCliPidAlive())
81
+ this.handlePaneExit();
82
+ }
83
+ /** Whether the adopted CLI process is still running. Unknown pid → defer to
84
+ * pane liveness only. EPERM (exists, not ours) counts as alive; ESRCH = gone. */
85
+ isCliPidAlive() {
86
+ if (this.cliPid === null)
87
+ return true;
88
+ try {
89
+ process.kill(this.cliPid, 0);
90
+ return true;
91
+ }
92
+ catch (e) {
93
+ return e?.code === 'EPERM';
94
+ }
95
+ }
96
+ handlePaneExit() {
97
+ if (this.exited)
98
+ return;
99
+ this.exited = true;
100
+ this.stopTimers();
101
+ for (const cb of this.exitCbs)
102
+ cb(0, null);
103
+ }
104
+ // ── Input: targeted `action` calls (focus-neutral, non-invasive) ──
105
+ write(data) {
106
+ this.writeBytes(data);
107
+ }
108
+ /** Literal text via write-chars (preserves UTF-8). */
109
+ sendText(text) {
110
+ if (!text)
111
+ return;
112
+ this.action(['write-chars', '--pane-id', this.paneId, '--', text]);
113
+ }
114
+ /** Special keys by tmux-style name → raw bytes → `action write`. */
115
+ sendSpecialKeys(...keys) {
116
+ for (const key of keys)
117
+ this.writeBytes(tmuxKeyToBytes(key));
118
+ }
119
+ /** Bracketed paste — wrap so TUIs detect the boundary (mirrors paste-buffer -p). */
120
+ pasteText(text) {
121
+ this.writeBytes('\x1b[200~');
122
+ this.sendText(text);
123
+ this.writeBytes('\x1b[201~');
124
+ }
125
+ /** Write arbitrary bytes via `action write <decimal>…` (handles control/escape).
126
+ * Chunked so a large web-terminal paste can't blow the argv limit; zellij
127
+ * serialises the writes in arrival order. */
128
+ writeBytes(data) {
129
+ if (!data)
130
+ return;
131
+ const buf = Buffer.from(data, 'utf-8');
132
+ const CHUNK = 512;
133
+ for (let i = 0; i < buf.length; i += CHUNK) {
134
+ const bytes = Array.from(buf.subarray(i, i + CHUNK), b => String(b));
135
+ this.action(['write', '--pane-id', this.paneId, ...bytes]);
136
+ }
137
+ }
138
+ /** Resize is a NO-OP in observe mode — the pane size is the user's, and
139
+ * resizing it would disturb their layout. The transient snapshot reads the
140
+ * real pane size via getPaneSize(). */
141
+ resize(_cols, _rows) { }
142
+ onData(cb) { this.dataCbs.push(cb); }
143
+ onExit(cb) { this.exitCbs.push(cb); }
144
+ getChildPid() { return this.cliPid; }
145
+ /** Detach observer — stop polling. Never touches the user's zellij session. */
146
+ kill() { this.stopTimers(); }
147
+ /** Adopt owns nothing — destroy == detach (don't kill the user's session). */
148
+ destroySession() { this.kill(); }
149
+ stopTimers() {
150
+ if (this.pollTimer) {
151
+ clearInterval(this.pollTimer);
152
+ this.pollTimer = null;
153
+ }
154
+ if (this.livenessTimer) {
155
+ clearInterval(this.livenessTimer);
156
+ this.livenessTimer = null;
157
+ }
158
+ }
159
+ // ─── ObserveBackend snapshot surface ──────────────────────────────────────
160
+ captureCurrentScreen() {
161
+ return this.dumpScreen(true);
162
+ }
163
+ captureViewport() {
164
+ return this.dumpScreen(false);
165
+ }
166
+ getPaneSize() {
167
+ const pane = this.listPane();
168
+ if (!pane)
169
+ return null;
170
+ const cols = Number(pane.pane_content_columns ?? pane.pane_columns);
171
+ const rows = Number(pane.pane_content_rows ?? pane.pane_rows);
172
+ if (!Number.isFinite(cols) || !Number.isFinite(rows))
173
+ return null;
174
+ return { cols, rows };
175
+ }
176
+ isPaneAlive() {
177
+ const pane = this.listPane();
178
+ return !!pane && pane.exited !== true;
179
+ }
180
+ // ─── zellij plumbing ──────────────────────────────────────────────────────
181
+ dumpScreen(full) {
182
+ const args = ['dump-screen', '--pane-id', this.paneId, '--ansi'];
183
+ if (full)
184
+ args.push('--full');
185
+ // zellij dump-screen separates rows with bare `\n` (no `\r`). Fed to an
186
+ // xterm as-is, each line continues from the previous line's end column
187
+ // instead of returning to column 0 → the staircase/right-drift garble.
188
+ // Same fix tmux's capture path uses (normaliseCaptureLineEndings).
189
+ return normaliseCaptureLineEndings(this.action(args) ?? '');
190
+ }
191
+ listPane() {
192
+ try {
193
+ const out = execFileSync('zellij', ['--session', this.session, 'action', 'list-panes', '--json'], {
194
+ encoding: 'utf-8', stdio: ['ignore', 'pipe', 'ignore'], timeout: 3000, env: zellijEnv(),
195
+ });
196
+ const arr = JSON.parse(out);
197
+ if (!Array.isArray(arr))
198
+ return null;
199
+ return arr.find((p) => !p.is_plugin && `terminal_${p.id}` === this.paneId) ?? null;
200
+ }
201
+ catch {
202
+ return null;
203
+ }
204
+ }
205
+ /** Run a `zellij --session S action …`, returning stdout or null on failure. */
206
+ action(args) {
207
+ try {
208
+ return execFileSync('zellij', ['--session', this.session, 'action', ...args], {
209
+ encoding: 'utf-8', stdio: ['ignore', 'pipe', 'ignore'], timeout: 4000, env: zellijEnv(),
210
+ });
211
+ }
212
+ catch (err) {
213
+ logger.debug(`[zellij-observe] action ${args[0]} failed: ${err?.message}`);
214
+ return null;
215
+ }
216
+ }
217
+ }
218
+ //# sourceMappingURL=zellij-observe-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zellij-observe-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-observe-backend.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- import type { CliAdapter } from './types.js';
1
+ import type { CliAdapter, CliId } from './types.js';
2
+ /** The default Claude Code data root (`CLAUDE_CONFIG_DIR` equivalent): where
3
+ * `projects/`, `sessions/`, `tasks/`, `keybindings.json` and `settings.json`
4
+ * live. Claude-family forks (e.g. Seed CLI) relocate this — every helper below
5
+ * takes an optional `dataDir` so the same machinery drives both. Defaulting to
6
+ * `~/.claude` keeps all existing call sites byte-for-byte unchanged. */
7
+ export declare const DEFAULT_CLAUDE_DATA_DIR: string;
2
8
  /** Resolve the JSONL transcript path Claude Code writes user/assistant turns to.
3
9
  * Claude Code's project-hash scheme replaces every non-[A-Za-z0-9-] char with `-`
4
10
  * (observed: `/foo/life_workspace` → `-foo-life-workspace`; `/`, `.`, `_` all become `-`).
5
11
  * Always operates on realpath(cwd) — see realpathCwd above. */
6
- export declare function claudeJsonlPathForSession(sessionId: string, cwd: string): string;
12
+ export declare function claudeJsonlPathForSession(sessionId: string, cwd: string, dataDir?: string): string;
7
13
  /** Returns the absolute path to Claude Code's per-process session state file.
8
14
  * Claude writes `{pid, sessionId, cwd, procStart, status, updatedAt, ...}`
9
15
  * here. Empirical scope (Claude Code 2.1.123): `status` and `updatedAt`
@@ -14,14 +20,14 @@ export declare function claudeJsonlPathForSession(sessionId: string, cwd: string
14
20
  * rely on this for rotation tracking must therefore treat a "matching
15
21
  * sessionId" answer as "no spawn-time rotation observed", not "no
16
22
  * rotation at all" — the latter requires fingerprint corroboration. */
17
- export declare function claudePidStatePath(pid: number): string;
23
+ export declare function claudePidStatePath(pid: number, dataDir?: string): string;
18
24
  /** Resolve Claude Code's authoritative current session id via
19
25
  * ~/.claude/sessions/<pid>.json. Validates pid + sessionId UUID + cwd so a
20
26
  * stale or unrelated pid file can't redirect us to the wrong jsonl. On Linux
21
27
  * also matches procStart against /proc/<pid>/stat to reject PID reuse. If
22
28
  * procStart is present but cannot be verified on Linux, fail closed; callers
23
29
  * fall back to fingerprint detection. */
24
- export declare function resolveJsonlFromPid(pid: number, expectedCwd: string): {
30
+ export declare function resolveJsonlFromPid(pid: number, expectedCwd: string, dataDir?: string): {
25
31
  path: string;
26
32
  cliSessionId: string;
27
33
  } | null;
@@ -40,7 +46,35 @@ export declare function resolveJsonlFromPid(pid: number, expectedCwd: string): {
40
46
  * Returns deduplicated sessionIds in arbitrary order; caller picks one
41
47
  * (typically by mtime of the corresponding jsonl). Returns [] on
42
48
  * non-Linux platforms or if /proc lookup fails. */
43
- export declare function findOpenClaudeSessionIds(pid: number): string[];
49
+ export declare function findOpenClaudeSessionIds(pid: number, dataDir?: string): string[];
50
+ /** A member of the Claude-family CLIs: Claude Code itself and forks that share
51
+ * its on-disk session layout (per-project JSONL transcripts, `sessions/<pid>.json`
52
+ * pid-state, `tasks/` fd locks, keybindings.json, settings.json hooks) but
53
+ * relocate the data root and/or rename the binary. Seed CLI
54
+ * (`@bytedance-seed/claude-code`, binary `seed`) is one such fork — it reuses
55
+ * this entire adapter, only swapping `dataDir`/`stateJsonPath`/binary. */
56
+ export interface ClaudeFamilyVariant {
57
+ /** CliId for this variant (`claude-code`, `seed`, …). */
58
+ readonly id: CliId;
59
+ /** Binary name printed in the user-facing `buildResumeCommand` handoff. */
60
+ readonly resumeBin: string;
61
+ /** Data root: `projects/`, `sessions/`, `tasks/`, `keybindings.json`,
62
+ * `settings.json`. `~/.claude` for Claude Code; Seed's `.claude-runtime`. */
63
+ readonly dataDir: string;
64
+ /** Path to the `.claude.json` state / folder-trust file. Lives at
65
+ * `~/.claude.json` (home) for Claude Code, but *inside* the data root for
66
+ * forks that set CLAUDE_CONFIG_DIR — so it can't be derived from dataDir. */
67
+ readonly stateJsonPath: string;
68
+ /** Env injected at spawn so the forked CLI actually writes to `dataDir`
69
+ * (e.g. Seed's `CLAUDE_CONFIG_DIR`). undefined for Claude Code, which already
70
+ * defaults to ~/.claude. */
71
+ readonly spawnEnv?: Readonly<Record<string, string>>;
72
+ /** Curated `botmux setup` model candidates. Claude Code lists Anthropic
73
+ * aliases; forks whose model set is gateway-defined (e.g. Seed via SuperRelay)
74
+ * pass undefined so setup skips the prompt. */
75
+ readonly modelChoices?: readonly string[];
76
+ }
44
77
  export declare function createClaudeCodeAdapter(pathOverride?: string): CliAdapter;
78
+ export declare function createClaudeFamilyAdapter(variant: ClaudeFamilyVariant, bin: string): CliAdapter;
45
79
  export declare const create: typeof createClaudeCodeAdapter;
46
80
  //# sourceMappingURL=claude-code.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAkBxD;;;gEAGgE;AAChE,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhF;AA2DD;;;;;;;;;wEASwE;AACxE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAoBD;;;;;0CAK0C;AAC1C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoCnH;AAED;;;;;;;;;;;;;;oDAcoD;AACpD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA+B9D;AAqKD,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAiXzE;AAED,eAAO,MAAM,MAAM,gCAA0B,CAAC"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAa,MAAM,YAAY,CAAC;AAkB/D;;;;yEAIyE;AACzE,eAAO,MAAM,uBAAuB,QAA6B,CAAC;AAElE;;;gEAGgE;AAChE,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAgC,GAAG,MAAM,CAG3H;AA2DD;;;;;;;;;wEASwE;AACxE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAgC,GAAG,MAAM,CAEjG;AAoBD;;;;;0CAK0C;AAC1C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,MAAgC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoC9J;AAED;;;;;;;;;;;;;;oDAcoD;AACpD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAgC,GAAG,MAAM,EAAE,CAmCzG;AAoKD;;;;;2EAK2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;kFAC8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;kFAE8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;iCAE6B;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD;;oDAEgD;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAUzE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAmX/F;AAED,eAAO,MAAM,MAAM,gCAA0B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { existsSync, statSync, openSync, readSync, closeSync, readFileSync, readdirSync, readlinkSync, realpathSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
- import { dirname, join } from 'node:path';
3
+ import { basename, dirname, join } from 'node:path';
4
4
  import { resolveCommand } from './registry.js';
5
5
  import { findJsonlContainingFingerprint, jsonlContainsFingerprint, normaliseForFingerprint } from '../../services/claude-transcript.js';
6
6
  import { t } from '../../i18n/index.js';
@@ -22,13 +22,19 @@ function realpathCwd(cwd) {
22
22
  return cwd;
23
23
  }
24
24
  }
25
+ /** The default Claude Code data root (`CLAUDE_CONFIG_DIR` equivalent): where
26
+ * `projects/`, `sessions/`, `tasks/`, `keybindings.json` and `settings.json`
27
+ * live. Claude-family forks (e.g. Seed CLI) relocate this — every helper below
28
+ * takes an optional `dataDir` so the same machinery drives both. Defaulting to
29
+ * `~/.claude` keeps all existing call sites byte-for-byte unchanged. */
30
+ export const DEFAULT_CLAUDE_DATA_DIR = join(homedir(), '.claude');
25
31
  /** Resolve the JSONL transcript path Claude Code writes user/assistant turns to.
26
32
  * Claude Code's project-hash scheme replaces every non-[A-Za-z0-9-] char with `-`
27
33
  * (observed: `/foo/life_workspace` → `-foo-life-workspace`; `/`, `.`, `_` all become `-`).
28
34
  * Always operates on realpath(cwd) — see realpathCwd above. */
29
- export function claudeJsonlPathForSession(sessionId, cwd) {
35
+ export function claudeJsonlPathForSession(sessionId, cwd, dataDir = DEFAULT_CLAUDE_DATA_DIR) {
30
36
  const projectHash = realpathCwd(cwd).replace(/[^A-Za-z0-9-]/g, '-');
31
- return join(homedir(), '.claude', 'projects', projectHash, `${sessionId}.jsonl`);
37
+ return join(dataDir, 'projects', projectHash, `${sessionId}.jsonl`);
32
38
  }
33
39
  /** botmux ships its built-in skills as a Claude Code plugin here and injects it
34
40
  * per-session via `--plugin-dir` (see buildArgs). Kept out of the global
@@ -105,8 +111,8 @@ const SESSION_UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-
105
111
  * rely on this for rotation tracking must therefore treat a "matching
106
112
  * sessionId" answer as "no spawn-time rotation observed", not "no
107
113
  * rotation at all" — the latter requires fingerprint corroboration. */
108
- export function claudePidStatePath(pid) {
109
- return join(homedir(), '.claude', 'sessions', `${pid}.json`);
114
+ export function claudePidStatePath(pid, dataDir = DEFAULT_CLAUDE_DATA_DIR) {
115
+ return join(dataDir, 'sessions', `${pid}.json`);
110
116
  }
111
117
  /** Linux-only: read /proc/<pid>/stat field 22 (starttime). Returns null when
112
118
  * /proc isn't available or the stat line is unreadable/malformed; callers
@@ -133,12 +139,12 @@ function readProcStarttime(pid) {
133
139
  * also matches procStart against /proc/<pid>/stat to reject PID reuse. If
134
140
  * procStart is present but cannot be verified on Linux, fail closed; callers
135
141
  * fall back to fingerprint detection. */
136
- export function resolveJsonlFromPid(pid, expectedCwd) {
142
+ export function resolveJsonlFromPid(pid, expectedCwd, dataDir = DEFAULT_CLAUDE_DATA_DIR) {
137
143
  if (!Number.isInteger(pid) || pid <= 0)
138
144
  return null;
139
145
  let parsed;
140
146
  try {
141
- parsed = JSON.parse(readFileSync(claudePidStatePath(pid), 'utf8'));
147
+ parsed = JSON.parse(readFileSync(claudePidStatePath(pid, dataDir), 'utf8'));
142
148
  }
143
149
  catch {
144
150
  return null;
@@ -175,7 +181,7 @@ export function resolveJsonlFromPid(pid, expectedCwd) {
175
181
  if (!procStartVerified && realpathCwd(parsed.cwd) !== realpathCwd(expectedCwd))
176
182
  return null;
177
183
  return {
178
- path: claudeJsonlPathForSession(parsed.sessionId, parsed.cwd),
184
+ path: claudeJsonlPathForSession(parsed.sessionId, parsed.cwd, dataDir),
179
185
  cliSessionId: parsed.sessionId,
180
186
  };
181
187
  }
@@ -194,7 +200,7 @@ export function resolveJsonlFromPid(pid, expectedCwd) {
194
200
  * Returns deduplicated sessionIds in arbitrary order; caller picks one
195
201
  * (typically by mtime of the corresponding jsonl). Returns [] on
196
202
  * non-Linux platforms or if /proc lookup fails. */
197
- export function findOpenClaudeSessionIds(pid) {
203
+ export function findOpenClaudeSessionIds(pid, dataDir = DEFAULT_CLAUDE_DATA_DIR) {
198
204
  if (!Number.isInteger(pid) || pid <= 0)
199
205
  return [];
200
206
  if (process.platform !== 'linux')
@@ -206,8 +212,12 @@ export function findOpenClaudeSessionIds(pid) {
206
212
  catch {
207
213
  return [];
208
214
  }
209
- const tasksPrefix = join(homedir(), '.claude', 'tasks') + '/';
210
- const projectsInfix = '/.claude/projects/';
215
+ const tasksPrefix = join(dataDir, 'tasks') + '/';
216
+ // Substring (not absolute prefix) so a symlinked dataDir parent — e.g. a
217
+ // symlinked home — still matches the kernel-realpath'd fd target. Derived
218
+ // from dataDir's basename: `~/.claude` → `/.claude/projects/` (unchanged);
219
+ // Seed's `.../.claude-runtime` → `/.claude-runtime/projects/`.
220
+ const projectsInfix = `/${basename(dataDir)}/projects/`;
211
221
  const out = new Set();
212
222
  for (const name of entries) {
213
223
  let target;
@@ -275,7 +285,6 @@ function findJsonlAcrossProjectsRoot(searchPath, fingerprint, options) {
275
285
  return null;
276
286
  }
277
287
  const COMPLETION_RE = /\u2733\s*(?:Worked|Crunched|Cogitated|Cooked|Churned|Saut[eé]ed|Baked|Brewed) for \d+[smh]/;
278
- const CLAUDE_KEYBINDINGS_PATH = join(homedir(), '.claude', 'keybindings.json');
279
288
  /** Escape hatch: force a specific chat:submit key regardless of
280
289
  * keybindings.json. Accepts the same spellings as the config (e.g.
281
290
  * `meta+enter`, `alt+enter`, `enter`). A value that can't be sent through the
@@ -288,10 +297,10 @@ const DEFAULT_SUBMIT_KEY = 'Enter';
288
297
  const UNSUPPORTED_SUBMIT_KEY_FAILURE = 'Claude Code Chat keybindings have no terminal-sendable chat:submit key. ' +
289
298
  'Only Enter, Meta+Enter (Alt+Enter) can be delivered through tmux/PTY; ' +
290
299
  'keys such as Cmd+Enter, Ctrl+Enter or Shift+Enter cannot.';
291
- function readClaudeChatBindings() {
300
+ function readClaudeChatBindings(keybindingsPath) {
292
301
  let parsed;
293
302
  try {
294
- parsed = JSON.parse(readFileSync(CLAUDE_KEYBINDINGS_PATH, 'utf8'));
303
+ parsed = JSON.parse(readFileSync(keybindingsPath, 'utf8'));
295
304
  }
296
305
  catch {
297
306
  return null;
@@ -366,8 +375,8 @@ function bindingActionForKey(bindings, targetKey) {
366
375
  return Object.entries(bindings ?? {})
367
376
  .find(([key]) => key.toLowerCase() === normalizedTarget)?.[1];
368
377
  }
369
- function resolveClaudeChatKeybindings() {
370
- const bindings = readClaudeChatBindings();
378
+ function resolveClaudeChatKeybindings(keybindingsPath) {
379
+ const bindings = readClaudeChatBindings(keybindingsPath);
371
380
  const submitKey = selectSubmitKey(bindings);
372
381
  const tmuxSubmitKey = submitKey ? toTmuxSubmitKey(submitKey) : null;
373
382
  const rawSubmitSequence = submitKey ? toRawSubmitSequence(submitKey) : null;
@@ -387,15 +396,28 @@ function resolveClaudeChatKeybindings() {
387
396
  const claudeFirstWriteSeen = new WeakSet();
388
397
  export function createClaudeCodeAdapter(pathOverride) {
389
398
  const bin = resolveCommand(pathOverride ?? 'claude');
390
- return {
399
+ return createClaudeFamilyAdapter({
391
400
  id: 'claude-code',
401
+ resumeBin: 'claude',
402
+ dataDir: DEFAULT_CLAUDE_DATA_DIR,
403
+ stateJsonPath: join(homedir(), '.claude.json'),
404
+ // alias(opus/sonnet/haiku)会被 Claude Code 解析成当前推荐的具体版本;具体 ID 锁版本。
405
+ modelChoices: ['opus', 'sonnet', 'haiku', 'claude-opus-4-7', 'claude-sonnet-4-6', 'claude-haiku-4-5-20251001'],
406
+ }, bin);
407
+ }
408
+ export function createClaudeFamilyAdapter(variant, bin) {
409
+ return {
410
+ id: variant.id,
392
411
  resolvedBin: bin,
393
412
  supportsTypeAhead: true,
413
+ claudeDataDir: variant.dataDir,
414
+ claudeStateJsonPath: variant.stateJsonPath,
415
+ spawnEnv: variant.spawnEnv,
394
416
  buildResumeCommand({ sessionId, cliSessionId }) {
395
417
  // Claude resumes by reading <id>.jsonl, so we need the most recently
396
418
  // observed CLI-native id (rotation can happen mid-run); fall back to the
397
419
  // botmux sessionId for the first-turn case where they coincide.
398
- return `claude --resume ${cliSessionId ?? sessionId}`;
420
+ return `${variant.resumeBin} --resume ${cliSessionId ?? sessionId}`;
399
421
  },
400
422
  buildArgs({ sessionId, resume, resumeSessionId, botName, botOpenId, locale, model, disableCliBypass }) {
401
423
  const args = [];
@@ -502,7 +524,7 @@ export function createClaudeCodeAdapter(pathOverride) {
502
524
  }
503
525
  const TYPING_THROTTLE_MS = isFirstWrite ? 80 : 30;
504
526
  const tick = () => new Promise(r => setTimeout(r, TYPING_THROTTLE_MS));
505
- const keybindings = resolveClaudeChatKeybindings();
527
+ const keybindings = resolveClaudeChatKeybindings(join(variant.dataDir, 'keybindings.json'));
506
528
  const sendSubmit = () => {
507
529
  if (pty.sendSpecialKeys && keybindings.submitKeys) {
508
530
  pty.sendSpecialKeys(...keybindings.submitKeys);
@@ -531,7 +553,7 @@ export function createClaudeCodeAdapter(pathOverride) {
531
553
  return false;
532
554
  };
533
555
  if (pty.cliPid && pty.cliCwd) {
534
- const resolved = resolveJsonlFromPid(pty.cliPid, pty.cliCwd);
556
+ const resolved = resolveJsonlFromPid(pty.cliPid, pty.cliCwd, variant.dataDir);
535
557
  if (resolved)
536
558
  applyResolved(resolved);
537
559
  }
@@ -610,7 +632,7 @@ export function createClaudeCodeAdapter(pathOverride) {
610
632
  // the rotated file. For (b), poll from the rotated file's own current
611
633
  // size so an older, larger startPath cannot hide a delayed append.
612
634
  if (pty.cliPid && pty.cliCwd) {
613
- const resolved = resolveJsonlFromPid(pty.cliPid, pty.cliCwd);
635
+ const resolved = resolveJsonlFromPid(pty.cliPid, pty.cliCwd, variant.dataDir);
614
636
  if (resolved) {
615
637
  const switched = applyResolved(resolved);
616
638
  const newPath = pty.claudeJsonlPath;
@@ -703,7 +725,7 @@ export function createClaudeCodeAdapter(pathOverride) {
703
725
  return false;
704
726
  // Latest pid → path; covers post-failure rotations (/clear, /resume).
705
727
  if (pty.cliPid && pty.cliCwd) {
706
- const resolved = resolveJsonlFromPid(pty.cliPid, pty.cliCwd);
728
+ const resolved = resolveJsonlFromPid(pty.cliPid, pty.cliCwd, variant.dataDir);
707
729
  if (resolved)
708
730
  applyResolved(resolved);
709
731
  }
@@ -735,16 +757,16 @@ export function createClaudeCodeAdapter(pathOverride) {
735
757
  // installed into the global ~/.claude/skills — so they never leak into the
736
758
  // user's standalone `claude`. pluginDir is consumed by ensurePluginSkills.
737
759
  pluginDir: CLAUDE_PLUGIN_DIR,
738
- // 候选 model:alias(opus/sonnet/haiku)会被 Claude Code 解析成当前推荐的具体
739
- // 版本;具体 ID 锁版本。setup 选 Other 可自由填,比如要回退或试 canary 模型。
740
- modelChoices: ['opus', 'sonnet', 'haiku', 'claude-opus-4-7', 'claude-sonnet-4-6', 'claude-haiku-4-5-20251001'],
741
- // askUserQuestion hook 写全局 ~/.claude/settings.json(matcher='AskUserQuestion' 的 PreToolUse),
742
- // AskUserQuestion 事件转发到 `botmux hook claude-code`。
743
- // 选全局而非进程级 --settings:adopt 模式接管的是 botmux 没启动、拿不到 --settings
744
- // 的已有 claude 会话,只有全局配置那条会话才读得到。代价是会作用于非 botmux
745
- // claude 会话,但 hook 客户端在缺 BOTMUX_* env 时直接 passthrough 放行,不破坏它们。
760
+ // 候选 model 由 variant 决定(Claude Anthropic alias;Seed 走网关交给 setup 跳过)。
761
+ // setup 选 Other 可自由填,比如要回退或试 canary 模型。
762
+ modelChoices: variant.modelChoices,
763
+ // askUserQuestion hook 写各 variant 的 settings.json(matcher='AskUserQuestion' 的
764
+ // PreToolUse),把事件转发到 `botmux hook <id>`。Claude 用全局 ~/.claude/settings.json
765
+ // 是为了 adopt 模式(接管的 claude 会话拿不到进程级 --settings,只读全局那条);hook
766
+ // 客户端缺 BOTMUX_* env 时直接 passthrough 放行,不破坏非 botmux 的会话。Seed 写自己
767
+ // 的 .claude-runtime/settings.json,只作用于走该 CLAUDE_CONFIG_DIR seed 会话。
746
768
  hookInstall: {
747
- configPath: '~/.claude/settings.json',
769
+ configPath: join(variant.dataDir, 'settings.json'),
748
770
  format: 'claude-settings',
749
771
  },
750
772
  asksViaHook: true,
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/adapters/cli/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/adapters/cli/claude-code.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { CliAdapter, CliId } from './types.js';
2
2
  import { createClaudeCodeAdapter } from './claude-code.js';
3
+ import { createSeedAdapter } from './seed.js';
3
4
  import { createAidenAdapter } from './aiden.js';
4
5
  import { createCocoAdapter } from './coco.js';
5
6
  import { createCodexAdapter } from './codex.js';
@@ -17,7 +18,7 @@ import { createMiraAdapter } from './mira.js';
17
18
  export declare function resolveCommand(cmd: string): string;
18
19
  /** Async adapter factory (uses dynamic import for lazy loading in daemon process). */
19
20
  export declare function createCliAdapter(id: CliId, pathOverride?: string): Promise<CliAdapter>;
20
- export { createClaudeCodeAdapter, createAidenAdapter, createCocoAdapter, createCodexAdapter, createCodexAppAdapter, createCursorAdapter, createGeminiAdapter, createOpenCodeAdapter, createAntigravityAdapter, createMtrAdapter, createHermesAdapter, createMiraAdapter };
21
+ export { createClaudeCodeAdapter, createSeedAdapter, createAidenAdapter, createCocoAdapter, createCodexAdapter, createCodexAppAdapter, createCursorAdapter, createGeminiAdapter, createOpenCodeAdapter, createAntigravityAdapter, createMtrAdapter, createHermesAdapter, createMiraAdapter };
21
22
  /** Synchronous version for use in worker process. */
22
23
  export declare function createCliAdapterSync(id: CliId, pathOverride?: string): CliAdapter;
23
24
  //# sourceMappingURL=registry.d.ts.map