Add hybrid R4R media conversation mode
This commit is contained in:
1 parent
927636ec8b
commit
b73e305cf3
15 files changed
+357
-35
No files matched your search
@@ -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),
|
||||
|
||||
@@ -149,7 +149,7 @@ describe('dashboard endpoint contracts', () => {
|
||||
...payload,
|
||||
subreddits: [{
|
||||
...payload.subreddits[0],
|
||||
conversation: { mode: 'legacy', maxAutomatedTurns: 3 },
|
||||
conversation: { mode: 'legacy', maxAutomatedTurns: 3, rapportTurnsBeforeMediaAsk: 3 },
|
||||
}],
|
||||
});
|
||||
expect(ConfigResponseSchema.safeParse({ ...payload, tones: [1] }).success).toBe(false);
|
||||
|
||||
Reference in new issue
Block a user