@starlight-ai/discord-waifus 1.0.5 → 1.0.7

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.
@@ -13,6 +13,7 @@ export interface DiscordGatewayFacade {
13
13
  onMessage?(listener: DiscordMessageListener): () => void;
14
14
  onReviewCommand?(listener: DiscordReviewCommandListener): () => void;
15
15
  onClearCommand?(listener: DiscordClearCommandListener): () => void;
16
+ onRunCommand?(listener: DiscordRunCommandListener): () => void;
16
17
  listGuilds?(): Promise<Array<{
17
18
  guildId: string;
18
19
  name: string;
@@ -61,9 +62,15 @@ export type DiscordSlashCommandEvent = {
61
62
  respond: (content: string) => Promise<void>;
62
63
  };
63
64
  export type DiscordReviewCommandEvent = DiscordSlashCommandEvent;
64
- export type DiscordClearCommandEvent = DiscordSlashCommandEvent;
65
+ export type DiscordClearCommandEvent = DiscordSlashCommandEvent & {
66
+ count?: number;
67
+ type?: DiscordClearType;
68
+ };
69
+ export type DiscordRunCommandEvent = DiscordSlashCommandEvent;
65
70
  export type DiscordReviewCommandListener = (event: DiscordReviewCommandEvent) => void | Promise<void>;
66
71
  export type DiscordClearCommandListener = (event: DiscordClearCommandEvent) => void | Promise<void>;
72
+ export type DiscordRunCommandListener = (event: DiscordRunCommandEvent) => void | Promise<void>;
73
+ export type DiscordClearType = "waifus" | "all";
67
74
  export type DiscordDeleteMessagesResult = {
68
75
  deletedMessageIds: string[];
69
76
  failedMessageIds: Array<{
@@ -92,6 +99,7 @@ export declare class DiscordJsGateway implements DiscordGatewayFacade {
92
99
  private readonly listeners;
93
100
  private readonly reviewListeners;
94
101
  private readonly clearListeners;
102
+ private readonly runListeners;
95
103
  private readonly recentMentionRefreshes;
96
104
  constructor(options: DiscordJsGatewayOptions);
97
105
  connect(): Promise<DiscordRuntimeStatus>;
@@ -99,6 +107,7 @@ export declare class DiscordJsGateway implements DiscordGatewayFacade {
99
107
  onMessage(listener: DiscordMessageListener): () => void;
100
108
  onReviewCommand(listener: DiscordReviewCommandListener): () => void;
101
109
  onClearCommand(listener: DiscordClearCommandListener): () => void;
110
+ onRunCommand(listener: DiscordRunCommandListener): () => void;
102
111
  listGuilds(): Promise<Array<{
103
112
  guildId: string;
104
113
  name: string;
@@ -137,6 +146,7 @@ export declare class DiscordJsGateway implements DiscordGatewayFacade {
137
146
  private shouldRefreshMentions;
138
147
  private handleReviewInteraction;
139
148
  private handleClearInteraction;
149
+ private handleRunInteraction;
140
150
  }
141
151
  export declare class DiscordGatewayNotConfigured implements DiscordGatewayFacade {
142
152
  connect(): Promise<DiscordRuntimeStatus>;
@@ -1,4 +1,4 @@
1
- import { Client, Events, GatewayIntentBits, MessageFlags, Partials } from "discord.js";
1
+ import { ApplicationCommandOptionType, Client, Events, GatewayIntentBits, MessageFlags, Partials } from "discord.js";
2
2
  import { buildNormalizedDiscordContext } from "./contextBuilder.js";
3
3
  import { unresolvedMentionIdsByType } from "./memberCache.js";
4
4
  import { denormalizeModelContentForDiscord } from "./normalization.js";
@@ -8,6 +8,7 @@ export class DiscordJsGateway {
8
8
  listeners = new Set();
9
9
  reviewListeners = new Set();
10
10
  clearListeners = new Set();
11
+ runListeners = new Set();
11
12
  recentMentionRefreshes = new Map();
12
13
  constructor(options) {
13
14
  this.options = options;
@@ -54,6 +55,9 @@ export class DiscordJsGateway {
54
55
  else if (interaction.commandName === CLEAR_COMMAND_NAME) {
55
56
  void this.handleClearInteraction(interaction);
56
57
  }
58
+ else if (interaction.commandName === RUN_COMMAND_NAME) {
59
+ void this.handleRunInteraction(interaction);
60
+ }
57
61
  });
58
62
  }
59
63
  await loginAndWaitUntilReady(client, bot.token);
@@ -92,6 +96,10 @@ export class DiscordJsGateway {
92
96
  this.clearListeners.add(listener);
93
97
  return () => this.clearListeners.delete(listener);
94
98
  }
99
+ onRunCommand(listener) {
100
+ this.runListeners.add(listener);
101
+ return () => this.runListeners.delete(listener);
102
+ }
95
103
  async listGuilds() {
96
104
  const client = this.orchestratorClient();
97
105
  await client.guilds.fetch();
@@ -316,6 +324,8 @@ export class DiscordJsGateway {
316
324
  guildId: interaction.guildId,
317
325
  channelId: interaction.channelId,
318
326
  userId: interaction.user.id,
327
+ count: interaction.options.getInteger(CLEAR_COUNT_OPTION_NAME) ?? 1,
328
+ type: parseClearType(interaction.options.getString(CLEAR_TYPE_OPTION_NAME)),
319
329
  respond: async (content) => {
320
330
  await interaction.editReply(content);
321
331
  }
@@ -324,6 +334,24 @@ export class DiscordJsGateway {
324
334
  void listener(event);
325
335
  }
326
336
  }
337
+ async handleRunInteraction(interaction) {
338
+ await interaction.deferReply({ flags: MessageFlags.Ephemeral });
339
+ if (!interaction.guildId || !interaction.channelId) {
340
+ await interaction.editReply("/run can only be used in a server channel.");
341
+ return;
342
+ }
343
+ const event = {
344
+ guildId: interaction.guildId,
345
+ channelId: interaction.channelId,
346
+ userId: interaction.user.id,
347
+ respond: async (content) => {
348
+ await interaction.editReply(content);
349
+ }
350
+ };
351
+ for (const listener of this.runListeners) {
352
+ void listener(event);
353
+ }
354
+ }
327
355
  }
328
356
  export class DiscordGatewayNotConfigured {
329
357
  async connect() {
@@ -437,6 +465,10 @@ const SNOWFLAKE_PATTERN = /^\d{17,20}$/;
437
465
  const MENTION_REFRESH_COOLDOWN_MS = 5 * 60 * 1000;
438
466
  const REVIEW_COMMAND_NAME = "review";
439
467
  const CLEAR_COMMAND_NAME = "clear";
468
+ const RUN_COMMAND_NAME = "run";
469
+ const CLEAR_COUNT_OPTION_NAME = "count";
470
+ const CLEAR_TYPE_OPTION_NAME = "type";
471
+ const MAX_CLEAR_COUNT = 100;
440
472
  function sanitizeReplyTarget(value) {
441
473
  return value && SNOWFLAKE_PATTERN.test(value) ? value : undefined;
442
474
  }
@@ -452,7 +484,31 @@ async function registerOrchestratorCommands(client, logger) {
452
484
  },
453
485
  {
454
486
  name: CLEAR_COMMAND_NAME,
455
- description: "Delete the latest waifu message without running reviewer judgment."
487
+ description: "Delete the latest waifu messages without running reviewer judgment.",
488
+ options: [
489
+ {
490
+ type: ApplicationCommandOptionType.Integer,
491
+ name: CLEAR_COUNT_OPTION_NAME,
492
+ description: "How many latest waifu messages to delete.",
493
+ required: false,
494
+ min_value: 1,
495
+ max_value: MAX_CLEAR_COUNT
496
+ },
497
+ {
498
+ type: ApplicationCommandOptionType.String,
499
+ name: CLEAR_TYPE_OPTION_NAME,
500
+ description: "Which messages to clear.",
501
+ required: false,
502
+ choices: [
503
+ { name: "waifus", value: "waifus" },
504
+ { name: "all", value: "all" }
505
+ ]
506
+ }
507
+ ]
508
+ },
509
+ {
510
+ name: RUN_COMMAND_NAME,
511
+ description: "Run the orchestrator in this channel immediately if the runtime is idle."
456
512
  }
457
513
  ];
458
514
  const commands = await manager.fetch();
@@ -472,4 +528,7 @@ async function registerOrchestratorCommands(client, logger) {
472
528
  });
473
529
  }
474
530
  }
531
+ function parseClearType(value) {
532
+ return value === "all" ? "all" : "waifus";
533
+ }
475
534
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/discord/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/discord/client.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export declare class RuntimeOrchestrator {
22
22
  private readonly sleep;
23
23
  private readonly recentSelfSentIds;
24
24
  private readonly activeWaifuSendChannels;
25
+ private readonly activeWaifuQueries;
26
+ private readonly activeReviewerRuns;
25
27
  private readonly channelRunVersions;
26
28
  private static readonly SELF_SENT_TTL_MS;
27
29
  private unsubscribes;
@@ -39,11 +41,14 @@ export declare class RuntimeOrchestrator {
39
41
  }>;
40
42
  private handleReviewCommand;
41
43
  private handleClearCommand;
44
+ private handleRunCommand;
45
+ private runtimeBusyReason;
42
46
  private startChannelRun;
43
47
  private runChannelLoop;
44
48
  private runStageManager;
45
49
  private runReviewer;
46
- private clearLatestWaifuMessage;
50
+ private runReviewerInternal;
51
+ private clearLatestMessages;
47
52
  private applyStageManagerCalls;
48
53
  private scheduleRetrigger;
49
54
  private setActivePipeline;
@@ -18,6 +18,8 @@ export class RuntimeOrchestrator {
18
18
  sleep;
19
19
  recentSelfSentIds = new Map();
20
20
  activeWaifuSendChannels = new Set();
21
+ activeWaifuQueries = new Map();
22
+ activeReviewerRuns = new Map();
21
23
  channelRunVersions = new Map();
22
24
  static SELF_SENT_TTL_MS = 60_000;
23
25
  unsubscribes = [];
@@ -37,6 +39,9 @@ export class RuntimeOrchestrator {
37
39
  }),
38
40
  this.options.discord.onClearCommand?.((event) => {
39
41
  void this.handleClearCommand(event);
42
+ }),
43
+ this.options.discord.onRunCommand?.((event) => {
44
+ void this.handleRunCommand(event);
40
45
  })
41
46
  ].filter((unsubscribe) => Boolean(unsubscribe));
42
47
  if (this.options.discord.listGuilds) {
@@ -154,12 +159,16 @@ export class RuntimeOrchestrator {
154
159
  }
155
160
  async handleClearCommand(event) {
156
161
  try {
157
- const result = await this.clearLatestWaifuMessage(event.guildId, event.channelId);
162
+ const result = await this.clearLatestMessages(event.guildId, event.channelId, event.count ?? 1, event.type ?? "waifus");
158
163
  if (result.messageIds.length === 0) {
159
- await event.respond("No waifu message found to clear.");
164
+ await event.respond(event.type === "all" ? "No message found to clear." : "No waifu message found to clear.");
160
165
  }
161
166
  else if (result.deleted) {
162
- await event.respond(`Cleared ${result.messageIds.length} waifu message chunk${result.messageIds.length === 1 ? "" : "s"}.`);
167
+ const messageLabel = clearMessageLabel(event.type ?? "waifus", result.logicalMessageCount);
168
+ const chunkSuffix = result.messageIds.length === result.logicalMessageCount
169
+ ? ""
170
+ : ` (${result.messageIds.length} Discord chunks)`;
171
+ await event.respond(`Cleared ${result.logicalMessageCount} ${messageLabel}${chunkSuffix}.`);
163
172
  }
164
173
  else {
165
174
  await event.respond("Clear failed. Check bot message permissions.");
@@ -174,6 +183,45 @@ export class RuntimeOrchestrator {
174
183
  await event.respond(error instanceof Error ? error.message : "Clear failed.");
175
184
  }
176
185
  }
186
+ async handleRunCommand(event) {
187
+ try {
188
+ const busyReason = this.runtimeBusyReason(event.guildId, event.channelId);
189
+ if (busyReason) {
190
+ await event.respond(busyReason);
191
+ return;
192
+ }
193
+ if (this.options.isPaused?.()) {
194
+ await event.respond("Runtime is paused; /run did not start.");
195
+ return;
196
+ }
197
+ await event.respond("Started orchestrator run.");
198
+ void this.startChannelRun(event.guildId, event.channelId, `slash-run:${event.userId}`);
199
+ }
200
+ catch (error) {
201
+ this.options.logger.error("Run command failed", {
202
+ guildId: event.guildId,
203
+ channelId: event.channelId,
204
+ message: error instanceof Error ? error.message : String(error)
205
+ });
206
+ await event.respond(error instanceof Error ? error.message : "Run failed.");
207
+ }
208
+ }
209
+ runtimeBusyReason(guildId, channelId) {
210
+ const key = runKey(guildId);
211
+ const activeRun = this.activeRuns.get(key);
212
+ if (activeRun) {
213
+ return activeRun.channelId === channelId
214
+ ? "Orchestrator is already running in this channel."
215
+ : "Orchestrator is already running in another channel for this server.";
216
+ }
217
+ if ((this.activeWaifuQueries.get(key) ?? 0) > 0) {
218
+ return "A waifu response query is already in flight.";
219
+ }
220
+ if ((this.activeReviewerRuns.get(key) ?? 0) > 0) {
221
+ return "Reviewer is already running.";
222
+ }
223
+ return undefined;
224
+ }
177
225
  async startChannelRun(guildId, channelId, reason) {
178
226
  const key = runKey(guildId);
179
227
  const versionKey = timerKey(guildId, channelId);
@@ -351,6 +399,7 @@ export class RuntimeOrchestrator {
351
399
  signal
352
400
  });
353
401
  const waifuPipeline = await this.pipelineFor(waifu.modelId);
402
+ const waifuModelId = waifu.modelId;
354
403
  this.options.logger.info("Generating waifu reply", {
355
404
  guildId,
356
405
  channelId,
@@ -365,18 +414,27 @@ export class RuntimeOrchestrator {
365
414
  });
366
415
  try {
367
416
  const currentWaifuAuthorIds = await this.waifuAuthorIdsFor(waifu.botId);
368
- const result = await waifuPipeline.generateWaifu({
369
- modelId: waifu.modelId,
370
- messages: waifuMessages,
371
- systemPrompt: await this.buildWaifuSystemPrompt(guildId, waifu),
372
- sceneDirection: selected.sceneDirection,
373
- temperature: waifu.generation.temperature,
374
- topP: waifu.generation.topP,
375
- maxOutputTokens: waifu.generation.maxOutputTokens,
376
- reasoning: waifu.reasoning,
377
- currentWaifuAuthorIds,
378
- signal
379
- });
417
+ const waifuQueryKey = runKey(guildId);
418
+ incrementActive(this.activeWaifuQueries, waifuQueryKey);
419
+ const result = await (async () => {
420
+ try {
421
+ return await waifuPipeline.generateWaifu({
422
+ modelId: waifuModelId,
423
+ messages: waifuMessages,
424
+ systemPrompt: await this.buildWaifuSystemPrompt(guildId, waifu),
425
+ sceneDirection: selected.sceneDirection,
426
+ temperature: waifu.generation.temperature,
427
+ topP: waifu.generation.topP,
428
+ maxOutputTokens: waifu.generation.maxOutputTokens,
429
+ reasoning: waifu.reasoning,
430
+ currentWaifuAuthorIds,
431
+ signal
432
+ });
433
+ }
434
+ finally {
435
+ decrementActive(this.activeWaifuQueries, waifuQueryKey);
436
+ }
437
+ })();
380
438
  const activeAuthorIds = waifuMessages.map((message) => message.authorId);
381
439
  const cleanedContent = stripLeakedContextHeader(result.content, {
382
440
  senderDisplayName: waifu.displayName
@@ -525,6 +583,16 @@ export class RuntimeOrchestrator {
525
583
  }
526
584
  }
527
585
  async runReviewer(input) {
586
+ const key = runKey(input.guildId);
587
+ incrementActive(this.activeReviewerRuns, key);
588
+ try {
589
+ return await this.runReviewerInternal(input);
590
+ }
591
+ finally {
592
+ decrementActive(this.activeReviewerRuns, key);
593
+ }
594
+ }
595
+ async runReviewerInternal(input) {
528
596
  const versionKey = timerKey(input.guildId, input.channelId);
529
597
  const runVersionAtStart = this.channelRunVersions.get(versionKey) ?? 0;
530
598
  const config = await this.readAgentConfig("reviewer", 20);
@@ -604,29 +672,54 @@ export class RuntimeOrchestrator {
604
672
  }
605
673
  return { hallucination: decision.hallucination, deleted, messageIds };
606
674
  }
607
- async clearLatestWaifuMessage(guildId, channelId) {
675
+ async clearLatestMessages(guildId, channelId, count, type) {
676
+ const clearCount = normalizeClearCount(count);
608
677
  const server = await this.ensureServer(guildId);
609
678
  const messages = await this.options.discord.fetchFreshContext({
610
679
  guildId,
611
680
  channelId,
612
- limit: server.contextWindows.waifu
681
+ limit: Math.max(server.contextWindows.waifu, clearCount)
613
682
  });
614
- const target = [...messages].reverse().find((message) => message.authorKind === "waifu");
615
- const messageIds = target ? target.sourceMessageIds ?? [target.id] : [];
616
- if (!target || messageIds.length === 0) {
617
- return { deleted: false, messageIds: [] };
683
+ const targets = [...messages]
684
+ .reverse()
685
+ .filter((message) => type === "all" || message.authorKind === "waifu")
686
+ .slice(0, clearCount);
687
+ const seenMessageIds = new Set();
688
+ const messageIds = [];
689
+ const messageIdsByAuthor = new Map();
690
+ for (const target of targets) {
691
+ const targetMessageIds = target.sourceMessageIds ?? [target.id];
692
+ for (const messageId of targetMessageIds) {
693
+ if (seenMessageIds.has(messageId))
694
+ continue;
695
+ seenMessageIds.add(messageId);
696
+ messageIds.push(messageId);
697
+ const authorMessageIds = messageIdsByAuthor.get(target.authorId) ?? [];
698
+ authorMessageIds.push(messageId);
699
+ messageIdsByAuthor.set(target.authorId, authorMessageIds);
700
+ }
701
+ }
702
+ if (targets.length === 0 || messageIds.length === 0) {
703
+ return { deleted: false, logicalMessageCount: 0, messageIds: [] };
618
704
  }
619
705
  if (!this.options.discord.deleteMessages) {
620
706
  throw new Error("Discord message deletion is not available.");
621
707
  }
622
- const deletion = await this.options.discord.deleteMessages({
623
- guildId,
624
- channelId,
625
- messageIds,
626
- authorId: target.authorId
627
- });
708
+ const deletedMessageIds = new Set();
709
+ for (const [authorId, authorMessageIds] of messageIdsByAuthor) {
710
+ const deletion = await this.options.discord.deleteMessages({
711
+ guildId,
712
+ channelId,
713
+ messageIds: authorMessageIds,
714
+ authorId
715
+ });
716
+ for (const deletedMessageId of deletion.deletedMessageIds) {
717
+ deletedMessageIds.add(deletedMessageId);
718
+ }
719
+ }
628
720
  return {
629
- deleted: messageIds.every((messageId) => deletion.deletedMessageIds.includes(messageId)),
721
+ deleted: messageIds.every((messageId) => deletedMessageIds.has(messageId)),
722
+ logicalMessageCount: targets.length,
630
723
  messageIds
631
724
  };
632
725
  }
@@ -1052,6 +1145,28 @@ function summarizeProviderPipelineDetails(details) {
1052
1145
  return String(details).slice(0, 4000);
1053
1146
  }
1054
1147
  }
1148
+ function normalizeClearCount(count) {
1149
+ if (!Number.isFinite(count))
1150
+ return 1;
1151
+ return Math.max(1, Math.min(MAX_CLEAR_COUNT, Math.trunc(count)));
1152
+ }
1153
+ function clearMessageLabel(type, count) {
1154
+ if (type === "all")
1155
+ return count === 1 ? "message" : "messages";
1156
+ return count === 1 ? "waifu message" : "waifu messages";
1157
+ }
1158
+ function incrementActive(map, key) {
1159
+ map.set(key, (map.get(key) ?? 0) + 1);
1160
+ }
1161
+ function decrementActive(map, key) {
1162
+ const next = (map.get(key) ?? 0) - 1;
1163
+ if (next > 0) {
1164
+ map.set(key, next);
1165
+ }
1166
+ else {
1167
+ map.delete(key);
1168
+ }
1169
+ }
1055
1170
  function defaultSleep(ms, signal) {
1056
1171
  return new Promise((resolve, reject) => {
1057
1172
  if (signal?.aborted) {
@@ -1076,6 +1191,7 @@ const DEFAULT_REVIEWER_PROMPT = [
1076
1191
  "The output must be the reviewer tool decision only."
1077
1192
  ].join("\n");
1078
1193
  const TYPING_REFRESH_MS = 8000;
1194
+ const MAX_CLEAR_COUNT = 100;
1079
1195
  function startTypingScope(discord, input) {
1080
1196
  let stopped = false;
1081
1197
  const tick = () => {