Add hybrid R4R media conversation mode

This commit is contained in:
jjbrunton committed 2026-08-09 11:45:45 +01:00
1 parent 927636ec8b
commit b73e305cf3
15 files changed
+357 -35

No files matched your search

+11 -2
View File
@@ -26,9 +26,18 @@ export const RuntimeConfigSchema = z.strictObject({
reddit: RuntimeRedditConfigSchema,
});
export const ConversationBehaviourSchema = z.strictObject({
mode: z.union([z.literal('legacy'), z.literal('r4r'), z.literal('manual')]).default('legacy'),
mode: z.union([z.literal('legacy'), z.literal('r4r'), z.literal('r4r-media'), z.literal('manual')]).default('legacy'),
maxAutomatedTurns: z.number().int().min(1).max(20).default(3),
}).default({ mode: 'legacy', maxAutomatedTurns: 3 });
rapportTurnsBeforeMediaAsk: z.number().int().min(1).max(19).default(3),
}).superRefine((behaviour, context) => {
if (behaviour.mode === 'r4r-media' && behaviour.rapportTurnsBeforeMediaAsk >= behaviour.maxAutomatedTurns) {
context.addIssue({
code: 'custom',
path: ['rapportTurnsBeforeMediaAsk'],
message: 'Rapport turns must be lower than the maximum automated turns.',
});
}
}).default({ mode: 'legacy', maxAutomatedTurns: 3, rapportTurnsBeforeMediaAsk: 3 });
export const SubredditConfigSchema = z.strictObject({
name: z.string(),
enabled: z.boolean().default(true),