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; }