botmux 2.45.0 → 2.46.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 (59) hide show
  1. package/dist/core/command-handler.d.ts.map +1 -1
  2. package/dist/core/command-handler.js +471 -2
  3. package/dist/core/command-handler.js.map +1 -1
  4. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  5. package/dist/core/dashboard-ipc-server.js +114 -2
  6. package/dist/core/dashboard-ipc-server.js.map +1 -1
  7. package/dist/core/session-discovery.d.ts.map +1 -1
  8. package/dist/core/session-discovery.js +16 -4
  9. package/dist/core/session-discovery.js.map +1 -1
  10. package/dist/core/session-manager.d.ts +1 -1
  11. package/dist/core/session-manager.d.ts.map +1 -1
  12. package/dist/core/session-manager.js +10 -4
  13. package/dist/core/session-manager.js.map +1 -1
  14. package/dist/core/worker-pool.d.ts +105 -0
  15. package/dist/core/worker-pool.d.ts.map +1 -1
  16. package/dist/core/worker-pool.js +284 -4
  17. package/dist/core/worker-pool.js.map +1 -1
  18. package/dist/daemon.d.ts.map +1 -1
  19. package/dist/daemon.js +7 -1
  20. package/dist/daemon.js.map +1 -1
  21. package/dist/dashboard/web/team-federation.d.ts.map +1 -1
  22. package/dist/dashboard/web/team-federation.js +17 -2
  23. package/dist/dashboard/web/team-federation.js.map +1 -1
  24. package/dist/dashboard-web/app.js +73 -73
  25. package/dist/i18n/en.d.ts.map +1 -1
  26. package/dist/i18n/en.js +61 -0
  27. package/dist/i18n/en.js.map +1 -1
  28. package/dist/i18n/zh.d.ts.map +1 -1
  29. package/dist/i18n/zh.js +61 -0
  30. package/dist/i18n/zh.js.map +1 -1
  31. package/dist/im/lark/card-builder.d.ts +82 -0
  32. package/dist/im/lark/card-builder.d.ts.map +1 -1
  33. package/dist/im/lark/card-builder.js +315 -0
  34. package/dist/im/lark/card-builder.js.map +1 -1
  35. package/dist/im/lark/card-handler.d.ts.map +1 -1
  36. package/dist/im/lark/card-handler.js +197 -2
  37. package/dist/im/lark/card-handler.js.map +1 -1
  38. package/dist/im/lark/client.d.ts +24 -0
  39. package/dist/im/lark/client.d.ts.map +1 -1
  40. package/dist/im/lark/client.js +83 -0
  41. package/dist/im/lark/client.js.map +1 -1
  42. package/dist/im/lark/message-parser.d.ts.map +1 -1
  43. package/dist/im/lark/message-parser.js +1 -0
  44. package/dist/im/lark/message-parser.js.map +1 -1
  45. package/dist/services/relay-picker.d.ts +22 -0
  46. package/dist/services/relay-picker.d.ts.map +1 -0
  47. package/dist/services/relay-picker.js +62 -0
  48. package/dist/services/relay-picker.js.map +1 -0
  49. package/dist/setup/ensure-tmux.d.ts +0 -22
  50. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  51. package/dist/setup/ensure-tmux.js +25 -1
  52. package/dist/setup/ensure-tmux.js.map +1 -1
  53. package/dist/types.d.ts +14 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/utils/daemon-discovery.d.ts +11 -0
  56. package/dist/utils/daemon-discovery.d.ts.map +1 -0
  57. package/dist/utils/daemon-discovery.js +59 -0
  58. package/dist/utils/daemon-discovery.js.map +1 -0
  59. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { config } from '../../config.js';
2
2
  import { getBot, getAllBots, getOwnerOpenId } from '../../bot-registry.js';
3
3
  import { canOperate } from './event-dispatcher.js';
4
- import { sendUserMessage, updateMessage, deleteMessage, replyMessage, sendEphemeralCard } from './client.js';
4
+ import { sendUserMessage, updateMessage, deleteMessage, replyMessage, sendMessage, sendEphemeralCard } from './client.js';
5
5
  import { buildSessionCard, buildStreamingCard, buildTuiPromptCard, buildTuiPromptProcessingCard, buildTuiPromptResolvedCard, buildSessionClosedCard, buildGrantResultCard, buildGrantNotifyCard, getCliDisplayName, truncateContent } from './card-builder.js';
6
6
  import { addChatGrant, addGlobalGrant } from '../../services/grant-store.js';
7
7
  import { checkNonce, clearPending, markDenied } from './grant-pending.js';
@@ -137,6 +137,200 @@ export async function handleCardAction(data, deps, larkAppId) {
137
137
  if (isAskCardAction(value?.action)) {
138
138
  return handleAskCardAction(data);
139
139
  }
140
+ // ─── /relay picker: state-changing actions (select / page / search) ────
141
+ // These three actions all re-render the picker card with updated state:
142
+ // • relay_select — user clicked a session card → set as selectedSessionId
143
+ // • relay_page — user clicked prev/next page → bump page index
144
+ // • relay_search — user submitted the search form → apply new query (reset page)
145
+ //
146
+ // The card is stateless on the Lark side, so each callback value carries
147
+ // the FULL state (search / page / selected / target_chat_id / root_id);
148
+ // we just compute the new state from the action and re-render.
149
+ if (value?.action && larkAppId && ['relay_select', 'relay_page', 'relay_search'].includes(value.action)) {
150
+ const loc = localeForBot(larkAppId);
151
+ const targetChatId = value.target_chat_id;
152
+ const targetRootId = value.root_id;
153
+ const invokerOpenId = value.invoker_open_id;
154
+ if (!targetChatId || !targetRootId || !operatorOpenId) {
155
+ return { toast: { type: 'error', content: t('card.relay.toast_failed', { error: 'missing_value' }, loc) } };
156
+ }
157
+ // Picker is owner-only: only the user who summoned it may flip pages,
158
+ // search, or select. Otherwise A's invocation in a shared chat could be
159
+ // silently swapped to C's session list when C clicks a button. Cards
160
+ // built before this guard was deployed lack invoker_open_id — we let
161
+ // them through (legacy) rather than break in-flight pickers; new cards
162
+ // are protected from the moment they're rendered.
163
+ if (invokerOpenId && invokerOpenId !== operatorOpenId) {
164
+ return { toast: { type: 'error', content: t('card.relay.toast_not_invoker', undefined, loc) } };
165
+ }
166
+ // Reconstruct the next state from the action.
167
+ const carriedSearch = value.search ?? '';
168
+ const carriedPage = Number(value.page ?? 0) || 0;
169
+ const carriedSelected = value.selected ?? '';
170
+ let nextSearch = carriedSearch;
171
+ let nextPage = carriedPage;
172
+ let nextSelected = carriedSelected || undefined;
173
+ if (value.action === 'relay_search') {
174
+ // v2 input fires `behaviors[].callback` directly — the typed text
175
+ // arrives as action.input_value (NOT form_value), since we're no
176
+ // longer wrapping the input in a form. Reset page on new search.
177
+ nextSearch = String(action?.input_value ?? '').trim();
178
+ nextPage = 0;
179
+ // Don't carry over the selection on a new search — the selected entry
180
+ // may not match the new filter, and even if it does, "I just searched
181
+ // for something else" implies the user is changing what they want.
182
+ nextSelected = undefined;
183
+ }
184
+ else if (value.action === 'relay_page') {
185
+ nextPage = Number(value.page ?? 0) || 0;
186
+ }
187
+ else if (value.action === 'relay_select') {
188
+ nextSelected = value.session_id;
189
+ }
190
+ const { collectRelayPickerEntries } = await import('../../services/relay-picker.js');
191
+ const entries = await collectRelayPickerEntries(activeSessions, larkAppId, targetChatId, operatorOpenId);
192
+ const { buildRelayPickerCard } = await import('./card-builder.js');
193
+ const cardJson = buildRelayPickerCard(entries, targetChatId, targetRootId,
194
+ // Preserve the original invoker so the re-rendered card stays bound
195
+ // to them. Fall back to operatorOpenId for legacy cards rendered
196
+ // before invoker_open_id was added (shouldn't normally happen since
197
+ // the check above already lets legacy through, but a render needs a
198
+ // string regardless).
199
+ invokerOpenId ?? operatorOpenId, loc, {
200
+ selectedSessionId: nextSelected,
201
+ searchQuery: nextSearch,
202
+ page: nextPage,
203
+ });
204
+ // Return an updated card body — event-dispatcher wraps this as
205
+ // { card: { type: 'raw', data: <body> } } so Lark patches the picker
206
+ // in place rather than appending a new message.
207
+ return JSON.parse(cardJson);
208
+ }
209
+ // ─── /relay picker: confirm transfer (stage 2 → done) ──────────────────
210
+ // The confirm button on the picker card fires this. Same logic as the
211
+ // original (pre-two-stage) relay_pickup action: owner-check, pre-flight
212
+ // conflict check, send M1, transferSession, delete picker card.
213
+ if (value?.action === 'relay_confirm' && larkAppId) {
214
+ const loc = localeForBot(larkAppId);
215
+ const sourceSessionId = value.session_id;
216
+ const targetChatId = value.target_chat_id;
217
+ const targetRootId = value.root_id;
218
+ const invokerOpenId = value.invoker_open_id;
219
+ if (!sourceSessionId || !targetChatId || !targetRootId) {
220
+ return { toast: { type: 'error', content: t('card.relay.toast_failed', { error: 'missing_value' }, loc) } };
221
+ }
222
+ // Invoker-only confirm: redundant with the ownerOpenId check below in
223
+ // normal flow (invoker = session owner = picker invoker), but defends
224
+ // against the edge case where the source session changed owners after
225
+ // the picker was rendered, OR where the picker was shared/forwarded.
226
+ // Legacy cards (no invoker_open_id) fall through to ownerOpenId only.
227
+ if (invokerOpenId && operatorOpenId && invokerOpenId !== operatorOpenId) {
228
+ return { toast: { type: 'error', content: t('card.relay.toast_not_invoker', undefined, loc) } };
229
+ }
230
+ // Locate the source session in the in-process registry. Since picker only
231
+ // lists sessions of THIS bot in OTHER chats, the source must live in our
232
+ // activeSessions — if it's gone, treat as not found rather than reaching
233
+ // across daemons (cross-daemon pull is out of v1 scope).
234
+ let sourceDs;
235
+ for (const cand of activeSessions.values()) {
236
+ if (cand.larkAppId === larkAppId && cand.session.sessionId === sourceSessionId) {
237
+ sourceDs = cand;
238
+ break;
239
+ }
240
+ }
241
+ if (!sourceDs) {
242
+ return { toast: { type: 'error', content: t('card.relay.toast_not_found', undefined, loc) } };
243
+ }
244
+ if (sourceDs.session.ownerOpenId && sourceDs.session.ownerOpenId !== operatorOpenId) {
245
+ return { toast: { type: 'error', content: t('card.relay.toast_not_owner', undefined, loc) } };
246
+ }
247
+ if (sourceDs.chatId === targetChatId) {
248
+ return { toast: { type: 'error', content: t('card.relay.toast_same_chat', undefined, loc) } };
249
+ }
250
+ // Real-session preflight — done BEFORE M1 send so a refusal doesn't
251
+ // leave a misleading "已接力" announcement in the target chat.
252
+ // collectRelayPickerEntries already filters scratches at render time,
253
+ // but a stale picker (rendered before a scratch was created) could
254
+ // still produce a confirm click; this is the depth defense.
255
+ {
256
+ const { isRelayableRealSession } = await import('../../core/worker-pool.js');
257
+ if (!isRelayableRealSession(sourceDs)) {
258
+ return { toast: { type: 'error', content: t('card.relay.toast_not_started_yet', undefined, loc) } };
259
+ }
260
+ }
261
+ // Pre-flight target-chat conflict check — done BEFORE sendMessage M1 so
262
+ // a refusal doesn't leave a misleading "已接力" announcement in the
263
+ // target chat (王皓 caught this in testing). Mirror the same predicate
264
+ // transferSession uses, plus the `!!worker` filter that excludes daemon
265
+ // command scratch sessions (e.g. the /relay command's own session,
266
+ // which shares the bot's larkAppId + chatId but has no worker).
267
+ const targetConflict = [...activeSessions.values()].find(c => c !== sourceDs
268
+ && c.larkAppId === larkAppId
269
+ && c.chatId === targetChatId
270
+ && c.scope === 'chat'
271
+ && !!c.worker);
272
+ if (targetConflict) {
273
+ const conflictTitle = targetConflict.session.title || targetConflict.session.sessionId.substring(0, 8);
274
+ // Send as a regular text message in the target chat instead of a
275
+ // popup toast — per王皓's preference for visible/persistent error
276
+ // ("不要用弹窗,就用消息形式"). No toast returned so the operator
277
+ // sees the chat message land where the error actually applies.
278
+ // Pass raw text — sendMessage wraps text-msgType bodies itself; the
279
+ // earlier `JSON.stringify({text: ...})` caused double-wrapping and
280
+ // Lark rendered the JSON literally (王皓 caught this in the M1).
281
+ const errText = t('cmd.relay.target_has_session_msg', { title: conflictTitle }, loc);
282
+ sendMessage(larkAppId, targetChatId, errText, 'text').catch(() => undefined);
283
+ return;
284
+ }
285
+ // Resolve a friendly source chat label for the M1 announcement — falls
286
+ // back to the raw chatId if Lark can't return a name.
287
+ const { getChatName } = await import('./client.js');
288
+ const sourceLabel = (await getChatName(larkAppId, sourceDs.chatId)) ?? sourceDs.chatId;
289
+ // Send the M1 announcement — its message_id becomes the new
290
+ // rootMessageId after the transfer (mirrors /relay --create's flow).
291
+ let m1MessageId;
292
+ try {
293
+ const m1Text = t('cmd.relay.m1_announce', { sourceChat: sourceLabel, groupName: targetChatId }, loc);
294
+ m1MessageId = await sendMessage(larkAppId, targetChatId, m1Text, 'text');
295
+ }
296
+ catch (err) {
297
+ return { toast: { type: 'error', content: t('card.relay.toast_failed', { error: err?.message ?? 'send_m1_failed' }, loc) } };
298
+ }
299
+ const { transferSession } = await import('../../core/worker-pool.js');
300
+ // Target is always a regular group in the picker path — picker-mode's
301
+ // entry guard in command-handler.ts refused p2p / topic before the card
302
+ // even rendered. Passing literal 'group' here makes that contract
303
+ // explicit at the call site.
304
+ const r = await transferSession(sourceDs.session.sessionId, targetChatId, m1MessageId, 'group');
305
+ if (!r.ok) {
306
+ // Best-effort: orphan M1 cleanup so a failed transfer doesn't leave a
307
+ // misleading "已接力" message in the target chat (王皓's "明明失败了
308
+ // 却返回成功了" complaint). Race-condition fallback only — the
309
+ // pre-flight checks above should catch the common cases first.
310
+ deleteMessage(larkAppId, m1MessageId).catch(() => { });
311
+ if (r.error === 'target_chat_has_session') {
312
+ // Lost the race vs the pre-flight check — still surface as a message.
313
+ const errText = t('cmd.relay.target_has_session_msg', { title: '' }, loc);
314
+ sendMessage(larkAppId, targetChatId, errText, 'text').catch(() => undefined);
315
+ return;
316
+ }
317
+ if (r.error === 'adopt_not_relayable') {
318
+ return { toast: { type: 'error', content: t('card.relay.toast_adopt_not_relayable', undefined, loc) } };
319
+ }
320
+ if (r.error === 'worker_busy') {
321
+ return { toast: { type: 'error', content: t('card.relay.toast_worker_busy', undefined, loc) } };
322
+ }
323
+ if (r.error === 'not_started_yet') {
324
+ return { toast: { type: 'error', content: t('card.relay.toast_not_started_yet', undefined, loc) } };
325
+ }
326
+ return { toast: { type: 'error', content: t('card.relay.toast_failed', { error: r.error }, loc) } };
327
+ }
328
+ // Best-effort: remove the picker card now that the selection resolved.
329
+ if (cardMessageId && larkAppId) {
330
+ deleteMessage(larkAppId, cardMessageId).catch(() => { });
331
+ }
332
+ return { toast: { type: 'success', content: t('card.relay.toast_success', undefined, loc) } };
333
+ }
140
334
  const isSensitive = value?.action && ['restart', 'close', 'resume', 'skip_repo', 'retry_last_task', 'get_write_link', 'toggle_stream', 'toggle_display', 'export_text', 'term_action', 'refresh_screenshot', 'takeover', 'disconnect', 'tui_keys', 'tui_text_input', 'wf_approve', 'wf_reject', 'wf_cancel'].includes(value.action);
141
335
  if (isSensitive) {
142
336
  const rootId = value?.root_id;
@@ -706,7 +900,8 @@ export async function handleCardAction(data, deps, larkAppId) {
706
900
  }
707
901
  // Re-discover to get full session info and validate
708
902
  const { discoverAdoptableSessions } = await import('../../core/session-discovery.js');
709
- const sessions = discoverAdoptableSessions();
903
+ const botCliId = getBot(ds.larkAppId).config.cliId;
904
+ const sessions = discoverAdoptableSessions(botCliId);
710
905
  const target = sessions.find(s => s.tmuxTarget === selected.tmuxTarget && s.cliPid === selected.cliPid);
711
906
  if (!target) {
712
907
  await sessionReply(rootId, t('cmd.adopt.target_exited', undefined, localeForBot(ds.larkAppId)));
@@ -1 +1 @@
1
- {"version":3,"file":"card-handler.js","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-handler.js","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"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"}
@@ -40,11 +40,35 @@ export declare function sendMessage(larkAppId: string, chatId: string, content:
40
40
  export declare function replyMessage(larkAppId: string, messageId: string, content: string, msgType?: string, replyInThread?: boolean, uuid?: string): Promise<string>;
41
41
  export declare function addReaction(larkAppId: string, messageId: string, emojiType: string): Promise<string>;
42
42
  export declare function removeReaction(larkAppId: string, messageId: string, reactionId: string): Promise<void>;
43
+ /**
44
+ * Resolve a user's tenant-stable `union_id` from their app-scoped `open_id`.
45
+ * Used by cross-daemon owner checks (e.g. /relay --create peer migrate)
46
+ * to compare identities across bot namespaces — open_id alone is
47
+ * app-scoped, so two daemons looking at the same physical user see
48
+ * different open_ids.
49
+ *
50
+ * Best-effort: returns null on API failure / missing scope / empty
51
+ * response, so callers can fall back to other identity strategies
52
+ * instead of failing the whole flow.
53
+ */
54
+ export declare function resolveUnionIdFromOpenId(larkAppId: string, openId: string): Promise<string | null>;
43
55
  export declare function sendUserMessage(larkAppId: string, openId: string, content: string, msgType?: string): Promise<string>;
44
56
  export declare function getChatInfo(larkAppId: string, chatId: string): Promise<{
45
57
  userCount: number;
46
58
  botCount: number;
47
59
  }>;
60
+ /**
61
+ * Resolve a chat's display name (the user-facing group title). Returns `null`
62
+ * on any failure (chatId is unknown to this bot, network error, bot not in
63
+ * chat etc.) — callers should fall back to displaying the raw chatId so the
64
+ * UI degrades gracefully rather than rendering "undefined". For p2p chats the
65
+ * returned name may be an empty string; treat that as "no display name" and
66
+ * also fall back. */
67
+ export declare function getChatName(larkAppId: string, chatId: string): Promise<string | null>;
68
+ export declare function getChatNameAndMode(larkAppId: string, chatId: string): Promise<{
69
+ name: string | null;
70
+ mode: ChatMode;
71
+ }>;
48
72
  /** Lark chat-mode classification used by botmux to decide session scope:
49
73
  * - 'topic' → 话题群: every top-level message becomes a new thread, so
50
74
  * botmux always uses thread-scope sessions. Two underlying
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/im/lark/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/im/lark/client.ts"],"names":[],"mappings":"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"}
@@ -157,6 +157,35 @@ export async function removeReaction(larkAppId, messageId, reactionId) {
157
157
  }
158
158
  logger.info(`Removed reaction ${reactionId} from message ${messageId}`);
159
159
  }
160
+ /**
161
+ * Resolve a user's tenant-stable `union_id` from their app-scoped `open_id`.
162
+ * Used by cross-daemon owner checks (e.g. /relay --create peer migrate)
163
+ * to compare identities across bot namespaces — open_id alone is
164
+ * app-scoped, so two daemons looking at the same physical user see
165
+ * different open_ids.
166
+ *
167
+ * Best-effort: returns null on API failure / missing scope / empty
168
+ * response, so callers can fall back to other identity strategies
169
+ * instead of failing the whole flow.
170
+ */
171
+ export async function resolveUnionIdFromOpenId(larkAppId, openId) {
172
+ const c = getBotClient(larkAppId);
173
+ try {
174
+ const res = await larkGet(c, `/open-apis/contact/v3/users/${encodeURIComponent(openId)}`, {
175
+ user_id_type: 'open_id',
176
+ });
177
+ if (res?.code !== 0) {
178
+ logger.debug(`[union_id] resolve failed for ${openId.substring(0, 12)}: code=${res?.code} msg=${res?.msg ?? ''}`);
179
+ return null;
180
+ }
181
+ const unionId = res?.data?.user?.union_id;
182
+ return unionId ?? null;
183
+ }
184
+ catch (err) {
185
+ logger.debug(`[union_id] resolve threw for ${openId.substring(0, 12)}: ${err instanceof Error ? err.message : err}`);
186
+ return null;
187
+ }
188
+ }
160
189
  export async function sendUserMessage(larkAppId, openId, content, msgType = 'text') {
161
190
  const c = getBotClient(larkAppId);
162
191
  const body = msgType === 'text' ? JSON.stringify({ text: content }) : content;
@@ -189,6 +218,60 @@ export async function getChatInfo(larkAppId, chatId) {
189
218
  botCount: Number(res.data?.bot_count ?? 0),
190
219
  };
191
220
  }
221
+ /**
222
+ * Resolve a chat's display name (the user-facing group title). Returns `null`
223
+ * on any failure (chatId is unknown to this bot, network error, bot not in
224
+ * chat etc.) — callers should fall back to displaying the raw chatId so the
225
+ * UI degrades gracefully rather than rendering "undefined". For p2p chats the
226
+ * returned name may be an empty string; treat that as "no display name" and
227
+ * also fall back. */
228
+ export async function getChatName(larkAppId, chatId) {
229
+ try {
230
+ const c = getBotClient(larkAppId);
231
+ const res = await larkGet(c, `/open-apis/im/v1/chats/${encodeURIComponent(chatId)}`);
232
+ if (res.code !== 0)
233
+ return null;
234
+ const name = String(res.data?.name ?? '').trim();
235
+ return name.length > 0 ? name : null;
236
+ }
237
+ catch {
238
+ return null;
239
+ }
240
+ }
241
+ const chatInfoCache = new Map();
242
+ const CHAT_INFO_TTL_MS = 5 * 60 * 1000;
243
+ export async function getChatNameAndMode(larkAppId, chatId) {
244
+ const cacheKey = `${larkAppId}::${chatId}`;
245
+ const cached = chatInfoCache.get(cacheKey);
246
+ if (cached && Date.now() - cached.cachedAt < CHAT_INFO_TTL_MS) {
247
+ return { name: cached.name, mode: cached.mode };
248
+ }
249
+ let name = null;
250
+ let mode = 'group';
251
+ try {
252
+ const c = getBotClient(larkAppId);
253
+ const res = await larkGet(c, `/open-apis/im/v1/chats/${encodeURIComponent(chatId)}`);
254
+ if (res.code === 0) {
255
+ const raw = String(res.data?.name ?? '').trim();
256
+ name = raw.length > 0 ? raw : null;
257
+ const rawMode = String(res.data?.chat_mode ?? '').toLowerCase();
258
+ const rawType = String(res.data?.chat_type ?? '').toLowerCase();
259
+ const rawGmt = String(res.data?.group_message_type ?? '').toLowerCase();
260
+ // Same classification as getChatMode — keep in sync.
261
+ if (rawType === 'p2p')
262
+ mode = 'p2p';
263
+ else if (rawMode === 'topic' || rawGmt === 'thread')
264
+ mode = 'topic';
265
+ else
266
+ mode = 'group';
267
+ }
268
+ }
269
+ catch {
270
+ /* keep safe defaults */
271
+ }
272
+ chatInfoCache.set(cacheKey, { name, mode, cachedAt: Date.now() });
273
+ return { name, mode };
274
+ }
192
275
  const chatModeCache = new Map();
193
276
  const CHAT_MODE_TTL_MS = 5 * 60 * 1000; // 5 min — chat_mode can change when a group is converted to topic mode
194
277
  /** Resolve the conversational topology of a chat (话题群 vs 普通群 vs p2p).