@openclaw/googlechat 2026.5.26 → 2026.5.27

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,7 +1,7 @@
1
1
  import { o as resolveGoogleChatAccount, r as listEnabledGoogleChatAccounts } from "./setup-surface-QTAQvs5Q.js";
2
- import { P as getGoogleChatRuntime } from "./runtime-api-9L4ZPZzU.js";
3
- import { c as sendGoogleChatMessage, o as listGoogleChatReactions, r as deleteGoogleChatReaction, t as createGoogleChatReaction, u as uploadGoogleChatAttachment } from "./api-BV2Sx72m.js";
4
- import { n as resolveGoogleChatOutboundSpace } from "./channel-DoWBSTf6.js";
2
+ import { P as getGoogleChatRuntime } from "./runtime-api-D9fR2pgw.js";
3
+ import { c as sendGoogleChatMessage, o as listGoogleChatReactions, r as deleteGoogleChatReaction, t as createGoogleChatReaction, u as uploadGoogleChatAttachment } from "./api-DgSuIblV.js";
4
+ import { n as resolveGoogleChatOutboundSpace } from "./channel-CBSCmvK0.js";
5
5
  import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
6
6
  import { createActionGate, jsonResult, readNumberParam, readReactionParams, readStringParam } from "openclaw/plugin-sdk/channel-actions";
7
7
  import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
@@ -1,4 +1,4 @@
1
- import { p as fetchWithSsrFGuard$1 } from "./runtime-api-9L4ZPZzU.js";
1
+ import { p as fetchWithSsrFGuard$1 } from "./runtime-api-D9fR2pgw.js";
2
2
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import crypto from "node:crypto";
4
4
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
package/dist/api.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { n as googlechatSetupAdapter, t as googlechatSetupWizard } from "./setup-surface-QTAQvs5Q.js";
2
- import { t as googlechatPlugin } from "./channel-DoWBSTf6.js";
2
+ import { t as googlechatPlugin } from "./channel-CBSCmvK0.js";
3
3
  export { googlechatPlugin, googlechatSetupAdapter, googlechatSetupWizard };
@@ -1,6 +1,6 @@
1
1
  import { a as resolveDefaultGoogleChatAccountId, i as listGoogleChatAccountIds, n as googlechatSetupAdapter, o as resolveGoogleChatAccount, s as resolveGoogleChatConfigAccessorAccount, t as googlechatSetupWizard } from "./setup-surface-QTAQvs5Q.js";
2
- import { T as resolveChannelMediaMaxBytes, _ as missingTargetError, a as buildChannelConfigSchema, g as loadOutboundMediaFromUrl, i as PAIRING_APPROVED_MESSAGE, o as chunkTextForOutbound, r as GoogleChatConfigSchema, t as DEFAULT_ACCOUNT_ID, x as readRemoteMediaBuffer } from "./runtime-api-9L4ZPZzU.js";
3
- import { a as findGoogleChatDirectMessage } from "./api-BV2Sx72m.js";
2
+ import { T as resolveChannelMediaMaxBytes, _ as missingTargetError, a as buildChannelConfigSchema, g as loadOutboundMediaFromUrl, i as PAIRING_APPROVED_MESSAGE, o as chunkTextForOutbound, r as GoogleChatConfigSchema, t as DEFAULT_ACCOUNT_ID, x as readRemoteMediaBuffer } from "./runtime-api-D9fR2pgw.js";
3
+ import { a as findGoogleChatDirectMessage } from "./api-DgSuIblV.js";
4
4
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-5OTt6Vdl.js";
5
5
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-lCMHqumt.js";
6
6
  import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
@@ -13,11 +13,9 @@ import { createComputedAccountStatusAdapter, createDefaultChannelRuntimeState }
13
13
  import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
14
14
  import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
15
15
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
16
- import { createAccountStatusSink, runPassiveAccountLifecycle } from "openclaw/plugin-sdk/channel-lifecycle";
17
- import { createMessageReceiptFromOutboundResults, defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-message";
16
+ import { createAccountStatusSink, createMessageReceiptFromOutboundResults, defineChannelMessageAdapter, runPassiveAccountLifecycle, sanitizeForPlainText } from "openclaw/plugin-sdk/channel-outbound";
18
17
  import { composeAccountWarningCollectors, createAllowlistProviderOpenWarningCollector, createDangerousNameMatchingMutableAllowlistWarningCollector, resolveChannelGroupRequireMention } from "openclaw/plugin-sdk/channel-policy";
19
18
  import { createChannelDirectoryAdapter, listResolvedDirectoryGroupEntriesFromMapKeys, listResolvedDirectoryUserEntriesFromAllowFrom } from "openclaw/plugin-sdk/directory-runtime";
20
- import { sanitizeForPlainText } from "openclaw/plugin-sdk/outbound-runtime";
21
19
  //#region extensions/googlechat/src/targets.ts
22
20
  function normalizeGoogleChatTarget(raw) {
23
21
  const trimmed = raw?.trim();
@@ -93,7 +91,7 @@ function resolveGoogleChatGroupRequireMention(params) {
93
91
  }
94
92
  //#endregion
95
93
  //#region extensions/googlechat/src/channel.adapters.ts
96
- const loadGoogleChatChannelRuntime$2 = createLazyRuntimeNamedExport(() => import("./channel.runtime-Cg1oVOPT.js"), "googleChatChannelRuntime");
94
+ const loadGoogleChatChannelRuntime$2 = createLazyRuntimeNamedExport(() => import("./channel.runtime-CpUsW_mu.js"), "googleChatChannelRuntime");
97
95
  function createGoogleChatSendReceipt(params) {
98
96
  const messageId = params.messageId?.trim();
99
97
  return createMessageReceiptFromOutboundResults({
@@ -334,7 +332,7 @@ const collectGoogleChatMutableAllowlistWarnings = createDangerousNameMatchingMut
334
332
  });
335
333
  //#endregion
336
334
  //#region extensions/googlechat/src/gateway.ts
337
- const loadGoogleChatChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./channel.runtime-Cg1oVOPT.js"), "googleChatChannelRuntime");
335
+ const loadGoogleChatChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./channel.runtime-CpUsW_mu.js"), "googleChatChannelRuntime");
338
336
  async function startGoogleChatGatewayAccount(ctx) {
339
337
  const account = ctx.account;
340
338
  const statusSink = createAccountStatusSink({
@@ -374,7 +372,7 @@ async function startGoogleChatGatewayAccount(ctx) {
374
372
  }
375
373
  //#endregion
376
374
  //#region extensions/googlechat/src/channel.ts
377
- const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-Cg1oVOPT.js"), "googleChatChannelRuntime");
375
+ const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-CpUsW_mu.js"), "googleChatChannelRuntime");
378
376
  const meta = {
379
377
  id: "googlechat",
380
378
  label: "Google Chat",
@@ -430,7 +428,7 @@ const googlechatActions = {
430
428
  },
431
429
  extractToolSend: ({ args }) => extractToolSend(args, "sendMessage"),
432
430
  handleAction: async (ctx) => {
433
- const { googlechatMessageActions } = await import("./actions-BJ9RG7Bi.js");
431
+ const { googlechatMessageActions } = await import("./actions-CConoSaR.js");
434
432
  if (!googlechatMessageActions.handleAction) throw new Error("Google Chat actions are not available.");
435
433
  return await googlechatMessageActions.handleAction(ctx);
436
434
  }
@@ -1,2 +1,2 @@
1
- import { t as googlechatPlugin } from "./channel-DoWBSTf6.js";
1
+ import { t as googlechatPlugin } from "./channel-CBSCmvK0.js";
2
2
  export { googlechatPlugin };
@@ -1,12 +1,12 @@
1
1
  import "./setup-surface-QTAQvs5Q.js";
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-9L4ZPZzU.js";
3
- import { c as sendGoogleChatMessage, d as verifyGoogleChatRequest, i as downloadGoogleChatMedia, l as updateGoogleChatMessage, n as deleteGoogleChatMessage, s as probeGoogleChat, u as uploadGoogleChatAttachment } from "./api-BV2Sx72m.js";
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-D9fR2pgw.js";
3
+ import { c as sendGoogleChatMessage, d as verifyGoogleChatRequest, i as downloadGoogleChatMedia, l as updateGoogleChatMessage, n as deleteGoogleChatMessage, s as probeGoogleChat, u as uploadGoogleChatAttachment } from "./api-DgSuIblV.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
+ import { recordChannelBotPairLoopAndCheckSuppression } from "openclaw/plugin-sdk/channel-inbound";
6
7
  import { WEBHOOK_RATE_LIMIT_DEFAULTS, createFixedWindowRateLimiter, normalizeWebhookPath, resolveRequestClientIp } from "openclaw/plugin-sdk/webhook-ingress";
7
8
  import { registerWebhookTargetWithPluginRoute, resolveWebhookTargetWithAuthOrReject, withResolvedWebhookRequestPipeline } from "openclaw/plugin-sdk/webhook-targets";
8
9
  import { createWebhookInFlightLimiter, readJsonWebhookBodyOrReject } from "openclaw/plugin-sdk/webhook-request-guards";
9
- import { recordChannelBotPairLoopAndCheckSuppression } from "openclaw/plugin-sdk/inbound-reply-dispatch";
10
10
  import { channelIngressRoutes, createChannelIngressResolver, defineStableChannelIngressIdentity } from "openclaw/plugin-sdk/channel-ingress-runtime";
11
11
  import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
12
12
  //#region extensions/googlechat/src/monitor-access.ts
@@ -795,7 +795,8 @@ async function processMessageWithPipeline(params) {
795
795
  timestamp: event.eventTime ? Date.parse(event.eventTime) : void 0,
796
796
  body: rawBody
797
797
  });
798
- const ctxPayload = core.channel.turn.buildContext({
798
+ const replyThreadName = isGroup ? message.thread?.name : void 0;
799
+ const ctxPayload = core.channel.inbound.buildContext({
799
800
  channel: "googlechat",
800
801
  accountId: route.accountId,
801
802
  messageId: message.name,
@@ -810,11 +811,7 @@ async function processMessageWithPipeline(params) {
810
811
  conversation: {
811
812
  kind: isGroup ? "channel" : "direct",
812
813
  id: spaceId,
813
- label: fromLabel,
814
- routePeer: {
815
- kind: isGroup ? "group" : "direct",
816
- id: spaceId
817
- }
814
+ label: fromLabel
818
815
  },
819
816
  route: {
820
817
  agentId: route.agentId,
@@ -824,15 +821,14 @@ async function processMessageWithPipeline(params) {
824
821
  reply: {
825
822
  to: `googlechat:${spaceId}`,
826
823
  originatingTo: `googlechat:${spaceId}`,
827
- replyToId: message.thread?.name,
828
- replyToIdFull: message.thread?.name
824
+ replyToId: replyThreadName,
825
+ replyToIdFull: replyThreadName
829
826
  },
830
827
  message: {
831
828
  body,
832
829
  bodyForAgent: rawBody,
833
830
  rawBody,
834
- commandBody: rawBody,
835
- envelopeFrom: fromLabel
831
+ commandBody: rawBody
836
832
  },
837
833
  media: mediaPath || mediaType ? [{
838
834
  path: mediaPath,
@@ -863,12 +859,12 @@ async function processMessageWithPipeline(params) {
863
859
  agentId: route.agentId,
864
860
  config
865
861
  })} is typing..._`,
866
- thread: message.thread?.name
862
+ thread: replyThreadName
867
863
  }))?.messageName;
868
864
  } catch (err) {
869
865
  runtime.error?.(`Failed sending typing message: ${String(err)}`);
870
866
  }
871
- await core.channel.turn.run({
867
+ await core.channel.inbound.run({
872
868
  channel: "googlechat",
873
869
  accountId: route.accountId,
874
870
  raw: message,
@@ -4,9 +4,8 @@ import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
4
4
  import { createActionGate as createActionGate$1, jsonResult as jsonResult$1, readNumberParam as readNumberParam$1, readReactionParams as readReactionParams$1, readStringParam as readStringParam$1 } from "openclaw/plugin-sdk/channel-actions";
5
5
  import { buildChannelConfigSchema } from "openclaw/plugin-sdk/channel-config-primitives";
6
6
  import { missingTargetError } from "openclaw/plugin-sdk/channel-feedback";
7
- import { createAccountStatusSink as createAccountStatusSink$1, runPassiveAccountLifecycle as runPassiveAccountLifecycle$1 } from "openclaw/plugin-sdk/channel-lifecycle";
7
+ import { createAccountStatusSink as createAccountStatusSink$1, createChannelMessageReplyPipeline, runPassiveAccountLifecycle as runPassiveAccountLifecycle$1 } from "openclaw/plugin-sdk/channel-outbound";
8
8
  import { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing";
9
- import { createChannelMessageReplyPipeline } from "openclaw/plugin-sdk/channel-message";
10
9
  import { PAIRING_APPROVED_MESSAGE } from "openclaw/plugin-sdk/channel-status";
11
10
  import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
12
11
  import { GoogleChatConfigSchema } from "openclaw/plugin-sdk/bundled-channel-config-schema";
@@ -1,2 +1,2 @@
1
- import { A as resolveWebhookTargetWithAuthOrReject, C as registerWebhookTargetWithPluginRoute, D as resolveInboundMentionDecision, E as resolveDefaultGroupPolicy, F as setGoogleChatRuntime, M as warnMissingProviderGroupPolicyFallbackOnce, N as withResolvedWebhookRequestPipeline, O as resolveInboundRouteEnvelopeBuilderWithRuntime, S as readStringParam, T as resolveChannelMediaMaxBytes, _ as missingTargetError, a as buildChannelConfigSchema, b as readReactionParams, c as createActionGate, d as createWebhookInFlightLimiter, f as extractToolSend, g as loadOutboundMediaFromUrl, h as jsonResult, i as PAIRING_APPROVED_MESSAGE, j as runPassiveAccountLifecycle, k as resolveWebhookPath, l as createChannelMessageReplyPipeline, m as isDangerousNameMatchingEnabled, n as GROUP_POLICY_BLOCKED_LABEL, o as chunkTextForOutbound, p as fetchWithSsrFGuard, r as GoogleChatConfigSchema, s as createAccountStatusSink, t as DEFAULT_ACCOUNT_ID, u as createChannelPairingController, v as readJsonWebhookBodyOrReject, w as resolveAllowlistProviderRuntimeGroupPolicy, x as readRemoteMediaBuffer, y as readNumberParam } from "./runtime-api-9L4ZPZzU.js";
1
+ import { A as resolveWebhookTargetWithAuthOrReject, C as registerWebhookTargetWithPluginRoute, D as resolveInboundMentionDecision, E as resolveDefaultGroupPolicy, F as setGoogleChatRuntime, M as warnMissingProviderGroupPolicyFallbackOnce, N as withResolvedWebhookRequestPipeline, O as resolveInboundRouteEnvelopeBuilderWithRuntime, S as readStringParam, T as resolveChannelMediaMaxBytes, _ as missingTargetError, a as buildChannelConfigSchema, b as readReactionParams, c as createActionGate, d as createWebhookInFlightLimiter, f as extractToolSend, g as loadOutboundMediaFromUrl, h as jsonResult, i as PAIRING_APPROVED_MESSAGE, j as runPassiveAccountLifecycle, k as resolveWebhookPath, l as createChannelMessageReplyPipeline, m as isDangerousNameMatchingEnabled, n as GROUP_POLICY_BLOCKED_LABEL, o as chunkTextForOutbound, p as fetchWithSsrFGuard, r as GoogleChatConfigSchema, s as createAccountStatusSink, t as DEFAULT_ACCOUNT_ID, u as createChannelPairingController, v as readJsonWebhookBodyOrReject, w as resolveAllowlistProviderRuntimeGroupPolicy, x as readRemoteMediaBuffer, y as readNumberParam } from "./runtime-api-D9fR2pgw.js";
2
2
  export { DEFAULT_ACCOUNT_ID, GROUP_POLICY_BLOCKED_LABEL, GoogleChatConfigSchema, PAIRING_APPROVED_MESSAGE, buildChannelConfigSchema, chunkTextForOutbound, createAccountStatusSink, createActionGate, createChannelMessageReplyPipeline, createChannelPairingController, createWebhookInFlightLimiter, extractToolSend, fetchWithSsrFGuard, isDangerousNameMatchingEnabled, jsonResult, loadOutboundMediaFromUrl, missingTargetError, readJsonWebhookBodyOrReject, readNumberParam, readReactionParams, readRemoteMediaBuffer, readStringParam, registerWebhookTargetWithPluginRoute, resolveAllowlistProviderRuntimeGroupPolicy, resolveChannelMediaMaxBytes, resolveDefaultGroupPolicy, resolveInboundMentionDecision, resolveInboundRouteEnvelopeBuilderWithRuntime, resolveWebhookPath, resolveWebhookTargetWithAuthOrReject, runPassiveAccountLifecycle, setGoogleChatRuntime, warnMissingProviderGroupPolicyFallbackOnce, withResolvedWebhookRequestPipeline };
package/dist/test-api.js CHANGED
@@ -1,3 +1,3 @@
1
- import { F as setGoogleChatRuntime } from "./runtime-api-9L4ZPZzU.js";
2
- import { t as googlechatPlugin } from "./channel-DoWBSTf6.js";
1
+ import { F as setGoogleChatRuntime } from "./runtime-api-D9fR2pgw.js";
2
+ import { t as googlechatPlugin } from "./channel-CBSCmvK0.js";
3
3
  export { googlechatPlugin, setGoogleChatRuntime };
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@openclaw/googlechat",
3
- "version": "2026.5.26",
3
+ "version": "2026.5.27",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/googlechat",
9
- "version": "2026.5.26",
9
+ "version": "2026.5.27",
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.5.26"
16
+ "openclaw": ">=2026.5.27"
17
17
  },
18
18
  "peerDependenciesMeta": {
19
19
  "openclaw": {
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "id": "googlechat",
3
+ "name": "Google Chat",
4
+ "description": "OpenClaw Google Chat channel plugin for spaces and direct messages.",
3
5
  "activation": {
4
6
  "onStartup": false
5
7
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openclaw/googlechat",
3
- "version": "2026.5.26",
4
- "description": "OpenClaw Google Chat channel plugin",
3
+ "version": "2026.5.27",
4
+ "description": "OpenClaw Google Chat channel plugin for spaces and direct messages.",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/openclaw/openclaw"
@@ -13,7 +13,7 @@
13
13
  "zod": "4.4.3"
14
14
  },
15
15
  "peerDependencies": {
16
- "openclaw": ">=2026.5.26"
16
+ "openclaw": ">=2026.5.27"
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.5.26"
74
+ "pluginApi": ">=2026.5.27"
75
75
  },
76
76
  "build": {
77
- "openclawVersion": "2026.5.26"
77
+ "openclawVersion": "2026.5.27"
78
78
  },
79
79
  "release": {
80
80
  "publishToClawHub": true,