@mininglamp-oss/cc-channel-octo 1.0.3-dev.203dc5f → 1.0.3-dev.4ca07a0

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/octo/api.js CHANGED
@@ -1,7 +1,10 @@
1
1
  // Forked from openclaw-channel-octo v1.0.13 (2026-06-04)
2
2
  // Source: https://github.com/Mininglamp-OSS/openclaw-channel-octo
3
- // Removed: COS upload, GROUP.md API, OBO, rich text, media, thread/group management,
3
+ // Removed: COS upload, OBO, rich text, media, group management,
4
4
  // read receipts, bot groups list, group info, mention prefs, space members.
5
+ // Restored: thread lifecycle (create/list/get/delete/members/join/leave) — see
6
+ // "Thread Lifecycle" section below; GROUP.md server API (get/update) —
7
+ // see "Group Markdown (GROUP.md)" section below.
5
8
  import { MessageType, } from "./types.js";
6
9
  import { randomUUID } from "node:crypto";
7
10
  const DEFAULT_TIMEOUT_MS = 30_000;
@@ -322,4 +325,136 @@ export async function getChannelMessages(params) {
322
325
  return [];
323
326
  }
324
327
  }
328
+ // ─── Thread Lifecycle ────────────────────────────────────────────────────────
329
+ //
330
+ // Restores the bot thread (CommunityTopic) lifecycle endpoints that were removed
331
+ // at fork time (see file header). Path / method / auth are a verbatim restore of
332
+ // openclaw-channel-octo api-fetch.ts (createThread … leaveThread); each call is
333
+ // routed through this client's postJson/getJson/requestNoBody helpers so it
334
+ // shares the same timeout, Bearer auth, int64-safe JSON parse, and error-message
335
+ // format as the rest of the API surface.
336
+ /**
337
+ * Issue a request that carries neither a request body nor a meaningful response
338
+ * body (thread delete / join / leave). Mirrors postJson's timeout, Bearer auth,
339
+ * and error-message format. A 2xx with an empty body resolves to void.
340
+ */
341
+ async function requestNoBody(apiUrl, botToken, method, path, signal) {
342
+ const url = `${apiUrl.replace(/\/+$/, "")}${path}`;
343
+ const effectiveSignal = signal ?? AbortSignal.timeout(DEFAULT_TIMEOUT_MS);
344
+ const resp = await fetch(url, {
345
+ method,
346
+ headers: { Authorization: `Bearer ${botToken}` },
347
+ signal: effectiveSignal,
348
+ });
349
+ if (!resp.ok) {
350
+ const text = await resp.text().catch(() => "");
351
+ throw new Error(`Octo API ${path} failed (${resp.status}): ${text || resp.statusText}`);
352
+ }
353
+ }
354
+ /**
355
+ * Serialize an int64 id (e.g. a snowflake message id) into a request body as a
356
+ * *bare JSON number* with full precision preserved.
357
+ *
358
+ * The Octo backend requires `source_message_id` to be a JSON number — a quoted
359
+ * string is rejected with 400 request_invalid. But a 19-digit snowflake exceeds
360
+ * Number.MAX_SAFE_INTEGER (2^53-1), so the value must never pass through a JS
361
+ * `number`, which would silently truncate it. We therefore keep it as a string
362
+ * end-to-end and hand it to JSON.stringify verbatim via JSON.rawJSON (Node >=21),
363
+ * yielding wire JSON such as `"source_message_id":2071497871135346688`.
364
+ *
365
+ * JSON.rawJSON is not in the ES2022 lib typings yet, so it is accessed through a
366
+ * narrow cast rather than `any`.
367
+ */
368
+ function rawInt64(value) {
369
+ if (!/^-?[0-9]+$/.test(value)) {
370
+ throw new Error(`int64 id must be a base-10 integer string, got: ${value}`);
371
+ }
372
+ return JSON.rawJSON(value);
373
+ }
374
+ /** Create a thread under a parent group. POST /v1/bot/groups/{groupNo}/threads */
375
+ export async function createThread(params) {
376
+ const body = { name: params.name };
377
+ if (params.sourceMessageId != null)
378
+ body.source_message_id = rawInt64(params.sourceMessageId);
379
+ return await postJson(params.apiUrl, params.botToken, `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/threads`, body, params.signal);
380
+ }
381
+ /** List threads under a parent group. GET /v1/bot/groups/{groupNo}/threads */
382
+ export async function listThreads(params) {
383
+ const data = await getJson(params.apiUrl, params.botToken, `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/threads`, params.signal);
384
+ // Tolerate both a bare array and a `{ threads: [...] }` envelope, mirroring
385
+ // getGroupMembers' defensive shape handling.
386
+ const threads = Array.isArray(data?.threads)
387
+ ? data.threads
388
+ : Array.isArray(data)
389
+ ? data
390
+ : [];
391
+ return threads;
392
+ }
393
+ /** Get a single thread. GET /v1/bot/groups/{groupNo}/threads/{shortId} */
394
+ export async function getThread(params) {
395
+ return await getJson(params.apiUrl, params.botToken, `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/threads/${encodeURIComponent(params.shortId)}`, params.signal);
396
+ }
397
+ /** Delete a thread. DELETE /v1/bot/groups/{groupNo}/threads/{shortId} */
398
+ export async function deleteThread(params) {
399
+ await requestNoBody(params.apiUrl, params.botToken, "DELETE", `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/threads/${encodeURIComponent(params.shortId)}`, params.signal);
400
+ }
401
+ /** List a thread's members. GET /v1/bot/groups/{groupNo}/threads/{shortId}/members */
402
+ export async function listThreadMembers(params) {
403
+ const data = await getJson(params.apiUrl, params.botToken, `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/threads/${encodeURIComponent(params.shortId)}/members`, params.signal);
404
+ const members = Array.isArray(data?.members)
405
+ ? data.members
406
+ : Array.isArray(data)
407
+ ? data
408
+ : [];
409
+ return members;
410
+ }
411
+ /** Join a thread. POST /v1/bot/groups/{groupNo}/threads/{shortId}/join */
412
+ export async function joinThread(params) {
413
+ await requestNoBody(params.apiUrl, params.botToken, "POST", `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/threads/${encodeURIComponent(params.shortId)}/join`, params.signal);
414
+ }
415
+ /** Leave a thread. POST /v1/bot/groups/{groupNo}/threads/{shortId}/leave */
416
+ export async function leaveThread(params) {
417
+ await requestNoBody(params.apiUrl, params.botToken, "POST", `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/threads/${encodeURIComponent(params.shortId)}/leave`, params.signal);
418
+ }
419
+ /**
420
+ * Fetch a group's server-side GROUP.md. GET /v1/bot/groups/{groupNo}/md.
421
+ *
422
+ * Throws on any non-2xx (including 404 "no GROUP.md set") — the caller decides
423
+ * how to degrade. The server-first fetch orchestrator (group-md.ts) catches and
424
+ * falls back to the local instruction file, so a 404 cleanly downgrades to local.
425
+ */
426
+ export async function getGroupMd(params) {
427
+ return await getJson(params.apiUrl, params.botToken, `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/md`, params.signal);
428
+ }
429
+ /**
430
+ * Update a group's server-side GROUP.md (requires bot_admin permission).
431
+ * PUT /v1/bot/groups/{groupNo}/md, body `{ content }` → `{ version }`.
432
+ *
433
+ * NOTE (P2-A scope): this client function is restored alongside getGroupMd, but
434
+ * is intentionally NOT wired into any write-back path here — the PUT trigger
435
+ * chain is owned by a separate work item. Mirrors postJson's timeout, Bearer
436
+ * auth and error-message format.
437
+ */
438
+ export async function updateGroupMd(params) {
439
+ const path = `/v1/bot/groups/${encodeURIComponent(params.groupNo)}/md`;
440
+ const url = `${params.apiUrl.replace(/\/+$/, "")}${path}`;
441
+ const effectiveSignal = params.signal ?? AbortSignal.timeout(DEFAULT_TIMEOUT_MS);
442
+ const resp = await fetch(url, {
443
+ method: "PUT",
444
+ headers: {
445
+ ...DEFAULT_HEADERS,
446
+ Authorization: `Bearer ${params.botToken}`,
447
+ },
448
+ body: JSON.stringify({ content: params.content }),
449
+ signal: effectiveSignal,
450
+ });
451
+ if (!resp.ok) {
452
+ const text = await resp.text().catch(() => "");
453
+ throw new Error(`Octo API ${path} failed (${resp.status}): ${text || resp.statusText}`);
454
+ }
455
+ const text = await resp.text();
456
+ if (!text)
457
+ return { version: 0 };
458
+ return parseOctoJson(text);
459
+ }
325
460
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/octo/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/octo/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * CommunityTopic (thread) channel-id helpers.
3
+ *
4
+ * Octo encodes a thread's channel_id as `<groupNo>____<shortId>` — the parent
5
+ * group number, four underscores, then the thread short id. A plain group's
6
+ * channel_id has no separator. These pure functions are the single place that
7
+ * knows the composite format, so callers that need the parent group number
8
+ * (e.g. roster / @-mention lookups that must hit `/groups/{groupNo}/members`)
9
+ * or the thread short id never re-implement the split and drift apart.
10
+ *
11
+ * Splitting always uses the FIRST `____` occurrence (`indexOf`), so a shortId
12
+ * that itself contains the separator stays intact on the right-hand side.
13
+ */
14
+ /**
15
+ * Separator between parent group_no and thread short_id in Octo's
16
+ * CommunityTopic channel-id format (`<groupNo>____<shortId>`, 4 underscores).
17
+ */
18
+ export declare const THREAD_ID_SEPARATOR = "____";
19
+ /**
20
+ * Extract the parent group number from a channelId.
21
+ * Thread channelId format: "groupNo____shortId" → "groupNo".
22
+ * Group channelId format: "groupNo" → "groupNo" (returned unchanged).
23
+ */
24
+ export declare function extractParentGroupNo(channelId: string): string;
25
+ /**
26
+ * Extract the thread shortId from a channelId.
27
+ * Only thread channelIds contain a shortId; group channelIds return null.
28
+ *
29
+ * Edge case: if channelId ends with "____" (no shortId portion), returns null.
30
+ * Callers that require a non-empty shortId should check for falsy values.
31
+ */
32
+ export declare function extractThreadShortId(channelId: string): string | null;
33
+ /**
34
+ * Check if a channelId is a thread (CommunityTopic) composite id.
35
+ */
36
+ export declare function isThreadChannelId(channelId: string): boolean;
@@ -0,0 +1,52 @@
1
+ // Forked from openclaw-channel-octo v1.0.13 (2026-06-04)
2
+ // Source: https://github.com/Mininglamp-OSS/openclaw-channel-octo
3
+ // - constants.ts (THREAD_ID_SEPARATOR)
4
+ // - group-md.ts (extractParentGroupNo / extractThreadShortId / isThreadChannelId)
5
+ /**
6
+ * CommunityTopic (thread) channel-id helpers.
7
+ *
8
+ * Octo encodes a thread's channel_id as `<groupNo>____<shortId>` — the parent
9
+ * group number, four underscores, then the thread short id. A plain group's
10
+ * channel_id has no separator. These pure functions are the single place that
11
+ * knows the composite format, so callers that need the parent group number
12
+ * (e.g. roster / @-mention lookups that must hit `/groups/{groupNo}/members`)
13
+ * or the thread short id never re-implement the split and drift apart.
14
+ *
15
+ * Splitting always uses the FIRST `____` occurrence (`indexOf`), so a shortId
16
+ * that itself contains the separator stays intact on the right-hand side.
17
+ */
18
+ /**
19
+ * Separator between parent group_no and thread short_id in Octo's
20
+ * CommunityTopic channel-id format (`<groupNo>____<shortId>`, 4 underscores).
21
+ */
22
+ export const THREAD_ID_SEPARATOR = "____";
23
+ /**
24
+ * Extract the parent group number from a channelId.
25
+ * Thread channelId format: "groupNo____shortId" → "groupNo".
26
+ * Group channelId format: "groupNo" → "groupNo" (returned unchanged).
27
+ */
28
+ export function extractParentGroupNo(channelId) {
29
+ const sep = channelId.indexOf(THREAD_ID_SEPARATOR);
30
+ return sep >= 0 ? channelId.slice(0, sep) : channelId;
31
+ }
32
+ /**
33
+ * Extract the thread shortId from a channelId.
34
+ * Only thread channelIds contain a shortId; group channelIds return null.
35
+ *
36
+ * Edge case: if channelId ends with "____" (no shortId portion), returns null.
37
+ * Callers that require a non-empty shortId should check for falsy values.
38
+ */
39
+ export function extractThreadShortId(channelId) {
40
+ const sep = channelId.indexOf(THREAD_ID_SEPARATOR);
41
+ if (sep < 0)
42
+ return null;
43
+ const id = channelId.slice(sep + THREAD_ID_SEPARATOR.length);
44
+ return id || null;
45
+ }
46
+ /**
47
+ * Check if a channelId is a thread (CommunityTopic) composite id.
48
+ */
49
+ export function isThreadChannelId(channelId) {
50
+ return channelId.includes(THREAD_ID_SEPARATOR);
51
+ }
52
+ //# sourceMappingURL=channel-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-id.js","sourceRoot":"","sources":["../../src/octo/channel-id.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,kEAAkE;AAClE,yCAAyC;AACzC,oFAAoF;AAEpF;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,EAAE,IAAI,IAAI,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,OAAO,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AACjD,CAAC"}
@@ -83,6 +83,28 @@ export declare enum ChannelType {
83
83
  Group = 2,
84
84
  CommunityTopic = 5
85
85
  }
86
+ /**
87
+ * A thread (CommunityTopic) under a parent group, as returned by the Octo bot
88
+ * thread lifecycle endpoints. A thread's channel_id is the composite
89
+ * `<groupNo>____<shortId>` (see octo/channel-id.ts).
90
+ */
91
+ export interface Thread {
92
+ /** Thread short id; the right-hand side of the composite channel_id. */
93
+ short_id: string;
94
+ name: string;
95
+ /** uid of the member who created the thread. */
96
+ creator_uid: string;
97
+ /** Lifecycle status flag (server-defined). Absent on the create response. */
98
+ status?: number;
99
+ /** Current member count. Present on getThread. */
100
+ member_count?: number;
101
+ }
102
+ /** A single member of a thread, as returned by listThreadMembers. */
103
+ export interface ThreadMember {
104
+ uid: string;
105
+ /** Member role within the thread (server-defined). */
106
+ role: number;
107
+ }
86
108
  /** Message content types */
87
109
  export declare enum MessageType {
88
110
  Text = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/octo/types.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,kEAAkE;AAyFlE,oBAAoB;AACpB,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,yCAAM,CAAA;IACN,+CAAS,CAAA;IACT,iEAAkB,CAAA;AACpB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,4BAA4B;AAC5B,MAAM,CAAN,IAAY,WAYX;AAZD,WAAY,WAAW;IACrB,6CAAQ,CAAA;IACR,+CAAS,CAAA;IACT,2CAAO,CAAA;IACP,+CAAS,CAAA;IACT,+CAAS,CAAA;IACT,qDAAY,CAAA;IACZ,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,oEAAoB,CAAA;IACpB,sEAAsE;IACtE,sDAAa,CAAA;AACf,CAAC,EAZW,WAAW,KAAX,WAAW,QAYtB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAE7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/octo/types.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,kEAAkE;AAyFlE,oBAAoB;AACpB,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,yCAAM,CAAA;IACN,+CAAS,CAAA;IACT,iEAAkB,CAAA;AACpB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AA0BD,4BAA4B;AAC5B,MAAM,CAAN,IAAY,WAYX;AAZD,WAAY,WAAW;IACrB,6CAAQ,CAAA;IACR,+CAAS,CAAA;IACT,2CAAO,CAAA;IACP,+CAAS,CAAA;IACT,+CAAS,CAAA;IACT,qDAAY,CAAA;IACZ,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,oEAAoB,CAAA;IACpB,sEAAsE;IACtE,sDAAa,CAAA;AACf,CAAC,EAZW,WAAW,KAAX,WAAW,QAYtB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAE7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { Config } from './config.js';
5
5
  import type { BotMessage } from './octo/types.js';
6
+ import type { GroupMdCache } from './group-md-cache.js';
6
7
  export interface RouteResult {
7
8
  sessionKey: string;
8
9
  shouldProcess: boolean;
@@ -42,7 +43,14 @@ export declare class SessionRouter {
42
43
  * extended via registerKnownBot() for future multi-bot deployments.
43
44
  */
44
45
  private readonly knownBotUids;
45
- constructor(config: Config, robotId: string, ownerUid?: string);
46
+ /**
47
+ * P2-B: in-memory server GROUP.md cache (A's P2-A cache). Held so a GROUP.md
48
+ * change event can invalidate the affected group's entry, forcing the next
49
+ * turn to re-fetch the authoritative copy. Optional — omitted (or with
50
+ * `serverMd` off) the event path is a harmless no-op.
51
+ */
52
+ private readonly groupMdCache?;
53
+ constructor(config: Config, robotId: string, ownerUid?: string, groupMdCache?: GroupMdCache);
46
54
  /** G14: register another known bot uid (future multi-bot support). */
47
55
  registerKnownBot(uid: string): void;
48
56
  /**
@@ -130,6 +138,32 @@ export declare class SessionRouter {
130
138
  * inbound messages never carry the marker.
131
139
  */
132
140
  private isCronFire;
141
+ /**
142
+ * P2-B: react to a server system event that signals a GROUP.md change by
143
+ * invalidating that group's cached server GROUP.md, so the next turn re-fetches
144
+ * the authoritative copy over the authenticated bot token (never trusting the
145
+ * event payload as the new content — see group-md-events.ts for the
146
+ * forged-event poisoning rationale). Non-md system events (join/leave, etc.)
147
+ * match nothing here and fall through to the caller's `return null`, so they
148
+ * are dropped exactly as before.
149
+ *
150
+ * Gated on `serverMd`: with the flag off the cache is never populated, so there
151
+ * is nothing to invalidate. Best-effort and never throws — a malformed event
152
+ * must not wedge the router (the caller drops the event regardless).
153
+ *
154
+ * The group is identified from the event's `group_no`: these events are
155
+ * delivered on a system/DM channel (a group event on the group's own channel
156
+ * dies at the mention gate above, never reaching here — XIN-173), so the
157
+ * arriving `channel_id` is the sender, not the group. The channel is only a
158
+ * fallback when `group_no` is absent AND the event happens to have arrived on a
159
+ * group-like channel (e.g. a mention-free group, the one group path that
160
+ * reaches this point). Using the event-supplied `group_no` is safe despite the
161
+ * event being untrusted: invalidation is non-destructive — the worst a forged
162
+ * event can do is force a redundant authenticated re-fetch of the real value,
163
+ * never inject content (the new GROUP.md is always re-fetched, never read from
164
+ * the event body — see group-md-events.ts).
165
+ */
166
+ private handleGroupMdEvent;
133
167
  private processMessage;
134
168
  /**
135
169
  * G20 fix: Check all three rate limits (global, per-session, per-user) in
@@ -4,6 +4,8 @@
4
4
  import { ChannelType, MessageType } from './octo/types.js';
5
5
  import { sendMessage } from './octo/api.js';
6
6
  import { isAuthenticCronFire } from './cron-fire-marker.js';
7
+ import { extractParentGroupNo } from './octo/channel-id.js';
8
+ import { isGroupMdUpdateEvent } from './group-md-events.js';
7
9
  const BUCKET_STALE_MS = 5 * 60 * 1000; // 5 minutes
8
10
  /** Global rate limit: 10x per-session limit, shared across all sessions. */
9
11
  const GLOBAL_RATE_MULTIPLIER = 10;
@@ -24,11 +26,19 @@ export class SessionRouter {
24
26
  * extended via registerKnownBot() for future multi-bot deployments.
25
27
  */
26
28
  knownBotUids = new Set();
27
- constructor(config, robotId, ownerUid = '') {
29
+ /**
30
+ * P2-B: in-memory server GROUP.md cache (A's P2-A cache). Held so a GROUP.md
31
+ * change event can invalidate the affected group's entry, forcing the next
32
+ * turn to re-fetch the authoritative copy. Optional — omitted (or with
33
+ * `serverMd` off) the event path is a harmless no-op.
34
+ */
35
+ groupMdCache;
36
+ constructor(config, robotId, ownerUid = '', groupMdCache) {
28
37
  this.config = config;
29
38
  this.robotId = robotId;
30
39
  this.ownerUid = ownerUid;
31
40
  this.knownBotUids.add(robotId);
41
+ this.groupMdCache = groupMdCache;
32
42
  }
33
43
  /** G14: register another known bot uid (future multi-bot support). */
34
44
  registerKnownBot(uid) {
@@ -275,6 +285,52 @@ export class SessionRouter {
275
285
  isCronFire(msg) {
276
286
  return isAuthenticCronFire(msg.payload);
277
287
  }
288
+ /**
289
+ * P2-B: react to a server system event that signals a GROUP.md change by
290
+ * invalidating that group's cached server GROUP.md, so the next turn re-fetches
291
+ * the authoritative copy over the authenticated bot token (never trusting the
292
+ * event payload as the new content — see group-md-events.ts for the
293
+ * forged-event poisoning rationale). Non-md system events (join/leave, etc.)
294
+ * match nothing here and fall through to the caller's `return null`, so they
295
+ * are dropped exactly as before.
296
+ *
297
+ * Gated on `serverMd`: with the flag off the cache is never populated, so there
298
+ * is nothing to invalidate. Best-effort and never throws — a malformed event
299
+ * must not wedge the router (the caller drops the event regardless).
300
+ *
301
+ * The group is identified from the event's `group_no`: these events are
302
+ * delivered on a system/DM channel (a group event on the group's own channel
303
+ * dies at the mention gate above, never reaching here — XIN-173), so the
304
+ * arriving `channel_id` is the sender, not the group. The channel is only a
305
+ * fallback when `group_no` is absent AND the event happens to have arrived on a
306
+ * group-like channel (e.g. a mention-free group, the one group path that
307
+ * reaches this point). Using the event-supplied `group_no` is safe despite the
308
+ * event being untrusted: invalidation is non-destructive — the worst a forged
309
+ * event can do is force a redundant authenticated re-fetch of the real value,
310
+ * never inject content (the new GROUP.md is always re-fetched, never read from
311
+ * the event body — see group-md-events.ts).
312
+ */
313
+ handleGroupMdEvent(msg) {
314
+ if (!this.config.serverMd || !this.groupMdCache)
315
+ return;
316
+ const event = msg.payload.event;
317
+ if (!isGroupMdUpdateEvent(event, this.config.serverMdEventTypes))
318
+ return;
319
+ let groupNo = event?.group_no ?? '';
320
+ if (groupNo === '' && this.isGroupLike(msg.channel_type)) {
321
+ groupNo = extractParentGroupNo(msg.channel_id ?? '');
322
+ }
323
+ if (groupNo === '')
324
+ return;
325
+ // invalidate() is itself total (validates the id, never throws); the guard
326
+ // here keeps a future non-total cache from breaking the drop path.
327
+ try {
328
+ this.groupMdCache.invalidate(groupNo);
329
+ }
330
+ catch {
331
+ /* best-effort: a refresh hiccup must never block dropping the event */
332
+ }
333
+ }
278
334
  async processMessage(msg, key) {
279
335
  // Skip messages from self.
280
336
  if (msg.from_uid === this.robotId)
@@ -327,9 +383,16 @@ export class SessionRouter {
327
383
  return null;
328
384
  }
329
385
  }
330
- // Skip system events (group join/leave, etc.) no user-facing reply needed.
331
- if (msg.payload.event)
386
+ // System events (group join/leave, GROUP.md change, etc.) never produce a
387
+ // user-facing reply, so they always route to `null`. P2-B: before dropping,
388
+ // a GROUP.md change event is dispatched to invalidate that group's cached
389
+ // server GROUP.md (forcing the next turn to re-fetch the authoritative copy);
390
+ // every other system event (join/leave/...) is dropped unchanged, exactly as
391
+ // before — non-md events must NOT be mistaken for an md event.
392
+ if (msg.payload.event) {
393
+ this.handleGroupMdEvent(msg);
332
394
  return null;
395
+ }
333
396
  // Rate limit check BEFORE non-text check — prevents DM spam of non-text
334
397
  // messages from bypassing rate limiting entirely.
335
398
  // G20 fix: peek all three buckets without consuming; only consume on full
@@ -1 +1 @@
1
- {"version":3,"file":"session-router.js","sourceRoot":"","sources":["../src/session-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-router.js","sourceRoot":"","sources":["../src/session-router.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,32 @@ export declare class SessionStore {
28
28
  private lastBotReplySeq;
29
29
  constructor(adapter: DbAdapter);
30
30
  init(): void;
31
+ /**
32
+ * XIN-154 existing-row migration: collapse duplicate
33
+ * (session_id, role, message_seq) rows left by the pre-fix seq236 double-write,
34
+ * keeping the lowest id (the earliest insert) in each group.
35
+ *
36
+ * Only REAL wire seqs (message_seq > 0) participate. Rows are exempt when:
37
+ * - message_seq IS NULL (assistant / legacy / no-seq turns), or
38
+ * - message_seq <= 0 — notably the seq=0 SENTINEL a synthetic cron fire
39
+ * carries (no real wire seq; see index.ts where the cron round stores
40
+ * seq=0). Multiple cron rounds legitimately share seq=0, so folding on it
41
+ * would delete real data — hence `> 0`, matching the codebase's existing
42
+ * "real seq" predicate (`msg.message_seq > 0`).
43
+ * Rows that merely share a seq across roles (a user turn and the bot's reply)
44
+ * are preserved because role is part of the grouping key.
45
+ *
46
+ * Wrapped in a single transaction with explicit before/after row accounting: a
47
+ * mismatch between the delete count and the row delta means the table was
48
+ * mutated concurrently, so we throw and roll back rather than report a clean
49
+ * migration over an inconsistent result (防丢数据). Idempotent: a second run over
50
+ * already-clean data deletes nothing and leaves counts unchanged.
51
+ */
52
+ dedupeMessagesBySeq(): {
53
+ before: number;
54
+ removed: number;
55
+ after: number;
56
+ };
31
57
  getOrCreate(id: string, channelId: string, channelType: number): Session;
32
58
  appendUser(sessionId: string, content: string, messageSeq?: number, fromName?: string): void;
33
59
  appendAssistant(sessionId: string, content: string, messageSeq?: number, botName?: string): void;