@openclaw/googlechat 2026.5.28 → 2026.5.30-beta.1
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/dist/{actions-uM31ILpT.js → actions-D5wrXGD8.js} +2 -2
- package/dist/api.js +2 -2
- package/dist/{channel-CgcjzaOf.js → channel-DOyK3HP4.js} +10 -78
- package/dist/{setup-surface-QTAQvs5Q.js → channel-base-DpPD0ef1.js} +80 -2
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-Ds0MRKqf.js → channel.runtime-BNMnEtqx.js} +1 -1
- package/dist/setup-plugin-api.js +2 -72
- package/npm-shrinkwrap.json +3 -3
- package/package.json +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
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-DOyK3HP4.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
|
-
import {
|
|
2
|
-
import { t as googlechatPlugin } from "./channel-
|
|
1
|
+
import { a as googlechatSetupAdapter, i as googlechatSetupWizard } from "./channel-base-DpPD0ef1.js";
|
|
2
|
+
import { t as googlechatPlugin } from "./channel-DOyK3HP4.js";
|
|
3
3
|
export { googlechatPlugin, googlechatSetupAdapter, googlechatSetupWizard };
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import {
|
|
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
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
|
-
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
7
|
-
import { formatNormalizedAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
|
|
8
|
-
import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
9
6
|
import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
|
|
10
7
|
import { buildPassiveProbedChannelStatusSummary } from "openclaw/plugin-sdk/extension-shared";
|
|
11
8
|
import { createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
|
|
@@ -14,6 +11,7 @@ import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
|
|
|
14
11
|
import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
|
|
15
12
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
16
13
|
import { createAccountStatusSink, createMessageReceiptFromOutboundResults, defineChannelMessageAdapter, runPassiveAccountLifecycle, sanitizeForPlainText } from "openclaw/plugin-sdk/channel-outbound";
|
|
14
|
+
import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
17
15
|
import { composeAccountWarningCollectors, createAllowlistProviderOpenWarningCollector, createDangerousNameMatchingMutableAllowlistWarningCollector, resolveChannelGroupRequireMention } from "openclaw/plugin-sdk/channel-policy";
|
|
18
16
|
import { createChannelDirectoryAdapter, listResolvedDirectoryGroupEntriesFromMapKeys, listResolvedDirectoryUserEntriesFromAllowFrom } from "openclaw/plugin-sdk/directory-runtime";
|
|
19
17
|
//#region extensions/googlechat/src/targets.ts
|
|
@@ -91,7 +89,7 @@ function resolveGoogleChatGroupRequireMention(params) {
|
|
|
91
89
|
}
|
|
92
90
|
//#endregion
|
|
93
91
|
//#region extensions/googlechat/src/channel.adapters.ts
|
|
94
|
-
const loadGoogleChatChannelRuntime$2 = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
92
|
+
const loadGoogleChatChannelRuntime$2 = createLazyRuntimeNamedExport(() => import("./channel.runtime-BNMnEtqx.js"), "googleChatChannelRuntime");
|
|
95
93
|
function createGoogleChatSendReceipt(params) {
|
|
96
94
|
const messageId = params.messageId?.trim();
|
|
97
95
|
return createMessageReceiptFromOutboundResults({
|
|
@@ -105,7 +103,7 @@ function createGoogleChatSendReceipt(params) {
|
|
|
105
103
|
kind: params.kind
|
|
106
104
|
});
|
|
107
105
|
}
|
|
108
|
-
const formatAllowFromEntry =
|
|
106
|
+
const formatAllowFromEntry = formatGoogleChatAllowFromEntry;
|
|
109
107
|
const collectGoogleChatSecurityWarnings = composeAccountWarningCollectors(createAllowlistProviderOpenWarningCollector({
|
|
110
108
|
providerConfigPresent: (cfg) => cfg.channels?.googlechat !== void 0,
|
|
111
109
|
resolveGroupPolicy: (account) => account.config.groupPolicy,
|
|
@@ -332,7 +330,7 @@ const collectGoogleChatMutableAllowlistWarnings = createDangerousNameMatchingMut
|
|
|
332
330
|
});
|
|
333
331
|
//#endregion
|
|
334
332
|
//#region extensions/googlechat/src/gateway.ts
|
|
335
|
-
const loadGoogleChatChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
333
|
+
const loadGoogleChatChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./channel.runtime-BNMnEtqx.js"), "googleChatChannelRuntime");
|
|
336
334
|
async function startGoogleChatGatewayAccount(ctx) {
|
|
337
335
|
const account = ctx.account;
|
|
338
336
|
const statusSink = createAccountStatusSink({
|
|
@@ -372,43 +370,7 @@ async function startGoogleChatGatewayAccount(ctx) {
|
|
|
372
370
|
}
|
|
373
371
|
//#endregion
|
|
374
372
|
//#region extensions/googlechat/src/channel.ts
|
|
375
|
-
const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
376
|
-
const meta = {
|
|
377
|
-
id: "googlechat",
|
|
378
|
-
label: "Google Chat",
|
|
379
|
-
selectionLabel: "Google Chat (Chat API)",
|
|
380
|
-
docsPath: "/channels/googlechat",
|
|
381
|
-
docsLabel: "googlechat",
|
|
382
|
-
blurb: "Google Workspace Chat app with HTTP webhook.",
|
|
383
|
-
aliases: ["gchat", "google-chat"],
|
|
384
|
-
order: 55,
|
|
385
|
-
detailLabel: "Google Chat",
|
|
386
|
-
systemImage: "message.badge",
|
|
387
|
-
markdownCapable: true
|
|
388
|
-
};
|
|
389
|
-
const googleChatConfigAdapter = createScopedChannelConfigAdapter({
|
|
390
|
-
sectionKey: "googlechat",
|
|
391
|
-
listAccountIds: listGoogleChatAccountIds,
|
|
392
|
-
resolveAccount: adaptScopedAccountAccessor(resolveGoogleChatAccount),
|
|
393
|
-
resolveAccessorAccount: resolveGoogleChatConfigAccessorAccount,
|
|
394
|
-
defaultAccountId: resolveDefaultGoogleChatAccountId,
|
|
395
|
-
clearBaseFields: [
|
|
396
|
-
"serviceAccount",
|
|
397
|
-
"serviceAccountFile",
|
|
398
|
-
"audienceType",
|
|
399
|
-
"audience",
|
|
400
|
-
"webhookPath",
|
|
401
|
-
"webhookUrl",
|
|
402
|
-
"botUser",
|
|
403
|
-
"name"
|
|
404
|
-
],
|
|
405
|
-
resolveAllowFrom: (account) => account.config.dm?.allowFrom,
|
|
406
|
-
formatAllowFrom: (allowFrom) => formatNormalizedAllowFromEntries({
|
|
407
|
-
allowFrom,
|
|
408
|
-
normalizeEntry: formatAllowFromEntry
|
|
409
|
-
}),
|
|
410
|
-
resolveDefaultTo: (account) => account.config.defaultTo
|
|
411
|
-
});
|
|
373
|
+
const loadGoogleChatChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-BNMnEtqx.js"), "googleChatChannelRuntime");
|
|
412
374
|
const googlechatActions = {
|
|
413
375
|
describeMessageTool: ({ cfg, accountId }) => {
|
|
414
376
|
const accounts = accountId ? [resolveGoogleChatAccount({
|
|
@@ -428,44 +390,14 @@ const googlechatActions = {
|
|
|
428
390
|
},
|
|
429
391
|
extractToolSend: ({ args }) => extractToolSend(args, "sendMessage"),
|
|
430
392
|
handleAction: async (ctx) => {
|
|
431
|
-
const { googlechatMessageActions } = await import("./actions-
|
|
393
|
+
const { googlechatMessageActions } = await import("./actions-D5wrXGD8.js");
|
|
432
394
|
if (!googlechatMessageActions.handleAction) throw new Error("Google Chat actions are not available.");
|
|
433
395
|
return await googlechatMessageActions.handleAction(ctx);
|
|
434
396
|
}
|
|
435
397
|
};
|
|
436
398
|
const googlechatPlugin = createChatChannelPlugin({
|
|
437
399
|
base: {
|
|
438
|
-
|
|
439
|
-
meta: { ...meta },
|
|
440
|
-
setup: googlechatSetupAdapter,
|
|
441
|
-
setupWizard: googlechatSetupWizard,
|
|
442
|
-
capabilities: {
|
|
443
|
-
chatTypes: [
|
|
444
|
-
"direct",
|
|
445
|
-
"group",
|
|
446
|
-
"thread"
|
|
447
|
-
],
|
|
448
|
-
reactions: true,
|
|
449
|
-
threads: true,
|
|
450
|
-
media: true,
|
|
451
|
-
nativeCommands: false,
|
|
452
|
-
blockStreaming: true
|
|
453
|
-
},
|
|
454
|
-
streaming: { blockStreamingCoalesceDefaults: {
|
|
455
|
-
minChars: 1500,
|
|
456
|
-
idleMs: 1e3
|
|
457
|
-
} },
|
|
458
|
-
reload: { configPrefixes: ["channels.googlechat"] },
|
|
459
|
-
configSchema: buildChannelConfigSchema(GoogleChatConfigSchema),
|
|
460
|
-
config: {
|
|
461
|
-
...googleChatConfigAdapter,
|
|
462
|
-
isConfigured: (account) => account.credentialSource !== "none",
|
|
463
|
-
describeAccount: (account) => describeAccountSnapshot({
|
|
464
|
-
account,
|
|
465
|
-
configured: account.credentialSource !== "none",
|
|
466
|
-
extra: { credentialSource: account.credentialSource }
|
|
467
|
-
})
|
|
468
|
-
},
|
|
400
|
+
...createGoogleChatPluginBase({ configSchema: buildChannelConfigSchema(GoogleChatConfigSchema) }),
|
|
469
401
|
approvalCapability: googleChatApprovalAuth,
|
|
470
402
|
secrets: {
|
|
471
403
|
secretTargetRegistryEntries,
|
|
@@ -533,14 +465,14 @@ const googlechatPlugin = createChatChannelPlugin({
|
|
|
533
465
|
if (!enabled || !configured) return [];
|
|
534
466
|
const issues = [];
|
|
535
467
|
if (!entry.audience) issues.push({
|
|
536
|
-
channel:
|
|
468
|
+
channel: GOOGLECHAT_CHANNEL_ID,
|
|
537
469
|
accountId,
|
|
538
470
|
kind: "config",
|
|
539
471
|
message: "Google Chat audience is missing (set channels.googlechat.audience).",
|
|
540
472
|
fix: "Set channels.googlechat.audienceType and channels.googlechat.audience."
|
|
541
473
|
});
|
|
542
474
|
if (!entry.audienceType) issues.push({
|
|
543
|
-
channel:
|
|
475
|
+
channel: GOOGLECHAT_CHANNEL_ID,
|
|
544
476
|
accountId,
|
|
545
477
|
kind: "config",
|
|
546
478
|
message: "Google Chat audienceType is missing (app-url or project-number).",
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { safeParseJsonWithSchema, safeParseWithSchema } from "openclaw/plugin-sdk/extension-shared";
|
|
2
|
-
import { normalizeOptionalString, normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
|
+
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { DEFAULT_ACCOUNT_ID, createAccountListHelpers, normalizeAccountId, resolveAccountEntry, resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-resolution";
|
|
4
4
|
import { mergePairLoopGuardConfig } from "openclaw/plugin-sdk/pair-loop-guard-runtime";
|
|
5
5
|
import { isSecretRef } from "openclaw/plugin-sdk/secret-input";
|
|
6
6
|
import { z } from "zod";
|
|
7
|
+
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
8
|
+
import { formatNormalizedAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
|
|
9
|
+
import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
7
10
|
import { createPatchedAccountSetupAdapter, createSetupInputPresenceValidator } from "openclaw/plugin-sdk/setup-runtime";
|
|
8
11
|
import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1, addWildcardAllowFrom, applySetupAccountConfigPatch, createPromptParsedAllowFromForAccount, createSetupTranslator, createStandardChannelSetupStatus, formatDocsLink, mergeAllowFromEntries, migrateBaseNameToDefaultAccount, splitSetupEntries } from "openclaw/plugin-sdk/setup";
|
|
9
12
|
//#region extensions/googlechat/src/accounts.ts
|
|
@@ -318,4 +321,79 @@ const googlechatSetupWizard = {
|
|
|
318
321
|
dmPolicy: googlechatDmPolicy
|
|
319
322
|
};
|
|
320
323
|
//#endregion
|
|
321
|
-
|
|
324
|
+
//#region extensions/googlechat/src/channel-base.ts
|
|
325
|
+
const GOOGLECHAT_CHANNEL_ID = "googlechat";
|
|
326
|
+
const googlechatMeta = {
|
|
327
|
+
id: GOOGLECHAT_CHANNEL_ID,
|
|
328
|
+
label: "Google Chat",
|
|
329
|
+
selectionLabel: "Google Chat (Chat API)",
|
|
330
|
+
docsPath: "/channels/googlechat",
|
|
331
|
+
docsLabel: "googlechat",
|
|
332
|
+
blurb: "Google Workspace Chat app with HTTP webhook.",
|
|
333
|
+
aliases: ["gchat", "google-chat"],
|
|
334
|
+
order: 55,
|
|
335
|
+
detailLabel: "Google Chat",
|
|
336
|
+
systemImage: "message.badge",
|
|
337
|
+
markdownCapable: true
|
|
338
|
+
};
|
|
339
|
+
const formatGoogleChatAllowFromEntry = (entry) => normalizeLowercaseStringOrEmpty(entry.trim().replace(/^(googlechat|google-chat|gchat):/i, "").replace(/^user:/i, "").replace(/^users\//i, ""));
|
|
340
|
+
const googleChatConfigAdapter = createScopedChannelConfigAdapter({
|
|
341
|
+
sectionKey: GOOGLECHAT_CHANNEL_ID,
|
|
342
|
+
listAccountIds: listGoogleChatAccountIds,
|
|
343
|
+
resolveAccount: adaptScopedAccountAccessor(resolveGoogleChatAccount),
|
|
344
|
+
resolveAccessorAccount: resolveGoogleChatConfigAccessorAccount,
|
|
345
|
+
defaultAccountId: resolveDefaultGoogleChatAccountId,
|
|
346
|
+
clearBaseFields: [
|
|
347
|
+
"serviceAccount",
|
|
348
|
+
"serviceAccountFile",
|
|
349
|
+
"audienceType",
|
|
350
|
+
"audience",
|
|
351
|
+
"webhookPath",
|
|
352
|
+
"webhookUrl",
|
|
353
|
+
"botUser",
|
|
354
|
+
"name"
|
|
355
|
+
],
|
|
356
|
+
resolveAllowFrom: (account) => account.config.dm?.allowFrom,
|
|
357
|
+
formatAllowFrom: (allowFrom) => formatNormalizedAllowFromEntries({
|
|
358
|
+
allowFrom,
|
|
359
|
+
normalizeEntry: formatGoogleChatAllowFromEntry
|
|
360
|
+
}),
|
|
361
|
+
resolveDefaultTo: (account) => account.config.defaultTo
|
|
362
|
+
});
|
|
363
|
+
function createGoogleChatPluginBase(params = {}) {
|
|
364
|
+
return {
|
|
365
|
+
id: GOOGLECHAT_CHANNEL_ID,
|
|
366
|
+
meta: { ...googlechatMeta },
|
|
367
|
+
setup: googlechatSetupAdapter,
|
|
368
|
+
setupWizard: googlechatSetupWizard,
|
|
369
|
+
capabilities: {
|
|
370
|
+
chatTypes: [
|
|
371
|
+
"direct",
|
|
372
|
+
"group",
|
|
373
|
+
"thread"
|
|
374
|
+
],
|
|
375
|
+
reactions: true,
|
|
376
|
+
threads: true,
|
|
377
|
+
media: true,
|
|
378
|
+
nativeCommands: false,
|
|
379
|
+
blockStreaming: true
|
|
380
|
+
},
|
|
381
|
+
streaming: { blockStreamingCoalesceDefaults: {
|
|
382
|
+
minChars: 1500,
|
|
383
|
+
idleMs: 1e3
|
|
384
|
+
} },
|
|
385
|
+
reload: { configPrefixes: ["channels.googlechat"] },
|
|
386
|
+
...params.configSchema ? { configSchema: params.configSchema } : {},
|
|
387
|
+
config: {
|
|
388
|
+
...googleChatConfigAdapter,
|
|
389
|
+
isConfigured: (account) => account.credentialSource !== "none",
|
|
390
|
+
describeAccount: (account) => describeAccountSnapshot({
|
|
391
|
+
account,
|
|
392
|
+
configured: account.credentialSource !== "none",
|
|
393
|
+
extra: { credentialSource: account.credentialSource }
|
|
394
|
+
})
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
//#endregion
|
|
399
|
+
export { googlechatSetupAdapter as a, resolveGoogleChatAccount as c, googlechatSetupWizard as i, createGoogleChatPluginBase as n, listEnabledGoogleChatAccounts as o, formatGoogleChatAllowFromEntry as r, listGoogleChatAccountIds as s, GOOGLECHAT_CHANNEL_ID as t };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as googlechatPlugin } from "./channel-
|
|
1
|
+
import { t as googlechatPlugin } from "./channel-DOyK3HP4.js";
|
|
2
2
|
export { googlechatPlugin };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./
|
|
1
|
+
import "./channel-base-DpPD0ef1.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
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-DxtI9OoY.js";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1,75 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
3
|
-
import { formatNormalizedAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
|
|
4
|
-
import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
5
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
1
|
+
import { n as createGoogleChatPluginBase } from "./channel-base-DpPD0ef1.js";
|
|
6
2
|
//#region extensions/googlechat/src/channel.setup.ts
|
|
7
|
-
const
|
|
8
|
-
const googlechatSetupPlugin = {
|
|
9
|
-
id: "googlechat",
|
|
10
|
-
meta: {
|
|
11
|
-
id: "googlechat",
|
|
12
|
-
label: "Google Chat",
|
|
13
|
-
selectionLabel: "Google Chat (Chat API)",
|
|
14
|
-
docsPath: "/channels/googlechat",
|
|
15
|
-
docsLabel: "googlechat",
|
|
16
|
-
blurb: "Google Workspace Chat app with HTTP webhook.",
|
|
17
|
-
aliases: ["gchat", "google-chat"],
|
|
18
|
-
order: 55,
|
|
19
|
-
detailLabel: "Google Chat",
|
|
20
|
-
systemImage: "message.badge",
|
|
21
|
-
markdownCapable: true
|
|
22
|
-
},
|
|
23
|
-
setup: googlechatSetupAdapter,
|
|
24
|
-
setupWizard: googlechatSetupWizard,
|
|
25
|
-
capabilities: {
|
|
26
|
-
chatTypes: [
|
|
27
|
-
"direct",
|
|
28
|
-
"group",
|
|
29
|
-
"thread"
|
|
30
|
-
],
|
|
31
|
-
reactions: true,
|
|
32
|
-
threads: true,
|
|
33
|
-
media: true,
|
|
34
|
-
nativeCommands: false,
|
|
35
|
-
blockStreaming: true
|
|
36
|
-
},
|
|
37
|
-
streaming: { blockStreamingCoalesceDefaults: {
|
|
38
|
-
minChars: 1500,
|
|
39
|
-
idleMs: 1e3
|
|
40
|
-
} },
|
|
41
|
-
reload: { configPrefixes: ["channels.googlechat"] },
|
|
42
|
-
config: {
|
|
43
|
-
...createScopedChannelConfigAdapter({
|
|
44
|
-
sectionKey: "googlechat",
|
|
45
|
-
listAccountIds: listGoogleChatAccountIds,
|
|
46
|
-
resolveAccount: adaptScopedAccountAccessor(resolveGoogleChatAccount),
|
|
47
|
-
resolveAccessorAccount: resolveGoogleChatConfigAccessorAccount,
|
|
48
|
-
defaultAccountId: resolveDefaultGoogleChatAccountId,
|
|
49
|
-
clearBaseFields: [
|
|
50
|
-
"serviceAccount",
|
|
51
|
-
"serviceAccountFile",
|
|
52
|
-
"audienceType",
|
|
53
|
-
"audience",
|
|
54
|
-
"webhookPath",
|
|
55
|
-
"webhookUrl",
|
|
56
|
-
"botUser",
|
|
57
|
-
"name"
|
|
58
|
-
],
|
|
59
|
-
resolveAllowFrom: (account) => account.config.dm?.allowFrom,
|
|
60
|
-
formatAllowFrom: (allowFrom) => formatNormalizedAllowFromEntries({
|
|
61
|
-
allowFrom,
|
|
62
|
-
normalizeEntry: formatGoogleChatAllowFromEntry
|
|
63
|
-
}),
|
|
64
|
-
resolveDefaultTo: (account) => account.config.defaultTo
|
|
65
|
-
}),
|
|
66
|
-
isConfigured: (account) => account.credentialSource !== "none",
|
|
67
|
-
describeAccount: (account) => describeAccountSnapshot({
|
|
68
|
-
account,
|
|
69
|
-
configured: account.credentialSource !== "none",
|
|
70
|
-
extra: { credentialSource: account.credentialSource }
|
|
71
|
-
})
|
|
72
|
-
}
|
|
73
|
-
};
|
|
3
|
+
const googlechatSetupPlugin = createGoogleChatPluginBase();
|
|
74
4
|
//#endregion
|
|
75
5
|
export { googlechatSetupPlugin };
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/googlechat",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.30-beta.1",
|
|
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.30-beta.1",
|
|
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.30-beta.1"
|
|
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.30-beta.1",
|
|
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.30-beta.1"
|
|
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.30-beta.1"
|
|
75
75
|
},
|
|
76
76
|
"build": {
|
|
77
|
-
"openclawVersion": "2026.5.
|
|
77
|
+
"openclawVersion": "2026.5.30-beta.1"
|
|
78
78
|
},
|
|
79
79
|
"release": {
|
|
80
80
|
"publishToClawHub": true,
|