botmux 2.100.0 → 2.101.1

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 (133) hide show
  1. package/README.en.md +33 -7
  2. package/README.md +33 -7
  3. package/dist/adapters/backend/sandbox.d.ts +33 -4
  4. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  5. package/dist/adapters/backend/sandbox.js +90 -29
  6. package/dist/adapters/backend/sandbox.js.map +1 -1
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +4 -0
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/cli/hermes.d.ts.map +1 -1
  11. package/dist/adapters/cli/hermes.js +7 -0
  12. package/dist/adapters/cli/hermes.js.map +1 -1
  13. package/dist/bot-registry.d.ts +12 -0
  14. package/dist/bot-registry.d.ts.map +1 -1
  15. package/dist/bot-registry.js +10 -3
  16. package/dist/bot-registry.js.map +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +659 -154
  19. package/dist/cli.js.map +1 -1
  20. package/dist/core/cost-calculator.d.ts.map +1 -1
  21. package/dist/core/cost-calculator.js +26 -36
  22. package/dist/core/cost-calculator.js.map +1 -1
  23. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  24. package/dist/core/dashboard-ipc-server.js +37 -2
  25. package/dist/core/dashboard-ipc-server.js.map +1 -1
  26. package/dist/core/session-manager.d.ts +11 -0
  27. package/dist/core/session-manager.d.ts.map +1 -1
  28. package/dist/core/session-manager.js +87 -17
  29. package/dist/core/session-manager.js.map +1 -1
  30. package/dist/core/worker-pool.d.ts.map +1 -1
  31. package/dist/core/worker-pool.js +6 -0
  32. package/dist/core/worker-pool.js.map +1 -1
  33. package/dist/daemon.d.ts +1 -1
  34. package/dist/daemon.d.ts.map +1 -1
  35. package/dist/daemon.js +24 -8
  36. package/dist/daemon.js.map +1 -1
  37. package/dist/dashboard/bot-onboarding.d.ts +6 -0
  38. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  39. package/dist/dashboard/bot-onboarding.js +3 -1
  40. package/dist/dashboard/bot-onboarding.js.map +1 -1
  41. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  42. package/dist/dashboard/web/bot-onboarding.js +24 -3
  43. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  44. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  45. package/dist/dashboard/web/i18n.js +14 -4
  46. package/dist/dashboard/web/i18n.js.map +1 -1
  47. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  48. package/dist/dashboard/web/sessions.js +5 -19
  49. package/dist/dashboard/web/sessions.js.map +1 -1
  50. package/dist/dashboard-web/app.js +40 -33
  51. package/dist/dashboard-web/chunks/{bot-defaults-page-3EV7K6LJ.js → bot-defaults-page-HOGLABBC.js} +1 -1
  52. package/dist/dashboard-web/chunks/{chunk-NASYW5FD.js → chunk-ECXPBQ3J.js} +1 -1
  53. package/dist/dashboard-web/chunks/chunk-MR57RUVP.js +31 -0
  54. package/dist/dashboard-web/chunks/{connectors-XPZKEHF6.js → connectors-UGTF4Q4I.js} +1 -1
  55. package/dist/dashboard-web/chunks/{groups-page-C54PVKYP.js → groups-page-IKTCMQ4A.js} +1 -1
  56. package/dist/dashboard-web/chunks/{insights-page-BBQYR7WY.js → insights-page-7CCSHEKM.js} +1 -1
  57. package/dist/dashboard-web/chunks/{overview-page-5PJCAMID.js → overview-page-JOJW65P5.js} +1 -1
  58. package/dist/dashboard-web/chunks/{roles-page-APUDLPVM.js → roles-page-E2VN2DLV.js} +1 -1
  59. package/dist/dashboard-web/chunks/{schedules-WG2UKHSO.js → schedules-6QIHJIHX.js} +1 -1
  60. package/dist/dashboard-web/chunks/sessions-page-QN2TARF2.js +238 -0
  61. package/dist/dashboard-web/chunks/{settings-page-OSBZNCXL.js → settings-page-WWTXB577.js} +1 -1
  62. package/dist/dashboard-web/chunks/{skills-page-Y3VUAOYG.js → skills-page-2FAUPQ6H.js} +1 -1
  63. package/dist/dashboard-web/chunks/{team-federation-page-CRH3WZPH.js → team-federation-page-PTBQQSFS.js} +1 -1
  64. package/dist/dashboard-web/chunks/{workflows-UB7OPYGI.js → workflows-ZNBB5KFV.js} +1 -1
  65. package/dist/dashboard.js +86 -1
  66. package/dist/dashboard.js.map +1 -1
  67. package/dist/i18n/en.d.ts.map +1 -1
  68. package/dist/i18n/en.js +2 -0
  69. package/dist/i18n/en.js.map +1 -1
  70. package/dist/i18n/zh.d.ts.map +1 -1
  71. package/dist/i18n/zh.js +2 -0
  72. package/dist/i18n/zh.js.map +1 -1
  73. package/dist/im/lark/event-dispatcher.d.ts +8 -3
  74. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  75. package/dist/im/lark/event-dispatcher.js +34 -9
  76. package/dist/im/lark/event-dispatcher.js.map +1 -1
  77. package/dist/platform/bind.d.ts.map +1 -1
  78. package/dist/platform/bind.js +36 -15
  79. package/dist/platform/bind.js.map +1 -1
  80. package/dist/platform/binding.d.ts +5 -0
  81. package/dist/platform/binding.d.ts.map +1 -1
  82. package/dist/platform/binding.js +11 -0
  83. package/dist/platform/binding.js.map +1 -1
  84. package/dist/platform/platform-http.d.ts +11 -0
  85. package/dist/platform/platform-http.d.ts.map +1 -0
  86. package/dist/platform/platform-http.js +41 -0
  87. package/dist/platform/platform-http.js.map +1 -0
  88. package/dist/platform/tunnel-client.d.ts +14 -0
  89. package/dist/platform/tunnel-client.d.ts.map +1 -1
  90. package/dist/platform/tunnel-client.js +40 -3
  91. package/dist/platform/tunnel-client.js.map +1 -1
  92. package/dist/services/bot-union-ids-store.d.ts +9 -0
  93. package/dist/services/bot-union-ids-store.d.ts.map +1 -0
  94. package/dist/services/bot-union-ids-store.js +59 -0
  95. package/dist/services/bot-union-ids-store.js.map +1 -0
  96. package/dist/services/coco-transcript.d.ts.map +1 -1
  97. package/dist/services/coco-transcript.js +59 -64
  98. package/dist/services/coco-transcript.js.map +1 -1
  99. package/dist/services/jsonl-cursor.d.ts +12 -0
  100. package/dist/services/jsonl-cursor.d.ts.map +1 -1
  101. package/dist/services/jsonl-cursor.js +63 -4
  102. package/dist/services/jsonl-cursor.js.map +1 -1
  103. package/dist/services/platform-team-store.d.ts +37 -0
  104. package/dist/services/platform-team-store.d.ts.map +1 -0
  105. package/dist/services/platform-team-store.js +120 -0
  106. package/dist/services/platform-team-store.js.map +1 -0
  107. package/dist/services/team-groups-store.d.ts +14 -1
  108. package/dist/services/team-groups-store.d.ts.map +1 -1
  109. package/dist/services/team-groups-store.js +28 -1
  110. package/dist/services/team-groups-store.js.map +1 -1
  111. package/dist/setup/bot-config-editor.d.ts +6 -0
  112. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  113. package/dist/setup/bot-config-editor.js +18 -15
  114. package/dist/setup/bot-config-editor.js.map +1 -1
  115. package/dist/setup/interactive-select.d.ts +22 -0
  116. package/dist/setup/interactive-select.d.ts.map +1 -1
  117. package/dist/setup/interactive-select.js +101 -7
  118. package/dist/setup/interactive-select.js.map +1 -1
  119. package/dist/setup/open-platform-automation.d.ts +42 -0
  120. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  121. package/dist/setup/open-platform-automation.js +107 -0
  122. package/dist/setup/open-platform-automation.js.map +1 -1
  123. package/dist/setup/setup-args.d.ts +77 -0
  124. package/dist/setup/setup-args.d.ts.map +1 -0
  125. package/dist/setup/setup-args.js +272 -0
  126. package/dist/setup/setup-args.js.map +1 -0
  127. package/dist/types.d.ts +6 -0
  128. package/dist/types.d.ts.map +1 -1
  129. package/dist/worker.js +32 -8
  130. package/dist/worker.js.map +1 -1
  131. package/package.json +1 -1
  132. package/dist/dashboard-web/chunks/chunk-JXLHRRJD.js +0 -31
  133. package/dist/dashboard-web/chunks/sessions-page-F3U5NFPD.js +0 -238
@@ -0,0 +1,272 @@
1
+ /**
2
+ * `botmux setup <list|add|edit|remove>` 非 TUI(脚本化)模式:argv 解析 + 纯映射。
3
+ *
4
+ * 动机:给 coding agent / 脚本一个**字段级**的稳定接口。以前脚本化 setup 只能
5
+ * 对交互问答「管道喂数字」,TUI 问题序列一变(比如新增一问)答案就静默错位;
6
+ * flag 形式不依赖问题顺序,天然稳定。
7
+ *
8
+ * 本模块保持纯函数(不碰 fs / 网络 / process),可单测;目录存在性校验、
9
+ * 凭证校验(tenant_access_token)、bots.json 读写等副作用留在 cli.ts 执行层。
10
+ */
11
+ import { applyBotConfigEdits, assertOwnerWhenChatGroups, hasOwnerEntry, } from './bot-config-editor.js';
12
+ import { CLI_SELECT_OPTIONS, resolveCliSelection } from './cli-selection.js';
13
+ /**
14
+ * `botmux setup` 后面第一个参数是否触发脚本化模式:任何**非 flag** 首参数都算
15
+ * (未知子命令由 parseSetupCommand 报错,而不是掉进交互 TUI 把脚本挂住)。
16
+ * 空参数 / 纯 flag(如 --no-open-platform-auto)仍走原交互 TUI,保持向后兼容。
17
+ */
18
+ export function isScriptedSetupInvocation(argv) {
19
+ const first = argv[0];
20
+ if (first === undefined)
21
+ return false;
22
+ if (first === '--help' || first === '-h')
23
+ return true;
24
+ return !first.startsWith('-');
25
+ }
26
+ const BOT_FIELD_FLAGS = {
27
+ '--name': 'name',
28
+ '--app-id': 'appId',
29
+ '--app-secret': 'appSecret',
30
+ '--cli': 'cli',
31
+ '--cli-path': 'cliPath',
32
+ '--wrapper-cli': 'wrapperCli',
33
+ '--model': 'model',
34
+ '--backend': 'backend',
35
+ '--working-dir': 'workingDir',
36
+ '--default-working-dir': 'defaultWorkingDir',
37
+ '--allowed-users': 'allowedUsers',
38
+ '--allowed-chat-groups': 'allowedChatGroups',
39
+ '--show-in-team': 'showInTeam',
40
+ '--brand': 'brand',
41
+ };
42
+ export const SETUP_CLI_USAGE = `botmux setup — 脚本化(非 TUI)用法
43
+
44
+ botmux setup list [--json]
45
+ 列出已配置机器人(--json 输出完整字段,secret 脱敏)。
46
+
47
+ botmux setup add --app-id <cli_xxx> --app-secret <secret> --allowed-users <owner> [选项]
48
+ 添加机器人。必填:--app-id / --app-secret / --allowed-users(至少一个
49
+ 完整邮箱、union_id on_xxx 或 open_id ou_xxx 作为 owner)。
50
+ 写盘前会用凭证换 tenant_access_token 校验,校验失败不写盘。
51
+
52
+ botmux setup edit <进程名|AppID> [字段选项...]
53
+ 按字段修改机器人(如 botmux setup edit botmux-0 --cli codex)。
54
+ 至少给一个字段选项;值传 - 表示清空该字段。
55
+
56
+ botmux setup remove <进程名|AppID> --yes
57
+ 删除机器人(非交互删除必须显式 --yes 确认)。
58
+
59
+ 字段选项(add / edit 通用;edit 中未给出的字段保持不变):
60
+ --name <n> botmux status 显示名(进程名后缀)
61
+ --app-id <cli_xxx> 飞书应用 App ID(edit 时改绑另一个应用)
62
+ --app-secret <secret> App Secret
63
+ --cli <key> CLI 适配器:cliId 或网关键(claude-code / codex /
64
+ aiden-x-claude / ttadk-x-codex …)
65
+ --cli-path <path> CLI 可执行文件路径覆盖
66
+ --wrapper-cli <prefix> 通用启动前缀(如 "aiden x claude"),覆盖 --cli 推导值
67
+ --model <m> CLI 模型名
68
+ --backend <b> 会话后端 pty | tmux | herdr | zellij
69
+ --working-dir <dirs> 仓库选择卡片的扫描根目录(逗号分隔多个)
70
+ --default-working-dir <d> 固定默认目录:新话题直接在此目录启动、不弹仓库
71
+ 选择卡片;传 - 清空、回到弹卡模式
72
+ --allowed-users <a,b> 管理员名单(完整邮箱 / on_xxx / ou_xxx,逗号分隔)
73
+ --allowed-chat-groups <g> 可对话群 chat_id(oc_xxx,逗号分隔)
74
+ --show-in-team <bool> 平台团队页是否展示(默认 true)
75
+ --brand <feishu|lark> 租户类型(仅 add)
76
+
77
+ 通用选项:
78
+ --json 输出机器可读 JSON(含 ok / error 字段)
79
+ --open-platform-auto add 成功后执行开放平台自动配置(默认跳过;
80
+ 需要扫码,请在可交互终端使用)
81
+ `;
82
+ function parseBotFieldFlags(tokens, opts) {
83
+ const flags = {};
84
+ const positional = [];
85
+ let json = false;
86
+ let yes = false;
87
+ let openPlatformAuto = false;
88
+ for (let i = 0; i < tokens.length; i++) {
89
+ const token = tokens[i];
90
+ if (token === '--json') {
91
+ json = true;
92
+ continue;
93
+ }
94
+ if (token === '--yes' || token === '-y') {
95
+ yes = true;
96
+ continue;
97
+ }
98
+ if (token === '--open-platform-auto') {
99
+ openPlatformAuto = true;
100
+ continue;
101
+ }
102
+ if (token === '--no-open-platform-auto') {
103
+ openPlatformAuto = false;
104
+ continue;
105
+ }
106
+ if (token.startsWith('--')) {
107
+ const eq = token.indexOf('=');
108
+ const flag = eq >= 0 ? token.slice(0, eq) : token;
109
+ const field = BOT_FIELD_FLAGS[flag];
110
+ if (!field) {
111
+ throw new Error(`未知参数 ${flag}。查看用法:botmux setup help`);
112
+ }
113
+ if (!opts.allowFields) {
114
+ throw new Error(`${opts.action} 不接受字段参数 ${flag}。查看用法:botmux setup help`);
115
+ }
116
+ let value;
117
+ if (eq >= 0) {
118
+ value = token.slice(eq + 1);
119
+ }
120
+ else {
121
+ const next = tokens[i + 1];
122
+ // '-' 是合法的清空值;以 '--' 开头的下一个 token 视为漏填了取值。
123
+ if (next === undefined || next.startsWith('--')) {
124
+ throw new Error(`${flag} 缺少取值。查看用法:botmux setup help`);
125
+ }
126
+ value = next;
127
+ i++;
128
+ }
129
+ flags[field] = value;
130
+ continue;
131
+ }
132
+ positional.push(token);
133
+ }
134
+ return { flags, json, yes, openPlatformAuto, positional };
135
+ }
136
+ /** 解析 `botmux setup` 的脚本化子命令 argv。非法输入抛 Error(message 面向用户)。 */
137
+ export function parseSetupCommand(argv) {
138
+ const [action, ...rest] = argv;
139
+ if (action === 'help' || action === '--help' || action === '-h')
140
+ return { action: 'help' };
141
+ if (action === 'list') {
142
+ const { json, positional } = parseBotFieldFlags(rest, { allowFields: false, action: 'list' });
143
+ if (positional.length > 0)
144
+ throw new Error(`list 不接受多余参数: ${positional.join(' ')}`);
145
+ return { action: 'list', json };
146
+ }
147
+ if (action === 'add') {
148
+ const { flags, json, openPlatformAuto, positional } = parseBotFieldFlags(rest, { allowFields: true, action: 'add' });
149
+ if (positional.length > 0)
150
+ throw new Error(`add 不接受位置参数: ${positional.join(' ')}(字段一律用 --flag 形式)`);
151
+ return { action: 'add', json, openPlatformAuto, flags };
152
+ }
153
+ if (action === 'edit') {
154
+ const { flags, json, positional } = parseBotFieldFlags(rest, { allowFields: true, action: 'edit' });
155
+ if (positional.length === 0)
156
+ throw new Error('edit 需要指定机器人(进程名 botmux-N 或 AppID)。');
157
+ if (positional.length > 1)
158
+ throw new Error(`edit 只接受一个机器人标识: ${positional.join(' ')}`);
159
+ return { action: 'edit', json, selector: positional[0], flags };
160
+ }
161
+ if (action === 'remove') {
162
+ const { json, yes, positional } = parseBotFieldFlags(rest, { allowFields: false, action: 'remove' });
163
+ if (positional.length === 0)
164
+ throw new Error('remove 需要指定机器人(进程名 botmux-N 或 AppID)。');
165
+ if (positional.length > 1)
166
+ throw new Error(`remove 只接受一个机器人标识: ${positional.join(' ')}`);
167
+ return { action: 'remove', json, selector: positional[0], yes };
168
+ }
169
+ throw new Error(`未知 setup 子命令 "${action}"。查看用法:botmux setup help`);
170
+ }
171
+ /**
172
+ * add flags → 可落盘 bot 对象(纯映射,不做目录存在性 / 凭证校验)。
173
+ * 必填缺失、CLI 选择键非法、owner 缺失等一律抛 Error。
174
+ */
175
+ export function buildBotFromAddFlags(flags) {
176
+ const missing = [];
177
+ if (!flags.appId?.trim())
178
+ missing.push('--app-id');
179
+ if (!flags.appSecret?.trim())
180
+ missing.push('--app-secret');
181
+ if (!flags.allowedUsers?.trim())
182
+ missing.push('--allowed-users');
183
+ if (missing.length > 0)
184
+ throw new Error(`add 缺少必填参数: ${missing.join(' ')}`);
185
+ const brand = (flags.brand ?? 'feishu').trim().toLowerCase();
186
+ if (brand !== 'feishu' && brand !== 'lark') {
187
+ throw new Error(`--brand 必须是 feishu 或 lark: ${flags.brand}`);
188
+ }
189
+ const sel = resolveCliSelection((flags.cli ?? 'claude-code').trim());
190
+ const base = {
191
+ larkAppId: flags.appId.trim(),
192
+ larkAppSecret: flags.appSecret.trim(),
193
+ cliId: sel.cliId,
194
+ ...(sel.wrapperCli ? { wrapperCli: sel.wrapperCli } : {}),
195
+ // 与 TUI 同口径:feishu 不落 brand 字段,bots.json 保持干净。
196
+ ...(brand === 'lark' ? { brand: 'lark' } : {}),
197
+ };
198
+ const input = {
199
+ name: flags.name,
200
+ cliPathOverride: flags.cliPath,
201
+ model: flags.model,
202
+ backendType: flags.backend,
203
+ // 固定默认目录模式(只给 --default-working-dir)不强写 workingDir,
204
+ // 扫描根回退默认 ~;其余情况与 TUI 一致,总是落 workingDir(留空 → '~')。
205
+ workingDir: flags.workingDir ?? (flags.defaultWorkingDir ? undefined : '~'),
206
+ defaultWorkingDir: flags.defaultWorkingDir,
207
+ allowedUsers: flags.allowedUsers,
208
+ allowedChatGroups: flags.allowedChatGroups,
209
+ showInTeam: flags.showInTeam,
210
+ // 显式 --wrapper-cli 覆盖 --cli 推导出的前缀(undefined 时不动 base 里的值)。
211
+ wrapperCli: flags.wrapperCli,
212
+ };
213
+ const bot = applyBotConfigEdits(base, input);
214
+ if (!hasOwnerEntry(bot.allowedUsers)) {
215
+ throw new Error('--allowed-users 至少需要一个完整邮箱、union_id(on_xxx)或 open_id(ou_xxx)作为 owner。');
216
+ }
217
+ assertOwnerWhenChatGroups(bot);
218
+ return bot;
219
+ }
220
+ /**
221
+ * edit flags → BotConfigEditInput(纯映射)。--cli 走 resolveCliSelection:
222
+ * 选普通 CLI 会清掉旧 wrapperCli(与 TUI 一致),显式 --wrapper-cli 再覆盖。
223
+ */
224
+ export function editInputFromFlags(flags) {
225
+ if (flags.brand !== undefined) {
226
+ throw new Error('--brand 仅在 add 时可指定(brand 绑定租户域名,换租户请 remove 后重新 add)。');
227
+ }
228
+ const input = {};
229
+ if (flags.name !== undefined)
230
+ input.name = flags.name;
231
+ if (flags.appId !== undefined)
232
+ input.larkAppId = flags.appId;
233
+ if (flags.appSecret !== undefined)
234
+ input.larkAppSecret = flags.appSecret;
235
+ if (flags.cli !== undefined) {
236
+ const sel = resolveCliSelection(flags.cli.trim());
237
+ input.cliChoice = sel.cliId;
238
+ input.wrapperCli = sel.wrapperCli ?? null;
239
+ }
240
+ if (flags.wrapperCli !== undefined)
241
+ input.wrapperCli = flags.wrapperCli;
242
+ if (flags.cliPath !== undefined)
243
+ input.cliPathOverride = flags.cliPath;
244
+ if (flags.model !== undefined)
245
+ input.model = flags.model;
246
+ if (flags.backend !== undefined)
247
+ input.backendType = flags.backend;
248
+ if (flags.workingDir !== undefined)
249
+ input.workingDir = flags.workingDir;
250
+ if (flags.defaultWorkingDir !== undefined)
251
+ input.defaultWorkingDir = flags.defaultWorkingDir;
252
+ if (flags.allowedUsers !== undefined)
253
+ input.allowedUsers = flags.allowedUsers;
254
+ if (flags.allowedChatGroups !== undefined)
255
+ input.allowedChatGroups = flags.allowedChatGroups;
256
+ if (flags.showInTeam !== undefined)
257
+ input.showInTeam = flags.showInTeam;
258
+ return input;
259
+ }
260
+ /** 合法 --cli 取值(报错提示用)。 */
261
+ export function cliSelectionKeys() {
262
+ return CLI_SELECT_OPTIONS.map(o => o.key);
263
+ }
264
+ /** list --json 输出前的 secret 脱敏(CLI 输出可能被贴进聊天/日志)。 */
265
+ export function maskAppSecret(secret) {
266
+ if (typeof secret !== 'string' || !secret)
267
+ return '';
268
+ if (secret.length <= 8)
269
+ return '••••';
270
+ return `${secret.slice(0, 4)}••••${secret.slice(-4)}`;
271
+ }
272
+ //# sourceMappingURL=setup-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-args.js","sourceRoot":"","sources":["../../src/setup/setup-args.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -177,6 +177,10 @@ export interface Session {
177
177
  sandbox?: boolean;
178
178
  /** Per-bot privacy masks recorded alongside `sandbox` at session creation. */
179
179
  sandboxHidePaths?: string[];
180
+ /** Extra read-only paths recorded alongside `sandbox` at session creation. */
181
+ sandboxReadonlyPaths?: string[];
182
+ /** Network access decision recorded alongside `sandbox` at session creation. */
183
+ sandboxNetwork?: boolean;
180
184
  /** Persisted adopt metadata — allows adopt sessions to survive daemon restarts.
181
185
  * Either tmuxTarget (tmux backend) OR zellijSession+zellijPaneId (zellij). */
182
186
  adoptedFrom?: {
@@ -319,6 +323,8 @@ export type DaemonToWorker = {
319
323
  env?: Record<string, string>;
320
324
  sandbox?: boolean;
321
325
  sandboxHidePaths?: string[];
326
+ sandboxReadonlyPaths?: string[];
327
+ sandboxNetwork?: boolean;
322
328
  backendType: BackendType;
323
329
  prompt: string;
324
330
  resume?: boolean;
@@ -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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"}
package/dist/worker.js CHANGED
@@ -50,6 +50,7 @@ import { createCliAdapterSync, locateOnPath } from './adapters/cli/registry.js';
50
50
  import { buildWrappedLaunch, parseWrapperCli, isTtadkWrapper } from './setup/cli-selection.js';
51
51
  import { findLaunchedCliPid, scheduleWrapperRealCliPid, readComm, isBareShellComm, bareShellLaunchKind } from './core/session-discovery.js';
52
52
  import { claudeJsonlPathForSession, resolveJsonlFromPid, findOpenClaudeSessionIds, DEFAULT_CLAUDE_DATA_DIR } from './adapters/cli/claude-code.js';
53
+ import { sessionReadyHookCommand } from './adapters/hook-command.js';
53
54
  import { mtrSessionIdForBotmuxSession } from './adapters/cli/mtr.js';
54
55
  import { HerdrBackend } from './adapters/backend/herdr-backend.js';
55
56
  import { TmuxBackend } from './adapters/backend/tmux-backend.js';
@@ -238,24 +239,31 @@ let readyFlushSettleTimer = null;
238
239
  * past the settle and re-trigger paste-burst. */
239
240
  let isSettlingFirstFlush = false;
240
241
  /** Wait until the PTY has been quiet for READY_FLUSH_SETTLE_MS (Ink render
241
- * drained), capped at READY_FLUSH_SETTLE_CAP_MS, then flush the held prompt. */
242
- function settleThenFlush(startedAtMs) {
242
+ * drained), capped at READY_FLUSH_SETTLE_CAP_MS, then flush the held prompt.
243
+ * A real SessionStart/BOTMUX_READY_COMMAND signal is itself authoritative
244
+ * prompt readiness; the timeout fallback only opens the gate and lets the
245
+ * regular readyPattern/idle path prove readiness later. */
246
+ function settleThenFlush(startedAtMs, promptReadyAfterSettle) {
243
247
  readyFlushSettleTimer = null;
244
248
  const now = Date.now();
245
249
  const quietForMs = now - lastPtyOutputAtMs;
246
250
  if (quietForMs >= READY_FLUSH_SETTLE_MS || now - startedAtMs >= READY_FLUSH_SETTLE_CAP_MS) {
247
251
  isSettlingFirstFlush = false;
248
- log(`Ready-gate settle done (quiet ${quietForMs}ms); delivering held first prompt`);
252
+ log(`Ready-gate settle done (quiet ${quietForMs}ms); ${promptReadyAfterSettle ? 'marking prompt ready' : 'delivering held first prompt'}`);
253
+ if (promptReadyAfterSettle) {
254
+ markPromptReady();
255
+ return;
256
+ }
249
257
  void flushPending();
250
258
  return;
251
259
  }
252
260
  const wait = Math.min(READY_FLUSH_SETTLE_MS - quietForMs, READY_FLUSH_SETTLE_CAP_MS - (now - startedAtMs));
253
- readyFlushSettleTimer = setTimeout(() => settleThenFlush(startedAtMs), Math.max(50, wait));
261
+ readyFlushSettleTimer = setTimeout(() => settleThenFlush(startedAtMs, promptReadyAfterSettle), Math.max(50, wait));
254
262
  readyFlushSettleTimer.unref?.();
255
263
  }
256
264
  /** Release the ready-gate and flush anything it held. No-op when the gate was
257
265
  * never armed (other CLIs / adopt) or already released (idempotent). */
258
- function releaseReadyGate(reason) {
266
+ function releaseReadyGate(reason, opts) {
259
267
  if (readySignalTimer) {
260
268
  clearTimeout(readySignalTimer);
261
269
  readySignalTimer = null;
@@ -267,7 +275,7 @@ function releaseReadyGate(reason) {
267
275
  readyFlushSettleTimer = null;
268
276
  }
269
277
  isSettlingFirstFlush = true;
270
- settleThenFlush(Date.now());
278
+ settleThenFlush(Date.now(), opts?.promptReadyAfterSettle === true);
271
279
  }
272
280
  }
273
281
  /** Per-startup-command quiescence: how long the PTY must be quiet before sending
@@ -4401,6 +4409,8 @@ function spawnCli(cfg) {
4401
4409
  const chatBotDiscovery = resolveChatBotDiscoveryConfig();
4402
4410
  childEnv.BOTMUX_LARK_LIST_BOTS_API_ENABLED = chatBotDiscovery.listBotsApiEnabled ? 'true' : 'false';
4403
4411
  childEnv.BOTMUX_LARK_LIST_BOTS_API_TIMEOUT_MS = String(chatBotDiscovery.listBotsApiTimeoutMs);
4412
+ if (cliAdapter.injectsReadyHook)
4413
+ childEnv.BOTMUX_READY_COMMAND = sessionReadyHookCommand();
4404
4414
  // Initial value only; long-lived panes get the latest turn via the JSON pid marker.
4405
4415
  if (cfg.turnId)
4406
4416
  childEnv.BOTMUX_TURN_ID = cfg.turnId;
@@ -4500,6 +4510,8 @@ function spawnCli(cfg) {
4500
4510
  authPaths: cliAdapter.authPaths,
4501
4511
  extraExecPaths: cliAdapter.sandboxExtraExecPaths?.(),
4502
4512
  readonlyRoots: cfg.skillReadonlyRoots ?? [],
4513
+ userReadonlyPaths: cfg.sandboxReadonlyPaths ?? [],
4514
+ net: cfg.sandboxNetwork !== false,
4503
4515
  });
4504
4516
  if (sbx) {
4505
4517
  spawnBin = sbx.bin;
@@ -5891,9 +5903,21 @@ process.on('message', async (raw) => {
5891
5903
  // Claude-family SessionStart hook fired (via `botmux session-ready` →
5892
5904
  // daemon). The CLI's input box is genuinely rendered — release the
5893
5905
  // ready-gate and deliver any held first prompt. Idempotent: a later
5894
- // duplicate (clear/compact source) or a post-timeout fire is a no-op.
5906
+ // duplicate (clear/compact source) is a no-op.
5895
5907
  log(`SessionStart ready signal received (source=${msg.source ?? '?'})`);
5896
- releaseReadyGate('SessionStart hook');
5908
+ // 先记下 gate 是否已被 45s fallback 释放:ReadyGate.receive() 是一次性
5909
+ // 语义,fallback 抢先后 releaseReadyGate 会整块跳过迟到的真信号。
5910
+ const lateAfterFallback = readyGate.isArmed && readyGate.isReceived;
5911
+ releaseReadyGate('SessionStart hook', { promptReadyAfterSettle: true });
5912
+ // 冷启动超过 READY_SIGNAL_TIMEOUT_MS 的 CLI(Hermes 常态是 2-3 分钟)恰好
5913
+ // 总落在 fallback 之后:fallback 只开闸不投递(非 type-ahead 的
5914
+ // flushPending 是 no-op),真信号依然是权威就绪,这里直接兑现。仅限首轮
5915
+ // (awaitingFirstPrompt)——首条 prompt 交付后 clear/compact 来源的
5916
+ // SessionStart 保持原有 no-op 语义,绝不在会话中途误标就绪。
5917
+ if (lateAfterFallback && awaitingFirstPrompt && !isPromptReady) {
5918
+ log('Late ready signal after timeout fallback — marking prompt ready now');
5919
+ markPromptReady();
5920
+ }
5897
5921
  break;
5898
5922
  }
5899
5923
  case 'set_display_mode': {