@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.
- package/dist/discord/client.d.ts +11 -1
- package/dist/discord/client.js +61 -2
- package/dist/discord/client.js.map +1 -1
- package/dist/orchestration/runtime.d.ts +6 -1
- package/dist/orchestration/runtime.js +144 -28
- package/dist/orchestration/runtime.js.map +1 -1
- package/dist/providers/catalog.js +1 -1
- package/dist/providers/catalog.js.map +1 -1
- package/dist-frontend/assets/{index-B7T7Pt30.js → index-D-3UoBtg.js} +2 -2
- package/dist-frontend/assets/{index-B7T7Pt30.js.map → index-D-3UoBtg.js.map} +1 -1
- package/dist-frontend/index.html +1 -1
- package/package.json +1 -1
package/dist/discord/client.d.ts
CHANGED
|
@@ -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>;
|
package/dist/discord/client.js
CHANGED
|
@@ -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
|
|
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
|
|
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.
|
|
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
|
-
|
|
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
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
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
|
|
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
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
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
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
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) =>
|
|
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 = () => {
|