@herdctl/core 4.0.0 → 4.1.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/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/schema.d.ts +571 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +67 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/fleet-manager/__tests__/slack-manager.test.d.ts +11 -0
- package/dist/fleet-manager/__tests__/slack-manager.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/slack-manager.test.js +1022 -0
- package/dist/fleet-manager/__tests__/slack-manager.test.js.map +1 -0
- package/dist/fleet-manager/context.d.ts +4 -0
- package/dist/fleet-manager/context.d.ts.map +1 -1
- package/dist/fleet-manager/event-types.d.ts +113 -0
- package/dist/fleet-manager/event-types.d.ts.map +1 -1
- package/dist/fleet-manager/fleet-manager.d.ts +3 -0
- package/dist/fleet-manager/fleet-manager.d.ts.map +1 -1
- package/dist/fleet-manager/fleet-manager.js +10 -0
- package/dist/fleet-manager/fleet-manager.js.map +1 -1
- package/dist/fleet-manager/job-control.d.ts.map +1 -1
- package/dist/fleet-manager/job-control.js +5 -2
- package/dist/fleet-manager/job-control.js.map +1 -1
- package/dist/fleet-manager/slack-manager.d.ts +158 -0
- package/dist/fleet-manager/slack-manager.d.ts.map +1 -0
- package/dist/fleet-manager/slack-manager.js +570 -0
- package/dist/fleet-manager/slack-manager.js.map +1 -0
- package/dist/fleet-manager/status-queries.d.ts +2 -1
- package/dist/fleet-manager/status-queries.d.ts.map +1 -1
- package/dist/fleet-manager/status-queries.js +42 -3
- package/dist/fleet-manager/status-queries.js.map +1 -1
- package/dist/fleet-manager/types.d.ts +43 -3
- package/dist/fleet-manager/types.d.ts.map +1 -1
- package/dist/hooks/__tests__/slack-runner.test.d.ts +5 -0
- package/dist/hooks/__tests__/slack-runner.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/slack-runner.test.js +307 -0
- package/dist/hooks/__tests__/slack-runner.test.js.map +1 -0
- package/dist/hooks/hook-executor.d.ts +1 -0
- package/dist/hooks/hook-executor.d.ts.map +1 -1
- package/dist/hooks/hook-executor.js +8 -0
- package/dist/hooks/hook-executor.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/runners/slack.d.ts +62 -0
- package/dist/hooks/runners/slack.d.ts.map +1 -0
- package/dist/hooks/runners/slack.js +329 -0
- package/dist/hooks/runners/slack.js.map +1 -0
- package/dist/hooks/types.d.ts +4 -4
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/runner/__tests__/file-sender-mcp.test.d.ts +2 -0
- package/dist/runner/__tests__/file-sender-mcp.test.d.ts.map +1 -0
- package/dist/runner/__tests__/file-sender-mcp.test.js +177 -0
- package/dist/runner/__tests__/file-sender-mcp.test.js.map +1 -0
- package/dist/runner/__tests__/job-executor.test.js +12 -12
- package/dist/runner/__tests__/job-executor.test.js.map +1 -1
- package/dist/runner/file-sender-mcp.d.ts +69 -0
- package/dist/runner/file-sender-mcp.d.ts.map +1 -0
- package/dist/runner/file-sender-mcp.js +145 -0
- package/dist/runner/file-sender-mcp.js.map +1 -0
- package/dist/runner/index.d.ts +1 -0
- package/dist/runner/index.d.ts.map +1 -1
- package/dist/runner/index.js +2 -0
- package/dist/runner/index.js.map +1 -1
- package/dist/runner/job-executor.d.ts.map +1 -1
- package/dist/runner/job-executor.js +35 -5
- package/dist/runner/job-executor.js.map +1 -1
- package/dist/runner/runtime/__tests__/docker-security.test.js +12 -12
- package/dist/runner/runtime/__tests__/docker-security.test.js.map +1 -1
- package/dist/runner/runtime/__tests__/mcp-http-bridge.test.d.ts +2 -0
- package/dist/runner/runtime/__tests__/mcp-http-bridge.test.d.ts.map +1 -0
- package/dist/runner/runtime/__tests__/mcp-http-bridge.test.js +191 -0
- package/dist/runner/runtime/__tests__/mcp-http-bridge.test.js.map +1 -0
- package/dist/runner/runtime/container-manager.d.ts +5 -1
- package/dist/runner/runtime/container-manager.d.ts.map +1 -1
- package/dist/runner/runtime/container-manager.js +115 -5
- package/dist/runner/runtime/container-manager.js.map +1 -1
- package/dist/runner/runtime/container-runner.d.ts +2 -0
- package/dist/runner/runtime/container-runner.d.ts.map +1 -1
- package/dist/runner/runtime/container-runner.js +121 -74
- package/dist/runner/runtime/container-runner.js.map +1 -1
- package/dist/runner/runtime/index.d.ts +1 -0
- package/dist/runner/runtime/index.d.ts.map +1 -1
- package/dist/runner/runtime/index.js +2 -0
- package/dist/runner/runtime/index.js.map +1 -1
- package/dist/runner/runtime/interface.d.ts +2 -0
- package/dist/runner/runtime/interface.d.ts.map +1 -1
- package/dist/runner/runtime/mcp-http-bridge.d.ts +39 -0
- package/dist/runner/runtime/mcp-http-bridge.d.ts.map +1 -0
- package/dist/runner/runtime/mcp-http-bridge.js +205 -0
- package/dist/runner/runtime/mcp-http-bridge.js.map +1 -0
- package/dist/runner/runtime/sdk-runtime.d.ts.map +1 -1
- package/dist/runner/runtime/sdk-runtime.js +74 -1
- package/dist/runner/runtime/sdk-runtime.js.map +1 -1
- package/dist/runner/types.d.ts +44 -0
- package/dist/runner/types.d.ts.map +1 -1
- package/dist/state/index.d.ts +1 -1
- package/dist/state/index.d.ts.map +1 -1
- package/dist/state/index.js +1 -1
- package/dist/state/index.js.map +1 -1
- package/dist/state/session-validation.d.ts +8 -0
- package/dist/state/session-validation.d.ts.map +1 -1
- package/dist/state/session-validation.js +36 -0
- package/dist/state/session-validation.js.map +1 -1
- package/package.json +1 -9
|
@@ -107,9 +107,11 @@ export class StatusQueries {
|
|
|
107
107
|
const fleetState = await this.readFleetStateSnapshot();
|
|
108
108
|
// Get Discord manager for connection status
|
|
109
109
|
const discordManager = this.ctx.getDiscordManager?.();
|
|
110
|
+
// Get Slack manager for connection status
|
|
111
|
+
const slackManager = this.ctx.getSlackManager?.();
|
|
110
112
|
return agents.map((agent) => {
|
|
111
113
|
const agentState = fleetState.agents[agent.name];
|
|
112
|
-
return buildAgentInfo(agent, agentState, this.ctx.getScheduler(), discordManager);
|
|
114
|
+
return buildAgentInfo(agent, agentState, this.ctx.getScheduler(), discordManager, slackManager);
|
|
113
115
|
});
|
|
114
116
|
}
|
|
115
117
|
/**
|
|
@@ -139,7 +141,9 @@ export class StatusQueries {
|
|
|
139
141
|
const agentState = fleetState.agents[name];
|
|
140
142
|
// Get Discord manager for connection status
|
|
141
143
|
const discordManager = this.ctx.getDiscordManager?.();
|
|
142
|
-
|
|
144
|
+
// Get Slack manager for connection status
|
|
145
|
+
const slackManager = this.ctx.getSlackManager?.();
|
|
146
|
+
return buildAgentInfo(agent, agentState, this.ctx.getScheduler(), discordManager, slackManager);
|
|
143
147
|
}
|
|
144
148
|
}
|
|
145
149
|
// =============================================================================
|
|
@@ -154,7 +158,7 @@ export class StatusQueries {
|
|
|
154
158
|
* @param discordManager - Discord manager for connection status (optional)
|
|
155
159
|
* @returns Complete AgentInfo object
|
|
156
160
|
*/
|
|
157
|
-
export function buildAgentInfo(agent, agentState, scheduler, discordManager) {
|
|
161
|
+
export function buildAgentInfo(agent, agentState, scheduler, discordManager, slackManager) {
|
|
158
162
|
// Build schedule info
|
|
159
163
|
const schedules = buildScheduleInfoList(agent, agentState);
|
|
160
164
|
// Get running count from scheduler or state
|
|
@@ -169,6 +173,8 @@ export function buildAgentInfo(agent, agentState, scheduler, discordManager) {
|
|
|
169
173
|
}
|
|
170
174
|
// Build Discord status
|
|
171
175
|
const discord = buildDiscordStatus(agent, discordManager);
|
|
176
|
+
// Build Slack status
|
|
177
|
+
const slack = buildSlackStatus(agent, slackManager);
|
|
172
178
|
return {
|
|
173
179
|
name: agent.name,
|
|
174
180
|
description: agent.description,
|
|
@@ -183,6 +189,7 @@ export function buildAgentInfo(agent, agentState, scheduler, discordManager) {
|
|
|
183
189
|
model: agent.model,
|
|
184
190
|
working_directory,
|
|
185
191
|
discord,
|
|
192
|
+
slack,
|
|
186
193
|
};
|
|
187
194
|
}
|
|
188
195
|
/**
|
|
@@ -214,6 +221,38 @@ function buildDiscordStatus(agent, discordManager) {
|
|
|
214
221
|
lastError: state.lastError ?? undefined,
|
|
215
222
|
};
|
|
216
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Build Slack status for an agent
|
|
226
|
+
*
|
|
227
|
+
* @param agent - Resolved agent configuration
|
|
228
|
+
* @param slackManager - Slack manager instance (optional)
|
|
229
|
+
* @returns AgentSlackStatus object
|
|
230
|
+
*/
|
|
231
|
+
function buildSlackStatus(agent, slackManager) {
|
|
232
|
+
const hasSlackConfig = agent.chat?.slack !== undefined;
|
|
233
|
+
if (!hasSlackConfig) {
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
if (!slackManager || !slackManager.hasAgent(agent.name)) {
|
|
237
|
+
return {
|
|
238
|
+
configured: true,
|
|
239
|
+
connectionStatus: "disconnected",
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
const state = slackManager.getState();
|
|
243
|
+
if (!state) {
|
|
244
|
+
return {
|
|
245
|
+
configured: true,
|
|
246
|
+
connectionStatus: "disconnected",
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
return {
|
|
250
|
+
configured: true,
|
|
251
|
+
connectionStatus: state.status,
|
|
252
|
+
botUsername: state.botUser?.username,
|
|
253
|
+
lastError: state.lastError ?? undefined,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
217
256
|
/**
|
|
218
257
|
* Build schedule info list from agent configuration and state
|
|
219
258
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-queries.js","sourceRoot":"","sources":["../../src/fleet-manager/status-queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"status-queries.js","sourceRoot":"","sources":["../../src/fleet-manager/status-queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { SchedulerLogger } from "../scheduler/types.js";
|
|
8
8
|
import type { WorkItem } from "../work-sources/types.js";
|
|
9
|
-
export type { FleetManagerEventMap, FleetManagerEventName, FleetManagerEventPayload, FleetManagerEventListener, ConfigChange, ConfigReloadedPayload, AgentStartedPayload, AgentStoppedPayload, ScheduleTriggeredPayload, ScheduleSkippedPayload, JobCreatedPayload, JobOutputPayload, JobCompletedPayload, JobFailedPayload, JobCancelledPayload, JobForkedPayload, DiscordConnectorConnectedPayload, DiscordConnectorDisconnectedPayload, DiscordConnectorErrorPayload, } from "./event-types.js";
|
|
9
|
+
export type { FleetManagerEventMap, FleetManagerEventName, FleetManagerEventPayload, FleetManagerEventListener, ConfigChange, ConfigReloadedPayload, AgentStartedPayload, AgentStoppedPayload, ScheduleTriggeredPayload, ScheduleSkippedPayload, JobCreatedPayload, JobOutputPayload, JobCompletedPayload, JobFailedPayload, JobCancelledPayload, JobForkedPayload, DiscordConnectorConnectedPayload, DiscordConnectorDisconnectedPayload, DiscordConnectorErrorPayload, SlackConnectorConnectedPayload, SlackConnectorDisconnectedPayload, SlackConnectorErrorPayload, SlackMessageHandledPayload, SlackMessageErrorPayload, SlackErrorPayload, SlackSessionLifecyclePayload, } from "./event-types.js";
|
|
10
10
|
/**
|
|
11
11
|
* Logger interface for fleet manager operations
|
|
12
12
|
* Reuses the same interface as the scheduler for consistency
|
|
@@ -170,6 +170,27 @@ export interface AgentDiscordStatus {
|
|
|
170
170
|
*/
|
|
171
171
|
lastError?: string;
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Slack connector status within AgentInfo
|
|
175
|
+
*/
|
|
176
|
+
export interface AgentSlackStatus {
|
|
177
|
+
/**
|
|
178
|
+
* Whether this agent has Slack configured
|
|
179
|
+
*/
|
|
180
|
+
configured: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Connection status (only present if configured)
|
|
183
|
+
*/
|
|
184
|
+
connectionStatus?: "disconnected" | "connecting" | "connected" | "reconnecting" | "disconnecting" | "error";
|
|
185
|
+
/**
|
|
186
|
+
* Bot username (only present if connected)
|
|
187
|
+
*/
|
|
188
|
+
botUsername?: string;
|
|
189
|
+
/**
|
|
190
|
+
* Last error message (only present if status is 'error')
|
|
191
|
+
*/
|
|
192
|
+
lastError?: string;
|
|
193
|
+
}
|
|
173
194
|
export interface AgentInfo {
|
|
174
195
|
/**
|
|
175
196
|
* Agent name (unique identifier)
|
|
@@ -223,6 +244,10 @@ export interface AgentInfo {
|
|
|
223
244
|
* Discord connector status (if Discord is configured for this agent)
|
|
224
245
|
*/
|
|
225
246
|
discord?: AgentDiscordStatus;
|
|
247
|
+
/**
|
|
248
|
+
* Slack connector status (if Slack is configured for this agent)
|
|
249
|
+
*/
|
|
250
|
+
slack?: AgentSlackStatus;
|
|
226
251
|
}
|
|
227
252
|
/**
|
|
228
253
|
* Summary counts for quick fleet overview
|
|
@@ -361,9 +386,13 @@ export interface TriggerOptions {
|
|
|
361
386
|
*
|
|
362
387
|
* When provided, the Claude Agent SDK will resume the conversation
|
|
363
388
|
* from this session, maintaining context from previous interactions.
|
|
364
|
-
* This is typically used for chat-based triggers like Discord.
|
|
389
|
+
* This is typically used for chat-based triggers like Discord/Slack.
|
|
390
|
+
*
|
|
391
|
+
* - `string` — resume this specific session
|
|
392
|
+
* - `null` — explicitly start a fresh session (skip agent-level fallback)
|
|
393
|
+
* - `undefined` — use agent-level session fallback (for CLI/schedule use)
|
|
365
394
|
*/
|
|
366
|
-
resume?: string;
|
|
395
|
+
resume?: string | null;
|
|
367
396
|
/**
|
|
368
397
|
* Work items to process during this trigger
|
|
369
398
|
*
|
|
@@ -398,6 +427,17 @@ export interface TriggerOptions {
|
|
|
398
427
|
* ```
|
|
399
428
|
*/
|
|
400
429
|
onMessage?: (message: import("../runner/types.js").SDKMessage) => void | Promise<void>;
|
|
430
|
+
/**
|
|
431
|
+
* MCP servers to inject into the agent's runtime session
|
|
432
|
+
*
|
|
433
|
+
* These servers are merged with the agent's config-declared MCP servers
|
|
434
|
+
* at execution time. Used for runtime tool injection (e.g., file sending).
|
|
435
|
+
*
|
|
436
|
+
* Each runtime handles transport conversion:
|
|
437
|
+
* - SDKRuntime: in-process MCP via createSdkMcpServer()
|
|
438
|
+
* - ContainerRunner: HTTP MCP bridge over Docker network
|
|
439
|
+
*/
|
|
440
|
+
injectedMcpServers?: Record<string, import("../runner/types.js").InjectedMcpServerDef>;
|
|
401
441
|
}
|
|
402
442
|
/**
|
|
403
443
|
* Result of a manual trigger operation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-runner.test.d.ts","sourceRoot":"","sources":["../../../src/hooks/__tests__/slack-runner.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for SlackHookRunner
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
5
|
+
import { SlackHookRunner } from "../runners/slack.js";
|
|
6
|
+
describe("SlackHookRunner", () => {
|
|
7
|
+
const mockLogger = {
|
|
8
|
+
debug: vi.fn(),
|
|
9
|
+
info: vi.fn(),
|
|
10
|
+
warn: vi.fn(),
|
|
11
|
+
error: vi.fn(),
|
|
12
|
+
};
|
|
13
|
+
const sampleContext = {
|
|
14
|
+
event: "completed",
|
|
15
|
+
job: {
|
|
16
|
+
id: "job-2024-01-15-abc123",
|
|
17
|
+
agentId: "test-agent",
|
|
18
|
+
scheduleName: "daily-run",
|
|
19
|
+
startedAt: "2024-01-15T10:00:00.000Z",
|
|
20
|
+
completedAt: "2024-01-15T10:05:00.000Z",
|
|
21
|
+
durationMs: 300000,
|
|
22
|
+
},
|
|
23
|
+
result: {
|
|
24
|
+
success: true,
|
|
25
|
+
output: "Job completed successfully",
|
|
26
|
+
},
|
|
27
|
+
agent: {
|
|
28
|
+
id: "test-agent",
|
|
29
|
+
name: "Test Agent",
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const originalEnv = { ...process.env };
|
|
33
|
+
beforeEach(() => {
|
|
34
|
+
vi.clearAllMocks();
|
|
35
|
+
process.env = { ...originalEnv };
|
|
36
|
+
process.env.SLACK_BOT_TOKEN = "xoxb-test-token-12345";
|
|
37
|
+
});
|
|
38
|
+
afterEach(() => {
|
|
39
|
+
process.env = originalEnv;
|
|
40
|
+
});
|
|
41
|
+
describe("execute", () => {
|
|
42
|
+
it("should POST to Slack API successfully", async () => {
|
|
43
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
44
|
+
ok: true,
|
|
45
|
+
status: 200,
|
|
46
|
+
statusText: "OK",
|
|
47
|
+
text: () => Promise.resolve('{"ok": true, "ts": "1234567890.123456"}'),
|
|
48
|
+
});
|
|
49
|
+
const runner = new SlackHookRunner({
|
|
50
|
+
logger: mockLogger,
|
|
51
|
+
fetch: mockFetch,
|
|
52
|
+
});
|
|
53
|
+
const config = {
|
|
54
|
+
type: "slack",
|
|
55
|
+
channel_id: "C0123456789",
|
|
56
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
57
|
+
};
|
|
58
|
+
const result = await runner.execute(config, sampleContext);
|
|
59
|
+
expect(result.success).toBe(true);
|
|
60
|
+
expect(result.hookType).toBe("slack");
|
|
61
|
+
expect(result.durationMs).toBeGreaterThanOrEqual(0);
|
|
62
|
+
expect(mockFetch).toHaveBeenCalledWith("https://slack.com/api/chat.postMessage", expect.objectContaining({
|
|
63
|
+
method: "POST",
|
|
64
|
+
headers: expect.objectContaining({
|
|
65
|
+
Authorization: "Bearer xoxb-test-token-12345",
|
|
66
|
+
"Content-Type": "application/json; charset=utf-8",
|
|
67
|
+
}),
|
|
68
|
+
}));
|
|
69
|
+
});
|
|
70
|
+
it("should include channel in the payload", async () => {
|
|
71
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
72
|
+
ok: true,
|
|
73
|
+
text: () => Promise.resolve('{"ok": true}'),
|
|
74
|
+
});
|
|
75
|
+
const runner = new SlackHookRunner({
|
|
76
|
+
logger: mockLogger,
|
|
77
|
+
fetch: mockFetch,
|
|
78
|
+
});
|
|
79
|
+
const config = {
|
|
80
|
+
type: "slack",
|
|
81
|
+
channel_id: "C0123456789",
|
|
82
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
83
|
+
};
|
|
84
|
+
await runner.execute(config, sampleContext);
|
|
85
|
+
const callArgs = mockFetch.mock.calls[0];
|
|
86
|
+
const body = JSON.parse(callArgs[1].body);
|
|
87
|
+
expect(body.channel).toBe("C0123456789");
|
|
88
|
+
expect(body.attachments).toHaveLength(1);
|
|
89
|
+
expect(body.attachments[0].title).toBe("Job Completed");
|
|
90
|
+
expect(body.attachments[0].footer).toBe("herdctl");
|
|
91
|
+
});
|
|
92
|
+
it("should fail when token env var is not set", async () => {
|
|
93
|
+
delete process.env.SLACK_BOT_TOKEN;
|
|
94
|
+
const runner = new SlackHookRunner({
|
|
95
|
+
logger: mockLogger,
|
|
96
|
+
});
|
|
97
|
+
const config = {
|
|
98
|
+
type: "slack",
|
|
99
|
+
channel_id: "C0123456789",
|
|
100
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
101
|
+
};
|
|
102
|
+
const result = await runner.execute(config, sampleContext);
|
|
103
|
+
expect(result.success).toBe(false);
|
|
104
|
+
expect(result.hookType).toBe("slack");
|
|
105
|
+
expect(result.error).toContain("SLACK_BOT_TOKEN");
|
|
106
|
+
});
|
|
107
|
+
it("should use default bot_token_env when not specified", async () => {
|
|
108
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
109
|
+
ok: true,
|
|
110
|
+
text: () => Promise.resolve('{"ok": true}'),
|
|
111
|
+
});
|
|
112
|
+
const runner = new SlackHookRunner({
|
|
113
|
+
logger: mockLogger,
|
|
114
|
+
fetch: mockFetch,
|
|
115
|
+
});
|
|
116
|
+
const config = {
|
|
117
|
+
type: "slack",
|
|
118
|
+
channel_id: "C0123456789",
|
|
119
|
+
};
|
|
120
|
+
await runner.execute(config, sampleContext);
|
|
121
|
+
// Should use SLACK_BOT_TOKEN by default
|
|
122
|
+
expect(mockFetch).toHaveBeenCalled();
|
|
123
|
+
});
|
|
124
|
+
it("should handle Slack API error (ok: false)", async () => {
|
|
125
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
126
|
+
ok: true,
|
|
127
|
+
status: 200,
|
|
128
|
+
text: () => Promise.resolve('{"ok": false, "error": "channel_not_found"}'),
|
|
129
|
+
});
|
|
130
|
+
const runner = new SlackHookRunner({
|
|
131
|
+
logger: mockLogger,
|
|
132
|
+
fetch: mockFetch,
|
|
133
|
+
});
|
|
134
|
+
const config = {
|
|
135
|
+
type: "slack",
|
|
136
|
+
channel_id: "C_INVALID",
|
|
137
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
138
|
+
};
|
|
139
|
+
const result = await runner.execute(config, sampleContext);
|
|
140
|
+
expect(result.success).toBe(false);
|
|
141
|
+
expect(result.error).toContain("channel_not_found");
|
|
142
|
+
});
|
|
143
|
+
it("should handle HTTP errors", async () => {
|
|
144
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
145
|
+
ok: false,
|
|
146
|
+
status: 500,
|
|
147
|
+
statusText: "Internal Server Error",
|
|
148
|
+
text: () => Promise.resolve("Server Error"),
|
|
149
|
+
});
|
|
150
|
+
const runner = new SlackHookRunner({
|
|
151
|
+
logger: mockLogger,
|
|
152
|
+
fetch: mockFetch,
|
|
153
|
+
});
|
|
154
|
+
const config = {
|
|
155
|
+
type: "slack",
|
|
156
|
+
channel_id: "C0123456789",
|
|
157
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
158
|
+
};
|
|
159
|
+
const result = await runner.execute(config, sampleContext);
|
|
160
|
+
expect(result.success).toBe(false);
|
|
161
|
+
expect(result.error).toContain("500");
|
|
162
|
+
});
|
|
163
|
+
it("should handle network errors", async () => {
|
|
164
|
+
const mockFetch = vi
|
|
165
|
+
.fn()
|
|
166
|
+
.mockRejectedValue(new Error("fetch failed"));
|
|
167
|
+
const runner = new SlackHookRunner({
|
|
168
|
+
logger: mockLogger,
|
|
169
|
+
fetch: mockFetch,
|
|
170
|
+
});
|
|
171
|
+
const config = {
|
|
172
|
+
type: "slack",
|
|
173
|
+
channel_id: "C0123456789",
|
|
174
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
175
|
+
};
|
|
176
|
+
const result = await runner.execute(config, sampleContext);
|
|
177
|
+
expect(result.success).toBe(false);
|
|
178
|
+
expect(result.error).toContain("fetch failed");
|
|
179
|
+
});
|
|
180
|
+
it("should handle timeout errors", async () => {
|
|
181
|
+
const abortError = new Error("The operation was aborted");
|
|
182
|
+
abortError.name = "AbortError";
|
|
183
|
+
const mockFetch = vi.fn().mockRejectedValue(abortError);
|
|
184
|
+
const runner = new SlackHookRunner({
|
|
185
|
+
logger: mockLogger,
|
|
186
|
+
fetch: mockFetch,
|
|
187
|
+
});
|
|
188
|
+
const config = {
|
|
189
|
+
type: "slack",
|
|
190
|
+
channel_id: "C0123456789",
|
|
191
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
192
|
+
};
|
|
193
|
+
const result = await runner.execute(config, sampleContext);
|
|
194
|
+
expect(result.success).toBe(false);
|
|
195
|
+
expect(result.error).toContain("timed out");
|
|
196
|
+
});
|
|
197
|
+
it("should include error in attachment for failed events", async () => {
|
|
198
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
199
|
+
ok: true,
|
|
200
|
+
text: () => Promise.resolve('{"ok": true}'),
|
|
201
|
+
});
|
|
202
|
+
const runner = new SlackHookRunner({
|
|
203
|
+
logger: mockLogger,
|
|
204
|
+
fetch: mockFetch,
|
|
205
|
+
});
|
|
206
|
+
const failedContext = {
|
|
207
|
+
...sampleContext,
|
|
208
|
+
event: "failed",
|
|
209
|
+
result: {
|
|
210
|
+
success: false,
|
|
211
|
+
output: "",
|
|
212
|
+
error: "Process exited with code 1",
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
const config = {
|
|
216
|
+
type: "slack",
|
|
217
|
+
channel_id: "C0123456789",
|
|
218
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
219
|
+
};
|
|
220
|
+
await runner.execute(config, failedContext);
|
|
221
|
+
const callArgs = mockFetch.mock.calls[0];
|
|
222
|
+
const body = JSON.parse(callArgs[1].body);
|
|
223
|
+
const attachment = body.attachments[0];
|
|
224
|
+
expect(attachment.title).toBe("Job Failed");
|
|
225
|
+
expect(attachment.color).toBe("#ef4444");
|
|
226
|
+
const errorField = attachment.fields.find((f) => f.title === "Error");
|
|
227
|
+
expect(errorField).toBeDefined();
|
|
228
|
+
expect(errorField.value).toContain("Process exited with code 1");
|
|
229
|
+
});
|
|
230
|
+
it("should include metadata in attachment when present", async () => {
|
|
231
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
232
|
+
ok: true,
|
|
233
|
+
text: () => Promise.resolve('{"ok": true}'),
|
|
234
|
+
});
|
|
235
|
+
const runner = new SlackHookRunner({
|
|
236
|
+
logger: mockLogger,
|
|
237
|
+
fetch: mockFetch,
|
|
238
|
+
});
|
|
239
|
+
const contextWithMetadata = {
|
|
240
|
+
...sampleContext,
|
|
241
|
+
metadata: { shouldNotify: true, count: 42 },
|
|
242
|
+
};
|
|
243
|
+
const config = {
|
|
244
|
+
type: "slack",
|
|
245
|
+
channel_id: "C0123456789",
|
|
246
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
247
|
+
};
|
|
248
|
+
await runner.execute(config, contextWithMetadata);
|
|
249
|
+
const callArgs = mockFetch.mock.calls[0];
|
|
250
|
+
const body = JSON.parse(callArgs[1].body);
|
|
251
|
+
const attachment = body.attachments[0];
|
|
252
|
+
const metaField = attachment.fields.find((f) => f.title === "Metadata");
|
|
253
|
+
expect(metaField).toBeDefined();
|
|
254
|
+
expect(metaField.value).toContain("shouldNotify");
|
|
255
|
+
});
|
|
256
|
+
it("should handle invalid JSON response", async () => {
|
|
257
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
258
|
+
ok: true,
|
|
259
|
+
status: 200,
|
|
260
|
+
text: () => Promise.resolve("not valid json"),
|
|
261
|
+
});
|
|
262
|
+
const runner = new SlackHookRunner({
|
|
263
|
+
logger: mockLogger,
|
|
264
|
+
fetch: mockFetch,
|
|
265
|
+
});
|
|
266
|
+
const config = {
|
|
267
|
+
type: "slack",
|
|
268
|
+
channel_id: "C0123456789",
|
|
269
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
270
|
+
};
|
|
271
|
+
const result = await runner.execute(config, sampleContext);
|
|
272
|
+
expect(result.success).toBe(false);
|
|
273
|
+
expect(result.error).toContain("parse");
|
|
274
|
+
});
|
|
275
|
+
it("should handle different event types", async () => {
|
|
276
|
+
const mockFetch = vi.fn().mockResolvedValue({
|
|
277
|
+
ok: true,
|
|
278
|
+
text: () => Promise.resolve('{"ok": true}'),
|
|
279
|
+
});
|
|
280
|
+
const runner = new SlackHookRunner({
|
|
281
|
+
logger: mockLogger,
|
|
282
|
+
fetch: mockFetch,
|
|
283
|
+
});
|
|
284
|
+
const config = {
|
|
285
|
+
type: "slack",
|
|
286
|
+
channel_id: "C0123456789",
|
|
287
|
+
bot_token_env: "SLACK_BOT_TOKEN",
|
|
288
|
+
};
|
|
289
|
+
for (const event of ["completed", "failed", "timeout", "cancelled"]) {
|
|
290
|
+
const ctx = { ...sampleContext, event };
|
|
291
|
+
await runner.execute(config, ctx);
|
|
292
|
+
}
|
|
293
|
+
expect(mockFetch).toHaveBeenCalledTimes(4);
|
|
294
|
+
});
|
|
295
|
+
});
|
|
296
|
+
describe("constructor", () => {
|
|
297
|
+
it("creates runner with default logger", () => {
|
|
298
|
+
const runner = new SlackHookRunner();
|
|
299
|
+
expect(runner).toBeDefined();
|
|
300
|
+
});
|
|
301
|
+
it("creates runner with custom logger", () => {
|
|
302
|
+
const runner = new SlackHookRunner({ logger: mockLogger });
|
|
303
|
+
expect(runner).toBeDefined();
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
});
|
|
307
|
+
//# sourceMappingURL=slack-runner.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-runner.test.js","sourceRoot":"","sources":["../../../src/hooks/__tests__/slack-runner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,6 +99,7 @@ export declare class HookExecutor {
|
|
|
99
99
|
private shellRunner;
|
|
100
100
|
private webhookRunner;
|
|
101
101
|
private discordRunner;
|
|
102
|
+
private slackRunner;
|
|
102
103
|
constructor(options?: HookExecutorOptions);
|
|
103
104
|
/**
|
|
104
105
|
* Execute hooks for a given hook list (after_run or on_error)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-executor.d.ts","sourceRoot":"","sources":["../../src/hooks/hook-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"hook-executor.d.ts","sourceRoot":"","sources":["../../src/hooks/hook-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EASX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAM3D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAE5B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,OAAO,GAAE,mBAAwB;IA+B7C;;;;;;;OAOG;IACG,YAAY,CAChB,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,WAAW,GAAG,UAAU,GACjC,OAAO,CAAC,mBAAmB,CAAC;IAiF/B;;OAEG;YACW,WAAW;IA2BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;CAgBrB"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { ShellHookRunner } from "./runners/shell.js";
|
|
8
8
|
import { WebhookHookRunner } from "./runners/webhook.js";
|
|
9
9
|
import { DiscordHookRunner } from "./runners/discord.js";
|
|
10
|
+
import { SlackHookRunner } from "./runners/slack.js";
|
|
10
11
|
/**
|
|
11
12
|
* HookExecutor orchestrates the execution of hooks
|
|
12
13
|
*
|
|
@@ -36,6 +37,7 @@ export class HookExecutor {
|
|
|
36
37
|
shellRunner;
|
|
37
38
|
webhookRunner;
|
|
38
39
|
discordRunner;
|
|
40
|
+
slackRunner;
|
|
39
41
|
constructor(options = {}) {
|
|
40
42
|
this.logger = options.logger ?? {
|
|
41
43
|
debug: () => { },
|
|
@@ -57,6 +59,10 @@ export class HookExecutor {
|
|
|
57
59
|
this.discordRunner = new DiscordHookRunner({
|
|
58
60
|
logger: this.logger,
|
|
59
61
|
});
|
|
62
|
+
// Create slack runner with same logger
|
|
63
|
+
this.slackRunner = new SlackHookRunner({
|
|
64
|
+
logger: this.logger,
|
|
65
|
+
});
|
|
60
66
|
}
|
|
61
67
|
/**
|
|
62
68
|
* Execute hooks for a given hook list (after_run or on_error)
|
|
@@ -140,6 +146,8 @@ export class HookExecutor {
|
|
|
140
146
|
return this.webhookRunner.execute(config, context);
|
|
141
147
|
case "discord":
|
|
142
148
|
return this.discordRunner.execute(config, context);
|
|
149
|
+
case "slack":
|
|
150
|
+
return this.slackRunner.execute(config, context);
|
|
143
151
|
default:
|
|
144
152
|
return {
|
|
145
153
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-executor.js","sourceRoot":"","sources":["../../src/hooks/hook-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"hook-executor.js","sourceRoot":"","sources":["../../src/hooks/hook-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,EAAE,eAAe,EAA8B,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAgC,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAgC,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAA8B,MAAM,oBAAoB,CAAC;AA8EjF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAqB;IAC3B,WAAW,CAAkB;IAC7B,aAAa,CAAoB;IACjC,aAAa,CAAoB;IACjC,WAAW,CAAkB;IAErC,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI;YAC9B,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;YACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;SAChB,CAAC;QAEF,mDAAmD;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,MAA+B;YAC5C,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,MAAiC;SAC/C,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,MAAiC;SAC/C,CAAC,CAAC;QAEH,uCAAuC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,MAA+B;SAC7C,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAChB,WAAwC,EACxC,OAAoB,EACpB,QAAkC;QAElC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,CAAC;gBACb,eAAe,EAAE,CAAC;gBAClB,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC;gBAClB,OAAO,EAAE,EAAE;gBACX,aAAa,EAAE,KAAK;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,aAAa,KAAK,CAAC,MAAM,IAAI,QAAQ,uBAAuB,OAAO,CAAC,KAAK,EAAE,CAC5E,CAAC;QAEF,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,6BAA6B;QAC7B,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;YAC/B,sEAAsE;YACtE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjD,YAAY,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YAED,mBAAmB;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,eAAe,EAAE,CAAC;gBAClB,+CAA+C;gBAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,UAAU,CAAC,IAAI,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAClD,CAAC;gBAEF,kCAAkC;gBAClC,IAAI,UAAU,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;oBAC3C,aAAa,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gEAAgE,CACjE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE/C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4BAA4B,eAAe,cAAc;YACzD,GAAG,WAAW,YAAY,YAAY,WAAW;YACjD,IAAI,eAAe,KAAK,CACzB,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,WAAW,KAAK,CAAC;YAC1B,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,eAAe;YACf,WAAW;YACX,YAAY;YACZ,eAAe;YACf,OAAO;YACP,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,MAAuB,EACvB,OAAoB;QAEpB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAA8B,EAAE,OAAO,CAAC,CAAC;YAE3E,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAgC,EAAE,OAAO,CAAC,CAAC;YAE/E,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAgC,EAAE,OAAO,CAAC,CAAC;YAE/E,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAA8B,EAAE,OAAO,CAAC,CAAC;YAE3E;gBACE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE,sBAAuB,MAA0B,CAAC,IAAI,EAAE;iBAChE,CAAC;QACN,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAAuB,EAAE,OAAoB;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,+BAA+B;QAC/B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAA6C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,YAAY,MAAM,CAAC,IAAI,qBAAqB,MAAM,CAAC,IAAI,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CACtG,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,GAA4B,EAAE,IAAY;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAY,GAAG,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC9C,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|