@starlight-ai/discord-waifus 1.0.6 → 1.0.8
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 +8 -0
- package/dist/discord/client.js +46 -0
- package/dist/discord/client.js.map +1 -1
- package/dist/orchestration/runtime.d.ts +6 -1
- package/dist/orchestration/runtime.js +150 -31
- package/dist/orchestration/runtime.js.map +1 -1
- package/dist/providers/pipelines.js +3 -18
- package/dist/providers/pipelines.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;
|
|
@@ -63,9 +64,13 @@ export type DiscordSlashCommandEvent = {
|
|
|
63
64
|
export type DiscordReviewCommandEvent = DiscordSlashCommandEvent;
|
|
64
65
|
export type DiscordClearCommandEvent = DiscordSlashCommandEvent & {
|
|
65
66
|
count?: number;
|
|
67
|
+
type?: DiscordClearType;
|
|
66
68
|
};
|
|
69
|
+
export type DiscordRunCommandEvent = DiscordSlashCommandEvent;
|
|
67
70
|
export type DiscordReviewCommandListener = (event: DiscordReviewCommandEvent) => void | Promise<void>;
|
|
68
71
|
export type DiscordClearCommandListener = (event: DiscordClearCommandEvent) => void | Promise<void>;
|
|
72
|
+
export type DiscordRunCommandListener = (event: DiscordRunCommandEvent) => void | Promise<void>;
|
|
73
|
+
export type DiscordClearType = "waifus" | "all";
|
|
69
74
|
export type DiscordDeleteMessagesResult = {
|
|
70
75
|
deletedMessageIds: string[];
|
|
71
76
|
failedMessageIds: Array<{
|
|
@@ -94,6 +99,7 @@ export declare class DiscordJsGateway implements DiscordGatewayFacade {
|
|
|
94
99
|
private readonly listeners;
|
|
95
100
|
private readonly reviewListeners;
|
|
96
101
|
private readonly clearListeners;
|
|
102
|
+
private readonly runListeners;
|
|
97
103
|
private readonly recentMentionRefreshes;
|
|
98
104
|
constructor(options: DiscordJsGatewayOptions);
|
|
99
105
|
connect(): Promise<DiscordRuntimeStatus>;
|
|
@@ -101,6 +107,7 @@ export declare class DiscordJsGateway implements DiscordGatewayFacade {
|
|
|
101
107
|
onMessage(listener: DiscordMessageListener): () => void;
|
|
102
108
|
onReviewCommand(listener: DiscordReviewCommandListener): () => void;
|
|
103
109
|
onClearCommand(listener: DiscordClearCommandListener): () => void;
|
|
110
|
+
onRunCommand(listener: DiscordRunCommandListener): () => void;
|
|
104
111
|
listGuilds(): Promise<Array<{
|
|
105
112
|
guildId: string;
|
|
106
113
|
name: string;
|
|
@@ -139,6 +146,7 @@ export declare class DiscordJsGateway implements DiscordGatewayFacade {
|
|
|
139
146
|
private shouldRefreshMentions;
|
|
140
147
|
private handleReviewInteraction;
|
|
141
148
|
private handleClearInteraction;
|
|
149
|
+
private handleRunInteraction;
|
|
142
150
|
}
|
|
143
151
|
export declare class DiscordGatewayNotConfigured implements DiscordGatewayFacade {
|
|
144
152
|
connect(): Promise<DiscordRuntimeStatus>;
|
package/dist/discord/client.js
CHANGED
|
@@ -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();
|
|
@@ -317,6 +325,7 @@ export class DiscordJsGateway {
|
|
|
317
325
|
channelId: interaction.channelId,
|
|
318
326
|
userId: interaction.user.id,
|
|
319
327
|
count: interaction.options.getInteger(CLEAR_COUNT_OPTION_NAME) ?? 1,
|
|
328
|
+
type: parseClearType(interaction.options.getString(CLEAR_TYPE_OPTION_NAME)),
|
|
320
329
|
respond: async (content) => {
|
|
321
330
|
await interaction.editReply(content);
|
|
322
331
|
}
|
|
@@ -325,6 +334,24 @@ export class DiscordJsGateway {
|
|
|
325
334
|
void listener(event);
|
|
326
335
|
}
|
|
327
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
|
+
}
|
|
328
355
|
}
|
|
329
356
|
export class DiscordGatewayNotConfigured {
|
|
330
357
|
async connect() {
|
|
@@ -438,7 +465,9 @@ const SNOWFLAKE_PATTERN = /^\d{17,20}$/;
|
|
|
438
465
|
const MENTION_REFRESH_COOLDOWN_MS = 5 * 60 * 1000;
|
|
439
466
|
const REVIEW_COMMAND_NAME = "review";
|
|
440
467
|
const CLEAR_COMMAND_NAME = "clear";
|
|
468
|
+
const RUN_COMMAND_NAME = "run";
|
|
441
469
|
const CLEAR_COUNT_OPTION_NAME = "count";
|
|
470
|
+
const CLEAR_TYPE_OPTION_NAME = "type";
|
|
442
471
|
const MAX_CLEAR_COUNT = 100;
|
|
443
472
|
function sanitizeReplyTarget(value) {
|
|
444
473
|
return value && SNOWFLAKE_PATTERN.test(value) ? value : undefined;
|
|
@@ -464,8 +493,22 @@ async function registerOrchestratorCommands(client, logger) {
|
|
|
464
493
|
required: false,
|
|
465
494
|
min_value: 1,
|
|
466
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
|
+
]
|
|
467
506
|
}
|
|
468
507
|
]
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
name: RUN_COMMAND_NAME,
|
|
511
|
+
description: "Run the orchestrator in this channel immediately if the runtime is idle."
|
|
469
512
|
}
|
|
470
513
|
];
|
|
471
514
|
const commands = await manager.fetch();
|
|
@@ -485,4 +528,7 @@ async function registerOrchestratorCommands(client, logger) {
|
|
|
485
528
|
});
|
|
486
529
|
}
|
|
487
530
|
}
|
|
531
|
+
function parseClearType(value) {
|
|
532
|
+
return value === "all" ? "all" : "waifus";
|
|
533
|
+
}
|
|
488
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,12 @@ 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
|
-
const messageLabel =
|
|
167
|
+
const messageLabel = clearMessageLabel(event.type ?? "waifus", result.logicalMessageCount);
|
|
163
168
|
const chunkSuffix = result.messageIds.length === result.logicalMessageCount
|
|
164
169
|
? ""
|
|
165
170
|
: ` (${result.messageIds.length} Discord chunks)`;
|
|
@@ -178,6 +183,45 @@ export class RuntimeOrchestrator {
|
|
|
178
183
|
await event.respond(error instanceof Error ? error.message : "Clear failed.");
|
|
179
184
|
}
|
|
180
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
|
+
}
|
|
181
225
|
async startChannelRun(guildId, channelId, reason) {
|
|
182
226
|
const key = runKey(guildId);
|
|
183
227
|
const versionKey = timerKey(guildId, channelId);
|
|
@@ -355,6 +399,7 @@ export class RuntimeOrchestrator {
|
|
|
355
399
|
signal
|
|
356
400
|
});
|
|
357
401
|
const waifuPipeline = await this.pipelineFor(waifu.modelId);
|
|
402
|
+
const waifuModelId = waifu.modelId;
|
|
358
403
|
this.options.logger.info("Generating waifu reply", {
|
|
359
404
|
guildId,
|
|
360
405
|
channelId,
|
|
@@ -369,18 +414,27 @@ export class RuntimeOrchestrator {
|
|
|
369
414
|
});
|
|
370
415
|
try {
|
|
371
416
|
const currentWaifuAuthorIds = await this.waifuAuthorIdsFor(waifu.botId);
|
|
372
|
-
const
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
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
|
+
})();
|
|
384
438
|
const activeAuthorIds = waifuMessages.map((message) => message.authorId);
|
|
385
439
|
const cleanedContent = stripLeakedContextHeader(result.content, {
|
|
386
440
|
senderDisplayName: waifu.displayName
|
|
@@ -529,6 +583,16 @@ export class RuntimeOrchestrator {
|
|
|
529
583
|
}
|
|
530
584
|
}
|
|
531
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) {
|
|
532
596
|
const versionKey = timerKey(input.guildId, input.channelId);
|
|
533
597
|
const runVersionAtStart = this.channelRunVersions.get(versionKey) ?? 0;
|
|
534
598
|
const config = await this.readAgentConfig("reviewer", 20);
|
|
@@ -608,7 +672,7 @@ export class RuntimeOrchestrator {
|
|
|
608
672
|
}
|
|
609
673
|
return { hallucination: decision.hallucination, deleted, messageIds };
|
|
610
674
|
}
|
|
611
|
-
async
|
|
675
|
+
async clearLatestMessages(guildId, channelId, count, type) {
|
|
612
676
|
const clearCount = normalizeClearCount(count);
|
|
613
677
|
const server = await this.ensureServer(guildId);
|
|
614
678
|
const messages = await this.options.discord.fetchFreshContext({
|
|
@@ -618,7 +682,7 @@ export class RuntimeOrchestrator {
|
|
|
618
682
|
});
|
|
619
683
|
const targets = [...messages]
|
|
620
684
|
.reverse()
|
|
621
|
-
.filter((message) => message.authorKind === "waifu")
|
|
685
|
+
.filter((message) => type === "all" || message.authorKind === "waifu")
|
|
622
686
|
.slice(0, clearCount);
|
|
623
687
|
const seenMessageIds = new Set();
|
|
624
688
|
const messageIds = [];
|
|
@@ -909,11 +973,12 @@ export class RuntimeOrchestrator {
|
|
|
909
973
|
behaviorSections.push(`<memories>\n${memories}\n</memories>`);
|
|
910
974
|
}
|
|
911
975
|
const behaviorBlock = `<${behaviorTag}>\n${behaviorSections.join("\n")}\n</${behaviorTag}>`;
|
|
976
|
+
const currentTimeBlock = `<current_time>\n${formatTimestamp(new Date())} (UTC)\n</current_time>`;
|
|
912
977
|
const emojiBlock = `<available_server_emojis>\n${emojiList || "(none cached)"}\n</available_server_emojis>`;
|
|
913
|
-
return `${behaviorBlock}\n${emojiBlock}`;
|
|
978
|
+
return `${behaviorBlock}\n${currentTimeBlock}\n${emojiBlock}`;
|
|
914
979
|
}
|
|
915
980
|
buildOrchestratorSystemPrompt(orchestrator, server, availableWaifus) {
|
|
916
|
-
const
|
|
981
|
+
const activeWaifusContent = availableWaifus.length
|
|
917
982
|
? availableWaifus
|
|
918
983
|
.map((waifu) => {
|
|
919
984
|
const header = `### ${waifu.displayName || waifu.name} (ID: ${waifu.id})`;
|
|
@@ -922,19 +987,49 @@ export class RuntimeOrchestrator {
|
|
|
922
987
|
})
|
|
923
988
|
.join("\n\n")
|
|
924
989
|
: "No waifus are currently enabled for this channel.";
|
|
990
|
+
const identity = "You are the orchestrator for a multi-character Discord bot. On every incoming Discord message you decide which (if any) of the configured waifus replies next, what scene direction to give her, and when to wake yourself up again to reconsider the channel.";
|
|
991
|
+
const hardRules = [
|
|
992
|
+
"- Every selectedWaifus[].waifuId must be copied verbatim from one of the IDs listed in <active_waifus>. If none of the listed waifus should answer, choose no_reply.",
|
|
993
|
+
"- Use replyToIndex only when replying to an older message that is no longer the latest visible message. If a waifu is answering the latest message in chat, omit replyToIndex so Discord sends a normal message.",
|
|
994
|
+
"- If you want a waifu to do or say something specific, you MUST put it in her selectedWaifus[].sceneDirection. She does not see your reasoning — she only sees her own persona, the chat, and the sceneDirection. Leave sceneDirection empty only when you genuinely want a free-form in-character reply.",
|
|
995
|
+
"- Use reviewer only when you suspect the latest waifu message is hallucinating or leaking internals; the reviewer model makes the final judgment.",
|
|
996
|
+
"- retriggerAfterSeconds must be between 100 and 28800."
|
|
997
|
+
].join("\n");
|
|
998
|
+
const taskInstructions = orchestrator.prompt?.trim() || DEFAULT_ORCHESTRATOR_PROMPT;
|
|
999
|
+
const loopBreaking = [
|
|
1000
|
+
"The recent messages in context are your most important signal. If the waifus are circling the same topic, the same vibe, or the same back-and-forth, they will keep circling unless you actively redirect them — each waifu only sees her own persona and the chat, so only you can see the loop forming from the outside.",
|
|
1001
|
+
"When you notice a loop forming (even a soft one — two or three messages already feeling similar is enough), pick the waifu whose personality most naturally fits a hard pivot and write a concrete sceneDirection that lands a brand-new topic, observation, memory, callback, or non-sequitur. Name the specific new topic in the sceneDirection — \"ask about Kevin's dog\", \"bring up the snowstorm last week\", \"complain about being hungry\" — rather than vague instructions like \"change the subject\". A jarring shift that still feels in-character is better than letting the conversation stagnate."
|
|
1002
|
+
].join("\n\n");
|
|
1003
|
+
const retriggerPacing = [
|
|
1004
|
+
"retriggerAfterSeconds decides when you wake yourself up to reconsider. Every wake-up costs another orchestrator call, so pace it to how alive the conversation actually is — read the timestamps on recent messages:",
|
|
1005
|
+
"- Active chat (humans engaging within the last few minutes): short, ~100-300s.",
|
|
1006
|
+
"- Quiet but plausibly resuming (someone stepped away mid-thread): medium, ~600-1800s.",
|
|
1007
|
+
"- Cold (last human message is hours old, or nobody has engaged with the bots in a while): long, ~3600-14400s, and keep growing each time you wake up to the same silence. Don't burn calls poking a dead channel."
|
|
1008
|
+
].join("\n");
|
|
1009
|
+
const messageStructure = "Each message in the context is tagged with [index: #N], [timestamp: ISO-8601 UTC], and [sender: DisplayName] before its body, optionally followed by [reactions: ...] and [replying to: ...]. Reference messages by their #N index. replyToIndex must be one of the #N indices shown in the context.";
|
|
1010
|
+
const toolUse = [
|
|
1011
|
+
"Inspect the context, choose exactly one action, and call orchestrator_decision once with only the tool arguments. Do not write normal assistant text.",
|
|
1012
|
+
"Its arguments must match this TypeScript union:",
|
|
1013
|
+
"{ \"action\": \"waifus\", \"selectedWaifus\": [{ \"waifuId\": string, \"sceneDirection\"?: string, \"replyToIndex\"?: number }], \"reasoning\": string }",
|
|
1014
|
+
"OR { \"action\": \"stage_manager\", \"retriggerAfterSeconds\": number, \"reasoning\": string }",
|
|
1015
|
+
"OR { \"action\": \"reviewer\", \"reasoning\": string }",
|
|
1016
|
+
"OR { \"action\": \"no_reply\", \"retriggerAfterSeconds\": number, \"reasoning\": string }."
|
|
1017
|
+
].join("\n");
|
|
1018
|
+
const behavior = [
|
|
1019
|
+
`<hard_rules>\n${hardRules}\n</hard_rules>`,
|
|
1020
|
+
`<task_instructions>\n${taskInstructions}\n</task_instructions>`,
|
|
1021
|
+
`<loop_breaking>\n${loopBreaking}\n</loop_breaking>`,
|
|
1022
|
+
`<retrigger_pacing>\n${retriggerPacing}\n</retrigger_pacing>`,
|
|
1023
|
+
`<message_structure>\n${messageStructure}\n</message_structure>`,
|
|
1024
|
+
`<tool_use>\n${toolUse}\n</tool_use>`
|
|
1025
|
+
].join("\n");
|
|
925
1026
|
return [
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
"If you want a waifu to do or say something specific, you MUST put it in her selectedWaifus[].sceneDirection. Without a scene direction she will improvise freely based only on her persona and the chat — she does not see your reasoning. Leave sceneDirection empty only when you genuinely want a free-form in-character reply.",
|
|
933
|
-
"If the recent messages in context are all variations of the same beat — same topic, same vibe, same back-and-forth looping on itself — break the loop. Pick the waifu whose personality most naturally fits a hard pivot and give her a sceneDirection that introduces a completely new topic, even one that feels random or non-sequitur. A jarring topic shift is preferable to letting the conversation stagnate.",
|
|
934
|
-
"If you suspect the latest waifu message is hallucinating or leaking internals, choose reviewer; the reviewer model makes the final judgment."
|
|
935
|
-
]
|
|
936
|
-
.filter(Boolean)
|
|
937
|
-
.join("\n\n");
|
|
1027
|
+
`<identity>\n${identity}\n</identity>`,
|
|
1028
|
+
`<behavior>\n${behavior}\n</behavior>`,
|
|
1029
|
+
`<discord_server_information>\n${server.name ?? server.guildId}\n</discord_server_information>`,
|
|
1030
|
+
`<active_waifus>\n${activeWaifusContent}\n</active_waifus>`,
|
|
1031
|
+
`<current_time>\n${formatTimestamp(new Date())} (UTC)\n</current_time>`
|
|
1032
|
+
].join("\n");
|
|
938
1033
|
}
|
|
939
1034
|
async ensureServer(guildId) {
|
|
940
1035
|
return this.options.storage.updateRevisionedJson({
|
|
@@ -1086,6 +1181,23 @@ function normalizeClearCount(count) {
|
|
|
1086
1181
|
return 1;
|
|
1087
1182
|
return Math.max(1, Math.min(MAX_CLEAR_COUNT, Math.trunc(count)));
|
|
1088
1183
|
}
|
|
1184
|
+
function clearMessageLabel(type, count) {
|
|
1185
|
+
if (type === "all")
|
|
1186
|
+
return count === 1 ? "message" : "messages";
|
|
1187
|
+
return count === 1 ? "waifu message" : "waifu messages";
|
|
1188
|
+
}
|
|
1189
|
+
function incrementActive(map, key) {
|
|
1190
|
+
map.set(key, (map.get(key) ?? 0) + 1);
|
|
1191
|
+
}
|
|
1192
|
+
function decrementActive(map, key) {
|
|
1193
|
+
const next = (map.get(key) ?? 0) - 1;
|
|
1194
|
+
if (next > 0) {
|
|
1195
|
+
map.set(key, next);
|
|
1196
|
+
}
|
|
1197
|
+
else {
|
|
1198
|
+
map.delete(key);
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1089
1201
|
function defaultSleep(ms, signal) {
|
|
1090
1202
|
return new Promise((resolve, reject) => {
|
|
1091
1203
|
if (signal?.aborted) {
|
|
@@ -1109,6 +1221,13 @@ const DEFAULT_REVIEWER_PROMPT = [
|
|
|
1109
1221
|
"Flag hallucination=false for ordinary in-character Discord replies, even if verbose, awkward, incorrect about fiction, or not very helpful.",
|
|
1110
1222
|
"The output must be the reviewer tool decision only."
|
|
1111
1223
|
].join("\n");
|
|
1224
|
+
const DEFAULT_ORCHESTRATOR_PROMPT = [
|
|
1225
|
+
"You watch one Discord channel and orchestrate a small cast of waifu personas. On each new message decide, from outside the scene:",
|
|
1226
|
+
"- which waifu (or, if a moment naturally calls for it, which subset) should speak next, judged by personality fit and the current flow of the chat — not by rules, ordering, or fairness",
|
|
1227
|
+
"- whether to inject a sceneDirection because there is something specific you want her to address, or to leave it empty and let her improvise from her persona",
|
|
1228
|
+
"- whether to instead pick stage_manager (something memorable just happened and should be persisted), reviewer (the latest waifu message looks like leaked internals), or no_reply (any answer right now would be intrusive, redundant, or aimed at no one)",
|
|
1229
|
+
"The goal is a natural-feeling group chat — varied speakers, voices that match each waifu's persona, and silences when silence fits. You are the only agent that sees the whole picture, so when the chat is stalling it is your job to nudge it back into motion through sceneDirection."
|
|
1230
|
+
].join("\n");
|
|
1112
1231
|
const TYPING_REFRESH_MS = 8000;
|
|
1113
1232
|
const MAX_CLEAR_COUNT = 100;
|
|
1114
1233
|
function startTypingScope(discord, input) {
|