Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot] 2026-04-17 18:53:49 +00:00
parent 124f70528b
commit a32c05a679
10 changed files with 721 additions and 0 deletions

47
src/lib/skill-schema.ts Normal file
View file

@ -0,0 +1,47 @@
import { z } from "zod";
export const skillFormSchema = z.object({
name: z
.string()
.trim()
.min(2, "Mínimo 2 caracteres")
.max(60, "Máximo 60 caracteres"),
description: z
.string()
.trim()
.min(10, "Descreva em pelo menos 10 caracteres")
.max(200, "Máximo 200 caracteres"),
trigger_keywords: z
.string()
.trim()
.min(2, "Adicione ao menos 1 palavra-chave")
.max(200, "Máximo 200 caracteres"),
expected_inputs: z.string().trim().max(500).nullable().optional(),
steps: z
.string()
.trim()
.min(50, "Descreva o passo a passo (mín. 50 caracteres)")
.max(3000, "Máximo 3000 caracteres"),
required_tools: z
.array(z.string())
.min(1, "Selecione pelo menos uma ferramenta"),
success_criteria: z
.string()
.trim()
.min(5, "Defina o critério de sucesso")
.max(300, "Máximo 300 caracteres"),
example_use_case: z.string().trim().max(500).nullable().optional(),
});
export type SkillFormValues = z.infer<typeof skillFormSchema>;
export const AVAILABLE_TOOLS = [
"Gmail",
"Google Calendar",
"Google Drive",
"Notion",
"Cal.com",
"Microsoft Outlook",
"Todoist",
"Web Search",
] as const;