@elizaos/plugin-slack 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/README.md +3 -29
- package/auto-enable.ts +1 -1
- package/package.json +30 -12
- package/registry-entry.json +103 -0
- package/dist/index.js +0 -3036
- package/dist/index.js.map +0 -17
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @elizaos/plugin-slack
|
|
2
2
|
|
|
3
|
-
Slack integration plugin for
|
|
3
|
+
Slack integration plugin for elizaOS agents with Socket Mode support.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
@@ -109,7 +109,6 @@ const agent = {
|
|
|
109
109
|
```json
|
|
110
110
|
{
|
|
111
111
|
"name": "MyAgent",
|
|
112
|
-
"clients": ["slack"],
|
|
113
112
|
"settings": {
|
|
114
113
|
"slack": {
|
|
115
114
|
"shouldIgnoreBotMessages": true,
|
|
@@ -119,31 +118,9 @@ const agent = {
|
|
|
119
118
|
}
|
|
120
119
|
```
|
|
121
120
|
|
|
122
|
-
##
|
|
121
|
+
## Connector capabilities
|
|
123
122
|
|
|
124
|
-
Slack messaging is
|
|
125
|
-
`source: "slack"` when a request needs to target Slack explicitly.
|
|
126
|
-
|
|
127
|
-
| Primary action | Operation | Description |
|
|
128
|
-
|----------------|-----------|-------------|
|
|
129
|
-
| `MESSAGE` | `send` | Send a message to a channel, DM, or thread |
|
|
130
|
-
| `MESSAGE` | `read` | Read recent message history from a channel, DM, or thread |
|
|
131
|
-
| `MESSAGE` | `search` | Search Slack message history |
|
|
132
|
-
| `MESSAGE` | `list_channels` | List available channels |
|
|
133
|
-
| `MESSAGE` | `list_servers` | List connected Slack workspaces |
|
|
134
|
-
| `MESSAGE` | `react` | Add or remove emoji reactions |
|
|
135
|
-
| `MESSAGE` | `edit` | Edit an existing message |
|
|
136
|
-
| `MESSAGE` | `delete` | Delete a message |
|
|
137
|
-
| `MESSAGE` | `pin` | Pin or unpin a message |
|
|
138
|
-
| `MESSAGE` | `get_user` | Get information about a user |
|
|
139
|
-
|
|
140
|
-
## Providers
|
|
141
|
-
|
|
142
|
-
| Provider | Description |
|
|
143
|
-
|----------|-------------|
|
|
144
|
-
| `slackChannelState` | Current channel context and metadata |
|
|
145
|
-
| `slackWorkspaceInfo` | Workspace-level information |
|
|
146
|
-
| `slackMemberList` | Members in the current channel |
|
|
123
|
+
This plugin registers no elizaOS actions. Slack messaging is handled via the `MessageConnector` interface. The registered connector exposes these capabilities: `send_message`, `read_messages`, `search_messages`, `resolve_targets`, `list_rooms`, `list_servers`, `chat_context`, `user_context`, `react_message`, `edit_message`, `delete_message`, `pin_message`, `get_user`.
|
|
147
124
|
|
|
148
125
|
## Events
|
|
149
126
|
|
|
@@ -204,6 +181,3 @@ const channels = await slackService.listChannels();
|
|
|
204
181
|
2. Check that the app-level token has `connections:write` scope
|
|
205
182
|
3. Ensure only one instance of the bot is running per token
|
|
206
183
|
|
|
207
|
-
## License
|
|
208
|
-
|
|
209
|
-
MIT
|
package/auto-enable.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { PluginAutoEnableContext } from "@elizaos/core";
|
|
|
8
8
|
|
|
9
9
|
/** Enable when a `slack` connector block is present and not explicitly disabled. */
|
|
10
10
|
export function shouldEnable(ctx: PluginAutoEnableContext): boolean {
|
|
11
|
-
const c = (ctx.config
|
|
11
|
+
const c = (ctx.config.connectors as Record<string, unknown> | undefined)
|
|
12
12
|
?.slack;
|
|
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-slack",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3-beta.3",
|
|
4
4
|
"description": "Slack integration plugin for elizaOS agents with Socket Mode support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -15,11 +15,28 @@
|
|
|
15
15
|
"./package.json": "./package.json",
|
|
16
16
|
".": {
|
|
17
17
|
"types": "./dist/index.d.ts",
|
|
18
|
+
"eliza-source": {
|
|
19
|
+
"types": "./src/index.ts",
|
|
20
|
+
"import": "./src/index.ts",
|
|
21
|
+
"default": "./src/index.ts"
|
|
22
|
+
},
|
|
18
23
|
"import": "./dist/index.js",
|
|
19
24
|
"default": "./dist/index.js"
|
|
25
|
+
},
|
|
26
|
+
"./*.css": "./dist/*.css",
|
|
27
|
+
"./*": {
|
|
28
|
+
"types": "./dist/*.d.ts",
|
|
29
|
+
"eliza-source": {
|
|
30
|
+
"types": "./src/*.ts",
|
|
31
|
+
"import": "./src/*.ts",
|
|
32
|
+
"default": "./src/*.ts"
|
|
33
|
+
},
|
|
34
|
+
"import": "./dist/*.js",
|
|
35
|
+
"default": "./dist/*.js"
|
|
20
36
|
}
|
|
21
37
|
},
|
|
22
38
|
"files": [
|
|
39
|
+
"registry-entry.json",
|
|
23
40
|
"dist",
|
|
24
41
|
"auto-enable.ts"
|
|
25
42
|
],
|
|
@@ -45,27 +62,27 @@
|
|
|
45
62
|
"build:ts": "bun run build.ts",
|
|
46
63
|
"dev": "bun --hot build.ts",
|
|
47
64
|
"clean": "rm -rf dist .turbo",
|
|
48
|
-
"test": "vitest run
|
|
49
|
-
"typecheck": "
|
|
50
|
-
"lint": "
|
|
51
|
-
"lint:check": "
|
|
52
|
-
"format": "
|
|
53
|
-
"format:check": "
|
|
65
|
+
"test": "vitest run",
|
|
66
|
+
"typecheck": "tsgo --noEmit",
|
|
67
|
+
"lint": "bunx @biomejs/biome check --write --unsafe .",
|
|
68
|
+
"lint:check": "bunx @biomejs/biome check .",
|
|
69
|
+
"format": "bunx @biomejs/biome format --write .",
|
|
70
|
+
"format:check": "bunx @biomejs/biome format ."
|
|
54
71
|
},
|
|
55
72
|
"dependencies": {
|
|
56
|
-
"@elizaos/core": "2.0.
|
|
73
|
+
"@elizaos/core": "2.0.3-beta.3",
|
|
57
74
|
"@slack/bolt": "^4.1.0",
|
|
58
|
-
"@slack/web-api": "^7.15.2"
|
|
59
|
-
"zod": "^4.4.3"
|
|
75
|
+
"@slack/web-api": "^7.15.2"
|
|
60
76
|
},
|
|
61
77
|
"devDependencies": {
|
|
62
78
|
"@biomejs/biome": "^2.4.14",
|
|
63
79
|
"@types/node": "^25.0.3",
|
|
80
|
+
"bun-types": "^1.2.25",
|
|
64
81
|
"typescript": "^6.0.3",
|
|
65
82
|
"vitest": "^4.1.4"
|
|
66
83
|
},
|
|
67
84
|
"peerDependencies": {
|
|
68
|
-
"@elizaos/core": "2.0.
|
|
85
|
+
"@elizaos/core": "2.0.3-beta.3"
|
|
69
86
|
},
|
|
70
87
|
"publishConfig": {
|
|
71
88
|
"access": "public"
|
|
@@ -116,5 +133,6 @@
|
|
|
116
133
|
"sensitive": false
|
|
117
134
|
}
|
|
118
135
|
}
|
|
119
|
-
}
|
|
136
|
+
},
|
|
137
|
+
"gitHead": "f54b0f4eaed317d59fa7dbcdce20f4cdb0734420"
|
|
120
138
|
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "slack",
|
|
3
|
+
"name": "Slack",
|
|
4
|
+
"description": "Slack connector for elizaOS agents with Eliza Cloud OAuth and local Socket Mode support.",
|
|
5
|
+
"npmName": "@elizaos/plugin-slack",
|
|
6
|
+
"version": "2.0.0-beta.0",
|
|
7
|
+
"source": "bundled",
|
|
8
|
+
"tags": ["slack", "chat", "messaging", "connector", "social", "social-chat"],
|
|
9
|
+
"config": {
|
|
10
|
+
"SLACK_APP_TOKEN": {
|
|
11
|
+
"type": "secret",
|
|
12
|
+
"required": true,
|
|
13
|
+
"sensitive": true,
|
|
14
|
+
"label": "App Token",
|
|
15
|
+
"help": "Slack App Token (xapp-...) for Socket Mode connections",
|
|
16
|
+
"advanced": false
|
|
17
|
+
},
|
|
18
|
+
"SLACK_BOT_TOKEN": {
|
|
19
|
+
"type": "secret",
|
|
20
|
+
"required": true,
|
|
21
|
+
"sensitive": true,
|
|
22
|
+
"label": "Bot Token",
|
|
23
|
+
"help": "Slack Bot Token (xoxb-...) for API authentication",
|
|
24
|
+
"advanced": false
|
|
25
|
+
},
|
|
26
|
+
"SLACK_USER_TOKEN": {
|
|
27
|
+
"type": "secret",
|
|
28
|
+
"required": false,
|
|
29
|
+
"sensitive": true,
|
|
30
|
+
"label": "User Token",
|
|
31
|
+
"help": "Optional User Token (xoxp-...) for enhanced permissions",
|
|
32
|
+
"advanced": false
|
|
33
|
+
},
|
|
34
|
+
"SLACK_CHANNEL_IDS": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"required": false,
|
|
37
|
+
"sensitive": false,
|
|
38
|
+
"label": "Channel Ids",
|
|
39
|
+
"help": "Comma-separated list of channel IDs to restrict the bot to",
|
|
40
|
+
"advanced": false
|
|
41
|
+
},
|
|
42
|
+
"SLACK_SIGNING_SECRET": {
|
|
43
|
+
"type": "secret",
|
|
44
|
+
"required": false,
|
|
45
|
+
"sensitive": true,
|
|
46
|
+
"label": "Signing Secret",
|
|
47
|
+
"help": "Slack Signing Secret for verifying requests",
|
|
48
|
+
"advanced": false
|
|
49
|
+
},
|
|
50
|
+
"SLACK_SHOULD_IGNORE_BOT_MESSAGES": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"required": false,
|
|
53
|
+
"sensitive": false,
|
|
54
|
+
"label": "Should Ignore Bot Messages",
|
|
55
|
+
"help": "If true, the bot will ignore messages from other bots",
|
|
56
|
+
"advanced": false
|
|
57
|
+
},
|
|
58
|
+
"SLACK_SHOULD_RESPOND_ONLY_TO_MENTIONS": {
|
|
59
|
+
"type": "boolean",
|
|
60
|
+
"required": false,
|
|
61
|
+
"sensitive": false,
|
|
62
|
+
"label": "Should Respond Only To Mentions",
|
|
63
|
+
"help": "If true, the bot will only respond when mentioned",
|
|
64
|
+
"advanced": false
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"render": {
|
|
68
|
+
"visible": true,
|
|
69
|
+
"pinTo": [],
|
|
70
|
+
"style": "setup-panel",
|
|
71
|
+
"icon": "Briefcase",
|
|
72
|
+
"group": "connector",
|
|
73
|
+
"groupOrder": 1,
|
|
74
|
+
"actions": ["enable", "configure", "setup-guide"]
|
|
75
|
+
},
|
|
76
|
+
"resources": {
|
|
77
|
+
"homepage": "https://github.com/elizaos-plugins/plugin-slack#readme",
|
|
78
|
+
"repository": "https://github.com/elizaos-plugins/plugin-slack",
|
|
79
|
+
"setupGuideUrl": "https://docs.eliza.ai/plugin-setup-guide#slack"
|
|
80
|
+
},
|
|
81
|
+
"dependsOn": [],
|
|
82
|
+
"kind": "connector",
|
|
83
|
+
"subtype": "messaging",
|
|
84
|
+
"auth": {
|
|
85
|
+
"kind": "oauth",
|
|
86
|
+
"credentialKeys": ["SLACK_APP_TOKEN"]
|
|
87
|
+
},
|
|
88
|
+
"accounts": {
|
|
89
|
+
"owner": {
|
|
90
|
+
"supported": true,
|
|
91
|
+
"authKind": "oauth-cloud",
|
|
92
|
+
"credentialKeys": [],
|
|
93
|
+
"notes": "The user's own Slack identity (xoxp-... user token), connected via Eliza Cloud OAuth so the agent can read the user's channels, write messages as them, search their conversations, and read files they have access to."
|
|
94
|
+
},
|
|
95
|
+
"agent": {
|
|
96
|
+
"supported": true,
|
|
97
|
+
"authKind": "oauth-cloud",
|
|
98
|
+
"credentialKeys": [],
|
|
99
|
+
"notes": "The agent's own Slack bot identity (xoxb-... bot token), installed into the workspace via Eliza Cloud OAuth. Posts, mentions, replies, and DMs flow through the bot user."
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"channels": ["slack"]
|
|
103
|
+
}
|