openryoko 2026.9.4 → 2026.9.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openryoko",
3
- "version": "2026.9.4",
3
+ "version": "2026.9.5",
4
4
  "description": "OpenRyoko — Slackで空気を読んで働くAIアシスタント・ゲートウェイ(Jinnベース、Claude Code/Codex/Gemini CLI対応)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -10,8 +10,13 @@ export interface DiscordConnectorConfig {
10
10
  guildId?: string;
11
11
  /** Only respond to messages in this channel (right-click channel → Copy Channel ID) */
12
12
  channelId?: string;
13
- /** Route messages from specific channels to remote Jinn instances */
14
- channelRouting?: Record<string, string>;
13
+ /** Route messages from specific channels to remote Jinn instances. A plain
14
+ * string value is the remote's URL; the object form adds the bearer token
15
+ * the receiving gateway requires on /api/* when its auth is enabled. */
16
+ channelRouting?: Record<string, string | {
17
+ url: string;
18
+ token?: string;
19
+ }>;
15
20
  /** If set, this instance proxies all Discord operations through the primary instance at this URL */
16
21
  proxyVia?: string;
17
22
  /** Deterministic per-scope response gate (DM / channel). See DiscordRespondToConfig. */
@@ -32,6 +37,9 @@ export declare class DiscordConnector implements Connector {
32
37
  private typingIntervals;
33
38
  private engagedThreads;
34
39
  private readonly replyStyle;
40
+ /** channelRouting normalized to { url, token } with string keys (YAML may
41
+ * parse snowflake keys as numbers and values may be plain URL strings). */
42
+ private readonly routing;
35
43
  /**
36
44
  * Channels where thread creation failed for a channel-level reason
37
45
  * (missing permission / access). Both the session keying and the reply
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/discord/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/discord/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,42 @@
1
- import { Client, GatewayIntentBits, MessageType, Partials, PermissionFlagsBits, } from "discord.js";
1
+ import { ChannelType, Client, GatewayIntentBits, MessageType, Partials, PermissionFlagsBits, } from "discord.js";
2
2
  import { logger } from "../../shared/logger.js";
3
3
  import { TMP_DIR } from "../../shared/paths.js";
4
4
  import { formatResponse, downloadAttachment } from "./format.js";
5
5
  import { deriveSessionKey, buildReplyContext, isOldMessage, threadNameFor, supportsMessageThreads, } from "./threads.js";
6
6
  import { evaluateRespondPolicy, resolveRespondMode, wasBotAddressed, addressesOnlyOthers, } from "./respond-policy.js";
7
7
  import { EngagedThreadTracker } from "./engaged-threads.js";
8
+ /**
9
+ * Speaker identity forwarded to the session layer, mirroring the Slack
10
+ * connector's transportMeta fields. `speakerDiscordId` is the immutable
11
+ * snowflake that operator identification (portal.operatorDiscordId) and the
12
+ * MEMORY.md privacy gate (portal.trustedSpeakers) key on — names are display
13
+ * only and freely editable.
14
+ */
15
+ function speakerMeta(message) {
16
+ return {
17
+ speakerName: message.member?.displayName ?? message.author.globalName ?? message.author.username,
18
+ speakerDisplayName: message.author.globalName ?? null,
19
+ speakerHandle: message.author.username,
20
+ speakerDiscordId: message.author.id,
21
+ speakerIsBot: message.author.bot,
22
+ };
23
+ }
24
+ /** Runtime validation for one channelRouting entry (config is untyped YAML/JSON). */
25
+ function normalizeRouteEntry(value) {
26
+ if (typeof value === "string" && value.trim())
27
+ return { url: value.trim() };
28
+ if (value && typeof value === "object" && !Array.isArray(value)) {
29
+ const { url, token } = value;
30
+ // A malformed token disables the whole entry — silently dropping it
31
+ // would send authenticated traffic unauthenticated.
32
+ if (typeof url === "string" &&
33
+ url.trim() &&
34
+ (token === undefined || typeof token === "string")) {
35
+ return { url: url.trim(), token: token || undefined };
36
+ }
37
+ }
38
+ return undefined;
39
+ }
8
40
  export class DiscordConnector {
9
41
  name;
10
42
  instanceId;
@@ -18,6 +50,9 @@ export class DiscordConnector {
18
50
  typingIntervals = new Map();
19
51
  engagedThreads = new EngagedThreadTracker();
20
52
  replyStyle;
53
+ /** channelRouting normalized to { url, token } with string keys (YAML may
54
+ * parse snowflake keys as numbers and values may be plain URL strings). */
55
+ routing;
21
56
  /**
22
57
  * Channels where thread creation failed for a channel-level reason
23
58
  * (missing permission / access). Both the session keying and the reply
@@ -40,9 +75,16 @@ export class DiscordConnector {
40
75
  this.config.guildId = String(this.config.guildId);
41
76
  if (this.config.channelId)
42
77
  this.config.channelId = String(this.config.channelId);
43
- if (this.config.channelRouting) {
44
- this.config.channelRouting = Object.fromEntries(Object.entries(this.config.channelRouting).map(([k, v]) => [String(k), v]));
45
- }
78
+ // YAML/API config is untyped at runtime: validate each route and disable
79
+ // (with a warning) anything that isn't a URL string or { url, token }.
80
+ this.routing = Object.fromEntries(Object.entries(config.channelRouting ?? {}).flatMap(([k, v]) => {
81
+ const route = normalizeRouteEntry(v);
82
+ if (!route) {
83
+ logger.warn(`[discord] channelRouting["${k}"] is invalid (expected a URL string or { url, token }) — entry disabled`);
84
+ return [];
85
+ }
86
+ return [[String(k), route]];
87
+ }));
46
88
  this.allowedUserIds = new Set(Array.isArray(config.allowFrom)
47
89
  ? config.allowFrom
48
90
  : config.allowFrom
@@ -358,17 +400,17 @@ export class DiscordConnector {
358
400
  const parentChannelId = message.channel.isThread()
359
401
  ? message.channel.parentId ?? undefined
360
402
  : undefined;
361
- const routeTarget = this.config.channelRouting?.[message.channel.id] ??
362
- (parentChannelId !== undefined ? this.config.channelRouting?.[parentChannelId] : undefined);
363
- if (routeTarget) {
364
- logger.debug(`Routing Discord message from channel ${message.channel.id} to ${routeTarget}`);
403
+ const route = this.routing[message.channel.id] ??
404
+ (parentChannelId !== undefined ? this.routing[parentChannelId] : undefined);
405
+ if (route) {
406
+ logger.debug(`Routing Discord message from channel ${message.channel.id} to ${route.url}`);
365
407
  // References resolve only outside DMs here: the remote's dm policy is
366
408
  // unknown, and a routed-DM reply matters only under its dm=mention —
367
409
  // too rare to spend a REST fetch on every routed DM reply.
368
410
  const addressing = await this.resolveAddressing(message, {
369
411
  allowFetch: !message.channel.isDMBased(),
370
412
  });
371
- await this.proxyToRemote(routeTarget, message, addressing);
413
+ await this.proxyToRemote(route, message, addressing);
372
414
  return;
373
415
  }
374
416
  // Channel restriction — only respond in a specific channel, including
@@ -449,6 +491,8 @@ export class DiscordConnector {
449
491
  : "dm",
450
492
  guildId: message.guild?.id ?? null,
451
493
  isDM: message.channel.isDMBased(),
494
+ isGroupDM: message.channel.type === ChannelType.GroupDM,
495
+ ...speakerMeta(message),
452
496
  },
453
497
  };
454
498
  this.handler(incomingMessage);
@@ -522,9 +566,9 @@ export class DiscordConnector {
522
566
  this.config.respondTo?.engagedThreads !== false) {
523
567
  return true;
524
568
  }
525
- if (this.config.channelRouting?.[id] !== undefined)
569
+ if (this.routing[id] !== undefined)
526
570
  return true;
527
- return parentChannelId !== undefined && this.config.channelRouting?.[parentChannelId] !== undefined;
571
+ return parentChannelId !== undefined && this.routing[parentChannelId] !== undefined;
528
572
  }
529
573
  /**
530
574
  * Resolve who the message addresses. Reply attribution applies only to
@@ -554,7 +598,7 @@ export class DiscordConnector {
554
598
  };
555
599
  }
556
600
  /** Forward a message to a remote Jinn instance via HTTP */
557
- async proxyToRemote(remoteUrl, message, addressing) {
601
+ async proxyToRemote(route, message, addressing) {
558
602
  try {
559
603
  const attachments = Array.from(message.attachments.values()).map((att) => ({
560
604
  name: att.name,
@@ -581,6 +625,8 @@ export class DiscordConnector {
581
625
  : "dm",
582
626
  guildId: message.guild?.id ?? null,
583
627
  isDM: message.channel.isDMBased(),
628
+ isGroupDM: message.channel.type === ChannelType.GroupDM,
629
+ ...speakerMeta(message),
584
630
  // Precomputed here (only this instance knows the bot user,
585
631
  // resolves references, and tracks engagement) so the receiving
586
632
  // instance can apply its own respondTo gate without another
@@ -592,17 +638,22 @@ export class DiscordConnector {
592
638
  },
593
639
  },
594
640
  };
595
- const res = await fetch(`${remoteUrl.replace(/\/+$/, "")}/api/connectors/discord/incoming`, {
641
+ const res = await fetch(`${route.url.replace(/\/+$/, "")}/api/connectors/discord/incoming`, {
596
642
  method: "POST",
597
- headers: { "Content-Type": "application/json" },
643
+ headers: {
644
+ "Content-Type": "application/json",
645
+ // The receiving gateway authenticates /api/* like any client —
646
+ // configure the route's token when its auth is enabled.
647
+ ...(route.token ? { Authorization: `Bearer ${route.token}` } : {}),
648
+ },
598
649
  body: JSON.stringify(payload),
599
650
  });
600
651
  if (!res.ok) {
601
- logger.error(`Failed to proxy Discord message to ${remoteUrl}: ${res.status} ${res.statusText}`);
652
+ logger.error(`Failed to proxy Discord message to ${route.url}: ${res.status} ${res.statusText}`);
602
653
  }
603
654
  }
604
655
  catch (err) {
605
- logger.error(`Discord proxy error to ${remoteUrl}: ${err instanceof Error ? err.message : err}`);
656
+ logger.error(`Discord proxy error to ${route.url}: ${err instanceof Error ? err.message : err}`);
606
657
  }
607
658
  }
608
659
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/discord/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/discord/index.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,20 @@ import type { Connector, ConnectorCapabilities, ConnectorHealth, DiscordRespondT
2
2
  export interface RemoteDiscordConfig {
3
3
  /** URL of the primary Jinn instance that holds the Discord WebSocket connection */
4
4
  proxyVia: string;
5
+ /** Bearer token for the primary's gateway — required when its /api/* auth is enabled. */
6
+ proxyViaToken?: string;
5
7
  channelId?: string;
6
8
  /** Deterministic per-scope response gate, applied to proxied messages. */
7
9
  respondTo?: DiscordRespondToConfig;
8
10
  }
11
+ /**
12
+ * Allowlist a routed Discord payload's transportMeta at the receiving
13
+ * boundary. This endpoint carries Discord traffic, so only the fields the
14
+ * Discord primary actually produces pass through — a forged Slack identity
15
+ * (or any future field we haven't reasoned about) must never reach the
16
+ * platform-bound operator check or the MEMORY.md gate.
17
+ */
18
+ export declare function sanitizeIncomingDiscordMeta(meta: unknown): Record<string, unknown>;
9
19
  /**
10
20
  * A Discord connector that doesn't hold its own WebSocket connection.
11
21
  * Instead, it receives messages from the primary Jinn instance via HTTP
@@ -15,6 +25,7 @@ export declare class RemoteDiscordConnector implements Connector {
15
25
  name: string;
16
26
  private handler;
17
27
  private baseUrl;
28
+ private readonly proxyToken;
18
29
  private readonly respondTo;
19
30
  private warnedMissingAddressing;
20
31
  constructor(config: RemoteDiscordConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../../src/connectors/discord/remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,MAAM,EACP,MAAM,uBAAuB,CAAC;AAS/B,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,SAAS;IACtD,IAAI,SAAa;IACjB,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,uBAAuB,CAAS;gBAE5B,MAAM,EAAE,mBAAmB;IAKvC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAIxD,0FAA0F;IAC1F,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IA6CpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,eAAe,IAAI,qBAAqB;IASxC,SAAS,IAAI,eAAe;IAO5B,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;IAS7E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAItE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIvE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvF,WAAW;CAkB1B"}
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../../src/connectors/discord/remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,MAAM,EACP,MAAM,uBAAuB,CAAC;AAS/B,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAoBD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKlF;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,SAAS;IACtD,IAAI,SAAa;IACjB,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,uBAAuB,CAAS;gBAE5B,MAAM,EAAE,mBAAmB;IAMvC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAIxD,0FAA0F;IAC1F,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IA6CpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,eAAe,IAAI,qBAAqB;IASxC,SAAS,IAAI,eAAe;IAO5B,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;IAS7E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAItE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIvE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvF,WAAW;CAsB1B"}
@@ -1,5 +1,33 @@
1
1
  import { logger } from "../../shared/logger.js";
2
2
  import { evaluateRespondPolicy, parseForwardedAddressing, resolveRespondMode, scopeForChannel, } from "./respond-policy.js";
3
+ /** The transportMeta fields a Discord primary legitimately sends — everything
4
+ * else (cross-platform identity like speakerSlackId, Slack-only fields,
5
+ * internal session metadata) is dropped at the boundary. */
6
+ const INCOMING_DISCORD_META_ALLOWLIST = [
7
+ "channelName",
8
+ "guildId",
9
+ "isDM",
10
+ "isGroupDM",
11
+ "speakerName",
12
+ "speakerDisplayName",
13
+ "speakerHandle",
14
+ "speakerDiscordId",
15
+ "speakerIsBot",
16
+ "wasBotAddressed",
17
+ "addressesOnlyOthers",
18
+ "isEngagedThread",
19
+ ];
20
+ /**
21
+ * Allowlist a routed Discord payload's transportMeta at the receiving
22
+ * boundary. This endpoint carries Discord traffic, so only the fields the
23
+ * Discord primary actually produces pass through — a forged Slack identity
24
+ * (or any future field we haven't reasoned about) must never reach the
25
+ * platform-bound operator check or the MEMORY.md gate.
26
+ */
27
+ export function sanitizeIncomingDiscordMeta(meta) {
28
+ const raw = (meta && typeof meta === "object" ? meta : {});
29
+ return Object.fromEntries(INCOMING_DISCORD_META_ALLOWLIST.flatMap((key) => (key in raw ? [[key, raw[key]]] : [])));
30
+ }
3
31
  /**
4
32
  * A Discord connector that doesn't hold its own WebSocket connection.
5
33
  * Instead, it receives messages from the primary Jinn instance via HTTP
@@ -9,10 +37,12 @@ export class RemoteDiscordConnector {
9
37
  name = "discord";
10
38
  handler = null;
11
39
  baseUrl;
40
+ proxyToken;
12
41
  respondTo;
13
42
  warnedMissingAddressing = false;
14
43
  constructor(config) {
15
44
  this.baseUrl = config.proxyVia.replace(/\/+$/, "");
45
+ this.proxyToken = config.proxyViaToken;
16
46
  this.respondTo = config.respondTo;
17
47
  }
18
48
  onMessage(handler) {
@@ -105,7 +135,11 @@ export class RemoteDiscordConnector {
105
135
  try {
106
136
  const res = await fetch(`${this.baseUrl}/api/connectors/discord/proxy`, {
107
137
  method: "POST",
108
- headers: { "Content-Type": "application/json" },
138
+ headers: {
139
+ "Content-Type": "application/json",
140
+ // The primary's gateway authenticates /api/* like any client.
141
+ ...(this.proxyToken ? { Authorization: `Bearer ${this.proxyToken}` } : {}),
142
+ },
109
143
  body: JSON.stringify({ action, ...params }),
110
144
  });
111
145
  if (!res.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../../src/connectors/discord/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../../src/connectors/discord/remote.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,10 @@ export interface ApiContext {
58
58
  workflowRepository?: import("../workflows/repository.js").WorkflowRepository;
59
59
  }
60
60
  export declare function resumePendingWebQueueItems(context: ApiContext): void;
61
+ /** Mask the per-route bearer tokens inside connectors.*.channelRouting for
62
+ * GET /api/config. deepMerge already restores "***" placeholders on PUT —
63
+ * "token" is in SANITIZED_KEYS and the merge is recursive. */
64
+ export declare function sanitizeChannelRouting(value: unknown): unknown;
61
65
  export declare function deepMerge(target: Record<string, unknown>, source: Record<string, unknown>): Record<string, unknown>;
62
66
  export declare function handleApiRequest(req: HttpRequest, res: ServerResponse, context: ApiContext): Promise<void>;
63
67
  export declare function withConfigLock<T>(work: () => Promise<T>): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/gateway/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,IAAI,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQhF,OAAO,KAAK,EAAoC,UAAU,EAAmB,MAAM,oBAAoB,CAAC;AAExG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA0E7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgB/D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,UAAU,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAChE,wBAAwB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACrG;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAChG;;;;;;OAMG;IACH,2BAA2B,CAAC,EAAE,MAAM,IAAI,CAAC;IACzC;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;8EAC0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,QAAQ,CAAC;IACrD;qEACiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC;CAC9E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CA4CpE;AA+MD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCnH;AA4CD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CA0/Df;AAstBD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAIpE;AAiHD,kDAAkD;AAClD,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/gateway/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,IAAI,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQhF,OAAO,KAAK,EAAoC,UAAU,EAAmB,MAAM,oBAAoB,CAAC;AAExG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA0E7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgB/D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,UAAU,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAChE,wBAAwB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACrG;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAChG;;;;;;OAMG;IACH,2BAA2B,CAAC,EAAE,MAAM,IAAI,CAAC;IACzC;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;8EAC0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,QAAQ,CAAC;IACrD;qEACiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC;CAC9E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CA4CpE;AA+MD;;+DAE+D;AAC/D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAa9D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCnH;AA4CD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAigEf;AAstBD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAIpE;AAiHD,kDAAkD;AAClD,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
@@ -276,7 +276,23 @@ function badRequest(res, message) {
276
276
  function serverError(res, message) {
277
277
  json(res, { error: message }, 500);
278
278
  }
279
- const SANITIZED_KEYS = new Set(["token", "botToken", "signingSecret", "appToken"]);
279
+ const SANITIZED_KEYS = new Set(["token", "botToken", "signingSecret", "appToken", "proxyViaToken"]);
280
+ /** Mask the per-route bearer tokens inside connectors.*.channelRouting for
281
+ * GET /api/config. deepMerge already restores "***" placeholders on PUT —
282
+ * "token" is in SANITIZED_KEYS and the merge is recursive. */
283
+ export function sanitizeChannelRouting(value) {
284
+ if (!value || typeof value !== "object" || Array.isArray(value))
285
+ return value;
286
+ return Object.fromEntries(Object.entries(value).map(([channel, route]) => [
287
+ channel,
288
+ route && typeof route === "object" && !Array.isArray(route)
289
+ ? {
290
+ ...route,
291
+ token: route.token ? "***" : undefined,
292
+ }
293
+ : route,
294
+ ]));
295
+ }
280
296
  export function deepMerge(target, source) {
281
297
  const result = { ...target };
282
298
  for (const key of Object.keys(source)) {
@@ -1660,6 +1676,8 @@ Handle this as a priority request from a colleague.`;
1660
1676
  signingSecret: inst?.signingSecret ? "***" : undefined,
1661
1677
  botToken: inst?.botToken ? "***" : undefined,
1662
1678
  appToken: inst?.appToken ? "***" : undefined,
1679
+ proxyViaToken: inst?.proxyViaToken ? "***" : undefined,
1680
+ channelRouting: sanitizeChannelRouting(inst?.channelRouting),
1663
1681
  }));
1664
1682
  }
1665
1683
  else if (v && typeof v === "object") {
@@ -1669,6 +1687,8 @@ Handle this as a priority request from a colleague.`;
1669
1687
  signingSecret: v?.signingSecret ? "***" : undefined,
1670
1688
  botToken: v?.botToken ? "***" : undefined,
1671
1689
  appToken: v?.appToken ? "***" : undefined,
1690
+ proxyViaToken: v?.proxyViaToken ? "***" : undefined,
1691
+ channelRouting: sanitizeChannelRouting(v?.channelRouting),
1672
1692
  };
1673
1693
  }
1674
1694
  else {
@@ -1865,6 +1885,7 @@ Handle this as a priority request from a colleague.`;
1865
1885
  const body = _parsed.body;
1866
1886
  // Download attachments from Discord CDN URLs to local temp
1867
1887
  const { downloadAttachment } = await import("../connectors/discord/format.js");
1888
+ const { sanitizeIncomingDiscordMeta } = await import("../connectors/discord/remote.js");
1868
1889
  const attachments = await Promise.all((body.attachments || []).map(async (att) => {
1869
1890
  if (att.url) {
1870
1891
  try {
@@ -1889,7 +1910,9 @@ Handle this as a priority request from a colleague.`;
1889
1910
  messageId: body.messageId,
1890
1911
  attachments,
1891
1912
  replyContext: body.replyContext || {},
1892
- transportMeta: body.transportMeta,
1913
+ // Boundary scrub: this endpoint carries Discord traffic — drop
1914
+ // cross-platform identity fields a forged payload might smuggle in.
1915
+ transportMeta: sanitizeIncomingDiscordMeta(body.transportMeta),
1893
1916
  raw: body,
1894
1917
  };
1895
1918
  // eslint-disable-next-line @typescript-eslint/no-explicit-any