@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,61 @@
1
+ /**
2
+ * Error classes for the Discord connector
3
+ *
4
+ * Provides typed errors for Discord connection and operation failures.
5
+ */
6
+ /**
7
+ * Error codes for Discord connector operations
8
+ */
9
+ export declare enum DiscordErrorCode {
10
+ CONNECTION_FAILED = "DISCORD_CONNECTION_FAILED",
11
+ ALREADY_CONNECTED = "DISCORD_ALREADY_CONNECTED",
12
+ NOT_CONNECTED = "DISCORD_NOT_CONNECTED",
13
+ INVALID_TOKEN = "DISCORD_INVALID_TOKEN",
14
+ MISSING_TOKEN = "DISCORD_MISSING_TOKEN",
15
+ GATEWAY_ERROR = "DISCORD_GATEWAY_ERROR",
16
+ RATE_LIMITED = "DISCORD_RATE_LIMITED"
17
+ }
18
+ /**
19
+ * Base error class for Discord connector operations
20
+ *
21
+ * Note: This extends Error directly rather than FleetManagerError
22
+ * because Discord connector errors have their own error code type.
23
+ */
24
+ export declare class DiscordConnectorError extends Error {
25
+ readonly code: DiscordErrorCode;
26
+ readonly agentName: string;
27
+ constructor(message: string, code: DiscordErrorCode, agentName: string, options?: {
28
+ cause?: Error;
29
+ });
30
+ }
31
+ /**
32
+ * Error thrown when connection to Discord fails
33
+ */
34
+ export declare class DiscordConnectionError extends DiscordConnectorError {
35
+ constructor(agentName: string, message: string, options?: {
36
+ cause?: Error;
37
+ });
38
+ }
39
+ /**
40
+ * Error thrown when attempting to connect while already connected
41
+ */
42
+ export declare class AlreadyConnectedError extends DiscordConnectorError {
43
+ constructor(agentName: string);
44
+ }
45
+ /**
46
+ * Error thrown when bot token is missing or invalid
47
+ */
48
+ export declare class InvalidTokenError extends DiscordConnectorError {
49
+ constructor(agentName: string, reason: string);
50
+ }
51
+ /**
52
+ * Error thrown when bot token is not provided
53
+ */
54
+ export declare class MissingTokenError extends DiscordConnectorError {
55
+ constructor(agentName: string, envVar: string);
56
+ }
57
+ /**
58
+ * Type guard to check if an error is a DiscordConnectorError
59
+ */
60
+ export declare function isDiscordConnectorError(error: unknown): error is DiscordConnectorError;
61
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,iBAAiB,8BAA8B;IAC/C,iBAAiB,8BAA8B;IAC/C,aAAa,0BAA0B;IACvC,aAAa,0BAA0B;IACvC,aAAa,0BAA0B;IACvC,aAAa,0BAA0B;IACvC,YAAY,yBAAyB;CACtC;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,IAAI,EAAE,gBAAgB,CAAC;IACvC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAGhC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAO9B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,qBAAqB;gBACnD,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAS5E;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB;gBAClD,SAAS,EAAE,MAAM;CAQ9B;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,qBAAqB;gBAC9C,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQ9C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,qBAAqB;gBAC9C,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQ9C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAEhC"}
package/dist/errors.js ADDED
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Error classes for the Discord connector
3
+ *
4
+ * Provides typed errors for Discord connection and operation failures.
5
+ */
6
+ /**
7
+ * Error codes for Discord connector operations
8
+ */
9
+ export var DiscordErrorCode;
10
+ (function (DiscordErrorCode) {
11
+ DiscordErrorCode["CONNECTION_FAILED"] = "DISCORD_CONNECTION_FAILED";
12
+ DiscordErrorCode["ALREADY_CONNECTED"] = "DISCORD_ALREADY_CONNECTED";
13
+ DiscordErrorCode["NOT_CONNECTED"] = "DISCORD_NOT_CONNECTED";
14
+ DiscordErrorCode["INVALID_TOKEN"] = "DISCORD_INVALID_TOKEN";
15
+ DiscordErrorCode["MISSING_TOKEN"] = "DISCORD_MISSING_TOKEN";
16
+ DiscordErrorCode["GATEWAY_ERROR"] = "DISCORD_GATEWAY_ERROR";
17
+ DiscordErrorCode["RATE_LIMITED"] = "DISCORD_RATE_LIMITED";
18
+ })(DiscordErrorCode || (DiscordErrorCode = {}));
19
+ /**
20
+ * Base error class for Discord connector operations
21
+ *
22
+ * Note: This extends Error directly rather than FleetManagerError
23
+ * because Discord connector errors have their own error code type.
24
+ */
25
+ export class DiscordConnectorError extends Error {
26
+ code;
27
+ agentName;
28
+ constructor(message, code, agentName, options) {
29
+ super(message, options);
30
+ this.name = "DiscordConnectorError";
31
+ this.code = code;
32
+ this.agentName = agentName;
33
+ }
34
+ }
35
+ /**
36
+ * Error thrown when connection to Discord fails
37
+ */
38
+ export class DiscordConnectionError extends DiscordConnectorError {
39
+ constructor(agentName, message, options) {
40
+ super(`Discord connection failed for agent '${agentName}': ${message}`, DiscordErrorCode.CONNECTION_FAILED, agentName, options);
41
+ this.name = "DiscordConnectionError";
42
+ }
43
+ }
44
+ /**
45
+ * Error thrown when attempting to connect while already connected
46
+ */
47
+ export class AlreadyConnectedError extends DiscordConnectorError {
48
+ constructor(agentName) {
49
+ super(`Discord connector for agent '${agentName}' is already connected`, DiscordErrorCode.ALREADY_CONNECTED, agentName);
50
+ this.name = "AlreadyConnectedError";
51
+ }
52
+ }
53
+ /**
54
+ * Error thrown when bot token is missing or invalid
55
+ */
56
+ export class InvalidTokenError extends DiscordConnectorError {
57
+ constructor(agentName, reason) {
58
+ super(`Invalid Discord bot token for agent '${agentName}': ${reason}`, DiscordErrorCode.INVALID_TOKEN, agentName);
59
+ this.name = "InvalidTokenError";
60
+ }
61
+ }
62
+ /**
63
+ * Error thrown when bot token is not provided
64
+ */
65
+ export class MissingTokenError extends DiscordConnectorError {
66
+ constructor(agentName, envVar) {
67
+ super(`Missing Discord bot token for agent '${agentName}': environment variable '${envVar}' is not set`, DiscordErrorCode.MISSING_TOKEN, agentName);
68
+ this.name = "MissingTokenError";
69
+ }
70
+ }
71
+ /**
72
+ * Type guard to check if an error is a DiscordConnectorError
73
+ */
74
+ export function isDiscordConnectorError(error) {
75
+ return error instanceof DiscordConnectorError;
76
+ }
77
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,mEAA+C,CAAA;IAC/C,mEAA+C,CAAA;IAC/C,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,yDAAqC,CAAA;AACvC,CAAC,EARW,gBAAgB,KAAhB,gBAAgB,QAQ3B;AAED;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9B,IAAI,CAAmB;IACvB,SAAS,CAAS;IAElC,YACE,OAAe,EACf,IAAsB,EACtB,SAAiB,EACjB,OAA2B;QAE3B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,qBAAqB;IAC/D,YAAY,SAAiB,EAAE,OAAe,EAAE,OAA2B;QACzE,KAAK,CACH,wCAAwC,SAAS,MAAM,OAAO,EAAE,EAChE,gBAAgB,CAAC,iBAAiB,EAClC,SAAS,EACT,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,qBAAqB;IAC9D,YAAY,SAAiB;QAC3B,KAAK,CACH,gCAAgC,SAAS,wBAAwB,EACjE,gBAAgB,CAAC,iBAAiB,EAClC,SAAS,CACV,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAC1D,YAAY,SAAiB,EAAE,MAAc;QAC3C,KAAK,CACH,wCAAwC,SAAS,MAAM,MAAM,EAAE,EAC/D,gBAAgB,CAAC,aAAa,EAC9B,SAAS,CACV,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAC1D,YAAY,SAAiB,EAAE,MAAc;QAC3C,KAAK,CACH,wCAAwC,SAAS,4BAA4B,MAAM,cAAc,EACjG,gBAAgB,CAAC,aAAa,EAC9B,SAAS,CACV,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,OAAO,KAAK,YAAY,qBAAqB,CAAC;AAChD,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @herdctl/discord
3
+ *
4
+ * Discord connector for herdctl - Autonomous Agent Fleet Management for Claude Code
5
+ *
6
+ * This package provides:
7
+ * - DiscordConnector class for connecting agents to Discord
8
+ * - Per-agent Discord bot support
9
+ * - Connection lifecycle management
10
+ * - Event-driven architecture for monitoring
11
+ * - SessionManager for per-channel conversation context
12
+ */
13
+ export declare const VERSION = "0.0.1";
14
+ export { DiscordConnector } from "./discord-connector.js";
15
+ export { DiscordLogger, createLoggerFromConfig, createDefaultDiscordLogger, } from "./logger.js";
16
+ export type { DiscordLogLevel, DiscordLoggerOptions, } from "./logger.js";
17
+ export { SessionManager } from "./session-manager/index.js";
18
+ export type { DiscordConnectorOptions, DiscordConnectorState, DiscordConnectionStatus, DiscordConnectorLogger, IDiscordConnector, DiscordConnectorEventMap, DiscordConnectorEventName, DiscordConnectorEventPayload, } from "./types.js";
19
+ export type { SessionManagerOptions, SessionManagerLogger, ISessionManager, SessionResult, ChannelSession, DiscordSessionState, } from "./session-manager/index.js";
20
+ export { DiscordSessionStateSchema, ChannelSessionSchema, createInitialSessionState, createChannelSession, } from "./session-manager/index.js";
21
+ export { isBotMentioned, shouldProcessMessage, stripBotMention, stripMentions, processMessage, fetchMessageHistory, buildConversationContext, formatContextForPrompt, } from "./mention-handler.js";
22
+ export type { TextBasedChannel, ContextMessage, ContextBuildOptions, ConversationContext, } from "./mention-handler.js";
23
+ export { isDMEnabled, getDMMode, checkDMUserFilter, findChannelConfig, resolveChannelConfig, shouldProcessInMode, DEFAULT_DM_CONTEXT_MESSAGES, DEFAULT_CHANNEL_CONTEXT_MESSAGES, } from "./auto-mode-handler.js";
24
+ export type { DMFilterResult, DMConfig, ResolvedChannelConfig, } from "./auto-mode-handler.js";
25
+ export { DiscordErrorCode, DiscordConnectorError, DiscordConnectionError, AlreadyConnectedError, InvalidTokenError, MissingTokenError, isDiscordConnectorError, } from "./errors.js";
26
+ export { USER_ERROR_MESSAGES, ErrorCategory, classifyError, withRetry, ErrorHandler, safeExecute, safeExecuteWithReply, } from "./error-handler.js";
27
+ export type { UserErrorMessageKey, ClassifiedError, RetryOptions, RetryResult, ErrorHandlerOptions, } from "./error-handler.js";
28
+ export { SessionErrorCode, SessionManagerError, SessionStateReadError, SessionStateWriteError, SessionDirectoryCreateError, isSessionManagerError, } from "./session-manager/index.js";
29
+ export { CommandManager } from "./commands/index.js";
30
+ export { helpCommand, resetCommand, statusCommand } from "./commands/index.js";
31
+ export type { CommandContext, SlashCommand, CommandManagerLogger, CommandManagerOptions, ICommandManager, } from "./commands/index.js";
32
+ export { DISCORD_MAX_MESSAGE_LENGTH, DEFAULT_MESSAGE_DELAY_MS, MIN_CHUNK_SIZE, findSplitPoint, splitMessage, needsSplit, startTypingIndicator, sendSplitMessage, sendWithTyping, truncateMessage, formatCodeBlock, escapeMarkdown, } from "./utils/index.js";
33
+ export type { SendableChannel, MessageSplitOptions, SendSplitOptions, SplitResult, TypingController, } from "./utils/index.js";
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,eAAe,EACf,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,cAAc,EACd,QAAQ,EACR,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/E,YAAY,EACV,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @herdctl/discord
3
+ *
4
+ * Discord connector for herdctl - Autonomous Agent Fleet Management for Claude Code
5
+ *
6
+ * This package provides:
7
+ * - DiscordConnector class for connecting agents to Discord
8
+ * - Per-agent Discord bot support
9
+ * - Connection lifecycle management
10
+ * - Event-driven architecture for monitoring
11
+ * - SessionManager for per-channel conversation context
12
+ */
13
+ export const VERSION = "0.0.1";
14
+ // Main connector class
15
+ export { DiscordConnector } from "./discord-connector.js";
16
+ // Logger
17
+ export { DiscordLogger, createLoggerFromConfig, createDefaultDiscordLogger, } from "./logger.js";
18
+ // Session manager
19
+ export { SessionManager } from "./session-manager/index.js";
20
+ export { DiscordSessionStateSchema, ChannelSessionSchema, createInitialSessionState, createChannelSession, } from "./session-manager/index.js";
21
+ // Mention handling
22
+ export { isBotMentioned, shouldProcessMessage, stripBotMention, stripMentions, processMessage, fetchMessageHistory, buildConversationContext, formatContextForPrompt, } from "./mention-handler.js";
23
+ // Auto mode handling (DMs and dedicated channels)
24
+ export { isDMEnabled, getDMMode, checkDMUserFilter, findChannelConfig, resolveChannelConfig, shouldProcessInMode, DEFAULT_DM_CONTEXT_MESSAGES, DEFAULT_CHANNEL_CONTEXT_MESSAGES, } from "./auto-mode-handler.js";
25
+ // Errors
26
+ export { DiscordErrorCode, DiscordConnectorError, DiscordConnectionError, AlreadyConnectedError, InvalidTokenError, MissingTokenError, isDiscordConnectorError, } from "./errors.js";
27
+ // Error handling utilities
28
+ export { USER_ERROR_MESSAGES, ErrorCategory, classifyError, withRetry, ErrorHandler, safeExecute, safeExecuteWithReply, } from "./error-handler.js";
29
+ // Session manager errors
30
+ export { SessionErrorCode, SessionManagerError, SessionStateReadError, SessionStateWriteError, SessionDirectoryCreateError, isSessionManagerError, } from "./session-manager/index.js";
31
+ // Commands
32
+ export { CommandManager } from "./commands/index.js";
33
+ export { helpCommand, resetCommand, statusCommand } from "./commands/index.js";
34
+ // Formatting utilities
35
+ export { DISCORD_MAX_MESSAGE_LENGTH, DEFAULT_MESSAGE_DELAY_MS, MIN_CHUNK_SIZE, findSplitPoint, splitMessage, needsSplit, startTypingIndicator, sendSplitMessage, sendWithTyping, truncateMessage, formatCodeBlock, escapeMarkdown, } from "./utils/index.js";
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,SAAS;AACT,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAOrB,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAwB5D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAS9B,kDAAkD;AAClD,OAAO,EACL,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAQhC,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAU5B,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAU/E,uBAAuB;AACvB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Configurable logger for Discord connector operations
3
+ *
4
+ * Implements log level filtering based on configuration:
5
+ * - minimal: Only errors and critical state changes
6
+ * - standard: Connection events, message counts, session operations (default)
7
+ * - verbose: All messages logged with optional content redaction
8
+ */
9
+ import type { AgentChatDiscord } from "@herdctl/core";
10
+ import type { DiscordConnectorLogger } from "./types.js";
11
+ /**
12
+ * Log level hierarchy for filtering
13
+ * Higher number = more severe = always logged
14
+ */
15
+ export type DiscordLogLevel = "minimal" | "standard" | "verbose";
16
+ /**
17
+ * Options for configuring the Discord logger
18
+ */
19
+ export interface DiscordLoggerOptions {
20
+ /**
21
+ * Name of the agent this logger is for
22
+ */
23
+ agentName: string;
24
+ /**
25
+ * Log level setting from config
26
+ * @default "standard"
27
+ */
28
+ logLevel?: DiscordLogLevel;
29
+ /**
30
+ * Whether to redact message content in verbose mode
31
+ * @default true
32
+ */
33
+ redactContent?: boolean;
34
+ /**
35
+ * Custom prefix for log messages
36
+ * @default "[discord:agentName]"
37
+ */
38
+ prefix?: string;
39
+ }
40
+ /**
41
+ * Configurable logger for Discord connector operations
42
+ *
43
+ * Implements log level filtering based on configuration:
44
+ * - minimal: Only errors and critical state changes (warn/error)
45
+ * - standard: Connection events, message counts, session operations (info/warn/error)
46
+ * - verbose: All messages logged with optional content redaction (debug/info/warn/error)
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * const logger = new DiscordLogger({
51
+ * agentName: 'my-agent',
52
+ * logLevel: 'standard',
53
+ * redactContent: true,
54
+ * });
55
+ *
56
+ * logger.info('Connected to Discord', { username: 'Bot#1234' });
57
+ * logger.debug('Debug message', { sensitive: 'data' }); // Filtered out in standard mode
58
+ * ```
59
+ */
60
+ export declare class DiscordLogger implements DiscordConnectorLogger {
61
+ private readonly agentName;
62
+ private readonly logLevel;
63
+ private readonly redactContent;
64
+ private readonly prefix;
65
+ private readonly levelValue;
66
+ constructor(options: DiscordLoggerOptions);
67
+ /**
68
+ * Check if a log method should output based on current log level
69
+ */
70
+ private shouldLog;
71
+ /**
72
+ * Process data for logging, applying redaction if needed
73
+ */
74
+ private processData;
75
+ /**
76
+ * Format and output a log message
77
+ */
78
+ private log;
79
+ /**
80
+ * Log a debug message (only visible in verbose mode)
81
+ */
82
+ debug(message: string, data?: Record<string, unknown>): void;
83
+ /**
84
+ * Log an info message (visible in standard and verbose modes)
85
+ */
86
+ info(message: string, data?: Record<string, unknown>): void;
87
+ /**
88
+ * Log a warning message (always visible)
89
+ */
90
+ warn(message: string, data?: Record<string, unknown>): void;
91
+ /**
92
+ * Log an error message (always visible)
93
+ */
94
+ error(message: string, data?: Record<string, unknown>): void;
95
+ /**
96
+ * Get the current log level
97
+ */
98
+ getLogLevel(): DiscordLogLevel;
99
+ /**
100
+ * Check if redaction is enabled
101
+ */
102
+ isRedactionEnabled(): boolean;
103
+ }
104
+ /**
105
+ * Create a DiscordLogger from agent Discord configuration
106
+ *
107
+ * @param agentName - Name of the agent
108
+ * @param discordConfig - Discord configuration from agent config
109
+ * @returns Configured DiscordLogger instance
110
+ */
111
+ export declare function createLoggerFromConfig(agentName: string, discordConfig: AgentChatDiscord): DiscordLogger;
112
+ /**
113
+ * Create a default logger for an agent (standard log level)
114
+ *
115
+ * @param agentName - Name of the agent
116
+ * @returns DiscordLogger with default settings
117
+ */
118
+ export declare function createDefaultDiscordLogger(agentName: string): DiscordLogger;
119
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAqBjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAc,YAAW,sBAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,EAAE,oBAAoB;IAQzC;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,GAAG;IAoBX;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D;;OAEG;IACH,WAAW,IAAI,eAAe;IAI9B;;OAEG;IACH,kBAAkB,IAAI,OAAO;CAG9B;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,gBAAgB,GAC9B,aAAa,CAMf;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAM3E"}
package/dist/logger.js ADDED
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Configurable logger for Discord connector operations
3
+ *
4
+ * Implements log level filtering based on configuration:
5
+ * - minimal: Only errors and critical state changes
6
+ * - standard: Connection events, message counts, session operations (default)
7
+ * - verbose: All messages logged with optional content redaction
8
+ */
9
+ /**
10
+ * Maps log level names to numeric values for comparison
11
+ */
12
+ const LOG_LEVEL_VALUES = {
13
+ verbose: 0, // Most permissive - logs everything
14
+ standard: 1, // Default - logs info and above
15
+ minimal: 2, // Most restrictive - logs errors only
16
+ };
17
+ /**
18
+ * Maps method names to their required log levels
19
+ */
20
+ const METHOD_LEVELS = {
21
+ debug: 0, // Only in verbose
22
+ info: 1, // Standard and above
23
+ warn: 2, // Always logged
24
+ error: 2, // Always logged
25
+ };
26
+ /**
27
+ * Keys that should be redacted in data objects when redactContent is true
28
+ */
29
+ const REDACTABLE_KEYS = [
30
+ "content",
31
+ "message",
32
+ "prompt",
33
+ "text",
34
+ "body",
35
+ "token",
36
+ "secret",
37
+ "password",
38
+ ];
39
+ /**
40
+ * Redact sensitive content from a data object
41
+ */
42
+ function redactData(data, keysToRedact = REDACTABLE_KEYS) {
43
+ const result = {};
44
+ for (const [key, value] of Object.entries(data)) {
45
+ if (keysToRedact.includes(key.toLowerCase())) {
46
+ if (typeof value === "string") {
47
+ result[key] = `[REDACTED ${value.length} chars]`;
48
+ }
49
+ else if (Array.isArray(value)) {
50
+ result[key] = `[REDACTED ${value.length} items]`;
51
+ }
52
+ else {
53
+ result[key] = "[REDACTED]";
54
+ }
55
+ }
56
+ else if (typeof value === "object" &&
57
+ value !== null &&
58
+ !Array.isArray(value)) {
59
+ result[key] = redactData(value, keysToRedact);
60
+ }
61
+ else {
62
+ result[key] = value;
63
+ }
64
+ }
65
+ return result;
66
+ }
67
+ /**
68
+ * Configurable logger for Discord connector operations
69
+ *
70
+ * Implements log level filtering based on configuration:
71
+ * - minimal: Only errors and critical state changes (warn/error)
72
+ * - standard: Connection events, message counts, session operations (info/warn/error)
73
+ * - verbose: All messages logged with optional content redaction (debug/info/warn/error)
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const logger = new DiscordLogger({
78
+ * agentName: 'my-agent',
79
+ * logLevel: 'standard',
80
+ * redactContent: true,
81
+ * });
82
+ *
83
+ * logger.info('Connected to Discord', { username: 'Bot#1234' });
84
+ * logger.debug('Debug message', { sensitive: 'data' }); // Filtered out in standard mode
85
+ * ```
86
+ */
87
+ export class DiscordLogger {
88
+ agentName;
89
+ logLevel;
90
+ redactContent;
91
+ prefix;
92
+ levelValue;
93
+ constructor(options) {
94
+ this.agentName = options.agentName;
95
+ this.logLevel = options.logLevel ?? "standard";
96
+ this.redactContent = options.redactContent ?? true;
97
+ this.prefix = options.prefix ?? `[discord:${options.agentName}]`;
98
+ this.levelValue = LOG_LEVEL_VALUES[this.logLevel];
99
+ }
100
+ /**
101
+ * Check if a log method should output based on current log level
102
+ */
103
+ shouldLog(methodLevel) {
104
+ return methodLevel >= this.levelValue;
105
+ }
106
+ /**
107
+ * Process data for logging, applying redaction if needed
108
+ */
109
+ processData(data) {
110
+ if (!data)
111
+ return undefined;
112
+ if (this.redactContent && this.logLevel === "verbose") {
113
+ return redactData(data);
114
+ }
115
+ return data;
116
+ }
117
+ /**
118
+ * Format and output a log message
119
+ */
120
+ log(level, message, data) {
121
+ const methodLevel = METHOD_LEVELS[level];
122
+ if (!this.shouldLog(methodLevel)) {
123
+ return;
124
+ }
125
+ const processedData = this.processData(data);
126
+ const logFn = console[level];
127
+ if (processedData) {
128
+ logFn(this.prefix, message, processedData);
129
+ }
130
+ else {
131
+ logFn(this.prefix, message);
132
+ }
133
+ }
134
+ /**
135
+ * Log a debug message (only visible in verbose mode)
136
+ */
137
+ debug(message, data) {
138
+ this.log("debug", message, data);
139
+ }
140
+ /**
141
+ * Log an info message (visible in standard and verbose modes)
142
+ */
143
+ info(message, data) {
144
+ this.log("info", message, data);
145
+ }
146
+ /**
147
+ * Log a warning message (always visible)
148
+ */
149
+ warn(message, data) {
150
+ this.log("warn", message, data);
151
+ }
152
+ /**
153
+ * Log an error message (always visible)
154
+ */
155
+ error(message, data) {
156
+ this.log("error", message, data);
157
+ }
158
+ /**
159
+ * Get the current log level
160
+ */
161
+ getLogLevel() {
162
+ return this.logLevel;
163
+ }
164
+ /**
165
+ * Check if redaction is enabled
166
+ */
167
+ isRedactionEnabled() {
168
+ return this.redactContent;
169
+ }
170
+ }
171
+ /**
172
+ * Create a DiscordLogger from agent Discord configuration
173
+ *
174
+ * @param agentName - Name of the agent
175
+ * @param discordConfig - Discord configuration from agent config
176
+ * @returns Configured DiscordLogger instance
177
+ */
178
+ export function createLoggerFromConfig(agentName, discordConfig) {
179
+ return new DiscordLogger({
180
+ agentName,
181
+ logLevel: discordConfig.log_level,
182
+ redactContent: true,
183
+ });
184
+ }
185
+ /**
186
+ * Create a default logger for an agent (standard log level)
187
+ *
188
+ * @param agentName - Name of the agent
189
+ * @returns DiscordLogger with default settings
190
+ */
191
+ export function createDefaultDiscordLogger(agentName) {
192
+ return new DiscordLogger({
193
+ agentName,
194
+ logLevel: "standard",
195
+ redactContent: true,
196
+ });
197
+ }
198
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}