@openclaw/googlechat 2026.6.10-beta.2 → 2026.6.11-beta.2

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.
@@ -1,5 +1,5 @@
1
1
  import { l as resolveGoogleChatAccount, o as listEnabledGoogleChatAccounts } from "./channel-base-Qh87GFW_.js";
2
- import { b as uploadGoogleChatAttachment, d as resolveGoogleChatOutboundSpace, f as createGoogleChatReaction, g as listGoogleChatReactions, m as deleteGoogleChatReaction, v as sendGoogleChatMessage } from "./channel.adapters-DqnXEL1u.js";
2
+ import { b as uploadGoogleChatAttachment, d as resolveGoogleChatOutboundSpace, f as createGoogleChatReaction, g as listGoogleChatReactions, m as deleteGoogleChatReaction, v as sendGoogleChatMessage } from "./channel.adapters-52v7fTz1.js";
3
3
  import { P as getGoogleChatRuntime } from "./runtime-api-BbVoWRxq.js";
4
4
  import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
5
5
  import { createActionGate, jsonResult, readPositiveIntegerParam, readReactionParams, readStringParam } from "openclaw/plugin-sdk/channel-actions";
package/dist/api.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { a as googlechatSetupAdapter, i as googlechatSetupWizard } from "./channel-base-Qh87GFW_.js";
2
- import { t as googlechatPlugin } from "./channel-B0rUtvbH.js";
2
+ import { t as googlechatPlugin } from "./channel--yLM9x-c.js";
3
3
  export { googlechatPlugin, googlechatSetupAdapter, googlechatSetupWizard };
@@ -1,5 +1,5 @@
1
1
  import { l as resolveGoogleChatAccount } from "./channel-base-Qh87GFW_.js";
2
- import { l as isGoogleChatUserTarget, u as normalizeGoogleChatTarget } from "./channel.adapters-DqnXEL1u.js";
2
+ import { l as isGoogleChatUserTarget, u as normalizeGoogleChatTarget } from "./channel.adapters-52v7fTz1.js";
3
3
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
5
5
  //#region extensions/googlechat/src/approval-auth.ts
@@ -1,6 +1,6 @@
1
1
  import { l as resolveGoogleChatAccount } from "./channel-base-Qh87GFW_.js";
2
- import { A as registerGoogleChatManualApprovalFollowupSuppression, C as buildGoogleChatApprovalActionParameters, E as createGoogleChatApprovalToken, M as unregisterGoogleChatApprovalCardBindings, N as unregisterGoogleChatManualApprovalFollowupSuppression, S as GOOGLECHAT_APPROVAL_ACTION, d as resolveGoogleChatOutboundSpace, k as registerGoogleChatApprovalCardBinding, v as sendGoogleChatMessage, y as updateGoogleChatMessage } from "./channel.adapters-DqnXEL1u.js";
3
- import { n as isGoogleChatNativeApprovalClientEnabled, r as shouldHandleGoogleChatNativeApprovalRequest } from "./channel-B0rUtvbH.js";
2
+ import { A as registerGoogleChatManualApprovalFollowupSuppression, C as buildGoogleChatApprovalActionParameters, E as createGoogleChatApprovalToken, M as unregisterGoogleChatApprovalCardBindings, N as unregisterGoogleChatManualApprovalFollowupSuppression, S as GOOGLECHAT_APPROVAL_ACTION, d as resolveGoogleChatOutboundSpace, k as registerGoogleChatApprovalCardBinding, v as sendGoogleChatMessage, y as updateGoogleChatMessage } from "./channel.adapters-52v7fTz1.js";
3
+ import { n as isGoogleChatNativeApprovalClientEnabled, r as shouldHandleGoogleChatNativeApprovalRequest } from "./channel--yLM9x-c.js";
4
4
  import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { createChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-runtime";
@@ -1,7 +1,7 @@
1
1
  import { c as resolveDefaultGoogleChatAccountId, l as resolveGoogleChatAccount, n as createGoogleChatPluginBase, s as listGoogleChatAccountIds, t as GOOGLECHAT_CHANNEL_ID } from "./channel-base-Qh87GFW_.js";
2
- import { a as googlechatPairingTextAdapter, c as isGoogleChatSpaceTarget, i as googlechatOutboundAdapter, l as isGoogleChatUserTarget, n as googlechatGroupsAdapter, o as googlechatSecurityAdapter, r as googlechatMessageAdapter, s as googlechatThreadingAdapter, t as googlechatDirectoryAdapter, u as normalizeGoogleChatTarget } from "./channel.adapters-DqnXEL1u.js";
2
+ import { a as googlechatPairingTextAdapter, c as isGoogleChatSpaceTarget, i as googlechatOutboundAdapter, l as isGoogleChatUserTarget, n as googlechatGroupsAdapter, o as googlechatSecurityAdapter, r as googlechatMessageAdapter, s as googlechatThreadingAdapter, t as googlechatDirectoryAdapter, u as normalizeGoogleChatTarget } from "./channel.adapters-52v7fTz1.js";
3
3
  import { a as buildChannelConfigSchema, r as GoogleChatConfigSchema, t as DEFAULT_ACCOUNT_ID } from "./runtime-api-BbVoWRxq.js";
4
- import { n as googleChatApprovalAuth, r as normalizeGoogleChatApproverId, t as getGoogleChatApprovalApprovers } from "./approval-auth-C-eKNZAV.js";
4
+ import { n as googleChatApprovalAuth, r as normalizeGoogleChatApproverId, t as getGoogleChatApprovalApprovers } from "./approval-auth-DGtkzIeu.js";
5
5
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BcEqUZ4j.js";
6
6
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-lCMHqumt.js";
7
7
  import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
@@ -139,7 +139,7 @@ const googleChatApprovalCapability = createApproverRestrictedNativeApprovalCapab
139
139
  accountId,
140
140
  request
141
141
  }),
142
- load: async () => (await import("./approval-handler.runtime-DSyDDrrE.js")).googleChatApprovalNativeRuntime
142
+ load: async () => (await import("./approval-handler.runtime-DNeVigXg.js")).googleChatApprovalNativeRuntime
143
143
  })
144
144
  });
145
145
  //#endregion
@@ -181,7 +181,7 @@ const collectGoogleChatMutableAllowlistWarnings = createDangerousNameMatchingMut
181
181
  });
182
182
  //#endregion
183
183
  //#region extensions/googlechat/src/gateway.ts
184
- const loadGoogleChatChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./channel.runtime-BMM1gm2H.js"), "googleChatChannelRuntime");
184
+ const loadGoogleChatChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./channel.runtime-C8srsYCI.js"), "googleChatChannelRuntime");
185
185
  async function startGoogleChatGatewayAccount(ctx) {
186
186
  const account = ctx.account;
187
187
  const statusSink = createAccountStatusSink({
@@ -243,7 +243,7 @@ async function startGoogleChatGatewayAccount(ctx) {
243
243
  }
244
244
  //#endregion
245
245
  //#region extensions/googlechat/src/channel.ts
246
- const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-BMM1gm2H.js"), "googleChatChannelRuntime");
246
+ const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-C8srsYCI.js"), "googleChatChannelRuntime");
247
247
  const googlechatActions = {
248
248
  describeMessageTool: ({ cfg, accountId }) => {
249
249
  const accounts = accountId ? [resolveGoogleChatAccount({
@@ -263,7 +263,7 @@ const googlechatActions = {
263
263
  },
264
264
  extractToolSend: ({ args }) => extractToolSend(args, "sendMessage"),
265
265
  handleAction: async (ctx) => {
266
- const { googlechatMessageActions } = await import("./actions-CD1aBGEt.js");
266
+ const { googlechatMessageActions } = await import("./actions-D4-HMJ7C.js");
267
267
  if (!googlechatMessageActions.handleAction) throw new Error("Google Chat actions are not available.");
268
268
  return await googlechatMessageActions.handleAction(ctx);
269
269
  }
@@ -1,2 +1,2 @@
1
- import { t as googlechatPlugin } from "./channel-B0rUtvbH.js";
1
+ import { t as googlechatPlugin } from "./channel--yLM9x-c.js";
2
2
  export { googlechatPlugin };
@@ -8,6 +8,7 @@ import { parseMediaContentLength } from "openclaw/plugin-sdk/media-runtime";
8
8
  import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
9
9
  import { buildHostnameAllowlistPolicyFromSuffixAllowlist, fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
10
10
  import { createMessageReceiptFromOutboundResults, defineChannelMessageAdapter, sanitizeForPlainText } from "openclaw/plugin-sdk/channel-outbound";
11
+ import { sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
11
12
  import fs from "node:fs/promises";
12
13
  import { resolveUserPath } from "openclaw/plugin-sdk/text-utility-runtime";
13
14
  import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
@@ -842,7 +843,7 @@ function resolveGoogleChatGroupRequireMention(params) {
842
843
  }
843
844
  //#endregion
844
845
  //#region extensions/googlechat/src/channel.adapters.ts
845
- const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-BMM1gm2H.js"), "googleChatChannelRuntime");
846
+ const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-C8srsYCI.js"), "googleChatChannelRuntime");
846
847
  function createGoogleChatSendReceipt(params) {
847
848
  const messageId = params.messageId?.trim();
848
849
  return createMessageReceiptFromOutboundResults({
@@ -942,7 +943,7 @@ const googlechatOutboundAdapter = {
942
943
  chunker: chunkTextForOutbound,
943
944
  chunkerMode: "markdown",
944
945
  textChunkLimit: 4e3,
945
- sanitizeText: ({ text }) => sanitizeForPlainText(text),
946
+ sanitizeText: ({ text }) => sanitizeForPlainText(sanitizeAssistantVisibleText(text)),
946
947
  normalizePayload: ({ payload }) => shouldSuppressGoogleChatManualExecApprovalFollowupPayload(payload) ? null : payload,
947
948
  resolveTarget: ({ to }) => {
948
949
  const trimmed = normalizeOptionalString(to) ?? "";
@@ -1,6 +1,6 @@
1
- import { D as getGoogleChatApprovalCardBinding, O as readGoogleChatApprovalActionToken, T as completeGoogleChatApprovalCardBinding, _ as probeGoogleChat, b as uploadGoogleChatAttachment, h as downloadGoogleChatMedia, j as releaseGoogleChatApprovalCardBinding, p as deleteGoogleChatMessage, v as sendGoogleChatMessage, w as claimGoogleChatApprovalCardBinding, x as verifyGoogleChatRequest, y as updateGoogleChatMessage } from "./channel.adapters-DqnXEL1u.js";
1
+ import { D as getGoogleChatApprovalCardBinding, O as readGoogleChatApprovalActionToken, T as completeGoogleChatApprovalCardBinding, _ as probeGoogleChat, b as uploadGoogleChatAttachment, h as downloadGoogleChatMedia, j as releaseGoogleChatApprovalCardBinding, p as deleteGoogleChatMessage, v as sendGoogleChatMessage, w as claimGoogleChatApprovalCardBinding, x as verifyGoogleChatRequest, y as updateGoogleChatMessage } from "./channel.adapters-52v7fTz1.js";
2
2
  import { E as resolveDefaultGroupPolicy, M as warnMissingProviderGroupPolicyFallbackOnce, O as resolveInboundRouteEnvelopeBuilderWithRuntime, P as getGoogleChatRuntime, k as resolveWebhookPath, m as isDangerousNameMatchingEnabled, n as GROUP_POLICY_BLOCKED_LABEL, u as createChannelPairingController, w as resolveAllowlistProviderRuntimeGroupPolicy } from "./runtime-api-BbVoWRxq.js";
3
- import { n as googleChatApprovalAuth } from "./approval-auth-C-eKNZAV.js";
3
+ import { n as googleChatApprovalAuth } from "./approval-auth-DGtkzIeu.js";
4
4
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { mergePairLoopGuardConfig } from "openclaw/plugin-sdk/pair-loop-guard-runtime";
6
6
  import { recordChannelBotPairLoopAndCheckSuppression } from "openclaw/plugin-sdk/channel-inbound";
@@ -760,6 +760,12 @@ function resolveGoogleChatTimestampMs(eventTime) {
760
760
  const parsed = Date.parse(eventTime);
761
761
  return Number.isFinite(parsed) ? parsed : void 0;
762
762
  }
763
+ function isGoogleChatGroupSpace(space) {
764
+ const spaceType = (space.spaceType ?? "").toUpperCase();
765
+ if (spaceType === "DIRECT_MESSAGE") return false;
766
+ if (spaceType === "SPACE" || spaceType === "GROUP_CHAT") return true;
767
+ return space.singleUserBotDm !== true && (space.type ?? "").toUpperCase() !== "DM";
768
+ }
763
769
  function resolveGoogleChatBotLoopProtection(params) {
764
770
  if (!params.allowBots || !params.isBotSender || !params.senderId || params.senderId === params.appUserId) return;
765
771
  return {
@@ -823,7 +829,7 @@ async function processMessageWithPipeline(params) {
823
829
  if (!space || !message) return;
824
830
  const spaceId = space.name ?? "";
825
831
  if (!spaceId) return;
826
- const isGroup = (space.type ?? "").toUpperCase() !== "DM";
832
+ const isGroup = isGoogleChatGroupSpace(space);
827
833
  const sender = message.sender ?? event.user;
828
834
  const senderId = sender?.name ?? "";
829
835
  const senderName = sender?.displayName ?? "";
@@ -1,4 +1,4 @@
1
- import { t as googlechatDirectoryAdapter } from "./channel.adapters-DqnXEL1u.js";
1
+ import { t as googlechatDirectoryAdapter } from "./channel.adapters-52v7fTz1.js";
2
2
  //#region extensions/googlechat/directory-contract-api.ts
3
3
  const googlechatDirectoryContractPlugin = {
4
4
  id: "googlechat",
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@openclaw/googlechat",
3
- "version": "2026.6.10-beta.2",
3
+ "version": "2026.6.11-beta.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/googlechat",
9
- "version": "2026.6.10-beta.2",
9
+ "version": "2026.6.11-beta.2",
10
10
  "dependencies": {
11
11
  "gaxios": "7.1.4",
12
12
  "google-auth-library": "10.6.2",
13
13
  "zod": "4.4.3"
14
14
  },
15
15
  "peerDependencies": {
16
- "openclaw": ">=2026.6.10-beta.2"
16
+ "openclaw": ">=2026.6.11-beta.2"
17
17
  },
18
18
  "peerDependenciesMeta": {
19
19
  "openclaw": {
@@ -2,6 +2,7 @@
2
2
  "id": "googlechat",
3
3
  "name": "Google Chat",
4
4
  "description": "OpenClaw Google Chat channel plugin for spaces and direct messages.",
5
+ "icon": "https://cdn.simpleicons.org/googlechat",
5
6
  "activation": {
6
7
  "onStartup": false
7
8
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/googlechat",
3
- "version": "2026.6.10-beta.2",
3
+ "version": "2026.6.11-beta.2",
4
4
  "description": "OpenClaw Google Chat channel plugin for spaces and direct messages.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,7 +13,7 @@
13
13
  "zod": "4.4.3"
14
14
  },
15
15
  "peerDependencies": {
16
- "openclaw": ">=2026.6.10-beta.2"
16
+ "openclaw": ">=2026.6.11-beta.2"
17
17
  },
18
18
  "peerDependenciesMeta": {
19
19
  "openclaw": {
@@ -71,10 +71,10 @@
71
71
  "minHostVersion": ">=2026.4.10"
72
72
  },
73
73
  "compat": {
74
- "pluginApi": ">=2026.6.10-beta.2"
74
+ "pluginApi": ">=2026.6.11-beta.2"
75
75
  },
76
76
  "build": {
77
- "openclawVersion": "2026.6.10-beta.2"
77
+ "openclawVersion": "2026.6.11-beta.2"
78
78
  },
79
79
  "release": {
80
80
  "publishToClawHub": true,