@herdctl/discord 1.1.1 → 1.2.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.
Files changed (134) hide show
  1. package/README.md +14 -1
  2. package/dist/__tests__/attachments.test.d.ts +8 -0
  3. package/dist/__tests__/attachments.test.d.ts.map +1 -0
  4. package/dist/__tests__/attachments.test.js +439 -0
  5. package/dist/__tests__/attachments.test.js.map +1 -0
  6. package/dist/__tests__/discord-connector.test.js +4 -1
  7. package/dist/__tests__/discord-connector.test.js.map +1 -1
  8. package/dist/__tests__/embeds.test.d.ts +2 -0
  9. package/dist/__tests__/embeds.test.d.ts.map +1 -0
  10. package/dist/__tests__/embeds.test.js +47 -0
  11. package/dist/__tests__/embeds.test.js.map +1 -0
  12. package/dist/__tests__/logger.test.js +4 -1
  13. package/dist/__tests__/logger.test.js.map +1 -1
  14. package/dist/__tests__/manager.test.js +1193 -28
  15. package/dist/__tests__/manager.test.js.map +1 -1
  16. package/dist/__tests__/message-normalizer.test.d.ts +2 -0
  17. package/dist/__tests__/message-normalizer.test.d.ts.map +1 -0
  18. package/dist/__tests__/message-normalizer.test.js +83 -0
  19. package/dist/__tests__/message-normalizer.test.js.map +1 -0
  20. package/dist/__tests__/runtime-parity.test.d.ts +2 -0
  21. package/dist/__tests__/runtime-parity.test.d.ts.map +1 -0
  22. package/dist/__tests__/runtime-parity.test.js +157 -0
  23. package/dist/__tests__/runtime-parity.test.js.map +1 -0
  24. package/dist/auto-mode-handler.d.ts.map +1 -1
  25. package/dist/auto-mode-handler.js +9 -0
  26. package/dist/auto-mode-handler.js.map +1 -1
  27. package/dist/commands/__tests__/command-manager.test.js +63 -3
  28. package/dist/commands/__tests__/command-manager.test.js.map +1 -1
  29. package/dist/commands/__tests__/extended-commands.test.d.ts +2 -0
  30. package/dist/commands/__tests__/extended-commands.test.d.ts.map +1 -0
  31. package/dist/commands/__tests__/extended-commands.test.js +159 -0
  32. package/dist/commands/__tests__/extended-commands.test.js.map +1 -0
  33. package/dist/commands/__tests__/help.test.js +5 -6
  34. package/dist/commands/__tests__/help.test.js.map +1 -1
  35. package/dist/commands/__tests__/reset.test.js +14 -6
  36. package/dist/commands/__tests__/reset.test.js.map +1 -1
  37. package/dist/commands/__tests__/status.test.js +27 -25
  38. package/dist/commands/__tests__/status.test.js.map +1 -1
  39. package/dist/commands/cancel.d.ts +3 -0
  40. package/dist/commands/cancel.d.ts.map +1 -0
  41. package/dist/commands/cancel.js +7 -0
  42. package/dist/commands/cancel.js.map +1 -0
  43. package/dist/commands/command-manager.d.ts +4 -1
  44. package/dist/commands/command-manager.d.ts.map +1 -1
  45. package/dist/commands/command-manager.js +65 -3
  46. package/dist/commands/command-manager.js.map +1 -1
  47. package/dist/commands/config.d.ts +3 -0
  48. package/dist/commands/config.d.ts.map +1 -0
  49. package/dist/commands/config.js +33 -0
  50. package/dist/commands/config.js.map +1 -0
  51. package/dist/commands/help.d.ts +1 -1
  52. package/dist/commands/help.d.ts.map +1 -1
  53. package/dist/commands/help.js +26 -12
  54. package/dist/commands/help.js.map +1 -1
  55. package/dist/commands/index.d.ts +12 -1
  56. package/dist/commands/index.d.ts.map +1 -1
  57. package/dist/commands/index.js +12 -1
  58. package/dist/commands/index.js.map +1 -1
  59. package/dist/commands/new.d.ts +3 -0
  60. package/dist/commands/new.d.ts.map +1 -0
  61. package/dist/commands/new.js +22 -0
  62. package/dist/commands/new.js.map +1 -0
  63. package/dist/commands/ping.d.ts +3 -0
  64. package/dist/commands/ping.d.ts.map +1 -0
  65. package/dist/commands/ping.js +22 -0
  66. package/dist/commands/ping.js.map +1 -0
  67. package/dist/commands/reset.d.ts +1 -1
  68. package/dist/commands/reset.d.ts.map +1 -1
  69. package/dist/commands/reset.js +13 -13
  70. package/dist/commands/reset.js.map +1 -1
  71. package/dist/commands/retry.d.ts +3 -0
  72. package/dist/commands/retry.d.ts.map +1 -0
  73. package/dist/commands/retry.js +25 -0
  74. package/dist/commands/retry.js.map +1 -0
  75. package/dist/commands/session.d.ts +3 -0
  76. package/dist/commands/session.d.ts.map +1 -0
  77. package/dist/commands/session.js +47 -0
  78. package/dist/commands/session.js.map +1 -0
  79. package/dist/commands/skill.d.ts +3 -0
  80. package/dist/commands/skill.d.ts.map +1 -0
  81. package/dist/commands/skill.js +44 -0
  82. package/dist/commands/skill.js.map +1 -0
  83. package/dist/commands/skills.d.ts +3 -0
  84. package/dist/commands/skills.d.ts.map +1 -0
  85. package/dist/commands/skills.js +30 -0
  86. package/dist/commands/skills.js.map +1 -0
  87. package/dist/commands/status.d.ts +1 -1
  88. package/dist/commands/status.d.ts.map +1 -1
  89. package/dist/commands/status.js +25 -18
  90. package/dist/commands/status.js.map +1 -1
  91. package/dist/commands/stop.d.ts +3 -0
  92. package/dist/commands/stop.d.ts.map +1 -0
  93. package/dist/commands/stop.js +25 -0
  94. package/dist/commands/stop.js.map +1 -0
  95. package/dist/commands/tools.d.ts +3 -0
  96. package/dist/commands/tools.d.ts.map +1 -0
  97. package/dist/commands/tools.js +30 -0
  98. package/dist/commands/tools.js.map +1 -0
  99. package/dist/commands/types.d.ts +71 -1
  100. package/dist/commands/types.d.ts.map +1 -1
  101. package/dist/commands/usage.d.ts +3 -0
  102. package/dist/commands/usage.d.ts.map +1 -0
  103. package/dist/commands/usage.js +58 -0
  104. package/dist/commands/usage.js.map +1 -0
  105. package/dist/discord-connector.d.ts +10 -1
  106. package/dist/discord-connector.d.ts.map +1 -1
  107. package/dist/discord-connector.js +153 -8
  108. package/dist/discord-connector.js.map +1 -1
  109. package/dist/embeds.d.ts +47 -0
  110. package/dist/embeds.d.ts.map +1 -0
  111. package/dist/embeds.js +121 -0
  112. package/dist/embeds.js.map +1 -0
  113. package/dist/index.d.ts +6 -2
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +3 -1
  116. package/dist/index.js.map +1 -1
  117. package/dist/manager.d.ts +53 -24
  118. package/dist/manager.d.ts.map +1 -1
  119. package/dist/manager.js +1031 -217
  120. package/dist/manager.js.map +1 -1
  121. package/dist/mention-handler.d.ts.map +1 -1
  122. package/dist/mention-handler.js +27 -0
  123. package/dist/mention-handler.js.map +1 -1
  124. package/dist/message-normalizer.d.ts +40 -0
  125. package/dist/message-normalizer.d.ts.map +1 -0
  126. package/dist/message-normalizer.js +99 -0
  127. package/dist/message-normalizer.js.map +1 -0
  128. package/dist/types.d.ts +80 -3
  129. package/dist/types.d.ts.map +1 -1
  130. package/dist/voice-transcriber.d.ts +31 -0
  131. package/dist/voice-transcriber.d.ts.map +1 -0
  132. package/dist/voice-transcriber.js +44 -0
  133. package/dist/voice-transcriber.js.map +1 -0
  134. package/package.json +3 -3
package/dist/embeds.js ADDED
@@ -0,0 +1,121 @@
1
+ import { formatCompactNumber, formatDurationMs } from "@herdctl/chat";
2
+ import { getToolInputSummary, TOOL_EMOJIS } from "@herdctl/core";
3
+ export const DISCORD_EMBED_COLORS = {
4
+ brand: 0x5865f2,
5
+ working: 0x8b5cf6,
6
+ success: 0x22c55e,
7
+ error: 0xef4444,
8
+ system: 0x6b7280,
9
+ info: 0x3b82f6,
10
+ };
11
+ export function buildFooter(agentName) {
12
+ const shortName = agentName.includes(".") ? agentName.split(".").pop() : agentName;
13
+ return { text: `herdctl · ${shortName}` };
14
+ }
15
+ // Re-export so existing callers (tests, snapshots) don't break.
16
+ export const formatDuration = formatDurationMs;
17
+ export function buildRunCardEmbed(params) {
18
+ const color = params.status === "running"
19
+ ? DISCORD_EMBED_COLORS.working
20
+ : params.status === "success"
21
+ ? DISCORD_EMBED_COLORS.success
22
+ : DISCORD_EMBED_COLORS.error;
23
+ const fields = params.traceLines && params.traceLines.length > 0
24
+ ? [
25
+ {
26
+ name: "Trace",
27
+ value: params.traceLines.slice(-8).join("\n").slice(-1024),
28
+ inline: false,
29
+ },
30
+ ]
31
+ : undefined;
32
+ return {
33
+ description: params.message,
34
+ color,
35
+ fields,
36
+ footer: buildFooter(params.agentName),
37
+ timestamp: new Date().toISOString(),
38
+ };
39
+ }
40
+ export function buildStatusEmbed(description, type, agentName) {
41
+ const color = type === "system"
42
+ ? DISCORD_EMBED_COLORS.system
43
+ : type === "info"
44
+ ? DISCORD_EMBED_COLORS.info
45
+ : DISCORD_EMBED_COLORS.error;
46
+ return {
47
+ description,
48
+ color,
49
+ footer: agentName ? buildFooter(agentName) : undefined,
50
+ };
51
+ }
52
+ export function buildResultSummaryEmbed(params) {
53
+ const summaryParts = [];
54
+ summaryParts.push(params.isError ? "**Task failed**" : "**Task complete**");
55
+ if (params.durationMs !== undefined) {
56
+ summaryParts[0] += ` in ${formatDuration(params.durationMs)}`;
57
+ }
58
+ if (params.numTurns !== undefined) {
59
+ summaryParts.push(`${params.numTurns} turn${params.numTurns !== 1 ? "s" : ""}`);
60
+ }
61
+ if (params.totalCostUsd !== undefined) {
62
+ summaryParts.push(`$${params.totalCostUsd.toFixed(4)}`);
63
+ }
64
+ if (params.usage) {
65
+ const total = (params.usage.input_tokens ?? 0) + (params.usage.output_tokens ?? 0);
66
+ summaryParts.push(`${formatCompactNumber(total)} tokens`);
67
+ }
68
+ return {
69
+ description: summaryParts.join(" · "),
70
+ color: params.isError ? DISCORD_EMBED_COLORS.error : DISCORD_EMBED_COLORS.success,
71
+ footer: buildFooter(params.agentName),
72
+ timestamp: new Date().toISOString(),
73
+ };
74
+ }
75
+ export function buildErrorEmbed(message, agentName) {
76
+ return {
77
+ description: `**Error:** ${message.length > 4000 ? `${message.substring(0, 4000)}…` : message}`,
78
+ color: DISCORD_EMBED_COLORS.error,
79
+ footer: buildFooter(agentName),
80
+ timestamp: new Date().toISOString(),
81
+ };
82
+ }
83
+ export function buildToolResultEmbed(params) {
84
+ const toolName = params.toolUse?.name ?? "Tool";
85
+ const emoji = TOOL_EMOJIS[toolName] ?? "🔧";
86
+ const parts = [`${emoji} **${toolName}**`];
87
+ const inputSummary = params.toolUse
88
+ ? getToolInputSummary(params.toolUse.name, params.toolUse.input)
89
+ : undefined;
90
+ if (inputSummary) {
91
+ const prefix = toolName === "Bash" || toolName === "bash" ? "> " : "";
92
+ const truncated = inputSummary.length > 120 ? `${inputSummary.substring(0, 120)}…` : inputSummary;
93
+ parts.push(`\`${prefix}${truncated}\``);
94
+ }
95
+ if (params.toolUse) {
96
+ parts.push(`— ${formatDuration(Date.now() - params.toolUse.startTime)}`);
97
+ }
98
+ const fields = [];
99
+ const trimmedOutput = params.toolResult.output.trim();
100
+ if (trimmedOutput.length > 0) {
101
+ let outputText = trimmedOutput;
102
+ if (outputText.length > params.maxOutputChars) {
103
+ outputText =
104
+ outputText.substring(0, params.maxOutputChars) +
105
+ `\n… ${trimmedOutput.length.toLocaleString()} chars total`;
106
+ }
107
+ const lang = toolName === "Bash" || toolName === "bash" ? "ansi" : "";
108
+ fields.push({
109
+ name: params.toolResult.isError ? "Error" : "Output",
110
+ value: `\`\`\`${lang}\n${outputText}\n\`\`\``,
111
+ inline: false,
112
+ });
113
+ }
114
+ return {
115
+ description: parts.join(" "),
116
+ color: params.toolResult.isError ? DISCORD_EMBED_COLORS.error : DISCORD_EMBED_COLORS.brand,
117
+ fields: fields.length > 0 ? fields : undefined,
118
+ footer: buildFooter(params.agentName),
119
+ };
120
+ }
121
+ //# sourceMappingURL=embeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeds.js","sourceRoot":"","sources":["../src/embeds.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,8 +16,8 @@
16
16
  export declare const VERSION = "0.0.1";
17
17
  export type { ResolvedChannelConfig } from "./auto-mode-handler.js";
18
18
  export { DEFAULT_CHANNEL_CONTEXT_MESSAGES, DEFAULT_DM_CONTEXT_MESSAGES, findChannelConfig, resolveChannelConfig, } from "./auto-mode-handler.js";
19
- export type { CommandContext, CommandManagerLogger, CommandManagerOptions, ICommandManager, SlashCommand, } from "./commands/index.js";
20
- export { CommandManager, helpCommand, resetCommand, statusCommand } from "./commands/index.js";
19
+ export type { ChannelRunUsage, CommandContext, CommandManagerLogger, CommandManagerOptions, CumulativeUsage, ICommandManager, SlashCommand, } from "./commands/index.js";
20
+ export { CommandManager, cancelCommand, configCommand, helpCommand, newCommand, pingCommand, resetCommand, retryCommand, sessionCommand, skillCommand, skillsCommand, statusCommand, stopCommand, toolsCommand, usageCommand, } from "./commands/index.js";
21
21
  export { DiscordConnector } from "./discord-connector.js";
22
22
  export type { ErrorHandlerOptions } from "./error-handler.js";
23
23
  export { classifyError, ErrorHandler, } from "./error-handler.js";
@@ -27,7 +27,11 @@ export { createDefaultDiscordLogger, createLoggerFromConfig, DiscordLogger, } fr
27
27
  export { DiscordManager } from "./manager.js";
28
28
  export type { ContextBuildOptions, ContextMessage, ConversationContext, TextBasedChannel, } from "./mention-handler.js";
29
29
  export { buildConversationContext, fetchMessageHistory, formatContextForPrompt, isBotMentioned, processMessage, shouldProcessMessage, stripBotMention, stripBotRoleMentions, stripMentions, } from "./mention-handler.js";
30
+ export type { DiscordNormalizedMessageEvent } from "./message-normalizer.js";
31
+ export { normalizeDiscordMessage } from "./message-normalizer.js";
30
32
  export type { DiscordConnectionStatus, DiscordConnectorEventMap, DiscordConnectorEventName, DiscordConnectorEventPayload, DiscordConnectorLogger, DiscordConnectorOptions, DiscordConnectorState, DiscordReplyEmbed, DiscordReplyEmbedField, DiscordReplyPayload, IDiscordConnector, } from "./types.js";
31
33
  export type { SendableChannel, SendSplitOptions, TypingController, } from "./utils/index.js";
32
34
  export { DISCORD_MAX_MESSAGE_LENGTH, escapeMarkdown, sendSplitMessage, sendWithTyping, startTypingIndicator, } from "./utils/index.js";
35
+ export type { TranscribeOptions, TranscribeResult } from "./voice-transcriber.js";
36
+ export { transcribeAudio } from "./voice-transcriber.js";
33
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ export const VERSION = "0.0.1";
17
17
  // Auto mode handling (Discord-specific: guild hierarchy, channel resolution)
18
18
  export { DEFAULT_CHANNEL_CONTEXT_MESSAGES, DEFAULT_DM_CONTEXT_MESSAGES, findChannelConfig, resolveChannelConfig, } from "./auto-mode-handler.js";
19
19
  // Commands
20
- export { CommandManager, helpCommand, resetCommand, statusCommand } from "./commands/index.js";
20
+ export { CommandManager, cancelCommand, configCommand, helpCommand, newCommand, pingCommand, resetCommand, retryCommand, sessionCommand, skillCommand, skillsCommand, statusCommand, stopCommand, toolsCommand, usageCommand, } from "./commands/index.js";
21
21
  // Main connector class
22
22
  export { DiscordConnector } from "./discord-connector.js";
23
23
  // Discord-specific error handling (classification uses Discord error codes)
@@ -30,6 +30,8 @@ export { createDefaultDiscordLogger, createLoggerFromConfig, DiscordLogger, } fr
30
30
  export { DiscordManager } from "./manager.js";
31
31
  // Mention handling (Discord-specific)
32
32
  export { buildConversationContext, fetchMessageHistory, formatContextForPrompt, isBotMentioned, processMessage, shouldProcessMessage, stripBotMention, stripBotRoleMentions, stripMentions, } from "./mention-handler.js";
33
+ export { normalizeDiscordMessage } from "./message-normalizer.js";
33
34
  // Discord-specific formatting utilities (typing indicator, escapeMarkdown)
34
35
  export { DISCORD_MAX_MESSAGE_LENGTH, escapeMarkdown, sendSplitMessage, sendWithTyping, startTypingIndicator, } from "./utils/index.js";
36
+ export { transcribeAudio } from "./voice-transcriber.js";
35
37
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAG/B,6EAA6E;AAC7E,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAQhC,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/F,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,4EAA4E;AAC5E,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,0BAA0B;AAC1B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAKrB,SAAS;AACT,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,uCAAuC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9C,sCAAsC;AACtC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAoB9B,2EAA2E;AAC3E,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAG/B,6EAA6E;AAC7E,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAUhC,WAAW;AACX,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,4EAA4E;AAC5E,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,0BAA0B;AAC1B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAKrB,SAAS;AACT,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,uCAAuC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9C,sCAAsC;AACtC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAoBlE,2EAA2E;AAC3E,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/manager.d.ts CHANGED
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { ChatManagerConnectorState, FleetManagerContext, IChatManager } from "@herdctl/core";
13
13
  import { DiscordConnector } from "./discord-connector.js";
14
+ import type { DiscordReplyPayload } from "./types.js";
14
15
  /**
15
16
  * DiscordManager handles Discord connections for agents
16
17
  *
@@ -23,6 +24,10 @@ import { DiscordConnector } from "./discord-connector.js";
23
24
  export declare class DiscordManager implements IChatManager {
24
25
  private ctx;
25
26
  private connectors;
27
+ private activeJobsByChannel;
28
+ private lastPromptByChannel;
29
+ private lastUsageByChannel;
30
+ private cumulativeUsageByAgent;
26
31
  private initialized;
27
32
  constructor(ctx: FleetManagerContext);
28
33
  /**
@@ -109,28 +114,6 @@ export declare class DiscordManager implements IChatManager {
109
114
  * @param event - The Discord message event
110
115
  */
111
116
  private handleMessage;
112
- /** Maximum characters for tool output in Discord embed fields */
113
- private static readonly TOOL_OUTPUT_MAX_CHARS;
114
- /** Embed colors */
115
- private static readonly EMBED_COLOR_DEFAULT;
116
- private static readonly EMBED_COLOR_ERROR;
117
- private static readonly EMBED_COLOR_SYSTEM;
118
- private static readonly EMBED_COLOR_SUCCESS;
119
- /**
120
- * Format duration in milliseconds to a human-readable string
121
- */
122
- private static formatDuration;
123
- /**
124
- * Build a Discord embed for a tool call result
125
- *
126
- * Combines the tool_use info (name, input) with the tool_result
127
- * (output, error status) into a compact Discord embed.
128
- *
129
- * @param toolUse - The tool_use block info (name, input, startTime)
130
- * @param toolResult - The tool result (output, isError)
131
- * @param maxOutputChars - Maximum characters for output (defaults to TOOL_OUTPUT_MAX_CHARS)
132
- */
133
- private buildToolEmbed;
134
117
  /**
135
118
  * Handle errors from Discord connectors
136
119
  *
@@ -140,17 +123,39 @@ export declare class DiscordManager implements IChatManager {
140
123
  * @param error - The error that occurred
141
124
  */
142
125
  private handleError;
126
+ private getChannelKey;
127
+ private stopChannelRun;
128
+ private retryChannelRun;
129
+ private toTextChannel;
130
+ /**
131
+ * Build a DiscordMessageEvent from scratch for programmatic triggers
132
+ * (e.g. /retry). This keeps the boilerplate in one place so any new
133
+ * fields on DiscordMessageEvent only need updating here.
134
+ */
135
+ private createSyntheticMessageEvent;
136
+ private getChannelRunInfo;
137
+ private getChannelUsage;
138
+ private accumulateUsage;
139
+ private getAgentCumulativeUsage;
140
+ private runChannelSkill;
141
+ private runChannelPrompt;
142
+ private discoverAgentSkills;
143
+ private getAgentByQualifiedName;
144
+ private getConfiguredDiscordSkills;
145
+ private getAgentConfigSummary;
143
146
  /** Discord's maximum message length */
144
147
  private static readonly MAX_MESSAGE_LENGTH;
145
148
  /**
146
149
  * Format an error message for Discord display
147
150
  *
148
151
  * Creates a user-friendly error message with guidance on how to proceed.
152
+ * Returns an embed when agentName is provided, plain text otherwise.
149
153
  *
150
154
  * @param error - The error that occurred
151
- * @returns Formatted error message string
155
+ * @param agentName - Optional agent name for embed footer
156
+ * @returns Formatted error message string or embed payload
152
157
  */
153
- formatErrorMessage(error: Error): string;
158
+ formatErrorMessage(error: Error, agentName?: string): string | DiscordReplyPayload;
154
159
  /**
155
160
  * Split a response into chunks that fit Discord's 2000 character limit
156
161
  *
@@ -167,5 +172,29 @@ export declare class DiscordManager implements IChatManager {
167
172
  * @param content - The content to send
168
173
  */
169
174
  sendResponse(reply: (content: string) => Promise<void>, content: string): Promise<void>;
175
+ /**
176
+ * Resolve the agent's working directory to an absolute path string
177
+ */
178
+ private resolveWorkingDirectory;
179
+ /** Maximum characters to inline for text/code file content */
180
+ private static readonly TEXT_INLINE_MAX_CHARS;
181
+ /**
182
+ * Check if a content type matches a MIME pattern (supports wildcards like "image/*")
183
+ */
184
+ private static matchesMimePattern;
185
+ /**
186
+ * Process file attachments: download, categorize, and prepare prompt sections.
187
+ *
188
+ * - Text/code files are inlined directly into the prompt
189
+ * - Images and PDFs are saved to disk so the agent can use its Read tool
190
+ *
191
+ * Returns prompt sections to prepend, paths of downloaded files for cleanup,
192
+ * and a list of skipped files with reasons.
193
+ */
194
+ private static processAttachments;
195
+ /**
196
+ * Clean up downloaded attachment files after processing
197
+ */
198
+ private static cleanupAttachments;
170
199
  }
171
200
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,EAEb,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAqB1D;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,YAAY;IAIrC,OAAO,CAAC,GAAG;IAHvB,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,WAAW,CAAkB;gBAEjB,GAAG,EAAE,mBAAmB;IAE5C;;;;;;;;OAQG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+FjC;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC5B;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C3B;;;;;OAKG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIjE;;;;OAIG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;OAKG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAI5C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS;IAoBtE;;;;;;;;;;;OAWG;YACW,aAAa;IAqV3B,iEAAiE;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAO;IAEpD,mBAAmB;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAY;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAY;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAY;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAY;IAEvD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;IAmEtB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAmBnB,uCAAuC;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAElD;;;;;;;OAOG;IACH,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAIxC;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAKrC;;;;;OAKG;IACG,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO9F"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EACV,yBAAyB,EAEzB,mBAAmB,EACnB,YAAY,EAGb,MAAM,eAAe,CAAC;AAUvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU1D,OAAO,KAAK,EAGV,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAkCpB;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,YAAY;IAQrC,OAAO,CAAC,GAAG;IAPvB,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,kBAAkB,CAA2C;IACrE,OAAO,CAAC,sBAAsB,CAA2C;IACzE,OAAO,CAAC,WAAW,CAAkB;gBAEjB,GAAG,EAAE,mBAAmB;IAE5C;;;;;;;;OAQG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkHjC;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC5B;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C3B;;;;;OAKG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIjE;;;;OAIG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;OAKG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAI5C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS;IAoBtE;;;;;;;;;;;OAWG;YACW,aAAa;IA4uB3B;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,aAAa;YAIP,cAAc;YA+Bd,eAAe;IAmB7B,OAAO,CAAC,aAAa;IAIrB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;YA0ErB,iBAAiB;YAWjB,eAAe;IAO7B,OAAO,CAAC,eAAe;YAoCT,uBAAuB;YAgBvB,eAAe;YA8Cf,gBAAgB;YAsEhB,mBAAmB;IAyDjC,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,0BAA0B;YAuBpB,qBAAqB;IA2BnC,uCAAuC;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAElD;;;;;;;;;OASG;IACH,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,mBAAmB;IAclF;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAKrC;;;;;OAKG;IACG,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7F;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgB/B,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAEvD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAWjC;;;;;;;;OAQG;mBACkB,kBAAkB;IAqGvC;;OAEG;mBACkB,kBAAkB;CA2BxC"}