@elizaos/plugin-slack 2.0.3-beta.5 → 2.0.3-beta.7

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.
@@ -0,0 +1,220 @@
1
+ import { type Character, type Content, type IAgentRuntime, type Memory, type MessageConnectorChatContext, type MessageConnectorQueryContext, type MessageConnectorTarget, type MessageConnectorUserContext, Service, type TargetInfo, type UUID, type World } from "@elizaos/core";
2
+ import { App } from "@slack/bolt";
3
+ type WebClient = App["client"];
4
+ type ConnectorFetchMessagesParams = {
5
+ target?: TargetInfo;
6
+ accountId?: string;
7
+ limit?: number;
8
+ before?: string;
9
+ after?: string;
10
+ cursor?: string;
11
+ channelId?: string;
12
+ roomId?: UUID;
13
+ threadId?: string;
14
+ };
15
+ type ConnectorSearchMessagesParams = ConnectorFetchMessagesParams & {
16
+ query?: string;
17
+ };
18
+ type ConnectorMessageMutationParams = {
19
+ target?: TargetInfo;
20
+ accountId?: string;
21
+ channelId?: string;
22
+ roomId?: UUID;
23
+ threadId?: string;
24
+ messageId?: string;
25
+ messageTs?: string;
26
+ emoji?: string;
27
+ remove?: boolean;
28
+ pin?: boolean;
29
+ text?: string;
30
+ content?: Content;
31
+ };
32
+ type ConnectorUserLookupParams = {
33
+ target?: TargetInfo;
34
+ userId?: string;
35
+ username?: string;
36
+ handle?: string;
37
+ query?: string;
38
+ };
39
+ import { type ISlackService, type SlackChannel, type SlackMessage, type SlackMessageSendOptions, type SlackUser } from "./types";
40
+ /**
41
+ * SlackService class for interacting with Slack via Socket Mode
42
+ */
43
+ export declare class SlackService extends Service implements ISlackService {
44
+ static serviceType: string;
45
+ capabilityDescription: string;
46
+ app: App | null;
47
+ client: WebClient | null;
48
+ character: Character;
49
+ botUserId: string | null;
50
+ teamId: string | null;
51
+ private settings;
52
+ private botToken;
53
+ private appToken;
54
+ private signingSecret;
55
+ private defaultAccountId;
56
+ private accountStates;
57
+ private accountStarts;
58
+ private allowedChannelIds;
59
+ private dynamicChannelIds;
60
+ private userCache;
61
+ private channelCache;
62
+ private isConnected;
63
+ constructor(runtime?: IAgentRuntime);
64
+ private loadSettings;
65
+ private buildAllowedChannelSet;
66
+ static start(runtime: IAgentRuntime): Promise<SlackService>;
67
+ static stop(runtime: IAgentRuntime): Promise<void>;
68
+ static registerSendHandlers(runtime: IAgentRuntime, serviceInstance: SlackService): void;
69
+ stop(): Promise<void>;
70
+ private syncDefaultAccountAliases;
71
+ private initializeAccount;
72
+ private shutdown;
73
+ private registerEventHandlers;
74
+ private getDefaultAccountState;
75
+ private getAccountState;
76
+ private getClientForAccount;
77
+ /**
78
+ * Returns the client that outbound user-action calls (currently
79
+ * chat.postMessage) should use for the given account. OWNER-role
80
+ * accounts with a configured xoxp- user token route through it so
81
+ * the agent posts as the user; everything else stays on the bot
82
+ * client. Falls back to `getClientForAccount` when no per-account
83
+ * state has been initialised yet.
84
+ */
85
+ private getOutboundClient;
86
+ private getSettingsForAccount;
87
+ private getAllowedChannelIdsForAccount;
88
+ private getDynamicChannelIdsForAccount;
89
+ private getUserCacheForAccount;
90
+ private getChannelCacheForAccount;
91
+ private getBotUserIdForAccount;
92
+ private getTeamIdForAccount;
93
+ private getRegisteredAccountIds;
94
+ private resolveAccountIdFromContext;
95
+ private resolveAccountIdForTarget;
96
+ private getCandidateAccountIds;
97
+ private scopedSlackKey;
98
+ private buildEventPayload;
99
+ private handleMessage;
100
+ private handleAppMention;
101
+ private handleReactionAdded;
102
+ private handleReactionRemoved;
103
+ private handleMemberJoinedChannel;
104
+ private handleMemberLeftChannel;
105
+ private handleFileShared;
106
+ private isChannelAllowed;
107
+ private processAgentMessage;
108
+ private buildMemoryFromMessage;
109
+ private buildMemoryFromMention;
110
+ private getRoomId;
111
+ private getEntityId;
112
+ private parseSlackTimestamp;
113
+ private ensureWorkspaceExists;
114
+ private ensureRoomExists;
115
+ private buildConnectorChannelTarget;
116
+ private buildConnectorUserTarget;
117
+ private dedupeConnectorTargets;
118
+ private resolveSlackTargetUserId;
119
+ private openDirectMessageChannel;
120
+ handleSendMessage(runtime: IAgentRuntime, target: TargetInfo, content: Content): Promise<void>;
121
+ /**
122
+ * Fetch an attachment's bytes through the SSRF-guarded media fetcher. Wrapped
123
+ * as an instance method so it can be stubbed in unit tests without mocking the
124
+ * whole runtime/network stack.
125
+ */
126
+ protected fetchAttachmentBytes(url: string): Promise<{
127
+ buffer: Buffer;
128
+ fileName?: string;
129
+ contentType?: string;
130
+ }>;
131
+ /**
132
+ * Upload agent-generated `Media` attachments to a Slack channel (#8876).
133
+ * Slack's API takes file BYTES (not a URL), so each attachment is fetched
134
+ * through the SSRF-guarded fetcher and uploaded via {@link uploadFile}. Each
135
+ * upload is isolated in try/catch so a single unreachable/oversized URL logs a
136
+ * warning and never drops the rest of the reply (the text already went out).
137
+ */
138
+ private sendOutboundAttachments;
139
+ resolveConnectorTargets(query: string, context: MessageConnectorQueryContext): Promise<MessageConnectorTarget[]>;
140
+ listConnectorRooms(context: MessageConnectorQueryContext): Promise<MessageConnectorTarget[]>;
141
+ listRecentConnectorTargets(context: MessageConnectorQueryContext): Promise<MessageConnectorTarget[]>;
142
+ getConnectorChatContext(target: TargetInfo, context: MessageConnectorQueryContext): Promise<MessageConnectorChatContext | null>;
143
+ private resolveConnectorMessageLocation;
144
+ private slackMessageToMemory;
145
+ listConnectorServers(context: MessageConnectorQueryContext): Promise<World[]>;
146
+ fetchConnectorMessages(_context: MessageConnectorQueryContext, params: ConnectorFetchMessagesParams): Promise<Memory[]>;
147
+ searchConnectorMessages(context: MessageConnectorQueryContext, params: ConnectorSearchMessagesParams): Promise<Memory[]>;
148
+ reactConnectorMessage(_runtime: IAgentRuntime, params: ConnectorMessageMutationParams): Promise<void>;
149
+ editConnectorMessage(_runtime: IAgentRuntime, params: ConnectorMessageMutationParams): Promise<Memory>;
150
+ deleteConnectorMessage(_runtime: IAgentRuntime, params: ConnectorMessageMutationParams): Promise<void>;
151
+ pinConnectorMessage(_runtime: IAgentRuntime, params: ConnectorMessageMutationParams): Promise<void>;
152
+ getConnectorUser(runtime: IAgentRuntime, params: ConnectorUserLookupParams): Promise<unknown>;
153
+ getConnectorUserContext(entityId: UUID | string, context: MessageConnectorQueryContext): Promise<MessageConnectorUserContext | null>;
154
+ getUser(userId: string, accountId?: string | null): Promise<SlackUser | null>;
155
+ getChannel(channelId: string, accountId?: string | null): Promise<SlackChannel | null>;
156
+ sendMessage(channelId: string, text: string, options?: SlackMessageSendOptions, accountId?: string | null): Promise<{
157
+ ts: string;
158
+ channelId: string;
159
+ }>;
160
+ sendReaction(channelId: string, messageTs: string, emoji: string, accountId?: string | null): Promise<void>;
161
+ removeReaction(channelId: string, messageTs: string, emoji: string, accountId?: string | null): Promise<void>;
162
+ editMessage(channelId: string, messageTs: string, text: string, accountId?: string | null): Promise<void>;
163
+ deleteMessage(channelId: string, messageTs: string, accountId?: string | null): Promise<void>;
164
+ pinMessage(channelId: string, messageTs: string, accountId?: string | null): Promise<void>;
165
+ unpinMessage(channelId: string, messageTs: string, accountId?: string | null): Promise<void>;
166
+ listPins(channelId: string, accountId?: string | null): Promise<SlackMessage[]>;
167
+ readHistory(channelId: string, options?: {
168
+ limit?: number;
169
+ before?: string;
170
+ after?: string;
171
+ }, accountId?: string | null): Promise<SlackMessage[]>;
172
+ listChannels(options?: {
173
+ types?: string;
174
+ limit?: number;
175
+ }, accountId?: string | null): Promise<SlackChannel[]>;
176
+ getEmojiList(accountId?: string | null): Promise<Record<string, string>>;
177
+ uploadFile(channelId: string, content: Buffer | string, filename: string, options?: {
178
+ title?: string;
179
+ initialComment?: string;
180
+ threadTs?: string;
181
+ }, accountId?: string | null): Promise<{
182
+ fileId: string;
183
+ permalink: string;
184
+ }>;
185
+ private splitMessage;
186
+ /**
187
+ * Add a channel to the dynamic allowed list
188
+ */
189
+ addAllowedChannel(channelId: string, accountId?: string | null): void;
190
+ /**
191
+ * Remove a channel from the dynamic allowed list
192
+ */
193
+ removeAllowedChannel(channelId: string, accountId?: string | null): void;
194
+ /**
195
+ * Get all currently allowed channel IDs
196
+ */
197
+ getAllowedChannelIds(accountId?: string | null): string[];
198
+ /**
199
+ * Check if the service is connected
200
+ */
201
+ isServiceConnected(): boolean;
202
+ /**
203
+ * Get the bot's user ID
204
+ */
205
+ getBotUserId(): string | null;
206
+ /**
207
+ * Get the team/workspace ID
208
+ */
209
+ getTeamId(): string | null;
210
+ /**
211
+ * Clear the user cache
212
+ */
213
+ clearUserCache(): void;
214
+ /**
215
+ * Clear the channel cache
216
+ */
217
+ clearChannelCache(): void;
218
+ }
219
+ export {};
220
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,331 @@
1
+ import type { Character, EntityPayload, EventPayload, MessagePayload, WorldPayload } from "@elizaos/core";
2
+ import type { App as BoltApp } from "@slack/bolt";
3
+ type WebClient = BoltApp["client"];
4
+ /**
5
+ * Slack-specific event types
6
+ */
7
+ export declare enum SlackEventTypes {
8
+ MESSAGE_RECEIVED = "SLACK_MESSAGE_RECEIVED",
9
+ MESSAGE_SENT = "SLACK_MESSAGE_SENT",
10
+ REACTION_ADDED = "SLACK_REACTION_ADDED",
11
+ REACTION_REMOVED = "SLACK_REACTION_REMOVED",
12
+ CHANNEL_JOINED = "SLACK_CHANNEL_JOINED",
13
+ CHANNEL_LEFT = "SLACK_CHANNEL_LEFT",
14
+ MEMBER_JOINED_CHANNEL = "SLACK_MEMBER_JOINED_CHANNEL",
15
+ MEMBER_LEFT_CHANNEL = "SLACK_MEMBER_LEFT_CHANNEL",
16
+ APP_MENTION = "SLACK_APP_MENTION",
17
+ SLASH_COMMAND = "SLACK_SLASH_COMMAND",
18
+ FILE_SHARED = "SLACK_FILE_SHARED",
19
+ THREAD_REPLY = "SLACK_THREAD_REPLY"
20
+ }
21
+ export interface SlackMessageReceivedPayload extends MessagePayload {
22
+ channelId: string;
23
+ threadTs: string | undefined;
24
+ userId: string;
25
+ teamId: string | undefined;
26
+ isThreadReply: boolean;
27
+ files: SlackFile[];
28
+ }
29
+ export interface SlackMessageSentPayload extends MessagePayload {
30
+ channelId: string;
31
+ threadTs: string | undefined;
32
+ messageTs: string;
33
+ }
34
+ export interface SlackReactionPayload extends EventPayload {
35
+ reaction: string;
36
+ userId: string;
37
+ channelId: string;
38
+ messageTs: string;
39
+ itemUser: string | undefined;
40
+ }
41
+ interface SlackChannelPayload extends WorldPayload {
42
+ channelId: string;
43
+ channelName: string;
44
+ channelType: SlackChannelType;
45
+ }
46
+ interface SlackMemberPayload extends EntityPayload {
47
+ userId: string;
48
+ channelId: string;
49
+ }
50
+ interface SlackAppMentionPayload extends MessagePayload {
51
+ channelId: string;
52
+ userId: string;
53
+ threadTs: string | undefined;
54
+ }
55
+ interface SlackSlashCommandPayload extends EventPayload {
56
+ command: string;
57
+ text: string;
58
+ userId: string;
59
+ channelId: string;
60
+ teamId: string;
61
+ responseUrl: string;
62
+ triggerId: string;
63
+ }
64
+ export interface SlackFile {
65
+ id: string;
66
+ name: string;
67
+ title: string;
68
+ mimetype: string;
69
+ filetype: string;
70
+ size: number;
71
+ urlPrivate: string;
72
+ urlPrivateDownload: string | undefined;
73
+ permalink: string;
74
+ thumb64: string | undefined;
75
+ thumb80: string | undefined;
76
+ thumb360: string | undefined;
77
+ }
78
+ export type SlackChannelType = "channel" | "group" | "im" | "mpim";
79
+ export interface SlackEventPayloadMap {
80
+ [SlackEventTypes.MESSAGE_RECEIVED]: SlackMessageReceivedPayload;
81
+ [SlackEventTypes.MESSAGE_SENT]: SlackMessageSentPayload;
82
+ [SlackEventTypes.REACTION_ADDED]: SlackReactionPayload;
83
+ [SlackEventTypes.REACTION_REMOVED]: SlackReactionPayload;
84
+ [SlackEventTypes.CHANNEL_JOINED]: SlackChannelPayload;
85
+ [SlackEventTypes.CHANNEL_LEFT]: SlackChannelPayload;
86
+ [SlackEventTypes.MEMBER_JOINED_CHANNEL]: SlackMemberPayload;
87
+ [SlackEventTypes.MEMBER_LEFT_CHANNEL]: SlackMemberPayload;
88
+ [SlackEventTypes.APP_MENTION]: SlackAppMentionPayload;
89
+ [SlackEventTypes.SLASH_COMMAND]: SlackSlashCommandPayload;
90
+ [SlackEventTypes.FILE_SHARED]: SlackMessageReceivedPayload;
91
+ [SlackEventTypes.THREAD_REPLY]: SlackMessageReceivedPayload;
92
+ }
93
+ export interface SlackUser {
94
+ id: string;
95
+ teamId: string | undefined;
96
+ name: string;
97
+ deleted: boolean;
98
+ realName: string | undefined;
99
+ tz: string | undefined;
100
+ tzLabel: string | undefined;
101
+ tzOffset: number | undefined;
102
+ profile: SlackUserProfile;
103
+ isAdmin: boolean;
104
+ isOwner: boolean;
105
+ isPrimaryOwner: boolean;
106
+ isRestricted: boolean;
107
+ isUltraRestricted: boolean;
108
+ isBot: boolean;
109
+ isAppUser: boolean;
110
+ updated: number;
111
+ }
112
+ export interface SlackUserProfile {
113
+ title: string | undefined;
114
+ phone: string | undefined;
115
+ skype: string | undefined;
116
+ realName: string | undefined;
117
+ realNameNormalized: string | undefined;
118
+ displayName: string | undefined;
119
+ displayNameNormalized: string | undefined;
120
+ statusText: string | undefined;
121
+ statusEmoji: string | undefined;
122
+ statusExpiration: number | undefined;
123
+ avatarHash: string | undefined;
124
+ email: string | undefined;
125
+ image24: string | undefined;
126
+ image32: string | undefined;
127
+ image48: string | undefined;
128
+ image72: string | undefined;
129
+ image192: string | undefined;
130
+ image512: string | undefined;
131
+ image1024: string | undefined;
132
+ imageOriginal: string | undefined;
133
+ team: string | undefined;
134
+ }
135
+ export interface SlackChannel {
136
+ id: string;
137
+ name: string;
138
+ isChannel: boolean;
139
+ isGroup: boolean;
140
+ isIm: boolean;
141
+ isMpim: boolean;
142
+ isPrivate: boolean;
143
+ isArchived: boolean;
144
+ isGeneral: boolean;
145
+ isShared: boolean;
146
+ isOrgShared: boolean;
147
+ isMember: boolean;
148
+ topic: SlackChannelTopic | undefined;
149
+ purpose: SlackChannelPurpose | undefined;
150
+ numMembers: number | undefined;
151
+ created: number;
152
+ creator: string;
153
+ }
154
+ interface SlackChannelTopic {
155
+ value: string;
156
+ creator: string;
157
+ lastSet: number;
158
+ }
159
+ interface SlackChannelPurpose {
160
+ value: string;
161
+ creator: string;
162
+ lastSet: number;
163
+ }
164
+ export interface SlackMessage {
165
+ type: string;
166
+ subtype: string | undefined;
167
+ ts: string;
168
+ user: string | undefined;
169
+ text: string;
170
+ threadTs: string | undefined;
171
+ replyCount: number | undefined;
172
+ replyUsersCount: number | undefined;
173
+ latestReply: string | undefined;
174
+ reactions: SlackReaction[] | undefined;
175
+ files: SlackFile[] | undefined;
176
+ attachments: SlackAttachment[] | undefined;
177
+ blocks: SlackBlock[] | undefined;
178
+ }
179
+ export interface SlackReaction {
180
+ name: string;
181
+ count: number;
182
+ users: string[];
183
+ }
184
+ export interface SlackAttachment {
185
+ id: number;
186
+ fallback: string | undefined;
187
+ color: string | undefined;
188
+ pretext: string | undefined;
189
+ authorName: string | undefined;
190
+ authorLink: string | undefined;
191
+ authorIcon: string | undefined;
192
+ title: string | undefined;
193
+ titleLink: string | undefined;
194
+ text: string | undefined;
195
+ fields: SlackAttachmentField[] | undefined;
196
+ imageUrl: string | undefined;
197
+ thumbUrl: string | undefined;
198
+ footer: string | undefined;
199
+ footerIcon: string | undefined;
200
+ ts: string | undefined;
201
+ }
202
+ interface SlackAttachmentField {
203
+ title: string;
204
+ value: string;
205
+ short: boolean;
206
+ }
207
+ export interface SlackBlock {
208
+ type: string;
209
+ blockId: string | undefined;
210
+ elements: SlackBlockElement[] | undefined;
211
+ text: SlackBlockText | undefined;
212
+ }
213
+ interface SlackBlockElement {
214
+ type: string;
215
+ text: SlackBlockText | undefined;
216
+ actionId: string | undefined;
217
+ url: string | undefined;
218
+ value: string | undefined;
219
+ style: string | undefined;
220
+ }
221
+ interface SlackBlockText {
222
+ type: string;
223
+ text: string;
224
+ emoji: boolean | undefined;
225
+ verbatim: boolean | undefined;
226
+ }
227
+ export interface SlackTeam {
228
+ id: string;
229
+ name: string;
230
+ domain: string;
231
+ emailDomain: string | undefined;
232
+ icon: SlackTeamIcon;
233
+ }
234
+ interface SlackTeamIcon {
235
+ image34: string | undefined;
236
+ image44: string | undefined;
237
+ image68: string | undefined;
238
+ image88: string | undefined;
239
+ image102: string | undefined;
240
+ image132: string | undefined;
241
+ image230: string | undefined;
242
+ imageDefault: boolean;
243
+ }
244
+ export interface ISlackService {
245
+ app: BoltApp | null;
246
+ client: WebClient | null;
247
+ character: Character;
248
+ botUserId: string | null;
249
+ teamId: string | null;
250
+ }
251
+ export declare const SLACK_SERVICE_NAME = "slack";
252
+ export interface SlackSettings {
253
+ allowedChannelIds: string[] | undefined;
254
+ shouldIgnoreBotMessages: boolean;
255
+ shouldRespondOnlyToMentions: boolean;
256
+ }
257
+ export interface SlackMessageSendOptions {
258
+ threadTs: string | undefined;
259
+ replyBroadcast: boolean | undefined;
260
+ unfurlLinks: boolean | undefined;
261
+ unfurlMedia: boolean | undefined;
262
+ mrkdwn: boolean | undefined;
263
+ attachments: SlackAttachment[] | undefined;
264
+ blocks: SlackBlock[] | undefined;
265
+ }
266
+ export declare class SlackPluginError extends Error {
267
+ readonly code: string;
268
+ constructor(message: string, code: string);
269
+ }
270
+ export declare class SlackServiceNotInitializedError extends SlackPluginError {
271
+ constructor();
272
+ }
273
+ export declare class SlackClientNotAvailableError extends SlackPluginError {
274
+ constructor();
275
+ }
276
+ export declare class SlackConfigurationError extends SlackPluginError {
277
+ constructor(missingConfig: string);
278
+ }
279
+ export declare class SlackApiError extends SlackPluginError {
280
+ readonly apiErrorCode: string | undefined;
281
+ constructor(message: string, apiErrorCode: string | undefined);
282
+ }
283
+ /**
284
+ * Validates a Slack channel ID format
285
+ */
286
+ export declare function isValidChannelId(id: string): boolean;
287
+ /**
288
+ * Validates a Slack user ID format
289
+ */
290
+ export declare function isValidUserId(id: string): boolean;
291
+ /**
292
+ * Validates a Slack team ID format
293
+ */
294
+ export declare function isValidTeamId(id: string): boolean;
295
+ /**
296
+ * Validates a Slack message timestamp format
297
+ */
298
+ export declare function isValidMessageTs(ts: string): boolean;
299
+ /**
300
+ * Parses a Slack message link to extract channel and message IDs
301
+ */
302
+ export declare function parseSlackMessageLink(link: string): {
303
+ channelId: string;
304
+ messageTs: string;
305
+ } | null;
306
+ /**
307
+ * Formats a message timestamp for use in Slack links
308
+ */
309
+ export declare function formatMessageTsForLink(ts: string): string;
310
+ /**
311
+ * Gets the display name for a Slack user
312
+ */
313
+ export declare function getSlackUserDisplayName(user: SlackUser): string;
314
+ /**
315
+ * Determines the channel type from a Slack channel object
316
+ */
317
+ export declare function getSlackChannelType(channel: SlackChannel): SlackChannelType;
318
+ /**
319
+ * Maximum message length for Slack messages
320
+ */
321
+ export declare const MAX_SLACK_MESSAGE_LENGTH = 4000;
322
+ /**
323
+ * Maximum number of blocks per message
324
+ */
325
+ export declare const MAX_SLACK_BLOCKS = 50;
326
+ /**
327
+ * Maximum file size for uploads (in bytes) - 1GB for paid, varies for free
328
+ */
329
+ export declare const MAX_SLACK_FILE_SIZE: number;
330
+ export {};
331
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type IAgentRuntime, Service } from "@elizaos/core";
2
+ type CredentialProviderResult = {
3
+ status: "credential_data";
4
+ data: Record<string, unknown>;
5
+ } | {
6
+ status: "needs_auth";
7
+ authUrl: string;
8
+ } | null;
9
+ export declare class SlackWorkflowCredentialProvider extends Service {
10
+ static readonly serviceType = "workflow_credential_provider";
11
+ capabilityDescription: string;
12
+ static start(runtime: IAgentRuntime): Promise<SlackWorkflowCredentialProvider>;
13
+ stop(): Promise<void>;
14
+ resolve(_userId: string, credType: string): Promise<CredentialProviderResult>;
15
+ checkCredentialTypes(credTypes: string[]): {
16
+ supported: string[];
17
+ unsupported: string[];
18
+ };
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=workflow-credential-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-credential-provider.d.ts","sourceRoot":"","sources":["../src/workflow-credential-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK5D,KAAK,wBAAwB,GACzB;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC,IAAI,CAAC;AAIT,qBAAa,+BAAgC,SAAQ,OAAO;IAC1D,gBAAyB,WAAW,kCAAqC;IAChE,qBAAqB,SACyB;WAE1C,KAAK,CAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,+BAA+B,CAAC;IAIrC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAErB,OAAO,CACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC;IA0BpC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG;QACzC,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;CAMF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-slack",
3
- "version": "2.0.3-beta.5",
3
+ "version": "2.0.3-beta.7",
4
4
  "description": "Slack integration plugin for elizaOS agents with Socket Mode support",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -70,7 +70,7 @@
70
70
  "format:check": "bunx @biomejs/biome format ."
71
71
  },
72
72
  "dependencies": {
73
- "@elizaos/core": "2.0.3-beta.5",
73
+ "@elizaos/core": "2.0.3-beta.7",
74
74
  "@slack/bolt": "^4.1.0",
75
75
  "@slack/web-api": "^7.15.2"
76
76
  },
@@ -82,7 +82,7 @@
82
82
  "vitest": "^4.1.4"
83
83
  },
84
84
  "peerDependencies": {
85
- "@elizaos/core": "2.0.3-beta.5"
85
+ "@elizaos/core": "2.0.3-beta.7"
86
86
  },
87
87
  "publishConfig": {
88
88
  "access": "public"
@@ -134,5 +134,5 @@
134
134
  }
135
135
  }
136
136
  },
137
- "gitHead": "ff6157011c9459670021cc28a6797592a78b8817"
137
+ "gitHead": "61094f10458d11055c75b3dd0bae374e3f66bac5"
138
138
  }