@herdctl/discord 1.1.0 → 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
@@ -91,18 +91,17 @@ describe("helpCommand", () => {
91
91
  const context = createMockContext({ agentName: "my-custom-agent" });
92
92
  const interaction = context.interaction;
93
93
  await helpCommand.execute(context);
94
- expect(interaction.reply).toHaveBeenCalledWith(expect.objectContaining({
95
- content: expect.stringContaining("my-custom-agent"),
96
- }));
94
+ const call = interaction.reply.mock.calls[0][0];
95
+ expect(call.embeds[0].footer.text).toContain("my-custom-agent");
97
96
  });
98
97
  it("includes command descriptions in response", async () => {
99
98
  const context = createMockContext();
100
99
  const interaction = context.interaction;
101
100
  await helpCommand.execute(context);
102
101
  const call = interaction.reply.mock.calls[0][0];
103
- expect(call.content).toContain("/help");
104
- expect(call.content).toContain("/status");
105
- expect(call.content).toContain("/reset");
102
+ expect(call.embeds[0].description).toContain("/help");
103
+ expect(call.embeds[0].description).toContain("/status");
104
+ expect(call.embeds[0].description).toContain("/reset");
106
105
  });
107
106
  });
108
107
  //# sourceMappingURL=help.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/help.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,SAAS,qBAAqB;IAC5B,OAAO;QACL,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC3C,SAAS,EAAE,aAAa;QACxB,IAAI,EAAE;YACJ,EAAE,EAAE,UAAU;YACd,QAAQ,EAAE,UAAU;SACrB;QACD,WAAW,EAAE,MAAM;KACsB,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,SAAS;SACpB;KACmB,CAAC;AACzB,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;QACL,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,SAAS;QACnB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC3B,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC/B,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,CAAC;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE;YACP,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,MAAM;SACtB;QACD,UAAU,EAAE;YACV,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,CAAC;SACpB;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;SACX;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAqC,EAAE;IAChE,OAAO;QACL,WAAW,EAAE,qBAAqB,EAAE;QACpC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,SAAS,EAAE,YAAY;QACvB,cAAc,EAAE,wBAAwB,EAAE;QAC1C,cAAc,EAAE,wBAAwB,EAAE;QAC1C,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;QAEF,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC5C,MAAM,CAAC,gBAAgB,CAAC;YACtB,SAAS,EAAE,IAAI;SAChB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;QAEF,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC5C,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;SACpD,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;QAEF,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"help.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/help.test.ts"],"names":[],"mappings":"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"}
@@ -96,11 +96,13 @@ describe("resetCommand", () => {
96
96
  const interaction = context.interaction;
97
97
  await resetCommand.execute(context);
98
98
  expect(interaction.reply).toHaveBeenCalledWith({
99
- content: expect.stringContaining("my-agent"),
100
- ephemeral: true,
101
- });
102
- expect(interaction.reply).toHaveBeenCalledWith({
103
- content: expect.stringContaining("cleared"),
99
+ embeds: [
100
+ expect.objectContaining({
101
+ description: "Session cleared. Starting fresh.",
102
+ color: 0x22c55e,
103
+ footer: { text: "herdctl \u00b7 my-agent" },
104
+ }),
105
+ ],
104
106
  ephemeral: true,
105
107
  });
106
108
  });
@@ -116,7 +118,13 @@ describe("resetCommand", () => {
116
118
  const interaction = context.interaction;
117
119
  await resetCommand.execute(context);
118
120
  expect(interaction.reply).toHaveBeenCalledWith({
119
- content: expect.stringContaining("No active session"),
121
+ embeds: [
122
+ expect.objectContaining({
123
+ description: "No active session in this channel.",
124
+ color: 0x6b7280,
125
+ footer: { text: "herdctl \u00b7 my-agent" },
126
+ }),
127
+ ],
120
128
  ephemeral: true,
121
129
  });
122
130
  });
@@ -1 +1 @@
1
- {"version":3,"file":"reset.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/reset.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reset.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/reset.test.ts"],"names":[],"mappings":"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"}
@@ -93,13 +93,13 @@ describe("statusCommand", () => {
93
93
  ephemeral: true,
94
94
  }));
95
95
  });
96
- it("includes agent name in response", async () => {
96
+ it("includes agent name in footer", async () => {
97
97
  const context = createMockContext({ agentName: "my-custom-agent" });
98
98
  const interaction = context.interaction;
99
99
  await statusCommand.execute(context);
100
- expect(interaction.reply).toHaveBeenCalledWith(expect.objectContaining({
101
- content: expect.stringContaining("my-custom-agent"),
102
- }));
100
+ const call = interaction.reply.mock.calls[0][0];
101
+ expect(call.embeds).toBeDefined();
102
+ expect(call.embeds[0].footer.text).toContain("my-custom-agent");
103
103
  });
104
104
  it("includes connection status in response", async () => {
105
105
  const context = createMockContext({
@@ -107,9 +107,9 @@ describe("statusCommand", () => {
107
107
  });
108
108
  const interaction = context.interaction;
109
109
  await statusCommand.execute(context);
110
- expect(interaction.reply).toHaveBeenCalledWith(expect.objectContaining({
111
- content: expect.stringContaining("connected"),
112
- }));
110
+ const call = interaction.reply.mock.calls[0][0];
111
+ expect(call.embeds).toBeDefined();
112
+ expect(call.embeds[0].description).toContain("Connected");
113
113
  });
114
114
  it("includes bot username in response", async () => {
115
115
  const context = createMockContext({
@@ -123,9 +123,9 @@ describe("statusCommand", () => {
123
123
  });
124
124
  const interaction = context.interaction;
125
125
  await statusCommand.execute(context);
126
- expect(interaction.reply).toHaveBeenCalledWith(expect.objectContaining({
127
- content: expect.stringContaining("MyBot"),
128
- }));
126
+ const call = interaction.reply.mock.calls[0][0];
127
+ expect(call.embeds).toBeDefined();
128
+ expect(call.embeds[0].description).toContain("MyBot");
129
129
  });
130
130
  describe("when session exists", () => {
131
131
  it("includes session info in response", async () => {
@@ -136,8 +136,9 @@ describe("statusCommand", () => {
136
136
  const interaction = context.interaction;
137
137
  await statusCommand.execute(context);
138
138
  const call = interaction.reply.mock.calls[0][0];
139
- expect(call.content).toContain("Session ID");
140
- expect(call.content).toContain("Last Activity");
139
+ expect(call.embeds).toBeDefined();
140
+ expect(call.embeds[0].description).toContain("Session");
141
+ expect(call.embeds[0].description).toContain("`discord-test-agent-a");
141
142
  });
142
143
  it("queries session for correct channel", async () => {
143
144
  const sessionManager = createMockSessionManager();
@@ -155,9 +156,9 @@ describe("statusCommand", () => {
155
156
  const context = createMockContext({ sessionManager });
156
157
  const interaction = context.interaction;
157
158
  await statusCommand.execute(context);
158
- expect(interaction.reply).toHaveBeenCalledWith(expect.objectContaining({
159
- content: expect.stringContaining("No active session"),
160
- }));
159
+ const call = interaction.reply.mock.calls[0][0];
160
+ expect(call.embeds).toBeDefined();
161
+ expect(call.embeds[0].description).toContain("No active session");
161
162
  });
162
163
  });
163
164
  describe("connection states", () => {
@@ -167,9 +168,9 @@ describe("statusCommand", () => {
167
168
  });
168
169
  const interaction = context.interaction;
169
170
  await statusCommand.execute(context);
170
- expect(interaction.reply).toHaveBeenCalledWith(expect.objectContaining({
171
- content: expect.stringContaining("Reconnect Attempts"),
172
- }));
171
+ const call = interaction.reply.mock.calls[0][0];
172
+ expect(call.embeds).toBeDefined();
173
+ expect(call.embeds[0].description).toContain("Reconnect attempts");
173
174
  });
174
175
  it("does not show reconnect attempts when 0", async () => {
175
176
  const context = createMockContext({
@@ -178,7 +179,8 @@ describe("statusCommand", () => {
178
179
  const interaction = context.interaction;
179
180
  await statusCommand.execute(context);
180
181
  const call = interaction.reply.mock.calls[0][0];
181
- expect(call.content).not.toContain("Reconnect Attempts");
182
+ expect(call.embeds).toBeDefined();
183
+ expect(call.embeds[0].description).not.toContain("Reconnect attempts");
182
184
  });
183
185
  it("shows last error when present", async () => {
184
186
  const context = createMockContext({
@@ -188,9 +190,9 @@ describe("statusCommand", () => {
188
190
  });
189
191
  const interaction = context.interaction;
190
192
  await statusCommand.execute(context);
191
- expect(interaction.reply).toHaveBeenCalledWith(expect.objectContaining({
192
- content: expect.stringContaining("Connection timeout"),
193
- }));
193
+ const call = interaction.reply.mock.calls[0][0];
194
+ expect(call.embeds).toBeDefined();
195
+ expect(call.embeds[0].description).toContain("Connection timeout");
194
196
  });
195
197
  it("shows uptime when connected", async () => {
196
198
  const connectedAt = new Date(Date.now() - 3600000).toISOString(); // 1 hour ago
@@ -199,9 +201,9 @@ describe("statusCommand", () => {
199
201
  });
200
202
  const interaction = context.interaction;
201
203
  await statusCommand.execute(context);
202
- expect(interaction.reply).toHaveBeenCalledWith(expect.objectContaining({
203
- content: expect.stringContaining("Uptime"),
204
- }));
204
+ const call = interaction.reply.mock.calls[0][0];
205
+ expect(call.embeds).toBeDefined();
206
+ expect(call.embeds[0].description).toContain("Uptime");
205
207
  });
206
208
  });
207
209
  });
@@ -1 +1 @@
1
- {"version":3,"file":"status.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/status.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/status.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,SAAS,qBAAqB,CAAC,SAAS,GAAG,aAAa;IACtD,OAAO;QACL,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC3C,SAAS;QACT,IAAI,EAAE;YACJ,EAAE,EAAE,UAAU;YACd,QAAQ,EAAE,UAAU;SACrB;QACD,WAAW,EAAE,QAAQ;KACoB,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,SAAS;SACpB;KACmB,CAAC;AACzB,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;QACL,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,SAAS;QACnB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC3B,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC/B,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,YAA4C,EAAE;IAE9C,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,CAAC;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE;YACP,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,MAAM;SACtB;QACD,UAAU,EAAE;YACV,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,CAAC;SACpB;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;SACX;QACD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAqC,EAAE;IAChE,OAAO;QACL,WAAW,EAAE,qBAAqB,EAAE;QACpC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,SAAS,EAAE,YAAY;QACvB,cAAc,EAAE,wBAAwB,EAAE;QAC1C,cAAc,EAAE,wBAAwB,EAAE;QAC1C,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAS,GAAG,kBAAkB;IACvD,OAAO;QACL,SAAS;QACT,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACxC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;QAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC5C,MAAM,CAAC,gBAAgB,CAAC;YACtB,SAAS,EAAE,IAAI;SAChB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;QAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC;YAChC,cAAc,EAAE,wBAAwB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;SAClE,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;QAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC;YAChC,cAAc,EAAE,wBAAwB,CAAC;gBACvC,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,QAAQ,EAAE,OAAO;oBACjB,aAAa,EAAE,MAAM;iBACtB;aACF,CAAC;SACH,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;QAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;YAC9D,cAAc,CAAC,UAAuC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEnF,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;YAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;YACjD,cAAc,CAAC,UAAuC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAEhF,MAAM,WAAW,GAAG,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YAEnE,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;YACjD,cAAc,CAAC,UAAuC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAEhF,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;YAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,cAAc,EAAE,wBAAwB,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;aACnE,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;YAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,cAAc,EAAE,wBAAwB,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;aACnE,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;YAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,cAAc,EAAE,wBAAwB,CAAC;oBACvC,SAAS,EAAE,oBAAoB;iBAChC,CAAC;aACH,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;YAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa;YAC/E,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,cAAc,EAAE,wBAAwB,CAAC,EAAE,WAAW,EAAE,CAAC;aAC1D,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,OAAO,CAAC,WAE3B,CAAC;YAEF,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommand } from "./types.js";
2
+ export declare const cancelCommand: SlashCommand;
3
+ //# sourceMappingURL=cancel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,aAAa,EAAE,YAI3B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { stopCommand } from "./stop.js";
2
+ export const cancelCommand = {
3
+ name: "cancel",
4
+ description: "Alias for /stop",
5
+ execute: stopCommand.execute,
6
+ };
7
+ //# sourceMappingURL=cancel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;CAC7B,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Registers commands per-bot (as application commands) and handles
5
5
  * command interactions by routing them to the appropriate handler.
6
6
  */
7
- import { type ChatInputCommandInteraction } from "discord.js";
7
+ import { type AutocompleteInteraction, type ChatInputCommandInteraction } from "discord.js";
8
8
  import type { CommandManagerOptions, ICommandManager, SlashCommand } from "./types.js";
9
9
  /**
10
10
  * CommandManager handles slash command registration and execution.
@@ -42,6 +42,8 @@ export declare class CommandManager implements ICommandManager {
42
42
  private readonly logger;
43
43
  private readonly commands;
44
44
  private readonly errorHandler;
45
+ private readonly commandActions?;
46
+ private readonly commandRegistration;
45
47
  constructor(options: CommandManagerOptions);
46
48
  /**
47
49
  * Register all commands with Discord
@@ -58,6 +60,7 @@ export declare class CommandManager implements ICommandManager {
58
60
  * Provides user-friendly error messages on failure.
59
61
  */
60
62
  handleInteraction(interaction: ChatInputCommandInteraction): Promise<void>;
63
+ handleAutocomplete(interaction: AutocompleteInteraction): Promise<void>;
61
64
  /**
62
65
  * Get all registered commands
63
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"command-manager.d.ts","sourceRoot":"","sources":["../../src/commands/command-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,KAAK,2BAA2B,EAKjC,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EAGV,qBAAqB,EACrB,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AAyBpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,OAAO,EAAE,qBAAqB;IAqB1C;;;;;;OAMG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8CvC;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDhF;;OAEG;IACH,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC;CAGjD"}
1
+ {"version":3,"file":"command-manager.d.ts","sourceRoot":"","sources":["../../src/commands/command-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAKjC,MAAM,YAAY,CAAC;AAgBpB,OAAO,KAAK,EAIV,qBAAqB,EACrB,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AAyCpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkD;gBAE1E,OAAO,EAAE,qBAAqB;IAuB1C;;;;;;OAMG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDvC;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD1E,kBAAkB,CAAC,WAAW,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7E;;OAEG;IACH,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC;CAGjD"}
@@ -7,9 +7,20 @@
7
7
  import { createLogger } from "@herdctl/core";
8
8
  import { REST, Routes, SlashCommandBuilder, } from "discord.js";
9
9
  import { ErrorHandler, withRetry } from "../error-handler.js";
10
+ import { cancelCommand } from "./cancel.js";
11
+ import { configCommand } from "./config.js";
10
12
  import { helpCommand } from "./help.js";
13
+ import { newCommand } from "./new.js";
14
+ import { pingCommand } from "./ping.js";
11
15
  import { resetCommand } from "./reset.js";
16
+ import { retryCommand } from "./retry.js";
17
+ import { sessionCommand } from "./session.js";
18
+ import { skillCommand } from "./skill.js";
19
+ import { skillsCommand } from "./skills.js";
12
20
  import { statusCommand } from "./status.js";
21
+ import { stopCommand } from "./stop.js";
22
+ import { toolsCommand } from "./tools.js";
23
+ import { usageCommand } from "./usage.js";
13
24
  // =============================================================================
14
25
  // Default Logger
15
26
  // =============================================================================
@@ -23,7 +34,22 @@ function createDefaultLogger(agentName) {
23
34
  * Get all built-in commands
24
35
  */
25
36
  function getBuiltInCommands() {
26
- return [helpCommand, resetCommand, statusCommand];
37
+ return [
38
+ helpCommand,
39
+ pingCommand,
40
+ configCommand,
41
+ toolsCommand,
42
+ usageCommand,
43
+ skillsCommand,
44
+ skillCommand,
45
+ statusCommand,
46
+ sessionCommand,
47
+ resetCommand,
48
+ newCommand,
49
+ stopCommand,
50
+ cancelCommand,
51
+ retryCommand,
52
+ ];
27
53
  }
28
54
  // =============================================================================
29
55
  // Command Manager Implementation
@@ -64,6 +90,8 @@ export class CommandManager {
64
90
  logger;
65
91
  commands;
66
92
  errorHandler;
93
+ commandActions;
94
+ commandRegistration;
67
95
  constructor(options) {
68
96
  this.agentName = options.agentName;
69
97
  this.client = options.client;
@@ -71,6 +99,8 @@ export class CommandManager {
71
99
  this.sessionManager = options.sessionManager;
72
100
  this.getConnectorState = options.getConnectorState;
73
101
  this.logger = options.logger ?? createDefaultLogger(options.agentName);
102
+ this.commandActions = options.commandActions;
103
+ this.commandRegistration = options.commandRegistration ?? { scope: "global" };
74
104
  // Initialize error handler
75
105
  this.errorHandler = new ErrorHandler({
76
106
  logger: this.logger,
@@ -92,7 +122,11 @@ export class CommandManager {
92
122
  async registerCommands() {
93
123
  const rest = new REST({ version: "10" }).setToken(this.botToken);
94
124
  // Build command data for Discord API
95
- const commandData = Array.from(this.commands.values()).map((cmd) => new SlashCommandBuilder().setName(cmd.name).setDescription(cmd.description).toJSON());
125
+ const commandData = Array.from(this.commands.values()).map((cmd) => {
126
+ const base = new SlashCommandBuilder().setName(cmd.name).setDescription(cmd.description);
127
+ const built = cmd.build ? cmd.build(base) : base;
128
+ return built.toJSON();
129
+ });
96
130
  const clientId = this.client.user?.id;
97
131
  if (!clientId) {
98
132
  this.logger.error("Cannot register commands: client user ID not available");
@@ -104,7 +138,10 @@ export class CommandManager {
104
138
  });
105
139
  // Use retry logic for command registration (handles rate limits, network issues)
106
140
  const result = await withRetry(async () => {
107
- await rest.put(Routes.applicationCommands(clientId), {
141
+ const route = this.commandRegistration.scope === "guild" && this.commandRegistration.guildId
142
+ ? Routes.applicationGuildCommands(clientId, this.commandRegistration.guildId)
143
+ : Routes.applicationCommands(clientId);
144
+ await rest.put(route, {
108
145
  body: commandData,
109
146
  });
110
147
  }, {
@@ -151,6 +188,7 @@ export class CommandManager {
151
188
  agentName: this.agentName,
152
189
  sessionManager: this.sessionManager,
153
190
  connectorState: this.getConnectorState(),
191
+ commandActions: this.commandActions,
154
192
  };
155
193
  try {
156
194
  await command.execute(context);
@@ -173,6 +211,30 @@ export class CommandManager {
173
211
  }
174
212
  }
175
213
  }
214
+ async handleAutocomplete(interaction) {
215
+ const commandName = interaction.commandName;
216
+ const command = this.commands.get(commandName);
217
+ if (!command?.autocomplete) {
218
+ await interaction.respond([]);
219
+ return;
220
+ }
221
+ const context = {
222
+ client: this.client,
223
+ agentName: this.agentName,
224
+ sessionManager: this.sessionManager,
225
+ connectorState: this.getConnectorState(),
226
+ commandActions: this.commandActions,
227
+ };
228
+ try {
229
+ await command.autocomplete(interaction, context);
230
+ }
231
+ catch (error) {
232
+ this.errorHandler.handleError(error, `autocomplete for command '${commandName}'`);
233
+ if (!interaction.responded) {
234
+ await interaction.respond([]);
235
+ }
236
+ }
237
+ }
176
238
  /**
177
239
  * Get all registered commands
178
240
  */
@@ -1 +1 @@
1
- {"version":3,"file":"command-manager.js","sourceRoot":"","sources":["../../src/commands/command-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-manager.js","sourceRoot":"","sources":["../../src/commands/command-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommand } from "./types.js";
2
+ export declare const configCommand: SlashCommand;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,aAAa,EAAE,YAiC3B,CAAC"}
@@ -0,0 +1,33 @@
1
+ export const configCommand = {
2
+ name: "config",
3
+ description: "Show runtime-relevant agent configuration",
4
+ async execute(context) {
5
+ const { interaction, commandActions, agentName } = context;
6
+ const config = commandActions?.getAgentConfig ? await commandActions.getAgentConfig() : null;
7
+ if (!config) {
8
+ await interaction.reply({
9
+ content: "Config details are not available in this deployment.",
10
+ ephemeral: true,
11
+ });
12
+ return;
13
+ }
14
+ const lines = [
15
+ `**Runtime:** ${config.runtime ?? "default"}`,
16
+ `**Model:** ${config.model ?? "default"}`,
17
+ `**Permission Mode:** ${config.permissionMode ?? "default"}`,
18
+ `**Working Dir:** ${config.workingDirectory ?? "not set"}`,
19
+ `**MCP Servers:** ${config.mcpServers?.length ? config.mcpServers.join(", ") : "none"}`,
20
+ ];
21
+ await interaction.reply({
22
+ embeds: [
23
+ {
24
+ description: lines.join("\n"),
25
+ color: 0x3b82f6,
26
+ footer: { text: `herdctl · ${agentName}` },
27
+ },
28
+ ],
29
+ ephemeral: true,
30
+ });
31
+ },
32
+ };
33
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2CAA2C;IAExD,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC3D,MAAM,MAAM,GAAG,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7F,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,WAAW,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,sDAAsD;gBAC/D,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,gBAAgB,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE;YAC7C,cAAc,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;YACzC,wBAAwB,MAAM,CAAC,cAAc,IAAI,SAAS,EAAE;YAC5D,oBAAoB,MAAM,CAAC,gBAAgB,IAAI,SAAS,EAAE;YAC1D,oBAAoB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;SACxF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC;YACtB,MAAM,EAAE;gBACN;oBACE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC7B,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,SAAS,EAAE,EAAE;iBAC3C;aACF;YACD,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * /help command - Show available commands
3
3
  *
4
- * Responds ephemerally with a list of available commands and their descriptions.
4
+ * Responds ephemerally with a styled embed listing available commands.
5
5
  */
6
6
  import type { SlashCommand } from "./types.js";
7
7
  export declare const helpCommand: SlashCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,WAAW,EAAE,YAuBzB,CAAC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,WAAW,EAAE,YAoCzB,CAAC"}
@@ -1,25 +1,39 @@
1
1
  /**
2
2
  * /help command - Show available commands
3
3
  *
4
- * Responds ephemerally with a list of available commands and their descriptions.
4
+ * Responds ephemerally with a styled embed listing available commands.
5
5
  */
6
6
  export const helpCommand = {
7
7
  name: "help",
8
8
  description: "Show available commands",
9
9
  async execute(context) {
10
10
  const { interaction, agentName } = context;
11
- const helpMessage = `**${agentName} Bot Commands**
12
-
13
- **/help** - Show this help message
14
- **/status** - Show agent status and session info
15
- **/reset** - Clear conversation context (start fresh session)
16
-
17
- **Interacting with the bot:**
18
- - Mention the bot in a channel to start a conversation
19
- - In configured channels, the bot may respond automatically
20
- - DMs are supported based on configuration`;
21
11
  await interaction.reply({
22
- content: helpMessage,
12
+ embeds: [
13
+ {
14
+ description: [
15
+ "**/help** \u2014 Show this help message",
16
+ "**/ping** \u2014 Quick connector health check",
17
+ "**/config** \u2014 Show runtime-relevant agent configuration",
18
+ "**/tools** \u2014 Show allowed/denied tools and MCP servers",
19
+ "**/usage** \u2014 Show latest run usage for this channel",
20
+ "**/skills** \u2014 List discovered skills",
21
+ "**/skill** \u2014 Trigger a skill with optional input",
22
+ "**/status** \u2014 Show agent status and session info",
23
+ "**/reset** \u2014 Clear conversation context",
24
+ "**/new** \u2014 Start a fresh conversation",
25
+ "**/session** \u2014 Show current session and run state",
26
+ "**/stop** \u2014 Stop the active run in this channel",
27
+ "**/cancel** \u2014 Alias for /stop",
28
+ "**/retry** \u2014 Retry the last prompt in this channel",
29
+ "",
30
+ "**Usage**",
31
+ "Mention the bot or message in a configured channel. DMs are supported based on configuration.",
32
+ ].join("\n"),
33
+ color: 0x3b82f6,
34
+ footer: { text: `herdctl \u00b7 ${agentName}` },
35
+ },
36
+ ],
23
37
  ephemeral: true,
24
38
  });
25
39
  },
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,yBAAyB;IAEtC,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAE3C,MAAM,WAAW,GAAG,KAAK,SAAS;;;;;;;;;2CASK,CAAC;QAExC,MAAM,WAAW,CAAC,KAAK,CAAC;YACtB,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,yBAAyB;IAEtC,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAE3C,MAAM,WAAW,CAAC,KAAK,CAAC;YACtB,MAAM,EAAE;gBACN;oBACE,WAAW,EAAE;wBACX,yCAAyC;wBACzC,+CAA+C;wBAC/C,8DAA8D;wBAC9D,6DAA6D;wBAC7D,0DAA0D;wBAC1D,2CAA2C;wBAC3C,uDAAuD;wBACvD,uDAAuD;wBACvD,8CAA8C;wBAC9C,4CAA4C;wBAC5C,wDAAwD;wBACxD,sDAAsD;wBACtD,oCAAoC;wBACpC,yDAAyD;wBACzD,EAAE;wBACF,WAAW;wBACX,+FAA+F;qBAChG,CAAC,IAAI,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,SAAS,EAAE,EAAE;iBAChD;aACF;YACD,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -4,9 +4,20 @@
4
4
  * Provides command registration, handling, and built-in commands
5
5
  * for controlling the bot via Discord slash commands.
6
6
  */
7
+ export { cancelCommand } from "./cancel.js";
7
8
  export { CommandManager } from "./command-manager.js";
9
+ export { configCommand } from "./config.js";
8
10
  export { helpCommand } from "./help.js";
11
+ export { newCommand } from "./new.js";
12
+ export { pingCommand } from "./ping.js";
9
13
  export { resetCommand } from "./reset.js";
14
+ export { retryCommand } from "./retry.js";
15
+ export { sessionCommand } from "./session.js";
16
+ export { skillCommand } from "./skill.js";
17
+ export { skillsCommand } from "./skills.js";
10
18
  export { statusCommand } from "./status.js";
11
- export type { CommandContext, CommandManagerLogger, CommandManagerOptions, ICommandManager, SlashCommand, } from "./types.js";
19
+ export { stopCommand } from "./stop.js";
20
+ export { toolsCommand } from "./tools.js";
21
+ export type { ChannelRunUsage, CommandActionResult, CommandActions, CommandContext, CommandManagerLogger, CommandManagerOptions, CumulativeUsage, ICommandManager, SlashCommand, } from "./types.js";
22
+ export { usageCommand } from "./usage.js";
12
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}