@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.
Files changed (41) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -136
  3. package/auto-enable.ts +1 -1
  4. package/package.json +22 -4
  5. package/registry-entry.json +127 -0
  6. package/dist/src/accounts.d.ts +0 -16
  7. package/dist/src/accounts.d.ts.map +0 -1
  8. package/dist/src/accounts.js +0 -163
  9. package/dist/src/accounts.js.map +0 -1
  10. package/dist/src/actions/index.d.ts +0 -1
  11. package/dist/src/actions/index.d.ts.map +0 -1
  12. package/dist/src/actions/index.js +0 -3
  13. package/dist/src/actions/index.js.map +0 -1
  14. package/dist/src/config.d.ts +0 -91
  15. package/dist/src/config.d.ts.map +0 -1
  16. package/dist/src/config.js +0 -8
  17. package/dist/src/config.js.map +0 -1
  18. package/dist/src/connector-account-provider.d.ts +0 -22
  19. package/dist/src/connector-account-provider.d.ts.map +0 -1
  20. package/dist/src/connector-account-provider.js +0 -89
  21. package/dist/src/connector-account-provider.js.map +0 -1
  22. package/dist/src/index.d.ts +0 -18
  23. package/dist/src/index.d.ts.map +0 -1
  24. package/dist/src/index.js +0 -66
  25. package/dist/src/index.js.map +0 -1
  26. package/dist/src/providers/index.d.ts +0 -1
  27. package/dist/src/providers/index.d.ts.map +0 -1
  28. package/dist/src/providers/index.js +0 -3
  29. package/dist/src/providers/index.js.map +0 -1
  30. package/dist/src/service.d.ts +0 -62
  31. package/dist/src/service.d.ts.map +0 -1
  32. package/dist/src/service.js +0 -724
  33. package/dist/src/service.js.map +0 -1
  34. package/dist/src/types.d.ts +0 -216
  35. package/dist/src/types.d.ts.map +0 -1
  36. package/dist/src/types.js +0 -144
  37. package/dist/src/types.js.map +0 -1
  38. package/dist/src/workflow-credential-provider.d.ts +0 -21
  39. package/dist/src/workflow-credential-provider.d.ts.map +0 -1
  40. package/dist/src/workflow-credential-provider.js +0 -57
  41. package/dist/src/workflow-credential-provider.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shaw Walters and elizaOS Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,160 +1,74 @@
1
- # Google Chat Plugin for ElizaOS
1
+ # @elizaos/plugin-google-chat
2
2
 
3
- Google Chat messaging integration for ElizaOS agents, providing full support for Google Workspace team communication.
3
+ Google Chat connector for elizaOS agents. Sends and receives messages in Google Workspace spaces, DMs, and threads via the Google Chat REST API.
4
4
 
5
- ## Features
5
+ This package is a runtime plugin consumed by an elizaOS agent. It registers two services and a `MessageConnector` (`source: "google-chat"`); there are no actions or providers. For agent/contributor-facing detail, see [CLAUDE.md](./CLAUDE.md).
6
6
 
7
- - **Messaging**: Send and receive messages in Google Chat spaces
8
- - **Direct Messages**: Support for 1:1 DM conversations
9
- - **Spaces**: Manage presence in Google Chat spaces
10
- - **Threads**: Reply in threaded conversations
11
- - **Reactions**: Add and remove emoji reactions
12
- - **Attachments**: Upload and download media files
13
- - **Webhook Support**: Receive messages via configurable webhook endpoint
7
+ ## What it provides
14
8
 
15
- ## Installation
9
+ - Send/receive messages in spaces, threaded replies, and 1:1 DMs.
10
+ - Emoji reactions (`sendReaction` / `deleteReaction`), message edit (`updateMessage`) and delete (`deleteMessage`).
11
+ - Attachment upload (multipart to `https://chat.googleapis.com/upload/v1`) and download (`?alt=media`).
12
+ - Multiple concurrent bot accounts via one service instance.
13
+ - Inbound webhook events through `GoogleChatService.processWebhookEvent()`. This plugin does not mount its own HTTP route — the host runtime forwards events to it at the configured `webhookPath`.
16
14
 
17
- ### TypeScript/JavaScript
18
-
19
- ```bash
20
- npm install @elizaos-plugins/plugin-google-chat
21
- ```
22
- ## Prerequisites
23
-
24
- 1. **Google Cloud Project**: Create a project in the [Google Cloud Console](https://console.cloud.google.com/)
25
-
26
- 2. **Enable Google Chat API**:
27
- - Go to APIs & Services > Library
28
- - Search for "Google Chat API" and enable it
29
-
30
- 3. **Create a Chat App**:
31
- - Go to APIs & Services > Chat API > Configuration
32
- - Configure your Chat app with a webhook URL
33
-
34
- 4. **Service Account**:
35
- - Go to IAM & Admin > Service Accounts
36
- - Create a service account with Chat API access
37
- - Download the JSON key file
38
-
39
- 5. **Configure the Chat App**:
40
- - Set the App URL (webhook endpoint)
41
- - Configure the audience type and value
42
-
43
- ## Configuration
44
-
45
- ### Environment Variables
46
-
47
- | Variable | Description | Required |
48
- |----------|-------------|----------|
49
- | `GOOGLE_CHAT_SERVICE_ACCOUNT` | Service account JSON string | One of these |
50
- | `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE` | Path to service account JSON file | required |
51
- | `GOOGLE_APPLICATION_CREDENTIALS` | Default credentials path | |
52
- | `GOOGLE_CHAT_AUDIENCE_TYPE` | Audience type: `app-url` or `project-number` | Yes |
53
- | `GOOGLE_CHAT_AUDIENCE` | Audience value for token verification | Yes |
54
- | `GOOGLE_CHAT_WEBHOOK_PATH` | Webhook path (default: `/googlechat`) | No |
55
- | `GOOGLE_CHAT_SPACES` | Comma-separated list of spaces | No |
56
- | `GOOGLE_CHAT_REQUIRE_MENTION` | Require @mention in spaces (default: `true`) | No |
57
- | `GOOGLE_CHAT_BOT_USER` | Bot user resource name | No |
58
- | `GOOGLE_CHAT_ENABLED` | Enable/disable plugin (default: `true`) | No |
59
-
60
- ### Audience Configuration
61
-
62
- **App URL (Recommended)**:
63
- - Set `GOOGLE_CHAT_AUDIENCE_TYPE=app-url`
64
- - Set `GOOGLE_CHAT_AUDIENCE` to your Chat app's App URL from the Cloud Console
65
-
66
- **Project Number**:
67
- - Set `GOOGLE_CHAT_AUDIENCE_TYPE=project-number`
68
- - Set `GOOGLE_CHAT_AUDIENCE` to your Google Cloud project number
15
+ Auth uses a Google service account with scope `https://www.googleapis.com/auth/chat.bot`. There is no OAuth user flow.
69
16
 
70
17
  ## Usage
71
18
 
72
- ### TypeScript
73
-
74
19
  ```typescript
75
- import googleChatPlugin from "@elizaos-plugins/plugin-google-chat";
76
-
77
- const agent = createAgent({
78
- plugins: [googleChatPlugin],
79
- // ... other config
80
- });
81
- ```
82
- # Register with ElizaOS runtime
20
+ import googleChatPlugin from "@elizaos/plugin-google-chat";
83
21
  ```
84
- ## Actions
85
22
 
86
- Google Chat messaging routes through the canonical `MESSAGE` action using
87
- `source: "google-chat"`.
23
+ Add the plugin to the runtime's plugin list, or let auto-enable activate it when a `connectors.googlechat` block is present in the character config (see `auto-enable.ts`).
88
24
 
89
- | Primary action | Operation | Description |
90
- |----------------|-----------|-------------|
91
- | `MESSAGE` | `send` | Send or thread a message in a Google Chat space |
92
- | `MESSAGE` | `react` | Add or remove a reaction when the connector supports it |
93
- | `MESSAGE` | `list_channels` | List spaces the bot is a member of |
94
-
95
- ## Providers
25
+ ## Configuration
96
26
 
97
- Google Chat does not register standalone planner providers. Space and user
98
- context is exposed through the Google Chat message connector hooks.
27
+ Resolution order: per-account character config > top-level `character.settings.googleChat` > `GOOGLE_CHAT_ACCOUNTS` JSON env var > single-account env vars (only for the `default` account).
28
+
29
+ | Env var | Required | Default | Description |
30
+ |---|---|---|---|
31
+ | `GOOGLE_CHAT_SERVICE_ACCOUNT` | One of three | — | Inline service account JSON string |
32
+ | `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE` | One of three | — | Path to service account JSON key file |
33
+ | `GOOGLE_APPLICATION_CREDENTIALS` | One of three | — | ADC credentials file path (standard Google env var) |
34
+ | `GOOGLE_CHAT_AUDIENCE` | Yes | — | Audience value for webhook token verification by the host |
35
+ | `GOOGLE_CHAT_AUDIENCE_TYPE` | No | `app-url` | `app-url` or `project-number` |
36
+ | `GOOGLE_CHAT_WEBHOOK_PATH` | No | `/googlechat` | Webhook path for incoming events |
37
+ | `GOOGLE_CHAT_SPACES` | No | — | Comma-separated initial space resource names (`spaces/xxx`) |
38
+ | `GOOGLE_CHAT_REQUIRE_MENTION` | No | `true` | Only respond in spaces when @mentioned |
39
+ | `GOOGLE_CHAT_BOT_USER` | No | — | Bot user resource name (`users/xxx`) |
40
+ | `GOOGLE_CHAT_ENABLED` | No | `true` | Master switch for this plugin |
41
+ | `GOOGLE_CHAT_ACCOUNTS` | No | — | JSON array/object for multi-account config |
42
+ | `GOOGLE_CHAT_DEFAULT_ACCOUNT_ID` | No | `default` | Active account when multiple are configured |
43
+
44
+ Character-level config (`character.settings.googleChat`) accepts all `GoogleChatAccountConfig` fields (`src/config.ts`): per-space overrides, DM policies, reaction-notification modes, `textChunkLimit` (default 4096), `mediaMaxMb` (default 50), and heartbeat visibility.
99
45
 
100
46
  ## Events
101
47
 
102
- | Event | Description |
103
- |-------|-------------|
104
- | `GOOGLE_CHAT_MESSAGE_RECEIVED` | Message received from a space |
105
- | `GOOGLE_CHAT_MESSAGE_SENT` | Message sent successfully |
48
+ Emitted via `runtime.emitEvent` (constants in `GoogleChatEventTypes`, `src/types.ts`):
49
+
50
+ | Event | Fired when |
51
+ |---|---|
52
+ | `GOOGLE_CHAT_MESSAGE_RECEIVED` | Webhook receives a `MESSAGE` event |
53
+ | `GOOGLE_CHAT_MESSAGE_SENT` | `sendMessage` succeeds |
106
54
  | `GOOGLE_CHAT_SPACE_JOINED` | Bot added to a space |
107
55
  | `GOOGLE_CHAT_SPACE_LEFT` | Bot removed from a space |
108
- | `GOOGLE_CHAT_REACTION_SENT` | Reaction added successfully |
109
- | `GOOGLE_CHAT_CONNECTION_READY` | Service connected and ready |
110
-
111
- ## Message Limits
112
-
113
- - **Maximum message length**: 4,000 characters
114
- - **Attachments**: 20 MB per file (configurable)
115
- - Messages exceeding the limit are automatically chunked
116
-
117
- ## Webhook Security
118
-
119
- The plugin verifies incoming webhook requests using Google's authentication:
120
-
121
- 1. **App URL mode**: Verifies ID token against the configured app URL
122
- 2. **Project Number mode**: Verifies JWT with Google's public certificates
123
-
124
- Requests that fail verification are rejected with 401 Unauthorized.
56
+ | `GOOGLE_CHAT_REACTION_SENT` | `sendReaction` succeeds |
57
+ | `GOOGLE_CHAT_CONNECTION_READY` | Account connected at startup |
125
58
 
126
- ## Resource Names
59
+ `GOOGLE_CHAT_REACTION_RECEIVED` and `GOOGLE_CHAT_WEBHOOK_READY` are declared in the enum but not currently emitted.
127
60
 
128
- Google Chat uses resource names for identifying entities:
61
+ ## Commands
129
62
 
130
- - **Spaces**: `spaces/{space_id}`
131
- - **Messages**: `spaces/{space_id}/messages/{message_id}`
132
- - **Users**: `users/{user_id}` or `users/app` for the bot
133
- - **Threads**: `spaces/{space_id}/threads/{thread_id}`
134
- - **Reactions**: `spaces/{space_id}/messages/{message_id}/reactions/{reaction_id}`
63
+ From `package.json`:
135
64
 
136
- ## Troubleshooting
137
-
138
- ### Authentication Issues
139
-
140
- 1. Verify service account JSON is valid
141
- 2. Check that the Chat API is enabled
142
- 3. Ensure the service account has Chat API permissions
143
- 4. Verify audience type and value match your Chat app configuration
144
-
145
- ### Webhook Not Receiving Messages
146
-
147
- 1. Verify your webhook URL is accessible from the internet
148
- 2. Check that the webhook path matches your configuration
149
- 3. Ensure your server responds with 200 OK to POST requests
150
- 4. Verify the Chat app is properly configured in Cloud Console
151
-
152
- ### Permission Denied
153
-
154
- 1. Check service account permissions
155
- 2. Verify the bot is added to the target space
156
- 3. Ensure proper IAM roles are assigned
65
+ ```bash
66
+ bun run --cwd plugins/plugin-google-chat build # bunx tsc -p tsconfig.json
67
+ bun run --cwd plugins/plugin-google-chat test # vitest run
68
+ bun run --cwd plugins/plugin-google-chat lint # biome check --write --unsafe
69
+ bun run --cwd plugins/plugin-google-chat typecheck # tsgo --noEmit
70
+ ```
157
71
 
158
- ## License
72
+ Messages longer than 4,000 chars (`MAX_GOOGLE_CHAT_MESSAGE_LENGTH`) can be split with `splitMessageForGoogleChat` (`src/types.ts`), which breaks on newline or word boundaries.
159
73
 
160
- MIT License - see [LICENSE](LICENSE) for details.
74
+ This plugin is separate from `@elizaos/plugin-google` (OAuth for Drive/Calendar). Auth scopes and audience models differ — do not merge.
package/auto-enable.ts CHANGED
@@ -8,7 +8,7 @@ import type { PluginAutoEnableContext } from "@elizaos/core";
8
8
 
9
9
  /** Enable when a `googlechat` connector block is present and not explicitly disabled. */
10
10
  export function shouldEnable(ctx: PluginAutoEnableContext): boolean {
11
- const c = (ctx.config?.connectors as Record<string, unknown> | undefined)
11
+ const c = (ctx.config.connectors as Record<string, unknown> | undefined)
12
12
  ?.googlechat;
13
13
  if (!c || typeof c !== "object") return false;
14
14
  const config = c as Record<string, unknown>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-google-chat",
3
- "version": "2.0.0-beta.1",
3
+ "version": "2.0.3-beta.3",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -9,11 +9,28 @@
9
9
  "./package.json": "./package.json",
10
10
  ".": {
11
11
  "types": "./dist/index.d.ts",
12
+ "eliza-source": {
13
+ "types": "./src/index.ts",
14
+ "import": "./src/index.ts",
15
+ "default": "./src/index.ts"
16
+ },
12
17
  "import": "./dist/index.js",
13
18
  "default": "./dist/index.js"
19
+ },
20
+ "./*.css": "./dist/*.css",
21
+ "./*": {
22
+ "types": "./dist/*.d.ts",
23
+ "eliza-source": {
24
+ "types": "./src/*.ts",
25
+ "import": "./src/*.ts",
26
+ "default": "./src/*.ts"
27
+ },
28
+ "import": "./dist/*.js",
29
+ "default": "./dist/*.js"
14
30
  }
15
31
  },
16
32
  "files": [
33
+ "registry-entry.json",
17
34
  "dist",
18
35
  "auto-enable.ts"
19
36
  ],
@@ -36,10 +53,10 @@
36
53
  "lint:check": "bunx @biomejs/biome check .",
37
54
  "format": "bunx @biomejs/biome format --write .",
38
55
  "format:check": "bunx @biomejs/biome format .",
39
- "typecheck": "tsc --noEmit"
56
+ "typecheck": "tsgo --noEmit"
40
57
  },
41
58
  "dependencies": {
42
- "@elizaos/core": "2.0.0-beta.1",
59
+ "@elizaos/core": "2.0.3-beta.3",
43
60
  "google-auth-library": "^10.0.0",
44
61
  "zod": "^4.4.3"
45
62
  },
@@ -118,5 +135,6 @@
118
135
  "sensitive": false
119
136
  }
120
137
  }
121
- }
138
+ },
139
+ "gitHead": "f54b0f4eaed317d59fa7dbcdce20f4cdb0734420"
122
140
  }
@@ -0,0 +1,127 @@
1
+ {
2
+ "id": "google-chat",
3
+ "name": "Google Chat",
4
+ "description": "Google Chat connector for bots, spaces, and message-driven workflows.",
5
+ "npmName": "@elizaos/plugin-google-chat",
6
+ "version": "2.0.0-beta.0",
7
+ "source": "bundled",
8
+ "tags": [
9
+ "connector",
10
+ "messaging",
11
+ "google-chat",
12
+ "productivity",
13
+ "social",
14
+ "social-chat",
15
+ "google",
16
+ "chat"
17
+ ],
18
+ "config": {
19
+ "GOOGLE_CHAT_SPACES": {
20
+ "type": "string",
21
+ "required": false,
22
+ "sensitive": false,
23
+ "label": "Chat Spaces",
24
+ "help": "Comma-separated space/room list",
25
+ "advanced": false
26
+ },
27
+ "GOOGLE_CHAT_ENABLED": {
28
+ "type": "boolean",
29
+ "required": false,
30
+ "sensitive": false,
31
+ "label": "Chat Enabled",
32
+ "help": "Enable or disable this feature",
33
+ "advanced": false
34
+ },
35
+ "GOOGLE_CHAT_AUDIENCE": {
36
+ "type": "string",
37
+ "required": false,
38
+ "sensitive": false,
39
+ "label": "Chat Audience",
40
+ "help": "Audience/auth scope",
41
+ "advanced": false
42
+ },
43
+ "GOOGLE_CHAT_BOT_USER": {
44
+ "type": "string",
45
+ "required": false,
46
+ "sensitive": false,
47
+ "label": "Chat Bot User",
48
+ "help": "Bot user identifier",
49
+ "advanced": false
50
+ },
51
+ "GOOGLE_CHAT_WEBHOOK_PATH": {
52
+ "type": "file-path",
53
+ "required": false,
54
+ "sensitive": false,
55
+ "label": "Chat Webhook Path",
56
+ "help": "Webhook path",
57
+ "advanced": false
58
+ },
59
+ "GOOGLE_CHAT_AUDIENCE_TYPE": {
60
+ "type": "string",
61
+ "required": false,
62
+ "sensitive": false,
63
+ "label": "Chat Audience Type",
64
+ "help": "Audience/auth scope",
65
+ "advanced": false
66
+ },
67
+ "GOOGLE_CHAT_REQUIRE_MENTION": {
68
+ "type": "boolean",
69
+ "required": false,
70
+ "sensitive": false,
71
+ "label": "Chat Require Mention",
72
+ "help": "Only respond when mentioned",
73
+ "advanced": false
74
+ },
75
+ "GOOGLE_CHAT_SERVICE_ACCOUNT": {
76
+ "type": "number",
77
+ "required": false,
78
+ "sensitive": false,
79
+ "label": "Chat Service Account",
80
+ "help": "Service account credentials",
81
+ "advanced": false,
82
+ "min": 0
83
+ },
84
+ "GOOGLE_APPLICATION_CREDENTIALS": {
85
+ "type": "secret",
86
+ "required": false,
87
+ "sensitive": true,
88
+ "label": "Application Credentials",
89
+ "help": "Credentials file path or JSON",
90
+ "advanced": false
91
+ },
92
+ "GOOGLE_CHAT_SERVICE_ACCOUNT_FILE": {
93
+ "type": "file-path",
94
+ "required": false,
95
+ "sensitive": false,
96
+ "label": "Chat Service Account File",
97
+ "help": "Service account credentials",
98
+ "advanced": false
99
+ }
100
+ },
101
+ "render": {
102
+ "visible": true,
103
+ "pinTo": [],
104
+ "style": "setup-panel",
105
+ "icon": "MessagesSquare",
106
+ "group": "connector",
107
+ "groupOrder": 1,
108
+ "actions": [
109
+ "enable",
110
+ "configure",
111
+ "setup-guide"
112
+ ]
113
+ },
114
+ "resources": {
115
+ "setupGuideUrl": "https://docs.eliza.ai/plugin-setup-guide#google-chat"
116
+ },
117
+ "dependsOn": [],
118
+ "kind": "connector",
119
+ "subtype": "messaging",
120
+ "auth": {
121
+ "kind": "token",
122
+ "credentialKeys": []
123
+ },
124
+ "channels": [
125
+ "googlechat"
126
+ ]
127
+ }
@@ -1,16 +0,0 @@
1
- import type { IAgentRuntime } from "@elizaos/core";
2
- import type { GoogleChatSettings } from "./types.js";
3
- export declare const DEFAULT_GOOGLE_CHAT_ACCOUNT_ID = "default";
4
- export type GoogleChatAccountConfig = Partial<Omit<GoogleChatSettings, "spaces" | "accountId">> & {
5
- accountId?: string;
6
- id?: string;
7
- spaces?: string[] | string;
8
- serviceAccountKey?: string;
9
- serviceAccountKeyFile?: string;
10
- };
11
- export declare function normalizeGoogleChatAccountId(accountId?: unknown): string;
12
- export declare function listGoogleChatAccountIds(runtime: IAgentRuntime): string[];
13
- export declare function resolveDefaultGoogleChatAccountId(runtime: IAgentRuntime): string;
14
- export declare function readGoogleChatAccountId(...sources: unknown[]): string | undefined;
15
- export declare function resolveGoogleChatAccountSettings(runtime: IAgentRuntime, requestedAccountId?: string | null): GoogleChatSettings;
16
- //# sourceMappingURL=accounts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAA0B,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7E,eAAO,MAAM,8BAA8B,YAAY,CAAC;AAExD,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,GAAG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAyEF,wBAAgB,4BAA4B,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAIxE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,CAuBzE;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAQhF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,SAAS,CA6BjF;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,aAAa,EACtB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GACjC,kBAAkB,CA2DpB"}
@@ -1,163 +0,0 @@
1
- export const DEFAULT_GOOGLE_CHAT_ACCOUNT_ID = "default";
2
- function stringSetting(runtime, key) {
3
- const value = runtime.getSetting(key);
4
- return typeof value === "string" && value.trim() ? value.trim() : undefined;
5
- }
6
- function envOrSetting(runtime, key) {
7
- return stringSetting(runtime, key) ?? process.env[key];
8
- }
9
- function characterConfig(runtime) {
10
- const settings = runtime.character?.settings;
11
- const raw = settings?.googleChat ?? settings?.["google-chat"];
12
- return raw && typeof raw === "object" ? raw : {};
13
- }
14
- function parseAccountsJson(runtime) {
15
- const raw = stringSetting(runtime, "GOOGLE_CHAT_ACCOUNTS");
16
- if (!raw)
17
- return {};
18
- try {
19
- const parsed = JSON.parse(raw);
20
- if (Array.isArray(parsed)) {
21
- return Object.fromEntries(parsed
22
- .filter((item) => Boolean(item) && typeof item === "object")
23
- .map((item) => [normalizeGoogleChatAccountId(item.accountId ?? item.id), item]));
24
- }
25
- return parsed && typeof parsed === "object"
26
- ? parsed
27
- : {};
28
- }
29
- catch {
30
- return {};
31
- }
32
- }
33
- function allAccountConfigs(runtime) {
34
- return {
35
- ...(characterConfig(runtime).accounts ?? {}),
36
- ...parseAccountsJson(runtime),
37
- };
38
- }
39
- function accountConfig(runtime, accountId) {
40
- const accounts = allAccountConfigs(runtime);
41
- return accounts[accountId] ?? accounts[normalizeGoogleChatAccountId(accountId)] ?? {};
42
- }
43
- function boolValue(value, fallback = false) {
44
- if (typeof value === "boolean")
45
- return value;
46
- if (typeof value === "string")
47
- return value.trim().toLowerCase() !== "false";
48
- return fallback;
49
- }
50
- function spaceList(value) {
51
- if (Array.isArray(value))
52
- return value.map((space) => String(space).trim()).filter(Boolean);
53
- if (typeof value === "string") {
54
- return value
55
- .split(",")
56
- .map((space) => space.trim())
57
- .filter(Boolean);
58
- }
59
- return [];
60
- }
61
- export function normalizeGoogleChatAccountId(accountId) {
62
- if (typeof accountId !== "string")
63
- return DEFAULT_GOOGLE_CHAT_ACCOUNT_ID;
64
- const trimmed = accountId.trim();
65
- return trimmed || DEFAULT_GOOGLE_CHAT_ACCOUNT_ID;
66
- }
67
- export function listGoogleChatAccountIds(runtime) {
68
- const ids = new Set();
69
- const config = characterConfig(runtime);
70
- if (envOrSetting(runtime, "GOOGLE_CHAT_SERVICE_ACCOUNT") ||
71
- envOrSetting(runtime, "GOOGLE_CHAT_SERVICE_ACCOUNT_FILE") ||
72
- process.env.GOOGLE_APPLICATION_CREDENTIALS ||
73
- config.serviceAccount ||
74
- config.serviceAccountFile ||
75
- config.serviceAccountKey ||
76
- config.serviceAccountKeyFile) {
77
- ids.add(DEFAULT_GOOGLE_CHAT_ACCOUNT_ID);
78
- }
79
- for (const id of Object.keys(allAccountConfigs(runtime))) {
80
- ids.add(normalizeGoogleChatAccountId(id));
81
- }
82
- return Array.from(ids.size ? ids : new Set([DEFAULT_GOOGLE_CHAT_ACCOUNT_ID])).sort((a, b) => a.localeCompare(b));
83
- }
84
- export function resolveDefaultGoogleChatAccountId(runtime) {
85
- const requested = stringSetting(runtime, "GOOGLE_CHAT_DEFAULT_ACCOUNT_ID") ??
86
- stringSetting(runtime, "GOOGLE_CHAT_ACCOUNT_ID");
87
- if (requested)
88
- return normalizeGoogleChatAccountId(requested);
89
- const ids = listGoogleChatAccountIds(runtime);
90
- return ids.includes(DEFAULT_GOOGLE_CHAT_ACCOUNT_ID) ? DEFAULT_GOOGLE_CHAT_ACCOUNT_ID : ids[0];
91
- }
92
- export function readGoogleChatAccountId(...sources) {
93
- for (const source of sources) {
94
- if (!source || typeof source !== "object")
95
- continue;
96
- const record = source;
97
- const parameters = record.parameters && typeof record.parameters === "object"
98
- ? record.parameters
99
- : {};
100
- const data = record.data && typeof record.data === "object"
101
- ? record.data
102
- : {};
103
- const metadata = record.metadata && typeof record.metadata === "object"
104
- ? record.metadata
105
- : {};
106
- const googleChat = data.googleChat && typeof data.googleChat === "object"
107
- ? data.googleChat
108
- : {};
109
- const value = record.accountId ??
110
- parameters.accountId ??
111
- data.accountId ??
112
- googleChat.accountId ??
113
- metadata.accountId;
114
- if (typeof value === "string" && value.trim())
115
- return normalizeGoogleChatAccountId(value);
116
- }
117
- return undefined;
118
- }
119
- export function resolveGoogleChatAccountSettings(runtime, requestedAccountId) {
120
- const accountId = normalizeGoogleChatAccountId(requestedAccountId ?? resolveDefaultGoogleChatAccountId(runtime));
121
- const base = characterConfig(runtime);
122
- const account = accountConfig(runtime, accountId);
123
- const allowEnv = accountId === DEFAULT_GOOGLE_CHAT_ACCOUNT_ID;
124
- const webhookPath = account.webhookPath ??
125
- base.webhookPath ??
126
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_WEBHOOK_PATH") : undefined) ??
127
- "/googlechat";
128
- return {
129
- accountId,
130
- serviceAccount: account.serviceAccount ??
131
- account.serviceAccountKey ??
132
- base.serviceAccount ??
133
- base.serviceAccountKey ??
134
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_SERVICE_ACCOUNT") : undefined),
135
- serviceAccountFile: account.serviceAccountFile ??
136
- account.serviceAccountKeyFile ??
137
- base.serviceAccountFile ??
138
- base.serviceAccountKeyFile ??
139
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_SERVICE_ACCOUNT_FILE") : undefined),
140
- audienceType: (account.audienceType ??
141
- base.audienceType ??
142
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_AUDIENCE_TYPE") : undefined) ??
143
- "app-url"),
144
- audience: account.audience ??
145
- base.audience ??
146
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_AUDIENCE") : undefined) ??
147
- "",
148
- webhookPath: webhookPath.startsWith("/") ? webhookPath : `/${webhookPath}`,
149
- spaces: spaceList(account.spaces ??
150
- base.spaces ??
151
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_SPACES") : undefined)),
152
- requireMention: boolValue(account.requireMention ??
153
- base.requireMention ??
154
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_REQUIRE_MENTION") : undefined), true),
155
- enabled: boolValue(account.enabled ??
156
- base.enabled ??
157
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_ENABLED") : undefined), true),
158
- botUser: account.botUser ??
159
- base.botUser ??
160
- (allowEnv ? envOrSetting(runtime, "GOOGLE_CHAT_BOT_USER") : undefined),
161
- };
162
- }
163
- //# sourceMappingURL=accounts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // Google Chat messaging routes through MESSAGE connector hooks.
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":";AAAA,gEAAgE"}