@elizaos/plugin-google-chat 2.0.0-beta.1 → 2.0.3-beta.3
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/LICENSE +21 -0
- package/README.md +50 -136
- package/auto-enable.ts +1 -1
- package/package.json +22 -4
- package/registry-entry.json +127 -0
- package/dist/src/accounts.d.ts +0 -16
- package/dist/src/accounts.d.ts.map +0 -1
- package/dist/src/accounts.js +0 -163
- package/dist/src/accounts.js.map +0 -1
- package/dist/src/actions/index.d.ts +0 -1
- package/dist/src/actions/index.d.ts.map +0 -1
- package/dist/src/actions/index.js +0 -3
- package/dist/src/actions/index.js.map +0 -1
- package/dist/src/config.d.ts +0 -91
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -8
- package/dist/src/config.js.map +0 -1
- package/dist/src/connector-account-provider.d.ts +0 -22
- package/dist/src/connector-account-provider.d.ts.map +0 -1
- package/dist/src/connector-account-provider.js +0 -89
- package/dist/src/connector-account-provider.js.map +0 -1
- package/dist/src/index.d.ts +0 -18
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -66
- package/dist/src/index.js.map +0 -1
- package/dist/src/providers/index.d.ts +0 -1
- package/dist/src/providers/index.d.ts.map +0 -1
- package/dist/src/providers/index.js +0 -3
- package/dist/src/providers/index.js.map +0 -1
- package/dist/src/service.d.ts +0 -62
- package/dist/src/service.d.ts.map +0 -1
- package/dist/src/service.js +0 -724
- package/dist/src/service.js.map +0 -1
- package/dist/src/types.d.ts +0 -216
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -144
- package/dist/src/types.js.map +0 -1
- package/dist/src/workflow-credential-provider.d.ts +0 -21
- package/dist/src/workflow-credential-provider.d.ts.map +0 -1
- package/dist/src/workflow-credential-provider.js +0 -57
- package/dist/src/workflow-credential-provider.js.map +0 -1
package/dist/src/config.d.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Google Chat plugin configuration types.
|
|
3
|
-
*
|
|
4
|
-
* These types define the configuration schema for the Google Chat plugin.
|
|
5
|
-
* Shared base types are imported from @elizaos/core.
|
|
6
|
-
*/
|
|
7
|
-
import type { BlockStreamingCoalesceConfig, ChannelHeartbeatVisibilityConfig, DmConfig, DmPolicy, GroupPolicy, GroupToolPolicyBySenderConfig, GroupToolPolicyConfig, MarkdownConfig, ProviderCommandsConfig } from "@elizaos/core";
|
|
8
|
-
export type GoogleChatReactionNotificationMode = "off" | "own" | "all" | "allowlist";
|
|
9
|
-
export type GoogleChatActionConfig = {
|
|
10
|
-
reactions?: boolean;
|
|
11
|
-
sendMessage?: boolean;
|
|
12
|
-
/** Enable Card messages for structured responses (default: true). */
|
|
13
|
-
cards?: boolean;
|
|
14
|
-
};
|
|
15
|
-
export type GoogleChatSpaceConfig = {
|
|
16
|
-
enabled?: boolean;
|
|
17
|
-
requireMention?: boolean;
|
|
18
|
-
tools?: GroupToolPolicyConfig;
|
|
19
|
-
toolsBySender?: GroupToolPolicyBySenderConfig;
|
|
20
|
-
};
|
|
21
|
-
export type GoogleChatAccountConfig = {
|
|
22
|
-
/** Optional display name for this account (used in CLI/UI lists). */
|
|
23
|
-
name?: string;
|
|
24
|
-
/** Optional provider capability tags used for agent/runtime guidance. */
|
|
25
|
-
capabilities?: string[];
|
|
26
|
-
/** Markdown formatting overrides (tables). */
|
|
27
|
-
markdown?: MarkdownConfig;
|
|
28
|
-
/** Override native command registration for Google Chat (bool or "auto"). */
|
|
29
|
-
commands?: ProviderCommandsConfig;
|
|
30
|
-
/** Allow channel-initiated config writes (default: true). */
|
|
31
|
-
configWrites?: boolean;
|
|
32
|
-
/** If false, do not start this Google Chat account. Default: true. */
|
|
33
|
-
enabled?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Path to Google service account JSON key file.
|
|
36
|
-
* Required for Google Chat API authentication.
|
|
37
|
-
*/
|
|
38
|
-
serviceAccountKeyFile?: string;
|
|
39
|
-
/** Service account credentials as inline JSON (alternative to keyFile). */
|
|
40
|
-
serviceAccountKey?: string;
|
|
41
|
-
/** Project ID for Google Cloud project (auto-detected from key if not set). */
|
|
42
|
-
projectId?: string;
|
|
43
|
-
/** Webhook mode: endpoint path for Pub/Sub push (default: /google-chat/webhook). */
|
|
44
|
-
webhookPath?: string;
|
|
45
|
-
/** Pub/Sub subscription name for pull mode (alternative to webhook push). */
|
|
46
|
-
pubsubSubscription?: string;
|
|
47
|
-
/** Direct message (1:1 DM) access policy (default: pairing). */
|
|
48
|
-
dmPolicy?: DmPolicy;
|
|
49
|
-
/** Optional allowlist for Google Chat DM senders (user resource name). */
|
|
50
|
-
allowFrom?: Array<string | number>;
|
|
51
|
-
/** Optional allowlist for Google Chat space senders (user resource name). */
|
|
52
|
-
groupAllowFrom?: Array<string | number>;
|
|
53
|
-
/**
|
|
54
|
-
* Controls how space messages are handled:
|
|
55
|
-
* - "open": spaces bypass allowFrom, only @mention-gating applies
|
|
56
|
-
* - "disabled": block all space messages
|
|
57
|
-
* - "allowlist": only allow messages from senders in groupAllowFrom/allowFrom
|
|
58
|
-
*/
|
|
59
|
-
groupPolicy?: GroupPolicy;
|
|
60
|
-
/** Max space messages to keep as history context (0 disables). */
|
|
61
|
-
historyLimit?: number;
|
|
62
|
-
/** Max DM turns to keep as history context. */
|
|
63
|
-
dmHistoryLimit?: number;
|
|
64
|
-
/** Per-DM config overrides keyed by user ID. */
|
|
65
|
-
dms?: Record<string, DmConfig>;
|
|
66
|
-
/** Outbound text chunk size (chars). Default: 4096 (Google Chat limit). */
|
|
67
|
-
textChunkLimit?: number;
|
|
68
|
-
/** Chunking mode: "length" (default) splits by size; "newline" splits on every newline. */
|
|
69
|
-
chunkMode?: "length" | "newline";
|
|
70
|
-
/** Disable block streaming for this account. */
|
|
71
|
-
blockStreaming?: boolean;
|
|
72
|
-
/** Merge streamed block replies before sending. */
|
|
73
|
-
blockStreamingCoalesce?: BlockStreamingCoalesceConfig;
|
|
74
|
-
/** Maximum media file size in MB. Default: 50. */
|
|
75
|
-
mediaMaxMb?: number;
|
|
76
|
-
/** Per-action tool gating. */
|
|
77
|
-
actions?: GoogleChatActionConfig;
|
|
78
|
-
/** Reaction notification mode (off|own|all|allowlist). Default: off. */
|
|
79
|
-
reactionNotifications?: GoogleChatReactionNotificationMode;
|
|
80
|
-
/** Allowlist for reaction notifications when mode is allowlist. */
|
|
81
|
-
reactionAllowlist?: Array<string | number>;
|
|
82
|
-
/** Per-space config overrides keyed by space name (spaces/xxx). */
|
|
83
|
-
spaces?: Record<string, GoogleChatSpaceConfig>;
|
|
84
|
-
/** Heartbeat visibility settings for this channel. */
|
|
85
|
-
heartbeat?: ChannelHeartbeatVisibilityConfig;
|
|
86
|
-
};
|
|
87
|
-
export type GoogleChatConfig = {
|
|
88
|
-
/** Optional per-account Google Chat configuration (multi-account). */
|
|
89
|
-
accounts?: Record<string, GoogleChatAccountConfig>;
|
|
90
|
-
} & GoogleChatAccountConfig;
|
|
91
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/src/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/src/config.js
DELETED
package/dist/src/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Google Chat ConnectorAccountManager provider.
|
|
3
|
-
*
|
|
4
|
-
* Adapts the multi-account scaffolding in `accounts.ts` to the
|
|
5
|
-
* `ConnectorAccountProvider` contract from
|
|
6
|
-
* `@elizaos/core/connectors/account-manager`.
|
|
7
|
-
*
|
|
8
|
-
* Source of truth for accounts is character settings (`character.settings.googleChat`)
|
|
9
|
-
* + GOOGLE_CHAT_ACCOUNTS JSON env var + single-account env vars
|
|
10
|
-
* (GOOGLE_CHAT_SERVICE_ACCOUNT, GOOGLE_CHAT_SERVICE_ACCOUNT_FILE).
|
|
11
|
-
*
|
|
12
|
-
* AccountKey is the service-account email (best-effort extracted from the
|
|
13
|
-
* service-account JSON when available, otherwise the configured accountId).
|
|
14
|
-
* Role is `AGENT` since service-account creds authenticate the bot, not a user.
|
|
15
|
-
*
|
|
16
|
-
* Note: this overlaps with plugin-google's OAuth scopes but is a separate
|
|
17
|
-
* plugin scoped to Google Workspace Chat — keep separate.
|
|
18
|
-
*/
|
|
19
|
-
import type { ConnectorAccountProvider, IAgentRuntime } from "@elizaos/core";
|
|
20
|
-
export declare const GOOGLE_CHAT_PROVIDER_ID = "google-chat";
|
|
21
|
-
export declare function createGoogleChatConnectorAccountProvider(runtime: IAgentRuntime): ConnectorAccountProvider;
|
|
22
|
-
//# sourceMappingURL=connector-account-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connector-account-provider.d.ts","sourceRoot":"","sources":["../../src/connector-account-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAIV,wBAAwB,EACxB,aAAa,EACd,MAAM,eAAe,CAAC;AASvB,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AAsCrD,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,aAAa,GACrB,wBAAwB,CAqC1B"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Google Chat ConnectorAccountManager provider.
|
|
3
|
-
*
|
|
4
|
-
* Adapts the multi-account scaffolding in `accounts.ts` to the
|
|
5
|
-
* `ConnectorAccountProvider` contract from
|
|
6
|
-
* `@elizaos/core/connectors/account-manager`.
|
|
7
|
-
*
|
|
8
|
-
* Source of truth for accounts is character settings (`character.settings.googleChat`)
|
|
9
|
-
* + GOOGLE_CHAT_ACCOUNTS JSON env var + single-account env vars
|
|
10
|
-
* (GOOGLE_CHAT_SERVICE_ACCOUNT, GOOGLE_CHAT_SERVICE_ACCOUNT_FILE).
|
|
11
|
-
*
|
|
12
|
-
* AccountKey is the service-account email (best-effort extracted from the
|
|
13
|
-
* service-account JSON when available, otherwise the configured accountId).
|
|
14
|
-
* Role is `AGENT` since service-account creds authenticate the bot, not a user.
|
|
15
|
-
*
|
|
16
|
-
* Note: this overlaps with plugin-google's OAuth scopes but is a separate
|
|
17
|
-
* plugin scoped to Google Workspace Chat — keep separate.
|
|
18
|
-
*/
|
|
19
|
-
import { DEFAULT_GOOGLE_CHAT_ACCOUNT_ID, listGoogleChatAccountIds, normalizeGoogleChatAccountId, resolveGoogleChatAccountSettings, } from "./accounts.js";
|
|
20
|
-
export const GOOGLE_CHAT_PROVIDER_ID = "google-chat";
|
|
21
|
-
function extractServiceAccountEmail(serviceAccount) {
|
|
22
|
-
if (!serviceAccount)
|
|
23
|
-
return undefined;
|
|
24
|
-
try {
|
|
25
|
-
const parsed = JSON.parse(serviceAccount);
|
|
26
|
-
return typeof parsed.client_email === "string" ? parsed.client_email : undefined;
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
function toConnectorAccount(settings) {
|
|
33
|
-
const now = Date.now();
|
|
34
|
-
const configured = Boolean(settings.serviceAccount || settings.serviceAccountFile);
|
|
35
|
-
const email = extractServiceAccountEmail(settings.serviceAccount);
|
|
36
|
-
return {
|
|
37
|
-
id: normalizeGoogleChatAccountId(settings.accountId),
|
|
38
|
-
provider: GOOGLE_CHAT_PROVIDER_ID,
|
|
39
|
-
label: email ?? settings.botUser ?? settings.accountId ?? DEFAULT_GOOGLE_CHAT_ACCOUNT_ID,
|
|
40
|
-
role: "AGENT",
|
|
41
|
-
purpose: ["messaging"],
|
|
42
|
-
accessGate: "open",
|
|
43
|
-
status: settings.enabled !== false && configured ? "connected" : "disabled",
|
|
44
|
-
externalId: email ?? undefined,
|
|
45
|
-
displayHandle: email ?? settings.botUser ?? undefined,
|
|
46
|
-
createdAt: now,
|
|
47
|
-
updatedAt: now,
|
|
48
|
-
metadata: {
|
|
49
|
-
audienceType: settings.audienceType,
|
|
50
|
-
audience: settings.audience ?? "",
|
|
51
|
-
webhookPath: settings.webhookPath,
|
|
52
|
-
requireMention: settings.requireMention,
|
|
53
|
-
botUser: settings.botUser ?? "",
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
export function createGoogleChatConnectorAccountProvider(runtime) {
|
|
58
|
-
return {
|
|
59
|
-
provider: GOOGLE_CHAT_PROVIDER_ID,
|
|
60
|
-
label: "Google Chat",
|
|
61
|
-
listAccounts: async (_manager) => {
|
|
62
|
-
const ids = listGoogleChatAccountIds(runtime);
|
|
63
|
-
if (ids.length === 0) {
|
|
64
|
-
return [
|
|
65
|
-
toConnectorAccount(resolveGoogleChatAccountSettings(runtime, DEFAULT_GOOGLE_CHAT_ACCOUNT_ID)),
|
|
66
|
-
];
|
|
67
|
-
}
|
|
68
|
-
return ids.map((id) => toConnectorAccount(resolveGoogleChatAccountSettings(runtime, id)));
|
|
69
|
-
},
|
|
70
|
-
createAccount: async (input, _manager) => {
|
|
71
|
-
return {
|
|
72
|
-
...input,
|
|
73
|
-
provider: GOOGLE_CHAT_PROVIDER_ID,
|
|
74
|
-
role: input.role ?? "AGENT",
|
|
75
|
-
purpose: input.purpose ?? ["messaging"],
|
|
76
|
-
accessGate: input.accessGate ?? "open",
|
|
77
|
-
status: input.status ?? "pending",
|
|
78
|
-
};
|
|
79
|
-
},
|
|
80
|
-
patchAccount: async (_accountId, patch, _manager) => {
|
|
81
|
-
return { ...patch, provider: GOOGLE_CHAT_PROVIDER_ID };
|
|
82
|
-
},
|
|
83
|
-
deleteAccount: async (_accountId, _manager) => {
|
|
84
|
-
// No-op at provider layer — service-account credentials live in
|
|
85
|
-
// character settings; deletion of those is out of band.
|
|
86
|
-
},
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=connector-account-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connector-account-provider.js","sourceRoot":"","sources":["../../src/connector-account-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Google Chat Plugin for ElizaOS
|
|
3
|
-
*
|
|
4
|
-
* Provides Google Chat messaging integration for ElizaOS agents,
|
|
5
|
-
* supporting spaces, direct messages, threads, and reactions.
|
|
6
|
-
*/
|
|
7
|
-
import type { Plugin } from "@elizaos/core";
|
|
8
|
-
import { GoogleChatService } from "./service.js";
|
|
9
|
-
export * from "./accounts.js";
|
|
10
|
-
export * from "./types.js";
|
|
11
|
-
export { GoogleChatService };
|
|
12
|
-
/**
|
|
13
|
-
* Google Chat plugin definition
|
|
14
|
-
*/
|
|
15
|
-
declare const googleChatPlugin: Plugin;
|
|
16
|
-
export default googleChatPlugin;
|
|
17
|
-
export type { GoogleChatAccountConfig, GoogleChatActionConfig, GoogleChatConfig, GoogleChatReactionNotificationMode, GoogleChatSpaceConfig, } from "./config.js";
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,cAAc,eAAe,CAAC;AAI9B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;GAEG;AACH,QAAA,MAAM,gBAAgB,EAAE,MAoEvB,CAAC;AAEF,eAAe,gBAAgB,CAAC;AAGhC,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,kCAAkC,EAClC,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
package/dist/src/index.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Google Chat Plugin for ElizaOS
|
|
3
|
-
*
|
|
4
|
-
* Provides Google Chat messaging integration for ElizaOS agents,
|
|
5
|
-
* supporting spaces, direct messages, threads, and reactions.
|
|
6
|
-
*/
|
|
7
|
-
import { getConnectorAccountManager, logger } from "@elizaos/core";
|
|
8
|
-
import { createGoogleChatConnectorAccountProvider } from "./connector-account-provider.js";
|
|
9
|
-
import { GoogleChatService } from "./service.js";
|
|
10
|
-
import { GoogleChatWorkflowCredentialProvider } from "./workflow-credential-provider.js";
|
|
11
|
-
export * from "./accounts.js";
|
|
12
|
-
// Message, space listing, and reaction operations route through MESSAGE via
|
|
13
|
-
// the MessageConnector registered by GoogleChatService.
|
|
14
|
-
// Export types
|
|
15
|
-
export * from "./types.js";
|
|
16
|
-
// Export service
|
|
17
|
-
export { GoogleChatService };
|
|
18
|
-
/**
|
|
19
|
-
* Google Chat plugin definition
|
|
20
|
-
*/
|
|
21
|
-
const googleChatPlugin = {
|
|
22
|
-
name: "google-chat",
|
|
23
|
-
description: "Google Chat integration plugin for ElizaOS agents",
|
|
24
|
-
services: [GoogleChatService, GoogleChatWorkflowCredentialProvider],
|
|
25
|
-
actions: [],
|
|
26
|
-
providers: [],
|
|
27
|
-
tests: [],
|
|
28
|
-
// Self-declared auto-enable: activate when the "googlechat" connector is
|
|
29
|
-
// configured under config.connectors. The hardcoded CONNECTOR_PLUGINS map
|
|
30
|
-
// in plugin-auto-enable-engine.ts still serves as a fallback.
|
|
31
|
-
autoEnable: {
|
|
32
|
-
connectorKeys: ["googlechat"],
|
|
33
|
-
},
|
|
34
|
-
/**
|
|
35
|
-
* Plugin initialization hook
|
|
36
|
-
*/
|
|
37
|
-
init: async (config, runtime) => {
|
|
38
|
-
logger.info("Initializing Google Chat plugin...");
|
|
39
|
-
try {
|
|
40
|
-
const manager = getConnectorAccountManager(runtime);
|
|
41
|
-
manager.registerProvider(createGoogleChatConnectorAccountProvider(runtime));
|
|
42
|
-
}
|
|
43
|
-
catch (err) {
|
|
44
|
-
logger.warn({
|
|
45
|
-
src: "plugin:google-chat",
|
|
46
|
-
err: err instanceof Error ? err.message : String(err),
|
|
47
|
-
}, "Failed to register Google Chat provider with ConnectorAccountManager");
|
|
48
|
-
}
|
|
49
|
-
// Log configuration status
|
|
50
|
-
const serviceAccount = config.GOOGLE_CHAT_SERVICE_ACCOUNT || process.env.GOOGLE_CHAT_SERVICE_ACCOUNT;
|
|
51
|
-
const serviceAccountFile = config.GOOGLE_CHAT_SERVICE_ACCOUNT_FILE || process.env.GOOGLE_CHAT_SERVICE_ACCOUNT_FILE;
|
|
52
|
-
const hasCredentials = Boolean(serviceAccount || serviceAccountFile || process.env.GOOGLE_APPLICATION_CREDENTIALS);
|
|
53
|
-
logger.info(`Google Chat plugin configuration:`);
|
|
54
|
-
logger.info(` - Credentials configured: ${hasCredentials ? "Yes" : "No"}`);
|
|
55
|
-
logger.info(` - Audience type: ${config.GOOGLE_CHAT_AUDIENCE_TYPE || process.env.GOOGLE_CHAT_AUDIENCE_TYPE || "(not set)"}`);
|
|
56
|
-
logger.info(` - Audience: ${config.GOOGLE_CHAT_AUDIENCE || process.env.GOOGLE_CHAT_AUDIENCE ? "(set)" : "(not set)"}`);
|
|
57
|
-
logger.info(` - Webhook path: ${config.GOOGLE_CHAT_WEBHOOK_PATH || process.env.GOOGLE_CHAT_WEBHOOK_PATH || "/googlechat"}`);
|
|
58
|
-
if (!hasCredentials) {
|
|
59
|
-
logger.warn("Google Chat service account credentials not configured. " +
|
|
60
|
-
"Set GOOGLE_CHAT_SERVICE_ACCOUNT, GOOGLE_CHAT_SERVICE_ACCOUNT_FILE, or GOOGLE_APPLICATION_CREDENTIALS.");
|
|
61
|
-
}
|
|
62
|
-
logger.info("Google Chat plugin initialized");
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
export default googleChatPlugin;
|
|
66
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,wCAAwC,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAEzF,cAAc,eAAe,CAAC;AAC9B,4EAA4E;AAC5E,wDAAwD;AACxD,eAAe;AACf,cAAc,YAAY,CAAC;AAC3B,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;GAEG;AACH,MAAM,gBAAgB,GAAW;IAC/B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,mDAAmD;IAEhE,QAAQ,EAAE,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;IAEnE,OAAO,EAAE,EAAE;IAEX,SAAS,EAAE,EAAE;IAEb,KAAK,EAAE,EAAE;IAET,yEAAyE;IACzE,0EAA0E;IAC1E,8DAA8D;IAC9D,UAAU,EAAE;QACV,aAAa,EAAE,CAAC,YAAY,CAAC;KAC9B;IAED;;OAEG;IACH,IAAI,EAAE,KAAK,EAAE,MAA8B,EAAE,OAAsB,EAAiB,EAAE;QACpF,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO,CAAC,gBAAgB,CAAC,wCAAwC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT;gBACE,GAAG,EAAE,oBAAoB;gBACzB,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACtD,EACD,sEAAsE,CACvE,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,cAAc,GAClB,MAAM,CAAC,2BAA2B,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QAChF,MAAM,kBAAkB,GACtB,MAAM,CAAC,gCAAgC,IAAI,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC1F,MAAM,cAAc,GAAG,OAAO,CAC5B,cAAc,IAAI,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,CACnF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,+BAA+B,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,CACT,sBAAsB,MAAM,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,WAAW,EAAE,CACjH,CAAC;QACF,MAAM,CAAC,IAAI,CACT,iBAAiB,MAAM,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAC3G,CAAC;QACF,MAAM,CAAC,IAAI,CACT,qBAAqB,MAAM,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,aAAa,EAAE,CAChH,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CACT,0DAA0D;gBACxD,uGAAuG,CAC1G,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";AAAA,gEAAgE"}
|
package/dist/src/service.d.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Google Chat service implementation for ElizaOS.
|
|
3
|
-
*/
|
|
4
|
-
import { type Content, type IAgentRuntime, Service } from "@elizaos/core";
|
|
5
|
-
import { type GoogleChatEvent, type GoogleChatMessageSendOptions, type GoogleChatReaction, type GoogleChatSendResult, type GoogleChatSettings, type GoogleChatSpace, type IGoogleChatService } from "./types.js";
|
|
6
|
-
export declare class GoogleChatService extends Service implements IGoogleChatService {
|
|
7
|
-
static serviceType: string;
|
|
8
|
-
capabilityDescription: string;
|
|
9
|
-
private states;
|
|
10
|
-
private defaultAccountId;
|
|
11
|
-
static start(runtime: IAgentRuntime): Promise<GoogleChatService>;
|
|
12
|
-
static registerSendHandlers(runtime: IAgentRuntime, service: GoogleChatService, accountId?: string): void;
|
|
13
|
-
stop(): Promise<void>;
|
|
14
|
-
private loadSettings;
|
|
15
|
-
private validateSettings;
|
|
16
|
-
private createAuth;
|
|
17
|
-
private testConnection;
|
|
18
|
-
isConnected(): boolean;
|
|
19
|
-
getAccountId(runtime?: IAgentRuntime): string;
|
|
20
|
-
getBotUser(): string | undefined;
|
|
21
|
-
getAccessToken(accountId?: string): Promise<string>;
|
|
22
|
-
private fetchApi;
|
|
23
|
-
getSpaces(accountId?: string): Promise<GoogleChatSpace[]>;
|
|
24
|
-
sendMessage(options: GoogleChatMessageSendOptions): Promise<GoogleChatSendResult>;
|
|
25
|
-
updateMessage(messageName: string, text: string, accountId?: string): Promise<{
|
|
26
|
-
success: boolean;
|
|
27
|
-
messageName?: string;
|
|
28
|
-
error?: string;
|
|
29
|
-
}>;
|
|
30
|
-
deleteMessage(messageName: string, accountId?: string): Promise<{
|
|
31
|
-
success: boolean;
|
|
32
|
-
error?: string;
|
|
33
|
-
}>;
|
|
34
|
-
sendReaction(messageName: string, emoji: string, accountId?: string): Promise<{
|
|
35
|
-
success: boolean;
|
|
36
|
-
name?: string;
|
|
37
|
-
error?: string;
|
|
38
|
-
}>;
|
|
39
|
-
deleteReaction(reactionName: string, accountId?: string): Promise<{
|
|
40
|
-
success: boolean;
|
|
41
|
-
error?: string;
|
|
42
|
-
}>;
|
|
43
|
-
listReactions(messageName: string, limit?: number, accountId?: string): Promise<GoogleChatReaction[]>;
|
|
44
|
-
findDirectMessage(userName: string, accountId?: string): Promise<GoogleChatSpace | null>;
|
|
45
|
-
uploadAttachment(space: string, filename: string, buffer: Buffer, contentType?: string, accountId?: string): Promise<{
|
|
46
|
-
attachmentUploadToken?: string;
|
|
47
|
-
}>;
|
|
48
|
-
downloadMedia(resourceName: string, maxBytes?: number, accountId?: string): Promise<{
|
|
49
|
-
buffer: Buffer;
|
|
50
|
-
contentType?: string;
|
|
51
|
-
}>;
|
|
52
|
-
getSettings(): GoogleChatSettings | null;
|
|
53
|
-
sendDirectMessage(target: string, content: Content): Promise<void>;
|
|
54
|
-
sendRoomMessage(target: string, content: Content): Promise<void>;
|
|
55
|
-
private handleSendMessage;
|
|
56
|
-
private sendConnectorDirectMessage;
|
|
57
|
-
private sendConnectorContent;
|
|
58
|
-
private listConnectorSpaces;
|
|
59
|
-
processWebhookEvent(event: GoogleChatEvent, accountId?: string): Promise<void>;
|
|
60
|
-
private getState;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"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"}
|