@herdctl/slack 0.3.0 → 1.0.0
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/dist/__tests__/command-handler.test.js +1 -0
- package/dist/__tests__/command-handler.test.js.map +1 -1
- package/dist/__tests__/error-handler.test.js +25 -25
- package/dist/__tests__/error-handler.test.js.map +1 -1
- package/dist/__tests__/formatting.test.js +9 -9
- package/dist/__tests__/formatting.test.js.map +1 -1
- package/dist/__tests__/manager.test.d.ts +8 -0
- package/dist/__tests__/manager.test.d.ts.map +1 -0
- package/dist/__tests__/manager.test.js +278 -0
- package/dist/__tests__/manager.test.js.map +1 -0
- package/dist/__tests__/slack-connector.test.js +1 -0
- package/dist/__tests__/slack-connector.test.js.map +1 -1
- package/dist/commands/command-handler.d.ts +3 -3
- package/dist/commands/command-handler.d.ts.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +1 -54
- package/dist/commands/status.js.map +1 -1
- package/dist/error-handler.d.ts +12 -33
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js +32 -57
- package/dist/error-handler.js.map +1 -1
- package/dist/formatting.d.ts +4 -45
- package/dist/formatting.d.ts.map +1 -1
- package/dist/formatting.js +10 -96
- package/dist/formatting.js.map +1 -1
- package/dist/index.d.ts +7 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -11
- package/dist/index.js.map +1 -1
- package/dist/manager.d.ts +156 -0
- package/dist/manager.d.ts.map +1 -0
- package/dist/manager.js +531 -0
- package/dist/manager.js.map +1 -0
- package/dist/slack-connector.d.ts +3 -2
- package/dist/slack-connector.d.ts.map +1 -1
- package/dist/slack-connector.js.map +1 -1
- package/dist/types.d.ts +3 -23
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/__tests__/session-manager.test.d.ts +0 -2
- package/dist/__tests__/session-manager.test.d.ts.map +0 -1
- package/dist/__tests__/session-manager.test.js +0 -214
- package/dist/__tests__/session-manager.test.js.map +0 -1
- package/dist/session-manager/errors.d.ts +0 -58
- package/dist/session-manager/errors.d.ts.map +0 -1
- package/dist/session-manager/errors.js +0 -70
- package/dist/session-manager/errors.js.map +0 -1
- package/dist/session-manager/index.d.ts +0 -9
- package/dist/session-manager/index.d.ts.map +0 -1
- package/dist/session-manager/index.js +0 -13
- package/dist/session-manager/index.js.map +0 -1
- package/dist/session-manager/session-manager.d.ts +0 -62
- package/dist/session-manager/session-manager.d.ts.map +0 -1
- package/dist/session-manager/session-manager.js +0 -320
- package/dist/session-manager/session-manager.js.map +0 -1
- package/dist/session-manager/types.d.ts +0 -154
- package/dist/session-manager/types.d.ts.map +0 -1
- package/dist/session-manager/types.js +0 -57
- package/dist/session-manager/types.js.map +0 -1
package/dist/manager.js
ADDED
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slack Manager Module
|
|
3
|
+
*
|
|
4
|
+
* Manages Slack connectors for agents that have `chat.slack` configured.
|
|
5
|
+
* This module is responsible for:
|
|
6
|
+
* - Creating one SlackConnector instance per Slack-enabled agent
|
|
7
|
+
* - Managing connector lifecycle (start/stop)
|
|
8
|
+
* - Providing access to connectors for status queries
|
|
9
|
+
*
|
|
10
|
+
* @module manager
|
|
11
|
+
*/
|
|
12
|
+
import { createFileSenderDef, } from "@herdctl/core";
|
|
13
|
+
import { StreamingResponder, extractMessageContent, splitMessage, ChatSessionManager, } from "@herdctl/chat";
|
|
14
|
+
import { SlackConnector } from "./slack-connector.js";
|
|
15
|
+
import { markdownToMrkdwn } from "./formatting.js";
|
|
16
|
+
/**
|
|
17
|
+
* SlackManager handles Slack connections for agents
|
|
18
|
+
*
|
|
19
|
+
* This class encapsulates the creation and lifecycle management of
|
|
20
|
+
* SlackConnector instances for agents that have Slack chat configured.
|
|
21
|
+
*
|
|
22
|
+
* Implements IChatManager so FleetManager can interact with it through
|
|
23
|
+
* the generic chat manager interface.
|
|
24
|
+
*/
|
|
25
|
+
export class SlackManager {
|
|
26
|
+
ctx;
|
|
27
|
+
connectors = new Map();
|
|
28
|
+
initialized = false;
|
|
29
|
+
constructor(ctx) {
|
|
30
|
+
this.ctx = ctx;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Initialize Slack connectors for all configured agents
|
|
34
|
+
*
|
|
35
|
+
* This method:
|
|
36
|
+
* 1. Iterates through agents to find those with Slack configured
|
|
37
|
+
* 2. Creates a SlackConnector for each Slack-enabled agent
|
|
38
|
+
*
|
|
39
|
+
* Should be called during FleetManager initialization.
|
|
40
|
+
*/
|
|
41
|
+
async initialize() {
|
|
42
|
+
if (this.initialized) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const logger = this.ctx.getLogger();
|
|
46
|
+
const config = this.ctx.getConfig();
|
|
47
|
+
if (!config) {
|
|
48
|
+
logger.debug("No config available, skipping Slack initialization");
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const stateDir = this.ctx.getStateDir();
|
|
52
|
+
// Find agents with Slack configured
|
|
53
|
+
const slackAgents = config.agents.filter((agent) => agent.chat?.slack !== undefined);
|
|
54
|
+
if (slackAgents.length === 0) {
|
|
55
|
+
logger.debug("No agents with Slack configured");
|
|
56
|
+
this.initialized = true;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
logger.debug(`Initializing Slack connectors for ${slackAgents.length} agent(s)`);
|
|
60
|
+
for (const agent of slackAgents) {
|
|
61
|
+
try {
|
|
62
|
+
const slackConfig = agent.chat.slack;
|
|
63
|
+
if (!slackConfig)
|
|
64
|
+
continue;
|
|
65
|
+
// Get bot token from environment variable
|
|
66
|
+
const botToken = process.env[slackConfig.bot_token_env];
|
|
67
|
+
if (!botToken) {
|
|
68
|
+
logger.warn(`Slack bot token not found in environment variable '${slackConfig.bot_token_env}' for agent '${agent.name}'`);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
// Get app token from environment variable
|
|
72
|
+
const appToken = process.env[slackConfig.app_token_env];
|
|
73
|
+
if (!appToken) {
|
|
74
|
+
logger.warn(`Slack app token not found in environment variable '${slackConfig.app_token_env}' for agent '${agent.name}'`);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
// Create logger adapter for this agent
|
|
78
|
+
const createAgentLogger = (prefix) => ({
|
|
79
|
+
debug: (msg, data) => logger.debug(`${prefix} ${msg}${data ? ` ${JSON.stringify(data)}` : ""}`),
|
|
80
|
+
info: (msg, data) => logger.info(`${prefix} ${msg}${data ? ` ${JSON.stringify(data)}` : ""}`),
|
|
81
|
+
warn: (msg, data) => logger.warn(`${prefix} ${msg}${data ? ` ${JSON.stringify(data)}` : ""}`),
|
|
82
|
+
error: (msg, data) => logger.error(`${prefix} ${msg}${data ? ` ${JSON.stringify(data)}` : ""}`),
|
|
83
|
+
});
|
|
84
|
+
// Create session manager for this agent
|
|
85
|
+
const sessionManager = new ChatSessionManager({
|
|
86
|
+
platform: "slack",
|
|
87
|
+
agentName: agent.name,
|
|
88
|
+
stateDir,
|
|
89
|
+
sessionExpiryHours: slackConfig.session_expiry_hours,
|
|
90
|
+
logger: createAgentLogger(`[slack:${agent.name}:session]`),
|
|
91
|
+
});
|
|
92
|
+
// Create the connector
|
|
93
|
+
const connector = new SlackConnector({
|
|
94
|
+
agentName: agent.name,
|
|
95
|
+
botToken,
|
|
96
|
+
appToken,
|
|
97
|
+
channels: slackConfig.channels.map((ch) => ({ id: ch.id, mode: ch.mode })),
|
|
98
|
+
sessionManager,
|
|
99
|
+
logger: createAgentLogger(`[slack:${agent.name}]`),
|
|
100
|
+
});
|
|
101
|
+
this.connectors.set(agent.name, connector);
|
|
102
|
+
logger.debug(`Created Slack connector for agent '${agent.name}'`);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
106
|
+
logger.error(`Failed to create Slack connector for agent '${agent.name}': ${errorMessage}`);
|
|
107
|
+
// Continue with other agents - don't fail the whole initialization
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
this.initialized = true;
|
|
111
|
+
logger.debug(`Slack manager initialized with ${this.connectors.size} connector(s)`);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Connect all Slack connectors
|
|
115
|
+
*
|
|
116
|
+
* Connects each connector to Slack via Socket Mode and subscribes to events.
|
|
117
|
+
* Errors are logged but don't stop other connectors from connecting.
|
|
118
|
+
*/
|
|
119
|
+
async start() {
|
|
120
|
+
const logger = this.ctx.getLogger();
|
|
121
|
+
if (this.connectors.size === 0) {
|
|
122
|
+
logger.debug("No Slack connectors to start");
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
logger.debug(`Starting ${this.connectors.size} Slack connector(s)...`);
|
|
126
|
+
const connectPromises = [];
|
|
127
|
+
for (const [agentName, connector] of this.connectors) {
|
|
128
|
+
// Subscribe to connector events before connecting
|
|
129
|
+
connector.on("message", (event) => {
|
|
130
|
+
this.handleMessage(agentName, event).catch((error) => {
|
|
131
|
+
this.handleError(agentName, error);
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
connector.on("error", (event) => {
|
|
135
|
+
this.handleError(event.agentName, event.error);
|
|
136
|
+
});
|
|
137
|
+
connectPromises.push(connector.connect().catch((error) => {
|
|
138
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
139
|
+
logger.error(`Failed to connect Slack for agent '${agentName}': ${errorMessage}`);
|
|
140
|
+
// Don't re-throw - we want to continue connecting other agents
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
await Promise.all(connectPromises);
|
|
144
|
+
const connectedCount = Array.from(this.connectors.values()).filter((c) => c.isConnected()).length;
|
|
145
|
+
logger.info(`Slack connectors started: ${connectedCount}/${this.connectors.size} connected`);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Disconnect all Slack connectors gracefully
|
|
149
|
+
*
|
|
150
|
+
* Sessions are automatically persisted to disk on every update,
|
|
151
|
+
* so they survive bot restarts. This method logs session state
|
|
152
|
+
* before disconnecting for monitoring purposes.
|
|
153
|
+
*
|
|
154
|
+
* Errors are logged but don't prevent other connectors from disconnecting.
|
|
155
|
+
*/
|
|
156
|
+
async stop() {
|
|
157
|
+
const logger = this.ctx.getLogger();
|
|
158
|
+
if (this.connectors.size === 0) {
|
|
159
|
+
logger.debug("No Slack connectors to stop");
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
logger.debug(`Stopping ${this.connectors.size} Slack connector(s)...`);
|
|
163
|
+
// Log session state before shutdown (sessions are already persisted to disk)
|
|
164
|
+
for (const [agentName, connector] of this.connectors) {
|
|
165
|
+
try {
|
|
166
|
+
const activeSessionCount = await connector.sessionManager.getActiveSessionCount();
|
|
167
|
+
if (activeSessionCount > 0) {
|
|
168
|
+
logger.debug(`Preserving ${activeSessionCount} active Slack session(s) for agent '${agentName}'`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
173
|
+
logger.warn(`Failed to get Slack session count for agent '${agentName}': ${errorMessage}`);
|
|
174
|
+
// Continue with shutdown - this is just informational logging
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const disconnectPromises = [];
|
|
178
|
+
for (const [agentName, connector] of this.connectors) {
|
|
179
|
+
disconnectPromises.push(connector.disconnect().catch((error) => {
|
|
180
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
181
|
+
logger.error(`Error disconnecting Slack for agent '${agentName}': ${errorMessage}`);
|
|
182
|
+
// Don't re-throw - graceful shutdown should continue
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
await Promise.all(disconnectPromises);
|
|
186
|
+
logger.debug("All Slack connectors stopped");
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get a connector for a specific agent
|
|
190
|
+
*
|
|
191
|
+
* @param agentName - Name of the agent
|
|
192
|
+
* @returns The SlackConnector instance, or undefined if not found
|
|
193
|
+
*/
|
|
194
|
+
getConnector(agentName) {
|
|
195
|
+
return this.connectors.get(agentName);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get all connector names
|
|
199
|
+
*
|
|
200
|
+
* @returns Array of agent names that have Slack connectors
|
|
201
|
+
*/
|
|
202
|
+
getConnectorNames() {
|
|
203
|
+
return Array.from(this.connectors.keys());
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get the number of active connectors
|
|
207
|
+
*
|
|
208
|
+
* @returns Number of connectors that are currently connected
|
|
209
|
+
*/
|
|
210
|
+
getConnectedCount() {
|
|
211
|
+
return Array.from(this.connectors.values()).filter((c) => c.isConnected()).length;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Check if the manager has been initialized
|
|
215
|
+
*/
|
|
216
|
+
isInitialized() {
|
|
217
|
+
return this.initialized;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Check if a specific agent has a Slack connector
|
|
221
|
+
*
|
|
222
|
+
* @param agentName - Name of the agent
|
|
223
|
+
* @returns true if the agent has a Slack connector
|
|
224
|
+
*/
|
|
225
|
+
hasConnector(agentName) {
|
|
226
|
+
return this.connectors.has(agentName);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Check if a specific agent has a connector (alias for hasConnector)
|
|
230
|
+
*
|
|
231
|
+
* @param agentName - Name of the agent
|
|
232
|
+
* @returns true if the agent has a connector
|
|
233
|
+
*/
|
|
234
|
+
hasAgent(agentName) {
|
|
235
|
+
return this.connectors.has(agentName);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get the state of a connector for a specific agent
|
|
239
|
+
*
|
|
240
|
+
* @param agentName - Name of the agent
|
|
241
|
+
* @returns The connector state, or undefined if not found
|
|
242
|
+
*/
|
|
243
|
+
getState(agentName) {
|
|
244
|
+
const connector = this.connectors.get(agentName);
|
|
245
|
+
if (!connector)
|
|
246
|
+
return undefined;
|
|
247
|
+
const state = connector.getState();
|
|
248
|
+
return {
|
|
249
|
+
status: state.status,
|
|
250
|
+
connectedAt: state.connectedAt,
|
|
251
|
+
disconnectedAt: state.disconnectedAt,
|
|
252
|
+
reconnectAttempts: state.reconnectAttempts,
|
|
253
|
+
lastError: state.lastError,
|
|
254
|
+
botUser: state.botUser ? { id: state.botUser.id, username: state.botUser.username } : null,
|
|
255
|
+
messageStats: state.messageStats,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
// ===========================================================================
|
|
259
|
+
// Message Handling Pipeline
|
|
260
|
+
// ===========================================================================
|
|
261
|
+
/**
|
|
262
|
+
* Handle an incoming Slack message
|
|
263
|
+
*
|
|
264
|
+
* This method:
|
|
265
|
+
* 1. Gets or creates a session for the channel
|
|
266
|
+
* 2. Builds job context from the message
|
|
267
|
+
* 3. Executes the job via trigger
|
|
268
|
+
* 4. Sends the response back to Slack
|
|
269
|
+
*
|
|
270
|
+
* @param agentName - Name of the agent handling the message
|
|
271
|
+
* @param event - The Slack message event
|
|
272
|
+
*/
|
|
273
|
+
async handleMessage(agentName, event) {
|
|
274
|
+
const logger = this.ctx.getLogger();
|
|
275
|
+
const emitter = this.ctx.getEmitter();
|
|
276
|
+
logger.info(`Slack message for agent '${agentName}': ${event.prompt.substring(0, 50)}...`);
|
|
277
|
+
// Get the agent configuration
|
|
278
|
+
const config = this.ctx.getConfig();
|
|
279
|
+
const agent = config?.agents.find((a) => a.name === agentName);
|
|
280
|
+
if (!agent) {
|
|
281
|
+
logger.error(`Agent '${agentName}' not found in configuration`);
|
|
282
|
+
try {
|
|
283
|
+
await event.reply("Sorry, I'm not properly configured. Please contact an administrator.");
|
|
284
|
+
}
|
|
285
|
+
catch (replyError) {
|
|
286
|
+
logger.error(`Failed to send error reply: ${replyError.message}`);
|
|
287
|
+
}
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
// Get existing session for this channel (for conversation continuity)
|
|
291
|
+
const connector = this.connectors.get(agentName);
|
|
292
|
+
let existingSessionId = null;
|
|
293
|
+
if (connector) {
|
|
294
|
+
try {
|
|
295
|
+
const existingSession = await connector.sessionManager.getSession(event.metadata.channelId);
|
|
296
|
+
if (existingSession) {
|
|
297
|
+
existingSessionId = existingSession.sessionId;
|
|
298
|
+
logger.debug(`Resuming session for channel ${event.metadata.channelId}: ${existingSessionId}`);
|
|
299
|
+
emitter.emit("slack:session:lifecycle", {
|
|
300
|
+
agentName,
|
|
301
|
+
event: "resumed",
|
|
302
|
+
channelId: event.metadata.channelId,
|
|
303
|
+
sessionId: existingSessionId,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
logger.debug(`No existing session for channel ${event.metadata.channelId}, starting new conversation`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
catch (error) {
|
|
311
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
312
|
+
logger.warn(`Failed to get session: ${errorMessage}`);
|
|
313
|
+
// Continue processing - session failure shouldn't block message handling
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// Create file sender definition for this message context
|
|
317
|
+
let injectedMcpServers;
|
|
318
|
+
const workingDir = this.resolveWorkingDirectory(agent);
|
|
319
|
+
if (connector && workingDir) {
|
|
320
|
+
const agentConnector = connector;
|
|
321
|
+
const fileSenderContext = {
|
|
322
|
+
workingDirectory: workingDir,
|
|
323
|
+
uploadFile: async (params) => {
|
|
324
|
+
return agentConnector.uploadFile({
|
|
325
|
+
channelId: event.metadata.channelId,
|
|
326
|
+
fileBuffer: params.fileBuffer,
|
|
327
|
+
filename: params.filename,
|
|
328
|
+
message: params.message,
|
|
329
|
+
});
|
|
330
|
+
},
|
|
331
|
+
};
|
|
332
|
+
const fileSenderDef = createFileSenderDef(fileSenderContext);
|
|
333
|
+
injectedMcpServers = { [fileSenderDef.name]: fileSenderDef };
|
|
334
|
+
}
|
|
335
|
+
// Create streaming responder for incremental message delivery
|
|
336
|
+
const streamer = new StreamingResponder({
|
|
337
|
+
reply: (content) => event.reply(markdownToMrkdwn(content)),
|
|
338
|
+
logger: logger,
|
|
339
|
+
agentName,
|
|
340
|
+
maxMessageLength: 4000, // Slack's limit
|
|
341
|
+
maxBufferSize: 3500,
|
|
342
|
+
platformName: "Slack",
|
|
343
|
+
});
|
|
344
|
+
// Start processing indicator (hourglass emoji)
|
|
345
|
+
const stopProcessing = event.startProcessingIndicator();
|
|
346
|
+
let processingStopped = false;
|
|
347
|
+
try {
|
|
348
|
+
// Execute job via FleetManager.trigger() through the context
|
|
349
|
+
// Pass resume option for conversation continuity
|
|
350
|
+
// The onMessage callback streams output incrementally to Slack
|
|
351
|
+
const result = await this.ctx.trigger(agentName, undefined, {
|
|
352
|
+
prompt: event.prompt,
|
|
353
|
+
resume: existingSessionId,
|
|
354
|
+
injectedMcpServers,
|
|
355
|
+
onMessage: async (message) => {
|
|
356
|
+
// Extract text content from assistant messages and stream to Slack
|
|
357
|
+
if (message.type === "assistant") {
|
|
358
|
+
// Cast to the SDKMessage shape expected by extractMessageContent
|
|
359
|
+
const sdkMessage = message;
|
|
360
|
+
const content = extractMessageContent(sdkMessage);
|
|
361
|
+
if (content) {
|
|
362
|
+
// Each assistant message is a complete turn - send immediately
|
|
363
|
+
await streamer.addMessageAndSend(content);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
});
|
|
368
|
+
// Stop processing indicator immediately after SDK execution completes
|
|
369
|
+
if (!processingStopped) {
|
|
370
|
+
stopProcessing();
|
|
371
|
+
processingStopped = true;
|
|
372
|
+
}
|
|
373
|
+
// Flush any remaining buffered content
|
|
374
|
+
await streamer.flush();
|
|
375
|
+
logger.info(`Slack job completed: ${result.jobId} for agent '${agentName}'${result.sessionId ? ` (session: ${result.sessionId})` : ""}`);
|
|
376
|
+
// If no messages were sent, send an appropriate fallback
|
|
377
|
+
if (!streamer.hasSentMessages()) {
|
|
378
|
+
if (result.success) {
|
|
379
|
+
await event.reply("I've completed the task, but I don't have a specific response to share.");
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
// Job failed without streaming any messages - send error details
|
|
383
|
+
const errorMessage = result.errorDetails?.message ?? result.error?.message ?? "An unknown error occurred";
|
|
384
|
+
await event.reply(`*Error:* ${errorMessage}\n\nThe task could not be completed. Please check the logs for more details.`);
|
|
385
|
+
}
|
|
386
|
+
// Stop processing after sending fallback message (if not already stopped)
|
|
387
|
+
if (!processingStopped) {
|
|
388
|
+
stopProcessing();
|
|
389
|
+
processingStopped = true;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
// Store the SDK session ID for future conversation continuity
|
|
393
|
+
// Only store if the job succeeded - failed jobs may return invalid session IDs
|
|
394
|
+
if (connector && result.sessionId && result.success) {
|
|
395
|
+
const isNewSession = existingSessionId === null;
|
|
396
|
+
try {
|
|
397
|
+
await connector.sessionManager.setSession(event.metadata.channelId, result.sessionId);
|
|
398
|
+
logger.debug(`Stored session ${result.sessionId} for channel ${event.metadata.channelId}`);
|
|
399
|
+
if (isNewSession) {
|
|
400
|
+
emitter.emit("slack:session:lifecycle", {
|
|
401
|
+
agentName,
|
|
402
|
+
event: "created",
|
|
403
|
+
channelId: event.metadata.channelId,
|
|
404
|
+
sessionId: result.sessionId,
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
catch (sessionError) {
|
|
409
|
+
const errorMessage = sessionError instanceof Error ? sessionError.message : String(sessionError);
|
|
410
|
+
logger.warn(`Failed to store session: ${errorMessage}`);
|
|
411
|
+
// Don't fail the message handling for session storage failure
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
else if (connector && result.sessionId && !result.success) {
|
|
415
|
+
logger.debug(`Not storing session ${result.sessionId} for channel ${event.metadata.channelId} - job failed`);
|
|
416
|
+
}
|
|
417
|
+
// Emit event for tracking
|
|
418
|
+
emitter.emit("slack:message:handled", {
|
|
419
|
+
agentName,
|
|
420
|
+
channelId: event.metadata.channelId,
|
|
421
|
+
messageTs: event.metadata.messageTs,
|
|
422
|
+
jobId: result.jobId,
|
|
423
|
+
timestamp: new Date().toISOString(),
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
catch (error) {
|
|
427
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
428
|
+
logger.error(`Slack message handling failed for agent '${agentName}': ${err.message}`);
|
|
429
|
+
// Send user-friendly error message
|
|
430
|
+
try {
|
|
431
|
+
await event.reply(this.formatErrorMessage(err));
|
|
432
|
+
}
|
|
433
|
+
catch (replyError) {
|
|
434
|
+
logger.error(`Failed to send error reply: ${replyError.message}`);
|
|
435
|
+
}
|
|
436
|
+
// Emit error event for tracking
|
|
437
|
+
emitter.emit("slack:message:error", {
|
|
438
|
+
agentName,
|
|
439
|
+
channelId: event.metadata.channelId,
|
|
440
|
+
messageTs: event.metadata.messageTs,
|
|
441
|
+
error: err.message,
|
|
442
|
+
timestamp: new Date().toISOString(),
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
finally {
|
|
446
|
+
// Safety net: stop processing indicator if not already stopped
|
|
447
|
+
if (!processingStopped) {
|
|
448
|
+
stopProcessing();
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Handle errors from Slack connectors
|
|
454
|
+
*
|
|
455
|
+
* Logs errors without crashing the connector
|
|
456
|
+
*
|
|
457
|
+
* @param agentName - Name of the agent that encountered the error
|
|
458
|
+
* @param error - The error that occurred
|
|
459
|
+
*/
|
|
460
|
+
handleError(agentName, error) {
|
|
461
|
+
const logger = this.ctx.getLogger();
|
|
462
|
+
const emitter = this.ctx.getEmitter();
|
|
463
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
464
|
+
logger.error(`Slack connector error for agent '${agentName}': ${errorMessage}`);
|
|
465
|
+
// Emit error event for monitoring
|
|
466
|
+
emitter.emit("slack:error", {
|
|
467
|
+
agentName,
|
|
468
|
+
error: errorMessage,
|
|
469
|
+
timestamp: new Date().toISOString(),
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
// ===========================================================================
|
|
473
|
+
// Response Formatting and Splitting
|
|
474
|
+
// ===========================================================================
|
|
475
|
+
/** Slack's maximum message length */
|
|
476
|
+
static MAX_MESSAGE_LENGTH = 4000;
|
|
477
|
+
/**
|
|
478
|
+
* Format an error message for Slack display
|
|
479
|
+
*
|
|
480
|
+
* Creates a user-friendly error message with guidance on how to proceed.
|
|
481
|
+
*
|
|
482
|
+
* @param error - The error that occurred
|
|
483
|
+
* @returns Formatted error message string
|
|
484
|
+
*/
|
|
485
|
+
formatErrorMessage(error) {
|
|
486
|
+
return `*Error:* ${error.message}\n\nPlease try again or use \`!reset\` to start a new session.`;
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Split a response into chunks that fit Slack's 4000 character limit
|
|
490
|
+
*
|
|
491
|
+
* Uses the shared splitMessage utility from @herdctl/chat.
|
|
492
|
+
*
|
|
493
|
+
* @param text - The text to split
|
|
494
|
+
* @returns Array of text chunks, each under 4000 characters
|
|
495
|
+
*/
|
|
496
|
+
splitResponse(text) {
|
|
497
|
+
const result = splitMessage(text, { maxLength: SlackManager.MAX_MESSAGE_LENGTH });
|
|
498
|
+
return result.chunks;
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Send a response to Slack, splitting if necessary
|
|
502
|
+
*
|
|
503
|
+
* @param reply - The reply function from the message event
|
|
504
|
+
* @param content - The content to send
|
|
505
|
+
*/
|
|
506
|
+
async sendResponse(reply, content) {
|
|
507
|
+
const chunks = this.splitResponse(content);
|
|
508
|
+
for (const chunk of chunks) {
|
|
509
|
+
await reply(chunk);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
// ===========================================================================
|
|
513
|
+
// Utility Methods
|
|
514
|
+
// ===========================================================================
|
|
515
|
+
/**
|
|
516
|
+
* Resolve the agent's working directory to an absolute path string
|
|
517
|
+
*
|
|
518
|
+
* @param agent - The resolved agent configuration
|
|
519
|
+
* @returns Absolute path to working directory, or undefined if not configured
|
|
520
|
+
*/
|
|
521
|
+
resolveWorkingDirectory(agent) {
|
|
522
|
+
if (!agent.working_directory) {
|
|
523
|
+
return undefined;
|
|
524
|
+
}
|
|
525
|
+
if (typeof agent.working_directory === "string") {
|
|
526
|
+
return agent.working_directory;
|
|
527
|
+
}
|
|
528
|
+
return agent.working_directory.root;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,EACL,mBAAmB,GAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GAEnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAqBnD;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAY;IAIH;IAHZ,UAAU,GAAgC,IAAI,GAAG,EAAE,CAAC;IACpD,WAAW,GAAY,KAAK,CAAC;IAErC,YAAoB,GAAwB;QAAxB,QAAG,GAAH,GAAG,CAAqB;IAAG,CAAC;IAEhD;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAExC,oCAAoC;QACpC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CACtC,CAAC,KAAK,EAA6F,EAAE,CACnG,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAClC,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,qCAAqC,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;QAEjF,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrC,IAAI,CAAC,WAAW;oBAAE,SAAS;gBAE3B,0CAA0C;gBAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CACT,sDAAsD,WAAW,CAAC,aAAa,gBAAgB,KAAK,CAAC,IAAI,GAAG,CAC7G,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,0CAA0C;gBAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CACT,sDAAsD,WAAW,CAAC,aAAa,gBAAgB,KAAK,CAAC,IAAI,GAAG,CAC7G,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,uCAAuC;gBACvC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAuB,EAAE,CAAC,CAAC;oBAClE,KAAK,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CACrD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC3E,IAAI,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CACpD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC1E,IAAI,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CACpD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC1E,KAAK,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CACrD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;iBAC5E,CAAC,CAAC;gBAEH,wCAAwC;gBACxC,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC;oBAC5C,QAAQ,EAAE,OAAO;oBACjB,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,QAAQ;oBACR,kBAAkB,EAAE,WAAW,CAAC,oBAAoB;oBACpD,MAAM,EAAE,iBAAiB,CAAC,UAAU,KAAK,CAAC,IAAI,WAAW,CAAC;iBAC3D,CAAC,CAAC;gBAEH,uBAAuB;gBACvB,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC;oBACnC,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,QAAQ;oBACR,QAAQ;oBACR,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1E,cAAc;oBACd,MAAM,EAAE,iBAAiB,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC;iBACnD,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,sCAAsC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,+CAA+C,KAAK,CAAC,IAAI,MAAM,YAAY,EAAE,CAAC,CAAC;gBAC5F,mEAAmE;YACrE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,CAAC;IACtF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,wBAAwB,CAAC,CAAC;QAEvE,MAAM,eAAe,GAAoB,EAAE,CAAC;QAE5C,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrD,kDAAkD;YAClD,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAA4B,EAAE,EAAE;gBACvD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBAC5D,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAsB,EAAE,EAAE;gBAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,eAAe,CAAC,IAAI,CAClB,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC3C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,sCAAsC,SAAS,MAAM,YAAY,EAAE,CAAC,CAAC;gBAClF,+DAA+D;YACjE,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEnC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC,CAAC,WAAW,EAAE,CAChB,CAAC,MAAM,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,6BAA6B,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,wBAAwB,CAAC,CAAC;QAEvE,6EAA6E;QAC7E,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,kBAAkB,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;gBAClF,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,cAAc,kBAAkB,uCAAuC,SAAS,GAAG,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,IAAI,CAAC,gDAAgD,SAAS,MAAM,YAAY,EAAE,CAAC,CAAC;gBAC3F,8DAA8D;YAChE,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAoB,EAAE,CAAC;QAE/C,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrD,kBAAkB,CAAC,IAAI,CACrB,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC9C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,wCAAwC,SAAS,MAAM,YAAY,EAAE,CAAC,CAAC;gBACpF,qDAAqD;YACvD,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,CAAC,CAAC,WAAW,EAAE,CAChB,CAAC,MAAM,CAAC;IACX,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,SAAiB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;YAC1F,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,4BAA4B;IAC5B,8EAA8E;IAE9E;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,aAAa,CACzB,SAAiB,EACjB,KAAwB;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAEtC,MAAM,CAAC,IAAI,CAAC,4BAA4B,SAAS,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAE3F,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,8BAA8B,CAAC,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAC5F,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,+BAAgC,UAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC5F,IAAI,eAAe,EAAE,CAAC;oBACpB,iBAAiB,GAAG,eAAe,CAAC,SAAS,CAAC;oBAC9C,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC,CAAC;oBAC/F,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;wBACtC,SAAS;wBACT,KAAK,EAAE,SAAS;wBAChB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;wBACnC,SAAS,EAAE,iBAAiB;qBAC7B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,QAAQ,CAAC,SAAS,6BAA6B,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;gBACtD,yEAAyE;YAC3E,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,kBAAoE,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,SAAS,CAAC;YACjC,MAAM,iBAAiB,GAAsB;gBAC3C,gBAAgB,EAAE,UAAU;gBAC5B,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBAC3B,OAAO,cAAc,CAAC,UAAU,CAAC;wBAC/B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;wBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;YACF,MAAM,aAAa,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YAC7D,kBAAkB,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;QAC/D,CAAC;QAED,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;YACtC,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,EAAE,MAA6B;YACrC,SAAS;YACT,gBAAgB,EAAE,IAAI,EAAE,gBAAgB;YACxC,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACxD,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,IAAI,CAAC;YACH,6DAA6D;YAC7D,iDAAiD;YACjD,+DAA+D;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE;gBAC1D,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,iBAAiB;gBACzB,kBAAkB;gBAClB,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAC3B,mEAAmE;oBACnE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACjC,iEAAiE;wBACjE,MAAM,UAAU,GAAG,OAAiE,CAAC;wBACrF,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;wBAClD,IAAI,OAAO,EAAE,CAAC;4BACZ,+DAA+D;4BAC/D,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;wBAC5C,CAAC;oBACH,CAAC;gBACH,CAAC;aACgB,CAAC,CAAC;YAErB,sEAAsE;YACtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,cAAc,EAAE,CAAC;gBACjB,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;YAED,uCAAuC;YACvC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YAEvB,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,KAAK,eAAe,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAEzI,yDAAyD;YACzD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,KAAK,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;gBAC/F,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,2BAA2B,CAAC;oBAC1G,MAAM,KAAK,CAAC,KAAK,CAAC,YAAY,YAAY,8EAA8E,CAAC,CAAC;gBAC5H,CAAC;gBAED,0EAA0E;gBAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,cAAc,EAAE,CAAC;oBACjB,iBAAiB,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,+EAA+E;YAC/E,IAAI,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,iBAAiB,KAAK,IAAI,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;oBACtF,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,SAAS,gBAAgB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;oBAE3F,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;4BACtC,SAAS;4BACT,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;4BACnC,SAAS,EAAE,MAAM,CAAC,SAAS;yBAC5B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,YAAY,EAAE,CAAC;oBACtB,MAAM,YAAY,GAAG,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACjG,MAAM,CAAC,IAAI,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;oBACxD,8DAA8D;gBAChE,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,SAAS,gBAAgB,KAAK,CAAC,QAAQ,CAAC,SAAS,eAAe,CAAC,CAAC;YAC/G,CAAC;YAED,0BAA0B;YAC1B,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACpC,SAAS;gBACT,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CAAC,4CAA4C,SAAS,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAEvF,mCAAmC;YACnC,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,+BAAgC,UAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,CAAC;YAED,gCAAgC;YAChC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAClC,SAAS;gBACT,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACnC,KAAK,EAAE,GAAG,CAAC,OAAO;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,+DAA+D;YAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,cAAc,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,WAAW,CAAC,SAAiB,EAAE,KAAc;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAEtC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,MAAM,YAAY,EAAE,CAAC,CAAC;QAEhF,kCAAkC;QAClC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE;YAC1B,SAAS;YACT,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,oCAAoC;IACpC,8EAA8E;IAE9E,qCAAqC;IAC7B,MAAM,CAAU,kBAAkB,GAAG,IAAI,CAAC;IAElD;;;;;;;OAOG;IACH,kBAAkB,CAAC,KAAY;QAC7B,OAAO,YAAY,KAAK,CAAC,OAAO,gEAAgE,CAAC;IACnG,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,IAAY;QACxB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,KAAyC,EACzC,OAAe;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E;;;;;OAKG;IACK,uBAAuB,CAAC,KAAoB;QAClD,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC,iBAAiB,CAAC;QACjC,CAAC;QAED,OAAO,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;IACtC,CAAC"}
|
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
* - Hourglass emoji reaction as typing indicator
|
|
11
11
|
*/
|
|
12
12
|
import { EventEmitter } from "node:events";
|
|
13
|
-
import type {
|
|
13
|
+
import type { IChatSessionManager } from "@herdctl/chat";
|
|
14
|
+
import type { SlackConnectorOptions, SlackConnectorState, SlackFileUploadParams, ISlackConnector, SlackConnectorEventMap, SlackConnectorEventName } from "./types.js";
|
|
14
15
|
export declare class SlackConnector extends EventEmitter implements ISlackConnector {
|
|
15
16
|
readonly agentName: string;
|
|
16
|
-
readonly sessionManager:
|
|
17
|
+
readonly sessionManager: IChatSessionManager;
|
|
17
18
|
private readonly botToken;
|
|
18
19
|
private readonly appToken;
|
|
19
20
|
private readonly channels;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-connector.d.ts","sourceRoot":"","sources":["../src/slack-connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EAKnB,qBAAqB,EACrB,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"slack-connector.d.ts","sourceRoot":"","sources":["../src/slack-connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EAKnB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAoBpB,qBAAa,cAAe,SAAQ,YAAa,YAAW,eAAe;IACzE,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,cAAc,EAAE,mBAAmB,CAAC;IAEpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAI9C,OAAO,CAAC,GAAG,CAAa;IAGxB,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAuB;IAG1C,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,eAAe,CAAa;gBAExB,OAAO,EAAE,qBAAqB;IAqBpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwFxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCjC,WAAW,IAAI,OAAO;IAItB,QAAQ,IAAI,mBAAmB;IAyBzB,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA4B5E,OAAO,CAAC,qBAAqB;IAuK7B;;OAEG;YACW,iBAAiB;IA4C/B,OAAO,CAAC,iBAAiB;IAgEhB,IAAI,CAAC,CAAC,SAAS,uBAAuB,EAC7C,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,OAAO;IAID,EAAE,CAAC,CAAC,SAAS,uBAAuB,EAC3C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GACrD,IAAI;IAIE,IAAI,CAAC,CAAC,SAAS,uBAAuB,EAC7C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GACrD,IAAI;IAIE,GAAG,CAAC,CAAC,SAAS,uBAAuB,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GACrD,IAAI;CAGR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-connector.js","sourceRoot":"","sources":["../src/slack-connector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slack-connector.js","sourceRoot":"","sources":["../src/slack-connector.ts"],"names":[],"mappings":"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"}
|