@elizaos/plugin-google-chat 2.0.0-alpha.6 → 2.0.0-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/README.md +160 -0
- package/auto-enable.ts +21 -0
- package/dist/src/accounts.d.ts +16 -0
- package/dist/src/accounts.d.ts.map +1 -0
- package/dist/src/accounts.js +163 -0
- package/dist/src/accounts.js.map +1 -0
- package/dist/src/actions/index.d.ts +1 -0
- package/dist/src/actions/index.d.ts.map +1 -0
- package/dist/src/actions/index.js +3 -0
- package/dist/src/actions/index.js.map +1 -0
- package/dist/src/config.d.ts +91 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +8 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/connector-account-provider.d.ts +22 -0
- package/dist/src/connector-account-provider.d.ts.map +1 -0
- package/dist/src/connector-account-provider.js +89 -0
- package/dist/src/connector-account-provider.js.map +1 -0
- package/dist/src/index.d.ts +18 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +66 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/providers/index.d.ts +1 -0
- package/dist/src/providers/index.d.ts.map +1 -0
- package/dist/src/providers/index.js +3 -0
- package/dist/src/providers/index.js.map +1 -0
- package/dist/src/service.d.ts +62 -0
- package/dist/src/service.d.ts.map +1 -0
- package/dist/src/service.js +724 -0
- package/dist/src/service.js.map +1 -0
- package/dist/src/types.d.ts +216 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +144 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/workflow-credential-provider.d.ts +21 -0
- package/dist/src/workflow-credential-provider.d.ts.map +1 -0
- package/dist/src/workflow-credential-provider.js +57 -0
- package/dist/src/workflow-credential-provider.js.map +1 -0
- package/package.json +20 -11
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1115
- package/dist/index.js.map +0 -17
|
@@ -0,0 +1,66 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";AAAA,gEAAgE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,aAAa,EAMlB,OAAO,EAGR,MAAM,eAAe,CAAC;AAUvB,OAAO,EAKL,KAAK,eAAe,EAEpB,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EAIxB,MAAM,YAAY,CAAC;AAkLpB,qBAAa,iBAAkB,SAAQ,OAAQ,YAAW,kBAAkB;IAC1E,MAAM,CAAC,WAAW,SAA4B;IAE9C,qBAAqB,SAC0D;IAE/E,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,gBAAgB,CAAkC;WAE7C,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4CtE,MAAM,CAAC,oBAAoB,CACzB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,SAAgC,GACxC,IAAI;IAoLD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,UAAU;YAoBJ,cAAc;IAyB5B,WAAW,IAAI,OAAO;IAStB,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IAe7C,UAAU,IAAI,MAAM,GAAG,SAAS;IAI1B,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAa3C,QAAQ;IAuBhB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAQzD,WAAW,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuDjF,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBhE,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsB1C,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BzD,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsB1C,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAe1B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAQxF,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA2CxC,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCpD,WAAW,IAAI,kBAAkB,GAAG,IAAI;IAQlC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAalE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YASxD,iBAAiB;YA6BjB,0BAA0B;YAY1B,oBAAoB;YAiBpB,mBAAmB;IAS3B,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCpF,OAAO,CAAC,QAAQ;CA4BjB"}
|