diff --git a/CHANGELOG.md b/CHANGELOG.md index 559afe74b..2444e1447 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ Docs: https://docs.clawd.bot - macOS: default direct-transport `ws://` URLs to port 18789; document `gateway.remote.transport`. (#1603) Thanks @ngutman. - Voice Call: return stream TwiML for outbound conversation calls on initial Twilio webhook. (#1634) - Google Chat: tighten email allowlist matching, typing cleanup, media caps, and onboarding/docs/tests. (#1635) Thanks @iHildy. +- Google Chat: normalize space targets without double `spaces/` prefix. ## 2026.1.23-1 diff --git a/extensions/googlechat/src/targets.ts b/extensions/googlechat/src/targets.ts index 58df49484..a294bf128 100644 --- a/extensions/googlechat/src/targets.ts +++ b/extensions/googlechat/src/targets.ts @@ -6,8 +6,8 @@ export function normalizeGoogleChatTarget(raw?: string | null): string | undefin if (!trimmed) return undefined; const withoutPrefix = trimmed.replace(/^(googlechat|google-chat|gchat):/i, ""); const normalized = withoutPrefix - .replace(/^user:/i, "users/") - .replace(/^space:/i, "spaces/"); + .replace(/^user:(users\/)?/i, "users/") + .replace(/^space:(spaces\/)?/i, "spaces/"); if (isGoogleChatUserTarget(normalized)) { const suffix = normalized.slice("users/".length); return suffix.includes("@") ? `users/${suffix.toLowerCase()}` : normalized; diff --git a/src/channels/plugins/group-mentions.ts b/src/channels/plugins/group-mentions.ts index b15ce1b07..9d254e57a 100644 --- a/src/channels/plugins/group-mentions.ts +++ b/src/channels/plugins/group-mentions.ts @@ -164,6 +164,17 @@ export function resolveGoogleChatGroupRequireMention(params: GroupMentionParams) }); } +export function resolveGoogleChatGroupToolPolicy( + params: GroupMentionParams, +): GroupToolPolicyConfig | undefined { + return resolveChannelGroupToolsPolicy({ + cfg: params.cfg, + channel: "googlechat", + groupId: params.groupId, + accountId: params.accountId, + }); +} + export function resolveSlackGroupRequireMention(params: GroupMentionParams): boolean { const account = resolveSlackAccount({ cfg: params.cfg, diff --git a/src/plugin-sdk/index.ts b/src/plugin-sdk/index.ts index 8e08dad25..f40d99d82 100644 --- a/src/plugin-sdk/index.ts +++ b/src/plugin-sdk/index.ts @@ -154,6 +154,7 @@ export { resolveWhatsAppGroupRequireMention, resolveBlueBubblesGroupToolPolicy, resolveDiscordGroupToolPolicy, + resolveGoogleChatGroupToolPolicy, resolveIMessageGroupToolPolicy, resolveSlackGroupToolPolicy, resolveTelegramGroupToolPolicy,