@herdctl/discord 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/__tests__/auto-mode-handler.test.d.ts +2 -0
  2. package/dist/__tests__/auto-mode-handler.test.d.ts.map +1 -0
  3. package/dist/__tests__/auto-mode-handler.test.js +362 -0
  4. package/dist/__tests__/auto-mode-handler.test.js.map +1 -0
  5. package/dist/__tests__/discord-connector.test.d.ts +2 -0
  6. package/dist/__tests__/discord-connector.test.d.ts.map +1 -0
  7. package/dist/__tests__/discord-connector.test.js +958 -0
  8. package/dist/__tests__/discord-connector.test.js.map +1 -0
  9. package/dist/__tests__/error-handler.test.d.ts +2 -0
  10. package/dist/__tests__/error-handler.test.d.ts.map +1 -0
  11. package/dist/__tests__/error-handler.test.js +509 -0
  12. package/dist/__tests__/error-handler.test.js.map +1 -0
  13. package/dist/__tests__/errors.test.d.ts +2 -0
  14. package/dist/__tests__/errors.test.d.ts.map +1 -0
  15. package/dist/__tests__/errors.test.js +152 -0
  16. package/dist/__tests__/errors.test.js.map +1 -0
  17. package/dist/__tests__/logger.test.d.ts +2 -0
  18. package/dist/__tests__/logger.test.d.ts.map +1 -0
  19. package/dist/__tests__/logger.test.js +282 -0
  20. package/dist/__tests__/logger.test.js.map +1 -0
  21. package/dist/__tests__/mention-handler.test.d.ts +2 -0
  22. package/dist/__tests__/mention-handler.test.d.ts.map +1 -0
  23. package/dist/__tests__/mention-handler.test.js +547 -0
  24. package/dist/__tests__/mention-handler.test.js.map +1 -0
  25. package/dist/auto-mode-handler.d.ts +145 -0
  26. package/dist/auto-mode-handler.d.ts.map +1 -0
  27. package/dist/auto-mode-handler.js +211 -0
  28. package/dist/auto-mode-handler.js.map +1 -0
  29. package/dist/commands/__tests__/command-manager.test.d.ts +2 -0
  30. package/dist/commands/__tests__/command-manager.test.d.ts.map +1 -0
  31. package/dist/commands/__tests__/command-manager.test.js +307 -0
  32. package/dist/commands/__tests__/command-manager.test.js.map +1 -0
  33. package/dist/commands/__tests__/help.test.d.ts +2 -0
  34. package/dist/commands/__tests__/help.test.d.ts.map +1 -0
  35. package/dist/commands/__tests__/help.test.js +105 -0
  36. package/dist/commands/__tests__/help.test.js.map +1 -0
  37. package/dist/commands/__tests__/reset.test.d.ts +2 -0
  38. package/dist/commands/__tests__/reset.test.d.ts.map +1 -0
  39. package/dist/commands/__tests__/reset.test.js +140 -0
  40. package/dist/commands/__tests__/reset.test.js.map +1 -0
  41. package/dist/commands/__tests__/status.test.d.ts +2 -0
  42. package/dist/commands/__tests__/status.test.d.ts.map +1 -0
  43. package/dist/commands/__tests__/status.test.js +205 -0
  44. package/dist/commands/__tests__/status.test.js.map +1 -0
  45. package/dist/commands/command-manager.d.ts +66 -0
  46. package/dist/commands/command-manager.d.ts.map +1 -0
  47. package/dist/commands/command-manager.js +191 -0
  48. package/dist/commands/command-manager.js.map +1 -0
  49. package/dist/commands/help.d.ts +8 -0
  50. package/dist/commands/help.d.ts.map +1 -0
  51. package/dist/commands/help.js +27 -0
  52. package/dist/commands/help.js.map +1 -0
  53. package/dist/commands/index.d.ts +12 -0
  54. package/dist/commands/index.d.ts.map +1 -0
  55. package/dist/commands/index.js +13 -0
  56. package/dist/commands/index.js.map +1 -0
  57. package/dist/commands/reset.d.ts +9 -0
  58. package/dist/commands/reset.d.ts.map +1 -0
  59. package/dist/commands/reset.js +28 -0
  60. package/dist/commands/reset.js.map +1 -0
  61. package/dist/commands/status.d.ts +9 -0
  62. package/dist/commands/status.d.ts.map +1 -0
  63. package/dist/commands/status.js +102 -0
  64. package/dist/commands/status.js.map +1 -0
  65. package/dist/commands/types.d.ts +87 -0
  66. package/dist/commands/types.d.ts.map +1 -0
  67. package/dist/commands/types.js +8 -0
  68. package/dist/commands/types.js.map +1 -0
  69. package/dist/discord-connector.d.ts +154 -0
  70. package/dist/discord-connector.d.ts.map +1 -0
  71. package/dist/discord-connector.js +638 -0
  72. package/dist/discord-connector.js.map +1 -0
  73. package/dist/error-handler.d.ts +237 -0
  74. package/dist/error-handler.d.ts.map +1 -0
  75. package/dist/error-handler.js +433 -0
  76. package/dist/error-handler.js.map +1 -0
  77. package/dist/errors.d.ts +61 -0
  78. package/dist/errors.d.ts.map +1 -0
  79. package/dist/errors.js +77 -0
  80. package/dist/errors.js.map +1 -0
  81. package/dist/index.d.ts +34 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +36 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/logger.d.ts +119 -0
  86. package/dist/logger.d.ts.map +1 -0
  87. package/dist/logger.js +198 -0
  88. package/dist/logger.js.map +1 -0
  89. package/dist/mention-handler.d.ts +176 -0
  90. package/dist/mention-handler.d.ts.map +1 -0
  91. package/dist/mention-handler.js +236 -0
  92. package/dist/mention-handler.js.map +1 -0
  93. package/dist/session-manager/__tests__/errors.test.d.ts +2 -0
  94. package/dist/session-manager/__tests__/errors.test.d.ts.map +1 -0
  95. package/dist/session-manager/__tests__/errors.test.js +124 -0
  96. package/dist/session-manager/__tests__/errors.test.js.map +1 -0
  97. package/dist/session-manager/__tests__/session-manager.test.d.ts +2 -0
  98. package/dist/session-manager/__tests__/session-manager.test.d.ts.map +1 -0
  99. package/dist/session-manager/__tests__/session-manager.test.js +517 -0
  100. package/dist/session-manager/__tests__/session-manager.test.js.map +1 -0
  101. package/dist/session-manager/__tests__/types.test.d.ts +2 -0
  102. package/dist/session-manager/__tests__/types.test.d.ts.map +1 -0
  103. package/dist/session-manager/__tests__/types.test.js +169 -0
  104. package/dist/session-manager/__tests__/types.test.js.map +1 -0
  105. package/dist/session-manager/errors.d.ts +58 -0
  106. package/dist/session-manager/errors.d.ts.map +1 -0
  107. package/dist/session-manager/errors.js +70 -0
  108. package/dist/session-manager/errors.js.map +1 -0
  109. package/dist/session-manager/index.d.ts +11 -0
  110. package/dist/session-manager/index.d.ts.map +1 -0
  111. package/dist/session-manager/index.js +12 -0
  112. package/dist/session-manager/index.js.map +1 -0
  113. package/dist/session-manager/session-manager.d.ts +107 -0
  114. package/dist/session-manager/session-manager.d.ts.map +1 -0
  115. package/dist/session-manager/session-manager.js +347 -0
  116. package/dist/session-manager/session-manager.js.map +1 -0
  117. package/dist/session-manager/types.d.ts +167 -0
  118. package/dist/session-manager/types.d.ts.map +1 -0
  119. package/dist/session-manager/types.js +57 -0
  120. package/dist/session-manager/types.js.map +1 -0
  121. package/dist/types.d.ts +323 -0
  122. package/dist/types.d.ts.map +1 -0
  123. package/dist/types.js +8 -0
  124. package/dist/types.js.map +1 -0
  125. package/dist/utils/__tests__/formatting.test.d.ts +2 -0
  126. package/dist/utils/__tests__/formatting.test.d.ts.map +1 -0
  127. package/dist/utils/__tests__/formatting.test.js +571 -0
  128. package/dist/utils/__tests__/formatting.test.js.map +1 -0
  129. package/dist/utils/formatting.d.ts +211 -0
  130. package/dist/utils/formatting.d.ts.map +1 -0
  131. package/dist/utils/formatting.js +305 -0
  132. package/dist/utils/formatting.js.map +1 -0
  133. package/dist/utils/index.d.ts +5 -0
  134. package/dist/utils/index.d.ts.map +1 -0
  135. package/dist/utils/index.js +9 -0
  136. package/dist/utils/index.js.map +1 -0
  137. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord-connector.test.js","sourceRoot":"","sources":["../../src/__tests__/discord-connector.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=error-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/error-handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,509 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
+ import { USER_ERROR_MESSAGES, ErrorCategory, classifyError, withRetry, ErrorHandler, safeExecute, safeExecuteWithReply, } from "../error-handler.js";
3
+ import { DiscordConnectorError, DiscordConnectionError, AlreadyConnectedError, InvalidTokenError, DiscordErrorCode, } from "../errors.js";
4
+ import { SessionStateReadError, } from "../session-manager/errors.js";
5
+ // =============================================================================
6
+ // USER_ERROR_MESSAGES Tests
7
+ // =============================================================================
8
+ describe("USER_ERROR_MESSAGES", () => {
9
+ it("has all required error messages", () => {
10
+ expect(USER_ERROR_MESSAGES.PROCESSING_ERROR).toBe("Sorry, I encountered an error processing your request. Please try again.");
11
+ expect(USER_ERROR_MESSAGES.CONNECTION_ERROR).toBe("I'm having trouble connecting right now. Please try again in a moment.");
12
+ expect(USER_ERROR_MESSAGES.RATE_LIMITED).toBe("I'm receiving too many requests right now. Please wait a moment and try again.");
13
+ expect(USER_ERROR_MESSAGES.COMMAND_ERROR).toBe("Sorry, I couldn't complete that command. Please try again.");
14
+ expect(USER_ERROR_MESSAGES.SESSION_ERROR).toBe("I'm having trouble with your conversation session. Please try again.");
15
+ expect(USER_ERROR_MESSAGES.TIMEOUT_ERROR).toBe("The request took too long to complete. Please try again.");
16
+ expect(USER_ERROR_MESSAGES.PERMISSION_ERROR).toBe("I don't have permission to do that in this channel.");
17
+ });
18
+ it("error messages are user-friendly (no stack traces)", () => {
19
+ const messages = Object.values(USER_ERROR_MESSAGES);
20
+ for (const message of messages) {
21
+ // Messages should not contain programming artifacts
22
+ expect(message).not.toMatch(/^Error:/);
23
+ expect(message).not.toContain("at line");
24
+ expect(message).not.toContain(".ts:");
25
+ expect(message).not.toContain(".js:");
26
+ expect(message).not.toMatch(/\bundefined\b/);
27
+ }
28
+ });
29
+ });
30
+ // =============================================================================
31
+ // classifyError Tests
32
+ // =============================================================================
33
+ describe("classifyError", () => {
34
+ describe("Discord connector errors", () => {
35
+ it("classifies rate limit errors as RATE_LIMIT", () => {
36
+ const error = new DiscordConnectorError("Rate limited", DiscordErrorCode.RATE_LIMITED, "test-agent");
37
+ const classified = classifyError(error);
38
+ expect(classified.category).toBe(ErrorCategory.RATE_LIMIT);
39
+ expect(classified.shouldRetry).toBe(true);
40
+ expect(classified.userMessage).toBe(USER_ERROR_MESSAGES.RATE_LIMITED);
41
+ expect(classified.retryDelayMs).toBeGreaterThan(0);
42
+ });
43
+ it("classifies connection errors as TRANSIENT", () => {
44
+ const error = new DiscordConnectionError("test-agent", "Network failed");
45
+ const classified = classifyError(error);
46
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
47
+ expect(classified.shouldRetry).toBe(true);
48
+ expect(classified.userMessage).toBe(USER_ERROR_MESSAGES.CONNECTION_ERROR);
49
+ });
50
+ it("classifies gateway errors as TRANSIENT", () => {
51
+ const error = new DiscordConnectorError("Gateway error", DiscordErrorCode.GATEWAY_ERROR, "test-agent");
52
+ const classified = classifyError(error);
53
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
54
+ expect(classified.shouldRetry).toBe(true);
55
+ });
56
+ it("classifies invalid token errors as CONFIGURATION", () => {
57
+ const error = new InvalidTokenError("test-agent", "Token expired");
58
+ const classified = classifyError(error);
59
+ expect(classified.category).toBe(ErrorCategory.CONFIGURATION);
60
+ expect(classified.shouldRetry).toBe(false);
61
+ });
62
+ it("classifies already connected errors as PERMANENT", () => {
63
+ const error = new AlreadyConnectedError("test-agent");
64
+ const classified = classifyError(error);
65
+ expect(classified.category).toBe(ErrorCategory.PERMANENT);
66
+ expect(classified.shouldRetry).toBe(false);
67
+ });
68
+ });
69
+ describe("Session manager errors", () => {
70
+ it("classifies session errors as TRANSIENT", () => {
71
+ const error = new SessionStateReadError("test-agent", "/path/to/state.json");
72
+ const classified = classifyError(error);
73
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
74
+ expect(classified.shouldRetry).toBe(true);
75
+ expect(classified.userMessage).toBe(USER_ERROR_MESSAGES.SESSION_ERROR);
76
+ });
77
+ });
78
+ describe("Network errors", () => {
79
+ it("classifies ECONNRESET as TRANSIENT", () => {
80
+ const error = new Error("read ECONNRESET");
81
+ const classified = classifyError(error);
82
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
83
+ expect(classified.shouldRetry).toBe(true);
84
+ expect(classified.userMessage).toBe(USER_ERROR_MESSAGES.CONNECTION_ERROR);
85
+ });
86
+ it("classifies ECONNREFUSED as TRANSIENT", () => {
87
+ const error = new Error("connect ECONNREFUSED");
88
+ const classified = classifyError(error);
89
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
90
+ expect(classified.shouldRetry).toBe(true);
91
+ });
92
+ it("classifies ETIMEDOUT as TRANSIENT", () => {
93
+ const error = new Error("ETIMEDOUT");
94
+ const classified = classifyError(error);
95
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
96
+ expect(classified.shouldRetry).toBe(true);
97
+ });
98
+ it("classifies fetch failed as TRANSIENT", () => {
99
+ const error = new Error("fetch failed");
100
+ const classified = classifyError(error);
101
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
102
+ expect(classified.shouldRetry).toBe(true);
103
+ });
104
+ it("classifies socket hang up as TRANSIENT", () => {
105
+ const error = new Error("socket hang up");
106
+ const classified = classifyError(error);
107
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
108
+ expect(classified.shouldRetry).toBe(true);
109
+ });
110
+ });
111
+ describe("Timeout errors", () => {
112
+ it("classifies timeout errors as TRANSIENT", () => {
113
+ const error = new Error("Request timed out");
114
+ const classified = classifyError(error);
115
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
116
+ expect(classified.shouldRetry).toBe(true);
117
+ expect(classified.userMessage).toBe(USER_ERROR_MESSAGES.TIMEOUT_ERROR);
118
+ });
119
+ it("classifies AbortError as TRANSIENT", () => {
120
+ const error = new Error("AbortError: signal timed out");
121
+ error.name = "AbortError";
122
+ const classified = classifyError(error);
123
+ expect(classified.category).toBe(ErrorCategory.TRANSIENT);
124
+ expect(classified.shouldRetry).toBe(true);
125
+ });
126
+ });
127
+ describe("Unknown errors", () => {
128
+ it("classifies unknown errors as UNKNOWN", () => {
129
+ const error = new Error("Something unexpected happened");
130
+ const classified = classifyError(error);
131
+ expect(classified.category).toBe(ErrorCategory.UNKNOWN);
132
+ expect(classified.shouldRetry).toBe(false);
133
+ expect(classified.userMessage).toBe(USER_ERROR_MESSAGES.PROCESSING_ERROR);
134
+ });
135
+ it("handles non-Error values", () => {
136
+ const classified = classifyError("string error");
137
+ expect(classified.error).toBeInstanceOf(Error);
138
+ expect(classified.error.message).toBe("string error");
139
+ expect(classified.category).toBe(ErrorCategory.UNKNOWN);
140
+ });
141
+ it("handles null", () => {
142
+ const classified = classifyError(null);
143
+ expect(classified.error).toBeInstanceOf(Error);
144
+ expect(classified.category).toBe(ErrorCategory.UNKNOWN);
145
+ });
146
+ it("handles undefined", () => {
147
+ const classified = classifyError(undefined);
148
+ expect(classified.error).toBeInstanceOf(Error);
149
+ expect(classified.category).toBe(ErrorCategory.UNKNOWN);
150
+ });
151
+ });
152
+ });
153
+ // =============================================================================
154
+ // withRetry Tests
155
+ // =============================================================================
156
+ describe("withRetry", () => {
157
+ beforeEach(() => {
158
+ vi.useFakeTimers();
159
+ });
160
+ afterEach(() => {
161
+ vi.useRealTimers();
162
+ });
163
+ it("returns success on first attempt if operation succeeds", async () => {
164
+ const operation = vi.fn().mockResolvedValue("success");
165
+ const resultPromise = withRetry(operation);
166
+ await vi.runAllTimersAsync();
167
+ const result = await resultPromise;
168
+ expect(result.success).toBe(true);
169
+ expect(result.value).toBe("success");
170
+ expect(result.attempts).toBe(1);
171
+ expect(operation).toHaveBeenCalledTimes(1);
172
+ });
173
+ it("retries transient errors", async () => {
174
+ const operation = vi
175
+ .fn()
176
+ .mockRejectedValueOnce(new Error("ECONNRESET"))
177
+ .mockResolvedValue("success");
178
+ const resultPromise = withRetry(operation, { baseDelayMs: 100 });
179
+ await vi.runAllTimersAsync();
180
+ const result = await resultPromise;
181
+ expect(result.success).toBe(true);
182
+ expect(result.value).toBe("success");
183
+ expect(result.attempts).toBe(2);
184
+ expect(operation).toHaveBeenCalledTimes(2);
185
+ });
186
+ it("does not retry permanent errors", async () => {
187
+ const operation = vi.fn().mockRejectedValue(new Error("Invalid input"));
188
+ const resultPromise = withRetry(operation, { maxAttempts: 3 });
189
+ await vi.runAllTimersAsync();
190
+ const result = await resultPromise;
191
+ expect(result.success).toBe(false);
192
+ expect(result.error?.message).toBe("Invalid input");
193
+ expect(result.attempts).toBe(1);
194
+ expect(operation).toHaveBeenCalledTimes(1);
195
+ });
196
+ it("respects maxAttempts", async () => {
197
+ const operation = vi.fn().mockRejectedValue(new Error("ECONNRESET"));
198
+ const resultPromise = withRetry(operation, {
199
+ maxAttempts: 3,
200
+ baseDelayMs: 100,
201
+ });
202
+ await vi.runAllTimersAsync();
203
+ const result = await resultPromise;
204
+ expect(result.success).toBe(false);
205
+ expect(result.attempts).toBe(3);
206
+ expect(operation).toHaveBeenCalledTimes(3);
207
+ });
208
+ it("uses exponential backoff", async () => {
209
+ const operation = vi
210
+ .fn()
211
+ .mockRejectedValueOnce(new Error("ECONNRESET"))
212
+ .mockRejectedValueOnce(new Error("ECONNRESET"))
213
+ .mockResolvedValue("success");
214
+ const logger = {
215
+ debug: vi.fn(),
216
+ info: vi.fn(),
217
+ warn: vi.fn(),
218
+ error: vi.fn(),
219
+ };
220
+ const resultPromise = withRetry(operation, {
221
+ baseDelayMs: 1000,
222
+ backoffMultiplier: 2,
223
+ logger,
224
+ });
225
+ // First retry after 1000ms
226
+ await vi.advanceTimersByTimeAsync(1000);
227
+ // Second retry after 2000ms (1000 * 2)
228
+ await vi.advanceTimersByTimeAsync(2000);
229
+ await vi.runAllTimersAsync();
230
+ const result = await resultPromise;
231
+ expect(result.success).toBe(true);
232
+ expect(result.attempts).toBe(3);
233
+ expect(logger.info).toHaveBeenCalledTimes(2); // Two retry logs
234
+ });
235
+ it("respects maxDelayMs", async () => {
236
+ const operation = vi
237
+ .fn()
238
+ .mockRejectedValueOnce(new Error("ECONNRESET"))
239
+ .mockResolvedValue("success");
240
+ const resultPromise = withRetry(operation, {
241
+ baseDelayMs: 10000,
242
+ maxDelayMs: 1000,
243
+ backoffMultiplier: 10,
244
+ });
245
+ // Should use maxDelayMs (1000) not baseDelayMs (10000)
246
+ await vi.advanceTimersByTimeAsync(1000);
247
+ await vi.runAllTimersAsync();
248
+ const result = await resultPromise;
249
+ expect(result.success).toBe(true);
250
+ });
251
+ it("supports custom shouldRetry predicate", async () => {
252
+ const operation = vi
253
+ .fn()
254
+ .mockRejectedValueOnce(new Error("Custom retryable"))
255
+ .mockResolvedValue("success");
256
+ const resultPromise = withRetry(operation, {
257
+ baseDelayMs: 100,
258
+ shouldRetry: (error) => {
259
+ return error instanceof Error && error.message.includes("retryable");
260
+ },
261
+ });
262
+ await vi.runAllTimersAsync();
263
+ const result = await resultPromise;
264
+ expect(result.success).toBe(true);
265
+ expect(result.attempts).toBe(2);
266
+ });
267
+ it("logs retry attempts when logger is provided", async () => {
268
+ const operation = vi
269
+ .fn()
270
+ .mockRejectedValueOnce(new Error("ECONNRESET"))
271
+ .mockResolvedValue("success");
272
+ const logger = {
273
+ debug: vi.fn(),
274
+ info: vi.fn(),
275
+ warn: vi.fn(),
276
+ error: vi.fn(),
277
+ };
278
+ const resultPromise = withRetry(operation, {
279
+ logger,
280
+ operationName: "testOperation",
281
+ baseDelayMs: 100,
282
+ });
283
+ await vi.runAllTimersAsync();
284
+ await resultPromise;
285
+ expect(logger.info).toHaveBeenCalledWith(expect.stringContaining("testOperation failed, retrying"), expect.any(Object));
286
+ });
287
+ });
288
+ // =============================================================================
289
+ // ErrorHandler Tests
290
+ // =============================================================================
291
+ describe("ErrorHandler", () => {
292
+ const createMockLogger = () => ({
293
+ debug: vi.fn(),
294
+ info: vi.fn(),
295
+ warn: vi.fn(),
296
+ error: vi.fn(),
297
+ });
298
+ describe("handleError", () => {
299
+ it("returns user-friendly message for Discord errors", () => {
300
+ const logger = createMockLogger();
301
+ const handler = new ErrorHandler({
302
+ logger,
303
+ agentName: "test-agent",
304
+ });
305
+ const error = new DiscordConnectionError("test-agent", "Network failed");
306
+ const userMessage = handler.handleError(error, "connecting to Discord");
307
+ expect(userMessage).toBe(USER_ERROR_MESSAGES.CONNECTION_ERROR);
308
+ });
309
+ it("returns user-friendly message for unknown errors", () => {
310
+ const logger = createMockLogger();
311
+ const handler = new ErrorHandler({
312
+ logger,
313
+ agentName: "test-agent",
314
+ });
315
+ const error = new Error("Something unexpected");
316
+ const userMessage = handler.handleError(error, "processing request");
317
+ expect(userMessage).toBe(USER_ERROR_MESSAGES.PROCESSING_ERROR);
318
+ });
319
+ it("logs detailed error information", () => {
320
+ const logger = createMockLogger();
321
+ const handler = new ErrorHandler({
322
+ logger,
323
+ agentName: "test-agent",
324
+ });
325
+ const error = new Error("Detailed error info");
326
+ error.stack = "Error: Detailed error info\n at test.ts:123";
327
+ handler.handleError(error, "test operation");
328
+ expect(logger.error).toHaveBeenCalledWith("Error during test operation", expect.objectContaining({
329
+ agentName: "test-agent",
330
+ context: "test operation",
331
+ errorMessage: "Detailed error info",
332
+ errorName: "Error",
333
+ stack: expect.stringContaining("Error: Detailed error info"),
334
+ }));
335
+ });
336
+ it("tracks error statistics", () => {
337
+ const logger = createMockLogger();
338
+ const handler = new ErrorHandler({
339
+ logger,
340
+ agentName: "test-agent",
341
+ });
342
+ handler.handleError(new Error("ECONNRESET"), "op1");
343
+ handler.handleError(new Error("ECONNRESET"), "op2");
344
+ handler.handleError(new InvalidTokenError("test-agent", "bad"), "op3");
345
+ const stats = handler.getErrorStats();
346
+ expect(stats.get(ErrorCategory.TRANSIENT)).toBe(2);
347
+ expect(stats.get(ErrorCategory.CONFIGURATION)).toBe(1);
348
+ });
349
+ });
350
+ describe("handleErrorWithMessage", () => {
351
+ it("returns custom message", () => {
352
+ const logger = createMockLogger();
353
+ const handler = new ErrorHandler({
354
+ logger,
355
+ agentName: "test-agent",
356
+ });
357
+ const error = new Error("Internal error");
358
+ const customMessage = "Custom user message";
359
+ const userMessage = handler.handleErrorWithMessage(error, "test operation", customMessage);
360
+ expect(userMessage).toBe(customMessage);
361
+ });
362
+ it("still logs detailed error info", () => {
363
+ const logger = createMockLogger();
364
+ const handler = new ErrorHandler({
365
+ logger,
366
+ agentName: "test-agent",
367
+ });
368
+ const error = new Error("Internal error");
369
+ handler.handleErrorWithMessage(error, "test operation", "Custom message");
370
+ expect(logger.error).toHaveBeenCalledWith("Error during test operation", expect.objectContaining({
371
+ errorMessage: "Internal error",
372
+ }));
373
+ });
374
+ });
375
+ describe("isRetryable", () => {
376
+ it("returns true for transient errors", () => {
377
+ const logger = createMockLogger();
378
+ const handler = new ErrorHandler({
379
+ logger,
380
+ agentName: "test-agent",
381
+ });
382
+ expect(handler.isRetryable(new Error("ECONNRESET"))).toBe(true);
383
+ expect(handler.isRetryable(new Error("timeout"))).toBe(true);
384
+ });
385
+ it("returns false for permanent errors", () => {
386
+ const logger = createMockLogger();
387
+ const handler = new ErrorHandler({
388
+ logger,
389
+ agentName: "test-agent",
390
+ });
391
+ expect(handler.isRetryable(new Error("Unknown error"))).toBe(false);
392
+ expect(handler.isRetryable(new InvalidTokenError("test", "bad"))).toBe(false);
393
+ });
394
+ });
395
+ describe("getUserMessage", () => {
396
+ it("returns appropriate message for error type", () => {
397
+ const logger = createMockLogger();
398
+ const handler = new ErrorHandler({
399
+ logger,
400
+ agentName: "test-agent",
401
+ });
402
+ expect(handler.getUserMessage(new DiscordConnectionError("test", "failed"))).toBe(USER_ERROR_MESSAGES.CONNECTION_ERROR);
403
+ expect(handler.getUserMessage(new Error("ECONNRESET"))).toBe(USER_ERROR_MESSAGES.CONNECTION_ERROR);
404
+ expect(handler.getUserMessage(new Error("timeout"))).toBe(USER_ERROR_MESSAGES.TIMEOUT_ERROR);
405
+ });
406
+ });
407
+ describe("resetStats", () => {
408
+ it("clears error statistics", () => {
409
+ const logger = createMockLogger();
410
+ const handler = new ErrorHandler({
411
+ logger,
412
+ agentName: "test-agent",
413
+ });
414
+ handler.handleError(new Error("ECONNRESET"), "op1");
415
+ handler.handleError(new Error("ECONNRESET"), "op2");
416
+ handler.resetStats();
417
+ const stats = handler.getErrorStats();
418
+ expect(stats.size).toBe(0);
419
+ });
420
+ });
421
+ });
422
+ // =============================================================================
423
+ // safeExecute Tests
424
+ // =============================================================================
425
+ describe("safeExecute", () => {
426
+ it("returns result on success", async () => {
427
+ const logger = {
428
+ debug: vi.fn(),
429
+ info: vi.fn(),
430
+ warn: vi.fn(),
431
+ error: vi.fn(),
432
+ };
433
+ const handler = new ErrorHandler({ logger, agentName: "test" });
434
+ const result = await safeExecute(async () => "success", handler, "test operation");
435
+ expect(result).toBe("success");
436
+ expect(logger.error).not.toHaveBeenCalled();
437
+ });
438
+ it("returns undefined and logs error on failure", async () => {
439
+ const logger = {
440
+ debug: vi.fn(),
441
+ info: vi.fn(),
442
+ warn: vi.fn(),
443
+ error: vi.fn(),
444
+ };
445
+ const handler = new ErrorHandler({ logger, agentName: "test" });
446
+ const result = await safeExecute(async () => {
447
+ throw new Error("Operation failed");
448
+ }, handler, "test operation");
449
+ expect(result).toBeUndefined();
450
+ expect(logger.error).toHaveBeenCalled();
451
+ });
452
+ });
453
+ // =============================================================================
454
+ // safeExecuteWithReply Tests
455
+ // =============================================================================
456
+ describe("safeExecuteWithReply", () => {
457
+ it("returns result on success", async () => {
458
+ const logger = {
459
+ debug: vi.fn(),
460
+ info: vi.fn(),
461
+ warn: vi.fn(),
462
+ error: vi.fn(),
463
+ };
464
+ const handler = new ErrorHandler({ logger, agentName: "test" });
465
+ const result = await safeExecuteWithReply(async () => "Hello, world!", handler, "greeting");
466
+ expect(result).toBe("Hello, world!");
467
+ });
468
+ it("returns user-friendly error message on failure", async () => {
469
+ const logger = {
470
+ debug: vi.fn(),
471
+ info: vi.fn(),
472
+ warn: vi.fn(),
473
+ error: vi.fn(),
474
+ };
475
+ const handler = new ErrorHandler({ logger, agentName: "test" });
476
+ const result = await safeExecuteWithReply(async () => {
477
+ throw new Error("ECONNRESET");
478
+ }, handler, "network operation");
479
+ expect(result).toBe(USER_ERROR_MESSAGES.CONNECTION_ERROR);
480
+ });
481
+ it("logs detailed error on failure", async () => {
482
+ const logger = {
483
+ debug: vi.fn(),
484
+ info: vi.fn(),
485
+ warn: vi.fn(),
486
+ error: vi.fn(),
487
+ };
488
+ const handler = new ErrorHandler({ logger, agentName: "test" });
489
+ await safeExecuteWithReply(async () => {
490
+ throw new Error("Detailed error");
491
+ }, handler, "failed operation");
492
+ expect(logger.error).toHaveBeenCalledWith("Error during failed operation", expect.objectContaining({
493
+ errorMessage: "Detailed error",
494
+ }));
495
+ });
496
+ });
497
+ // =============================================================================
498
+ // ErrorCategory Tests
499
+ // =============================================================================
500
+ describe("ErrorCategory", () => {
501
+ it("has all expected categories", () => {
502
+ expect(ErrorCategory.TRANSIENT).toBe("transient");
503
+ expect(ErrorCategory.PERMANENT).toBe("permanent");
504
+ expect(ErrorCategory.RATE_LIMIT).toBe("rate_limit");
505
+ expect(ErrorCategory.CONFIGURATION).toBe("configuration");
506
+ expect(ErrorCategory.UNKNOWN).toBe("unknown");
507
+ });
508
+ });
509
+ //# sourceMappingURL=error-handler.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.test.js","sourceRoot":"","sources":["../../src/__tests__/error-handler.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=errors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/errors.test.ts"],"names":[],"mappings":""}