mirror of
https://github.com/n8n-io/n8n.git
synced 2026-05-28 07:17:04 +02:00
26 lines
779 B
TypeScript
26 lines
779 B
TypeScript
import { z } from 'zod';
|
|
|
|
const ConversationTurnSchema = z.object({
|
|
role: z.enum(['user', 'assistant']),
|
|
text: z.string(),
|
|
});
|
|
|
|
const ExecutionScenarioSchema = z.object({
|
|
name: z.string().min(1),
|
|
description: z.string(),
|
|
dataSetup: z.string(),
|
|
successCriteria: z.string(),
|
|
requires: z.string().optional(),
|
|
});
|
|
|
|
export const WorkflowTestCaseSchema = z.object({
|
|
conversation: z.array(ConversationTurnSchema).min(1),
|
|
complexity: z.enum(['simple', 'medium', 'complex']),
|
|
tags: z.array(z.string()),
|
|
triggerType: z.enum(['manual', 'webhook', 'schedule', 'form']).optional(),
|
|
executionScenarios: z.array(ExecutionScenarioSchema).min(1),
|
|
messageBudget: z.number().int().positive().optional(),
|
|
});
|
|
|
|
export type WorkflowTestCaseInput = z.infer<typeof WorkflowTestCaseSchema>;
|