From 9aba8422ca8d4396e0b7735a1ecfcebdb5cdfe2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=82=96=E7=84=B6?= Date: Sat, 28 Feb 2026 01:47:16 +0800 Subject: [PATCH] fix(discord): accept cid in agent component interactions --- src/discord/monitor/agent-components.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/discord/monitor/agent-components.ts b/src/discord/monitor/agent-components.ts index 1c2a3cbe086..22f4fc90562 100644 --- a/src/discord/monitor/agent-components.ts +++ b/src/discord/monitor/agent-components.ts @@ -414,12 +414,22 @@ function parseAgentComponentData(data: ComponentData): { if (!data || typeof data !== "object") { return null; } + + // Carbon parses "key:componentId=xxx" into { componentId: "xxx" } + // Components v2 / other builders may use { cid: "xxx" } (e.g. occomp:cid=xxx). + const raw = + ("cid" in data + ? (data as Record).cid + : (data as Record).componentId) ?? + (data as Record).componentId; + const componentId = - typeof data.componentId === "string" - ? decodeURIComponent(data.componentId) - : typeof data.componentId === "number" - ? String(data.componentId) + typeof raw === "string" + ? decodeURIComponent(raw) + : typeof raw === "number" + ? String(raw) : null; + if (!componentId) { return null; }