botmux 2.74.0 → 2.75.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.
- package/dist/adapters/cli/claude-code.d.ts.map +1 -1
- package/dist/adapters/cli/claude-code.js +23 -19
- package/dist/adapters/cli/claude-code.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +6 -0
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/adapters/hook-installer.d.ts +4 -0
- package/dist/adapters/hook-installer.d.ts.map +1 -1
- package/dist/adapters/hook-installer.js +32 -2
- package/dist/adapters/hook-installer.js.map +1 -1
- package/dist/bot-registry.d.ts +10 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +3 -0
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +29 -9
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +3 -1
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +1 -0
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/dashboard/bot-onboarding.d.ts +2 -0
- package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
- package/dist/dashboard/bot-onboarding.js +2 -0
- package/dist/dashboard/bot-onboarding.js.map +1 -1
- package/dist/dashboard.js +13 -7
- package/dist/dashboard.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +3 -1
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/setup/bot-config-editor.d.ts +9 -0
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +11 -0
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/cli-selection.d.ts +65 -0
- package/dist/setup/cli-selection.d.ts.map +1 -0
- package/dist/setup/cli-selection.js +112 -0
- package/dist/setup/cli-selection.js.map +1 -0
- package/dist/setup/interactive-select.d.ts +30 -0
- package/dist/setup/interactive-select.d.ts.map +1 -0
- package/dist/setup/interactive-select.js +177 -0
- package/dist/setup/interactive-select.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/ready-gate.d.ts +6 -0
- package/dist/utils/ready-gate.d.ts.map +1 -1
- package/dist/utils/ready-gate.js +6 -0
- package/dist/utils/ready-gate.js.map +1 -1
- package/dist/worker.js +82 -4
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-selection.js","sourceRoot":"","sources":["../../src/setup/cli-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { createInterface } from 'node:readline';
|
|
2
|
+
export interface SelectItem {
|
|
3
|
+
/** 主展示文本。 */
|
|
4
|
+
readonly label: string;
|
|
5
|
+
/** 暗色后缀(如 cliId / 命令前缀),仅展示用。 */
|
|
6
|
+
readonly hint?: string;
|
|
7
|
+
/** 选中后还有二级菜单(渲染 ▸)。 */
|
|
8
|
+
readonly submenu?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Raw-mode 单选 + 输入过滤。返回选中项在 `items` 中的下标;取消(Esc / Ctrl-C)
|
|
12
|
+
* 返回 null。要求处于 TTY;非 TTY 直接返回 null(调用方回退)。
|
|
13
|
+
*/
|
|
14
|
+
export declare function interactiveSelect(opts: {
|
|
15
|
+
title: string;
|
|
16
|
+
items: ReadonlyArray<SelectItem>;
|
|
17
|
+
footer?: string;
|
|
18
|
+
}): Promise<number | null>;
|
|
19
|
+
/**
|
|
20
|
+
* 级联 CLI 选择器:顶层列出所有 CLI(Aiden 带 ▸),选 Aiden 进二级菜单
|
|
21
|
+
* (原生 / × Claude / × Codex)。返回选择键(CLI_SELECT_OPTIONS 的 key),
|
|
22
|
+
* 取消返回 null。
|
|
23
|
+
*
|
|
24
|
+
* 非 TTY 回退:打印带序号的扁平列表,用 readline 读「序号 / key」。
|
|
25
|
+
*/
|
|
26
|
+
export declare function pickCliSelection(rl: ReturnType<typeof createInterface>, opts?: {
|
|
27
|
+
title?: string;
|
|
28
|
+
currentKey?: string;
|
|
29
|
+
}): Promise<string | null>;
|
|
30
|
+
//# sourceMappingURL=interactive-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive-select.d.ts","sourceRoot":"","sources":["../../src/setup/interactive-select.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8EzB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACtC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCxB"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* interactive-select.ts
|
|
3
|
+
*
|
|
4
|
+
* 终端可搜索单选器(raw-mode + 输入即过滤 + 方向键),以及在其之上的级联
|
|
5
|
+
* CLI 选择器 {@link pickCliSelection}。
|
|
6
|
+
*
|
|
7
|
+
* 设计同 `botmux list` 的 TUI(alt-screen + ANSI 渲染),但做成可复用、自带
|
|
8
|
+
* stdin 隔离:进入时摘掉 readline 的 'data' 监听、退出时还原,因此可以在一个
|
|
9
|
+
* 持续打开的 readline 会话(botmux setup)中间插入使用,不会和 rl 抢输入。
|
|
10
|
+
* 非 TTY(管道 / 脚本化)下不进入 raw-mode,由调用方走 readline 回退。
|
|
11
|
+
*/
|
|
12
|
+
import { stdin as input, stdout as output } from 'node:process';
|
|
13
|
+
import { CLI_SELECT_TREE, CLI_SELECT_OPTIONS } from './cli-selection.js';
|
|
14
|
+
const ESC = '\x1b';
|
|
15
|
+
function isPrintable(s) {
|
|
16
|
+
return s.length === 1 && s >= ' ' && s !== '\x7f';
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Raw-mode 单选 + 输入过滤。返回选中项在 `items` 中的下标;取消(Esc / Ctrl-C)
|
|
20
|
+
* 返回 null。要求处于 TTY;非 TTY 直接返回 null(调用方回退)。
|
|
21
|
+
*/
|
|
22
|
+
export function interactiveSelect(opts) {
|
|
23
|
+
const { items } = opts;
|
|
24
|
+
if (!input.isTTY || !output.isTTY || items.length === 0)
|
|
25
|
+
return Promise.resolve(null);
|
|
26
|
+
let query = '';
|
|
27
|
+
let cursor = 0;
|
|
28
|
+
let filtered = items.map((_, i) => i);
|
|
29
|
+
function refilter() {
|
|
30
|
+
const q = query.trim().toLowerCase();
|
|
31
|
+
filtered = items
|
|
32
|
+
.map((_, i) => i)
|
|
33
|
+
.filter((i) => !q || `${items[i].label} ${items[i].hint ?? ''}`.toLowerCase().includes(q));
|
|
34
|
+
if (cursor >= filtered.length)
|
|
35
|
+
cursor = Math.max(0, filtered.length - 1);
|
|
36
|
+
if (cursor < 0)
|
|
37
|
+
cursor = 0;
|
|
38
|
+
}
|
|
39
|
+
function render() {
|
|
40
|
+
output.write('\x1b[H\x1b[J');
|
|
41
|
+
output.write(`\x1b[1m ${opts.title}\x1b[0m\n`);
|
|
42
|
+
output.write(`\x1b[2m 输入可搜索 · ↑/↓ 选择 · ⏎ 确认 · Esc 取消\x1b[0m\n\n`);
|
|
43
|
+
output.write(` \x1b[36m🔍\x1b[0m ${query || '\x1b[2m(全部)\x1b[0m'}\n\n`);
|
|
44
|
+
if (filtered.length === 0) {
|
|
45
|
+
output.write(` \x1b[2m无匹配项\x1b[0m\n`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
for (let row = 0; row < filtered.length; row++) {
|
|
49
|
+
const it = items[filtered[row]];
|
|
50
|
+
const selected = row === cursor;
|
|
51
|
+
const pointer = selected ? '\x1b[36m❯\x1b[0m' : ' ';
|
|
52
|
+
const arrow = it.submenu ? ' \x1b[2m▸\x1b[0m' : '';
|
|
53
|
+
const hint = it.hint ? ` \x1b[2m${it.hint}\x1b[0m` : '';
|
|
54
|
+
const label = selected ? `\x1b[7m ${it.label} \x1b[0m` : ` ${it.label} `;
|
|
55
|
+
output.write(` ${pointer} ${label}${hint}${arrow}\n`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (opts.footer)
|
|
59
|
+
output.write(`\n \x1b[2m${opts.footer}\x1b[0m\n`);
|
|
60
|
+
}
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
const prevListeners = input.listeners('data');
|
|
63
|
+
const prevRaw = input.isRaw ?? false;
|
|
64
|
+
input.removeAllListeners('data');
|
|
65
|
+
try {
|
|
66
|
+
input.setRawMode(true);
|
|
67
|
+
}
|
|
68
|
+
catch { /* 非 raw 终端 */ }
|
|
69
|
+
input.resume();
|
|
70
|
+
input.setEncoding('utf-8');
|
|
71
|
+
output.write('\x1b[?25l\x1b[?1049h'); // hide cursor + alt screen
|
|
72
|
+
render();
|
|
73
|
+
function cleanup(result) {
|
|
74
|
+
input.removeListener('data', onData);
|
|
75
|
+
output.write('\x1b[?25h\x1b[?1049l'); // show cursor + leave alt screen
|
|
76
|
+
try {
|
|
77
|
+
input.setRawMode(prevRaw);
|
|
78
|
+
}
|
|
79
|
+
catch { /* */ }
|
|
80
|
+
for (const l of prevListeners)
|
|
81
|
+
input.on('data', l);
|
|
82
|
+
if (prevListeners.length === 0)
|
|
83
|
+
input.pause();
|
|
84
|
+
resolve(result);
|
|
85
|
+
}
|
|
86
|
+
function onData(key) {
|
|
87
|
+
// Ctrl-C / 裸 Esc → 取消
|
|
88
|
+
if (key === '\x03' || key === ESC) {
|
|
89
|
+
cleanup(null);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
// 方向键 / Ctrl-P / Ctrl-N
|
|
93
|
+
if (key === `${ESC}[A` || key === '\x10') {
|
|
94
|
+
if (filtered.length)
|
|
95
|
+
cursor = (cursor - 1 + filtered.length) % filtered.length;
|
|
96
|
+
render();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (key === `${ESC}[B` || key === '\x0e') {
|
|
100
|
+
if (filtered.length)
|
|
101
|
+
cursor = (cursor + 1) % filtered.length;
|
|
102
|
+
render();
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
// Enter
|
|
106
|
+
if (key === '\r' || key === '\n') {
|
|
107
|
+
if (filtered.length)
|
|
108
|
+
cleanup(filtered[cursor]);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
// Backspace
|
|
112
|
+
if (key === '\x7f' || key === '\x08') {
|
|
113
|
+
query = query.slice(0, -1);
|
|
114
|
+
refilter();
|
|
115
|
+
render();
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
// 普通可打印字符 → 追加到搜索
|
|
119
|
+
if (isPrintable(key)) {
|
|
120
|
+
query += key;
|
|
121
|
+
cursor = 0;
|
|
122
|
+
refilter();
|
|
123
|
+
render();
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
// 其它(未识别的转义序列等)忽略
|
|
127
|
+
}
|
|
128
|
+
input.on('data', onData);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* 级联 CLI 选择器:顶层列出所有 CLI(Aiden 带 ▸),选 Aiden 进二级菜单
|
|
133
|
+
* (原生 / × Claude / × Codex)。返回选择键(CLI_SELECT_OPTIONS 的 key),
|
|
134
|
+
* 取消返回 null。
|
|
135
|
+
*
|
|
136
|
+
* 非 TTY 回退:打印带序号的扁平列表,用 readline 读「序号 / key」。
|
|
137
|
+
*/
|
|
138
|
+
export async function pickCliSelection(rl, opts = {}) {
|
|
139
|
+
const title = opts.title ?? '选择 CLI 适配器';
|
|
140
|
+
// ── 非 TTY 回退:序号 / key 文本输入 ──
|
|
141
|
+
if (!input.isTTY || !output.isTTY) {
|
|
142
|
+
const lines = CLI_SELECT_OPTIONS.map((o, i) => ` ${i + 1}) ${o.label} (${o.key})`);
|
|
143
|
+
output.write(`\n${title}\n${lines.join('\n')}\n`);
|
|
144
|
+
const def = opts.currentKey ?? CLI_SELECT_OPTIONS[0].key;
|
|
145
|
+
const ans = (await new Promise((res) => rl.question(`选择 [${def}]: `, res))).trim();
|
|
146
|
+
if (!ans)
|
|
147
|
+
return def;
|
|
148
|
+
const byNum = CLI_SELECT_OPTIONS[Number(ans) - 1];
|
|
149
|
+
if (byNum)
|
|
150
|
+
return byNum.key;
|
|
151
|
+
const byKey = CLI_SELECT_OPTIONS.find((o) => o.key === ans);
|
|
152
|
+
return byKey ? byKey.key : ans; // 透传:让上层 resolveCliSelection 抛错给出明确提示
|
|
153
|
+
}
|
|
154
|
+
// ── TTY:级联 ──
|
|
155
|
+
// 顶层循环:选中带二级菜单的项后进子菜单,子菜单取消则退回顶层。
|
|
156
|
+
for (;;) {
|
|
157
|
+
const topItems = CLI_SELECT_TREE.map((g) => ({
|
|
158
|
+
label: g.label,
|
|
159
|
+
hint: g.children ? '' : g.option?.key,
|
|
160
|
+
submenu: !!g.children,
|
|
161
|
+
}));
|
|
162
|
+
const ti = await interactiveSelect({ title, items: topItems, footer: '选 Aiden 进入子菜单(× Claude / × Codex)' });
|
|
163
|
+
if (ti === null)
|
|
164
|
+
return null;
|
|
165
|
+
const group = CLI_SELECT_TREE[ti];
|
|
166
|
+
if (group.option)
|
|
167
|
+
return group.option.key;
|
|
168
|
+
if (group.children) {
|
|
169
|
+
const subItems = group.children.map((c) => ({ label: c.label, hint: c.wrapperCli ?? c.key }));
|
|
170
|
+
const si = await interactiveSelect({ title: `${title} › ${group.label}`, items: subItems, footer: 'Esc 返回上一级' });
|
|
171
|
+
if (si === null)
|
|
172
|
+
continue; // 退回顶层
|
|
173
|
+
return group.children[si].key;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=interactive-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive-select.js","sourceRoot":"","sources":["../../src/setup/interactive-select.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,12 @@
|
|
|
49
49
|
*
|
|
50
50
|
* Any of the negatives → don't arm; the gate stays open and the spawn behaves
|
|
51
51
|
* exactly as before (readyPattern + quiescence).
|
|
52
|
+
*
|
|
53
|
+
* NB: `wrapperCli=aiden x claude` strips our process-level `--settings`, but the
|
|
54
|
+
* SessionStart hook is ALSO installed globally (~/.claude/settings.json — see
|
|
55
|
+
* claude-code.ts hookInstall.sessionStartCommand), which aiden's Claude still
|
|
56
|
+
* reads. So the real signal fires there too → we KEEP arming for that case
|
|
57
|
+
* (no readyPattern fallback, which could misjudge).
|
|
52
58
|
*/
|
|
53
59
|
export declare function shouldArmReadyGate(state: {
|
|
54
60
|
injectsReadyHook: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ready-gate.d.ts","sourceRoot":"","sources":["../../src/utils/ready-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH
|
|
1
|
+
{"version":3,"file":"ready-gate.d.ts","sourceRoot":"","sources":["../../src/utils/ready-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACjC,GAAG,OAAO,CAEV;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IAEzB,oFAAoF;IACpF,GAAG,IAAI,IAAI;IAIX,qFAAqF;IACrF,UAAU,IAAI,OAAO;IAIrB;;;;;;OAMG;IACH,OAAO,IAAI,OAAO;IAOlB,qEAAqE;IACrE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,gEAAgE;IAChE,IAAI,UAAU,IAAI,OAAO,CAExB;CACF"}
|
package/dist/utils/ready-gate.js
CHANGED
|
@@ -49,6 +49,12 @@
|
|
|
49
49
|
*
|
|
50
50
|
* Any of the negatives → don't arm; the gate stays open and the spawn behaves
|
|
51
51
|
* exactly as before (readyPattern + quiescence).
|
|
52
|
+
*
|
|
53
|
+
* NB: `wrapperCli=aiden x claude` strips our process-level `--settings`, but the
|
|
54
|
+
* SessionStart hook is ALSO installed globally (~/.claude/settings.json — see
|
|
55
|
+
* claude-code.ts hookInstall.sessionStartCommand), which aiden's Claude still
|
|
56
|
+
* reads. So the real signal fires there too → we KEEP arming for that case
|
|
57
|
+
* (no readyPattern fallback, which could misjudge).
|
|
52
58
|
*/
|
|
53
59
|
export function shouldArmReadyGate(state) {
|
|
54
60
|
return state.injectsReadyHook && !state.adoptMode && !state.willReattachPersistent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ready-gate.js","sourceRoot":"","sources":["../../src/utils/ready-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH
|
|
1
|
+
{"version":3,"file":"ready-gate.js","sourceRoot":"","sources":["../../src/utils/ready-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACC,OAAO,KAAK,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;AACrF,CAAC;AAED,MAAM,OAAO,SAAS;IACZ,KAAK,GAAG,KAAK,CAAC;IACd,QAAQ,GAAG,KAAK,CAAC;IAEzB,oFAAoF;IACpF,GAAG;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,qFAAqF;IACrF,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gEAAgE;IAChE,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
|
package/dist/worker.js
CHANGED
|
@@ -39,6 +39,7 @@ import { t, setDefaultLocale } from './i18n/index.js';
|
|
|
39
39
|
import { TerminalRenderer } from './utils/terminal-renderer.js';
|
|
40
40
|
import { DEFAULT_RENDER_COLS, DEFAULT_RENDER_ROWS, MAX_RENDER_COLS, MAX_RENDER_ROWS, MIN_RENDER_COLS, MIN_RENDER_ROWS, clamp, resolveRenderDimensions, } from './utils/render-dimensions.js';
|
|
41
41
|
import { createCliAdapterSync, locateOnPath } from './adapters/cli/registry.js';
|
|
42
|
+
import { buildWrappedLaunch } from './setup/cli-selection.js';
|
|
42
43
|
import { claudeJsonlPathForSession, resolveJsonlFromPid, findOpenClaudeSessionIds, DEFAULT_CLAUDE_DATA_DIR } from './adapters/cli/claude-code.js';
|
|
43
44
|
import { mtrSessionIdForBotmuxSession } from './adapters/cli/mtr.js';
|
|
44
45
|
import { HerdrBackend } from './adapters/backend/herdr-backend.js';
|
|
@@ -147,6 +148,41 @@ let readySignalTimer = null;
|
|
|
147
148
|
* back. The real signal lands within ~ms of the input box rendering, so this is
|
|
148
149
|
* pure insurance against a missing/failed hook — generous but bounded. */
|
|
149
150
|
const READY_SIGNAL_TIMEOUT_MS = 45_000;
|
|
151
|
+
/** Epoch ms of the most recent PTY output — used to settle for quiescence
|
|
152
|
+
* before the first flush (see settleThenFlush). */
|
|
153
|
+
let lastPtyOutputAtMs = 0;
|
|
154
|
+
/** After the SessionStart signal fires, the input box has appeared but Ink's
|
|
155
|
+
* startup render isn't fully drained yet — typing immediately trips Claude's
|
|
156
|
+
* paste-burst heuristic and the `\` soft-newline markers (claude-code
|
|
157
|
+
* writeInput) get kept literally. This is pronounced under wrapperCli launchers
|
|
158
|
+
* (e.g. `aiden x claude`) whose Claude renders more at startup. So we wait for
|
|
159
|
+
* the PTY to fall quiet for SETTLE_MS before the first flush — the signal still
|
|
160
|
+
* gates readiness (anti-selector), the settle just lets the render drain. */
|
|
161
|
+
const READY_FLUSH_SETTLE_MS = 1_000;
|
|
162
|
+
/** Upper bound on the settle so a chatty startup (spinners, periodic redraw)
|
|
163
|
+
* can't stall the first prompt indefinitely. */
|
|
164
|
+
const READY_FLUSH_SETTLE_CAP_MS = 6_000;
|
|
165
|
+
let readyFlushSettleTimer = null;
|
|
166
|
+
/** True while the post-signal quiescence settle is in progress — flushPending
|
|
167
|
+
* holds (just like the gate) so a message arriving mid-settle can't type-ahead
|
|
168
|
+
* past the settle and re-trigger paste-burst. */
|
|
169
|
+
let isSettlingFirstFlush = false;
|
|
170
|
+
/** Wait until the PTY has been quiet for READY_FLUSH_SETTLE_MS (Ink render
|
|
171
|
+
* drained), capped at READY_FLUSH_SETTLE_CAP_MS, then flush the held prompt. */
|
|
172
|
+
function settleThenFlush(startedAtMs) {
|
|
173
|
+
readyFlushSettleTimer = null;
|
|
174
|
+
const now = Date.now();
|
|
175
|
+
const quietForMs = now - lastPtyOutputAtMs;
|
|
176
|
+
if (quietForMs >= READY_FLUSH_SETTLE_MS || now - startedAtMs >= READY_FLUSH_SETTLE_CAP_MS) {
|
|
177
|
+
isSettlingFirstFlush = false;
|
|
178
|
+
log(`Ready-gate settle done (quiet ${quietForMs}ms); delivering held first prompt`);
|
|
179
|
+
void flushPending();
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const wait = Math.min(READY_FLUSH_SETTLE_MS - quietForMs, READY_FLUSH_SETTLE_CAP_MS - (now - startedAtMs));
|
|
183
|
+
readyFlushSettleTimer = setTimeout(() => settleThenFlush(startedAtMs), Math.max(50, wait));
|
|
184
|
+
readyFlushSettleTimer.unref?.();
|
|
185
|
+
}
|
|
150
186
|
/** Release the ready-gate and flush anything it held. No-op when the gate was
|
|
151
187
|
* never armed (other CLIs / adopt) or already released (idempotent). */
|
|
152
188
|
function releaseReadyGate(reason) {
|
|
@@ -155,8 +191,13 @@ function releaseReadyGate(reason) {
|
|
|
155
191
|
readySignalTimer = null;
|
|
156
192
|
}
|
|
157
193
|
if (readyGate.receive()) {
|
|
158
|
-
log(`Ready gate released (${reason});
|
|
159
|
-
|
|
194
|
+
log(`Ready gate released (${reason}); settling for PTY quiescence before first flush`);
|
|
195
|
+
if (readyFlushSettleTimer) {
|
|
196
|
+
clearTimeout(readyFlushSettleTimer);
|
|
197
|
+
readyFlushSettleTimer = null;
|
|
198
|
+
}
|
|
199
|
+
isSettlingFirstFlush = true;
|
|
200
|
+
settleThenFlush(Date.now());
|
|
160
201
|
}
|
|
161
202
|
}
|
|
162
203
|
const pendingMessages = [];
|
|
@@ -2785,7 +2826,9 @@ function onPtyData(data) {
|
|
|
2785
2826
|
return;
|
|
2786
2827
|
}
|
|
2787
2828
|
}
|
|
2788
|
-
//
|
|
2829
|
+
// Track last PTY output time for the ready-gate quiescence settle (see
|
|
2830
|
+
// settleThenFlush) and delegate idle detection to IdleDetector.
|
|
2831
|
+
lastPtyOutputAtMs = Date.now();
|
|
2789
2832
|
idleDetector?.feed(data);
|
|
2790
2833
|
}
|
|
2791
2834
|
function markPromptReady() {
|
|
@@ -2970,6 +3013,12 @@ async function flushPending() {
|
|
|
2970
3013
|
log(`Holding ${pendingMessages.length} pending message(s) until SessionStart ready signal`);
|
|
2971
3014
|
return;
|
|
2972
3015
|
}
|
|
3016
|
+
// Post-signal quiescence settle in progress — hold so the first write lands
|
|
3017
|
+
// after Ink's startup render has drained (else paste-burst keeps `\` literal).
|
|
3018
|
+
if (isSettlingFirstFlush) {
|
|
3019
|
+
log(`Holding ${pendingMessages.length} pending message(s) until ready-gate settle completes`);
|
|
3020
|
+
return;
|
|
3021
|
+
}
|
|
2973
3022
|
// Type-ahead adapters flush even while the CLI is busy; others wait for
|
|
2974
3023
|
// idle. Claude bridge fallback used to also disable type-ahead because
|
|
2975
3024
|
// BridgeTurnQueue.ingest didn't recognise the `attachment(queued_command)`
|
|
@@ -3838,6 +3887,23 @@ function spawnCli(cfg) {
|
|
|
3838
3887
|
throw err;
|
|
3839
3888
|
}
|
|
3840
3889
|
}
|
|
3890
|
+
// 通用启动前缀(wrapperCli):把启动命令重写成 `<wrapperCli> <CLI 参数>`(首 token 当
|
|
3891
|
+
// bin 走 PATH 解析),无需 wrapper 脚本、跨系统。aiden x claude 形态会剥掉 aiden 拒收的
|
|
3892
|
+
// --settings(见 buildWrappedLaunch)。与文件沙盒互斥:沙盒已把命令重写成 bwrap,叠加
|
|
3893
|
+
// 前缀会破坏隔离,故 sandboxOn 时跳过并告警(网关 + oncall 沙盒本就不是合理组合)。
|
|
3894
|
+
if (cfg.wrapperCli && cfg.wrapperCli.trim()) {
|
|
3895
|
+
if (sandboxOn) {
|
|
3896
|
+
log(`wrapperCli="${cfg.wrapperCli}" ignored: file sandbox enabled and takes precedence (cannot combine launch prefix with bwrap)`);
|
|
3897
|
+
}
|
|
3898
|
+
else {
|
|
3899
|
+
const launch = buildWrappedLaunch(cfg.wrapperCli, spawnArgs, (b) => locateOnPath(b) ?? b);
|
|
3900
|
+
if (launch.bin) {
|
|
3901
|
+
spawnBin = launch.bin;
|
|
3902
|
+
spawnArgs = launch.args;
|
|
3903
|
+
log(`Launch prefix: spawning ${spawnBin} ${spawnArgs.slice(0, 2).join(' ')} … (cliId=${cfg.cliId})`);
|
|
3904
|
+
}
|
|
3905
|
+
}
|
|
3906
|
+
}
|
|
3841
3907
|
backend.spawn(spawnBin, spawnArgs, {
|
|
3842
3908
|
cwd: spawnCwd,
|
|
3843
3909
|
cols: PTY_COLS,
|
|
@@ -4010,6 +4076,13 @@ function spawnCli(cfg) {
|
|
|
4010
4076
|
clearTimeout(readySignalTimer);
|
|
4011
4077
|
readySignalTimer = null;
|
|
4012
4078
|
}
|
|
4079
|
+
if (readyFlushSettleTimer) {
|
|
4080
|
+
clearTimeout(readyFlushSettleTimer);
|
|
4081
|
+
readyFlushSettleTimer = null;
|
|
4082
|
+
}
|
|
4083
|
+
isSettlingFirstFlush = false;
|
|
4084
|
+
// Reset quiescence baseline so the settle measures silence from THIS spawn.
|
|
4085
|
+
lastPtyOutputAtMs = Date.now();
|
|
4013
4086
|
if (shouldArmReadyGate({
|
|
4014
4087
|
injectsReadyHook: cliAdapter.injectsReadyHook === true,
|
|
4015
4088
|
adoptMode: cfg.adoptMode === true,
|
|
@@ -4092,11 +4165,16 @@ function spawnCli(cfg) {
|
|
|
4092
4165
|
function killCli() {
|
|
4093
4166
|
idleDetector?.dispose();
|
|
4094
4167
|
idleDetector = null;
|
|
4095
|
-
// Cancel any pending ready-gate fallback
|
|
4168
|
+
// Cancel any pending ready-gate fallback / settle timers; spawnCli re-arms on respawn.
|
|
4096
4169
|
if (readySignalTimer) {
|
|
4097
4170
|
clearTimeout(readySignalTimer);
|
|
4098
4171
|
readySignalTimer = null;
|
|
4099
4172
|
}
|
|
4173
|
+
if (readyFlushSettleTimer) {
|
|
4174
|
+
clearTimeout(readyFlushSettleTimer);
|
|
4175
|
+
readyFlushSettleTimer = null;
|
|
4176
|
+
}
|
|
4177
|
+
isSettlingFirstFlush = false;
|
|
4100
4178
|
stopScreenAnalyzer();
|
|
4101
4179
|
stopScreenUpdates();
|
|
4102
4180
|
backend?.kill();
|