@openclaw/googlechat 2026.5.30-beta.1 → 2026.5.31-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.
- package/README.md +11 -0
- package/dist/{actions-D5wrXGD8.js → actions-CZqDyDax.js} +1 -1
- package/dist/api.js +1 -1
- package/dist/{channel-DOyK3HP4.js → channel-DJdo8yPb.js} +29 -13
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-BNMnEtqx.js → channel.runtime-BeYlQtHv.js} +0 -1
- package/dist/contract-api.js +1 -1
- package/dist/{doctor-contract-5OTt6Vdl.js → doctor-contract-DCNyxrqR.js} +2 -2
- package/dist/doctor-contract-api.js +1 -1
- package/npm-shrinkwrap.json +3 -3
- package/package.json +6 -5
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# OpenClaw Google Chat
|
|
2
|
+
|
|
3
|
+
Official OpenClaw channel plugin for Google Chat spaces and direct messages.
|
|
4
|
+
|
|
5
|
+
Install from OpenClaw:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
openclaw plugin add @openclaw/googlechat
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Configure the Google Chat app credentials and allowed spaces in OpenClaw. The plugin lets agents receive Google Chat events and reply through the configured app.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as resolveGoogleChatAccount, o as listEnabledGoogleChatAccounts } from "./channel-base-DpPD0ef1.js";
|
|
2
2
|
import { P as getGoogleChatRuntime } from "./runtime-api-BbVoWRxq.js";
|
|
3
3
|
import { c as sendGoogleChatMessage, o as listGoogleChatReactions, r as deleteGoogleChatReaction, t as createGoogleChatReaction, u as uploadGoogleChatAttachment } from "./api-DxtI9OoY.js";
|
|
4
|
-
import { n as resolveGoogleChatOutboundSpace } from "./channel-
|
|
4
|
+
import { n as resolveGoogleChatOutboundSpace } from "./channel-DJdo8yPb.js";
|
|
5
5
|
import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
|
|
6
6
|
import { createActionGate, jsonResult, readPositiveIntegerParam, readReactionParams, readStringParam } from "openclaw/plugin-sdk/channel-actions";
|
|
7
7
|
import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
|
package/dist/api.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { a as googlechatSetupAdapter, i as googlechatSetupWizard } from "./channel-base-DpPD0ef1.js";
|
|
2
|
-
import { t as googlechatPlugin } from "./channel-
|
|
2
|
+
import { t as googlechatPlugin } from "./channel-DJdo8yPb.js";
|
|
3
3
|
export { googlechatPlugin, googlechatSetupAdapter, googlechatSetupWizard };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as resolveGoogleChatAccount, n as createGoogleChatPluginBase, r as formatGoogleChatAllowFromEntry, s as listGoogleChatAccountIds, t as GOOGLECHAT_CHANNEL_ID } from "./channel-base-DpPD0ef1.js";
|
|
2
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-BbVoWRxq.js";
|
|
3
3
|
import { a as findGoogleChatDirectMessage } from "./api-DxtI9OoY.js";
|
|
4
|
-
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-
|
|
4
|
+
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DCNyxrqR.js";
|
|
5
5
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-lCMHqumt.js";
|
|
6
6
|
import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
|
|
7
7
|
import { buildPassiveProbedChannelStatusSummary } from "openclaw/plugin-sdk/extension-shared";
|
|
@@ -89,7 +89,7 @@ function resolveGoogleChatGroupRequireMention(params) {
|
|
|
89
89
|
}
|
|
90
90
|
//#endregion
|
|
91
91
|
//#region extensions/googlechat/src/channel.adapters.ts
|
|
92
|
-
const loadGoogleChatChannelRuntime$2 = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
92
|
+
const loadGoogleChatChannelRuntime$2 = createLazyRuntimeNamedExport(() => import("./channel.runtime-BeYlQtHv.js"), "googleChatChannelRuntime");
|
|
93
93
|
function createGoogleChatSendReceipt(params) {
|
|
94
94
|
const messageId = params.messageId?.trim();
|
|
95
95
|
return createMessageReceiptFromOutboundResults({
|
|
@@ -137,14 +137,30 @@ const googlechatSecurityAdapter = {
|
|
|
137
137
|
},
|
|
138
138
|
collectWarnings: collectGoogleChatSecurityWarnings
|
|
139
139
|
};
|
|
140
|
-
const googlechatThreadingAdapter = {
|
|
141
|
-
|
|
142
|
-
cfg,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
140
|
+
const googlechatThreadingAdapter = {
|
|
141
|
+
scopedAccountReplyToMode: {
|
|
142
|
+
resolveAccount: (cfg, accountId) => resolveGoogleChatAccount({
|
|
143
|
+
cfg,
|
|
144
|
+
accountId
|
|
145
|
+
}),
|
|
146
|
+
resolveReplyToMode: (account, _chatType) => account.config.replyToMode,
|
|
147
|
+
fallback: "off"
|
|
148
|
+
},
|
|
149
|
+
buildToolContext: ({ cfg, accountId, context, hasRepliedRef }) => {
|
|
150
|
+
const currentChannelId = normalizeGoogleChatTarget(context.To);
|
|
151
|
+
const replyToId = normalizeOptionalString(context.ReplyToIdFull) ?? normalizeOptionalString(context.ReplyToId);
|
|
152
|
+
return {
|
|
153
|
+
currentChannelId,
|
|
154
|
+
currentMessageId: replyToId,
|
|
155
|
+
currentThreadTs: replyToId,
|
|
156
|
+
replyToMode: resolveGoogleChatAccount({
|
|
157
|
+
cfg,
|
|
158
|
+
accountId
|
|
159
|
+
}).config.replyToMode,
|
|
160
|
+
hasRepliedRef
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
};
|
|
148
164
|
const googlechatPairingTextAdapter = {
|
|
149
165
|
idLabel: "googlechatUserId",
|
|
150
166
|
message: PAIRING_APPROVED_MESSAGE,
|
|
@@ -330,7 +346,7 @@ const collectGoogleChatMutableAllowlistWarnings = createDangerousNameMatchingMut
|
|
|
330
346
|
});
|
|
331
347
|
//#endregion
|
|
332
348
|
//#region extensions/googlechat/src/gateway.ts
|
|
333
|
-
const loadGoogleChatChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
349
|
+
const loadGoogleChatChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./channel.runtime-BeYlQtHv.js"), "googleChatChannelRuntime");
|
|
334
350
|
async function startGoogleChatGatewayAccount(ctx) {
|
|
335
351
|
const account = ctx.account;
|
|
336
352
|
const statusSink = createAccountStatusSink({
|
|
@@ -370,7 +386,7 @@ async function startGoogleChatGatewayAccount(ctx) {
|
|
|
370
386
|
}
|
|
371
387
|
//#endregion
|
|
372
388
|
//#region extensions/googlechat/src/channel.ts
|
|
373
|
-
const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
389
|
+
const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-BeYlQtHv.js"), "googleChatChannelRuntime");
|
|
374
390
|
const googlechatActions = {
|
|
375
391
|
describeMessageTool: ({ cfg, accountId }) => {
|
|
376
392
|
const accounts = accountId ? [resolveGoogleChatAccount({
|
|
@@ -390,7 +406,7 @@ const googlechatActions = {
|
|
|
390
406
|
},
|
|
391
407
|
extractToolSend: ({ args }) => extractToolSend(args, "sendMessage"),
|
|
392
408
|
handleAction: async (ctx) => {
|
|
393
|
-
const { googlechatMessageActions } = await import("./actions-
|
|
409
|
+
const { googlechatMessageActions } = await import("./actions-CZqDyDax.js");
|
|
394
410
|
if (!googlechatMessageActions.handleAction) throw new Error("Google Chat actions are not available.");
|
|
395
411
|
return await googlechatMessageActions.handleAction(ctx);
|
|
396
412
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as googlechatPlugin } from "./channel-
|
|
1
|
+
import { t as googlechatPlugin } from "./channel-DJdo8yPb.js";
|
|
2
2
|
export { googlechatPlugin };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "./channel-base-DpPD0ef1.js";
|
|
2
1
|
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
2
|
import { c as sendGoogleChatMessage, d as verifyGoogleChatRequest, i as downloadGoogleChatMedia, l as updateGoogleChatMessage, n as deleteGoogleChatMessage, s as probeGoogleChat, u as uploadGoogleChatAttachment } from "./api-DxtI9OoY.js";
|
|
4
3
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
package/dist/contract-api.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-
|
|
1
|
+
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DCNyxrqR.js";
|
|
2
2
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-lCMHqumt.js";
|
|
3
3
|
export { collectRuntimeConfigAssignments, legacyConfigRules, normalizeCompatibilityConfig, secretTargetRegistryEntries };
|
|
@@ -6,7 +6,7 @@ function hasLegacyGoogleChatStreamMode(value) {
|
|
|
6
6
|
function hasLegacyGoogleChatGroupAllowAlias(value) {
|
|
7
7
|
const groups = asObjectRecord(asObjectRecord(value)?.groups);
|
|
8
8
|
if (!groups) return false;
|
|
9
|
-
return Object.values(groups).some((group) => Object.
|
|
9
|
+
return Object.values(groups).some((group) => Object.hasOwn(asObjectRecord(group) ?? {}, "allow"));
|
|
10
10
|
}
|
|
11
11
|
function hasLegacyAccountAliases(value, match) {
|
|
12
12
|
const accounts = asObjectRecord(value);
|
|
@@ -18,7 +18,7 @@ function normalizeGoogleChatGroups(params) {
|
|
|
18
18
|
const nextGroups = { ...params.groups };
|
|
19
19
|
for (const [groupId, groupValue] of Object.entries(params.groups)) {
|
|
20
20
|
const group = asObjectRecord(groupValue);
|
|
21
|
-
if (!group || !Object.
|
|
21
|
+
if (!group || !Object.hasOwn(group, "allow")) continue;
|
|
22
22
|
const nextGroup = { ...group };
|
|
23
23
|
if (nextGroup.enabled === void 0) {
|
|
24
24
|
nextGroup.enabled = group.allow;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-
|
|
1
|
+
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DCNyxrqR.js";
|
|
2
2
|
export { legacyConfigRules, normalizeCompatibilityConfig };
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/googlechat",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.31-beta.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/googlechat",
|
|
9
|
-
"version": "2026.5.
|
|
9
|
+
"version": "2026.5.31-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.5.
|
|
16
|
+
"openclaw": ">=2026.5.31-beta.2"
|
|
17
17
|
},
|
|
18
18
|
"peerDependenciesMeta": {
|
|
19
19
|
"openclaw": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/googlechat",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.31-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.5.
|
|
16
|
+
"openclaw": ">=2026.5.31-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.5.
|
|
74
|
+
"pluginApi": ">=2026.5.31-beta.2"
|
|
75
75
|
},
|
|
76
76
|
"build": {
|
|
77
|
-
"openclawVersion": "2026.5.
|
|
77
|
+
"openclawVersion": "2026.5.31-beta.2"
|
|
78
78
|
},
|
|
79
79
|
"release": {
|
|
80
80
|
"publishToClawHub": true,
|
|
@@ -88,7 +88,8 @@
|
|
|
88
88
|
"files": [
|
|
89
89
|
"dist/**",
|
|
90
90
|
"openclaw.plugin.json",
|
|
91
|
-
"npm-shrinkwrap.json"
|
|
91
|
+
"npm-shrinkwrap.json",
|
|
92
|
+
"README.md"
|
|
92
93
|
],
|
|
93
94
|
"bundledDependencies": [
|
|
94
95
|
"gaxios",
|