diff --git a/extensions/google-meet/index.test.ts b/extensions/google-meet/index.test.ts index 1439cc89e49..fb6a164cf4a 100644 --- a/extensions/google-meet/index.test.ts +++ b/extensions/google-meet/index.test.ts @@ -2052,10 +2052,13 @@ describe("google-meet plugin", () => { expect.objectContaining({ messageProvider: "google-meet", agentId: "jay", + sessionKey: "agent:jay:google-meet:meet-1", + sandboxSessionKey: "agent:jay:google-meet:meet-1", thinkLevel: "high", toolsAllow: ["read", "web_search", "web_fetch", "x_search", "memory_search", "memory_get"], }), ); + expect(sessionStore).toHaveProperty("agent:jay:google-meet:meet-1"); await handle.stop(); expect(bridge.close).toHaveBeenCalled(); diff --git a/extensions/google-meet/src/agent-consult.ts b/extensions/google-meet/src/agent-consult.ts index 20b7692da36..80b3e78b023 100644 --- a/extensions/google-meet/src/agent-consult.ts +++ b/extensions/google-meet/src/agent-consult.ts @@ -8,6 +8,7 @@ import { resolveRealtimeVoiceAgentConsultToolsAllow, type RealtimeVoiceTool, } from "openclaw/plugin-sdk/realtime-voice"; +import { normalizeAgentId } from "openclaw/plugin-sdk/routing"; import type { GoogleMeetConfig, GoogleMeetToolPolicy } from "./config.js"; export const GOOGLE_MEET_AGENT_CONSULT_TOOL_NAME = REALTIME_VOICE_AGENT_CONSULT_TOOL_NAME; @@ -26,12 +27,14 @@ export async function consultOpenClawAgentForGoogleMeet(params: { args: unknown; transcript: Array<{ role: "user" | "assistant"; text: string }>; }): Promise<{ text: string }> { + const agentId = normalizeAgentId(params.config.realtime.agentId); + const sessionKey = `agent:${agentId}:google-meet:${params.meetingSessionId}`; return await consultRealtimeVoiceAgent({ cfg: params.fullConfig, agentRuntime: params.runtime.agent, logger: params.logger, - agentId: params.config.realtime.agentId, - sessionKey: `google-meet:${params.meetingSessionId}`, + agentId, + sessionKey, messageProvider: "google-meet", lane: "google-meet", runIdPrefix: `google-meet:${params.meetingSessionId}`,