botmux 2.84.1 → 2.85.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 (76) hide show
  1. package/dist/bot-registry.d.ts +11 -0
  2. package/dist/bot-registry.d.ts.map +1 -1
  3. package/dist/bot-registry.js +7 -0
  4. package/dist/bot-registry.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +22 -13
  7. package/dist/cli.js.map +1 -1
  8. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  9. package/dist/core/dashboard-ipc-server.js +42 -0
  10. package/dist/core/dashboard-ipc-server.js.map +1 -1
  11. package/dist/core/startup-commands.d.ts +57 -0
  12. package/dist/core/startup-commands.d.ts.map +1 -0
  13. package/dist/core/startup-commands.js +85 -0
  14. package/dist/core/startup-commands.js.map +1 -0
  15. package/dist/core/worker-pool.d.ts.map +1 -1
  16. package/dist/core/worker-pool.js +4 -0
  17. package/dist/core/worker-pool.js.map +1 -1
  18. package/dist/daemon.d.ts.map +1 -1
  19. package/dist/daemon.js +4 -1
  20. package/dist/daemon.js.map +1 -1
  21. package/dist/dashboard/bot-onboarding.d.ts +24 -8
  22. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  23. package/dist/dashboard/bot-onboarding.js +170 -49
  24. package/dist/dashboard/bot-onboarding.js.map +1 -1
  25. package/dist/dashboard/bot-payload.d.ts +43 -0
  26. package/dist/dashboard/bot-payload.d.ts.map +1 -0
  27. package/dist/dashboard/bot-payload.js +44 -0
  28. package/dist/dashboard/bot-payload.js.map +1 -0
  29. package/dist/dashboard/registry.d.ts +2 -0
  30. package/dist/dashboard/registry.d.ts.map +1 -1
  31. package/dist/dashboard/registry.js.map +1 -1
  32. package/dist/dashboard/web/bot-defaults.d.ts +1 -0
  33. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  34. package/dist/dashboard/web/bot-defaults.js +67 -4
  35. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  36. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  37. package/dist/dashboard/web/bot-onboarding.js +60 -4
  38. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  39. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  40. package/dist/dashboard/web/i18n.js +22 -0
  41. package/dist/dashboard/web/i18n.js.map +1 -1
  42. package/dist/dashboard/web/overview.d.ts +22 -0
  43. package/dist/dashboard/web/overview.d.ts.map +1 -1
  44. package/dist/dashboard/web/overview.js +6 -1
  45. package/dist/dashboard/web/overview.js.map +1 -1
  46. package/dist/dashboard-web/app.js +446 -425
  47. package/dist/dashboard.js +76 -35
  48. package/dist/dashboard.js.map +1 -1
  49. package/dist/i18n/en.d.ts.map +1 -1
  50. package/dist/i18n/en.js +1 -0
  51. package/dist/i18n/en.js.map +1 -1
  52. package/dist/i18n/zh.d.ts.map +1 -1
  53. package/dist/i18n/zh.js +1 -0
  54. package/dist/i18n/zh.js.map +1 -1
  55. package/dist/im/lark/card-builder.d.ts.map +1 -1
  56. package/dist/im/lark/card-builder.js +2 -0
  57. package/dist/im/lark/card-builder.js.map +1 -1
  58. package/dist/im/lark/client.d.ts.map +1 -1
  59. package/dist/im/lark/client.js +23 -1
  60. package/dist/im/lark/client.js.map +1 -1
  61. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  62. package/dist/im/lark/event-dispatcher.js +16 -9
  63. package/dist/im/lark/event-dispatcher.js.map +1 -1
  64. package/dist/services/bot-config-store.d.ts +6 -0
  65. package/dist/services/bot-config-store.d.ts.map +1 -1
  66. package/dist/services/bot-config-store.js +5 -1
  67. package/dist/services/bot-config-store.js.map +1 -1
  68. package/dist/setup/cli-selection.d.ts +20 -1
  69. package/dist/setup/cli-selection.d.ts.map +1 -1
  70. package/dist/setup/cli-selection.js +45 -5
  71. package/dist/setup/cli-selection.js.map +1 -1
  72. package/dist/types.d.ts +1 -0
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/worker.js +135 -21
  75. package/dist/worker.js.map +1 -1
  76. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { type RegisterAppOptions, type RegisterAppResult } from '../setup/regist
2
2
  import { type CredentialValidation, type RemainingStep } from '../setup/verify-permissions.js';
3
3
  import { type OpenPlatformAutomationOptions, type OpenPlatformAutomationResult } from '../setup/open-platform-automation.js';
4
4
  import type { CliId } from '../adapters/cli/types.js';
5
- export type BotOnboardingStatus = 'starting' | 'waiting_for_scan' | 'verifying' | 'configuring_permissions' | 'waiting_for_platform_scan' | 'completed' | 'failed';
5
+ export type BotOnboardingStatus = 'starting' | 'waiting_for_scan' | 'verifying' | 'configuring_permissions' | 'waiting_for_platform_scan' | 'needs_owner' | 'completed' | 'failed';
6
6
  /** 开放平台权限自动配置结果, 供前端展示成功摘要或手动兜底步骤. */
7
7
  export interface BotOnboardingPermission {
8
8
  ok: boolean;
@@ -69,6 +69,7 @@ export declare function renderQrSvgDataUrl(value: string): string;
69
69
  export declare class BotOnboardingManager {
70
70
  private readonly opts;
71
71
  private readonly jobs;
72
+ private readonly pendingBots;
72
73
  private readonly registerApp;
73
74
  private readonly validateCredentials;
74
75
  private readonly automateOpenPlatform;
@@ -79,15 +80,30 @@ export declare class BotOnboardingManager {
79
80
  get(id: string): BotOnboardingSnapshot | undefined;
80
81
  private patch;
81
82
  private run;
83
+ /** 把 bot append/更新进 bots.json(按 larkAppId upsert, 幂等),返回它的行号。 */
84
+ private persistBot;
82
85
  /**
83
- * 跑开放平台权限自动配置. 复用 setup automateOpenPlatformSetup:
84
- * - 缓存命中 (~/.botmux/feishu-session.json 有效) 静默自动配置, 不出二维码
85
- * - 否则 通过 onQrCode 抛出第二个二维码 (登录开放平台), 前端渲染让用户扫
86
- * - 成功 completed + 权限摘要; 失败 → completed + 手动步骤 (buildRemainingSteps)
87
- *
88
- * 无论自动配置成败, bot 都已写入 bots.json, 所以终态恒为 'completed'.
86
+ * 用户在 needs_owner 状态下手动提交 owner。先做格式校验, 再用新 app 凭证 best-effort
87
+ * 校验「填的身份在本应用里是否可用」:只对能确凿判定的错误 ( app ou_ / 不在本
88
+ * 企业的邮箱) 拒绝;scope 未生效 / 权限不足 / 网络错误等无法证伪的情况不拦截, 避免把
89
+ * 用户永久卡在 needs_owner。校验通过才落盘 allowedUsers 并进入 completed
89
90
  */
90
- private configurePermissions;
91
+ submitOwner(id: string, rawEntries: string[]): Promise<{
92
+ ok: boolean;
93
+ error?: string;
94
+ message?: string;
95
+ }>;
96
+ /**
97
+ * 跑开放平台权限自动配置 (复用 setup 的 automateOpenPlatformSetup)。只负责把进度
98
+ * 推给前端 (configuring_permissions / waiting_for_platform_scan) 并返回结果——终态
99
+ * 由调用方在 owner 落盘后统一决定 (见 finalizePermissions)。
100
+ */
101
+ private runPermissionAutomation;
102
+ /**
103
+ * 统一落终态:completed (已落盘 + 有 owner) 或 needs_owner (尚未落盘、待用户手动填)。
104
+ * needs_owner 时 addedBotIndex 为 undefined——bot 还没进 bots.json, 没有行号。
105
+ */
106
+ private finalizePermissions;
91
107
  }
92
108
  export {};
93
109
  //# sourceMappingURL=bot-onboarding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bot-onboarding.d.ts","sourceRoot":"","sources":["../../src/dashboard/bot-onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-onboarding.d.ts","sourceRoot":"","sources":["../../src/dashboard/bot-onboarding.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'node:module';
2
2
  import { readBotsJsonOrEmpty, writeBotsJsonAtomic } from '../setup/bots-store.js';
3
- import { normalizeBotConfig } from '../setup/bot-config-editor.js';
3
+ import { normalizeBotConfig, findInvalidAllowedUserEntries, hasOwnerEntry } from '../setup/bot-config-editor.js';
4
4
  import { tryRegisterApp } from '../setup/register-app.js';
5
5
  import { validateCredentials, buildRemainingSteps } from '../setup/verify-permissions.js';
6
6
  import { automateOpenPlatformSetup, } from '../setup/open-platform-automation.js';
@@ -39,6 +39,10 @@ export function renderQrSvgDataUrl(value) {
39
39
  export class BotOnboardingManager {
40
40
  opts;
41
41
  jobs = new Map();
42
+ // needs_owner 状态下「待落盘」的 bot 配置(含 secret)——故意不写进 bots.json,
43
+ // 避免在 owner 确认前就有一个空 allowlist 的可启动 bot 留在磁盘上(重启即 fail-open)。
44
+ // 也不放进 jobs 快照(那个会序列化给前端、会泄漏 secret)。owner 校验通过后才 append。
45
+ pendingBots = new Map();
42
46
  registerApp;
43
47
  validateCredentials;
44
48
  automateOpenPlatform;
@@ -131,36 +135,100 @@ export class BotOnboardingManager {
131
135
  if (result.brand === 'lark') {
132
136
  bot.brand = 'lark';
133
137
  }
138
+ // 注意:此处 **不** 立刻把 bot 写进 bots.json。空 allowedUsers 的 bot 一旦落盘,
139
+ // 就是一个「可被 botmux start/restart 读取、运行时按无白名单全开放」的 fail-open
140
+ // 隐患(哪怕没出 restart hint, 关弹窗 / 重启 / pm2 重启都会以开放模式起)。
141
+ // 只有「能确认 owner」时才落盘——见下方两条路径。
142
+ // 跑 setup 同款开放平台自动配置 (导入权限 / 配 redirect / 建并发版)。
143
+ const auto = await this.runPermissionAutomation(id, result.appId, result.brand, { cliId, workingDir });
144
+ // 关键顺序:先确认 owner, 再决定是否落盘 + 终态。completed 必须意味着「bots.json
145
+ // 里这个 bot 带着至少一个 owner」, 绝不产出空 allowedUsers 的可启动 bot。
146
+ let ownerEntry;
134
147
  if (result.userOpenId) {
135
- // 优先存 union_id(on_,跨应用稳定),避免 open_id 在其他 bot 下报 cross-app 错误。
136
- // 用刚注册的应用自身凭证查询;若查询失败(无 contact 权限)则 fallback open_id
137
- bot.allowedUsers = [await resolveToUnionId(result.appId, result.appSecret, result.userOpenId, result.brand)];
138
- }
139
- const addedBotIndex = bots.length;
140
- writeBotsJsonAtomic(this.opts.botsJsonPath, [...bots, normalizeBotConfig(bot)]);
141
- // bots.json 已落盘——bot 本身已添加. 接下来跑 setup 同款开放平台自动配置
142
- // (导入权限 / 配 redirect / 建并发版). 这一步失败不回滚 bot, 只降级到
143
- // 手动权限步骤提示——和 `botmux setup` 的 finishOpenPlatformSetup 行为一致.
144
- await this.configurePermissions(id, result.appId, result.brand, { cliId, workingDir, addedBotIndex });
148
+ // registerApp 返回的 open_id 来自扫码链路; 用新 app 自身凭证验证, 失败不
149
+ // fallback 写入该 (常为跨 app 的) ou_——避免把其他 app 视角的 open_id 固化
150
+ // owner, 导致 /grant 和授权卡片一直判 non-owner。
151
+ ownerEntry = await resolveScannerAllowedUser(result.appId, result.appSecret, result.userOpenId, result.brand);
152
+ }
153
+ if (ownerEntry) {
154
+ const addedBotIndex = this.persistBot({ ...bot, allowedUsers: [ownerEntry] });
155
+ this.finalizePermissions(id, result.appId, result.brand, addedBotIndex, auto, 'completed');
156
+ }
157
+ else {
158
+ // owner 没法自动确认:bot 先不落盘, 暂存内存等用户手动填 owner 校验通过后再写。
159
+ this.pendingBots.set(id, bot);
160
+ this.finalizePermissions(id, result.appId, result.brand, undefined, auto, 'needs_owner');
161
+ }
162
+ }
163
+ /** 把 bot append/更新进 bots.json(按 larkAppId upsert, 幂等),返回它的行号。 */
164
+ persistBot(bot) {
165
+ const bots = readBotsJsonOrEmpty(this.opts.botsJsonPath);
166
+ const normalized = normalizeBotConfig(bot);
167
+ const existing = bots.findIndex((b) => b?.larkAppId === bot.larkAppId);
168
+ if (existing >= 0) {
169
+ const next = [...bots];
170
+ next[existing] = normalized;
171
+ writeBotsJsonAtomic(this.opts.botsJsonPath, next);
172
+ return existing;
173
+ }
174
+ const index = bots.length;
175
+ writeBotsJsonAtomic(this.opts.botsJsonPath, [...bots, normalized]);
176
+ return index;
177
+ }
178
+ /**
179
+ * 用户在 needs_owner 状态下手动提交 owner。先做格式校验, 再用新 app 凭证 best-effort
180
+ * 校验「填的身份在本应用里是否可用」:只对能确凿判定的错误 (跨 app 的 ou_ / 不在本
181
+ * 企业的邮箱) 拒绝;scope 未生效 / 权限不足 / 网络错误等无法证伪的情况不拦截, 避免把
182
+ * 用户永久卡在 needs_owner。校验通过才落盘 allowedUsers 并进入 completed。
183
+ */
184
+ async submitOwner(id, rawEntries) {
185
+ const job = this.jobs.get(id);
186
+ if (!job)
187
+ return { ok: false, error: 'unknown_onboarding_job' };
188
+ if (job.status !== 'needs_owner')
189
+ return { ok: false, error: 'not_awaiting_owner' };
190
+ const pending = this.pendingBots.get(id);
191
+ if (!pending)
192
+ return { ok: false, error: 'missing_app' };
193
+ const entries = rawEntries.map(e => e.trim()).filter(Boolean);
194
+ const invalid = findInvalidAllowedUserEntries(entries);
195
+ if (invalid.length > 0) {
196
+ return { ok: false, error: 'invalid_entries', message: `不是完整邮箱、union_id(on_) 或 open_id(ou_):${invalid.join(', ')}` };
197
+ }
198
+ if (!hasOwnerEntry(entries)) {
199
+ return { ok: false, error: 'no_owner', message: '至少需要一个完整邮箱、union_id(on_) 或 open_id(ou_) 作为 owner。' };
200
+ }
201
+ const appId = typeof pending.larkAppId === 'string' ? pending.larkAppId : '';
202
+ const appSecret = typeof pending.larkAppSecret === 'string' ? pending.larkAppSecret : '';
203
+ const brand = job.brand ?? 'feishu';
204
+ const unusable = await detectUnusableOwnerEntries(appId, appSecret, brand, entries);
205
+ if (unusable.length > 0) {
206
+ return {
207
+ ok: false,
208
+ error: 'unusable_owner',
209
+ message: `以下身份在当前应用里无法解析(可能是其他应用的 open_id,或邮箱不在本企业):${unusable.join(', ')}。请改用本企业邮箱或 union_id(on_)。`,
210
+ };
211
+ }
212
+ // 校验通过才落盘:此刻 bot 第一次进入 bots.json, 且带着非空 allowedUsers。
213
+ const addedBotIndex = this.persistBot({ ...pending, allowedUsers: entries });
214
+ this.pendingBots.delete(id);
215
+ this.patch(id, { status: 'completed', addedBotIndex });
216
+ return { ok: true };
145
217
  }
146
218
  /**
147
- * 跑开放平台权限自动配置. 复用 setup 的 automateOpenPlatformSetup:
148
- * - 缓存命中 (~/.botmux/feishu-session.json 有效) → 静默自动配置, 不出二维码
149
- * - 否则 通过 onQrCode 抛出第二个二维码 (登录开放平台), 前端渲染让用户扫
150
- * - 成功 → completed + 权限摘要; 失败 → completed + 手动步骤 (buildRemainingSteps)
151
- *
152
- * 无论自动配置成败, bot 都已写入 bots.json, 所以终态恒为 'completed'.
219
+ * 跑开放平台权限自动配置 (复用 setup 的 automateOpenPlatformSetup)。只负责把进度
220
+ * 推给前端 (configuring_permissions / waiting_for_platform_scan) 并返回结果——终态
221
+ * 由调用方在 owner 落盘后统一决定 (见 finalizePermissions)
153
222
  */
154
- async configurePermissions(id, appId, brand, meta) {
223
+ async runPermissionAutomation(id, appId, brand, meta) {
155
224
  this.patch(id, {
156
225
  status: 'configuring_permissions',
157
226
  appId,
158
227
  cliId: meta.cliId,
159
228
  workingDir: meta.workingDir,
160
229
  });
161
- let auto;
162
230
  try {
163
- auto = await this.automateOpenPlatform({
231
+ return await this.automateOpenPlatform({
164
232
  appId,
165
233
  brand,
166
234
  onQrCode: info => {
@@ -179,53 +247,106 @@ export class BotOnboardingManager {
179
247
  }
180
248
  catch (err) {
181
249
  // automation 不应抛 (内部已结构化返回), 兜底当作失败 → 手动步骤.
182
- auto = {
250
+ return {
183
251
  ok: false,
184
252
  reason: 'api_error',
185
253
  message: err instanceof Error ? err.message : String(err),
186
254
  };
187
255
  }
188
- if (auto.ok) {
189
- this.patch(id, {
190
- status: 'completed',
191
- addedBotIndex: meta.addedBotIndex,
192
- platformQrDataUrl: undefined,
193
- permission: {
194
- ok: true,
195
- scopeCount: auto.scopeCount,
196
- skippedScopeCount: auto.skippedScopeCount,
197
- versionId: auto.versionId,
198
- scopeWarning: auto.scopeWarning,
199
- },
200
- });
201
- return;
202
- }
203
- // 自动配置失败: bot 已添加, 给手动权限步骤 (与 setup 失败回退一致).
256
+ }
257
+ /**
258
+ * 统一落终态:completed (已落盘 + 有 owner) 或 needs_owner (尚未落盘、待用户手动填)。
259
+ * needs_owner 时 addedBotIndex 为 undefined——bot 还没进 bots.json, 没有行号。
260
+ */
261
+ finalizePermissions(id, appId, brand, addedBotIndex, auto, status) {
262
+ const permission = auto.ok
263
+ ? {
264
+ ok: true,
265
+ scopeCount: auto.scopeCount,
266
+ skippedScopeCount: auto.skippedScopeCount,
267
+ versionId: auto.versionId,
268
+ scopeWarning: auto.scopeWarning,
269
+ }
270
+ : { ok: false, reason: auto.reason, message: auto.message };
204
271
  this.patch(id, {
205
- status: 'completed',
206
- addedBotIndex: meta.addedBotIndex,
272
+ status,
273
+ ...(addedBotIndex !== undefined ? { addedBotIndex } : {}),
207
274
  platformQrDataUrl: undefined,
208
- permission: { ok: false, reason: auto.reason, message: auto.message },
209
- remainingSteps: buildRemainingSteps(appId, brand),
275
+ permission,
276
+ ...(auto.ok ? {} : { remainingSteps: buildRemainingSteps(appId, brand) }),
210
277
  });
211
278
  }
212
279
  }
213
280
  /**
214
- * 用指定应用的凭证把 open_id (ou_) 解析成 union_id (on_)
215
- * union_id 跨应用稳定,适合写入 allowedUsers 供多个 bot 共用。
216
- * 若查询失败(无 contact 权限 / API 错误)则 fallback 返回原 open_id
281
+ * 用新应用自身凭证验证扫码链路拿到的 open_id。
282
+ * 能解析 union_id 时写 on_;没有 union_id open_id 对当前 app 有效时写 ou_。
283
+ * 查询失败或用户不在当前 app 视角时返回 undefined,调用方不得 fallback 写入该 ou_
217
284
  */
218
- async function resolveToUnionId(appId, appSecret, openId, brand = 'feishu') {
285
+ async function resolveScannerAllowedUser(appId, appSecret, openId, brand = 'feishu') {
219
286
  try {
220
287
  const client = new Lark.Client({ appId, appSecret, domain: sdkDomain(brand), disableTokenCache: false });
221
288
  const res = await client.contact.v3.user.get({
222
289
  path: { user_id: openId },
223
290
  params: { user_id_type: 'open_id' },
224
291
  });
225
- if (res.code === 0 && res.data?.user?.union_id)
226
- return res.data.user.union_id;
292
+ if (res.code === 0 && res.data?.user) {
293
+ return res.data.user.union_id ?? openId;
294
+ }
295
+ }
296
+ catch { /* do not trust scanner open_id when verification fails */ }
297
+ return undefined;
298
+ }
299
+ // 跨 app open_id 的固定错误码:用本 app 凭证查别的 app 视角的 ou_ 必返这个。
300
+ const CROSS_APP_OPEN_ID_CODE = 99992361;
301
+ /**
302
+ * best-effort 找出「确凿不可用」的 owner 条目, 供 submitOwner 拒绝。只在能明确判定时
303
+ * 才判不可用——避免 scope 未生效 / 权限不足 / 网络错误时把合法条目误杀:
304
+ * - ou_:本 app 查到跨 app 错误码 (99992361) → 不可用 (典型误填别的 app 的 open_id)。
305
+ * - 邮箱:batchGetId 成功返回但该邮箱没有对应 user → 不可用 (不在本企业)。
306
+ * - on_:union_id 无法构造确凿的「不属于本 app」信号, 一律放行 (留给运行时解析)。
307
+ * 任何抛错 / 非确定性响应都视为「无法证伪」→ 不计入 unusable。
308
+ */
309
+ async function detectUnusableOwnerEntries(appId, appSecret, brand, entries) {
310
+ if (!appSecret)
311
+ return [];
312
+ let client;
313
+ try {
314
+ client = new Lark.Client({ appId, appSecret, domain: sdkDomain(brand), disableTokenCache: false });
315
+ }
316
+ catch {
317
+ return [];
318
+ }
319
+ const unusable = [];
320
+ for (const entry of entries) {
321
+ try {
322
+ if (entry.startsWith('ou_')) {
323
+ const res = await client.contact.v3.user.get({
324
+ path: { user_id: entry },
325
+ params: { user_id_type: 'open_id' },
326
+ });
327
+ if (res?.code === CROSS_APP_OPEN_ID_CODE)
328
+ unusable.push(entry);
329
+ }
330
+ else if (entry.startsWith('on_')) {
331
+ // union_id:无确凿的跨 app 否定信号, 放行。
332
+ continue;
333
+ }
334
+ else {
335
+ const res = await client.contact.v3.user.batchGetId({
336
+ params: { user_id_type: 'open_id' },
337
+ data: { emails: [entry], include_resigned: false },
338
+ });
339
+ // 单封邮箱查询:成功响应里没有任何带 user_id 的条目 → 确凿不在本企业。
340
+ // 用「是否存在 user_id」而非「邮箱精确匹配」判定, 避开 API 侧邮箱规范化误杀。
341
+ if (res?.code === 0) {
342
+ const list = res.data?.user_list ?? [];
343
+ if (!list.some(u => u?.user_id))
344
+ unusable.push(entry);
345
+ }
346
+ }
347
+ }
348
+ catch { /* 无法证伪:不计入 unusable */ }
227
349
  }
228
- catch { /* fallback */ }
229
- return openId;
350
+ return unusable;
230
351
  }
231
352
  //# sourceMappingURL=bot-onboarding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bot-onboarding.js","sourceRoot":"","sources":["../../src/dashboard/bot-onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-onboarding.js","sourceRoot":"","sources":["../../src/dashboard/bot-onboarding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export interface DashboardBotDescriptor {
2
+ larkAppId: string;
3
+ botName?: string | null;
4
+ botAvatarUrl?: string;
5
+ cliId?: string;
6
+ }
7
+ export declare function botSummaryPayload(bot: DashboardBotDescriptor): {
8
+ cliId?: string | undefined;
9
+ botAvatarUrl?: string | undefined;
10
+ larkAppId: string;
11
+ botName: string | null | undefined;
12
+ };
13
+ export declare function botDefaultsPayload(bot: DashboardBotDescriptor, j?: any, error?: string): {
14
+ error: string;
15
+ online: boolean;
16
+ cliId?: string | undefined;
17
+ larkAppId: string;
18
+ botName: string | null | undefined;
19
+ } | {
20
+ defaultOncall: any;
21
+ autoboundChatCount: any;
22
+ brandLabel: any;
23
+ sandbox: boolean;
24
+ disableStreamingCard: boolean;
25
+ writableTerminalLinkInCard: boolean;
26
+ privateCard: boolean;
27
+ autoStartOnGroupJoin: boolean;
28
+ autoStartOnGroupJoinPrompt: any;
29
+ autoStartOnNewTopic: boolean;
30
+ regularGroupReplyMode: any;
31
+ regularGroupMentionMode: any;
32
+ restrictGrantCommands: boolean;
33
+ messageQuotaDefaultLimit: any;
34
+ p2pMode: string;
35
+ maxLiveWorkers: any;
36
+ startupCommands: any;
37
+ skills: any;
38
+ online: boolean;
39
+ cliId?: string | undefined;
40
+ larkAppId: string;
41
+ botName: string | null | undefined;
42
+ };
43
+ //# sourceMappingURL=bot-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-payload.d.ts","sourceRoot":"","sources":["../../src/dashboard/bot-payload.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,sBAAsB;;;;;EAO5D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCtF"}
@@ -0,0 +1,44 @@
1
+ export function botSummaryPayload(bot) {
2
+ return {
3
+ larkAppId: bot.larkAppId,
4
+ botName: bot.botName,
5
+ ...(bot.botAvatarUrl ? { botAvatarUrl: bot.botAvatarUrl } : {}),
6
+ ...(bot.cliId ? { cliId: bot.cliId } : {}),
7
+ };
8
+ }
9
+ export function botDefaultsPayload(bot, j, error) {
10
+ const base = {
11
+ larkAppId: bot.larkAppId,
12
+ botName: bot.botName,
13
+ ...(bot.cliId ? { cliId: bot.cliId } : {}),
14
+ online: true,
15
+ };
16
+ if (error)
17
+ return { ...base, error };
18
+ return {
19
+ ...base,
20
+ defaultOncall: j?.defaultOncall,
21
+ autoboundChatCount: j?.autoboundChatCount ?? 0,
22
+ brandLabel: j?.brandLabel ?? null,
23
+ sandbox: j?.sandbox === true,
24
+ disableStreamingCard: j?.disableStreamingCard === true,
25
+ writableTerminalLinkInCard: j?.writableTerminalLinkInCard === true,
26
+ privateCard: j?.privateCard === true,
27
+ autoStartOnGroupJoin: j?.autoStartOnGroupJoin === true,
28
+ autoStartOnGroupJoinPrompt: typeof j?.autoStartOnGroupJoinPrompt === 'string' ? j.autoStartOnGroupJoinPrompt : '',
29
+ autoStartOnNewTopic: j?.autoStartOnNewTopic === true,
30
+ regularGroupReplyMode: (j?.regularGroupReplyMode === 'new-topic' || j?.regularGroupReplyMode === 'shared')
31
+ ? j.regularGroupReplyMode
32
+ : 'chat',
33
+ regularGroupMentionMode: (j?.regularGroupMentionMode === 'topic' || j?.regularGroupMentionMode === 'never')
34
+ ? j.regularGroupMentionMode
35
+ : 'always',
36
+ restrictGrantCommands: j?.restrictGrantCommands === true,
37
+ messageQuotaDefaultLimit: typeof j?.messageQuotaDefaultLimit === 'number' ? j.messageQuotaDefaultLimit : null,
38
+ p2pMode: j?.p2pMode === 'chat' ? 'chat' : 'thread',
39
+ maxLiveWorkers: typeof j?.maxLiveWorkers === 'number' ? j.maxLiveWorkers : null,
40
+ startupCommands: typeof j?.startupCommands === 'string' ? j.startupCommands : '',
41
+ skills: j?.skills && typeof j.skills === 'object' ? j.skills : null,
42
+ };
43
+ }
44
+ //# sourceMappingURL=bot-payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-payload.js","sourceRoot":"","sources":["../../src/dashboard/bot-payload.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export interface DaemonInfo {
2
2
  larkAppId: string;
3
3
  botName: string;
4
+ /** CLI adapter id from bots.json, e.g. codex / claude-code / traex. */
5
+ cliId?: string;
4
6
  /** Lark app avatar URL (from /bot/v3/info); absent until the open_id probe lands. */
5
7
  botAvatarUrl?: string;
6
8
  botIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/dashboard/registry.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAKD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,cAAc;IAOb,OAAO,CAAC,GAAG;IANvB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAY;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAiC;IAChD,OAAO,CAAC,iBAAiB,CAAS;gBAEd,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;IAI9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B,IAAI,IAAI,IAAI;IASZ,IAAI,IAAI,UAAU,EAAE;IAKpB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAM9C,EAAE,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAKpC,OAAO,CAAC,OAAO;CAmBhB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/dashboard/registry.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAKD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,cAAc;IAOb,OAAO,CAAC,GAAG;IANvB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAY;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAiC;IAChD,OAAO,CAAC,iBAAiB,CAAS;gBAEd,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;IAI9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B,IAAI,IAAI,IAAI;IASZ,IAAI,IAAI,UAAU,EAAE;IAKpB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAM9C,EAAE,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAKpC,OAAO,CAAC,OAAO;CAmBhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/dashboard/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/dashboard/registry.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export declare function displayCliId(bot: any, sessionFallback: string): string;
1
2
  export declare function renderBotDefaultsPage(root: HTMLElement): Promise<void>;
2
3
  //# sourceMappingURL=bot-defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bot-defaults.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/bot-defaults.ts"],"names":[],"mappings":"AA8EA,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,WAAW,iBA69B5D"}
1
+ {"version":3,"file":"bot-defaults.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/bot-defaults.ts"],"names":[],"mappings":"AAaA,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAEtE;AAmED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,WAAW,iBAshC5D"}