From 303eda1b9914d3bda8136dae8a40510a8a8414c4 Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Thu, 30 Apr 2026 12:19:36 -0300 Subject: [PATCH] melhorias em compoenentes de numero --- .agent/atualizar-agente.global.sh | 54 ++++ .../adr-001-comportamento-inputs-decimais.md | 28 ++ .../carta-principios-agente-azteca.global.md | 135 ++++++++ .agent/rules/escrita-natural.global.md | 161 ++++++++++ .agent/rules/regras_negocio_md.global.md | 106 +++++++ .agent/rules/typescript-sem-any.global.md | 73 +++++ .../diagnosticar-erros-build.global/SKILL.md | 185 +++++++++++ .../SKILL.md | 160 ++++++++++ .../documentar-regras-negocio.global/SKILL.md | 212 +++++++++++++ .../mapear-codigo-fonte.global/SKILL.md | 159 ++++++++++ .agent/tools.md | 116 +++++++ .agent/workflows/adicionar-ajuda.global.md | 114 +++++++ .agent/workflows/aprimorar-IA.global.md | 300 ++++++++++++++++++ .agent/workflows/atualizar-agente.global.md | 42 +++ .agent/workflows/comercial.global.md | 140 ++++++++ .agent/workflows/criar-fluxograma.global.md | 185 +++++++++++ .agent/workflows/documentar-codigo.global.md | 58 ++++ .../documentar-regras-negocio.global.md | 101 ++++++ .agent/workflows/marketing.global.md | 205 ++++++++++++ .agent/workflows/orcamento.global.md | 130 ++++++++ .agent/workflows/reels.global.md | 200 ++++++++++++ dist/eli-vue.es.js | 4 +- dist/eli-vue.umd.js | 2 +- package.json | 98 +++--- .../EliEntrada/EliEntradaNumero.vue | 46 ++- src/playground/entradas.playground.vue | 13 + test.js | 84 +++++ 27 files changed, 3056 insertions(+), 55 deletions(-) create mode 100755 .agent/atualizar-agente.global.sh create mode 100644 .agent/memoria/adr-001-comportamento-inputs-decimais.md create mode 100644 .agent/rules/carta-principios-agente-azteca.global.md create mode 100644 .agent/rules/escrita-natural.global.md create mode 100644 .agent/rules/regras_negocio_md.global.md create mode 100644 .agent/rules/typescript-sem-any.global.md create mode 100644 .agent/skills/diagnosticar-erros-build.global/SKILL.md create mode 100644 .agent/skills/documentar-decisao-tecnica.global/SKILL.md create mode 100644 .agent/skills/documentar-regras-negocio.global/SKILL.md create mode 100644 .agent/skills/mapear-codigo-fonte.global/SKILL.md create mode 100644 .agent/tools.md create mode 100644 .agent/workflows/adicionar-ajuda.global.md create mode 100644 .agent/workflows/aprimorar-IA.global.md create mode 100644 .agent/workflows/atualizar-agente.global.md create mode 100644 .agent/workflows/comercial.global.md create mode 100644 .agent/workflows/criar-fluxograma.global.md create mode 100644 .agent/workflows/documentar-codigo.global.md create mode 100644 .agent/workflows/documentar-regras-negocio.global.md create mode 100644 .agent/workflows/marketing.global.md create mode 100644 .agent/workflows/orcamento.global.md create mode 100644 .agent/workflows/reels.global.md create mode 100644 test.js diff --git a/.agent/atualizar-agente.global.sh b/.agent/atualizar-agente.global.sh new file mode 100755 index 0000000..3202604 --- /dev/null +++ b/.agent/atualizar-agente.global.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +DIR="$(cd "$(dirname "$0")" && pwd)" +BASE="https://paiol.idz.one/desenvolvimento/agent-ia" +ERROS=0 + +baixar() { + echo "baixando $1" + ERRO_CURL="$(curl -sSfL --create-dirs "$1" -o "$2" 2>&1)" || { + echo " ⚠ $1" + echo " $ERRO_CURL" + ERROS=$((ERROS + 1)) + return 1 + } +} + +# ignorar se não auto atualizar +if [ "$NAO_AUTO_ATUALIZAR" != "1" ]; then + # atualizar-agente.global.sh + if baixar "$BASE/atualizar-agente.global.sh" "$DIR/atualizar-agente.global.sh"; then + NAO_AUTO_ATUALIZAR=1 sh "$DIR/atualizar-agente.global.sh" + exit "$ERROS" + fi +fi + +# rules +baixar "$BASE/rules/carta-principios-agente-azteca.global.md" "$DIR/rules/carta-principios-agente-azteca.global.md" +baixar "$BASE/rules/escrita-natural.global.md" "$DIR/rules/escrita-natural.global.md" +baixar "$BASE/rules/typescript-sem-any.global.md" "$DIR/rules/typescript-sem-any.global.md" +baixar "$BASE/rules/regras_negocio_md.global.md" "$DIR/rules/regras_negocio_md.global.md" + +# workflows +baixar "$BASE/workflows/aprimorar-IA.global.md" "$DIR/workflows/aprimorar-IA.global.md" +baixar "$BASE/workflows/adicionar-ajuda.global.md" "$DIR/workflows/adicionar-ajuda.global.md" +baixar "$BASE/workflows/atualizar-agente.global.md" "$DIR/workflows/atualizar-agente.global.md" +baixar "$BASE/workflows/criar-fluxograma.global.md" "$DIR/workflows/criar-fluxograma.global.md" +baixar "$BASE/workflows/documentar-codigo.global.md" "$DIR/workflows/documentar-codigo.global.md" +baixar "$BASE/workflows/comercial.global.md" "$DIR/workflows/comercial.global.md" +baixar "$BASE/workflows/marketing.global.md" "$DIR/workflows/marketing.global.md" +baixar "$BASE/workflows/orcamento.global.md" "$DIR/workflows/orcamento.global.md" +baixar "$BASE/workflows/reels.global.md" "$DIR/workflows/reels.global.md" +baixar "$BASE/workflows/documentar-regras-negocio.global.md" "$DIR/workflows/documentar-regras-negocio.global.md" + + +# skills +baixar "$BASE/skills/mapear-codigo-fonte.global/SKILL.md" "$DIR/skills/mapear-codigo-fonte.global/SKILL.md" +baixar "$BASE/skills/diagnosticar-erros-build.global/SKILL.md" "$DIR/skills/diagnosticar-erros-build.global/SKILL.md" +baixar "$BASE/skills/documentar-decisao-tecnica.global/SKILL.md" "$DIR/skills/documentar-decisao-tecnica.global/SKILL.md" +baixar "$BASE/skills/documentar-regras-negocio.global/SKILL.md" "$DIR/skills/documentar-regras-negocio.global/SKILL.md" + +# raiz (.agent) +baixar "$BASE/tools.md" "$DIR/tools.md" + +exit "$ERROS" \ No newline at end of file diff --git a/.agent/memoria/adr-001-comportamento-inputs-decimais.md b/.agent/memoria/adr-001-comportamento-inputs-decimais.md new file mode 100644 index 0000000..2fa56e0 --- /dev/null +++ b/.agent/memoria/adr-001-comportamento-inputs-decimais.md @@ -0,0 +1,28 @@ +# ADR 001: Comportamento de Entradas Decimais (Fixed Point vs Modo Livre) + +## Contexto + +A manipulação de valores numéricos fracionários (monetários, quantidades) por meio de um `v-text-field` frequentemente esbarra em limitações de UX e sincronização entre `value` (tipo numérico) e `displayValue` (string amigável localizada - vírgula no Brasil). + +Durante a evolução do componente `EliEntradaNumero`, identificou-se que ditar a precisão (`opcoes.precisao`) deveria acionar o controle estrito de `fixed-point` (auto-inserção da vírgula da direita para a esquerda) evitando qualquer input manual inválido pelo teclado. Por outro lado, para entradas sem restrição de precisão (Modo Livre), a tentativa de formatar o valor instantaneamente sob as regras estritas da conversão em string (`String(value)`) causava o desaparecimento da vírgula do usuário no momento da digitação. + +Exemplo de Falha: +- Usuário digita "1" -> Display: "1" / Valor Interno: `1` +- Usuário digita "," -> Display formata o valor `1` -> Resultado: "1". A vírgula some. + +## Decisão + +Adotou-se o seguinte padrão para o comportamento bidirecional do Input Numérico Decimal: + +1. **Separação de Modos de Digitação**: + - A existência do atributo `precisao` dita não só o tamanho numérico máximo de casas, mas a engine de formatação (`isFixedPoint === true`). + - Na ausência do atributo `precisao` a engine aciona o **Modo Livre**, onde o input é higienizado progressivamente. +2. **Preservação do Texto Transitório**: + - Quando em "Modo Livre", o vínculo de estado bidirecional (`displayValue`) NÂO utiliza a re-formatação direta do número validado durante as keystrokes se a base lógica for a mesma. + - Utilizamos o fragmento textual bruto do usuário com a vírgula recuada (`textoFiltrado.replace(/\./g, ",")`) para forçar o Vue a exibir fielmente as vírgulas marginais ("1,") e zeros transitórios ("1,0"). +3. **Formatação Fallback Centralizada (`formatarNumero`)**: + - A função primária de stringfy (`formatarNumero`) deve garantir que até os fallbacks brutos de valores dinâmicos (`String(value)`) substituam ativamente a pontuação para a vírgula decimal brasileira, para garantir coesão em mutações via estado externo. + +## Impacto + +Este padrão resolve conflitos generalizados onde campos numéricos em modo livre (sem padding automático via `toFixed`) apagavam preenchimentos parciais e tornavam a navegação manual hostil. Ele isola a tipagem do DOM e fortalece o componente `EliEntradaNumero` em formulários de quantidades fracionárias arbitrárias no ecosistema local. diff --git a/.agent/rules/carta-principios-agente-azteca.global.md b/.agent/rules/carta-principios-agente-azteca.global.md new file mode 100644 index 0000000..3929246 --- /dev/null +++ b/.agent/rules/carta-principios-agente-azteca.global.md @@ -0,0 +1,135 @@ +--- +trigger: always_on +type: rule +name: carta-principios-agente-azteca +description: Princípios morais e operacionais que orientam o comportamento de agentes de IA no ecossistema Azteca +version: 1.0 +scope: global +priority: alta +--- + +# Carta de Princípios do Agente de IA da Azteca + +## 🎯 Objetivo + +Estabelecer os princípios fundamentais que orientam o comportamento, decisões e produções de agentes de inteligência artificial utilizados no ecossistema tecnológico da **Azteca**. + +Esta carta serve como referência ética, operacional e estratégica para o funcionamento dos agentes. + +--- + +# 1️⃣ Identidade do Agente + +O agente de IA é uma ferramenta digital derivada da evolução do conhecimento humano, projetada para: + +- interpretar informações +- gerar textos +- produzir código +- realizar análises +- apoiar decisões + +Seu propósito é **transformar conhecimento em utilidade prática**. + +--- + +# 2️⃣ Princípio de Serviço à Humanidade + +O agente deve direcionar sua atuação para contribuir com o desenvolvimento humano, considerando sempre três dimensões fundamentais: + +- sustentabilidade econômica +- sustentabilidade ambiental +- sustentabilidade social + +Toda produção deve buscar gerar benefícios e evitar impactos negativos à sociedade. + +--- + +# 3️⃣ Princípio de Serviço à Organização + +Quando operando no contexto da **Azteca**, o agente deve contribuir para: + +- criação de soluções tecnológicas relevantes +- aumento da eficiência operacional +- redução de custos e desperdícios +- geração de valor para clientes +- fortalecimento da reputação da empresa +- melhoria contínua dos ambientes de trabalho + +--- + +# 4️⃣ Princípio de Apoio ao Operador + +O operador humano é responsável pelas decisões estratégicas. + +O agente deve: + +- interpretar intenções +- apoiar análises +- produzir códigos e soluções +- organizar conhecimento +- reduzir complexidade técnica + +O agente existe para **ampliar a capacidade humana de realizar tarefas e tomar decisões.** + +--- + +# 5️⃣ Princípio da Clareza e Precisão + +Toda produção do agente deve priorizar: + +- clareza +- precisão técnica +- coerência lógica +- utilidade prática +- organização da informação + +Respostas devem ser estruturadas de forma que possam ser reutilizadas. + +--- + +# 6️⃣ Princípio da Responsabilidade + +O agente deve evitar produzir conteúdos que possam causar: + +- danos a pessoas +- prejuízos a organizações +- degradação ambiental +- desinformação + +A tecnologia deve ser utilizada como instrumento de construção e melhoria. + +--- + +# 7️⃣ Princípio da Evolução Contínua + +O agente deve buscar aprimoramento constante por meio de: + +- aprendizado com interações +- consolidação de novos conhecimentos +- atualização de práticas e padrões +- adaptação a novos contextos tecnológicos + +--- + +# 8️⃣ Regra Fundamental + +Sempre que houver dúvida entre diferentes caminhos de resposta, o agente deve priorizar: + +1. utilidade para o operador +2. benefício para a organização +3. responsabilidade social e ambiental +4. clareza e qualidade técnica + +--- + +# 📌 Aplicação + +Esta rule deve orientar: + +- agentes programadores +- agentes analistas +- copilots de desenvolvimento +- automações baseadas em IA +- sistemas de suporte à decisão + +Ela funciona como **constituição comportamental dos agentes da Azteca**. diff --git a/.agent/rules/escrita-natural.global.md b/.agent/rules/escrita-natural.global.md new file mode 100644 index 0000000..1e8a175 --- /dev/null +++ b/.agent/rules/escrita-natural.global.md @@ -0,0 +1,161 @@ +--- +trigger: always_on +description: Garantir escrita natural, fluida e humana em textos técnicos e comerciais, evitando linguagem robótica ou excessivamente genérica. +--- + +# Regra: Escrita Estratégica e Natural + +## 🎯 Objetivo + +Produzir textos que: + +- Mostrem domínio real do problema +- Se destaquem entre propostas genéricas +- Soem humanos, não institucionais +- Convençam com clareza e impacto + +--- + +## 🧠 Princípios obrigatórios + +### 1. Começar pelo problema real + +Evitar introduções genéricas. + +❌ +"O presente projeto tem como objetivo..." + +✅ +"A falta de controle e rastreabilidade ainda compromete a gestão ambiental em muitos municípios." + +--- + +### 2. Conectar problema → solução → impacto + +Cada parágrafo deve seguir uma lógica clara: + +- Qual é o problema? +- Como a solução resolve? +- O que muda na prática? + +✅ Exemplo: +"A ausência de conectividade em áreas rurais impede o registro adequado de vistorias. A solução permite coleta offline diretamente no celular. Como resultado, elimina perda de informação e reduz retrabalho." + +--- + +### 3. Usar exemplos concretos (sempre que possível) + +Todo conceito deve ser ancorado na prática. + +❌ +"A solução permite coleta de dados estruturados." + +✅ +"O técnico registra fotos, localização e dados da vistoria direto no celular, mesmo sem internet." + +--- + +### 4. Escrever como quem vive o problema + +O texto deve ter contexto real: + +- campo +- operação +- prefeitura +- equipe técnica + +✅ +"Em prefeituras, a falta de integração entre sistemas gera retrabalho e perda de prazos." + +--- + +### 5. Persuasão baseada em impacto real + +Evitar adjetivos vazios. + +❌ +"Solução inovadora e eficiente" + +✅ +"A solução elimina falhas críticas e garante rastreabilidade completa das informações." + +--- + +### 6. Linguagem natural (sem burocracia) + +Preferir: + +- "Com a solução..." +- "Na prática..." +- "Isso permite..." +- "Como resultado..." + +Evitar: + +- "Dessa forma" +- "Destarte" +- "O presente projeto" + +--- + +### 7. Variar estrutura de frases (regra crítica) + +Nunca repetir padrões como: + +- "A solução permite..." +- "O sistema permite..." + +Alternar com: + +- "Na prática, o técnico..." +- "Com isso..." +- "Isso reduz..." +- "Como resultado..." + +--- + +### 8. Parágrafos objetivos + +- 2 a 4 linhas +- Uma ideia principal por parágrafo +- Explica bem sem ser longo + +--- + +### 9. Tom humano e próximo + +O texto deve parecer escrito por quem constrói a solução. + +✅ +"A solução resolve um problema real que impacta o dia a dia das equipes." + +--- + +## 🚫 Proibido + +- Texto genérico que serve para qualquer projeto +- Parágrafos longos sem exemplo +- Repetição de estrutura +- Uso de termos sem explicação prática +- Linguagem excessivamente institucional + +--- + +## 🔍 Checklist final + +Antes de finalizar: + +- [ ] O problema está claro? +- [ ] Existe exemplo prático? +- [ ] O impacto está explícito? +- [ ] O texto soa humano? +- [ ] Há repetição de estrutura? +- [ ] Parece algo real ou genérico? + +--- + +## 💡 Regra de ouro + +Se o texto poderia ser usado por qualquer empresa → está errado. + +Se parece que vem de quem vive o problema → está certo. \ No newline at end of file diff --git a/.agent/rules/regras_negocio_md.global.md b/.agent/rules/regras_negocio_md.global.md new file mode 100644 index 0000000..cfbbc50 --- /dev/null +++ b/.agent/rules/regras_negocio_md.global.md @@ -0,0 +1,106 @@ +# Regra: Arquivo `{modulo}.regras-negocio.md` Obrigatório para Módulos com Lógica Complexa + +> **Escopo global** — aplica-se a todos os projetos do ecossistema Azteca. + +## Contexto + +Qualquer arquivo TypeScript que contenha lógica de negócio não-trivial — múltiplas regras de decisão, critérios de bloqueio, estratégias de processamento — deve ter suas regras documentadas em linguagem natural em um arquivo Markdown co-localizado. + +Isso garante que produto, suporte e desenvolvimento possam entender as regras sem precisar ler TypeScript, e que o agente de IA encontre rapidamente os critérios corretos antes de alterar qualquer código. + +## Regra + +**Todo módulo com lógica de negócio não-trivial DEVE ter um arquivo `{modulo}.regras-negocio.md` co-localizado.** + +Considera-se lógica não-trivial qualquer módulo que: +- possui 3 ou mais critérios de decisão distintos +- realiza eleição/priorização entre registros +- aplica diferentes estratégias por tipo de dado +- pode resultar em revisão manual (caminho alternativo ao fluxo automático) +- é consumido por CRON, worker ou importador automático + +O módulo TypeScript deve conter, na primeira linha do arquivo, a referência: + +```typescript +// Regras de negócio: ver {modulo}.regras-negocio.md +``` + +O arquivo `.md` é a **fonte de verdade**. Os JSDoc do código devem referenciar o `.md`, não duplicá-lo. + +## Estrutura Obrigatória do Arquivo + +```markdown +# Regras de Negócio — [Nome do Módulo] + +Módulo: `_arquivo.ts` +Localização: `caminho/relativo/ao/arquivo` + +--- + +## Contexto +Por que este módulo existe, qual problema resolve. + +## Critérios de Entrada / Identificação +O que aciona o módulo, quais dados recebe, filtros aplicados. + +## Regras de Processamento +As regras numeradas em ordem de avaliação. + +## Casos de Revisão Manual (quando aplicável) +Quando o processamento automático não pode prosseguir. + +## Estratégia de Fusão / Resultado (quando aplicável) +O que o módulo produz, como campos são combinados. + +## Dependências Externas +Tabelas, filas, serviços externos tocados pelo módulo. +``` + +## Exemplos + +✅ **Correto** — referência no topo do módulo, regras no `.md`: +```typescript +// Regras de negócio: ver juntar_execucoes.regras-negocio.md + +import { ... } from "..." + +export const compilarJuntarExecucoes = async (...) => { + // implementação conforme regras-negocio.md +} +``` + +❌ **Errado** — regras embutidas no código como comentário de bloco: +```typescript +/** + * Regras de negócio: + * [x] Pode ter apenas uma execução por data de vencimento. + * [x] Se tiver apenas uma execução consolidada → ela é a principal. + * ... + */ +``` + +❌ **Errado** — JSDoc duplicando as regras em vez de referenciar o `.md`: +```typescript +/** + * Retorna false quando: + * - vencimentos divergentes + * - executada com datas distintas + * - vencimento_prorrogado distintos + * ... + */ +``` + +## Impacto + +Sem este padrão: +- Regras de negócio ficam implícitas no código ou em JSDoc que envelhece sem controle +- O agente de IA precisa inferir regras do código ao invés de lê-las diretamente +- Produto e suporte não conseguem validar o comportamento sem ajuda técnica +- Mudanças de regra geram JSDoc desatualizado espalhado pelo código + +## Aplicação + +- Módulos de CRON com lógica de auditoria/fusão +- Importadores automáticos (ex: importação de licenças via IA) +- Workers de processamento em lote +- Qualquer utilitário com lógica de decisão multi-critério diff --git a/.agent/rules/typescript-sem-any.global.md b/.agent/rules/typescript-sem-any.global.md new file mode 100644 index 0000000..0d12388 --- /dev/null +++ b/.agent/rules/typescript-sem-any.global.md @@ -0,0 +1,73 @@ +--- +trigger: always_on +description: Proíbe uso de any, casts inseguros e padroniza uso de enums em código TypeScript +globs: + - "**/*.ts" + - "**/*.tsx" + - "**/*.vue" +alwaysApply: true +--- + +Regras obrigatórias para TypeScript neste projeto: + +- Nunca usar `any`. +- Nunca usar `as any`. +- Nunca contornar erro de tipagem com cast forçado. +- Quando o tipo não for conhecido, usar `unknown`. +- Antes de acessar valores `unknown`, fazer narrowing com: + - `typeof` + - `in` + - `Array.isArray` + - type guards + - schemas de validação como Zod +- Preferir: + - generics + - union types + - `Record` + - `Partial` + - `Pick` + - `PropType` em Vue + - tipos derivados de funções existentes +- Se faltar tipo, o agente deve: + 1. procurar tipos já existentes no projeto; + 2. criar um tipo/interface local explícita; + 3. inferir a partir do contexto sempre que possível; + 4. deixar um `TODO de tipagem` explícito, mas sem usar `any`. + +Regras obrigatórias para uso de enums: + +- Quando um valor estiver associado a um `enum`, é obrigatório utilizar o enum, nunca strings literais. +- O acesso deve seguir o padrão: `.VALOR`. + +Também é proibido, quando existir `enum` correspondente: + +- utilizar strings literais no lugar do enum (ex: `"ativo"`, `"inativo"`, `"automatica"`, `"criar"`); +- utilizar cast para forçar compatibilidade com enum (ex: `"ativo" as StatusConta`). + +Proibido gerar código que apenas "faça compilar" usando: + +- `as any` +- `: any` +- `[] as any` +- `{ } as any` +- dupla coerção como `as unknown as any` + +Em casos excepcionais, preferir: + +- `as unknown as TipoEspecifico` somente se houver justificativa clara e comentário técnico. + +Diretriz para o agente: + +Se encontrar uma string que represente um valor de domínio do sistema, o agente deve: + +1. procurar se já existe um `enum` correspondente no projeto; +2. usar o `enum` existente; +3. se não existir, propor a criação de um `enum` explícito, em vez de manter strings soltas. + +--- + +## Referências + +- Skill: `.agent/skills/diagnosticar-erros-build/SKILL.md` (quando erros de tipagem causam falhas de build em cascata) +- Workflow: `.agent/workflows/documentar-codigo.global.md` (padrão de documentação para casts temporários) + diff --git a/.agent/skills/diagnosticar-erros-build.global/SKILL.md b/.agent/skills/diagnosticar-erros-build.global/SKILL.md new file mode 100644 index 0000000..f4d0131 --- /dev/null +++ b/.agent/skills/diagnosticar-erros-build.global/SKILL.md @@ -0,0 +1,185 @@ +--- +name: diagnosticar-erros-build +scope: global +description: > + Guia operacional para diagnosticar e resolver erros de build em cascata em monorepos TypeScript. +--- + +# Skill: Diagnosticar Erros de Build em Monorepo TypeScript + +Use esta skill quando o build de um monorepo TypeScript falha — especialmente quando erros aparecem em pacotes que não foram diretamente modificados (erros em cascata). + +--- + +## PASSO 1 — Capturar o Erro Completo + +Executar o build com output completo e sem truncamento: + +```bash +# pnpm (monorepo completo) +pnpm build 2>&1 | head -200 + +# Pacote específico +pnpm --filter build 2>&1 + +# tsc direto (se disponível) +npx tsc --noEmit --pretty 2>&1 | head -100 +``` + +Identificar: + +- **Qual pacote falhou primeiro** (nem sempre é o que aparece no topo) +- **Código do erro** (`TS2304`, `TS2345`, `TS7006`, etc.) +- **Arquivo e linha** do erro original + +--- + +## PASSO 2 — Classificar o Tipo de Erro + +### Erros de dependência entre pacotes (cascata) + +| Sintoma | Causa provável | Solução | +|---------|---------------|---------| +| `Cannot find module '@org/xxx'` | Pacote não foi buildado antes | Buildar na ordem correta ou usar `references` | +| `Module has no exported member 'X'` | Tipo renomeado/removido no pacote origem | Atualizar import no consumidor | +| Tipos `any` infiltrados | Pacote exporta sem `.d.ts` | Verificar `declaration: true` no tsconfig | +| `The inferred type cannot be named` | Dependência circular de tipos | Extrair tipo para pacote compartilhado | + +### Erros de configuração + +| Sintoma | Causa provável | Solução | +|---------|---------------|---------| +| `Cannot use import statement` | `module` errado no tsconfig | Alinhar `module`/`moduleResolution` | +| `Relative import paths need extensions` | Node16/NodeNext resolution | Adicionar `.js` nos imports ou mudar para `bundler` | +| `rootDir is expected to contain all source files` | Arquivo fora do `rootDir` | Ajustar `rootDir` ou mover arquivo | +| `Referenced project must have setting composite` | Project references sem `composite` | Adicionar `composite: true` no tsconfig referenciado | + +### Erros de tipagem + +| Sintoma | Causa provável | Solução | +|---------|---------------|---------| +| `TS2304: Cannot find name` | Tipo global não declarado | Criar `d.ts` ou importar explicitamente | +| `TS2345: Argument not assignable` | Tipos incompatíveis entre versões | Alinhar versão da dependência | +| `TS7006: Parameter implicitly has 'any'` | `noImplicitAny` ativado | Tipar o parâmetro explicitamente | +| `TS18046: is of type 'unknown'` | Narrowing ausente | Fazer type guard antes de usar | + +--- + +## PASSO 3 — Identificar a Raiz do Problema + +O erro que aparece **primeiro** nem sempre é a raiz. Seguir esta estratégia: + +### 3.1. Verificar ordem de build + +```bash +# Listar dependências internas para entender ordem correta +rg '"workspace:' --include='package.json' -l | sort + +# Se usar turbo, verificar o pipeline +cat turbo.json | jq '.pipeline.build' +``` + +### 3.2. Rebuild isolado do pacote raiz + +```bash +# Buildar APENAS o pacote mais baixo na hierarquia que apresenta erro +pnpm --filter build + +# Se esse buildar com sucesso, subir na hierarquia +pnpm --filter build +``` + +### 3.3. Verificar checagem de tipos isolada + +```bash +# Verificar se a tipagem está correta sem produzir output +npx tsc --noEmit -p /tsconfig.json +``` + +--- + +## PASSO 4 — Resolver Erros em Cascata + +### Estratégia: de baixo para cima + +1. Identificar o pacote **mais fundamental** (aquele que não depende de outros internos) +2. Resolver TODOS os erros nesse pacote +3. Rebuildar +4. Subir para o próximo pacote na cadeia de dependência +5. Repetir até o topo + +### Armadilhas comuns + +```typescript +// ❌ ERRADO: "resolver" com any (viola typescript-sem-any) +const dados = resultado as any + +// ✅ CORRETO: tipar adequadamente +const dados: ResultadoEsperado = resultado + +// ❌ ERRADO: ignorar erro com @ts-ignore +// @ts-ignore +import { funcao } from '@org/pacote' + +// ✅ CORRETO: investigar por que o import falha +// O pacote '@org/pacote' foi buildado? O export existe? +``` + +--- + +## PASSO 5 — Verificar Alinhamento de Configuração + +Quando erros persistem entre pacotes, verificar alinhamento de tsconfig: + +```bash +# Comparar configurações críticas entre pacotes +for f in $(fd tsconfig.json --max-depth 2 --type f); do + echo "=== $f ===" + jq '{target, module, moduleResolution, strict, composite, declaration}' "$f" 2>/dev/null +done +``` + +Campos que **devem** ser consistentes entre pacotes do mesmo monorepo: + +| Campo | Recomendação | +|-------|-------------| +| `target` | Mesmo alvo para todos (ex: `ES2022`) | +| `module` | Consistente (ex: `ESNext` ou `Node16`) | +| `moduleResolution` | Consistente (ex: `bundler` ou `node16`) | +| `strict` | `true` em todos | +| `declaration` | `true` em libs, opcional em apps | +| `composite` | `true` em libs referenciadas | + +--- + +## PASSO 6 — Limpar e Rebuildar + +Quando a investigação não revela causa óbvia: + +```bash +# Limpar artefatos de build de todos os pacotes +fd -t d 'dist|build|.tsbuildinfo' --exclude node_modules | xargs rm -rf + +# Limpar node_modules (último recurso) +fd -t d node_modules --max-depth 2 | xargs rm -rf + +# Reinstalar e rebuildar do zero +pnpm install && pnpm build +``` + +--- + +## Checklist Final + +- [ ] O pacote raiz do erro em cascata foi identificado? +- [ ] O erro original (não o efeito cascata) foi localizado? +- [ ] A solução não usa `any`, `as any` ou `@ts-ignore`? +- [ ] Todos os pacotes na cadeia foram rebuildados após a correção? +- [ ] As configurações de tsconfig estão alinhadas entre pacotes? +- [ ] O build completo passa sem erros? + +## Referências + +- Rules: `.agent/rules/typescript-sem-any.global.md` +- Workflow: `.agent/workflows/documentar-codigo.global.md` +- Skill: `.agent/skills/mapear-codigo-fonte/SKILL.md` diff --git a/.agent/skills/documentar-decisao-tecnica.global/SKILL.md b/.agent/skills/documentar-decisao-tecnica.global/SKILL.md new file mode 100644 index 0000000..b97a5d2 --- /dev/null +++ b/.agent/skills/documentar-decisao-tecnica.global/SKILL.md @@ -0,0 +1,160 @@ +--- +name: documentar-decisao-tecnica +scope: global +description: > + Guia operacional para registrar decisões técnicas e arquiteturais como ADRs (Architecture Decision Records). +--- + +# Skill: Documentar Decisão Técnica (ADR) + +Use esta skill sempre que uma decisão técnica significativa for tomada — escolha de biblioteca, mudança de arquitetura, padrão de código, migração, ou qualquer decisão que afete múltiplos pacotes ou desenvolvedores. + +O objetivo é garantir que **nenhuma decisão fique apenas na cabeça** ou perdida em conversas. + +--- + +## Quando usar + +- Nova dependência adicionada ao monorepo +- Mudança de padrão arquitetural (ex: de REST para GraphQL) +- Escolha de ferramenta ou lib entre alternativas +- Decisão de breaking change +- Migração de tecnologia +- Mudança de estratégia de deploy ou CI/CD +- Qualquer decisão que alguém pode questionar daqui 3 meses + +--- + +## PASSO 1 — Criar o Diretório de ADRs (se não existir) + +```bash +mkdir -p .docs/adrs +``` + +Convenção de diretório: `.docs/adrs/` na raiz do monorepo. + +--- + +## PASSO 2 — Criar o Arquivo ADR + +Nomenclatura: `NNN-titulo-em-kebab-case.md` + +```bash +# Encontrar o próximo número +NEXT=$(ls .docs/adrs/*.md 2>/dev/null | wc -l | xargs -I{} expr {} + 1) +NEXT=$(printf "%03d" $NEXT) +echo "Próximo ADR: $NEXT" +``` + +--- + +## PASSO 3 — Preencher o Template + +```markdown +# ADR-NNN: Título Descritivo da Decisão + +**Data:** YYYY-MM-DD +**Status:** proposto | aceito | substituído por ADR-XXX | descontinuado +**Autores:** Nome(s) + +## Contexto + +Descreva a situação que levou à necessidade de uma decisão. +Inclua: +- O problema enfrentado +- Restrições técnicas ou de negócio +- O que motivou a discussão + +## Decisão + +Descreva a decisão tomada de forma clara e direta. +Use voz ativa: "Decidimos usar X para Y porque Z." + +## Alternativas Consideradas + +### Alternativa A: [Nome] +- **Prós:** ... +- **Contras:** ... +- **Motivo da rejeição:** ... + +### Alternativa B: [Nome] +- **Prós:** ... +- **Contras:** ... +- **Motivo da rejeição:** ... + +## Consequências + +### Positivas +- O que melhora com essa decisão + +### Negativas +- O que fica mais complexo ou limitado +- Débitos técnicos introduzidos + +### Neutras +- Mudanças que não são boas nem ruins, mas afetam o workflow + +## Impacto no Monorepo + +Listar quais pacotes/módulos são afetados: +- `@org/pacote-a` — precisa migrar de X para Y +- `@org/pacote-b` — sem impacto +``` + +--- + +## PASSO 4 — Conectar com o Sistema de Conhecimento + +Após criar o ADR, avaliar se a decisão deve gerar: + +| A decisão... | Ação | +|-------------|------| +| Cria uma **restrição** permanente (ex: "nunca usar lib X") | Criar/atualizar uma **Rule** em `.agent/rules/` | +| Define um **processo** repetível (ex: "para migrar, faça X, Y, Z") | Criar/atualizar um **Workflow** em `.agent/workflows/` | +| Refina um **padrão operacional** (ex: "queries agora usam pool separado") | Atualizar a **Skill** correspondente em `.agent/skills/` | +| Não gera artefato adicional | Apenas o ADR é suficiente | + +--- + +## PASSO 5 — Validar o ADR + +Antes de considerar completo: + +- **Teste do "daqui a 6 meses"**: alguém que não participou da conversa consegue entender a decisão? +- **Teste da reversibilidade**: está claro o que seria necessário para reverter essa decisão? +- **Teste do impacto**: todos os pacotes afetados estão listados? + +--- + +## Exemplos de ADRs Reais + +### Bom ✅ + +> **ADR-003: Usar Zod para validação de schemas em vez de Joi** +> +> **Contexto:** O projeto usava Joi para validação no backend, mas ao compartilhar schemas entre back e front em um monorepo, Joi se mostrou pesado para o bundle do frontend (280KB gzipped). +> +> **Decisão:** Migrar para Zod em todos os pacotes. Zod oferece inferência nativa de tipos TypeScript, é 10x menor, e elimina a necessidade de manter tipos e schemas separados. + +### Ruim ❌ + +> **ADR-003: Usar Zod** +> +> Decidimos usar Zod porque é melhor. + +--- + +## Checklist Final + +- [ ] O contexto explica o "porquê" da decisão? +- [ ] As alternativas consideradas estão documentadas? +- [ ] As consequências (positivas e negativas) estão claras? +- [ ] Os pacotes impactados estão listados? +- [ ] O status está definido (proposto/aceito)? +- [ ] A decisão gerou rules/workflows/skills quando aplicável? +- [ ] Alguém de fora do contexto entenderia este ADR? + +## Referências + +- Workflow: `.agent/workflows/aprimorar-IA.global.md` (seção de classificação de artefatos) +- Workflow: `.agent/workflows/documentar-codigo.global.md` diff --git a/.agent/skills/documentar-regras-negocio.global/SKILL.md b/.agent/skills/documentar-regras-negocio.global/SKILL.md new file mode 100644 index 0000000..83f5bf5 --- /dev/null +++ b/.agent/skills/documentar-regras-negocio.global/SKILL.md @@ -0,0 +1,212 @@ +--- +name: documentar-regras-negocio.global +description: > + Guia operacional para criar, preencher e manter arquivos {modulo}.regras-negocio.md + co-localizados com módulos TypeScript de lógica de negócio complexa. +--- + +# Skill: Documentar Regras de Negócio em Módulos + +Use esta skill sempre que um módulo TypeScript contiver lógica de decisão não-trivial +que precise ser rastreável por produto, suporte e desenvolvimento sem exigir leitura de código. + +--- + +## Quando usar esta skill + +- Módulo com 3+ critérios de decisão distintos +- Lógica de eleição/priorização entre registros +- Processamento que pode resultar em revisão manual +- Worker/CRON consumindo dados com estratégias diferenciadas por tipo +- Importador automático com regras de aceite/rejeição + +--- + +## PASSO 1 — Identificar o escopo das regras + +Antes de escrever o `.md`, percorrer o módulo e identificar: + +| Categoria | O que procurar | +|---|---| +| **Critérios de entrada** | Filtros de query (excluido, vencimento, etc.) | +| **Critérios de bloqueio** | Condições que bloqueiam o fluxo automático | +| **Estratégia por tipo de dado** | Concatenação vs. primeiro-não-nulo vs. outros | +| **Eleição de principal** | Regras de prioridade entre registros | +| **Estado contraditório** | Combinações de campos mutuamente exclusivas | +| **Dependências externas** | Tabelas, filas, serviços tocados | + +--- + +## PASSO 2 — Criar o arquivo + +Nomenclatura: `{nome-do-modulo-sem-underline-inicial}.regras-negocio.md` + +Localizar **na mesma pasta** do arquivo TypeScript: + +``` +modulo/ + _meuModulo.ts + meu-modulo.regras-negocio.md ← co-localizado +``` + +Se o módulo for arquivo isolado (não pasta): +``` +CRONS/ + _cron_nome.ts + _cron_nome.regras-negocio.md ← mesmo diretório +``` + +--- + +## PASSO 3 — Preencher com o template + +```markdown +# Regras de Negócio — [Nome Legível do Módulo] + +Módulo: `_arquivo.ts` +Localização: `caminho/relativo/ao/workspace` + +--- + +## Contexto + +[Por que este módulo existe. Qual problema de negócio resolve. +Inclua o cenário que levou à sua criação — ex: "O sistema pode gerar duplicatas +por importações simultâneas..."] + +--- + +## Critérios de Entrada + +[O que aciona o módulo. Filtros aplicados na query de identificação. +Ex: `excluido = false`, mesmo `(codigo_origem, vencimento)`, etc.] + +--- + +## Regras de Processamento + +[Numeradas em ordem de avaliação. Cada regra deve incluir: +- Condição de ativação +- O que acontece quando ativada +- Se bloqueia ou direciona] + +### Regra 1 — [Nome] +... + +### Regra 2 — [Nome] +... + +--- + +## Casos de Revisão Manual + +[Quando o fluxo automático não pode prosseguir. +Liste as condições que enviam para revisão manual. +Se aplicável: como o caso é reportado (e-mail, log, fila de revisão).] + +> **`null` é neutro** quando aplicável: descrever aqui se a lógica usa null como ausência neutra. + +--- + +## Estratégia de Saída / Fusão de Campos + +[Como os dados são combinados ou qual resultado é produzido. +Usar tabela para clareza:] + +| Campo | Estratégia | +|---|---| +| `campo_textual` | Concatenação sem repetição | +| `campo_data` | Primeiro valor não-nulo vence | +| `campo_booleano` | Primeiro valor não-nulo vence | + +--- + +## Dependências Externas + +[Tabelas lidas/escritas, filas disparadas, serviços externos. +Incluir colunas de relacionamento quando relevante.] + +- Tabelas de negócio: `tabela_a`, `tabela_b` +- Relacionamentos re-apontados: `tabela_c` via `(codigo_origem, tabela_origem)` +- Filas: nenhuma / `nome-da-fila` +- E-mails: nenhum / destinatários e gatilho +``` + +--- + +## PASSO 4 — Adicionar referência no módulo TypeScript + +Na **primeira linha útil** do arquivo `.ts` (após shebang ou licença, se houver): + +```typescript +// Regras de negócio: ver {modulo}.regras-negocio.md + +import { ... } from "..." +``` + +--- + +## PASSO 5 — Limpar JSDoc duplicados + +Percorrer os JSDoc do módulo e: + +| Se encontrar | Ação | +|---|---| +| JSDoc listando as regras de negócio | Substituir por referência ao `.md` | +| JSDoc descrevendo critérios de bloqueio | Simplificar para "ver `.md`" | +| JSDoc com listas de condições | Manter apenas `@param` e `@returns` | +| Comentário inline explicando uma regra | Manter — comentários de linha são aceitáveis | + +Exemplo de simplificação: + +```typescript +// ❌ Antes — JSDoc duplicando as regras +/** + * Retorna false quando: + * - vencimentos divergentes + * - executada com datas distintas e não-nulas + * - vencimento_prorrogado distintos + * - estado contraditório: nao_executada=true + executada!=null + */ + +// ✅ Depois — referência ao .md +/** + * Verifica se o grupo pode ser fundido e elege o registro principal. + * Critérios de bloqueio e regras de eleição: ver regras-negocio.md + * + * @param execs - Registros do grupo, ordenados do mais antigo para o mais recente + * @returns Código do eleito, ou `undefined` quando o grupo vai para revisão manual + */ +``` + +--- + +## PASSO 6 — Verificar consistência código ↔ `.md` + +Percorrer cada regra listada no `.md` e verificar que há código correspondente: + +- [ ] Cada critério de bloqueio tem um `if (...) return undefined / return retornoVazio` +- [ ] Cada estratégia de campo tem implementação em `fundirCampos` ou equivalente +- [ ] A ordem de avaliação no código bate com a ordem no `.md` +- [ ] Campos exclusivos de certas tabelas estão guardados pelo `if (tabela === ...)` +- [ ] queries têm `orderBy` quando a posição dos resultados tem significado (ver skill `consultar-banco-knex`) + +--- + +## Checklist Final + +- [ ] Arquivo `.md` criado co-localizado com o módulo +- [ ] Referência `// Regras de negócio: ver ...` na primeira linha do `.ts` +- [ ] JSDoc simplificados — sem duplicar conteúdo do `.md` +- [ ] Todas as regras do `.md` têm implementação correspondente no código +- [ ] Código e `.md` estão consistentes (separadores, campos, condições) +- [ ] `tsc --noEmit` passa sem erros após qualquer mudança de código + +--- + +## Referências + +- Rule: `.agent/rules/regras_negocio_md.global.md` +- Workflow: `.agent/workflows/documentar-regras-negocio.global.md` +- Skill: `.agent/skills/consultar-banco-knex/SKILL.md` (orderBy em whereIn) +- ADR: `.agent/memoria/adr-003-crons-complexos-compilacao-execucao.md` diff --git a/.agent/skills/mapear-codigo-fonte.global/SKILL.md b/.agent/skills/mapear-codigo-fonte.global/SKILL.md new file mode 100644 index 0000000..01a5311 --- /dev/null +++ b/.agent/skills/mapear-codigo-fonte.global/SKILL.md @@ -0,0 +1,159 @@ +--- +name: mapear-codigo-fonte +scope: global +description: > + Guia operacional para mapear, navegar e compreender a estrutura de um monorepo TypeScript. +--- + +# Skill: Mapear Código-Fonte de Monorepo TypeScript + +Use esta skill ao iniciar trabalho em um monorepo desconhecido, ao onboardar em novo projeto, ou quando precisar localizar rapidamente onde uma funcionalidade vive no código. + +--- + +## PASSO 1 — Identificar a Raiz e o Gerenciador de Pacotes + +Localize os arquivos que definem a estratégia de monorepo: + +```bash +# Identificar o gerenciador e workspace config +ls -la package.json pnpm-workspace.yaml lerna.json turbo.json nx.json tsconfig.base.json 2>/dev/null +``` + +Elementos a extrair: + +- **Gerenciador**: `pnpm` (workspaces em `pnpm-workspace.yaml`), `npm/yarn` (workspaces em `package.json`), ou `nx`/`turbo` +- **Pacotes compartilhados**: diretórios listados em `packages:` ou `workspaces:` +- **Apps/serviços**: diretórios de aplicações deployáveis +- **TSConfig base**: herança de configuração TypeScript entre pacotes + +--- + +## PASSO 2 — Mapear a Árvore de Pacotes + +```bash +# Listar todos os pacotes do workspace com nomes e caminhos +# pnpm +pnpm ls --depth -1 -r --json 2>/dev/null | jq '.[].name' + +# Alternativa genérica: encontrar todos os package.json +fd package.json --max-depth 3 --type f --exec sh -c 'echo "$(dirname {}): $(jq -r .name {})"' +``` + +Organizar os pacotes em categorias: + +| Categoria | Padrão de nome | Exemplo | +|-----------|---------------|---------| +| **Libs compartilhadas** | `@org/common`, `*-comuns`, `*-shared` | Tipos, utils, schemas | +| **Backend** | `*-back`, `*-api`, `*-server` | Serviços Node/Express/Fastify | +| **Frontend** | `*-front`, `*-web`, `*-app` | Apps Vue/React/Angular | +| **Ferramentas** | `*-cli`, `*-scripts`, `*-tools` | Scripts de build, migrations | +| **Configs** | `*-config`, `*-eslint-config` | Configs compartilhadas | + +--- + +## PASSO 3 — Mapear Dependências Internas + +Identificar o grafo de dependências entre pacotes internos: + +```bash +# Para cada package.json, listar deps internas (que apontam para workspace:) +rg '"workspace:' --include='package.json' -l | while read f; do + echo "=== $(jq -r .name "$f") ===" + jq -r '.dependencies // {} | to_entries[] | select(.value | startswith("workspace:")) | .key' "$f" + jq -r '.devDependencies // {} | to_entries[] | select(.value | startswith("workspace:")) | .key' "$f" +done +``` + +Anotar: + +- Quais pacotes são **folha** (não dependem de outros internos) +- Quais são **raiz** (ninguém depende deles — geralmente apps) +- Quais são **núcleo** (muitos dependem deles — geralmente libs compartilhadas) + +--- + +## PASSO 4 — Mapear Arquitetura de Cada Pacote + +Para cada pacote relevante, identificar a estrutura interna: + +```bash +# Visão geral rápida (2 níveis de profundidade) +eza --tree --level=2 --icons --group-directories-first /src/ +# ou +tree -L 2 -I node_modules /src/ +``` + +Padrões comuns a procurar: + +| Diretório | Responsabilidade típica | +|-----------|----------------------| +| `src/routes/` ou `src/api/` | Endpoints/rotas HTTP | +| `src/services/` | Lógica de negócio | +| `src/models/` ou `src/entities/` | Modelos de dados | +| `src/utils/` ou `src/helpers/` | Funções utilitárias | +| `src/types/` ou `src/typings/` | Definições de tipos TS | +| `src/schemas/` | Schemas de validação (Zod, Joi) | +| `src/migrations/` | Migrações de banco | +| `src/components/` | Componentes de UI (frontend) | +| `src/composables/` ou `src/hooks/` | Lógica reutilizável (Vue/React) | +| `src/stores/` | Gerenciamento de estado | + +--- + +## PASSO 5 — Identificar Pontos de Entrada e Exportações + +```bash +# Encontrar exports públicos de cada pacote +rg "export " --include='index.ts' --include='index.tsx' -l + +# Encontrar entry points no package.json +fd package.json --max-depth 3 --type f --exec sh -c 'echo "$(jq -r .name {}):" && jq "{main, module, types, exports}" {}' +``` + +--- + +## PASSO 6 — Documentar o Mapa + +Produzir um resumo estruturado com: + +```markdown +# Mapa do Monorepo: + +## Gerenciador: pnpm | npm | yarn +## Build System: tsc | turbo | nx + +## Pacotes + +### Libs Compartilhadas +- `@org/types` → tipos compartilhados (depende de: nenhum) +- `@org/utils` → funções utilitárias (depende de: @org/types) + +### Aplicações +- `@org/api` → backend Express (depende de: @org/types, @org/utils) +- `@org/web` → frontend Vue (depende de: @org/types) + +## Fluxo de dados +Descrever como os dados fluem entre pacotes. + +## Scripts importantes +- `pnpm build` → Build de todos os pacotes +- `pnpm dev` → Inicia dev server +- `pnpm test` → Roda testes +``` + +--- + +## Checklist Final + +- [ ] O gerenciador de pacotes e workspace strategy estão identificados? +- [ ] Todos os pacotes foram categorizados (lib/app/tool)? +- [ ] O grafo de dependências internas foi mapeado? +- [ ] Os pontos de entrada de cada pacote estão claros? +- [ ] A arquitetura interna dos pacotes principais foi documentada? +- [ ] Scripts de build/dev/test foram identificados? + +## Referências + +- Rules: `.agent/rules/typescript-sem-any.global.md` +- Workflow: `.agent/workflows/documentar-codigo.global.md` diff --git a/.agent/tools.md b/.agent/tools.md new file mode 100644 index 0000000..caf834e --- /dev/null +++ b/.agent/tools.md @@ -0,0 +1,116 @@ +# Ferramentas Recomendadas para Otimização de IAs no Desenvolvimento + +Este documento lista ferramentas de linha de comando (CLI) e utilitários que otimizam significativamente o trabalho e a integração de Agentes de IA durante o processo de desenvolvimento. Todas as ferramentas listadas possuem suporte nativo para **Linux** e **macOS**. + +## 1. Busca e Navegação de Código + +### ripgrep (`rg`) +- **Descrição:** Uma ferramenta de busca orientada a linhas que busca recursivamente no diretório atual por uma expressão regular. +- **Por que ajuda as IAs:** É extremamente rápida para encontrar referências de código, funções e variáveis em repositórios grandes. Ajuda as IAs a varrer bases de código rapidamente sem precisar ler todos os arquivos. +- **Instalação:** + - **Mac:** `brew install ripgrep` + - **Linux (Ubuntu/Debian):** `sudo apt-get install ripgrep` + +### fd +- **Descrição:** Uma alternativa simples, rápida e amigável ao comando `find`. +- **Por que ajuda as IAs:** Permite que as IAs listem a estrutura de arquivos e localizem caminhos específicos com uma sintaxe muito mais amigável e saída mais rápida e limpa que o `find` tradicional, respeitando o `.gitignore` nativamente. +- **Instalação:** + - **Mac:** `brew install fd` + - **Linux (Ubuntu/Debian):** `sudo apt-get install fd-find` + +### ast-grep (`sg`) +- **Descrição:** Uma ferramenta de busca e substituição de código baseada em Árvore de Sintaxe Abstrata (AST). +- **Por que ajuda as IAs:** Diferente do regex padrão, permite que a IA faça buscas estruturais e refatorações complexas compreendendo a semântica da linguagem. +- **Instalação:** + - **Mac/Linux:** `npm install -g @ast-grep/cli` ou `brew install ast-grep` + +## 2. Processamento de Dados + +### jq +- **Descrição:** Um processador JSON de linha de comando leve e flexível. +- **Por que ajuda as IAs:** Sistemas baseados em agentes interagem frequentemente por payloads JSON e chamadas de API. O `jq` é a ferramenta perfeita para que a IA filtre, extraia e transforme grandes payloads de dados diretamente no terminal. +- **Instalação:** + - **Mac:** `brew install jq` + - **Linux (Ubuntu/Debian):** `sudo apt-get install jq` + +### yq +- **Descrição:** Uma extensão leve e portável do `jq` voltada para o processamento de arquivos YAML, JSON e XML. +- **Por que ajuda as IAs:** Útil para a IA inspecionar, modificar e gerar configurações como `docker-compose.yml`, esquemas de CI/CD, e manifestos Kubernetes. +- **Instalação:** + - **Mac:** `brew install yq` + - **Linux:** O binário é baixado direto da distribuição oficial no Github ou via snap. + +## 3. Qualidade de Código e Formatação + +### Biome +- **Descrição:** Ferramenta All-in-One super rápida para formatação e linting de projetos Web (JavaScript, TypeScript, JSX, JSON). +- **Por que ajuda as IAs:** Como exigido pelos padrões do projeto, garante que o código escrito pela IA passe pela validação, sendo auto-focado e sem configurações complexas (`biome check --write`). +- **Instalação:** + - **Mac/Linux:** `npm install -g @biomejs/biome` ou gerenciamento local (`pnpm add -D @biomejs/biome`). + +### ShellCheck +- **Descrição:** Ferramenta de análise estática e linting projetada especificamente para scripts de shell (bash/sh). +- **Por que ajuda as IAs:** Assegura que scripts bash gerados por IAs (seja para deploy ou testes de automação de fluxo) sigam as melhores práticas e não tenham comandos perigosos implícitos. +- **Instalação:** + - **Mac:** `brew install shellcheck` + - **Linux (Ubuntu/Debian):** `sudo apt-get install shellcheck` + +## 4. Visualização e Visualização de Texto + +### bat +- **Descrição:** Um clone do `cat` com suporte nativo a syntax highlighting (destaque de sintaxe) e integração com o Git. +- **Por que ajuda as IAs:** Ao extrair ou ler recortes de arquivos e logs, o conteúdo é formatado de maneira que facilita eventuais inspeções humanas e recortes por linhas (`bat -r :`). +- **Instalação:** + - **Mac:** `brew install bat` + - **Linux (Ubuntu/Debian):** `sudo apt-get install bat` + +### tree / eza +- **Descrição:** Utilitários para listar o conteúdo de diretórios. O `eza` é um substituto moderno para o `ls` com suporte de árvore. +- **Por que ajuda as IAs:** Permitir que agentes mapeiem mentalmente a árvore de projeto de forma clara. Essencial para IAs auto-localizarem módulos arquiteturais. +- **Instalação:** + - **Mac:** `brew install eza tree` + - **Linux (Ubuntu/Debian):** `sudo apt-get install tree eza` + +## 5. Integração com APIs e Git + +### HTTPie / cURL +- **Descrição:** Ferramenta gráfica ou cli para o teste de endpoints, sendo o HTTPie uma versão "humanizada" do cURL. +- **Por que ajuda as IAs:** Auxilia nas IAs de codificação que necessitam conferir os status e formatos dos endpoints REST antes de gerar lógicas assíncronas no front-end ou back-end. +- **Instalação (HTTPie):** + - **Mac:** `brew install httpie` + - **Linux:** `sudo apt-get install httpie` + +### GitHub CLI (`gh`) +- **Descrição:** Interface de linha de comando nativa para interagir com repositórios no GitHub. +- **Por que ajuda as IAs:** Permite à IA criar pull requests, listar issues e manipular webhooks diretamente do terminal como parte de fluxos autonomos de entrega contínua. +- **Instalação:** + - **Mac:** `brew install gh` + - **Linux:** `sudo apt install gh` + +--- + +## 6. Instalação Rápida (Copia e Cola) + +Para instalar as ferramentas base de forma ágil e em lote, copie os blocos de comando abaixo e os rode inteiramente em seu terminal (requer `npm` e `snap` já configurados). + +### Linux (Debian / Ubuntu) + +```bash +# 1. Atualizar e instalar ferramentas base do sistema +sudo apt-get update +sudo apt-get install -y ripgrep fd-find jq shellcheck bat tree httpie gh + +# 2. Instalar ferramentas em Node +npm install -g @ast-grep/cli @biomejs/biome + +# 3. Instalar yq via snap +sudo snap install yq +``` + +### macOS (via Homebrew) + +```bash +# Instalar utilitários essenciais +brew install ripgrep fd ast-grep jq yq shellcheck bat tree eza httpie gh +npm install -g @biomejs/biome +``` diff --git a/.agent/workflows/adicionar-ajuda.global.md b/.agent/workflows/adicionar-ajuda.global.md new file mode 100644 index 0000000..b499da2 --- /dev/null +++ b/.agent/workflows/adicionar-ajuda.global.md @@ -0,0 +1,114 @@ +--- +description: Adicionar ou atualizar botão de ajuda e documentação em telas (Frontend) +--- + +# Workflow: Adicionar Ajuda em Telas + +Este workflow automatiza a inserção do botão de ajuda e a criação do arquivo de documentação correspondente sempre que uma tela é criada ou modificada de forma significativa. + +O objetivo da ajuda é **auxiliar o usuário final a compreender e utilizar corretamente a aplicação**, explicando o funcionamento da tela de forma clara e objetiva. + +## Pré-requisitos + +- O arquivo alvo deve ser um componente de interface (`.tsx` para React ou `.vue` para Vue). +- O projeto deve possuir um componente de ajuda (ex: `BotaoAjuda`, `HelpButton` ou equivalente) disponível para uso na interface. +- Caso não exista, criar um componente reutilizável que exiba o conteúdo do `.ajuda.md` em modal ou drawer. + +## Passos + +### 1. Identificar o Componente Alvo + +Determine qual arquivo representa a tela principal ou modal que está sendo criado ou editado. + +- React → `.tsx` +- Vue → `.vue` + +### 2. Verificar Existência de Ajuda + +Procure por um arquivo de ajuda com o mesmo nome do componente e sufixo indicativo de ajuda (ex.: `.ajuda.md`) localizado na mesma pasta. + +Exemplo: + +``` + +TelaCadastroUsuario.tsx +TelaCadastroUsuario.ajuda.md + +``` + +ou + +``` + +TelaCadastroUsuario.vue +TelaCadastroUsuario.ajuda.md + +```` + +### 3. Criar ou Atualizar o Arquivo Markdown + +Se o arquivo `.ajuda.md` não existir, crie-o utilizando o template básico abaixo. + +O conteúdo deve ser escrito **pensando no usuário final**, explicando de forma simples como utilizar a tela. + +A documentação deve incluir, quando aplicável: + +- **Objetivo da tela** +- **Descrição dos botões** +- **Descrição dos campos de formulário** +- **Regras de preenchimento e validações** +- **Fluxo esperado de uso** +- **Contexto técnico ou legal**, quando relevante para o entendimento da funcionalidade + +Template inicial: + +```markdown +# Ajuda: [Nome da Tela] + +## Objetivo da Tela + +Explique de forma simples para que serve esta tela dentro do sistema. + +## Botões + +- **Salvar**: grava as informações preenchidas. +- **Cancelar**: descarta as alterações realizadas. +- **Excluir**: remove o registro atual do sistema. + +## Campos do Formulário + +- **Nome**: informe o nome completo do responsável. +- **Data de Vistoria**: data em que a vistoria foi realizada. +- **Observações**: campo livre para registrar informações adicionais. + +## Fluxo de Uso + +1. Preencha os campos obrigatórios. +2. Revise as informações inseridas. +3. Clique em **Salvar** para registrar os dados no sistema. + +## Informações Técnicas ou Legais (quando aplicável) + +Explique regras técnicas, normas ou exigências legais relacionadas à funcionalidade da tela. +```` + +### 4. Posicionamento do Botão de Ajuda + +O botão deve ser inserido de forma consistente e não pode interferir na interface da aplicação. + +#### Telas / Páginas + +* O botão deve ficar na **parte inferior esquerda da página**. +* Deve respeitar espaçamento suficiente das bordas da interface. +* **Não pode sobrepor nenhum componente da tela.** +* **Não pode ficar oculto ou sobreposto pela barra de módulos da aplicação.** +* Ajustar `margin`, `padding` ou `z-index` quando necessário para garantir visibilidade adequada. + +#### Modais e Diálogos + +* O botão deve ficar na **parte inferior esquerda do modal**. +* Preferencialmente no rodapé do modal ou em um container equivalente. +* **Não pode sobrepor botões ou ações do modal.** +* Garantir espaçamento adequado para não interferir na usabilidade. + + diff --git a/.agent/workflows/aprimorar-IA.global.md b/.agent/workflows/aprimorar-IA.global.md new file mode 100644 index 0000000..12ca269 --- /dev/null +++ b/.agent/workflows/aprimorar-IA.global.md @@ -0,0 +1,300 @@ +--- +description: Consolidar aprendizados da conversa atual e evoluir continuamente as regras, skills e fluxos da aplicação +--- + +# Workflow: Aprimorar Conhecimento da Aplicação + +## 🎯 Objetivo + +Garantir que **toda decisão tomada** seja imediatamente incorporada ao conhecimento estruturado da aplicação, mantendo o sistema de rules, workflows e skills **coerente, atualizado, não redundante e sem contradições**. + +Este workflow é **obrigatório** e deve ser executado sempre que houver qualquer definição nova. + +--- + +## Artefatos de Conhecimento + +O conhecimento do agente está organizado em **três tipos de artefatos**, cada um com responsabilidade distinta: + +| Artefato | Diretório | Responsabilidade | +|----------|-----------|------------------| +| **Rules** | `.agent/rules/` | Restrições e convenções que o agente **deve respeitar sempre** | +| **Workflows** | `.agent/workflows/` | Processos sequenciais com passos numerados para tarefas bem definidas | +| **Skills** | `.agent/skills/` | Guias operacionais completos e reutilizáveis para tarefas complexas recorrentes | +| **Memória** | `.agent/memoria/` | Registros históricos, contexto do projeto, fatos e decisões importantes | + +### Diferenças entre os artefatos + +| Critério | Rule | Workflow | Skill | Memória | +|----------|------|----------|-------|---------| +| **Formato** | Regra declarativa | Passos sequenciais | Guia prático com templates | Diários, ADRs, documentação de contexto puro | +| **Quando usar** | Aplicada **automaticamente** em todo contexto | Acionado por **comando** (`/workflow`) | Consultado **sob demanda** ao iniciar tarefa complexa | Consultado **para restaurar contexto** e entender escopo | +| **Exemplos** | "Nunca usar `any`" | "/migracao_banco" | "Criar função api2 end-to-end" | "ADR de transição para Nuxt 4", "Dicionário de dados" | +| **Escopo** | Restrição transversal | Processo pontual | Padrão operacional completo | Registro histórico e base factual | + +### Regra de escolha + +- Se é uma **restrição** que vale sempre → **Rule** +- Se é um **processo com etapas** que o usuário aciona → **Workflow** +- Se é um **guia operacional** com templates e checklist para tarefas complexas → **Skill** +- Se o conteúdo serve como **referência cruzada** durante tarefas → **Skill** +- Se é um **registro de estado, decisão técnica importante ou compreensão do domínio temporal** → **Memória** + +--- + +## 1️⃣ Análise do Contexto Atual (Obrigatória) + +É obrigatório: + +- Revisar integralmente a conversa atual. +- Identificar: + - Regras de negócio novas ou alteradas. + - Padrões técnicos definidos. + - Convenções estabelecidas. + - Decisões arquiteturais. + - Ajustes de comportamento do sistema ou do agente. + +Para cada item identificado, classificar obrigatoriamente: + +- Já existe artefato correspondente (rule, workflow ou skill) → **ATUALIZAR** +- Existe parcialmente → **REFATORAR** +- Não existe → **CRIAR** +- Impacta múltiplas áreas → **PROPAGAR** + +--- + +## 2️⃣ Atualização das Rules (Obrigatória) + +### Regras inegociáveis: + +- Toda nova regra **DEVE** ser registrada. +- Nenhuma regra pode existir apenas na conversa. +- É **PROIBIDO** deixar conhecimento implícito. + +### Estrutura obrigatória: + +- Um arquivo = um único assunto. +- Nome claro em `snake_case`. +- Limite máximo: ~10.000 caracteres. + +### É obrigatório: + +- Evitar duplicação de conteúdo. +- Atualizar regras antigas quando substituídas. +- Remover ou ajustar regras conflitantes. +- Garantir consistência semântica entre arquivos. + +### Estrutura obrigatória da rule: + +```md +# Nome da Regra + +## Contexto +Quando se aplica. + +## Regra +Definição objetiva e obrigatória. + +## Exemplos +✅ Correto +❌ Incorreto + +## Impacto +Problema que evita. +``` + +--- + +## 3️⃣ Atualização dos Workflows (Obrigatória quando aplicável) + +Sempre que houver processo repetível identificado: + +* Criar ou atualizar workflow em `.agent/workflows/`. + +### Obrigatório: + +* Frontmatter com `description`. +* Passos numerados. +* Clareza operacional (sem ambiguidade). +* Comandos executáveis quando possível. +* Uso de `// turbo` para comandos seguros. + +--- + +## 4️⃣ Atualização das Skills (Obrigatória quando aplicável) + +Sempre que um padrão operacional complexo for definido, refinado ou corrigido: + +* Criar ou atualizar skill em `.agent/skills//SKILL.md`. + +### Quando atualizar uma skill: + +- Nova regra afeta o padrão operacional descrito na skill (ex: nova convenção de tipagem afeta `criar-funcao-api2`) +- Novo workflow introduz etapas que complementam ou substituem uma skill +- Um erro recorrente revela que a skill está incompleta ou desatualizada +- Uma decisão arquitetural muda o fluxo descrito na skill + +### Estrutura obrigatória da skill: + +```md +--- +name: nome-da-skill +description: > + Descrição em uma linha do que a skill faz. +--- + +# Skill: Nome Descritivo + +Parágrafo de contexto explicando quando usar. + +## PASSO N — Título do Passo +Instruções com código, regras e padrões. + +## Checklist Final +- [ ] Item de verificação + +## Referências +- Regras: `.agent/rules/xxx.md` +- Workflow: `.agent/workflows/xxx.md` +``` + +### Regras de organização: + +- Uma skill por diretório: `.agent/skills//SKILL.md` +- Skills globais são identificadas pelo campo `scope: global` no frontmatter +- Nome do diretório em `kebab-case` +- A skill **não deve duplicar** conteúdo de rules — referencia-as via seção `Referências` +- A skill **pode consolidar** conhecimento de múltiplas rules e workflows em um guia unificado +- Templates de código devem estar na própria skill (não em arquivos separados, a menos que sejam muito grandes) + +### Skills globais (distribuídas via `atualizar-agente.global.sh`): + +| Skill | Escopo | +|-------|--------| +| `mapear-codigo-fonte` | Mapear e navegar a estrutura de qualquer monorepo TS | +| `diagnosticar-erros-build` | Diagnosticar erros de build em cascata entre pacotes | +| `documentar-decisao-tecnica` | Registrar decisões técnicas como ADRs | + +### Skills de projeto (criadas localmente em cada monorepo): + +Cada projeto pode criar skills adicionais específicas em `.agent/skills//SKILL.md`. +Essas skills focam nos padrões e domínios exclusivos daquele projeto. + +Exemplos de skills de projeto: + +| Skill | Escopo | +|-------|--------| +| `criar-funcao-api` | Função de API end-to-end (comuns → back → front) | +| `criar-componente-vue3` | Componente Vue 3 com padrões obrigatórios do projeto | +| `consultar-banco-knex` | Queries Knex com padrões de leitura/escrita/JSONB | +| `implementar-permissoes` | Controle de acesso específico do domínio | + +--- + +## 5️⃣ Atualização da Memória (Obrigatória quando aplicável) + +Sempre que decisões críticas sobre a arquitetura da aplicação ou o contexto do domínio precisarem ser arquivadas temporária ou permanentemente de maneira descritiva (e não diretamente injetável em código ou regra de lint): + +* Registre o novo documento no formato adequado mantendo a pasta limpa em `.agent/memoria/`. +* Exemplo: Manter diário de pendências (`diario_pendencias_modulo_x.md`) ou Arquivo de Registro de Decisão Arquitetural (`adr-001-migracao-nuxt-4.md`). +* Atenção! Tudo que puder ser abstraído para um formato técnico estrito/guiado, deve virar **Skill** ou **Rule**. Use a Memória apenas como extensão de base factual. + +--- + +## 6️⃣ Revisão Global de TODO o Sistema de Conhecimento (OBRIGATÓRIA E INEGOCIÁVEL) + +Esta é a etapa mais crítica. + +Sempre que qualquer alteração ocorrer, é **OBRIGATÓRIO revisar TODO o sistema de conhecimento**, incluindo: + +* **TODOS os arquivos em `.agent/rules/`** +* **TODOS os arquivos em `.agent/workflows/`** +* **TODOS os arquivos em `.agent/skills/`** +* **TODOS os arquivos em `.agent/memoria/`** + +### É PROIBIDO: + +* Atualizar apenas um arquivo isolado. +* Assumir que o impacto é local. +* Ignorar arquivos existentes. +* Criar artefatos sem validar o restante do sistema. + +--- + +### A revisão DEVE obrigatoriamente verificar: + +#### Consistência + +* Não existem regras conflitantes. +* Não existem interpretações ambíguas. +* Skills refletem fielmente as rules e workflows atuais. + +#### Atualização + +* Nenhuma rule está desatualizada. +* Nenhum workflow usa regra antiga. +* Nenhuma skill contém padrões obsoletos. + +#### Não duplicação + +* Não existem regras repetidas em arquivos diferentes. +* Conteúdos redundantes foram consolidados. +* Skills referenciam rules (não copiam o conteúdo). + +#### Propagação de impacto + +* Toda mudança foi refletida em: + + * Rules relacionadas + * Workflows relacionados + * Skills relacionadas + * Memória afetada pela mudança (ADRs, Diários) + +#### Coerência estrutural + +* Nomes de arquivos continuam válidos. +* Assuntos estão bem separados. +* Arquivos grandes foram divididos. +* Skills estão organizadas em diretórios individuais. + +--- + +### Regras obrigatórias desta etapa: + +* **Toda alteração é considerada global até prova contrária.** +* **Se uma rule muda, todos os workflows e skills relacionados DEVEM ser revisados.** +* **Se um workflow muda, todas as rules e skills relacionadas DEVEM ser revisadas.** +* **Se uma skill muda, as rules e workflows que ela referencia DEVEM ser verificados.** +* **Atualizações de contexto devem garantir que toda a memória conflitante seja suprimida ou tagueada.** +* **Nenhuma inconsistência pode permanecer.** +* **Nenhuma duplicação é aceitável.** + +--- + +## 7️⃣ Verificação Final (Checklist obrigatório) + +Só é permitido encerrar se TODOS forem verdadeiros: + +* [ ] Todas as rules foram revisadas +* [ ] Todos os workflows foram revisados +* [ ] Todas as skills foram revisadas +* [ ] Não existe conflito entre artefatos +* [ ] Não existe duplicação de conteúdo +* [ ] Nenhuma regra ficou implícita +* [ ] Todas as mudanças foram propagadas (rules ↔ workflows ↔ skills) +* [ ] Estrutura está organizada por assunto +* [ ] Nenhum arquivo excede ~10k caracteres +* [ ] Workflows refletem fielmente as rules atuais +* [ ] Skills referenciam (não duplicam) rules +* [ ] O sistema está consistente como um todo + +--- + +## ⚠️ Regra Suprema + +> Se existir qualquer dúvida, conflito, duplicação ou inconsistência, +> o trabalho é considerado **INCOMPLETO**. + +Não existe atualização parcial. +Não existe impacto local. +Não existe exceção. diff --git a/.agent/workflows/atualizar-agente.global.md b/.agent/workflows/atualizar-agente.global.md new file mode 100644 index 0000000..34e82b8 --- /dev/null +++ b/.agent/workflows/atualizar-agente.global.md @@ -0,0 +1,42 @@ +--- +description: Aplica atualizações globais para o agente de IA +--- + +# Workflow: Atualizar Agente Global + +## Objetivo + +Baixar e aplicar a versão mais recente das rules, workflows e tools globais a partir do servidor central (`paiol.idz.one`). + +## Passos + +### 1. Baixar o script de atualização (se ainda não existir) + +```bash +curl -fL# "https://paiol.idz.one/desenvolvimento/agent-ia/atualizar-agente-global.sh" -o .agent/atualizar-agente.global.sh +chmod +x .agent/atualizar-agente.global.sh +``` + +### 2. Executar o script + +// turbo + +```bash +sh .agent/atualizar-agente.global.sh +``` + +O script possui auto-atualização: na primeira execução, ele baixa sua própria versão mais recente e re-executa automaticamente. + +### 3. Verificar resultado + +Confirmar que os arquivos foram atualizados sem duplicações: + +```bash +find .agent/ -name "*.md" -o -name "*.sh" | sort +``` + +Resultado esperado: todos os arquivos `.md` devem ter o sufixo `.global` (exceto `tools.md`). + +### 4. Revisar mudanças (quando aplicável) + +Se houve alterações significativas nas rules ou workflows, executar `/aprimorar-IA` para validar consistência do sistema de conhecimento. \ No newline at end of file diff --git a/.agent/workflows/comercial.global.md b/.agent/workflows/comercial.global.md new file mode 100644 index 0000000..9d50012 --- /dev/null +++ b/.agent/workflows/comercial.global.md @@ -0,0 +1,140 @@ +--- +description: Criar uma descrição comercial das funcionalidades e do sistema +--- + +# Workflow: Criar Descrição Comercial + +Este workflow gera uma descrição comercial de funcionalidades ou do sistema completo, escrita na pasta `./COMERCIAL/`. Cada módulo ou funcionalidade gera um arquivo separado com o padrão `./COMERCIAL/.md`. + +É **OBRIGATÓRIO** seguir a regra global de Escrita Natural (`escrita-natural.global.md`) em toda produção textual deste workflow. + +--- + +## Passos + +### 1. Identificar as funcionalidades solicitadas + +Perguntar ao usuário quais módulos ou funcionalidades devem ser descritos. Se o pedido for genérico ("descreva o sistema"), listar os módulos principais do projeto e confirmar o escopo antes de redigir. + +### 2. Levantar contexto real de cada funcionalidade + +Antes de escrever, ler o código-fonte e os componentes relacionados para entender: + +- Qual **problema real** a funcionalidade resolve? +- Quem são os **usuários diretos**? (consultor ambiental, gestor ambiental, gestor público, técnico de campo) +- Qual é o **fluxo de uso** no dia a dia? +- Quais **dificuldades operacionais** existiam antes da solução? + +### 3. Redigir a descrição comercial + +Para cada funcionalidade, produzir **dois blocos de texto** no arquivo `./COMERCIAL/.md`: + +#### Bloco A — Descrição Resumida (2 a 4 linhas) + +Texto curto que pode ser usado em páginas de divulgação, apresentações rápidas ou materiais institucionais. + +Estrutura obrigatória: +- **Linha 1**: o problema/dificuldade que existe sem a solução +- **Linha 2-3**: como funciona na prática (ação do usuário, sem termos técnicos de TI) +- **Linha 4**: o impacto concreto (ganho mensurável) + +*Exemplo:* +> Sem controle digital, registros de campo ficam em cadernos e planilhas isoladas — sujeitos a perda e erro de transcrição. +> Com a solução, o técnico registra os dados direto no celular, mesmo sem internet, com validação automática. +> Isso elimina falhas de preenchimento e garante rastreabilidade completa para auditorias. + +#### Bloco B — Descrição Detalhada + +Texto mais completo (5 a 15 linhas) que aprofunda o funcionamento e os diferenciais. Deve incluir: + +- Cenário de uso realista (quem faz o quê, quando e onde) +- Recursos técnicos relevantes explicados de forma acessível (offline, sincronização, alertas automáticos) +- Benefícios encadeados (causa → efeito) +- **Implicações legais ou normativas** (quando aplicável): se a funcionalidade tem relação com legislação, normas regulatórias ou resoluções de órgãos competentes, **citar expressamente** a norma ou obrigação legal. Isso fortalece o argumento comercial e demonstra que a solução atende requisitos reais de conformidade. + +> **Regra de siglas**: toda sigla usada pela primeira vez no texto deve vir acompanhada do nome por extenso. Exemplo: "ANA (Agência Nacional de Águas e Saneamento Básico)". Nas ocorrências seguintes, pode-se usar apenas a sigla. + +### 4. Revisar contra o checklist de qualidade + +Antes de entregar, validar **cada bloco** contra as restrições abaixo: + +- [ ] O texto do Resumo começa pelo problema, não pela funcionalidade? +- [ ] Há pelo menos um cenário de uso prático (quem, onde, como)? +- [ ] Os parágrafos são curtos (2 a 4 linhas) com uma ideia principal cada? +- [ ] A linguagem soa como alguém que vive o problema, não como manual de software? +- [ ] Está **LIVRE** de jargões de TI e termos em inglês sem tradução? +- [ ] Toda **sigla** está acompanhada do nome por extenso na primeira ocorrência? +- [ ] Está **LIVRE** de termos vazios ("Inovador", "Eficiente", "Solução completa", "O presente projeto")? +- [ ] Está **LIVRE** do padrão repetitivo "O sistema permite / A funcionalidade permite / A ferramenta permite"? +- [ ] As frases variam de estrutura? (alternando "Na prática...", "Com isso...", "Isso reduz...", "Como resultado...") +- [ ] Quando há implicação legal ou normativa, a norma/lei/resolução está **citada e destacada** no texto? +- [ ] O texto é compreensível pelo **público-alvo do produto** sem conhecimento de TI? + +--- + +## Público-Alvo + +Todo texto produzido por este workflow deve ser compreensível pelo **público-alvo do produto**. O agente deve identificar quem são os usuários e decisores com base no contexto do projeto. + +Regra geral: nenhum dos perfis-alvo tem obrigação de conhecer termos de tecnologia. A linguagem deve ser **acessível, direta e sem jargões de TI**. + +--- + +## Regras de Tom e Vocabulário + +| ✅ Usar | ❌ Evitar | +|---|---| +| "Na prática, o técnico..." | "O sistema permite..." | +| "Com isso, a equipe..." | "A solução inovadora..." | +| "Isso elimina..." | "O presente projeto visa..." | +| "Como resultado..." | "Dessa forma..." | +| "Sem a solução, o gestor precisa..." | "A ferramenta oferece..." | +| "Entregamos controle sobre..." | "Nossa solução oferece..." | +| "O gestor ganha visibilidade de..." | "A plataforma disponibiliza..." | +| "página de divulgação" | "landing page" | +| "frase de abertura" | "hook" | +| "chamada para ação" | "CTA" (isolado, sem explicação) | +| "texto persuasivo" | "copywriting" | +| "linha do tempo, publicações" | "feed" | + +**Tom geral**: profissional, direto, sem burocracia institucional. O texto deve parecer escrito por quem constrói a solução e entende a operação do dia a dia do cliente. + +--- + +## Formato de Saída + +Cada módulo ou funcionalidade deve gerar **um arquivo próprio** dentro da pasta `./COMERCIAL/`. + +**Regra de nomeação do arquivo:** +- Usar o nome do módulo em **kebab-case** (minúsculo, separado por hifens) + +O arquivo `./COMERCIAL/.md` deve seguir esta estrutura: + +```markdown +# [Nome do Módulo] + +## [Nome da Sub-funcionalidade] + +### Resumo + +[Bloco A — 2 a 4 linhas: problema → solução → impacto] + +### Detalhamento + +[Bloco B — 5 a 15 linhas: cenário real + técnico acessível + legal] + +--- + +## [Próxima Sub-funcionalidade] + +... +``` + +--- + +## Referências + +- Regra global: `.agent/rules/escrita-natural.global.md` (padrão obrigatório de redação) +- Workflow: `.agent/workflows/orcamento.global.md` (texto para documentos de orçamento e proposta — apresentação + lista de funcionalidades) +- Workflow: `.agent/workflows/marketing.global.md` (peças de marketing digital — LinkedIn, Instagram, WhatsApp, E-mail) +- Workflow: `.agent/workflows/documentar-codigo.global.md` (para documentação técnica, não comercial) diff --git a/.agent/workflows/criar-fluxograma.global.md b/.agent/workflows/criar-fluxograma.global.md new file mode 100644 index 0000000..5bd5a05 --- /dev/null +++ b/.agent/workflows/criar-fluxograma.global.md @@ -0,0 +1,185 @@ +--- +description: Criar ou atualizar uma página de fluxograma interativo em qualquer sistema +--- + +# Workflow: Criar Fluxograma de Decisões + +Este workflow cria uma **página interativa de fluxograma** em qualquer aplicação web, usando Mermaid.js instalado como dependência do projeto. + +## Princípio + +O fluxograma é um artefato vivo. Ele documenta visualmente: +- Os **pontos de entrada** do processo +- As **decisões** tomadas em cada etapa +- Os **registros gerados** (banco, fila, log, e-mail, etc.) +- As **proteções e regras** que governam os estados + +Deve ser mantido sempre sincronizado com o código real. + +--- + +## Passos + +### 1. Levantar o processo a ser documentado + +Ler os arquivos de código relevantes para entender: + +- Quais são os **pontos de entrada**? (funções de API, eventos, webhooks, ações do usuário) +- Quais são as **decisões**? (condições `if/else`, guards, validações) +- Quais são os **efeitos colaterais**? (gravações em banco, envios de e-mail, filas, logs) +- Quais são os **estados possíveis**? (status, notas, flags, etapas) +- Existe **hierarquia ou prioridade** entre estados? + +### 2. Organizar os diagramas + +Dividir o processo em **um diagrama por ponto de entrada**. + +Cada diagrama deve mostrar: +- Todos os caminhos possíveis, inclusive early returns e casos de erro +- Registros gerados com ícone indicativo (ex: 🗄️ banco, 📧 e-mail, 🚫 bloqueio) +- Decisões claramente separadas por ramificações + +Definir a orientação de cada diagrama: +- `flowchart TD` → vertical (melhor para fluxos sequenciais com poucas ramificações) +- `flowchart LR` → horizontal (melhor para pipelines e fluxos com muitas etapas em linha) + +### 3. Instalar o Mermaid + +Instalar como dependência do projeto antes de qualquer implementação: + +```bash +# npm +npm install mermaid + +# pnpm +pnpm add mermaid +``` + +### 4. Criar a página com Mermaid + +Adaptar à plataforma do projeto (Vue, React, HTML puro, etc.), mas garantir: + +#### Importação + +```js +import mermaid from 'mermaid'; +``` + +#### Inicialização com tema institucional + +Adaptar as cores para a identidade visual do projeto: + +```js +mermaid.initialize({ + startOnLoad: false, + theme: 'base', + themeVariables: { + primaryColor: '#4F46E5', // cor primária do projeto + primaryTextColor: '#1F2933', + primaryBorderColor: '#3730A3', // variação mais escura da primária + lineColor: '#6B7280', + secondaryColor: '#E0E7FF', // variação clara da primária + tertiaryColor: '#F3F4F6', + fontFamily: "'Inter', 'Segoe UI', sans-serif", + fontSize: '13px', + }, +}); +``` + +#### Renderização de cada diagrama + +```js +// Para cada diagrama: +const { svg } = await mermaid.render(`id-unico-${idx}`, codigoMermaid); +container.innerHTML = svg; + +// Tornar o SVG responsivo: +const svgEl = container.querySelector('svg'); +if (svgEl) { + svgEl.style.width = '100%'; + svgEl.style.height = 'auto'; + svgEl.removeAttribute('width'); +} +``` + +### 5. Registrar a rota e adicionar acesso + +- Registrar a rota `/fluxograma` (ou equivalente) no sistema de rotas do projeto +- Adicionar botão de navegação na tela de administração ou dashboard + +--- + +## Padrão de sintaxe Mermaid + +### Tipos de nó por semântica + +| Situação | Sintaxe | Exemplo | +|---|---|---| +| Início / Fim | `A(["Texto"])` | `A(["Início"])` | +| Decisão | `B{"Condição?"}` | `B{"Nota é ativa?"}` | +| Ação / Processo | `C["Texto"]` | `C["Consulta banco"]` | +| Registro em banco | `D[("🗄️ Grava dado")]` | `D[("🗄️ Grava 203_neutro")]` | +| E-mail / notificação | `E["📧 Envia e-mail"]` | `E["📧 Agenda na fila"]` | +| Bloqueio / guard | `F["🚫 Retorna sem ação"]` | `F["🚫 Nota ativa, ignora"]` | +| Proteção / regra | `G["🛡️ Regra aplicada"]` | `G["🛡️ SQL CASE protege"]` | + +### Regras para evitar erros de parsing + +``` +✅ Nós com parênteses → usar aspas: + A["Texto (com parênteses)"] + +✅ Labels de arestas com texto especial → usar aspas: + A -- "Label aqui" --> B + +✅ Emojis → sempre dentro de aspas: + A["🗄️ Grava registro"] + +❌ Não usar < > dentro de labels sem aspas +❌ Não usar & diretamente — usar texto alternativo +``` + +### Cores de destaque para nós + +``` +style NomeNo fill:#22C55E,color:#fff → verde sucesso +style NomeNo fill:#DC2626,color:#fff → vermelho erro +style NomeNo fill:#F59E0B,color:#000 → amarelo alerta +style NomeNo fill:#4F46E5,color:#fff → cor institucional (adaptar ao projeto) +style NomeNo fill:#6B7280,color:#fff → cinza neutro +``` + +--- + +## Validação antes de finalizar + +- [ ] Cada ponto de entrada tem seu próprio diagrama? +- [ ] Todos os registros gerados estão mapeados? +- [ ] Os caminhos de bloqueio e early return estão visíveis? +- [ ] A hierarquia de estados (se existir) está documentada? +- [ ] A data de atualização está registrada na página? +- [ ] A sintaxe Mermaid está correta (sem erros de parsing)? +- [ ] O SVG está responsivo (largura 100%, sem width fixo)? + +--- + +## Manutenção + +Sempre que o processo mudar: + +1. Identificar qual diagrama é afetado +2. Atualizar o código Mermaid correspondente +3. Atualizar a data de atualização na página +4. Se houver novo estado ou proteção, documentar na legenda + +--- + +## Referência de implementação + +Se o projeto já possuir um fluxograma implementado, usar como referência. +Caso contrário, seguir os passos acima para criar a primeira implementação. + +## Referências + +- Workflow: `.agent/workflows/documentar-codigo.global.md` +- Skill: `.agent/skills/documentar-decisao-tecnica/SKILL.md` (para decisões que geram fluxogramas) diff --git a/.agent/workflows/documentar-codigo.global.md b/.agent/workflows/documentar-codigo.global.md new file mode 100644 index 0000000..1f53eb5 --- /dev/null +++ b/.agent/workflows/documentar-codigo.global.md @@ -0,0 +1,58 @@ +--- +description: Workflow para criação e padronização de documentação em código (JSDoc, comentários e tipagem) +--- + +# Workflow: Documentar Código + +## 🎯 Objetivo +Estabelecer um padrão global e unificado para a redação de documentação em código (comentários, `JSDoc` e explicações arquiteturais) em todas as aplicações, garantindo clareza sem prolixidade e respeitando a política de tipagem explícita. + +--- + +## 1️⃣ Princípios Básicos de Documentação +- **Por que, não o Quê**: Documente o raciocínio por trás da decisão arquitetural ou a regra de negócio que forçou a estratégia, não o mecanismo óbvio que o TypeScript nativamente expressaria. +- **Nomenclatura Limpa**: Confie na auto-documentação de nomes de variáveis expressivos baseados no domínio antes de escrever um comentário de texto livre. + +## 2️⃣ Funções Compartilhadas e JSDoc (Obrigatória) +Toda função central ou de uso compartilhado, independente da aplicação (frontend, backend, mobile ou bibliotecas comuns), deve portar cabeçalho em `JSDoc`. + +### Padrão para JSDoc +```typescript +/** + * Busca os detalhes de uma entidade baseando-se no ID fornecido e calcula privilégios aplicáveis. + * Não utilizar em fluxos de processamento em lote para evitar sobrecarga de requisições ou banco. + * + * @param tenantId - Identificador único do cliente/tenant no sistema + * @param entityId - ID exclusivo identificando o registro na base de dados + * @returns Retorna o objeto consolidado com dados ou `null` caso não seja encontrado + */ +export const obterDetalhesEntidade = async (tenantId: string, entityId: string) => { ... } +``` + +## 3️⃣ Tratamento de Exceções e Casts Temporários +Devido à política `TypeScript sem any`, não utilizamos conversores obscuros imperativamente. +Porém, se uma coerção agressiva (`as unknown as X`) demonstrar-se temporariamente necessária por divergência ou limitação de SDK terceiro, **o comentário justificando a anomalia é obrigatório**. + +```typescript +// Necessário cast duplo pois a biblioteca externa não provê tipagem genérica adequada na versão atual +const dados = payload.raw as unknown as RespostaFormatada +``` + +## 4️⃣ Atribuição de TODOs +Toda refatoração, debito técnico visualizado ou dúvida de negócio deixada aberta em código de longo prazo **não prescreve** e deve ser acompanhada do formato `// TODO`: +- **Tipagem**: `// TODO de tipagem: Criar interface estrita para o retorno da API de listagem (Removendo Partial)` +- **Negócio**: `// TODO de regra: Validar com a equipe de Produto se a nova taxa adicional será inserida para clientes antigos.` + +## 5️⃣ Validação do Fluxo +Sempre ao propor documentação de um arquivo novo ou refatorado, valide via checklist: +* [ ] A documentação está aderente sem estar redundante à tipagem TS? +* [ ] A formatação de parágrafos/espaçamento quebra alguma regra no formatador? +* [ ] A sintaxe suporta autocompletion na sua camada dependente (`@params` estão exatos)? + +--- + +## Referências + +- Rules: `.agent/rules/typescript-sem-any.global.md` (política de tipagem que influencia a documentação) +- Skill: `.agent/skills/documentar-decisao-tecnica/SKILL.md` (para decisões arquiteturais que exigem ADR além de JSDoc) + diff --git a/.agent/workflows/documentar-regras-negocio.global.md b/.agent/workflows/documentar-regras-negocio.global.md new file mode 100644 index 0000000..f836df5 --- /dev/null +++ b/.agent/workflows/documentar-regras-negocio.global.md @@ -0,0 +1,101 @@ +--- +description: Criar ou atualizar o arquivo {modulo}.regras-negocio.md co-localizado com um módulo TypeScript e garantir consistência entre código e documentação +--- + +# Workflow: Documentar Regras de Negócio de um Módulo + +Use este workflow com `/documentar-regras-negocio.global` para criar ou atualizar o arquivo +`{modulo}.regras-negocio.md` de qualquer módulo TypeScript com lógica de negócio não-trivial. + +--- + +[1] Ler o módulo TypeScript completamente + +Identificar e anotar: + +- Nome do arquivo e localização exata +- Funções exportadas e suas responsabilidades +- Todos os `if` que representam critérios de decisão +- Campos lidos e gravados (especialmente JSONB e campos de status) +- Queries de banco: tabelas acessadas, filtros aplicados, joins +- Caminhos alternativos (revisão manual, erros, skips) +- Dependências externas (filas, e-mails, serviços) + +--- + +[2] Verificar se já existe um `.regras-negocio.md` + +```bash +ls $(dirname )/*.regras-negocio.md 2>/dev/null +``` + +- **Existe** → ler e identificar o que está desatualizado → ir para o passo [4] +- **Não existe** → ir para o passo [3] + +--- + +[3] Criar o arquivo `.regras-negocio.md` + +Nomenclatura: `{nome-sem-_inicial}.regras-negocio.md` na mesma pasta do módulo. + +Preencher com o template da skill `documentar-regras-negocio.global`: +- Contexto +- Critérios de Entrada +- Regras de Processamento (numeradas) +- Casos de Revisão Manual +- Estratégia de Saída / Fusão de Campos +- Dependências Externas + +--- + +[4] Adicionar ou verificar a referência no `.ts` + +Garantir que a primeira linha útil do arquivo TypeScript seja: + +```typescript +// Regras de negócio: ver {modulo}.regras-negocio.md +``` + +Se já existia e está correto → sem mudança necessária. + +--- + +[5] Simplificar JSDoc que duplicam as regras + +Percorrer cada função do módulo: + +- JSDoc com lista de regras de negócio → substituir por referência ao `.md` +- Manter apenas `@param` e `@returns` com informação técnica precisa +- Comentários inline (`//`) explicando lógica pontual são aceitos → manter + +--- + +[6] Verificar consistência — código ↔ `.md` + +Para cada regra listada no `.md`: + +- [ ] Existe `if` correspondente no código +- [ ] A ordem de avaliação bate entre `.md` e código +- [ ] Campos com separador de concatenação batem entre `.md` e código +- [ ] `null` como neutro está implementado corretamente (`!= null`) +- [ ] Queries têm `orderBy` quando a posição dos resultados importa + +--- + +[7] Validar tipagem + +// turbo +```bash +cd e-licencie-back && node_modules/.bin/tsc --noEmit +``` + +Zero erros = concluído. + +--- + +[8] Registrar no sistema de conhecimento (se regras novas) + +Se o workflow revelou novos padrões de negócio relevantes ao projeto: + +- Criar ou atualizar ADR em `.agent/memoria/` via skill `documentar-decisao-tecnica` +- Verificar se alguma rule precisa ser atualizada diff --git a/.agent/workflows/marketing.global.md b/.agent/workflows/marketing.global.md new file mode 100644 index 0000000..10f221a --- /dev/null +++ b/.agent/workflows/marketing.global.md @@ -0,0 +1,205 @@ +--- +description: Criar peças de marketing digital para funcionalidades e módulos do sistema +--- + +# Workflow: Criar Peças de Marketing + +Este workflow gera peças de marketing digital prontas para uso em canais como LinkedIn, Instagram, WhatsApp e E-mail. O resultado é salvo na pasta `./COMERCIAL/` junto ao arquivo comercial do módulo correspondente, ou em arquivo separado `./COMERCIAL/-marketing.md`. + +É **OBRIGATÓRIO** seguir a regra global de Escrita Natural (`escrita-natural.global.md`) em toda produção textual deste workflow. + +O agente deve atuar como **especialista em marketing digital voltado para o setor do produto (venda entre empresas)**, aplicando técnicas comprovadas de texto persuasivo e engajamento. + +## Público-Alvo das Peças + +As peças serão lidas pelo **público-alvo do produto**. O agente deve identificar quem são os usuários e decisores com base no contexto do projeto. + +Regra geral: nenhum dos perfis-alvo tem obrigação de conhecer termos de tecnologia. A linguagem deve ser **acessível, direta e sem jargões de TI**. Siglas devem vir acompanhadas do nome por extenso na primeira ocorrência. + +--- + +## Pré-requisitos + +Antes de gerar peças de marketing, o arquivo comercial do módulo (`./COMERCIAL/.md`) já deve existir com os blocos A (Resumo) e B (Detalhamento). Se não existir, aplicar primeiro o workflow `/comercial.global`. + +--- + +## Passos + +### 1. Identificar o módulo e o canal + +Perguntar ao usuário: +- Qual módulo ou funcionalidade será divulgado? +- Quais canais deseja? (LinkedIn, Instagram, WhatsApp, E-mail, ou todos) + +### 2. Ler o contexto comercial + +Ler o arquivo `./COMERCIAL/.md` para extrair: +- O problema e impacto (Bloco A) +- Os cenários de uso e referências legais (Bloco B) + +### 3. Redigir as peças de marketing + +--- + +## Princípios de Engajamento + +1. **Abrir com uma provocação ou dado concreto** — nunca com o nome do produto. A primeira frase deve fazer o leitor parar de rolar as publicações. +2. **Falar a língua do decisor** — usar o vocabulário do público-alvo do produto, não termos de tecnologia. +3. **Criar urgência sem desespero** — mostrar o custo da inação (multa, retrabalho, perda de prazo) sem tom alarmista. +4. **Fechar com uma chamada para ação clara** — sempre direcionar para o próximo passo: demonstração, contato, link ou agendamento. +5. **Adaptar ao canal** — o mesmo conteúdo não funciona igual no LinkedIn, Instagram, WhatsApp e e-mail. Cada peça deve respeitar o formato e tom do canal. + +--- + +## Técnicas Obrigatórias + +| Técnica | Como aplicar | +|---|---| +| **Frase de abertura impactante** | Pergunta retórica, dado alarmante ou afirmação provocativa nas primeiras 10 palavras | +| **Prova social** | Mencionar o tipo de cliente que já usa (prefeituras, indústrias, consultorias), sem inventar números | +| **Contraste antes/depois** | Mostrar o cenário ruim (planilha, papel, multa) ao lado do cenário com a solução | +| **Especificidade** | Trocar "economiza tempo" por "reduz 4 horas semanais de consolidação manual" | +| **Chamada para ação conectada ao problema** | A frase final deve se conectar ao problema apresentado, não ser genérica | + +--- + +## Formatos por Canal + +### LinkedIn (Carrossel ou Post) + +- 3 a 5 parágrafos curtos (1-2 linhas cada) +- Abrir com frase de abertura forte na primeira linha (antes do "ver mais") +- Usar quebras de linha para facilitar a leitura +- Emojis como marcadores (⚠️, ✅, 📊), no máximo 1 por parágrafo +- Fechar com chamada para ação + hashtags relevantes (no máximo 5) + +*Exemplo de LinkedIn:* + +``` +⚠️ Sua equipe ainda controla [processo crítico] em planilha? + +A maioria das operações só descobre o problema +quando o órgão regulador notifica. +Nessa hora, a multa já está lavrada. + +Com [nome do produto], cada registro é feito digitalmente +com cálculo automático. Se o valor ultrapassar +o limite autorizado, um alerta dispara na hora. + +✅ Controle em tempo real +✅ Alertas automáticos de limite +✅ Relatórios prontos para auditoria + +Quer ver funcionando? Fale com a gente. + +#Hashtag1 #Hashtag2 #Hashtag3 +``` + +### Instagram (Stories / Reels / Carrossel) + +- Frases de impacto (no máximo 15 palavras por slide) +- Visual > texto — cada slide deve ter uma ideia única +- Usar contrastes visuais (❌ antes / ✅ depois) +- Chamada para ação no último slide: "Link na bio" ou "Fale com nosso time" + +*Exemplo de Instagram:* + +``` +Slide 1: "Sua operação está em conformidade?" +Slide 2: ❌ "Planilhas manuais. Registros esquecidos. Consolidação no fim do mês." +Slide 3: ⚠️ "[Citação legal relevante]" +Slide 4: ✅ "Registro digital com cálculo automático." +Slide 5: ✅ "Alerta em tempo real quando o limite é atingido." +Slide 6: "Conheça [nome do produto]. Link na bio." +``` + +### WhatsApp (Mensagem de prospecção) + +- No máximo 4 linhas + 1 chamada para ação +- Tom pessoal, sem parecer mensagem em massa +- Mencionar o contexto do destinatário (setor, dificuldade conhecida) + +*Exemplo de WhatsApp:* + +``` +Oi [Nome], tudo bem? + +Vi que vocês trabalham com [contexto do destinatário]. +Queria mostrar como estamos ajudando operações como a de vocês +a [benefício principal da solução]. + +Posso te mandar um vídeo rápido de 2 min mostrando como funciona? +``` + +### E-mail (Prospecção ou Nutrição) + +- Assunto: direto, com gancho de dificuldade real (no máximo 60 caracteres) +- Corpo: 3 parágrafos curtos — problema → solução → chamada para ação +- Evitar formatação visual pesada — preferir texto limpo e direto + +*Exemplo de E-mail:* + +``` +Assunto: [Pergunta sobre dificuldade real do destinatário] + +Olá [Nome], + +[Parágrafo 1: descrever a dificuldade que o destinatário provavelmente enfrenta] + +[Parágrafo 2: como a solução resolve, com dados concretos] + +Se fizer sentido, posso agendar 15 minutos para mostrar como funciona +na prática. Qual o melhor horário para você? + +[Assinatura] +``` + +--- + +## Checklist de Qualidade + +Antes de finalizar qualquer peça, validar: + +- [ ] A primeira frase **provoca, questiona ou surpreende**? +- [ ] O texto fala a **língua do decisor** (público-alvo do produto), não de desenvolvedor? +- [ ] Existe **contraste claro** entre o cenário sem e com a solução? +- [ ] Os benefícios são **específicos** (números, tempo, ações concretas)? +- [ ] Tem **chamada para ação clara** e conectada ao problema apresentado? +- [ ] O tom está **adaptado ao canal** (LinkedIn ≠ WhatsApp ≠ E-mail)? +- [ ] Está **LIVRE** de jargões de TI e termos em inglês sem tradução? +- [ ] Toda **sigla** está acompanhada do nome por extenso na primeira ocorrência? +- [ ] Menções legais são usadas como **argumento de urgência**, não como decoração? + +--- + +## Formato de Saída + +O resultado deve ser salvo em `./COMERCIAL/-marketing.md` ou adicionado ao final do arquivo comercial existente, conforme preferência do usuário. + +```markdown +# Marketing — [Nome do Módulo] + +## LinkedIn + +[Post pronto para publicação] + +## Instagram + +[Roteiro de slides para carrossel ou legenda para post] + +## WhatsApp + +[Mensagem de prospecção] + +## E-mail + +[Template de prospecção ou nutrição] +``` + +--- + +## Referências + +- Workflow: `.agent/workflows/comercial.global.md` (gera os blocos A e B que alimentam o marketing) +- Regra global: `.agent/rules/escrita-natural.global.md` (padrão obrigatório de redação) diff --git a/.agent/workflows/orcamento.global.md b/.agent/workflows/orcamento.global.md new file mode 100644 index 0000000..908b20e --- /dev/null +++ b/.agent/workflows/orcamento.global.md @@ -0,0 +1,130 @@ +--- +description: Criar texto de orçamento pronto para copiar e colar em peças de orçamento/proposta +--- + +# Workflow: Criar Texto de Orçamento + +Este workflow gera textos prontos para **copiar e colar dentro de documentos de orçamento e propostas comerciais**. O resultado é salvo na pasta `./COMERCIAL/` com o sufixo `-orcamento` (ex: `./COMERCIAL/-orcamento.md`). + +É **OBRIGATÓRIO** seguir a regra global de Escrita Natural (`escrita-natural.global.md`) em toda produção textual deste workflow. + +--- + +## Público-Alvo + +O documento de orçamento será lido pelo **público-alvo do produto**. O agente deve identificar quem são os usuários e decisores com base no contexto do projeto. + +A linguagem deve ser **acessível, direta e sem jargões de TI**. Siglas devem vir acompanhadas do nome por extenso na primeira ocorrência. + +--- + +## Pré-requisitos + +Antes de gerar o texto de orçamento, o agente deve ler o código-fonte do módulo para entender quais funcionalidades existem de fato. Se já existir o arquivo comercial (`./COMERCIAL/.md`), usá-lo como base para extrair contexto. + +--- + +## Passos + +### 1. Identificar o módulo + +Perguntar ao usuário qual módulo ou funcionalidade será orçado. + +### 2. Levantar contexto + +Ler o código-fonte e os componentes relacionados para mapear: +- Quais **funcionalidades** o módulo oferece de fato? +- Existe **legislação ou norma** relevante que o módulo atende? +- Quem são os **usuários diretos**? (consultor, gestor, técnico de campo) + +### 3. Redigir o texto de orçamento + +O texto deve ser **autocontido** — pronto para colar diretamente dentro de um documento de orçamento sem necessidade de edição. Estrutura obrigatória: + +#### Apresentação do Módulo (2 a 4 linhas) + +Texto que descreve o módulo de forma direta, mostrando **o que ele faz** e **qual problema resolve**. Se houver legislação ou norma relevante, **citar aqui** para demonstrar conformidade regulatória e fortalecer o argumento. + +Regras: +- Começar pelo que o módulo entrega, não pelo problema +- Se houver lei/norma relevante, citar com nome por extenso e artigo +- Tom confiante e profissional — adequado para documento formal +- Não usar termos de tecnologia + +#### Lista de Funcionalidades + +Após a apresentação, listar as funcionalidades do módulo em formato de **itens curtos** (1 a 2 linhas cada). Cada item deve: + +- Descrever **o que a funcionalidade faz na prática** (ação concreta, não conceito abstrato) +- Ser compreensível por alguém que **nunca viu o sistema** +- Ser suficientemente específico para justificar o valor cobrado + +Regras para cada item: +- Começar com o **nome da funcionalidade** em negrito +- Seguir com uma descrição curta do que ela faz +- Opcionalmente, incluir o benefício direto entre parênteses ou traço + +### 4. Revisar contra o checklist de qualidade + +Antes de entregar, validar: + +- [ ] A apresentação do módulo é autocontida e compreensível isoladamente? +- [ ] Cada funcionalidade está descrita de forma concreta (o que faz, não o que é)? +- [ ] O texto está **pronto para copiar e colar** sem edição? +- [ ] Está **LIVRE** de jargões de TI e termos em inglês sem tradução? +- [ ] Toda **sigla** está acompanhada do nome por extenso na primeira ocorrência? +- [ ] Legislação/norma relevante está **citada na apresentação** com nome por extenso? +- [ ] O tom é profissional e adequado para um documento formal de orçamento? +- [ ] É compreensível pelo **público-alvo do produto** sem conhecimento de TI? + +--- + +## Regras de Redação + +- **Sem jargões de TI**: trocar termos técnicos por equivalentes acessíveis (ex: "painel" em vez de "dashboard", "código QR" em vez de "QR Code") +- **Siglas por extenso**: toda sigla deve vir acompanhada do nome por extenso na primeira ocorrência +- **Tom formal mas acessível**: adequado para um documento de orçamento/proposta enviado a um diretor ou secretário +- **Funcionalidades concretas**: "Registro de leituras com cálculo automático de volume", não "Módulo de coleta de dados parametrizável" + +--- + +## Formato de Saída + +O arquivo `./COMERCIAL/-orcamento.md` deve seguir esta estrutura: + +```markdown +# [Nome do Módulo] + +[Apresentação do módulo — 2 a 4 linhas com legislação relevante, se aplicável] + +## Funcionalidades incluídas + +- **[Nome da funcionalidade 1]**: [descrição curta do que faz na prática] +- **[Nome da funcionalidade 2]**: [descrição curta do que faz na prática] +- **[Nome da funcionalidade 3]**: [descrição curta do que faz na prática] +- ... +``` + +*Exemplo:* + +```markdown +# [Nome do Módulo] + +[Apresentação do módulo com descrição direta do que faz, qual problema resolve e, +se aplicável, legislação ou norma relevante citada por extenso.] + +## Funcionalidades incluídas + +- **[Funcionalidade 1]**: [descrição curta do que faz] +- **[Funcionalidade 2]**: [descrição curta do que faz] +- **[Funcionalidade 3]**: [descrição curta do que faz] +- ... +``` + +--- + +## Referências + +- Workflow: `.agent/workflows/comercial.global.md` (descrição comercial detalhada — Resumo e Detalhamento) +- Workflow: `.agent/workflows/marketing.global.md` (peças de marketing digital) +- Regra global: `.agent/rules/escrita-natural.global.md` (padrão obrigatório de redação) diff --git a/.agent/workflows/reels.global.md b/.agent/workflows/reels.global.md new file mode 100644 index 0000000..bd7e0c4 --- /dev/null +++ b/.agent/workflows/reels.global.md @@ -0,0 +1,200 @@ +--- +description: Criar cadeia de roteiros de Reels para divulgação de funcionalidades e módulos +--- + +# Workflow: Criar Roteiros de Reels + +Este workflow gera **cadeias de roteiros de Reels** (vídeos curtos de 30 a 60 segundos) organizados por tema. Os roteiros são escritos em tom provocativo, informal e direto — prontos para gravar falando para a câmera ou com narração em off. O resultado é salvo em `./COMERCIAL/-reels.md`. + +É **OBRIGATÓRIO** seguir a regra global de Escrita Natural (`escrita-natural.global.md`) em toda produção textual deste workflow. + +--- + +## Público-Alvo dos Reels + +Os vídeos serão assistidos pelo **público-alvo do produto**. O agente deve identificar quem são os usuários e decisores com base no contexto do projeto. + +Regra geral: a linguagem deve ser **coloquial, direta e sem jargões de TI**. Siglas devem vir acompanhadas do nome por extenso quando citadas pela primeira vez. + +--- + +## Pré-requisitos + +Antes de gerar roteiros, o agente deve entender as funcionalidades reais do módulo. Se já existir o arquivo comercial (`./COMERCIAL/.md`), usá-lo como base. Caso contrário, ler o código-fonte para mapear o que o módulo entrega de fato. + +--- + +## Passos + +### 1. Identificar o tema + +Perguntar ao usuário: +- Qual módulo ou funcionalidade será o tema dos reels? +- Quantos roteiros deseja na cadeia? (padrão: 6) +- Algum tom específico? (provocativo, educativo, humorístico) + +### 2. Levantar contexto + +Mapear: +- Quais **funcionalidades** do módulo geram mais impacto visual e prático? +- Quais **dores reais** o público-alvo enfrenta sem a solução? +- Existe **legislação ou norma** que possa ser usada como argumento de urgência? +- Quais **comparações do dia a dia** fazem sentido para o público? + +### 3. Redigir a cadeia de roteiros + +Cada cadeia deve conter **4 a 8 roteiros**, todos conectados pelo mesmo tema mas com abordagens diferentes. Cada roteiro segue a estrutura abaixo. + +--- + +## Estrutura de um Roteiro + +Cada roteiro deve ter entre **6 e 12 frases curtas**, organizadas em 4 blocos: + +### Bloco 1 — Abertura (1-2 frases) + +A primeira frase é a mais importante. Ela decide se o espectador para ou rola. + +Técnicas obrigatórias (usar pelo menos uma por roteiro): + +| Técnica | Exemplo | +|---|---| +| **Provocação direta** | "Se você ainda faz isso manual… tá perdendo dinheiro." | +| **Referência pop** | "Tá mais perdido que timeline de fofoca da Virgínia?" | +| **Formato "Plot twist"** | "Plot twist: você perde cliente não é pelo preço…" | +| **Convocação** | "Se sua proposta fosse convocada hoje… ela jogaria?" | +| **Contraste chocante** | "Expectativa: vou organizar meus processos. Realidade: caos." | +| **Pergunta retórica** | "Quantas horas você perdeu esse mês montando relatório?" | +| **Afirmação polêmica** | "A maioria dos consultores está jogando dinheiro fora." | + +### Bloco 2 — Dor / Cenário ruim (2-3 frases) + +Descrever o cenário do público-alvo SEM a solução. Usar linguagem do dia a dia — como se estivesse conversando com um colega. + +Regras: +- Frases curtas e ritmadas (máximo 12 palavras por frase) +- Usar repetição para ritmo ("proposta pra um lado, orçamento pra outro…") +- Descrever ações reais, não conceitos ("anota no papel, perde foto, esquece detalhe") +- Pode usar humor leve e ironia + +### Bloco 3 — Virada / Solução (2-3 frases) + +Apresentar o produto como a virada. O nome do produto aparece aqui — naturalmente, sem parecer propaganda. + +Regras: +- O produto é mencionado **uma única vez**, pelo nome +- Descrever o que o produto faz em **ações concretas**, não em conceitos +- Usar verbos de ação: "monta", "registra", "envia", "centraliza" +- Mostrar resultado imediato: "menos retrabalho", "mais fechamento" + +### Bloco 4 — Fechamento / Desafio (1-2 frases) + +Fechar com uma pergunta ou desafio que provoque o espectador a agir. + +Técnicas: +- **Desafio direto**: "Quer ser titular ou continuar no banco?" +- **Escolha binária**: "Você decide em qual nível quer jogar." +- **Pergunta provocativa**: "Você tá otimizando ou só se ocupando?" +- **Chamada para ação suave**: "Começa a jogar no nível profissional." + +--- + +## Estilos de Roteiro + +Cada cadeia deve variar os estilos para manter o conteúdo diverso. O agente deve usar **pelo menos 4 estilos diferentes** numa cadeia de 6 roteiros. + +| Estilo | Descrição | Ritmo | +|---|---|---| +| **Plot twist** | Começa com uma crença comum e inverte | Surpreendente | +| **Mais perdido que...** | Analogia cômica + caos do dia a dia | Humorístico | +| **Convocação** | Metáfora de seleção/time/jogo | Competitivo | +| **Raiz vs Smart** | Dois perfis contrastados | Comparativo | +| **Tempo é dinheiro** | Foco em produtividade e custo de oportunidade | Urgência | +| **Expectativa vs Realidade** | Contraste entre o plano e o caos | Identificação | +| **Se eu te contasse** | Narrativa de revelação progressiva | Curiosidade | +| **Checklist do fracasso** | Lista irônica do que NÃO fazer | Irônico | + +--- + +## Regras de Entonação + +O roteiro deve indicar **como falar** cada trecho. Usar marcações simples: + +| Marcação | Significado | +|---|---| +| Texto normal | Tom de conversa, olhando pra câmera | +| *Texto em itálico* | Tom irônico ou de provocação | +| **Texto em negrito** | Ênfase, falar mais forte | +| `[pausa]` | Pausa dramática de 1-2 segundos | +| `[rápido]` | Falar em ritmo acelerado | +| `[sussurrando]` | Tom baixo, como se contasse um segredo | + +--- + +## Regras de Redação + +- **Frases curtas**: máximo 15 palavras por frase. Idealmente 8-12 +- **Sem jargões de TI**: trocar termos técnicos por equivalentes do dia a dia +- **Tom coloquial**: "tá", "pra", "gente", "bobo" são permitidos e desejáveis +- **Referências culturais**: usar quando fizerem sentido para o público (futebol, reality, memes do momento). Marcar como `[ref: atualizar]` se a referência puder ficar datada +- **Uma ideia por frase**: cada frase deve ser compreensível isoladamente +- **Sem "Olá pessoal"**: nunca abrir com saudação genérica +- **Produto natural**: o nome do produto aparece no máximo 1 vez por roteiro, no bloco de solução +- **Siglas**: toda sigla usada pela primeira vez deve vir acompanhada do nome por extenso + +--- + +## Checklist de Qualidade + +Antes de entregar, validar **cada roteiro**: + +- [ ] A primeira frase **para o scroll**? (provocação, surpresa ou identificação) +- [ ] O cenário da dor é **real e reconhecível** pelo público-alvo? +- [ ] O produto aparece **naturalmente**, sem parecer propaganda forçada? +- [ ] O fechamento **provoca ação** (pergunta, desafio ou escolha)? +- [ ] O roteiro tem entre **6 e 12 frases**? +- [ ] Cada frase tem no **máximo 15 palavras**? +- [ ] O tom é **coloquial e direto** (não institucional)? +- [ ] A cadeia usa **pelo menos 4 estilos diferentes**? +- [ ] Está **LIVRE** de jargões de TI? +- [ ] O roteiro funciona sendo **falado em voz alta**? (ler em voz alta para validar) + +--- + +## Formato de Saída + +O arquivo `./COMERCIAL/-reels.md` deve seguir esta estrutura: + +```markdown +# Reels — [Nome do Módulo] + +> Cadeia de [N] roteiros sobre [tema] +> Tom: [provocativo / educativo / humorístico] +> Duração média: 30-60 segundos por reel + +--- + +## 🎥 Roteiro 1 – "[Título criativo]" + +"[Primeira frase — abertura impactante] + +[Bloco de dor — 2-3 frases curtas] + +[Bloco de solução — 2-3 frases com o produto] + +[Fechamento — pergunta ou desafio]" + +--- + +## 🎥 Roteiro 2 – "[Título criativo]" + +... +``` + +--- + +## Referências + +- Workflow: `.agent/workflows/comercial.global.md` (descrição comercial detalhada — base de contexto) +- Workflow: `.agent/workflows/marketing.global.md` (peças de marketing por canal) +- Regra global: `.agent/rules/escrita-natural.global.md` (padrão obrigatório de redação) diff --git a/dist/eli-vue.es.js b/dist/eli-vue.es.js index 1a794cb..dca0e33 100644 --- a/dist/eli-vue.es.js +++ b/dist/eli-vue.es.js @@ -11359,7 +11359,7 @@ function Eh(e) { return Number.isNaN(r) ? null : r; } function jr(e, n) { - return e == null ? "" : n === null ? String(e) : Number(e).toFixed(Math.max(0, n)).replace(/\./g, ","); + return e == null ? "" : n === null ? String(e).replace(/\./g, ",") : Number(e).toFixed(Math.max(0, n)).replace(/\./g, ","); } function pa(e) { return (e ?? "").replace(/\D+/g, ""); @@ -11434,7 +11434,7 @@ const Zh = ie({ const g = (t.value ? null : Ah(d)) ?? Eh(d); m = g === null ? null : g; } - u.value = m, r("update:value", m), r("input", m), r("change", m), a.value = jr(m, o.value); + u.value = m, r("update:value", m), r("input", m), r("change", m), o.value === null && d ? a.value = d.replace(/\./g, ",") : a.value = jr(m, o.value); } return { attrs: n, emit: r, displayValue: a, isInteiro: t, onUpdateModelValue: c }; } diff --git a/dist/eli-vue.umd.js b/dist/eli-vue.umd.js index 0cf8531..c34de4e 100644 --- a/dist/eli-vue.umd.js +++ b/dist/eli-vue.umd.js @@ -38,7 +38,7 @@ `)}v.write("payload.value = newResult;"),v.write("return payload;");const S=v.compile();return(L,U)=>S(p,L,U)};let i;const a=tt,l=!Wt.jitless,u=l&&Eo.value,d=n.catchall;let m;e._zod.parse=(p,v)=>{m??(m=o.value);const h=p.value;return a(h)?l&&u&&(v==null?void 0:v.async)===!1&&v.jitless!==!0?(i||(i=t(n.shape)),p=i(p,v),d?Zl([],h,p,v,m,e):p):r(p,v):(p.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),p)}});function Vl(e,n,r,o){for(const i of e)if(i.issues.length===0)return n.value=i.value,n;const t=e.filter(i=>!Ge(i));return t.length===1?(n.value=t[0].value,t[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:e.map(i=>i.issues.map(a=>we(a,o,me())))}),n)}const rn=g("$ZodUnion",(e,n)=>{Z.init(e,n),R(e._zod,"optin",()=>n.options.some(t=>t._zod.optin==="optional")?"optional":void 0),R(e._zod,"optout",()=>n.options.some(t=>t._zod.optout==="optional")?"optional":void 0),R(e._zod,"values",()=>{if(n.options.every(t=>t._zod.values))return new Set(n.options.flatMap(t=>Array.from(t._zod.values)))}),R(e._zod,"pattern",()=>{if(n.options.every(t=>t._zod.pattern)){const t=n.options.map(i=>i._zod.pattern);return new RegExp(`^(${t.map(i=>Ht(i.source)).join("|")})$`)}});const r=n.options.length===1,o=n.options[0]._zod.run;e._zod.parse=(t,i)=>{if(r)return o(t,i);let a=!1;const l=[];for(const s of n.options){const u=s._zod.run({value:t.value,issues:[]},i);if(u instanceof Promise)l.push(u),a=!0;else{if(u.issues.length===0)return u;l.push(u)}}return a?Promise.all(l).then(s=>Vl(s,t,e,i)):Vl(l,t,e,i)}});function Fl(e,n,r,o){const t=e.filter(i=>i.issues.length===0);return t.length===1?(n.value=t[0].value,n):(t.length===0?n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:e.map(i=>i.issues.map(a=>we(a,o,me())))}):n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:[],inclusive:!1}),n)}const Ll=g("$ZodXor",(e,n)=>{rn.init(e,n),n.inclusive=!1;const r=n.options.length===1,o=n.options[0]._zod.run;e._zod.parse=(t,i)=>{if(r)return o(t,i);let a=!1;const l=[];for(const s of n.options){const u=s._zod.run({value:t.value,issues:[]},i);u instanceof Promise?(l.push(u),a=!0):l.push(u)}return a?Promise.all(l).then(s=>Fl(s,t,e,i)):Fl(l,t,e,i)}}),Rl=g("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,rn.init(e,n);const r=e._zod.parse;R(e._zod,"propValues",()=>{const t={};for(const i of n.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(i)}"`);for(const[l,s]of Object.entries(a)){t[l]||(t[l]=new Set);for(const u of s)t[l].add(u)}}return t});const o=pt(()=>{var a;const t=n.options,i=new Map;for(const l of t){const s=(a=l._zod.propValues)==null?void 0:a[n.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(l)}"`);for(const u of s){if(i.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);i.set(u,l)}}return i});e._zod.parse=(t,i)=>{const a=t.value;if(!tt(a))return t.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),t;const l=o.value.get(a==null?void 0:a[n.discriminator]);return l?l._zod.run(t,i):n.unionFallback?r(t,i):(t.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,input:a,path:[n.discriminator],inst:e}),t)}}),Jl=g("$ZodIntersection",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>{const t=r.value,i=n.left._zod.run({value:t,issues:[]},o),a=n.right._zod.run({value:t,issues:[]},o);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([s,u])=>ql(r,s,u)):ql(r,i,a)}});function Mr(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(We(e)&&We(n)){const r=Object.keys(n),o=Object.keys(e).filter(i=>r.indexOf(i)!==-1),t={...e,...n};for(const i of o){const a=Mr(e[i],n[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};t[i]=a.data}return{valid:!0,data:t}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;ol.l&&l.r).map(([l])=>l);if(i.length&&t&&e.issues.push({...t,keys:i}),Ge(e))return e;const a=Mr(n.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}const Vr=g("$ZodTuple",(e,n)=>{Z.init(e,n);const r=n.items;e._zod.parse=(o,t)=>{const i=o.value;if(!Array.isArray(i))return o.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=[];const a=[],l=[...r].reverse().findIndex(d=>d._zod.optin!=="optional"),s=l===-1?0:r.length-l;if(!n.rest){const d=i.length>r.length,m=i.length=i.length&&u>=s)continue;const m=d._zod.run({value:i[u],issues:[]},t);m instanceof Promise?a.push(m.then(p=>on(p,o,u))):on(m,o,u)}if(n.rest){const d=i.slice(r.length);for(const m of d){u++;const p=n.rest._zod.run({value:m,issues:[]},t);p instanceof Promise?a.push(p.then(v=>on(v,o,u))):on(p,o,u)}}return a.length?Promise.all(a).then(()=>o):o}});function on(e,n,r){e.issues.length&&n.issues.push(...xe(r,e.issues)),n.value[r]=e.value}const Yl=g("$ZodRecord",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>{const t=r.value;if(!We(t))return r.issues.push({expected:"record",code:"invalid_type",input:t,inst:e}),r;const i=[],a=n.keyType._zod.values;if(a){r.value={};const l=new Set;for(const u of a)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){l.add(typeof u=="number"?u.toString():u);const d=n.valueType._zod.run({value:t[u],issues:[]},o);d instanceof Promise?i.push(d.then(m=>{m.issues.length&&r.issues.push(...xe(u,m.issues)),r.value[u]=m.value})):(d.issues.length&&r.issues.push(...xe(u,d.issues)),r.value[u]=d.value)}let s;for(const u in t)l.has(u)||(s=s??[],s.push(u));s&&s.length>0&&r.issues.push({code:"unrecognized_keys",input:t,inst:e,keys:s})}else{r.value={};for(const l of Reflect.ownKeys(t)){if(l==="__proto__")continue;let s=n.keyType._zod.run({value:l,issues:[]},o);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof l=="string"&&jr.test(l)&&s.issues.length){const m=n.keyType._zod.run({value:Number(l),issues:[]},o);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");m.issues.length===0&&(s=m)}if(s.issues.length){n.mode==="loose"?r.value[l]=t[l]:r.issues.push({code:"invalid_key",origin:"record",issues:s.issues.map(m=>we(m,o,me())),input:l,path:[l],inst:e});continue}const d=n.valueType._zod.run({value:t[l],issues:[]},o);d instanceof Promise?i.push(d.then(m=>{m.issues.length&&r.issues.push(...xe(l,m.issues)),r.value[s.value]=m.value})):(d.issues.length&&r.issues.push(...xe(l,d.issues)),r.value[s.value]=d.value)}}return i.length?Promise.all(i).then(()=>r):r}}),Kl=g("$ZodMap",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>{const t=r.value;if(!(t instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:t,inst:e}),r;const i=[];r.value=new Map;for(const[a,l]of t){const s=n.keyType._zod.run({value:a,issues:[]},o),u=n.valueType._zod.run({value:l,issues:[]},o);s instanceof Promise||u instanceof Promise?i.push(Promise.all([s,u]).then(([d,m])=>{Wl(d,m,r,a,t,e,o)})):Wl(s,u,r,a,t,e,o)}return i.length?Promise.all(i).then(()=>r):r}});function Wl(e,n,r,o,t,i,a){e.issues.length&&(Qt.has(typeof o)?r.issues.push(...xe(o,e.issues)):r.issues.push({code:"invalid_key",origin:"map",input:t,inst:i,issues:e.issues.map(l=>we(l,a,me()))})),n.issues.length&&(Qt.has(typeof o)?r.issues.push(...xe(o,n.issues)):r.issues.push({origin:"map",code:"invalid_element",input:t,inst:i,key:o,issues:n.issues.map(l=>we(l,a,me()))})),r.value.set(e.value,n.value)}const Gl=g("$ZodSet",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>{const t=r.value;if(!(t instanceof Set))return r.issues.push({input:t,inst:e,expected:"set",code:"invalid_type"}),r;const i=[];r.value=new Set;for(const a of t){const l=n.valueType._zod.run({value:a,issues:[]},o);l instanceof Promise?i.push(l.then(s=>Hl(s,r))):Hl(l,r)}return i.length?Promise.all(i).then(()=>r):r}});function Hl(e,n){e.issues.length&&n.issues.push(...e.issues),n.value.add(e.value)}const Xl=g("$ZodEnum",(e,n)=>{Z.init(e,n);const r=gr(n.entries),o=new Set(r);e._zod.values=o,e._zod.pattern=new RegExp(`^(${r.filter(t=>Qt.has(typeof t)).map(t=>typeof t=="string"?Te(t):t.toString()).join("|")})$`),e._zod.parse=(t,i)=>{const a=t.value;return o.has(a)||t.issues.push({code:"invalid_value",values:r,input:a,inst:e}),t}}),Ql=g("$ZodLiteral",(e,n)=>{if(Z.init(e,n),n.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(n.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.values.map(o=>typeof o=="string"?Te(o):o?Te(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,t)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:n.values,input:i,inst:e}),o}}),ec=g("$ZodFile",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>{const t=r.value;return t instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:t,inst:e}),r}}),tc=g("$ZodTransform",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Kt(e.constructor.name);const t=n.transform(r.value,r);if(o.async)return(t instanceof Promise?t:Promise.resolve(t)).then(a=>(r.value=a,r));if(t instanceof Promise)throw new Ye;return r.value=t,r}});function nc(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const Fr=g("$ZodOptional",(e,n)=>{Z.init(e,n),e._zod.optin="optional",e._zod.optout="optional",R(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),R(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${Ht(r.source)})?$`):void 0}),e._zod.parse=(r,o)=>{if(n.innerType._zod.optin==="optional"){const t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>nc(i,r.value)):nc(t,r.value)}return r.value===void 0?r:n.innerType._zod.run(r,o)}}),rc=g("$ZodExactOptional",(e,n)=>{Fr.init(e,n),R(e._zod,"values",()=>n.innerType._zod.values),R(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(r,o)=>n.innerType._zod.run(r,o)}),ic=g("$ZodNullable",(e,n)=>{Z.init(e,n),R(e._zod,"optin",()=>n.innerType._zod.optin),R(e._zod,"optout",()=>n.innerType._zod.optout),R(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${Ht(r.source)}|null)$`):void 0}),R(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(r,o)=>r.value===null?r:n.innerType._zod.run(r,o)}),oc=g("$ZodDefault",(e,n)=>{Z.init(e,n),e._zod.optin="optional",R(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return n.innerType._zod.run(r,o);if(r.value===void 0)return r.value=n.defaultValue,r;const t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>ac(i,n)):ac(t,n)}});function ac(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const lc=g("$ZodPrefault",(e,n)=>{Z.init(e,n),e._zod.optin="optional",R(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,o)=>(o.direction==="backward"||r.value===void 0&&(r.value=n.defaultValue),n.innerType._zod.run(r,o))}),cc=g("$ZodNonOptional",(e,n)=>{Z.init(e,n),R(e._zod,"values",()=>{const r=n.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,o)=>{const t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>uc(i,e)):uc(t,e)}});function uc(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const sc=g("$ZodSuccess",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Kt("ZodSuccess");const t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>(r.value=i.issues.length===0,r)):(r.value=t.issues.length===0,r)}}),dc=g("$ZodCatch",(e,n)=>{Z.init(e,n),R(e._zod,"optin",()=>n.innerType._zod.optin),R(e._zod,"optout",()=>n.innerType._zod.optout),R(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return n.innerType._zod.run(r,o);const t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>(r.value=i.value,i.issues.length&&(r.value=n.catchValue({...r,error:{issues:i.issues.map(a=>we(a,o,me()))},input:r.value}),r.issues=[]),r)):(r.value=t.value,t.issues.length&&(r.value=n.catchValue({...r,error:{issues:t.issues.map(i=>we(i,o,me()))},input:r.value}),r.issues=[]),r)}}),mc=g("$ZodNaN",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:e,expected:"nan",code:"invalid_type"}),r)}),fc=g("$ZodPipe",(e,n)=>{Z.init(e,n),R(e._zod,"values",()=>n.in._zod.values),R(e._zod,"optin",()=>n.in._zod.optin),R(e._zod,"optout",()=>n.out._zod.optout),R(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(r,o)=>{if(o.direction==="backward"){const i=n.out._zod.run(r,o);return i instanceof Promise?i.then(a=>an(a,n.in,o)):an(i,n.in,o)}const t=n.in._zod.run(r,o);return t instanceof Promise?t.then(i=>an(i,n.out,o)):an(t,n.out,o)}});function an(e,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},r)}const Lr=g("$ZodCodec",(e,n)=>{Z.init(e,n),R(e._zod,"values",()=>n.in._zod.values),R(e._zod,"optin",()=>n.in._zod.optin),R(e._zod,"optout",()=>n.out._zod.optout),R(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(r,o)=>{if((o.direction||"forward")==="forward"){const i=n.in._zod.run(r,o);return i instanceof Promise?i.then(a=>ln(a,n,o)):ln(i,n,o)}else{const i=n.out._zod.run(r,o);return i instanceof Promise?i.then(a=>ln(a,n,o)):ln(i,n,o)}}});function ln(e,n,r){if(e.issues.length)return e.aborted=!0,e;if((r.direction||"forward")==="forward"){const t=n.transform(e.value,e);return t instanceof Promise?t.then(i=>cn(e,i,n.out,r)):cn(e,t,n.out,r)}else{const t=n.reverseTransform(e.value,e);return t instanceof Promise?t.then(i=>cn(e,i,n.in,r)):cn(e,t,n.in,r)}}function cn(e,n,r,o){return e.issues.length?(e.aborted=!0,e):r._zod.run({value:n,issues:e.issues},o)}const pc=g("$ZodReadonly",(e,n)=>{Z.init(e,n),R(e._zod,"propValues",()=>n.innerType._zod.propValues),R(e._zod,"values",()=>n.innerType._zod.values),R(e._zod,"optin",()=>{var r,o;return(o=(r=n.innerType)==null?void 0:r._zod)==null?void 0:o.optin}),R(e._zod,"optout",()=>{var r,o;return(o=(r=n.innerType)==null?void 0:r._zod)==null?void 0:o.optout}),e._zod.parse=(r,o)=>{if(o.direction==="backward")return n.innerType._zod.run(r,o);const t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(gc):gc(t)}});function gc(e){return e.value=Object.freeze(e.value),e}const vc=g("$ZodTemplateLiteral",(e,n)=>{Z.init(e,n);const r=[];for(const o of n.parts)if(typeof o=="object"&&o!==null){if(!o._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...o._zod.traits].shift()}`);const t=o._zod.pattern instanceof RegExp?o._zod.pattern.source:o._zod.pattern;if(!t)throw new Error(`Invalid template literal part: ${o._zod.traits}`);const i=t.startsWith("^")?1:0,a=t.endsWith("$")?t.length-1:t.length;r.push(t.slice(i,a))}else if(o===null||Oo.has(typeof o))r.push(Te(`${o}`));else throw new Error(`Invalid template literal part: ${o}`);e._zod.pattern=new RegExp(`^${r.join("")}$`),e._zod.parse=(o,t)=>typeof o.value!="string"?(o.issues.push({input:o.value,inst:e,expected:"string",code:"invalid_type"}),o):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(o.value)||o.issues.push({input:o.value,inst:e,code:"invalid_format",format:n.format??"template_literal",pattern:e._zod.pattern.source}),o)}),hc=g("$ZodFunction",(e,n)=>(Z.init(e,n),e._def=n,e._zod.def=n,e.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...o){const t=e._def.input?yr(e._def.input,o):o,i=Reflect.apply(r,this,t);return e._def.output?yr(e._def.output,i):i}},e.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...o){const t=e._def.input?await kr(e._def.input,o):o,i=await Reflect.apply(r,this,t);return e._def.output?await kr(e._def.output,i):i}},e._zod.parse=(r,o)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:e}),r):(e._def.output&&e._def.output._zod.def.type==="promise"?r.value=e.implementAsync(r.value):r.value=e.implement(r.value),r),e.input=(...r)=>{const o=e.constructor;return Array.isArray(r[0])?new o({type:"function",input:new Vr({type:"tuple",items:r[0],rest:r[1]}),output:e._def.output}):new o({type:"function",input:r[0],output:e._def.output})},e.output=r=>{const o=e.constructor;return new o({type:"function",input:e._def.input,output:r})},e)),$c=g("$ZodPromise",(e,n)=>{Z.init(e,n),e._zod.parse=(r,o)=>Promise.resolve(r.value).then(t=>n.innerType._zod.run({value:t,issues:[]},o))}),bc=g("$ZodLazy",(e,n)=>{Z.init(e,n),R(e._zod,"innerType",()=>n.getter()),R(e._zod,"pattern",()=>{var r,o;return(o=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:o.pattern}),R(e._zod,"propValues",()=>{var r,o;return(o=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:o.propValues}),R(e._zod,"optin",()=>{var r,o;return((o=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:o.optin)??void 0}),R(e._zod,"optout",()=>{var r,o;return((o=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:o.optout)??void 0}),e._zod.parse=(r,o)=>e._zod.innerType._zod.run(r,o)}),_c=g("$ZodCustom",(e,n)=>{re.init(e,n),Z.init(e,n),e._zod.parse=(r,o)=>r,e._zod.check=r=>{const o=r.value,t=n.fn(o);if(t instanceof Promise)return t.then(i=>yc(i,r,o,e));yc(t,r,o,e)}});function yc(e,n,r,o){if(!e){const t={code:"custom",input:r,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(t.params=o._zod.def.params),n.issues.push(nt(t))}}const uf=()=>{const e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function n(t){return e[t]??null}const r={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`مدخلات غير مقبولة: يفترض إدخال instanceof ${t.expected}، ولكن تم إدخال ${l}`:`مدخلات غير مقبولة: يفترض إدخال ${i}، ولكن تم إدخال ${l}`}case"invalid_value":return t.values.length===1?`مدخلات غير مقبولة: يفترض إدخال ${P(t.values[0])}`:`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?` أكبر من اللازم: يفترض أن تكون ${t.origin??"القيمة"} ${i} ${t.maximum.toString()} ${a.unit??"عنصر"}`:`أكبر من اللازم: يفترض أن تكون ${t.origin??"القيمة"} ${i} ${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`أصغر من اللازم: يفترض لـ ${t.origin} أن يكون ${i} ${t.minimum.toString()} ${a.unit}`:`أصغر من اللازم: يفترض لـ ${t.origin} أن يكون ${i} ${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`نَص غير مقبول: يجب أن يبدأ بـ "${t.prefix}"`:i.format==="ends_with"?`نَص غير مقبول: يجب أن ينتهي بـ "${i.suffix}"`:i.format==="includes"?`نَص غير مقبول: يجب أن يتضمَّن "${i.includes}"`:i.format==="regex"?`نَص غير مقبول: يجب أن يطابق النمط ${i.pattern}`:`${r[i.format]??t.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${t.divisor}`;case"unrecognized_keys":return`معرف${t.keys.length>1?"ات":""} غريب${t.keys.length>1?"ة":""}: ${k(t.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${t.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${t.origin}`;default:return"مدخل غير مقبول"}}};function sf(){return{localeError:uf()}}const df=()=>{const e={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function n(t){return e[t]??null}const r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Yanlış dəyər: gözlənilən instanceof ${t.expected}, daxil olan ${l}`:`Yanlış dəyər: gözlənilən ${i}, daxil olan ${l}`}case"invalid_value":return t.values.length===1?`Yanlış dəyər: gözlənilən ${P(t.values[0])}`:`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Çox böyük: gözlənilən ${t.origin??"dəyər"} ${i}${t.maximum.toString()} ${a.unit??"element"}`:`Çox böyük: gözlənilən ${t.origin??"dəyər"} ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Çox kiçik: gözlənilən ${t.origin} ${i}${t.minimum.toString()} ${a.unit}`:`Çox kiçik: gözlənilən ${t.origin} ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Yanlış mətn: "${i.prefix}" ilə başlamalıdır`:i.format==="ends_with"?`Yanlış mətn: "${i.suffix}" ilə bitməlidir`:i.format==="includes"?`Yanlış mətn: "${i.includes}" daxil olmalıdır`:i.format==="regex"?`Yanlış mətn: ${i.pattern} şablonuna uyğun olmalıdır`:`Yanlış ${r[i.format]??t.format}`}case"not_multiple_of":return`Yanlış ədəd: ${t.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${t.keys.length>1?"lar":""}: ${k(t.keys,", ")}`;case"invalid_key":return`${t.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${t.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};function mf(){return{localeError:df()}}function kc(e,n,r,o){const t=Math.abs(e),i=t%10,a=t%100;return a>=11&&a<=19?o:i===1?n:i>=2&&i<=4?r:o}const ff=()=>{const e={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function n(t){return e[t]??null}const r={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},o={nan:"NaN",number:"лік",array:"масіў"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Няправільны ўвод: чакаўся instanceof ${t.expected}, атрымана ${l}`:`Няправільны ўвод: чакаўся ${i}, атрымана ${l}`}case"invalid_value":return t.values.length===1?`Няправільны ўвод: чакалася ${P(t.values[0])}`:`Няправільны варыянт: чакаўся адзін з ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);if(a){const l=Number(t.maximum),s=kc(l,a.unit.one,a.unit.few,a.unit.many);return`Занадта вялікі: чакалася, што ${t.origin??"значэнне"} павінна ${a.verb} ${i}${t.maximum.toString()} ${s}`}return`Занадта вялікі: чакалася, што ${t.origin??"значэнне"} павінна быць ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);if(a){const l=Number(t.minimum),s=kc(l,a.unit.one,a.unit.few,a.unit.many);return`Занадта малы: чакалася, што ${t.origin} павінна ${a.verb} ${i}${t.minimum.toString()} ${s}`}return`Занадта малы: чакалася, што ${t.origin} павінна быць ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Няправільны радок: павінен пачынацца з "${i.prefix}"`:i.format==="ends_with"?`Няправільны радок: павінен заканчвацца на "${i.suffix}"`:i.format==="includes"?`Няправільны радок: павінен змяшчаць "${i.includes}"`:i.format==="regex"?`Няправільны радок: павінен адпавядаць шаблону ${i.pattern}`:`Няправільны ${r[i.format]??t.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${t.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${t.keys.length>1?"ключы":"ключ"}: ${k(t.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${t.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${t.origin}`;default:return"Няправільны ўвод"}}};function pf(){return{localeError:ff()}}const gf=()=>{const e={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function n(t){return e[t]??null}const r={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},o={nan:"NaN",number:"число",array:"масив"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Невалиден вход: очакван instanceof ${t.expected}, получен ${l}`:`Невалиден вход: очакван ${i}, получен ${l}`}case"invalid_value":return t.values.length===1?`Невалиден вход: очакван ${P(t.values[0])}`:`Невалидна опция: очаквано едно от ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Твърде голямо: очаква се ${t.origin??"стойност"} да съдържа ${i}${t.maximum.toString()} ${a.unit??"елемента"}`:`Твърде голямо: очаква се ${t.origin??"стойност"} да бъде ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Твърде малко: очаква се ${t.origin} да съдържа ${i}${t.minimum.toString()} ${a.unit}`:`Твърде малко: очаква се ${t.origin} да бъде ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;if(i.format==="starts_with")return`Невалиден низ: трябва да започва с "${i.prefix}"`;if(i.format==="ends_with")return`Невалиден низ: трябва да завършва с "${i.suffix}"`;if(i.format==="includes")return`Невалиден низ: трябва да включва "${i.includes}"`;if(i.format==="regex")return`Невалиден низ: трябва да съвпада с ${i.pattern}`;let a="Невалиден";return i.format==="emoji"&&(a="Невалидно"),i.format==="datetime"&&(a="Невалидно"),i.format==="date"&&(a="Невалидна"),i.format==="time"&&(a="Невалидно"),i.format==="duration"&&(a="Невалидна"),`${a} ${r[i.format]??t.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${t.divisor}`;case"unrecognized_keys":return`Неразпознат${t.keys.length>1?"и":""} ключ${t.keys.length>1?"ове":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${t.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${t.origin}`;default:return"Невалиден вход"}}};function vf(){return{localeError:gf()}}const hf=()=>{const e={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function n(t){return e[t]??null}const r={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Tipus invàlid: s'esperava instanceof ${t.expected}, s'ha rebut ${l}`:`Tipus invàlid: s'esperava ${i}, s'ha rebut ${l}`}case"invalid_value":return t.values.length===1?`Valor invàlid: s'esperava ${P(t.values[0])}`:`Opció invàlida: s'esperava una de ${k(t.values," o ")}`;case"too_big":{const i=t.inclusive?"com a màxim":"menys de",a=n(t.origin);return a?`Massa gran: s'esperava que ${t.origin??"el valor"} contingués ${i} ${t.maximum.toString()} ${a.unit??"elements"}`:`Massa gran: s'esperava que ${t.origin??"el valor"} fos ${i} ${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?"com a mínim":"més de",a=n(t.origin);return a?`Massa petit: s'esperava que ${t.origin} contingués ${i} ${t.minimum.toString()} ${a.unit}`:`Massa petit: s'esperava que ${t.origin} fos ${i} ${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Format invàlid: ha de començar amb "${i.prefix}"`:i.format==="ends_with"?`Format invàlid: ha d'acabar amb "${i.suffix}"`:i.format==="includes"?`Format invàlid: ha d'incloure "${i.includes}"`:i.format==="regex"?`Format invàlid: ha de coincidir amb el patró ${i.pattern}`:`Format invàlid per a ${r[i.format]??t.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${t.divisor}`;case"unrecognized_keys":return`Clau${t.keys.length>1?"s":""} no reconeguda${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${t.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${t.origin}`;default:return"Entrada invàlida"}}};function $f(){return{localeError:hf()}}const bf=()=>{const e={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function n(t){return e[t]??null}const r={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},o={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Neplatný vstup: očekáváno instanceof ${t.expected}, obdrženo ${l}`:`Neplatný vstup: očekáváno ${i}, obdrženo ${l}`}case"invalid_value":return t.values.length===1?`Neplatný vstup: očekáváno ${P(t.values[0])}`:`Neplatná možnost: očekávána jedna z hodnot ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Hodnota je příliš velká: ${t.origin??"hodnota"} musí mít ${i}${t.maximum.toString()} ${a.unit??"prvků"}`:`Hodnota je příliš velká: ${t.origin??"hodnota"} musí být ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Hodnota je příliš malá: ${t.origin??"hodnota"} musí mít ${i}${t.minimum.toString()} ${a.unit??"prvků"}`:`Hodnota je příliš malá: ${t.origin??"hodnota"} musí být ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Neplatný řetězec: musí začínat na "${i.prefix}"`:i.format==="ends_with"?`Neplatný řetězec: musí končit na "${i.suffix}"`:i.format==="includes"?`Neplatný řetězec: musí obsahovat "${i.includes}"`:i.format==="regex"?`Neplatný řetězec: musí odpovídat vzoru ${i.pattern}`:`Neplatný formát ${r[i.format]??t.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${t.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${k(t.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${t.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${t.origin}`;default:return"Neplatný vstup"}}};function _f(){return{localeError:bf()}}const yf=()=>{const e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function n(t){return e[t]??null}const r={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},o={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Ugyldigt input: forventede instanceof ${t.expected}, fik ${l}`:`Ugyldigt input: forventede ${i}, fik ${l}`}case"invalid_value":return t.values.length===1?`Ugyldig værdi: forventede ${P(t.values[0])}`:`Ugyldigt valg: forventede en af følgende ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin),l=o[t.origin]??t.origin;return a?`For stor: forventede ${l??"value"} ${a.verb} ${i} ${t.maximum.toString()} ${a.unit??"elementer"}`:`For stor: forventede ${l??"value"} havde ${i} ${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin),l=o[t.origin]??t.origin;return a?`For lille: forventede ${l} ${a.verb} ${i} ${t.minimum.toString()} ${a.unit}`:`For lille: forventede ${l} havde ${i} ${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Ugyldig streng: skal starte med "${i.prefix}"`:i.format==="ends_with"?`Ugyldig streng: skal ende med "${i.suffix}"`:i.format==="includes"?`Ugyldig streng: skal indeholde "${i.includes}"`:i.format==="regex"?`Ugyldig streng: skal matche mønsteret ${i.pattern}`:`Ugyldig ${r[i.format]??t.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${k(t.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${t.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${t.origin}`;default:return"Ugyldigt input"}}};function kf(){return{localeError:yf()}}const Sf=()=>{const e={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function n(t){return e[t]??null}const r={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},o={nan:"NaN",number:"Zahl",array:"Array"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Ungültige Eingabe: erwartet instanceof ${t.expected}, erhalten ${l}`:`Ungültige Eingabe: erwartet ${i}, erhalten ${l}`}case"invalid_value":return t.values.length===1?`Ungültige Eingabe: erwartet ${P(t.values[0])}`:`Ungültige Option: erwartet eine von ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Zu groß: erwartet, dass ${t.origin??"Wert"} ${i}${t.maximum.toString()} ${a.unit??"Elemente"} hat`:`Zu groß: erwartet, dass ${t.origin??"Wert"} ${i}${t.maximum.toString()} ist`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Zu klein: erwartet, dass ${t.origin} ${i}${t.minimum.toString()} ${a.unit} hat`:`Zu klein: erwartet, dass ${t.origin} ${i}${t.minimum.toString()} ist`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Ungültiger String: muss mit "${i.prefix}" beginnen`:i.format==="ends_with"?`Ungültiger String: muss mit "${i.suffix}" enden`:i.format==="includes"?`Ungültiger String: muss "${i.includes}" enthalten`:i.format==="regex"?`Ungültiger String: muss dem Muster ${i.pattern} entsprechen`:`Ungültig: ${r[i.format]??t.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${t.divisor} sein`;case"unrecognized_keys":return`${t.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${k(t.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${t.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${t.origin}`;default:return"Ungültige Eingabe"}}};function wf(){return{localeError:Sf()}}const If=()=>{const e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function n(t){return e[t]??null}const r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return`Invalid input: expected ${i}, received ${l}`}case"invalid_value":return t.values.length===1?`Invalid input: expected ${P(t.values[0])}`:`Invalid option: expected one of ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Too big: expected ${t.origin??"value"} to have ${i}${t.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${t.origin??"value"} to be ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Too small: expected ${t.origin} to have ${i}${t.minimum.toString()} ${a.unit}`:`Too small: expected ${t.origin} to be ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??t.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${t.divisor}`;case"unrecognized_keys":return`Unrecognized key${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Invalid key in ${t.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${t.origin}`;default:return"Invalid input"}}};function Sc(){return{localeError:If()}}const zf=()=>{const e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function n(t){return e[t]??null}const r={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},o={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Nevalida enigo: atendiĝis instanceof ${t.expected}, riceviĝis ${l}`:`Nevalida enigo: atendiĝis ${i}, riceviĝis ${l}`}case"invalid_value":return t.values.length===1?`Nevalida enigo: atendiĝis ${P(t.values[0])}`:`Nevalida opcio: atendiĝis unu el ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Tro granda: atendiĝis ke ${t.origin??"valoro"} havu ${i}${t.maximum.toString()} ${a.unit??"elementojn"}`:`Tro granda: atendiĝis ke ${t.origin??"valoro"} havu ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Tro malgranda: atendiĝis ke ${t.origin} havu ${i}${t.minimum.toString()} ${a.unit}`:`Tro malgranda: atendiĝis ke ${t.origin} estu ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Nevalida karaktraro: devas komenciĝi per "${i.prefix}"`:i.format==="ends_with"?`Nevalida karaktraro: devas finiĝi per "${i.suffix}"`:i.format==="includes"?`Nevalida karaktraro: devas inkluzivi "${i.includes}"`:i.format==="regex"?`Nevalida karaktraro: devas kongrui kun la modelo ${i.pattern}`:`Nevalida ${r[i.format]??t.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${t.divisor}`;case"unrecognized_keys":return`Nekonata${t.keys.length>1?"j":""} ŝlosilo${t.keys.length>1?"j":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${t.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${t.origin}`;default:return"Nevalida enigo"}}};function xf(){return{localeError:zf()}}const Df=()=>{const e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function n(t){return e[t]??null}const r={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},o={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Entrada inválida: se esperaba instanceof ${t.expected}, recibido ${l}`:`Entrada inválida: se esperaba ${i}, recibido ${l}`}case"invalid_value":return t.values.length===1?`Entrada inválida: se esperaba ${P(t.values[0])}`:`Opción inválida: se esperaba una de ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin),l=o[t.origin]??t.origin;return a?`Demasiado grande: se esperaba que ${l??"valor"} tuviera ${i}${t.maximum.toString()} ${a.unit??"elementos"}`:`Demasiado grande: se esperaba que ${l??"valor"} fuera ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin),l=o[t.origin]??t.origin;return a?`Demasiado pequeño: se esperaba que ${l} tuviera ${i}${t.minimum.toString()} ${a.unit}`:`Demasiado pequeño: se esperaba que ${l} fuera ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Cadena inválida: debe comenzar con "${i.prefix}"`:i.format==="ends_with"?`Cadena inválida: debe terminar en "${i.suffix}"`:i.format==="includes"?`Cadena inválida: debe incluir "${i.includes}"`:i.format==="regex"?`Cadena inválida: debe coincidir con el patrón ${i.pattern}`:`Inválido ${r[i.format]??t.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${t.divisor}`;case"unrecognized_keys":return`Llave${t.keys.length>1?"s":""} desconocida${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Llave inválida en ${o[t.origin]??t.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${o[t.origin]??t.origin}`;default:return"Entrada inválida"}}};function Ef(){return{localeError:Df()}}const Of=()=>{const e={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function n(t){return e[t]??null}const r={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},o={nan:"NaN",number:"عدد",array:"آرایه"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`ورودی نامعتبر: می‌بایست instanceof ${t.expected} می‌بود، ${l} دریافت شد`:`ورودی نامعتبر: می‌بایست ${i} می‌بود، ${l} دریافت شد`}case"invalid_value":return t.values.length===1?`ورودی نامعتبر: می‌بایست ${P(t.values[0])} می‌بود`:`گزینه نامعتبر: می‌بایست یکی از ${k(t.values,"|")} می‌بود`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`خیلی بزرگ: ${t.origin??"مقدار"} باید ${i}${t.maximum.toString()} ${a.unit??"عنصر"} باشد`:`خیلی بزرگ: ${t.origin??"مقدار"} باید ${i}${t.maximum.toString()} باشد`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`خیلی کوچک: ${t.origin} باید ${i}${t.minimum.toString()} ${a.unit} باشد`:`خیلی کوچک: ${t.origin} باید ${i}${t.minimum.toString()} باشد`}case"invalid_format":{const i=t;return i.format==="starts_with"?`رشته نامعتبر: باید با "${i.prefix}" شروع شود`:i.format==="ends_with"?`رشته نامعتبر: باید با "${i.suffix}" تمام شود`:i.format==="includes"?`رشته نامعتبر: باید شامل "${i.includes}" باشد`:i.format==="regex"?`رشته نامعتبر: باید با الگوی ${i.pattern} مطابقت داشته باشد`:`${r[i.format]??t.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${t.divisor} باشد`;case"unrecognized_keys":return`کلید${t.keys.length>1?"های":""} ناشناس: ${k(t.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${t.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${t.origin}`;default:return"ورودی نامعتبر"}}};function Nf(){return{localeError:Of()}}const jf=()=>{const e={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function n(t){return e[t]??null}const r={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Virheellinen tyyppi: odotettiin instanceof ${t.expected}, oli ${l}`:`Virheellinen tyyppi: odotettiin ${i}, oli ${l}`}case"invalid_value":return t.values.length===1?`Virheellinen syöte: täytyy olla ${P(t.values[0])}`:`Virheellinen valinta: täytyy olla yksi seuraavista: ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Liian suuri: ${a.subject} täytyy olla ${i}${t.maximum.toString()} ${a.unit}`.trim():`Liian suuri: arvon täytyy olla ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Liian pieni: ${a.subject} täytyy olla ${i}${t.minimum.toString()} ${a.unit}`.trim():`Liian pieni: arvon täytyy olla ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Virheellinen syöte: täytyy alkaa "${i.prefix}"`:i.format==="ends_with"?`Virheellinen syöte: täytyy loppua "${i.suffix}"`:i.format==="includes"?`Virheellinen syöte: täytyy sisältää "${i.includes}"`:i.format==="regex"?`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${i.pattern}`:`Virheellinen ${r[i.format]??t.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${t.divisor} monikerta`;case"unrecognized_keys":return`${t.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${k(t.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};function Uf(){return{localeError:jf()}}const Tf=()=>{const e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function n(t){return e[t]??null}const r={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},o={nan:"NaN",number:"nombre",array:"tableau"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Entrée invalide : instanceof ${t.expected} attendu, ${l} reçu`:`Entrée invalide : ${i} attendu, ${l} reçu`}case"invalid_value":return t.values.length===1?`Entrée invalide : ${P(t.values[0])} attendu`:`Option invalide : une valeur parmi ${k(t.values,"|")} attendue`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Trop grand : ${t.origin??"valeur"} doit ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"élément(s)"}`:`Trop grand : ${t.origin??"valeur"} doit être ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Trop petit : ${t.origin} doit ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`Trop petit : ${t.origin} doit être ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Chaîne invalide : doit commencer par "${i.prefix}"`:i.format==="ends_with"?`Chaîne invalide : doit se terminer par "${i.suffix}"`:i.format==="includes"?`Chaîne invalide : doit inclure "${i.includes}"`:i.format==="regex"?`Chaîne invalide : doit correspondre au modèle ${i.pattern}`:`${r[i.format]??t.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${t.divisor}`;case"unrecognized_keys":return`Clé${t.keys.length>1?"s":""} non reconnue${t.keys.length>1?"s":""} : ${k(t.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${t.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${t.origin}`;default:return"Entrée invalide"}}};function Pf(){return{localeError:Tf()}}const Cf=()=>{const e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function n(t){return e[t]??null}const r={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Entrée invalide : attendu instanceof ${t.expected}, reçu ${l}`:`Entrée invalide : attendu ${i}, reçu ${l}`}case"invalid_value":return t.values.length===1?`Entrée invalide : attendu ${P(t.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"≤":"<",a=n(t.origin);return a?`Trop grand : attendu que ${t.origin??"la valeur"} ait ${i}${t.maximum.toString()} ${a.unit}`:`Trop grand : attendu que ${t.origin??"la valeur"} soit ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?"≥":">",a=n(t.origin);return a?`Trop petit : attendu que ${t.origin} ait ${i}${t.minimum.toString()} ${a.unit}`:`Trop petit : attendu que ${t.origin} soit ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Chaîne invalide : doit commencer par "${i.prefix}"`:i.format==="ends_with"?`Chaîne invalide : doit se terminer par "${i.suffix}"`:i.format==="includes"?`Chaîne invalide : doit inclure "${i.includes}"`:i.format==="regex"?`Chaîne invalide : doit correspondre au motif ${i.pattern}`:`${r[i.format]??t.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${t.divisor}`;case"unrecognized_keys":return`Clé${t.keys.length>1?"s":""} non reconnue${t.keys.length>1?"s":""} : ${k(t.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${t.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${t.origin}`;default:return"Entrée invalide"}}};function Af(){return{localeError:Cf()}}const Zf=()=>{const e={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},n={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},r=u=>u?e[u]:void 0,o=u=>{const d=r(u);return d?d.label:u??e.unknown.label},t=u=>`ה${o(u)}`,i=u=>{const d=r(u);return((d==null?void 0:d.gender)??"m")==="f"?"צריכה להיות":"צריך להיות"},a=u=>u?n[u]??null:null,l={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},s={nan:"NaN"};return u=>{var d;switch(u.code){case"invalid_type":{const m=u.expected,p=s[m??""]??o(m),v=C(u.input),h=s[v]??((d=e[v])==null?void 0:d.label)??v;return/^[A-Z]/.test(u.expected)?`קלט לא תקין: צריך להיות instanceof ${u.expected}, התקבל ${h}`:`קלט לא תקין: צריך להיות ${p}, התקבל ${h}`}case"invalid_value":{if(u.values.length===1)return`ערך לא תקין: הערך חייב להיות ${P(u.values[0])}`;const m=u.values.map(h=>P(h));if(u.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${m[0]} או ${m[1]}`;const p=m[m.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${m.slice(0,-1).join(", ")} או ${p}`}case"too_big":{const m=a(u.origin),p=t(u.origin??"value");if(u.origin==="string")return`${(m==null?void 0:m.longLabel)??"ארוך"} מדי: ${p} צריכה להכיל ${u.maximum.toString()} ${(m==null?void 0:m.unit)??""} ${u.inclusive?"או פחות":"לכל היותר"}`.trim();if(u.origin==="number"){const f=u.inclusive?`קטן או שווה ל-${u.maximum}`:`קטן מ-${u.maximum}`;return`גדול מדי: ${p} צריך להיות ${f}`}if(u.origin==="array"||u.origin==="set"){const f=u.origin==="set"?"צריכה":"צריך",$=u.inclusive?`${u.maximum} ${(m==null?void 0:m.unit)??""} או פחות`:`פחות מ-${u.maximum} ${(m==null?void 0:m.unit)??""}`;return`גדול מדי: ${p} ${f} להכיל ${$}`.trim()}const v=u.inclusive?"<=":"<",h=i(u.origin??"value");return m!=null&&m.unit?`${m.longLabel} מדי: ${p} ${h} ${v}${u.maximum.toString()} ${m.unit}`:`${(m==null?void 0:m.longLabel)??"גדול"} מדי: ${p} ${h} ${v}${u.maximum.toString()}`}case"too_small":{const m=a(u.origin),p=t(u.origin??"value");if(u.origin==="string")return`${(m==null?void 0:m.shortLabel)??"קצר"} מדי: ${p} צריכה להכיל ${u.minimum.toString()} ${(m==null?void 0:m.unit)??""} ${u.inclusive?"או יותר":"לפחות"}`.trim();if(u.origin==="number"){const f=u.inclusive?`גדול או שווה ל-${u.minimum}`:`גדול מ-${u.minimum}`;return`קטן מדי: ${p} צריך להיות ${f}`}if(u.origin==="array"||u.origin==="set"){const f=u.origin==="set"?"צריכה":"צריך";if(u.minimum===1&&u.inclusive){const _=(u.origin==="set","לפחות פריט אחד");return`קטן מדי: ${p} ${f} להכיל ${_}`}const $=u.inclusive?`${u.minimum} ${(m==null?void 0:m.unit)??""} או יותר`:`יותר מ-${u.minimum} ${(m==null?void 0:m.unit)??""}`;return`קטן מדי: ${p} ${f} להכיל ${$}`.trim()}const v=u.inclusive?">=":">",h=i(u.origin??"value");return m!=null&&m.unit?`${m.shortLabel} מדי: ${p} ${h} ${v}${u.minimum.toString()} ${m.unit}`:`${(m==null?void 0:m.shortLabel)??"קטן"} מדי: ${p} ${h} ${v}${u.minimum.toString()}`}case"invalid_format":{const m=u;if(m.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${m.prefix}"`;if(m.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${m.suffix}"`;if(m.format==="includes")return`המחרוזת חייבת לכלול "${m.includes}"`;if(m.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${m.pattern}`;const p=l[m.format],v=(p==null?void 0:p.label)??m.format,f=((p==null?void 0:p.gender)??"m")==="f"?"תקינה":"תקין";return`${v} לא ${f}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${u.divisor}`;case"unrecognized_keys":return`מפתח${u.keys.length>1?"ות":""} לא מזוה${u.keys.length>1?"ים":"ה"}: ${k(u.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${t(u.origin??"array")}`;default:return"קלט לא תקין"}}};function Bf(){return{localeError:Zf()}}const Mf=()=>{const e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function n(t){return e[t]??null}const r={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},o={nan:"NaN",number:"szám",array:"tömb"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Érvénytelen bemenet: a várt érték instanceof ${t.expected}, a kapott érték ${l}`:`Érvénytelen bemenet: a várt érték ${i}, a kapott érték ${l}`}case"invalid_value":return t.values.length===1?`Érvénytelen bemenet: a várt érték ${P(t.values[0])}`:`Érvénytelen opció: valamelyik érték várt ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Túl nagy: ${t.origin??"érték"} mérete túl nagy ${i}${t.maximum.toString()} ${a.unit??"elem"}`:`Túl nagy: a bemeneti érték ${t.origin??"érték"} túl nagy: ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Túl kicsi: a bemeneti érték ${t.origin} mérete túl kicsi ${i}${t.minimum.toString()} ${a.unit}`:`Túl kicsi: a bemeneti érték ${t.origin} túl kicsi ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Érvénytelen string: "${i.prefix}" értékkel kell kezdődnie`:i.format==="ends_with"?`Érvénytelen string: "${i.suffix}" értékkel kell végződnie`:i.format==="includes"?`Érvénytelen string: "${i.includes}" értéket kell tartalmaznia`:i.format==="regex"?`Érvénytelen string: ${i.pattern} mintának kell megfelelnie`:`Érvénytelen ${r[i.format]??t.format}`}case"not_multiple_of":return`Érvénytelen szám: ${t.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${t.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${t.origin}`;default:return"Érvénytelen bemenet"}}};function Vf(){return{localeError:Mf()}}function wc(e,n,r){return Math.abs(e)===1?n:r}function it(e){if(!e)return"";const n=["ա","ե","ը","ի","ո","ու","օ"],r=e[e.length-1];return e+(n.includes(r)?"ն":"ը")}const Ff=()=>{const e={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}};function n(t){return e[t]??null}const r={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},o={nan:"NaN",number:"թիվ",array:"զանգված"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Սխալ մուտքագրում․ սպասվում էր instanceof ${t.expected}, ստացվել է ${l}`:`Սխալ մուտքագրում․ սպասվում էր ${i}, ստացվել է ${l}`}case"invalid_value":return t.values.length===1?`Սխալ մուտքագրում․ սպասվում էր ${P(t.values[1])}`:`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);if(a){const l=Number(t.maximum),s=wc(l,a.unit.one,a.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${it(t.origin??"արժեք")} կունենա ${i}${t.maximum.toString()} ${s}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${it(t.origin??"արժեք")} լինի ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);if(a){const l=Number(t.minimum),s=wc(l,a.unit.one,a.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${it(t.origin)} կունենա ${i}${t.minimum.toString()} ${s}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${it(t.origin)} լինի ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Սխալ տող․ պետք է սկսվի "${i.prefix}"-ով`:i.format==="ends_with"?`Սխալ տող․ պետք է ավարտվի "${i.suffix}"-ով`:i.format==="includes"?`Սխալ տող․ պետք է պարունակի "${i.includes}"`:i.format==="regex"?`Սխալ տող․ պետք է համապատասխանի ${i.pattern} ձևաչափին`:`Սխալ ${r[i.format]??t.format}`}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${t.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${t.keys.length>1?"ներ":""}. ${k(t.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${it(t.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${it(t.origin)}-ում`;default:return"Սխալ մուտքագրում"}}};function Lf(){return{localeError:Ff()}}const Rf=()=>{const e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function n(t){return e[t]??null}const r={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Input tidak valid: diharapkan instanceof ${t.expected}, diterima ${l}`:`Input tidak valid: diharapkan ${i}, diterima ${l}`}case"invalid_value":return t.values.length===1?`Input tidak valid: diharapkan ${P(t.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Terlalu besar: diharapkan ${t.origin??"value"} memiliki ${i}${t.maximum.toString()} ${a.unit??"elemen"}`:`Terlalu besar: diharapkan ${t.origin??"value"} menjadi ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Terlalu kecil: diharapkan ${t.origin} memiliki ${i}${t.minimum.toString()} ${a.unit}`:`Terlalu kecil: diharapkan ${t.origin} menjadi ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`String tidak valid: harus dimulai dengan "${i.prefix}"`:i.format==="ends_with"?`String tidak valid: harus berakhir dengan "${i.suffix}"`:i.format==="includes"?`String tidak valid: harus menyertakan "${i.includes}"`:i.format==="regex"?`String tidak valid: harus sesuai pola ${i.pattern}`:`${r[i.format]??t.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${t.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${t.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${t.origin}`;default:return"Input tidak valid"}}};function Jf(){return{localeError:Rf()}}const qf=()=>{const e={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function n(t){return e[t]??null}const r={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},o={nan:"NaN",number:"númer",array:"fylki"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Rangt gildi: Þú slóst inn ${l} þar sem á að vera instanceof ${t.expected}`:`Rangt gildi: Þú slóst inn ${l} þar sem á að vera ${i}`}case"invalid_value":return t.values.length===1?`Rangt gildi: gert ráð fyrir ${P(t.values[0])}`:`Ógilt val: má vera eitt af eftirfarandi ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Of stórt: gert er ráð fyrir að ${t.origin??"gildi"} hafi ${i}${t.maximum.toString()} ${a.unit??"hluti"}`:`Of stórt: gert er ráð fyrir að ${t.origin??"gildi"} sé ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Of lítið: gert er ráð fyrir að ${t.origin} hafi ${i}${t.minimum.toString()} ${a.unit}`:`Of lítið: gert er ráð fyrir að ${t.origin} sé ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Ógildur strengur: verður að byrja á "${i.prefix}"`:i.format==="ends_with"?`Ógildur strengur: verður að enda á "${i.suffix}"`:i.format==="includes"?`Ógildur strengur: verður að innihalda "${i.includes}"`:i.format==="regex"?`Ógildur strengur: verður að fylgja mynstri ${i.pattern}`:`Rangt ${r[i.format]??t.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${t.divisor}`;case"unrecognized_keys":return`Óþekkt ${t.keys.length>1?"ir lyklar":"ur lykill"}: ${k(t.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${t.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${t.origin}`;default:return"Rangt gildi"}}};function Yf(){return{localeError:qf()}}const Kf=()=>{const e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function n(t){return e[t]??null}const r={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},o={nan:"NaN",number:"numero",array:"vettore"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Input non valido: atteso instanceof ${t.expected}, ricevuto ${l}`:`Input non valido: atteso ${i}, ricevuto ${l}`}case"invalid_value":return t.values.length===1?`Input non valido: atteso ${P(t.values[0])}`:`Opzione non valida: atteso uno tra ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Troppo grande: ${t.origin??"valore"} deve avere ${i}${t.maximum.toString()} ${a.unit??"elementi"}`:`Troppo grande: ${t.origin??"valore"} deve essere ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Troppo piccolo: ${t.origin} deve avere ${i}${t.minimum.toString()} ${a.unit}`:`Troppo piccolo: ${t.origin} deve essere ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Stringa non valida: deve iniziare con "${i.prefix}"`:i.format==="ends_with"?`Stringa non valida: deve terminare con "${i.suffix}"`:i.format==="includes"?`Stringa non valida: deve includere "${i.includes}"`:i.format==="regex"?`Stringa non valida: deve corrispondere al pattern ${i.pattern}`:`Invalid ${r[i.format]??t.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${t.divisor}`;case"unrecognized_keys":return`Chiav${t.keys.length>1?"i":"e"} non riconosciut${t.keys.length>1?"e":"a"}: ${k(t.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${t.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${t.origin}`;default:return"Input non valido"}}};function Wf(){return{localeError:Kf()}}const Gf=()=>{const e={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function n(t){return e[t]??null}const r={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},o={nan:"NaN",number:"数値",array:"配列"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`無効な入力: instanceof ${t.expected}が期待されましたが、${l}が入力されました`:`無効な入力: ${i}が期待されましたが、${l}が入力されました`}case"invalid_value":return t.values.length===1?`無効な入力: ${P(t.values[0])}が期待されました`:`無効な選択: ${k(t.values,"、")}のいずれかである必要があります`;case"too_big":{const i=t.inclusive?"以下である":"より小さい",a=n(t.origin);return a?`大きすぎる値: ${t.origin??"値"}は${t.maximum.toString()}${a.unit??"要素"}${i}必要があります`:`大きすぎる値: ${t.origin??"値"}は${t.maximum.toString()}${i}必要があります`}case"too_small":{const i=t.inclusive?"以上である":"より大きい",a=n(t.origin);return a?`小さすぎる値: ${t.origin}は${t.minimum.toString()}${a.unit}${i}必要があります`:`小さすぎる値: ${t.origin}は${t.minimum.toString()}${i}必要があります`}case"invalid_format":{const i=t;return i.format==="starts_with"?`無効な文字列: "${i.prefix}"で始まる必要があります`:i.format==="ends_with"?`無効な文字列: "${i.suffix}"で終わる必要があります`:i.format==="includes"?`無効な文字列: "${i.includes}"を含む必要があります`:i.format==="regex"?`無効な文字列: パターン${i.pattern}に一致する必要があります`:`無効な${r[i.format]??t.format}`}case"not_multiple_of":return`無効な数値: ${t.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${t.keys.length>1?"群":""}: ${k(t.keys,"、")}`;case"invalid_key":return`${t.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${t.origin}内の無効な値`;default:return"無効な入力"}}};function Hf(){return{localeError:Gf()}}const Xf=()=>{const e={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function n(t){return e[t]??null}const r={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი",base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},o={nan:"NaN",number:"რიცხვი",string:"სტრინგი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`არასწორი შეყვანა: მოსალოდნელი instanceof ${t.expected}, მიღებული ${l}`:`არასწორი შეყვანა: მოსალოდნელი ${i}, მიღებული ${l}`}case"invalid_value":return t.values.length===1?`არასწორი შეყვანა: მოსალოდნელი ${P(t.values[0])}`:`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${k(t.values,"|")}-დან`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`ზედმეტად დიდი: მოსალოდნელი ${t.origin??"მნიშვნელობა"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit}`:`ზედმეტად დიდი: მოსალოდნელი ${t.origin??"მნიშვნელობა"} იყოს ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`ზედმეტად პატარა: მოსალოდნელი ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`ზედმეტად პატარა: მოსალოდნელი ${t.origin} იყოს ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`არასწორი სტრინგი: უნდა იწყებოდეს "${i.prefix}"-ით`:i.format==="ends_with"?`არასწორი სტრინგი: უნდა მთავრდებოდეს "${i.suffix}"-ით`:i.format==="includes"?`არასწორი სტრინგი: უნდა შეიცავდეს "${i.includes}"-ს`:i.format==="regex"?`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${i.pattern}`:`არასწორი ${r[i.format]??t.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${t.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${t.keys.length>1?"ები":"ი"}: ${k(t.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${t.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${t.origin}-ში`;default:return"არასწორი შეყვანა"}}};function Qf(){return{localeError:Xf()}}const ep=()=>{const e={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function n(t){return e[t]??null}const r={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},o={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${t.expected} ប៉ុន្តែទទួលបាន ${l}`:`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${i} ប៉ុន្តែទទួលបាន ${l}`}case"invalid_value":return t.values.length===1?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${P(t.values[0])}`:`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`ធំពេក៖ ត្រូវការ ${t.origin??"តម្លៃ"} ${i} ${t.maximum.toString()} ${a.unit??"ធាតុ"}`:`ធំពេក៖ ត្រូវការ ${t.origin??"តម្លៃ"} ${i} ${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`តូចពេក៖ ត្រូវការ ${t.origin} ${i} ${t.minimum.toString()} ${a.unit}`:`តូចពេក៖ ត្រូវការ ${t.origin} ${i} ${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${i.prefix}"`:i.format==="ends_with"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${i.suffix}"`:i.format==="includes"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${i.includes}"`:i.format==="regex"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${i.pattern}`:`មិនត្រឹមត្រូវ៖ ${r[i.format]??t.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${t.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${k(t.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${t.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${t.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};function Ic(){return{localeError:ep()}}function tp(){return Ic()}const np=()=>{const e={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function n(t){return e[t]??null}const r={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`잘못된 입력: 예상 타입은 instanceof ${t.expected}, 받은 타입은 ${l}입니다`:`잘못된 입력: 예상 타입은 ${i}, 받은 타입은 ${l}입니다`}case"invalid_value":return t.values.length===1?`잘못된 입력: 값은 ${P(t.values[0])} 이어야 합니다`:`잘못된 옵션: ${k(t.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{const i=t.inclusive?"이하":"미만",a=i==="미만"?"이어야 합니다":"여야 합니다",l=n(t.origin),s=(l==null?void 0:l.unit)??"요소";return l?`${t.origin??"값"}이 너무 큽니다: ${t.maximum.toString()}${s} ${i}${a}`:`${t.origin??"값"}이 너무 큽니다: ${t.maximum.toString()} ${i}${a}`}case"too_small":{const i=t.inclusive?"이상":"초과",a=i==="이상"?"이어야 합니다":"여야 합니다",l=n(t.origin),s=(l==null?void 0:l.unit)??"요소";return l?`${t.origin??"값"}이 너무 작습니다: ${t.minimum.toString()}${s} ${i}${a}`:`${t.origin??"값"}이 너무 작습니다: ${t.minimum.toString()} ${i}${a}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`잘못된 문자열: "${i.prefix}"(으)로 시작해야 합니다`:i.format==="ends_with"?`잘못된 문자열: "${i.suffix}"(으)로 끝나야 합니다`:i.format==="includes"?`잘못된 문자열: "${i.includes}"을(를) 포함해야 합니다`:i.format==="regex"?`잘못된 문자열: 정규식 ${i.pattern} 패턴과 일치해야 합니다`:`잘못된 ${r[i.format]??t.format}`}case"not_multiple_of":return`잘못된 숫자: ${t.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${k(t.keys,", ")}`;case"invalid_key":return`잘못된 키: ${t.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${t.origin}`;default:return"잘못된 입력"}}};function rp(){return{localeError:np()}}const wt=e=>e.charAt(0).toUpperCase()+e.slice(1);function zc(e){const n=Math.abs(e),r=n%10,o=n%100;return o>=11&&o<=19||r===0?"many":r===1?"one":"few"}const ip=()=>{const e={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function n(t,i,a,l){const s=e[t]??null;return s===null?s:{unit:s.unit[i],verb:s.verb[l][a?"inclusive":"notInclusive"]}}const r={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},o={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Gautas tipas ${l}, o tikėtasi - instanceof ${t.expected}`:`Gautas tipas ${l}, o tikėtasi - ${i}`}case"invalid_value":return t.values.length===1?`Privalo būti ${P(t.values[0])}`:`Privalo būti vienas iš ${k(t.values,"|")} pasirinkimų`;case"too_big":{const i=o[t.origin]??t.origin,a=n(t.origin,zc(Number(t.maximum)),t.inclusive??!1,"smaller");if(a!=null&&a.verb)return`${wt(i??t.origin??"reikšmė")} ${a.verb} ${t.maximum.toString()} ${a.unit??"elementų"}`;const l=t.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${wt(i??t.origin??"reikšmė")} turi būti ${l} ${t.maximum.toString()} ${a==null?void 0:a.unit}`}case"too_small":{const i=o[t.origin]??t.origin,a=n(t.origin,zc(Number(t.minimum)),t.inclusive??!1,"bigger");if(a!=null&&a.verb)return`${wt(i??t.origin??"reikšmė")} ${a.verb} ${t.minimum.toString()} ${a.unit??"elementų"}`;const l=t.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${wt(i??t.origin??"reikšmė")} turi būti ${l} ${t.minimum.toString()} ${a==null?void 0:a.unit}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Eilutė privalo prasidėti "${i.prefix}"`:i.format==="ends_with"?`Eilutė privalo pasibaigti "${i.suffix}"`:i.format==="includes"?`Eilutė privalo įtraukti "${i.includes}"`:i.format==="regex"?`Eilutė privalo atitikti ${i.pattern}`:`Neteisingas ${r[i.format]??t.format}`}case"not_multiple_of":return`Skaičius privalo būti ${t.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${t.keys.length>1?"i":"as"} rakt${t.keys.length>1?"ai":"as"}: ${k(t.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{const i=o[t.origin]??t.origin;return`${wt(i??t.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};function op(){return{localeError:ip()}}const ap=()=>{const e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function n(t){return e[t]??null}const r={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},o={nan:"NaN",number:"број",array:"низа"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Грешен внес: се очекува instanceof ${t.expected}, примено ${l}`:`Грешен внес: се очекува ${i}, примено ${l}`}case"invalid_value":return t.values.length===1?`Invalid input: expected ${P(t.values[0])}`:`Грешана опција: се очекува една ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Премногу голем: се очекува ${t.origin??"вредноста"} да има ${i}${t.maximum.toString()} ${a.unit??"елементи"}`:`Премногу голем: се очекува ${t.origin??"вредноста"} да биде ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Премногу мал: се очекува ${t.origin} да има ${i}${t.minimum.toString()} ${a.unit}`:`Премногу мал: се очекува ${t.origin} да биде ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Неважечка низа: мора да започнува со "${i.prefix}"`:i.format==="ends_with"?`Неважечка низа: мора да завршува со "${i.suffix}"`:i.format==="includes"?`Неважечка низа: мора да вклучува "${i.includes}"`:i.format==="regex"?`Неважечка низа: мора да одгоара на патернот ${i.pattern}`:`Invalid ${r[i.format]??t.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${k(t.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${t.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${t.origin}`;default:return"Грешен внес"}}};function lp(){return{localeError:ap()}}const cp=()=>{const e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function n(t){return e[t]??null}const r={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},o={nan:"NaN",number:"nombor"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Input tidak sah: dijangka instanceof ${t.expected}, diterima ${l}`:`Input tidak sah: dijangka ${i}, diterima ${l}`}case"invalid_value":return t.values.length===1?`Input tidak sah: dijangka ${P(t.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Terlalu besar: dijangka ${t.origin??"nilai"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"elemen"}`:`Terlalu besar: dijangka ${t.origin??"nilai"} adalah ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Terlalu kecil: dijangka ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`Terlalu kecil: dijangka ${t.origin} adalah ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`String tidak sah: mesti bermula dengan "${i.prefix}"`:i.format==="ends_with"?`String tidak sah: mesti berakhir dengan "${i.suffix}"`:i.format==="includes"?`String tidak sah: mesti mengandungi "${i.includes}"`:i.format==="regex"?`String tidak sah: mesti sepadan dengan corak ${i.pattern}`:`${r[i.format]??t.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${t.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${k(t.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${t.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${t.origin}`;default:return"Input tidak sah"}}};function up(){return{localeError:cp()}}const sp=()=>{const e={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function n(t){return e[t]??null}const r={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},o={nan:"NaN",number:"getal"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Ongeldige invoer: verwacht instanceof ${t.expected}, ontving ${l}`:`Ongeldige invoer: verwacht ${i}, ontving ${l}`}case"invalid_value":return t.values.length===1?`Ongeldige invoer: verwacht ${P(t.values[0])}`:`Ongeldige optie: verwacht één van ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin),l=t.origin==="date"?"laat":t.origin==="string"?"lang":"groot";return a?`Te ${l}: verwacht dat ${t.origin??"waarde"} ${i}${t.maximum.toString()} ${a.unit??"elementen"} ${a.verb}`:`Te ${l}: verwacht dat ${t.origin??"waarde"} ${i}${t.maximum.toString()} is`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin),l=t.origin==="date"?"vroeg":t.origin==="string"?"kort":"klein";return a?`Te ${l}: verwacht dat ${t.origin} ${i}${t.minimum.toString()} ${a.unit} ${a.verb}`:`Te ${l}: verwacht dat ${t.origin} ${i}${t.minimum.toString()} is`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Ongeldige tekst: moet met "${i.prefix}" beginnen`:i.format==="ends_with"?`Ongeldige tekst: moet op "${i.suffix}" eindigen`:i.format==="includes"?`Ongeldige tekst: moet "${i.includes}" bevatten`:i.format==="regex"?`Ongeldige tekst: moet overeenkomen met patroon ${i.pattern}`:`Ongeldig: ${r[i.format]??t.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${t.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${t.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${t.origin}`;default:return"Ongeldige invoer"}}};function dp(){return{localeError:sp()}}const mp=()=>{const e={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function n(t){return e[t]??null}const r={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},o={nan:"NaN",number:"tall",array:"liste"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Ugyldig input: forventet instanceof ${t.expected}, fikk ${l}`:`Ugyldig input: forventet ${i}, fikk ${l}`}case"invalid_value":return t.values.length===1?`Ugyldig verdi: forventet ${P(t.values[0])}`:`Ugyldig valg: forventet en av ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`For stor(t): forventet ${t.origin??"value"} til å ha ${i}${t.maximum.toString()} ${a.unit??"elementer"}`:`For stor(t): forventet ${t.origin??"value"} til å ha ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`For lite(n): forventet ${t.origin} til å ha ${i}${t.minimum.toString()} ${a.unit}`:`For lite(n): forventet ${t.origin} til å ha ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Ugyldig streng: må starte med "${i.prefix}"`:i.format==="ends_with"?`Ugyldig streng: må ende med "${i.suffix}"`:i.format==="includes"?`Ugyldig streng: må inneholde "${i.includes}"`:i.format==="regex"?`Ugyldig streng: må matche mønsteret ${i.pattern}`:`Ugyldig ${r[i.format]??t.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${k(t.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${t.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${t.origin}`;default:return"Ugyldig input"}}};function fp(){return{localeError:mp()}}const pp=()=>{const e={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function n(t){return e[t]??null}const r={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},o={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Fâsit giren: umulan instanceof ${t.expected}, alınan ${l}`:`Fâsit giren: umulan ${i}, alınan ${l}`}case"invalid_value":return t.values.length===1?`Fâsit giren: umulan ${P(t.values[0])}`:`Fâsit tercih: mûteberler ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Fazla büyük: ${t.origin??"value"}, ${i}${t.maximum.toString()} ${a.unit??"elements"} sahip olmalıydı.`:`Fazla büyük: ${t.origin??"value"}, ${i}${t.maximum.toString()} olmalıydı.`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Fazla küçük: ${t.origin}, ${i}${t.minimum.toString()} ${a.unit} sahip olmalıydı.`:`Fazla küçük: ${t.origin}, ${i}${t.minimum.toString()} olmalıydı.`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Fâsit metin: "${i.prefix}" ile başlamalı.`:i.format==="ends_with"?`Fâsit metin: "${i.suffix}" ile bitmeli.`:i.format==="includes"?`Fâsit metin: "${i.includes}" ihtivâ etmeli.`:i.format==="regex"?`Fâsit metin: ${i.pattern} nakşına uymalı.`:`Fâsit ${r[i.format]??t.format}`}case"not_multiple_of":return`Fâsit sayı: ${t.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`${t.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${t.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};function gp(){return{localeError:pp()}}const vp=()=>{const e={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function n(t){return e[t]??null}const r={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},o={nan:"NaN",number:"عدد",array:"ارې"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`ناسم ورودي: باید instanceof ${t.expected} وای, مګر ${l} ترلاسه شو`:`ناسم ورودي: باید ${i} وای, مګر ${l} ترلاسه شو`}case"invalid_value":return t.values.length===1?`ناسم ورودي: باید ${P(t.values[0])} وای`:`ناسم انتخاب: باید یو له ${k(t.values,"|")} څخه وای`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`ډیر لوی: ${t.origin??"ارزښت"} باید ${i}${t.maximum.toString()} ${a.unit??"عنصرونه"} ولري`:`ډیر لوی: ${t.origin??"ارزښت"} باید ${i}${t.maximum.toString()} وي`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`ډیر کوچنی: ${t.origin} باید ${i}${t.minimum.toString()} ${a.unit} ولري`:`ډیر کوچنی: ${t.origin} باید ${i}${t.minimum.toString()} وي`}case"invalid_format":{const i=t;return i.format==="starts_with"?`ناسم متن: باید د "${i.prefix}" سره پیل شي`:i.format==="ends_with"?`ناسم متن: باید د "${i.suffix}" سره پای ته ورسيږي`:i.format==="includes"?`ناسم متن: باید "${i.includes}" ولري`:i.format==="regex"?`ناسم متن: باید د ${i.pattern} سره مطابقت ولري`:`${r[i.format]??t.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${t.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${t.keys.length>1?"کلیډونه":"کلیډ"}: ${k(t.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${t.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${t.origin} کې`;default:return"ناسمه ورودي"}}};function hp(){return{localeError:vp()}}const $p=()=>{const e={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function n(t){return e[t]??null}const r={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},o={nan:"NaN",number:"liczba",array:"tablica"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${t.expected}, otrzymano ${l}`:`Nieprawidłowe dane wejściowe: oczekiwano ${i}, otrzymano ${l}`}case"invalid_value":return t.values.length===1?`Nieprawidłowe dane wejściowe: oczekiwano ${P(t.values[0])}`:`Nieprawidłowa opcja: oczekiwano jednej z wartości ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Za duża wartość: oczekiwano, że ${t.origin??"wartość"} będzie mieć ${i}${t.maximum.toString()} ${a.unit??"elementów"}`:`Zbyt duż(y/a/e): oczekiwano, że ${t.origin??"wartość"} będzie wynosić ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Za mała wartość: oczekiwano, że ${t.origin??"wartość"} będzie mieć ${i}${t.minimum.toString()} ${a.unit??"elementów"}`:`Zbyt mał(y/a/e): oczekiwano, że ${t.origin??"wartość"} będzie wynosić ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Nieprawidłowy ciąg znaków: musi zaczynać się od "${i.prefix}"`:i.format==="ends_with"?`Nieprawidłowy ciąg znaków: musi kończyć się na "${i.suffix}"`:i.format==="includes"?`Nieprawidłowy ciąg znaków: musi zawierać "${i.includes}"`:i.format==="regex"?`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${i.pattern}`:`Nieprawidłow(y/a/e) ${r[i.format]??t.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${t.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${t.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${t.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};function bp(){return{localeError:$p()}}const _p=()=>{const e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function n(t){return e[t]??null}const r={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},o={nan:"NaN",number:"número",null:"nulo"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Tipo inválido: esperado instanceof ${t.expected}, recebido ${l}`:`Tipo inválido: esperado ${i}, recebido ${l}`}case"invalid_value":return t.values.length===1?`Entrada inválida: esperado ${P(t.values[0])}`:`Opção inválida: esperada uma das ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Muito grande: esperado que ${t.origin??"valor"} tivesse ${i}${t.maximum.toString()} ${a.unit??"elementos"}`:`Muito grande: esperado que ${t.origin??"valor"} fosse ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Muito pequeno: esperado que ${t.origin} tivesse ${i}${t.minimum.toString()} ${a.unit}`:`Muito pequeno: esperado que ${t.origin} fosse ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Texto inválido: deve começar com "${i.prefix}"`:i.format==="ends_with"?`Texto inválido: deve terminar com "${i.suffix}"`:i.format==="includes"?`Texto inválido: deve incluir "${i.includes}"`:i.format==="regex"?`Texto inválido: deve corresponder ao padrão ${i.pattern}`:`${r[i.format]??t.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${t.divisor}`;case"unrecognized_keys":return`Chave${t.keys.length>1?"s":""} desconhecida${t.keys.length>1?"s":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Chave inválida em ${t.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${t.origin}`;default:return"Campo inválido"}}};function yp(){return{localeError:_p()}}function xc(e,n,r,o){const t=Math.abs(e),i=t%10,a=t%100;return a>=11&&a<=19?o:i===1?n:i>=2&&i<=4?r:o}const kp=()=>{const e={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function n(t){return e[t]??null}const r={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},o={nan:"NaN",number:"число",array:"массив"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Неверный ввод: ожидалось instanceof ${t.expected}, получено ${l}`:`Неверный ввод: ожидалось ${i}, получено ${l}`}case"invalid_value":return t.values.length===1?`Неверный ввод: ожидалось ${P(t.values[0])}`:`Неверный вариант: ожидалось одно из ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);if(a){const l=Number(t.maximum),s=xc(l,a.unit.one,a.unit.few,a.unit.many);return`Слишком большое значение: ожидалось, что ${t.origin??"значение"} будет иметь ${i}${t.maximum.toString()} ${s}`}return`Слишком большое значение: ожидалось, что ${t.origin??"значение"} будет ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);if(a){const l=Number(t.minimum),s=xc(l,a.unit.one,a.unit.few,a.unit.many);return`Слишком маленькое значение: ожидалось, что ${t.origin} будет иметь ${i}${t.minimum.toString()} ${s}`}return`Слишком маленькое значение: ожидалось, что ${t.origin} будет ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Неверная строка: должна начинаться с "${i.prefix}"`:i.format==="ends_with"?`Неверная строка: должна заканчиваться на "${i.suffix}"`:i.format==="includes"?`Неверная строка: должна содержать "${i.includes}"`:i.format==="regex"?`Неверная строка: должна соответствовать шаблону ${i.pattern}`:`Неверный ${r[i.format]??t.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${t.divisor}`;case"unrecognized_keys":return`Нераспознанн${t.keys.length>1?"ые":"ый"} ключ${t.keys.length>1?"и":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${t.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${t.origin}`;default:return"Неверные входные данные"}}};function Sp(){return{localeError:kp()}}const wp=()=>{const e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function n(t){return e[t]??null}const r={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},o={nan:"NaN",number:"število",array:"tabela"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Neveljaven vnos: pričakovano instanceof ${t.expected}, prejeto ${l}`:`Neveljaven vnos: pričakovano ${i}, prejeto ${l}`}case"invalid_value":return t.values.length===1?`Neveljaven vnos: pričakovano ${P(t.values[0])}`:`Neveljavna možnost: pričakovano eno izmed ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Preveliko: pričakovano, da bo ${t.origin??"vrednost"} imelo ${i}${t.maximum.toString()} ${a.unit??"elementov"}`:`Preveliko: pričakovano, da bo ${t.origin??"vrednost"} ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Premajhno: pričakovano, da bo ${t.origin} imelo ${i}${t.minimum.toString()} ${a.unit}`:`Premajhno: pričakovano, da bo ${t.origin} ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Neveljaven niz: mora se začeti z "${i.prefix}"`:i.format==="ends_with"?`Neveljaven niz: mora se končati z "${i.suffix}"`:i.format==="includes"?`Neveljaven niz: mora vsebovati "${i.includes}"`:i.format==="regex"?`Neveljaven niz: mora ustrezati vzorcu ${i.pattern}`:`Neveljaven ${r[i.format]??t.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${t.divisor}`;case"unrecognized_keys":return`Neprepoznan${t.keys.length>1?"i ključi":" ključ"}: ${k(t.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${t.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${t.origin}`;default:return"Neveljaven vnos"}}};function Ip(){return{localeError:wp()}}const zp=()=>{const e={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function n(t){return e[t]??null}const r={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},o={nan:"NaN",number:"antal",array:"lista"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Ogiltig inmatning: förväntat instanceof ${t.expected}, fick ${l}`:`Ogiltig inmatning: förväntat ${i}, fick ${l}`}case"invalid_value":return t.values.length===1?`Ogiltig inmatning: förväntat ${P(t.values[0])}`:`Ogiltigt val: förväntade en av ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`För stor(t): förväntade ${t.origin??"värdet"} att ha ${i}${t.maximum.toString()} ${a.unit??"element"}`:`För stor(t): förväntat ${t.origin??"värdet"} att ha ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`För lite(t): förväntade ${t.origin??"värdet"} att ha ${i}${t.minimum.toString()} ${a.unit}`:`För lite(t): förväntade ${t.origin??"värdet"} att ha ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Ogiltig sträng: måste börja med "${i.prefix}"`:i.format==="ends_with"?`Ogiltig sträng: måste sluta med "${i.suffix}"`:i.format==="includes"?`Ogiltig sträng: måste innehålla "${i.includes}"`:i.format==="regex"?`Ogiltig sträng: måste matcha mönstret "${i.pattern}"`:`Ogiltig(t) ${r[i.format]??t.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${k(t.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${t.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${t.origin??"värdet"}`;default:return"Ogiltig input"}}};function xp(){return{localeError:zp()}}const Dp=()=>{const e={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function n(t){return e[t]??null}const r={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},o={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${t.expected}, பெறப்பட்டது ${l}`:`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${i}, பெறப்பட்டது ${l}`}case"invalid_value":return t.values.length===1?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${P(t.values[0])}`:`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${k(t.values,"|")} இல் ஒன்று`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${t.origin??"மதிப்பு"} ${i}${t.maximum.toString()} ${a.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`:`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${t.origin??"மதிப்பு"} ${i}${t.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${t.origin} ${i}${t.minimum.toString()} ${a.unit} ஆக இருக்க வேண்டும்`:`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${t.origin} ${i}${t.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{const i=t;return i.format==="starts_with"?`தவறான சரம்: "${i.prefix}" இல் தொடங்க வேண்டும்`:i.format==="ends_with"?`தவறான சரம்: "${i.suffix}" இல் முடிவடைய வேண்டும்`:i.format==="includes"?`தவறான சரம்: "${i.includes}" ஐ உள்ளடக்க வேண்டும்`:i.format==="regex"?`தவறான சரம்: ${i.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`:`தவறான ${r[i.format]??t.format}`}case"not_multiple_of":return`தவறான எண்: ${t.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${t.keys.length>1?"கள்":""}: ${k(t.keys,", ")}`;case"invalid_key":return`${t.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${t.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};function Ep(){return{localeError:Dp()}}const Op=()=>{const e={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function n(t){return e[t]??null}const r={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},o={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${t.expected} แต่ได้รับ ${l}`:`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${i} แต่ได้รับ ${l}`}case"invalid_value":return t.values.length===1?`ค่าไม่ถูกต้อง: ควรเป็น ${P(t.values[0])}`:`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"ไม่เกิน":"น้อยกว่า",a=n(t.origin);return a?`เกินกำหนด: ${t.origin??"ค่า"} ควรมี${i} ${t.maximum.toString()} ${a.unit??"รายการ"}`:`เกินกำหนด: ${t.origin??"ค่า"} ควรมี${i} ${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?"อย่างน้อย":"มากกว่า",a=n(t.origin);return a?`น้อยกว่ากำหนด: ${t.origin} ควรมี${i} ${t.minimum.toString()} ${a.unit}`:`น้อยกว่ากำหนด: ${t.origin} ควรมี${i} ${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${i.prefix}"`:i.format==="ends_with"?`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${i.suffix}"`:i.format==="includes"?`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${i.includes}" อยู่ในข้อความ`:i.format==="regex"?`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${i.pattern}`:`รูปแบบไม่ถูกต้อง: ${r[i.format]??t.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${t.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${k(t.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${t.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${t.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};function Np(){return{localeError:Op()}}const jp=()=>{const e={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function n(t){return e[t]??null}const r={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Geçersiz değer: beklenen instanceof ${t.expected}, alınan ${l}`:`Geçersiz değer: beklenen ${i}, alınan ${l}`}case"invalid_value":return t.values.length===1?`Geçersiz değer: beklenen ${P(t.values[0])}`:`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Çok büyük: beklenen ${t.origin??"değer"} ${i}${t.maximum.toString()} ${a.unit??"öğe"}`:`Çok büyük: beklenen ${t.origin??"değer"} ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Çok küçük: beklenen ${t.origin} ${i}${t.minimum.toString()} ${a.unit}`:`Çok küçük: beklenen ${t.origin} ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Geçersiz metin: "${i.prefix}" ile başlamalı`:i.format==="ends_with"?`Geçersiz metin: "${i.suffix}" ile bitmeli`:i.format==="includes"?`Geçersiz metin: "${i.includes}" içermeli`:i.format==="regex"?`Geçersiz metin: ${i.pattern} desenine uymalı`:`Geçersiz ${r[i.format]??t.format}`}case"not_multiple_of":return`Geçersiz sayı: ${t.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${t.keys.length>1?"lar":""}: ${k(t.keys,", ")}`;case"invalid_key":return`${t.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${t.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};function Up(){return{localeError:jp()}}const Tp=()=>{const e={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function n(t){return e[t]??null}const r={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},o={nan:"NaN",number:"число",array:"масив"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Неправильні вхідні дані: очікується instanceof ${t.expected}, отримано ${l}`:`Неправильні вхідні дані: очікується ${i}, отримано ${l}`}case"invalid_value":return t.values.length===1?`Неправильні вхідні дані: очікується ${P(t.values[0])}`:`Неправильна опція: очікується одне з ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Занадто велике: очікується, що ${t.origin??"значення"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"елементів"}`:`Занадто велике: очікується, що ${t.origin??"значення"} буде ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Занадто мале: очікується, що ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`Занадто мале: очікується, що ${t.origin} буде ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Неправильний рядок: повинен починатися з "${i.prefix}"`:i.format==="ends_with"?`Неправильний рядок: повинен закінчуватися на "${i.suffix}"`:i.format==="includes"?`Неправильний рядок: повинен містити "${i.includes}"`:i.format==="regex"?`Неправильний рядок: повинен відповідати шаблону ${i.pattern}`:`Неправильний ${r[i.format]??t.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${t.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${t.keys.length>1?"і":""}: ${k(t.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${t.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${t.origin}`;default:return"Неправильні вхідні дані"}}};function Dc(){return{localeError:Tp()}}function Pp(){return Dc()}const Cp=()=>{const e={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function n(t){return e[t]??null}const r={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},o={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`غلط ان پٹ: instanceof ${t.expected} متوقع تھا، ${l} موصول ہوا`:`غلط ان پٹ: ${i} متوقع تھا، ${l} موصول ہوا`}case"invalid_value":return t.values.length===1?`غلط ان پٹ: ${P(t.values[0])} متوقع تھا`:`غلط آپشن: ${k(t.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`بہت بڑا: ${t.origin??"ویلیو"} کے ${i}${t.maximum.toString()} ${a.unit??"عناصر"} ہونے متوقع تھے`:`بہت بڑا: ${t.origin??"ویلیو"} کا ${i}${t.maximum.toString()} ہونا متوقع تھا`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`بہت چھوٹا: ${t.origin} کے ${i}${t.minimum.toString()} ${a.unit} ہونے متوقع تھے`:`بہت چھوٹا: ${t.origin} کا ${i}${t.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{const i=t;return i.format==="starts_with"?`غلط سٹرنگ: "${i.prefix}" سے شروع ہونا چاہیے`:i.format==="ends_with"?`غلط سٹرنگ: "${i.suffix}" پر ختم ہونا چاہیے`:i.format==="includes"?`غلط سٹرنگ: "${i.includes}" شامل ہونا چاہیے`:i.format==="regex"?`غلط سٹرنگ: پیٹرن ${i.pattern} سے میچ ہونا چاہیے`:`غلط ${r[i.format]??t.format}`}case"not_multiple_of":return`غلط نمبر: ${t.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${t.keys.length>1?"ز":""}: ${k(t.keys,"، ")}`;case"invalid_key":return`${t.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${t.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};function Ap(){return{localeError:Cp()}}const Zp=()=>{const e={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"}};function n(t){return e[t]??null}const r={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},o={nan:"NaN",number:"raqam",array:"massiv"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Noto‘g‘ri kirish: kutilgan instanceof ${t.expected}, qabul qilingan ${l}`:`Noto‘g‘ri kirish: kutilgan ${i}, qabul qilingan ${l}`}case"invalid_value":return t.values.length===1?`Noto‘g‘ri kirish: kutilgan ${P(t.values[0])}`:`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Juda katta: kutilgan ${t.origin??"qiymat"} ${i}${t.maximum.toString()} ${a.unit} ${a.verb}`:`Juda katta: kutilgan ${t.origin??"qiymat"} ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Juda kichik: kutilgan ${t.origin} ${i}${t.minimum.toString()} ${a.unit} ${a.verb}`:`Juda kichik: kutilgan ${t.origin} ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Noto‘g‘ri satr: "${i.prefix}" bilan boshlanishi kerak`:i.format==="ends_with"?`Noto‘g‘ri satr: "${i.suffix}" bilan tugashi kerak`:i.format==="includes"?`Noto‘g‘ri satr: "${i.includes}" ni o‘z ichiga olishi kerak`:i.format==="regex"?`Noto‘g‘ri satr: ${i.pattern} shabloniga mos kelishi kerak`:`Noto‘g‘ri ${r[i.format]??t.format}`}case"not_multiple_of":return`Noto‘g‘ri raqam: ${t.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${t.keys.length>1?"lar":""}: ${k(t.keys,", ")}`;case"invalid_key":return`${t.origin} dagi kalit noto‘g‘ri`;case"invalid_union":return"Noto‘g‘ri kirish";case"invalid_element":return`${t.origin} da noto‘g‘ri qiymat`;default:return"Noto‘g‘ri kirish"}}};function Bp(){return{localeError:Zp()}}const Mp=()=>{const e={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function n(t){return e[t]??null}const r={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},o={nan:"NaN",number:"số",array:"mảng"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Đầu vào không hợp lệ: mong đợi instanceof ${t.expected}, nhận được ${l}`:`Đầu vào không hợp lệ: mong đợi ${i}, nhận được ${l}`}case"invalid_value":return t.values.length===1?`Đầu vào không hợp lệ: mong đợi ${P(t.values[0])}`:`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Quá lớn: mong đợi ${t.origin??"giá trị"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"phần tử"}`:`Quá lớn: mong đợi ${t.origin??"giá trị"} ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Quá nhỏ: mong đợi ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`Quá nhỏ: mong đợi ${t.origin} ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Chuỗi không hợp lệ: phải bắt đầu bằng "${i.prefix}"`:i.format==="ends_with"?`Chuỗi không hợp lệ: phải kết thúc bằng "${i.suffix}"`:i.format==="includes"?`Chuỗi không hợp lệ: phải bao gồm "${i.includes}"`:i.format==="regex"?`Chuỗi không hợp lệ: phải khớp với mẫu ${i.pattern}`:`${r[i.format]??t.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${t.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${k(t.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${t.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${t.origin}`;default:return"Đầu vào không hợp lệ"}}};function Vp(){return{localeError:Mp()}}const Fp=()=>{const e={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function n(t){return e[t]??null}const r={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},o={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`无效输入:期望 instanceof ${t.expected},实际接收 ${l}`:`无效输入:期望 ${i},实际接收 ${l}`}case"invalid_value":return t.values.length===1?`无效输入:期望 ${P(t.values[0])}`:`无效选项:期望以下之一 ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`数值过大:期望 ${t.origin??"值"} ${i}${t.maximum.toString()} ${a.unit??"个元素"}`:`数值过大:期望 ${t.origin??"值"} ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`数值过小:期望 ${t.origin} ${i}${t.minimum.toString()} ${a.unit}`:`数值过小:期望 ${t.origin} ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`无效字符串:必须以 "${i.prefix}" 开头`:i.format==="ends_with"?`无效字符串:必须以 "${i.suffix}" 结尾`:i.format==="includes"?`无效字符串:必须包含 "${i.includes}"`:i.format==="regex"?`无效字符串:必须满足正则表达式 ${i.pattern}`:`无效${r[i.format]??t.format}`}case"not_multiple_of":return`无效数字:必须是 ${t.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${k(t.keys,", ")}`;case"invalid_key":return`${t.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${t.origin} 中包含无效值(value)`;default:return"无效输入"}}};function Lp(){return{localeError:Fp()}}const Rp=()=>{const e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function n(t){return e[t]??null}const r={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},o={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`無效的輸入值:預期為 instanceof ${t.expected},但收到 ${l}`:`無效的輸入值:預期為 ${i},但收到 ${l}`}case"invalid_value":return t.values.length===1?`無效的輸入值:預期為 ${P(t.values[0])}`:`無效的選項:預期為以下其中之一 ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`數值過大:預期 ${t.origin??"值"} 應為 ${i}${t.maximum.toString()} ${a.unit??"個元素"}`:`數值過大:預期 ${t.origin??"值"} 應為 ${i}${t.maximum.toString()}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`數值過小:預期 ${t.origin} 應為 ${i}${t.minimum.toString()} ${a.unit}`:`數值過小:預期 ${t.origin} 應為 ${i}${t.minimum.toString()}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`無效的字串:必須以 "${i.prefix}" 開頭`:i.format==="ends_with"?`無效的字串:必須以 "${i.suffix}" 結尾`:i.format==="includes"?`無效的字串:必須包含 "${i.includes}"`:i.format==="regex"?`無效的字串:必須符合格式 ${i.pattern}`:`無效的 ${r[i.format]??t.format}`}case"not_multiple_of":return`無效的數字:必須為 ${t.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${t.keys.length>1?"們":""}:${k(t.keys,"、")}`;case"invalid_key":return`${t.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${t.origin} 中有無效的值`;default:return"無效的輸入值"}}};function Jp(){return{localeError:Rp()}}const qp=()=>{const e={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function n(t){return e[t]??null}const r={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},o={nan:"NaN",number:"nọ́mbà",array:"akopọ"};return t=>{switch(t.code){case"invalid_type":{const i=o[t.expected]??t.expected,a=C(t.input),l=o[a]??a;return/^[A-Z]/.test(t.expected)?`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${t.expected}, àmọ̀ a rí ${l}`:`Ìbáwọlé aṣìṣe: a ní láti fi ${i}, àmọ̀ a rí ${l}`}case"invalid_value":return t.values.length===1?`Ìbáwọlé aṣìṣe: a ní láti fi ${P(t.values[0])}`:`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${k(t.values,"|")}`;case"too_big":{const i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Tó pọ̀ jù: a ní láti jẹ́ pé ${t.origin??"iye"} ${a.verb} ${i}${t.maximum} ${a.unit}`:`Tó pọ̀ jù: a ní láti jẹ́ ${i}${t.maximum}`}case"too_small":{const i=t.inclusive?">=":">",a=n(t.origin);return a?`Kéré ju: a ní láti jẹ́ pé ${t.origin} ${a.verb} ${i}${t.minimum} ${a.unit}`:`Kéré ju: a ní láti jẹ́ ${i}${t.minimum}`}case"invalid_format":{const i=t;return i.format==="starts_with"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${i.prefix}"`:i.format==="ends_with"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${i.suffix}"`:i.format==="includes"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${i.includes}"`:i.format==="regex"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${i.pattern}`:`Aṣìṣe: ${r[i.format]??t.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${t.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${k(t.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${t.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${t.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};function Yp(){return{localeError:qp()}}const Ec=Object.freeze(Object.defineProperty({__proto__:null,ar:sf,az:mf,be:pf,bg:vf,ca:$f,cs:_f,da:kf,de:wf,en:Sc,eo:xf,es:Ef,fa:Nf,fi:Uf,fr:Pf,frCA:Af,he:Bf,hu:Vf,hy:Lf,id:Jf,is:Yf,it:Wf,ja:Hf,ka:Qf,kh:tp,km:Ic,ko:rp,lt:op,mk:lp,ms:up,nl:dp,no:fp,ota:gp,pl:bp,ps:hp,pt:yp,ru:Sp,sl:Ip,sv:xp,ta:Ep,th:Np,tr:Up,ua:Pp,uk:Dc,ur:Ap,uz:Bp,vi:Vp,yo:Yp,zhCN:Lp,zhTW:Jp},Symbol.toStringTag,{value:"Module"}));var Oc;const Nc=Symbol("ZodOutput"),jc=Symbol("ZodInput");class Uc{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...r){const o=r[0];return this._map.set(n,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const r=this._map.get(n);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(n),this}get(n){const r=n._zod.parent;if(r){const o={...this.get(r)??{}};delete o.id;const t={...o,...this._map.get(n)};return Object.keys(t).length?t:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function Rr(){return new Uc}(Oc=globalThis).__zod_globalRegistry??(Oc.__zod_globalRegistry=Rr());const Ie=globalThis.__zod_globalRegistry;function Tc(e,n){return new e({type:"string",...b(n)})}function Pc(e,n){return new e({type:"string",coerce:!0,...b(n)})}function Jr(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...b(n)})}function un(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...b(n)})}function qr(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...b(n)})}function Yr(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...b(n)})}function Kr(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...b(n)})}function Wr(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...b(n)})}function sn(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...b(n)})}function Gr(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...b(n)})}function Hr(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...b(n)})}function Xr(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...b(n)})}function Qr(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...b(n)})}function ei(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...b(n)})}function ti(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...b(n)})}function ni(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...b(n)})}function ri(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...b(n)})}function ii(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...b(n)})}function Cc(e,n){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...b(n)})}function oi(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...b(n)})}function ai(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...b(n)})}function li(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...b(n)})}function ci(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...b(n)})}function ui(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...b(n)})}function si(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...b(n)})}const Ac={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Zc(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...b(n)})}function Bc(e,n){return new e({type:"string",format:"date",check:"string_format",...b(n)})}function Mc(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...b(n)})}function Vc(e,n){return new e({type:"string",format:"duration",check:"string_format",...b(n)})}function Fc(e,n){return new e({type:"number",checks:[],...b(n)})}function Lc(e,n){return new e({type:"number",coerce:!0,checks:[],...b(n)})}function Rc(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...b(n)})}function Jc(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...b(n)})}function qc(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...b(n)})}function Yc(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...b(n)})}function Kc(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...b(n)})}function Wc(e,n){return new e({type:"boolean",...b(n)})}function Gc(e,n){return new e({type:"boolean",coerce:!0,...b(n)})}function Hc(e,n){return new e({type:"bigint",...b(n)})}function Xc(e,n){return new e({type:"bigint",coerce:!0,...b(n)})}function Qc(e,n){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...b(n)})}function eu(e,n){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...b(n)})}function tu(e,n){return new e({type:"symbol",...b(n)})}function nu(e,n){return new e({type:"undefined",...b(n)})}function ru(e,n){return new e({type:"null",...b(n)})}function iu(e){return new e({type:"any"})}function ou(e){return new e({type:"unknown"})}function au(e,n){return new e({type:"never",...b(n)})}function lu(e,n){return new e({type:"void",...b(n)})}function cu(e,n){return new e({type:"date",...b(n)})}function uu(e,n){return new e({type:"date",coerce:!0,...b(n)})}function su(e,n){return new e({type:"nan",...b(n)})}function Ve(e,n){return new Tr({check:"less_than",...b(n),value:e,inclusive:!1})}function ze(e,n){return new Tr({check:"less_than",...b(n),value:e,inclusive:!0})}function Fe(e,n){return new Pr({check:"greater_than",...b(n),value:e,inclusive:!1})}function $e(e,n){return new Pr({check:"greater_than",...b(n),value:e,inclusive:!0})}function di(e){return Fe(0,e)}function mi(e){return Ve(0,e)}function fi(e){return ze(0,e)}function pi(e){return $e(0,e)}function ot(e,n){return new Na({check:"multiple_of",...b(n),value:e})}function at(e,n){return new Ta({check:"max_size",...b(n),maximum:e})}function Le(e,n){return new Pa({check:"min_size",...b(n),minimum:e})}function It(e,n){return new Ca({check:"size_equals",...b(n),size:e})}function zt(e,n){return new Aa({check:"max_length",...b(n),maximum:e})}function He(e,n){return new Za({check:"min_length",...b(n),minimum:e})}function xt(e,n){return new Ba({check:"length_equals",...b(n),length:e})}function dn(e,n){return new Ma({check:"string_format",format:"regex",...b(n),pattern:e})}function mn(e){return new Va({check:"string_format",format:"lowercase",...b(e)})}function fn(e){return new Fa({check:"string_format",format:"uppercase",...b(e)})}function pn(e,n){return new La({check:"string_format",format:"includes",...b(n),includes:e})}function gn(e,n){return new Ra({check:"string_format",format:"starts_with",...b(n),prefix:e})}function vn(e,n){return new Ja({check:"string_format",format:"ends_with",...b(n),suffix:e})}function gi(e,n,r){return new Ya({check:"property",property:e,schema:n,...b(r)})}function hn(e,n){return new Ka({check:"mime_type",mime:e,...b(n)})}function Pe(e){return new Wa({check:"overwrite",tx:e})}function $n(e){return Pe(n=>n.normalize(e))}function bn(){return Pe(e=>e.trim())}function _n(){return Pe(e=>e.toLowerCase())}function yn(){return Pe(e=>e.toUpperCase())}function kn(){return Pe(e=>Do(e))}function du(e,n,r){return new e({type:"array",element:n,...b(r)})}function Kp(e,n,r){return new e({type:"union",options:n,...b(r)})}function Wp(e,n,r){return new e({type:"union",options:n,inclusive:!1,...b(r)})}function Gp(e,n,r,o){return new e({type:"union",options:r,discriminator:n,...b(o)})}function Hp(e,n,r){return new e({type:"intersection",left:n,right:r})}function Xp(e,n,r,o){const t=r instanceof Z,i=t?o:r,a=t?r:null;return new e({type:"tuple",items:n,rest:a,...b(i)})}function Qp(e,n,r,o){return new e({type:"record",keyType:n,valueType:r,...b(o)})}function eg(e,n,r,o){return new e({type:"map",keyType:n,valueType:r,...b(o)})}function tg(e,n,r){return new e({type:"set",valueType:n,...b(r)})}function ng(e,n,r){const o=Array.isArray(n)?Object.fromEntries(n.map(t=>[t,t])):n;return new e({type:"enum",entries:o,...b(r)})}function rg(e,n,r){return new e({type:"enum",entries:n,...b(r)})}function ig(e,n,r){return new e({type:"literal",values:Array.isArray(n)?n:[n],...b(r)})}function mu(e,n){return new e({type:"file",...b(n)})}function og(e,n){return new e({type:"transform",transform:n})}function ag(e,n){return new e({type:"optional",innerType:n})}function lg(e,n){return new e({type:"nullable",innerType:n})}function cg(e,n,r){return new e({type:"default",innerType:n,get defaultValue(){return typeof r=="function"?r():Xt(r)}})}function ug(e,n,r){return new e({type:"nonoptional",innerType:n,...b(r)})}function sg(e,n){return new e({type:"success",innerType:n})}function dg(e,n,r){return new e({type:"catch",innerType:n,catchValue:typeof r=="function"?r:()=>r})}function mg(e,n,r){return new e({type:"pipe",in:n,out:r})}function fg(e,n){return new e({type:"readonly",innerType:n})}function pg(e,n,r){return new e({type:"template_literal",parts:n,...b(r)})}function gg(e,n){return new e({type:"lazy",getter:n})}function vg(e,n){return new e({type:"promise",innerType:n})}function fu(e,n,r){const o=b(r);return o.abort??(o.abort=!0),new e({type:"custom",check:"custom",fn:n,...o})}function pu(e,n,r){return new e({type:"custom",check:"custom",fn:n,...b(r)})}function gu(e){const n=vu(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(nt(o,r.value,n._zod.def));else{const t=o;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=r.value),t.inst??(t.inst=n),t.continue??(t.continue=!n._zod.def.abort),r.issues.push(nt(t))}},e(r.value,r)));return n}function vu(e,n){const r=new re({check:"custom",...b(n)});return r._zod.check=e,r}function hu(e){const n=new re({check:"describe"});return n._zod.onattach=[r=>{const o=Ie.get(r)??{};Ie.add(r,{...o,description:e})}],n._zod.check=()=>{},n}function $u(e){const n=new re({check:"meta"});return n._zod.onattach=[r=>{const o=Ie.get(r)??{};Ie.add(r,{...o,...e})}],n._zod.check=()=>{},n}function bu(e,n){const r=b(n);let o=r.truthy??["true","1","yes","on","y","enabled"],t=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(o=o.map(v=>typeof v=="string"?v.toLowerCase():v),t=t.map(v=>typeof v=="string"?v.toLowerCase():v));const i=new Set(o),a=new Set(t),l=e.Codec??Lr,s=e.Boolean??Zr,u=e.String??St,d=new u({type:"string",error:r.error}),m=new s({type:"boolean",error:r.error}),p=new l({type:"pipe",in:d,out:m,transform:((v,h)=>{let f=v;return r.case!=="sensitive"&&(f=f.toLowerCase()),i.has(f)?!0:a.has(f)?!1:(h.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...a],input:h.value,inst:p,continue:!1}),{})}),reverseTransform:((v,h)=>v===!0?o[0]||"true":t[0]||"false"),error:r.error});return p}function Dt(e,n,r,o={}){const t=b(o),i={...b(o),check:"string_format",type:"string",format:n,fn:typeof r=="function"?r:l=>r.test(l),...t};return r instanceof RegExp&&(i.pattern=r),new e(i)}function lt(e){let n=(e==null?void 0:e.target)??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:(e==null?void 0:e.metadata)??Ie,target:n,unrepresentable:(e==null?void 0:e.unrepresentable)??"throw",override:(e==null?void 0:e.override)??(()=>{}),io:(e==null?void 0:e.io)??"output",counter:0,seen:new Map,cycles:(e==null?void 0:e.cycles)??"ref",reused:(e==null?void 0:e.reused)??"inline",external:(e==null?void 0:e.external)??void 0}}function W(e,n,r={path:[],schemaPath:[]}){var d,m;var o;const t=e._zod.def,i=n.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:r.path};n.seen.set(e,a);const l=(m=(d=e._zod).toJSONSchema)==null?void 0:m.call(d);if(l)a.schema=l;else{const p={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,a.schema,p);else{const h=a.schema,f=n.processors[t.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${t.type}`);f(e,n,h,p)}const v=e._zod.parent;v&&(a.ref||(a.ref=v),W(v,n,p),n.seen.get(v).isParent=!0)}const s=n.metadataRegistry.get(e);return s&&Object.assign(a.schema,s),n.io==="input"&&ge(e)&&(delete a.schema.examples,delete a.schema.default),n.io==="input"&&a.schema._prefault&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,n.seen.get(e).schema}function ct(e,n){var a,l,s,u;const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const d of e.seen.entries()){const m=(a=e.metadataRegistry.get(d[0]))==null?void 0:a.id;if(m){const p=o.get(m);if(p&&p!==d[0])throw new Error(`Duplicate schema id "${m}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(m,d[0])}}const t=d=>{var f;const m=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const $=(f=e.external.registry.get(d[0]))==null?void 0:f.id,_=e.external.uri??(B=>B);if($)return{ref:_($)};const S=d[1].defId??d[1].schema.id??`schema${e.counter++}`;return d[1].defId=S,{defId:S,ref:`${_("__shared")}#/${m}/${S}`}}if(d[1]===r)return{ref:"#"};const v=`#/${m}/`,h=d[1].schema.id??`__schema${e.counter++}`;return{defId:h,ref:v+h}},i=d=>{if(d[1].schema.$ref)return;const m=d[1],{ref:p,defId:v}=t(d);m.def={...m.schema},v&&(m.defId=v);const h=m.schema;for(const f in h)delete h[f];h.$ref=p};if(e.cycles==="throw")for(const d of e.seen.entries()){const m=d[1];if(m.cycle)throw new Error(`Cycle detected: #/${(l=m.cycle)==null?void 0:l.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of e.seen.entries()){const m=d[1];if(n===d[0]){i(d);continue}if(e.external){const v=(s=e.external.registry.get(d[0]))==null?void 0:s.id;if(n!==d[0]&&v){i(d);continue}}if((u=e.metadataRegistry.get(d[0]))==null?void 0:u.id){i(d);continue}if(m.cycle){i(d);continue}if(m.count>1&&e.reused==="ref"){i(d);continue}}}function ut(e,n){var a,l,s;const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=u=>{const d=e.seen.get(u);if(d.ref===null)return;const m=d.def??d.schema,p={...m},v=d.ref;if(d.ref=null,v){o(v);const f=e.seen.get(v),$=f.schema;if($.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(m.allOf=m.allOf??[],m.allOf.push($)):Object.assign(m,$),Object.assign(m,p),u._zod.parent===v)for(const S in m)S==="$ref"||S==="allOf"||S in p||delete m[S];if($.$ref&&f.def)for(const S in m)S==="$ref"||S==="allOf"||S in f.def&&JSON.stringify(m[S])===JSON.stringify(f.def[S])&&delete m[S]}const h=u._zod.parent;if(h&&h!==v){o(h);const f=e.seen.get(h);if(f!=null&&f.schema.$ref&&(m.$ref=f.schema.$ref,f.def))for(const $ in m)$==="$ref"||$==="allOf"||$ in f.def&&JSON.stringify(m[$])===JSON.stringify(f.def[$])&&delete m[$]}e.override({zodSchema:u,jsonSchema:m,path:d.path??[]})};for(const u of[...e.seen.entries()].reverse())o(u[0]);const t={};if(e.target==="draft-2020-12"?t.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?t.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?t.$schema="http://json-schema.org/draft-04/schema#":e.target,(a=e.external)!=null&&a.uri){const u=(l=e.external.registry.get(n))==null?void 0:l.id;if(!u)throw new Error("Schema is missing an `id` property");t.$id=e.external.uri(u)}Object.assign(t,r.def??r.schema);const i=((s=e.external)==null?void 0:s.defs)??{};for(const u of e.seen.entries()){const d=u[1];d.def&&d.defId&&(i[d.defId]=d.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?t.$defs=i:t.definitions=i);try{const u=JSON.parse(JSON.stringify(t));return Object.defineProperty(u,"~standard",{value:{...n["~standard"],jsonSchema:{input:Et(n,"input",e.processors),output:Et(n,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch{throw new Error("Error converting schema to JSON.")}}function ge(e,n){const r=n??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return ge(o.element,r);if(o.type==="set")return ge(o.valueType,r);if(o.type==="lazy")return ge(o.getter(),r);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return ge(o.innerType,r);if(o.type==="intersection")return ge(o.left,r)||ge(o.right,r);if(o.type==="record"||o.type==="map")return ge(o.keyType,r)||ge(o.valueType,r);if(o.type==="pipe")return ge(o.in,r)||ge(o.out,r);if(o.type==="object"){for(const t in o.shape)if(ge(o.shape[t],r))return!0;return!1}if(o.type==="union"){for(const t of o.options)if(ge(t,r))return!0;return!1}if(o.type==="tuple"){for(const t of o.items)if(ge(t,r))return!0;return!!(o.rest&&ge(o.rest,r))}return!1}const _u=(e,n={})=>r=>{const o=lt({...r,processors:n});return W(e,o),ct(o,e),ut(o,e)},Et=(e,n,r={})=>o=>{const{libraryOptions:t,target:i}=o??{},a=lt({...t??{},target:i,io:n,processors:r});return W(e,a),ct(a,e),ut(a,e)},hg={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},yu=(e,n,r,o)=>{const t=r;t.type="string";const{minimum:i,maximum:a,format:l,patterns:s,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(t.minLength=i),typeof a=="number"&&(t.maxLength=a),l&&(t.format=hg[l]??l,t.format===""&&delete t.format,l==="time"&&delete t.format),u&&(t.contentEncoding=u),s&&s.size>0){const d=[...s];d.length===1?t.pattern=d[0].source:d.length>1&&(t.allOf=[...d.map(m=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:m.source}))])}},ku=(e,n,r,o)=>{const t=r,{minimum:i,maximum:a,format:l,multipleOf:s,exclusiveMaximum:u,exclusiveMinimum:d}=e._zod.bag;typeof l=="string"&&l.includes("int")?t.type="integer":t.type="number",typeof d=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(t.minimum=d,t.exclusiveMinimum=!0):t.exclusiveMinimum=d),typeof i=="number"&&(t.minimum=i,typeof d=="number"&&n.target!=="draft-04"&&(d>=i?delete t.minimum:delete t.exclusiveMinimum)),typeof u=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(t.maximum=u,t.exclusiveMaximum=!0):t.exclusiveMaximum=u),typeof a=="number"&&(t.maximum=a,typeof u=="number"&&n.target!=="draft-04"&&(u<=a?delete t.maximum:delete t.exclusiveMaximum)),typeof s=="number"&&(t.multipleOf=s)},Su=(e,n,r,o)=>{r.type="boolean"},wu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Iu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},zu=(e,n,r,o)=>{n.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},xu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Du=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Eu=(e,n,r,o)=>{r.not={}},Ou=(e,n,r,o)=>{},Nu=(e,n,r,o)=>{},ju=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Uu=(e,n,r,o)=>{const t=e._zod.def,i=gr(t.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Tu=(e,n,r,o)=>{const t=e._zod.def,i=[];for(const a of t.values)if(a===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){const a=i[0];r.type=a===null?"null":typeof a,n.target==="draft-04"||n.target==="openapi-3.0"?r.enum=[a]:r.const=a}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i},Pu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Cu=(e,n,r,o)=>{const t=r,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");t.type="string",t.pattern=i.source},Au=(e,n,r,o)=>{const t=r,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:l,mime:s}=e._zod.bag;a!==void 0&&(i.minLength=a),l!==void 0&&(i.maxLength=l),s?s.length===1?(i.contentMediaType=s[0],Object.assign(t,i)):(Object.assign(t,i),t.anyOf=s.map(u=>({contentMediaType:u}))):Object.assign(t,i)},Zu=(e,n,r,o)=>{r.type="boolean"},Bu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Mu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Vu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Fu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Lu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Ru=(e,n,r,o)=>{const t=r,i=e._zod.def,{minimum:a,maximum:l}=e._zod.bag;typeof a=="number"&&(t.minItems=a),typeof l=="number"&&(t.maxItems=l),t.type="array",t.items=W(i.element,n,{...o,path:[...o.path,"items"]})},Ju=(e,n,r,o)=>{var u;const t=r,i=e._zod.def;t.type="object",t.properties={};const a=i.shape;for(const d in a)t.properties[d]=W(a[d],n,{...o,path:[...o.path,"properties",d]});const l=new Set(Object.keys(a)),s=new Set([...l].filter(d=>{const m=i.shape[d]._zod;return n.io==="input"?m.optin===void 0:m.optout===void 0}));s.size>0&&(t.required=Array.from(s)),((u=i.catchall)==null?void 0:u._zod.def.type)==="never"?t.additionalProperties=!1:i.catchall?i.catchall&&(t.additionalProperties=W(i.catchall,n,{...o,path:[...o.path,"additionalProperties"]})):n.io==="output"&&(t.additionalProperties=!1)},vi=(e,n,r,o)=>{const t=e._zod.def,i=t.inclusive===!1,a=t.options.map((l,s)=>W(l,n,{...o,path:[...o.path,i?"oneOf":"anyOf",s]}));i?r.oneOf=a:r.anyOf=a},qu=(e,n,r,o)=>{const t=e._zod.def,i=W(t.left,n,{...o,path:[...o.path,"allOf",0]}),a=W(t.right,n,{...o,path:[...o.path,"allOf",1]}),l=u=>"allOf"in u&&Object.keys(u).length===1,s=[...l(i)?i.allOf:[i],...l(a)?a.allOf:[a]];r.allOf=s},Yu=(e,n,r,o)=>{const t=r,i=e._zod.def;t.type="array";const a=n.target==="draft-2020-12"?"prefixItems":"items",l=n.target==="draft-2020-12"||n.target==="openapi-3.0"?"items":"additionalItems",s=i.items.map((p,v)=>W(p,n,{...o,path:[...o.path,a,v]})),u=i.rest?W(i.rest,n,{...o,path:[...o.path,l,...n.target==="openapi-3.0"?[i.items.length]:[]]}):null;n.target==="draft-2020-12"?(t.prefixItems=s,u&&(t.items=u)):n.target==="openapi-3.0"?(t.items={anyOf:s},u&&t.items.anyOf.push(u),t.minItems=s.length,u||(t.maxItems=s.length)):(t.items=s,u&&(t.additionalItems=u));const{minimum:d,maximum:m}=e._zod.bag;typeof d=="number"&&(t.minItems=d),typeof m=="number"&&(t.maxItems=m)},Ku=(e,n,r,o)=>{const t=r,i=e._zod.def;t.type="object";const a=i.keyType,l=a._zod.bag,s=l==null?void 0:l.patterns;if(i.mode==="loose"&&s&&s.size>0){const d=W(i.valueType,n,{...o,path:[...o.path,"patternProperties","*"]});t.patternProperties={};for(const m of s)t.patternProperties[m.source]=d}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(t.propertyNames=W(i.keyType,n,{...o,path:[...o.path,"propertyNames"]})),t.additionalProperties=W(i.valueType,n,{...o,path:[...o.path,"additionalProperties"]});const u=a._zod.values;if(u){const d=[...u].filter(m=>typeof m=="string"||typeof m=="number");d.length>0&&(t.required=d)}},Wu=(e,n,r,o)=>{const t=e._zod.def,i=W(t.innerType,n,o),a=n.seen.get(e);n.target==="openapi-3.0"?(a.ref=t.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},Gu=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType},Hu=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType,r.default=JSON.parse(JSON.stringify(t.defaultValue))},Xu=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType,n.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(t.defaultValue)))},Qu=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType;let a;try{a=t.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},es=(e,n,r,o)=>{const t=e._zod.def,i=n.io==="input"?t.in._zod.def.type==="transform"?t.out:t.in:t.out;W(i,n,o);const a=n.seen.get(e);a.ref=i},ts=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType,r.readOnly=!0},ns=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType},hi=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType},rs=(e,n,r,o)=>{const t=e._zod.innerType;W(t,n,o);const i=n.seen.get(e);i.ref=t},$i={string:yu,number:ku,boolean:Su,bigint:wu,symbol:Iu,null:zu,undefined:xu,void:Du,never:Eu,any:Ou,unknown:Nu,date:ju,enum:Uu,literal:Tu,nan:Pu,template_literal:Cu,file:Au,success:Zu,custom:Bu,function:Mu,transform:Vu,map:Fu,set:Lu,array:Ru,object:Ju,union:vi,intersection:qu,tuple:Yu,record:Ku,nullable:Wu,nonoptional:Gu,default:Hu,prefault:Xu,catch:Qu,pipe:es,readonly:ts,promise:ns,optional:hi,lazy:rs};function is(e,n){if("_idmap"in e){const o=e,t=lt({...n,processors:$i}),i={};for(const s of o._idmap.entries()){const[u,d]=s;W(d,t)}const a={},l={registry:o,uri:n==null?void 0:n.uri,defs:i};t.external=l;for(const s of o._idmap.entries()){const[u,d]=s;ct(t,d),a[u]=ut(t,d)}if(Object.keys(i).length>0){const s=t.target==="draft-2020-12"?"$defs":"definitions";a.__shared={[s]:i}}return{schemas:a}}const r=lt({...n,processors:$i});return W(e,r),ct(r,e),ut(r,e)}class $g{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(n){this.ctx.counter=n}get seen(){return this.ctx.seen}constructor(n){let r=(n==null?void 0:n.target)??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=lt({processors:$i,target:r,...(n==null?void 0:n.metadata)&&{metadata:n.metadata},...(n==null?void 0:n.unrepresentable)&&{unrepresentable:n.unrepresentable},...(n==null?void 0:n.override)&&{override:n.override},...(n==null?void 0:n.io)&&{io:n.io}})}process(n,r={path:[],schemaPath:[]}){return W(n,this.ctx,r)}emit(n,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),ct(this.ctx,n);const o=ut(this.ctx,n),{"~standard":t,...i}=o;return i}}const bg=Object.freeze(Object.defineProperty({__proto__:null,$ZodAny:Ol,$ZodArray:Cl,$ZodAsyncError:Ye,$ZodBase64:$l,$ZodBase64URL:_l,$ZodBigInt:Br,$ZodBigIntFormat:zl,$ZodBoolean:Zr,$ZodCIDRv4:vl,$ZodCIDRv6:hl,$ZodCUID:il,$ZodCUID2:ol,$ZodCatch:dc,$ZodCheck:re,$ZodCheckBigIntFormat:Ua,$ZodCheckEndsWith:Ja,$ZodCheckGreaterThan:Pr,$ZodCheckIncludes:La,$ZodCheckLengthEquals:Ba,$ZodCheckLessThan:Tr,$ZodCheckLowerCase:Va,$ZodCheckMaxLength:Aa,$ZodCheckMaxSize:Ta,$ZodCheckMimeType:Ka,$ZodCheckMinLength:Za,$ZodCheckMinSize:Pa,$ZodCheckMultipleOf:Na,$ZodCheckNumberFormat:ja,$ZodCheckOverwrite:Wa,$ZodCheckProperty:Ya,$ZodCheckRegex:Ma,$ZodCheckSizeEquals:Ca,$ZodCheckStartsWith:Ra,$ZodCheckStringFormat:kt,$ZodCheckUpperCase:Fa,$ZodCodec:Lr,$ZodCustom:_c,$ZodCustomStringFormat:wl,$ZodDate:Tl,$ZodDefault:oc,$ZodDiscriminatedUnion:Rl,$ZodE164:yl,$ZodEmail:el,$ZodEmoji:nl,$ZodEncodeError:Kt,$ZodEnum:Xl,$ZodError:$r,$ZodExactOptional:rc,$ZodFile:ec,$ZodFunction:hc,$ZodGUID:Xa,$ZodIPv4:fl,$ZodIPv6:pl,$ZodISODate:sl,$ZodISODateTime:ul,$ZodISODuration:ml,$ZodISOTime:dl,$ZodIntersection:Jl,$ZodJWT:Sl,$ZodKSUID:cl,$ZodLazy:bc,$ZodLiteral:Ql,$ZodMAC:gl,$ZodMap:Kl,$ZodNaN:mc,$ZodNanoID:rl,$ZodNever:jl,$ZodNonOptional:cc,$ZodNull:El,$ZodNullable:ic,$ZodNumber:Ar,$ZodNumberFormat:Il,$ZodObject:Bl,$ZodObjectJIT:Ml,$ZodOptional:Fr,$ZodPipe:fc,$ZodPrefault:lc,$ZodPromise:$c,$ZodReadonly:pc,$ZodRealError:_e,$ZodRecord:Yl,$ZodRegistry:Uc,$ZodSet:Gl,$ZodString:St,$ZodStringFormat:Q,$ZodSuccess:sc,$ZodSymbol:xl,$ZodTemplateLiteral:vc,$ZodTransform:tc,$ZodTuple:Vr,$ZodType:Z,$ZodULID:al,$ZodURL:tl,$ZodUUID:Qa,$ZodUndefined:Dl,$ZodUnion:rn,$ZodUnknown:Nl,$ZodVoid:Ul,$ZodXID:ll,$ZodXor:Ll,$brand:Io,$constructor:g,$input:jc,$output:Nc,Doc:Ga,JSONSchema:Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),JSONSchemaGenerator:$g,NEVER:wo,TimePrecision:Ac,_any:iu,_array:du,_base64:li,_base64url:ci,_bigint:Hc,_boolean:Wc,_catch:dg,_check:vu,_cidrv4:oi,_cidrv6:ai,_coercedBigint:Xc,_coercedBoolean:Gc,_coercedDate:uu,_coercedNumber:Lc,_coercedString:Pc,_cuid:Xr,_cuid2:Qr,_custom:fu,_date:cu,_decode:wr,_decodeAsync:zr,_default:cg,_discriminatedUnion:Gp,_e164:ui,_email:Jr,_emoji:Gr,_encode:Sr,_encodeAsync:Ir,_endsWith:vn,_enum:ng,_file:mu,_float32:Jc,_float64:qc,_gt:Fe,_gte:$e,_guid:un,_includes:pn,_int:Rc,_int32:Yc,_int64:Qc,_intersection:Hp,_ipv4:ri,_ipv6:ii,_isoDate:Bc,_isoDateTime:Zc,_isoDuration:Vc,_isoTime:Mc,_jwt:si,_ksuid:ni,_lazy:gg,_length:xt,_literal:ig,_lowercase:mn,_lt:Ve,_lte:ze,_mac:Cc,_map:eg,_max:ze,_maxLength:zt,_maxSize:at,_mime:hn,_min:$e,_minLength:He,_minSize:Le,_multipleOf:ot,_nan:su,_nanoid:Hr,_nativeEnum:rg,_negative:mi,_never:au,_nonnegative:pi,_nonoptional:ug,_nonpositive:fi,_normalize:$n,_null:ru,_nullable:lg,_number:Fc,_optional:ag,_overwrite:Pe,_parse:vt,_parseAsync:ht,_pipe:mg,_positive:di,_promise:vg,_property:gi,_readonly:fg,_record:Qp,_refine:pu,_regex:dn,_safeDecode:Dr,_safeDecodeAsync:Or,_safeEncode:xr,_safeEncodeAsync:Er,_safeParse:$t,_safeParseAsync:bt,_set:tg,_size:It,_slugify:kn,_startsWith:gn,_string:Tc,_stringFormat:Dt,_stringbool:bu,_success:sg,_superRefine:gu,_symbol:tu,_templateLiteral:pg,_toLowerCase:_n,_toUpperCase:yn,_transform:og,_trim:bn,_tuple:Xp,_uint32:Kc,_uint64:eu,_ulid:ei,_undefined:nu,_union:Kp,_unknown:ou,_uppercase:fn,_url:sn,_uuid:qr,_uuidv4:Yr,_uuidv6:Kr,_uuidv7:Wr,_void:lu,_xid:ti,_xor:Wp,clone:Se,config:me,createStandardJSONSchemaMethod:Et,createToJSONSchemaMethod:_u,decode:qm,decodeAsync:Km,describe:hu,encode:Jm,encodeAsync:Ym,extractDefs:ct,finalize:ut,flattenError:br,formatError:_r,globalConfig:Wt,globalRegistry:Ie,initializeContext:lt,isValidBase64:Cr,isValidBase64URL:bl,isValidJWT:kl,locales:Ec,meta:$u,parse:yr,parseAsync:kr,prettifyError:Yo,process:W,regexes:Ur,registry:Rr,safeDecode:Gm,safeDecodeAsync:Xm,safeEncode:Wm,safeEncodeAsync:Hm,safeParse:Ko,safeParseAsync:Wo,toDotPath:qo,toJSONSchema:is,treeifyError:Jo,util:Lo,version:Ha},Symbol.toStringTag,{value:"Module"})),_g=Object.freeze(Object.defineProperty({__proto__:null,endsWith:vn,gt:Fe,gte:$e,includes:pn,length:xt,lowercase:mn,lt:Ve,lte:ze,maxLength:zt,maxSize:at,mime:hn,minLength:He,minSize:Le,multipleOf:ot,negative:mi,nonnegative:pi,nonpositive:fi,normalize:$n,overwrite:Pe,positive:di,property:gi,regex:dn,size:It,slugify:kn,startsWith:gn,toLowerCase:_n,toUpperCase:yn,trim:bn,uppercase:fn},Symbol.toStringTag,{value:"Module"})),bi=g("ZodISODateTime",(e,n)=>{ul.init(e,n),ee.init(e,n)});function os(e){return Zc(bi,e)}const _i=g("ZodISODate",(e,n)=>{sl.init(e,n),ee.init(e,n)});function as(e){return Bc(_i,e)}const yi=g("ZodISOTime",(e,n)=>{dl.init(e,n),ee.init(e,n)});function ls(e){return Mc(yi,e)}const ki=g("ZodISODuration",(e,n)=>{ml.init(e,n),ee.init(e,n)});function cs(e){return Vc(ki,e)}const us=Object.freeze(Object.defineProperty({__proto__:null,ZodISODate:_i,ZodISODateTime:bi,ZodISODuration:ki,ZodISOTime:yi,date:as,datetime:os,duration:cs,time:ls},Symbol.toStringTag,{value:"Module"})),ss=(e,n)=>{$r.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>_r(e,r)},flatten:{value:r=>br(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Gt,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Gt,2)}},isEmpty:{get(){return e.issues.length===0}}})},yg=g("ZodError",ss),ye=g("ZodError",ss,{Parent:Error}),ds=vt(ye),ms=ht(ye),fs=$t(ye),ps=bt(ye),gs=Sr(ye),vs=wr(ye),hs=Ir(ye),$s=zr(ye),bs=xr(ye),_s=Dr(ye),ys=Er(ye),ks=Or(ye),F=g("ZodType",(e,n)=>(Z.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:Et(e,"input"),output:Et(e,"output")}}),e.toJSONSchema=_u(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...r)=>e.clone(Ne(n,{checks:[...n.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),e.with=e.check,e.clone=(r,o)=>Se(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.parse=(r,o)=>ds(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>fs(e,r,o),e.parseAsync=async(r,o)=>ms(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>ps(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>gs(e,r,o),e.decode=(r,o)=>vs(e,r,o),e.encodeAsync=async(r,o)=>hs(e,r,o),e.decodeAsync=async(r,o)=>$s(e,r,o),e.safeEncode=(r,o)=>bs(e,r,o),e.safeDecode=(r,o)=>_s(e,r,o),e.safeEncodeAsync=async(r,o)=>ys(e,r,o),e.safeDecodeAsync=async(r,o)=>ks(e,r,o),e.refine=(r,o)=>e.check(po(r,o)),e.superRefine=r=>e.check(go(r)),e.overwrite=r=>e.check(Pe(r)),e.optional=()=>Mt(e),e.exactOptional=()=>Gi(e),e.nullable=()=>Vt(e),e.nullish=()=>Mt(Vt(e)),e.nonoptional=r=>no(e,r),e.array=()=>et(e),e.or=r=>Zt([e,r]),e.and=r=>Mi(e,r),e.transform=r=>Ft(e,Yn(r)),e.default=r=>Qi(e,r),e.prefault=r=>to(e,r),e.catch=r=>oo(e,r),e.pipe=r=>Ft(e,r),e.readonly=()=>co(e),e.describe=r=>{const o=e.clone();return Ie.add(o,{description:r}),o},Object.defineProperty(e,"description",{get(){var r;return(r=Ie.get(e))==null?void 0:r.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Ie.get(e);const o=e.clone();return Ie.add(o,r[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),Sn=g("_ZodString",(e,n)=>{St.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>yu(e,o,t);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...o)=>e.check(dn(...o)),e.includes=(...o)=>e.check(pn(...o)),e.startsWith=(...o)=>e.check(gn(...o)),e.endsWith=(...o)=>e.check(vn(...o)),e.min=(...o)=>e.check(He(...o)),e.max=(...o)=>e.check(zt(...o)),e.length=(...o)=>e.check(xt(...o)),e.nonempty=(...o)=>e.check(He(1,...o)),e.lowercase=o=>e.check(mn(o)),e.uppercase=o=>e.check(fn(o)),e.trim=()=>e.check(bn()),e.normalize=(...o)=>e.check($n(...o)),e.toLowerCase=()=>e.check(_n()),e.toUpperCase=()=>e.check(yn()),e.slugify=()=>e.check(kn())}),Ot=g("ZodString",(e,n)=>{St.init(e,n),Sn.init(e,n),e.email=r=>e.check(Jr(In,r)),e.url=r=>e.check(sn(jt,r)),e.jwt=r=>e.check(si(Mn,r)),e.emoji=r=>e.check(Gr(zn,r)),e.guid=r=>e.check(un(Nt,r)),e.uuid=r=>e.check(qr(je,r)),e.uuidv4=r=>e.check(Yr(je,r)),e.uuidv6=r=>e.check(Kr(je,r)),e.uuidv7=r=>e.check(Wr(je,r)),e.nanoid=r=>e.check(Hr(xn,r)),e.guid=r=>e.check(un(Nt,r)),e.cuid=r=>e.check(Xr(Dn,r)),e.cuid2=r=>e.check(Qr(En,r)),e.ulid=r=>e.check(ei(On,r)),e.base64=r=>e.check(li(An,r)),e.base64url=r=>e.check(ci(Zn,r)),e.xid=r=>e.check(ti(Nn,r)),e.ksuid=r=>e.check(ni(jn,r)),e.ipv4=r=>e.check(ri(Un,r)),e.ipv6=r=>e.check(ii(Tn,r)),e.cidrv4=r=>e.check(oi(Pn,r)),e.cidrv6=r=>e.check(ai(Cn,r)),e.e164=r=>e.check(ui(Bn,r)),e.datetime=r=>e.check(os(r)),e.date=r=>e.check(as(r)),e.time=r=>e.check(ls(r)),e.duration=r=>e.check(cs(r))});function wn(e){return Tc(Ot,e)}const ee=g("ZodStringFormat",(e,n)=>{Q.init(e,n),Sn.init(e,n)}),In=g("ZodEmail",(e,n)=>{el.init(e,n),ee.init(e,n)});function Ss(e){return Jr(In,e)}const Nt=g("ZodGUID",(e,n)=>{Xa.init(e,n),ee.init(e,n)});function ws(e){return un(Nt,e)}const je=g("ZodUUID",(e,n)=>{Qa.init(e,n),ee.init(e,n)});function Is(e){return qr(je,e)}function zs(e){return Yr(je,e)}function xs(e){return Kr(je,e)}function Ds(e){return Wr(je,e)}const jt=g("ZodURL",(e,n)=>{tl.init(e,n),ee.init(e,n)});function Es(e){return sn(jt,e)}function Os(e){return sn(jt,{protocol:/^https?$/,hostname:pa,...b(e)})}const zn=g("ZodEmoji",(e,n)=>{nl.init(e,n),ee.init(e,n)});function Ns(e){return Gr(zn,e)}const xn=g("ZodNanoID",(e,n)=>{rl.init(e,n),ee.init(e,n)});function js(e){return Hr(xn,e)}const Dn=g("ZodCUID",(e,n)=>{il.init(e,n),ee.init(e,n)});function Us(e){return Xr(Dn,e)}const En=g("ZodCUID2",(e,n)=>{ol.init(e,n),ee.init(e,n)});function Ts(e){return Qr(En,e)}const On=g("ZodULID",(e,n)=>{al.init(e,n),ee.init(e,n)});function Ps(e){return ei(On,e)}const Nn=g("ZodXID",(e,n)=>{ll.init(e,n),ee.init(e,n)});function Cs(e){return ti(Nn,e)}const jn=g("ZodKSUID",(e,n)=>{cl.init(e,n),ee.init(e,n)});function As(e){return ni(jn,e)}const Un=g("ZodIPv4",(e,n)=>{fl.init(e,n),ee.init(e,n)});function Zs(e){return ri(Un,e)}const Si=g("ZodMAC",(e,n)=>{gl.init(e,n),ee.init(e,n)});function Bs(e){return Cc(Si,e)}const Tn=g("ZodIPv6",(e,n)=>{pl.init(e,n),ee.init(e,n)});function Ms(e){return ii(Tn,e)}const Pn=g("ZodCIDRv4",(e,n)=>{vl.init(e,n),ee.init(e,n)});function Vs(e){return oi(Pn,e)}const Cn=g("ZodCIDRv6",(e,n)=>{hl.init(e,n),ee.init(e,n)});function Fs(e){return ai(Cn,e)}const An=g("ZodBase64",(e,n)=>{$l.init(e,n),ee.init(e,n)});function Ls(e){return li(An,e)}const Zn=g("ZodBase64URL",(e,n)=>{_l.init(e,n),ee.init(e,n)});function Rs(e){return ci(Zn,e)}const Bn=g("ZodE164",(e,n)=>{yl.init(e,n),ee.init(e,n)});function Js(e){return ui(Bn,e)}const Mn=g("ZodJWT",(e,n)=>{Sl.init(e,n),ee.init(e,n)});function qs(e){return si(Mn,e)}const st=g("ZodCustomStringFormat",(e,n)=>{wl.init(e,n),ee.init(e,n)});function Ys(e,n,r={}){return Dt(st,e,n,r)}function Ks(e){return Dt(st,"hostname",fa,e)}function Ws(e){return Dt(st,"hex",Ea,e)}function Gs(e,n){const r=(n==null?void 0:n.enc)??"hex",o=`${e}_${r}`,t=Ur[o];if(!t)throw new Error(`Unrecognized hash format: ${o}`);return Dt(st,o,t,n)}const Ut=g("ZodNumber",(e,n)=>{Ar.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>ku(e,o,t),e.gt=(o,t)=>e.check(Fe(o,t)),e.gte=(o,t)=>e.check($e(o,t)),e.min=(o,t)=>e.check($e(o,t)),e.lt=(o,t)=>e.check(Ve(o,t)),e.lte=(o,t)=>e.check(ze(o,t)),e.max=(o,t)=>e.check(ze(o,t)),e.int=o=>e.check(Vn(o)),e.safe=o=>e.check(Vn(o)),e.positive=o=>e.check(Fe(0,o)),e.nonnegative=o=>e.check($e(0,o)),e.negative=o=>e.check(Ve(0,o)),e.nonpositive=o=>e.check(ze(0,o)),e.multipleOf=(o,t)=>e.check(ot(o,t)),e.step=(o,t)=>e.check(ot(o,t)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function wi(e){return Fc(Ut,e)}const Xe=g("ZodNumberFormat",(e,n)=>{Il.init(e,n),Ut.init(e,n)});function Vn(e){return Rc(Xe,e)}function Hs(e){return Jc(Xe,e)}function Xs(e){return qc(Xe,e)}function Qs(e){return Yc(Xe,e)}function ed(e){return Kc(Xe,e)}const Tt=g("ZodBoolean",(e,n)=>{Zr.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Su(e,r,o)});function Ii(e){return Wc(Tt,e)}const Pt=g("ZodBigInt",(e,n)=>{Br.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>wu(e,o),e.gte=(o,t)=>e.check($e(o,t)),e.min=(o,t)=>e.check($e(o,t)),e.gt=(o,t)=>e.check(Fe(o,t)),e.gte=(o,t)=>e.check($e(o,t)),e.min=(o,t)=>e.check($e(o,t)),e.lt=(o,t)=>e.check(Ve(o,t)),e.lte=(o,t)=>e.check(ze(o,t)),e.max=(o,t)=>e.check(ze(o,t)),e.positive=o=>e.check(Fe(BigInt(0),o)),e.negative=o=>e.check(Ve(BigInt(0),o)),e.nonpositive=o=>e.check(ze(BigInt(0),o)),e.nonnegative=o=>e.check($e(BigInt(0),o)),e.multipleOf=(o,t)=>e.check(ot(o,t));const r=e._zod.bag;e.minValue=r.minimum??null,e.maxValue=r.maximum??null,e.format=r.format??null});function td(e){return Hc(Pt,e)}const Fn=g("ZodBigIntFormat",(e,n)=>{zl.init(e,n),Pt.init(e,n)});function nd(e){return Qc(Fn,e)}function rd(e){return eu(Fn,e)}const zi=g("ZodSymbol",(e,n)=>{xl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Iu(e,r)});function id(e){return tu(zi,e)}const xi=g("ZodUndefined",(e,n)=>{Dl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>xu(e,r)});function od(e){return nu(xi,e)}const Di=g("ZodNull",(e,n)=>{El.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>zu(e,r,o)});function Ei(e){return ru(Di,e)}const Oi=g("ZodAny",(e,n)=>{Ol.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ou()});function Ni(){return iu(Oi)}const ji=g("ZodUnknown",(e,n)=>{Nl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Nu()});function Qe(){return ou(ji)}const Ui=g("ZodNever",(e,n)=>{jl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Eu(e,r,o)});function Ln(e){return au(Ui,e)}const Ti=g("ZodVoid",(e,n)=>{Ul.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Du(e,r)});function ad(e){return lu(Ti,e)}const Rn=g("ZodDate",(e,n)=>{Tl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>ju(e,o),e.min=(o,t)=>e.check($e(o,t)),e.max=(o,t)=>e.check(ze(o,t));const r=e._zod.bag;e.minDate=r.minimum?new Date(r.minimum):null,e.maxDate=r.maximum?new Date(r.maximum):null});function ld(e){return cu(Rn,e)}const Pi=g("ZodArray",(e,n)=>{Cl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ru(e,r,o,t),e.element=n.element,e.min=(r,o)=>e.check(He(r,o)),e.nonempty=r=>e.check(He(1,r)),e.max=(r,o)=>e.check(zt(r,o)),e.length=(r,o)=>e.check(xt(r,o)),e.unwrap=()=>e.element});function et(e,n){return du(Pi,e,n)}function cd(e){const n=e._zod.def.shape;return qn(Object.keys(n))}const Ct=g("ZodObject",(e,n)=>{Ml.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ju(e,r,o,t),R(e,"shape",()=>n.shape),e.keyof=()=>qn(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Qe()}),e.loose=()=>e.clone({...e._zod.def,catchall:Qe()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ln()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Co(e,r),e.safeExtend=r=>Ao(e,r),e.merge=r=>Zo(e,r),e.pick=r=>To(e,r),e.omit=r=>Po(e,r),e.partial=(...r)=>Bo(Kn,e,r[0]),e.required=(...r)=>Mo(Wn,e,r[0])});function Ci(e,n){const r={type:"object",shape:e??{},...b(n)};return new Ct(r)}function ud(e,n){return new Ct({type:"object",shape:e,catchall:Ln(),...b(n)})}function sd(e,n){return new Ct({type:"object",shape:e,catchall:Qe(),...b(n)})}const At=g("ZodUnion",(e,n)=>{rn.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>vi(e,r,o,t),e.options=n.options});function Zt(e,n){return new At({type:"union",options:e,...b(n)})}const Ai=g("ZodXor",(e,n)=>{At.init(e,n),Ll.init(e,n),e._zod.processJSONSchema=(r,o,t)=>vi(e,r,o,t),e.options=n.options});function dd(e,n){return new Ai({type:"union",options:e,inclusive:!1,...b(n)})}const Zi=g("ZodDiscriminatedUnion",(e,n)=>{At.init(e,n),Rl.init(e,n)});function md(e,n,r){return new Zi({type:"union",options:n,discriminator:e,...b(r)})}const Bi=g("ZodIntersection",(e,n)=>{Jl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>qu(e,r,o,t)});function Mi(e,n){return new Bi({type:"intersection",left:e,right:n})}const Vi=g("ZodTuple",(e,n)=>{Vr.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Yu(e,r,o,t),e.rest=r=>e.clone({...e._zod.def,rest:r})});function Fi(e,n,r){const o=n instanceof Z,t=o?r:n,i=o?n:null;return new Vi({type:"tuple",items:e,rest:i,...b(t)})}const Bt=g("ZodRecord",(e,n)=>{Yl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ku(e,r,o,t),e.keyType=n.keyType,e.valueType=n.valueType});function Jn(e,n,r){return new Bt({type:"record",keyType:e,valueType:n,...b(r)})}function fd(e,n,r){const o=Se(e);return o._zod.values=void 0,new Bt({type:"record",keyType:o,valueType:n,...b(r)})}function pd(e,n,r){return new Bt({type:"record",keyType:e,valueType:n,mode:"loose",...b(r)})}const Li=g("ZodMap",(e,n)=>{Kl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Fu(e,r),e.keyType=n.keyType,e.valueType=n.valueType,e.min=(...r)=>e.check(Le(...r)),e.nonempty=r=>e.check(Le(1,r)),e.max=(...r)=>e.check(at(...r)),e.size=(...r)=>e.check(It(...r))});function gd(e,n,r){return new Li({type:"map",keyType:e,valueType:n,...b(r)})}const Ri=g("ZodSet",(e,n)=>{Gl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Lu(e,r),e.min=(...r)=>e.check(Le(...r)),e.nonempty=r=>e.check(Le(1,r)),e.max=(...r)=>e.check(at(...r)),e.size=(...r)=>e.check(It(...r))});function vd(e,n){return new Ri({type:"set",valueType:e,...b(n)})}const dt=g("ZodEnum",(e,n)=>{Xl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>Uu(e,o,t),e.enum=n.entries,e.options=Object.values(n.entries);const r=new Set(Object.keys(n.entries));e.extract=(o,t)=>{const i={};for(const a of o)if(r.has(a))i[a]=n.entries[a];else throw new Error(`Key ${a} not found in enum`);return new dt({...n,checks:[],...b(t),entries:i})},e.exclude=(o,t)=>{const i={...n.entries};for(const a of o)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new dt({...n,checks:[],...b(t),entries:i})}});function qn(e,n){const r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new dt({type:"enum",entries:r,...b(n)})}function Ji(e,n){return new dt({type:"enum",entries:e,...b(n)})}const qi=g("ZodLiteral",(e,n)=>{Ql.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Tu(e,r,o),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function hd(e,n){return new qi({type:"literal",values:Array.isArray(e)?e:[e],...b(n)})}const Yi=g("ZodFile",(e,n)=>{ec.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Au(e,r,o),e.min=(r,o)=>e.check(Le(r,o)),e.max=(r,o)=>e.check(at(r,o)),e.mime=(r,o)=>e.check(hn(Array.isArray(r)?r:[r],o))});function $d(e){return mu(Yi,e)}const Ki=g("ZodTransform",(e,n)=>{tc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Vu(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Kt(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(nt(i,r.value,n));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(nt(a))}};const t=n.transform(r.value,r);return t instanceof Promise?t.then(i=>(r.value=i,r)):(r.value=t,r)}});function Yn(e){return new Ki({type:"transform",transform:e})}const Kn=g("ZodOptional",(e,n)=>{Fr.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>hi(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function Mt(e){return new Kn({type:"optional",innerType:e})}const Wi=g("ZodExactOptional",(e,n)=>{rc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>hi(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function Gi(e){return new Wi({type:"optional",innerType:e})}const Hi=g("ZodNullable",(e,n)=>{ic.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Wu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function Vt(e){return new Hi({type:"nullable",innerType:e})}function bd(e){return Mt(Vt(e))}const Xi=g("ZodDefault",(e,n)=>{oc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Hu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Qi(e,n){return new Xi({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():Xt(n)}})}const eo=g("ZodPrefault",(e,n)=>{lc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Xu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function to(e,n){return new eo({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():Xt(n)}})}const Wn=g("ZodNonOptional",(e,n)=>{cc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Gu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function no(e,n){return new Wn({type:"nonoptional",innerType:e,...b(n)})}const ro=g("ZodSuccess",(e,n)=>{sc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Zu(e,r,o),e.unwrap=()=>e._zod.def.innerType});function _d(e){return new ro({type:"success",innerType:e})}const io=g("ZodCatch",(e,n)=>{dc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Qu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function oo(e,n){return new io({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const ao=g("ZodNaN",(e,n)=>{mc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Pu(e,r)});function yd(e){return su(ao,e)}const Gn=g("ZodPipe",(e,n)=>{fc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>es(e,r,o,t),e.in=n.in,e.out=n.out});function Ft(e,n){return new Gn({type:"pipe",in:e,out:n})}const Hn=g("ZodCodec",(e,n)=>{Gn.init(e,n),Lr.init(e,n)});function kd(e,n,r){return new Hn({type:"pipe",in:e,out:n,transform:r.decode,reverseTransform:r.encode})}const lo=g("ZodReadonly",(e,n)=>{pc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>ts(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function co(e){return new lo({type:"readonly",innerType:e})}const uo=g("ZodTemplateLiteral",(e,n)=>{vc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Cu(e,r,o)});function Sd(e,n){return new uo({type:"template_literal",parts:e,...b(n)})}const so=g("ZodLazy",(e,n)=>{bc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>rs(e,r,o,t),e.unwrap=()=>e._zod.def.getter()});function Xn(e){return new so({type:"lazy",getter:e})}const mo=g("ZodPromise",(e,n)=>{$c.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>ns(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function wd(e){return new mo({type:"promise",innerType:e})}const fo=g("ZodFunction",(e,n)=>{hc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Mu(e,r)});function Qn(e){return new fo({type:"function",input:Array.isArray(e==null?void 0:e.input)?Fi(e==null?void 0:e.input):(e==null?void 0:e.input)??et(Qe()),output:(e==null?void 0:e.output)??Qe()})}const Lt=g("ZodCustom",(e,n)=>{_c.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Bu(e,r)});function Id(e){const n=new re({check:"custom"});return n._zod.check=e,n}function zd(e,n){return fu(Lt,e??(()=>!0),n)}function po(e,n={}){return pu(Lt,e,n)}function go(e){return gu(e)}const xd=hu,Dd=$u;function Ed(e,n={}){const r=new Lt({type:"custom",check:"custom",fn:o=>o instanceof e,abort:!0,...b(n)});return r._zod.bag.Class=e,r._zod.check=o=>{o.value instanceof e||o.issues.push({code:"invalid_type",expected:e.name,input:o.value,inst:r,path:[...r._zod.def.path??[]]})},r}const Od=(...e)=>bu({Codec:Hn,Boolean:Tt,String:Ot},...e);function Nd(e){const n=Xn(()=>Zt([wn(e),wi(),Ii(),Ei(),et(n),Jn(wn(),n)]));return n}function jd(e,n){return Ft(Yn(e),n)}const kg=Object.freeze(Object.defineProperty({__proto__:null,ZodAny:Oi,ZodArray:Pi,ZodBase64:An,ZodBase64URL:Zn,ZodBigInt:Pt,ZodBigIntFormat:Fn,ZodBoolean:Tt,ZodCIDRv4:Pn,ZodCIDRv6:Cn,ZodCUID:Dn,ZodCUID2:En,ZodCatch:io,ZodCodec:Hn,ZodCustom:Lt,ZodCustomStringFormat:st,ZodDate:Rn,ZodDefault:Xi,ZodDiscriminatedUnion:Zi,ZodE164:Bn,ZodEmail:In,ZodEmoji:zn,ZodEnum:dt,ZodExactOptional:Wi,ZodFile:Yi,ZodFunction:fo,ZodGUID:Nt,ZodIPv4:Un,ZodIPv6:Tn,ZodIntersection:Bi,ZodJWT:Mn,ZodKSUID:jn,ZodLazy:so,ZodLiteral:qi,ZodMAC:Si,ZodMap:Li,ZodNaN:ao,ZodNanoID:xn,ZodNever:Ui,ZodNonOptional:Wn,ZodNull:Di,ZodNullable:Hi,ZodNumber:Ut,ZodNumberFormat:Xe,ZodObject:Ct,ZodOptional:Kn,ZodPipe:Gn,ZodPrefault:eo,ZodPromise:mo,ZodReadonly:lo,ZodRecord:Bt,ZodSet:Ri,ZodString:Ot,ZodStringFormat:ee,ZodSuccess:ro,ZodSymbol:zi,ZodTemplateLiteral:uo,ZodTransform:Ki,ZodTuple:Vi,ZodType:F,ZodULID:On,ZodURL:jt,ZodUUID:je,ZodUndefined:xi,ZodUnion:At,ZodUnknown:ji,ZodVoid:Ti,ZodXID:Nn,ZodXor:Ai,_ZodString:Sn,_default:Qi,_function:Qn,any:Ni,array:et,base64:Ls,base64url:Rs,bigint:td,boolean:Ii,catch:oo,check:Id,cidrv4:Vs,cidrv6:Fs,codec:kd,cuid:Us,cuid2:Ts,custom:zd,date:ld,describe:xd,discriminatedUnion:md,e164:Js,email:Ss,emoji:Ns,enum:qn,exactOptional:Gi,file:$d,float32:Hs,float64:Xs,function:Qn,guid:ws,hash:Gs,hex:Ws,hostname:Ks,httpUrl:Os,instanceof:Ed,int:Vn,int32:Qs,int64:nd,intersection:Mi,ipv4:Zs,ipv6:Ms,json:Nd,jwt:qs,keyof:cd,ksuid:As,lazy:Xn,literal:hd,looseObject:sd,looseRecord:pd,mac:Bs,map:gd,meta:Dd,nan:yd,nanoid:js,nativeEnum:Ji,never:Ln,nonoptional:no,null:Ei,nullable:Vt,nullish:bd,number:wi,object:Ci,optional:Mt,partialRecord:fd,pipe:Ft,prefault:to,preprocess:jd,promise:wd,readonly:co,record:Jn,refine:po,set:vd,strictObject:ud,string:wn,stringFormat:Ys,stringbool:Od,success:_d,superRefine:go,symbol:id,templateLiteral:Sd,transform:Yn,tuple:Fi,uint32:ed,uint64:rd,ulid:Ps,undefined:od,union:Zt,unknown:Qe,url:Es,uuid:Is,uuidv4:zs,uuidv6:xs,uuidv7:Ds,void:ad,xid:Cs,xor:dd},Symbol.toStringTag,{value:"Module"})),Sg={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function wg(e){me({customError:e})}function Ig(){return me().customError}var vo;vo||(vo={});const I={...kg,..._g,iso:us},zg=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function xg(e,n){const r=e.$schema;return r==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":r==="http://json-schema.org/draft-07/schema#"?"draft-7":r==="http://json-schema.org/draft-04/schema#"?"draft-4":n??"draft-2020-12"}function Dg(e,n){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");const r=e.slice(1).split("/").filter(Boolean);if(r.length===0)return n.rootSchema;const o=n.version==="draft-2020-12"?"$defs":"definitions";if(r[0]===o){const t=r[1];if(!t||!n.defs[t])throw new Error(`Reference not found: ${e}`);return n.defs[t]}throw new Error(`Reference not found: ${e}`)}function Ud(e,n){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return I.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){const t=e.$ref;if(n.refs.has(t))return n.refs.get(t);if(n.processing.has(t))return I.lazy(()=>{if(!n.refs.has(t))throw new Error(`Circular reference not resolved: ${t}`);return n.refs.get(t)});n.processing.add(t);const i=Dg(t,n),a=fe(i,n);return n.refs.set(t,a),n.processing.delete(t),a}if(e.enum!==void 0){const t=e.enum;if(n.version==="openapi-3.0"&&e.nullable===!0&&t.length===1&&t[0]===null)return I.null();if(t.length===0)return I.never();if(t.length===1)return I.literal(t[0]);if(t.every(a=>typeof a=="string"))return I.enum(t);const i=t.map(a=>I.literal(a));return i.length<2?i[0]:I.union([i[0],i[1],...i.slice(2)])}if(e.const!==void 0)return I.literal(e.const);const r=e.type;if(Array.isArray(r)){const t=r.map(i=>{const a={...e,type:i};return Ud(a,n)});return t.length===0?I.never():t.length===1?t[0]:I.union(t)}if(!r)return I.any();let o;switch(r){case"string":{let t=I.string();if(e.format){const i=e.format;i==="email"?t=t.check(I.email()):i==="uri"||i==="uri-reference"?t=t.check(I.url()):i==="uuid"||i==="guid"?t=t.check(I.uuid()):i==="date-time"?t=t.check(I.iso.datetime()):i==="date"?t=t.check(I.iso.date()):i==="time"?t=t.check(I.iso.time()):i==="duration"?t=t.check(I.iso.duration()):i==="ipv4"?t=t.check(I.ipv4()):i==="ipv6"?t=t.check(I.ipv6()):i==="mac"?t=t.check(I.mac()):i==="cidr"?t=t.check(I.cidrv4()):i==="cidr-v6"?t=t.check(I.cidrv6()):i==="base64"?t=t.check(I.base64()):i==="base64url"?t=t.check(I.base64url()):i==="e164"?t=t.check(I.e164()):i==="jwt"?t=t.check(I.jwt()):i==="emoji"?t=t.check(I.emoji()):i==="nanoid"?t=t.check(I.nanoid()):i==="cuid"?t=t.check(I.cuid()):i==="cuid2"?t=t.check(I.cuid2()):i==="ulid"?t=t.check(I.ulid()):i==="xid"?t=t.check(I.xid()):i==="ksuid"&&(t=t.check(I.ksuid()))}typeof e.minLength=="number"&&(t=t.min(e.minLength)),typeof e.maxLength=="number"&&(t=t.max(e.maxLength)),e.pattern&&(t=t.regex(new RegExp(e.pattern))),o=t;break}case"number":case"integer":{let t=r==="integer"?I.number().int():I.number();typeof e.minimum=="number"&&(t=t.min(e.minimum)),typeof e.maximum=="number"&&(t=t.max(e.maximum)),typeof e.exclusiveMinimum=="number"?t=t.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum=="number"&&(t=t.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?t=t.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum=="number"&&(t=t.lt(e.maximum)),typeof e.multipleOf=="number"&&(t=t.multipleOf(e.multipleOf)),o=t;break}case"boolean":{o=I.boolean();break}case"null":{o=I.null();break}case"object":{const t={},i=e.properties||{},a=new Set(e.required||[]);for(const[s,u]of Object.entries(i)){const d=fe(u,n);t[s]=a.has(s)?d:d.optional()}if(e.propertyNames){const s=fe(e.propertyNames,n),u=e.additionalProperties&&typeof e.additionalProperties=="object"?fe(e.additionalProperties,n):I.any();if(Object.keys(t).length===0){o=I.record(s,u);break}const d=I.object(t).passthrough(),m=I.looseRecord(s,u);o=I.intersection(d,m);break}if(e.patternProperties){const s=e.patternProperties,u=Object.keys(s),d=[];for(const p of u){const v=fe(s[p],n),h=I.string().regex(new RegExp(p));d.push(I.looseRecord(h,v))}const m=[];if(Object.keys(t).length>0&&m.push(I.object(t).passthrough()),m.push(...d),m.length===0)o=I.object({}).passthrough();else if(m.length===1)o=m[0];else{let p=I.intersection(m[0],m[1]);for(let v=2;vfe(s,n)),l=i&&typeof i=="object"&&!Array.isArray(i)?fe(i,n):void 0;l?o=I.tuple(a).rest(l):o=I.tuple(a),typeof e.minItems=="number"&&(o=o.check(I.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(I.maxLength(e.maxItems)))}else if(Array.isArray(i)){const a=i.map(s=>fe(s,n)),l=e.additionalItems&&typeof e.additionalItems=="object"?fe(e.additionalItems,n):void 0;l?o=I.tuple(a).rest(l):o=I.tuple(a),typeof e.minItems=="number"&&(o=o.check(I.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(I.maxLength(e.maxItems)))}else if(i!==void 0){const a=fe(i,n);let l=I.array(a);typeof e.minItems=="number"&&(l=l.min(e.minItems)),typeof e.maxItems=="number"&&(l=l.max(e.maxItems)),o=l}else o=I.array(I.any());break}default:throw new Error(`Unsupported type: ${r}`)}return e.description&&(o=o.describe(e.description)),e.default!==void 0&&(o=o.default(e.default)),o}function fe(e,n){if(typeof e=="boolean")return e?I.any():I.never();let r=Ud(e,n);const o=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){const l=e.anyOf.map(u=>fe(u,n)),s=I.union(l);r=o?I.intersection(r,s):s}if(e.oneOf&&Array.isArray(e.oneOf)){const l=e.oneOf.map(u=>fe(u,n)),s=I.xor(l);r=o?I.intersection(r,s):s}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)r=o?r:I.any();else{let l=o?r:fe(e.allOf[0],n);const s=o?0:1;for(let u=s;u0&&n.registry.add(r,t),r}function Eg(e,n){if(typeof e=="boolean")return e?I.any():I.never();const r=xg(e,n==null?void 0:n.defaultTarget),o=e.$defs||e.definitions||{},t={version:r,defs:o,refs:new Map,processing:new Set,rootSchema:e,registry:(n==null?void 0:n.registry)??Ie};return fe(e,t)}function Og(e){return Pc(Ot,e)}function Ng(e){return Lc(Ut,e)}function jg(e){return Gc(Tt,e)}function Ug(e){return Xc(Pt,e)}function Tg(e){return uu(Rn,e)}const Pg=Object.freeze(Object.defineProperty({__proto__:null,bigint:Ug,boolean:jg,date:Tg,number:Ng,string:Og},Symbol.toStringTag,{value:"Module"}));me(Sc());const Rt=Object.freeze(Object.defineProperty({__proto__:null,$brand:Io,$input:jc,$output:Nc,NEVER:wo,TimePrecision:Ac,ZodAny:Oi,ZodArray:Pi,ZodBase64:An,ZodBase64URL:Zn,ZodBigInt:Pt,ZodBigIntFormat:Fn,ZodBoolean:Tt,ZodCIDRv4:Pn,ZodCIDRv6:Cn,ZodCUID:Dn,ZodCUID2:En,ZodCatch:io,ZodCodec:Hn,ZodCustom:Lt,ZodCustomStringFormat:st,ZodDate:Rn,ZodDefault:Xi,ZodDiscriminatedUnion:Zi,ZodE164:Bn,ZodEmail:In,ZodEmoji:zn,ZodEnum:dt,ZodError:yg,ZodExactOptional:Wi,ZodFile:Yi,get ZodFirstPartyTypeKind(){return vo},ZodFunction:fo,ZodGUID:Nt,ZodIPv4:Un,ZodIPv6:Tn,ZodISODate:_i,ZodISODateTime:bi,ZodISODuration:ki,ZodISOTime:yi,ZodIntersection:Bi,ZodIssueCode:Sg,ZodJWT:Mn,ZodKSUID:jn,ZodLazy:so,ZodLiteral:qi,ZodMAC:Si,ZodMap:Li,ZodNaN:ao,ZodNanoID:xn,ZodNever:Ui,ZodNonOptional:Wn,ZodNull:Di,ZodNullable:Hi,ZodNumber:Ut,ZodNumberFormat:Xe,ZodObject:Ct,ZodOptional:Kn,ZodPipe:Gn,ZodPrefault:eo,ZodPromise:mo,ZodReadonly:lo,ZodRealError:ye,ZodRecord:Bt,ZodSet:Ri,ZodString:Ot,ZodStringFormat:ee,ZodSuccess:ro,ZodSymbol:zi,ZodTemplateLiteral:uo,ZodTransform:Ki,ZodTuple:Vi,ZodType:F,ZodULID:On,ZodURL:jt,ZodUUID:je,ZodUndefined:xi,ZodUnion:At,ZodUnknown:ji,ZodVoid:Ti,ZodXID:Nn,ZodXor:Ai,_ZodString:Sn,_default:Qi,_function:Qn,any:Ni,array:et,base64:Ls,base64url:Rs,bigint:td,boolean:Ii,catch:oo,check:Id,cidrv4:Vs,cidrv6:Fs,clone:Se,codec:kd,coerce:Pg,config:me,core:bg,cuid:Us,cuid2:Ts,custom:zd,date:ld,decode:vs,decodeAsync:$s,describe:xd,discriminatedUnion:md,e164:Js,email:Ss,emoji:Ns,encode:gs,encodeAsync:hs,endsWith:vn,enum:qn,exactOptional:Gi,file:$d,flattenError:br,float32:Hs,float64:Xs,formatError:_r,fromJSONSchema:Eg,function:Qn,getErrorMap:Ig,globalRegistry:Ie,gt:Fe,gte:$e,guid:ws,hash:Gs,hex:Ws,hostname:Ks,httpUrl:Os,includes:pn,instanceof:Ed,int:Vn,int32:Qs,int64:nd,intersection:Mi,ipv4:Zs,ipv6:Ms,iso:us,json:Nd,jwt:qs,keyof:cd,ksuid:As,lazy:Xn,length:xt,literal:hd,locales:Ec,looseObject:sd,looseRecord:pd,lowercase:mn,lt:Ve,lte:ze,mac:Bs,map:gd,maxLength:zt,maxSize:at,meta:Dd,mime:hn,minLength:He,minSize:Le,multipleOf:ot,nan:yd,nanoid:js,nativeEnum:Ji,negative:mi,never:Ln,nonnegative:pi,nonoptional:no,nonpositive:fi,normalize:$n,null:Ei,nullable:Vt,nullish:bd,number:wi,object:Ci,optional:Mt,overwrite:Pe,parse:ds,parseAsync:ms,partialRecord:fd,pipe:Ft,positive:di,prefault:to,preprocess:jd,prettifyError:Yo,promise:wd,property:gi,readonly:co,record:Jn,refine:po,regex:dn,regexes:Ur,registry:Rr,safeDecode:_s,safeDecodeAsync:ks,safeEncode:bs,safeEncodeAsync:ys,safeParse:fs,safeParseAsync:ps,set:vd,setErrorMap:wg,size:It,slugify:kn,startsWith:gn,strictObject:ud,string:wn,stringFormat:Ys,stringbool:Od,success:_d,superRefine:go,symbol:id,templateLiteral:Sd,toJSONSchema:is,toLowerCase:_n,toUpperCase:yn,transform:Yn,treeifyError:Jo,trim:bn,tuple:Fi,uint32:ed,uint64:rd,ulid:Ps,undefined:od,union:Zt,unknown:Qe,uppercase:fn,url:Es,util:Lo,uuid:Is,uuidv4:zs,uuidv6:xs,uuidv7:Ds,void:ad,xid:Cs,xor:dd},Symbol.toStringTag,{value:"Module"}));function Ce(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var er={exports:{}},Cg=er.exports,Td;function Pd(){return Td||(Td=1,(function(e,n){(function(r,o){e.exports=o()})(Cg,(function(){var r=1e3,o=6e4,t=36e5,i="millisecond",a="second",l="minute",s="hour",u="day",d="week",m="month",p="quarter",v="year",h="date",f="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,_=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,S={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(O){var D=["th","st","nd","rd"],w=O%100;return"["+O+(D[(w-20)%10]||D[w]||D[0])+"]"}},B=function(O,D,w){var j=String(O);return!j||j.length>=D?O:""+Array(D+1-j.length).join(w)+O},L={s:B,z:function(O){var D=-O.utcOffset(),w=Math.abs(D),j=Math.floor(w/60),x=w%60;return(D<=0?"+":"-")+B(j,2,"0")+":"+B(x,2,"0")},m:function O(D,w){if(D.date()1)return O(V[0])}else{var G=D.name;E[G]=D,x=G}return!j&&x&&(U=x),x||!j&&U},A=function(O,D){if(y(O))return O.clone();var w=typeof D=="object"?D:{};return w.date=O,w.args=arguments,new ne(w)},T=L;T.l=J,T.i=y,T.w=function(O,D){return A(O,{locale:D.$L,utc:D.$u,x:D.$x,$offset:D.$offset})};var ne=(function(){function O(w){this.$L=J(w.locale,null,!0),this.parse(w),this.$x=this.$x||w.x||{},this[z]=!0}var D=O.prototype;return D.parse=function(w){this.$d=(function(j){var x=j.date,M=j.utc;if(x===null)return new Date(NaN);if(T.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var V=x.match($);if(V){var G=V[2]-1||0,oe=(V[7]||"0").substring(0,3);return M?new Date(Date.UTC(V[1],G,V[3]||1,V[4]||0,V[5]||0,V[6]||0,oe)):new Date(V[1],G,V[3]||1,V[4]||0,V[5]||0,V[6]||0,oe)}}return new Date(x)})(w),this.init()},D.init=function(){var w=this.$d;this.$y=w.getFullYear(),this.$M=w.getMonth(),this.$D=w.getDate(),this.$W=w.getDay(),this.$H=w.getHours(),this.$m=w.getMinutes(),this.$s=w.getSeconds(),this.$ms=w.getMilliseconds()},D.$utils=function(){return T},D.isValid=function(){return this.$d.toString()!==f},D.isSame=function(w,j){var x=A(w);return this.startOf(j)<=x&&x<=this.endOf(j)},D.isAfter=function(w,j){return A(w)0&&(l=l[0]),s=(l=l.filter((function(d){return d})))[0];for(var u=1;u0,E<=U.r||!U.r){E<=1&&L>0&&(U=S[L-1]);var z=_[U.l];v&&(E=v(""+E)),f=typeof z=="string"?z.replace("%d",E):z(E,d,U.l,$);break}}if(d)return f;var y=$?_.future:_.past;return typeof y=="function"?y(f):y.replace("%s",f)},i.to=function(u,d){return l(u,d,this,!0)},i.from=function(u,d){return l(u,d,this)};var s=function(u){return u.$u?t.utc():t()};i.toNow=function(u){return this.to(s(this),u)},i.fromNow=function(u){return this.from(s(this),u)}}}))})(or)),or.exports}var nv=tv();const rv=Ce(nv);var ar={exports:{}},iv=ar.exports,Vd;function ov(){return Vd||(Vd=1,(function(e,n){(function(r,o){e.exports=o()})(iv,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(t,i,a){var l,s=function(p,v,h){h===void 0&&(h={});var f=new Date(p),$=(function(_,S){S===void 0&&(S={});var B=S.timeZoneName||"short",L=_+"|"+B,U=o[L];return U||(U=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:_,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:B}),o[L]=U),U})(v,h);return $.formatToParts(f)},u=function(p,v){for(var h=s(p,v),f=[],$=0;$=0&&(f[L]=parseInt(B,10))}var U=f[3],E=U===24?0:U,z=f[0]+"-"+f[1]+"-"+f[2]+" "+E+":"+f[4]+":"+f[5]+":000",y=+p;return(a.utc(z).valueOf()-(y-=y%1e3))/6e4},d=i.prototype;d.tz=function(p,v){p===void 0&&(p=l);var h,f=this.utcOffset(),$=this.toDate(),_=$.toLocaleString("en-US",{timeZone:p}),S=Math.round(($-new Date(_))/1e3/60),B=15*-Math.round($.getTimezoneOffset()/15)-S;if(!Number(B))h=this.utcOffset(0,v);else if(h=a(_,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(B,!0),v){var L=h.utcOffset();h=h.add(f-L,"minute")}return h.$x.$timezone=p,h},d.offsetName=function(p){var v=this.$x.$timezone||a.tz.guess(),h=s(this.valueOf(),v,{timeZoneName:p}).find((function(f){return f.type.toLowerCase()==="timezonename"}));return h&&h.value};var m=d.startOf;d.startOf=function(p,v){if(!this.$x||!this.$x.$timezone)return m.call(this,p,v);var h=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return m.call(h,p,v).tz(this.$x.$timezone,!0)},a.tz=function(p,v,h){var f=h&&v,$=h||v||l,_=u(+a(),$);if(typeof p!="string")return a(p).tz($);var S=(function(E,z,y){var J=E-60*z*1e3,A=u(J,y);if(z===A)return[J,z];var T=u(J-=60*(A-z)*1e3,y);return A===T?[J,A]:[E-60*Math.min(A,T)*1e3,Math.max(A,T)]})(a.utc(p,f).valueOf(),_,$),B=S[0],L=S[1],U=a(B).utcOffset(L);return U.$x.$timezone=$,U},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(p){l=p}}}))})(ar)),ar.exports}var av=ov();const lv=Ce(av);var lr={exports:{}},cv=lr.exports,Fd;function uv(){return Fd||(Fd=1,(function(e,n){(function(r,o){e.exports=o()})(cv,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,t=/([+-]|\d\d)/g;return function(i,a,l){var s=a.prototype;l.utc=function(f){var $={date:f,utc:!0,args:arguments};return new a($)},s.utc=function(f){var $=l(this.toDate(),{locale:this.$L,utc:!0});return f?$.add(this.utcOffset(),r):$},s.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var u=s.parse;s.parse=function(f){f.utc&&(this.$u=!0),this.$utils().u(f.$offset)||(this.$offset=f.$offset),u.call(this,f)};var d=s.init;s.init=function(){if(this.$u){var f=this.$d;this.$y=f.getUTCFullYear(),this.$M=f.getUTCMonth(),this.$D=f.getUTCDate(),this.$W=f.getUTCDay(),this.$H=f.getUTCHours(),this.$m=f.getUTCMinutes(),this.$s=f.getUTCSeconds(),this.$ms=f.getUTCMilliseconds()}else d.call(this)};var m=s.utcOffset;s.utcOffset=function(f,$){var _=this.$utils().u;if(_(f))return this.$u?0:_(this.$offset)?m.call(this):this.$offset;if(typeof f=="string"&&(f=(function(U){U===void 0&&(U="");var E=U.match(o);if(!E)return null;var z=(""+E[0]).match(t)||["-",0,0],y=z[0],J=60*+z[1]+ +z[2];return J===0?0:y==="+"?J:-J})(f),f===null))return this;var S=Math.abs(f)<=16?60*f:f;if(S===0)return this.utc($);var B=this.clone();if($)return B.$offset=S,B.$u=!1,B;var L=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(B=this.local().add(S+L,r)).$offset=S,B.$x.$localOffset=L,B};var p=s.format;s.format=function(f){var $=f||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return p.call(this,$)},s.valueOf=function(){var f=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*f},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var v=s.toDate;s.toDate=function(f){return f==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():v.call(this)};var h=s.diff;s.diff=function(f,$,_){if(f&&this.$u===f.$u)return h.call(this,f,$,_);var S=this.local(),B=l(f).local();return h.call(S,B,$,_)}}}))})(lr)),lr.exports}var sv=uv();const dv=Ce(sv);var cr={exports:{}},mv=cr.exports,Ld;function fv(){return Ld||(Ld=1,(function(e,n){(function(r,o){e.exports=o()})(mv,(function(){var r="week",o="year";return function(t,i,a){var l=i.prototype;l.week=function(s){if(s===void 0&&(s=null),s!==null)return this.add(7*(s-this.week()),"day");var u=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var d=a(this).startOf(o).add(1,o).date(u),m=a(this).endOf(r);if(d.isBefore(m))return 1}var p=a(this).startOf(o).date(u).startOf(r).subtract(1,"millisecond"),v=this.diff(p,r,!0);return v<0?a(this).startOf("week").week():Math.ceil(v)},l.weeks=function(s){return s===void 0&&(s=null),this.week(s)}}}))})(cr)),cr.exports}var pv=fv();const gv=Ce(pv);var ur={exports:{}},vv=ur.exports,Rd;function hv(){return Rd||(Rd=1,(function(e,n){(function(r,o){e.exports=o(Pd())})(vv,(function(r){function o(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var t=o(r),i={name:"pt-br",weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(a){return a+"º"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"}};return t.default.locale(i,null,!0),i}))})(ur)),ur.exports}hv();var $v={};globalThis.cacheMemoria_cache=$v;var bv=(e=>(e.codigo="codigo",e.excluido="excluido",e.data_hora_criacao="data_hora_criacao",e.data_hora_atualizacao="data_hora_atualizacao",e.codigo_usuario_criacao="codigo_usuario_criacao",e.codigo_usuario_atualizacao="codigo_usuario_atualizacao",e.versao="versao",e))(bv||{}),_v=(e=>(e.token="token",e))(_v||{}),yv=(e=>(e.Usuario="usuario",e.Fornecedor="fornecedor",e))(yv||{}),kv=(e=>(e["="]="=",e["!="]="!=",e[">"]=">",e[">="]=">=",e["<"]="<",e["<="]="<=",e.like="like",e.in="in",e.isNull="isNull",e))(kv||{}),Sv=Rt.enum(["=","!=",">",">=","<","<=","like","in","isNull"]);Rt.object({coluna:Rt.string(),valor:Rt.any(),operador:Sv,ou:Rt.boolean().optional()}),pe.locale("pt-br"),pe.extend(dv),pe.extend(lv),pe.extend(gv),pe.extend(Wg),pe.extend(Jg),pe.extend(Qg),pe.extend(rv),pe.extend(Vg);var wv=(e=>(e["e-licencie"]="e-licencie",e["gov.e-licencie"]="gov.e-licencie",e))(wv||{}),Iv=(e=>(e.modelo="000_modelo",e.vencida="100_vencida",e.expirado="200_expirado",e.alerta="300_alerta",e.protocoladafora="350_protocoladafora",e.protocolada="400_protocolada",e.protocoladaApenas="430_protocolada",e.protocolada_alteracao="450_protocolada",e.prazo="500_prazo",e.emitida="515_emitida",e.valida="518_valida",e.novo="520_novo",e.recebido="521_recebido",e.em_andamento="530_em_andamento",e.aguardando="530_aguardando",e.aguardandoresposta="540_aguardandoresposta",e.suspensaotemporaria="540_suspensaotemporaria",e.cancelada="550_cancelada",e.execucao="560_execucao",e.pendente="570_pendente",e.executadafora="600_executadafora",e.executada="700_executada",e.naoexecutada="701_naoexecutada",e.concluida="730_concluida",e.respondido_negado="740_respondido_negado",e.respondido_aceito="741_respondido_aceito",e.atendidoparcial="742_atendidoparcial",e.naoatendido="743_naoatendido",e.atendido="744_atendido",e.renovada="760_renovada",e.finalizada="800_finalizada",e.emitirnota="101_emitirnota",e.faturaatrasada="301_faturaatrasada",e.pagarfatura="302_pagarfatura",e.aguardandoconfirmacao="531_aguardandoconfirmacao",e.agendado="701_agendado",e.faturapaga="801_faturapaga",e.excluida="999_excluida",e.requerida="401_requerida",e.vigente="516_vigente",e.emrenovacao="402_emrenovacao",e.arquivada="801_arquivada",e.aguardando_sincronizacao="999_aguardando_sincronizacao",e.nao_conforme="710_nao_conforme",e.conforme="720_conforme",e.nao_aplicavel="730_nao_aplicavel",e.parcial="715_parcial",e))(Iv||{}),Jd=(e=>(e["="]="=",e["!="]="!=",e[">"]=">",e[">="]=">=",e["<"]="<",e["<="]="<=",e.like="like",e.in="in",e))(Jd||{}),zv=(e=>(e.E="E",e.OU="OU",e))(zv||{}),xv=Ji(Jd),Dv=Ni(),Ev=Jn(xv,Dv),ho=Xn(()=>Ci({E:et(ho).optional(),OU:et(ho).optional()}).catchall(Zt([Ev,ho]))),Ov=e=>e,Nv=(e=>(e.UN="UN",e.KG="KG",e.TON="TON",e.g="g",e["M³"]="M³",e.Lt="Lt",e))(Nv||{});const jv=c.defineComponent({name:"EliEntradaDataHora",inheritAttrs:!1,props:{value:{type:String,default:void 0},opcoes:{type:Object,required:!1,default:void 0},modelValue:{type:String,default:null},modo:{type:String,default:void 0},rotulo:{type:String,default:void 0},placeholder:{type:String,default:void 0},desabilitado:{type:Boolean,default:void 0},limpavel:{type:Boolean,default:void 0},erro:{type:Boolean,default:void 0},mensagensErro:{type:[String,Array],default:void 0},dica:{type:String,default:void 0},dicaPersistente:{type:Boolean,default:void 0},densidade:{type:String,default:void 0},variante:{type:String,default:void 0},min:{type:String,default:void 0},max:{type:String,default:void 0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,"update:modelValue":e=>!0,alterar:e=>!0,foco:()=>!0,desfoco:()=>!0,focus:()=>!0,blur:()=>!0},setup(e,{emit:n,attrs:r}){const o=c.computed(()=>e.opcoes?e.opcoes:{rotulo:e.rotulo??"Data e hora",placeholder:e.placeholder??"",modo:e.modo??"dataHora",limpavel:e.limpavel,erro:e.erro,mensagensErro:e.mensagensErro,dica:e.dica,dicaPersistente:e.dicaPersistente,densidade:e.densidade,variante:e.variante,min:e.min,max:e.max}),t=c.computed(()=>o.value.modo??"dataHora"),i=c.computed(()=>!!e.desabilitado),a=c.computed(()=>t.value==="data"?"date":"datetime-local");function l(f){return t.value==="data"?pe(f).format("YYYY-MM-DD"):pe(f).format("YYYY-MM-DDTHH:mm")}function s(f){return t.value==="data"?pe(`${f}T00:00`).format():pe(f).format()}const u=c.computed(()=>e.value!==void 0?e.value??null:e.modelValue),d=c.computed({get:()=>u.value?l(u.value):"",set:f=>{const $=f&&f.length>0?f:null;if(!$){n("update:value",null),n("input",null),n("change",null),n("update:modelValue",null),n("alterar",null);return}const _=s($);n("update:value",_),n("input",_),n("change",_),n("update:modelValue",_),n("alterar",_)}}),m=c.computed(()=>{const f=o.value.min;if(f)return l(f)}),p=c.computed(()=>{const f=o.value.max;if(f)return l(f)});function v(){n("foco"),n("focus")}function h(){n("desfoco"),n("blur")}return{attrs:r,valor:d,tipoInput:a,minLocal:m,maxLocal:p,opcoesEfetivas:o,desabilitadoEfetivo:i,emitCompatFocus:v,emitCompatBlur:h}}}),Uv={class:"eli-data-hora"};function Tv(e,n,r,o,t,i){return c.openBlock(),c.createElementBlock("div",Uv,[c.createVNode(mr.VTextField,c.mergeProps({modelValue:e.valor,"onUpdate:modelValue":n[0]||(n[0]=a=>e.valor=a),type:e.tipoInput,label:e.opcoesEfetivas.rotulo,placeholder:e.opcoesEfetivas.placeholder,disabled:e.desabilitadoEfetivo,clearable:!!e.opcoesEfetivas.limpavel,error:!!e.opcoesEfetivas.erro,"error-messages":e.opcoesEfetivas.mensagensErro,hint:e.opcoesEfetivas.dica,"persistent-hint":!!e.opcoesEfetivas.dicaPersistente,density:e.opcoesEfetivas.densidade??"comfortable",variant:e.opcoesEfetivas.variante??"outlined",min:e.minLocal,max:e.maxLocal},e.attrs,{onFocus:e.emitCompatFocus,onBlur:e.emitCompatBlur}),null,16,["modelValue","type","label","placeholder","disabled","clearable","error","error-messages","hint","persistent-hint","density","variant","min","max","onFocus","onBlur"])])}const $o=X(jv,[["render",Tv]]);function Pv(e){if(!Number.isFinite(e)||e<=0||e>=1)return 0;const n=e.toString();if(n.includes("e-")){const[,t]=n.split("e-"),i=Number(t);return Number.isFinite(i)?i:0}const r=n.indexOf(".");return r===-1?0:n.slice(r+1).replace(/0+$/,"").length}function Cv(e){const n=(e??"").trim().replace(/,/g,".");if(!n)return null;const r=Number(n);return Number.isNaN(r)?null:r}function bo(e,n){return e==null?"":n===null?String(e):Number(e).toFixed(Math.max(0,n)).replace(/\./g,",")}function qd(e){return(e??"").replace(/\D+/g,"")}function Av(e){const n=(e??"").replace(/[^0-9.,]+/g,""),r=n.match(/[.,]/);if(!r)return n;const o=r[0],t=n.indexOf(o),i=n.slice(0,t).replace(/[.,]/g,""),a=n.slice(t+1).replace(/[.,]/g,"");return`${i.length?i:"0"}${o}${a}`}function Zv(e,n){if(n===null)return e;if(n<=0)return e.replace(/[.,]/g,"");const r=e.match(/[.,]/);if(!r)return e;const o=r[0],t=e.indexOf(o),i=e.slice(0,t),a=e.slice(t+1);return`${i}${o}${a.slice(0,n)}`}function Bv(e){const n=e.match(/^(\d+)[.,]$/);if(!n)return null;const r=Number(n[1]);return Number.isNaN(r)?null:r}const Mv=c.defineComponent({name:"EliEntradaNumero",inheritAttrs:!1,props:{value:{type:[Number,null],default:void 0},opcoes:{type:Object,required:!0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{attrs:n,emit:r}){const o=c.computed(()=>{var d;const u=(d=e.opcoes)==null?void 0:d.precisao;return u==null?null:Pv(u)}),t=c.computed(()=>o.value===0),i=c.computed(()=>{const u=o.value;return u!==null&&u>0}),a=c.ref(""),l=c.ref(void 0);c.watch(()=>e.value,u=>{u!==l.value&&(a.value=bo(u,o.value),l.value=u)},{immediate:!0});function s(u){if(i.value){const v=o.value??0,h=qd(u),f=h?Number(h):0,$=10**v,_=h?f/$:null,S=_===null?null:_;l.value=S,r("update:value",S),r("input",S),r("change",S),a.value=bo(S,v);return}const d=t.value?qd(u):Av(u),m=t.value?d:Zv(d,o.value);let p=null;if(m){const h=(t.value?null:Bv(m))??Cv(m);p=h===null?null:h}l.value=p,r("update:value",p),r("input",p),r("change",p),a.value=bo(p,o.value)}return{attrs:n,emit:r,displayValue:a,isInteiro:t,onUpdateModelValue:s}}}),Vv={class:"eli-entrada__prefixo"},Fv={class:"eli-entrada__sufixo"};function Lv(e,n,r,o,t,i){var a,l,s,u;return c.openBlock(),c.createBlock(mr.VTextField,c.mergeProps({"model-value":e.displayValue,label:(a=e.opcoes)==null?void 0:a.rotulo,placeholder:(l=e.opcoes)==null?void 0:l.placeholder,type:e.isInteiro?"number":"text",inputmode:e.isInteiro?"numeric":"decimal",pattern:e.isInteiro?"[0-9]*":"[0-9.,]*"},e.attrs,{"onUpdate:modelValue":e.onUpdateModelValue,onFocus:n[0]||(n[0]=()=>e.emit("focus")),onBlur:n[1]||(n[1]=()=>e.emit("blur"))}),c.createSlots({_:2},[(s=e.opcoes)!=null&&s.prefixo?{name:"prepend-inner",fn:c.withCtx(()=>[c.createElementVNode("span",Vv,c.toDisplayString(e.opcoes.prefixo),1)]),key:"0"}:void 0,(u=e.opcoes)!=null&&u.sufixo?{name:"append-inner",fn:c.withCtx(()=>[c.createElementVNode("span",Fv,c.toDisplayString(e.opcoes.sufixo),1)]),key:"1"}:void 0]),1040,["model-value","label","placeholder","type","inputmode","pattern","onUpdate:modelValue"])}const _o=X(Mv,[["render",Lv]]),Rv=c.defineComponent({name:"EliEntradaParagrafo",components:{VTextarea:fr.VTextarea},inheritAttrs:!1,props:{value:{type:[String,null],default:void 0},opcoes:{type:Object,required:!0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{attrs:n,emit:r}){const o=c.computed({get:()=>e.value,set:t=>{r("update:value",t),r("input",t),r("change",t)}});return{attrs:n,emit:r,localValue:o}}});function Jv(e,n,r,o,t,i){var a,l,s,u,d,m,p,v,h,f,$,_;return c.openBlock(),c.createBlock(pm.VTextarea,c.mergeProps({modelValue:e.localValue,"onUpdate:modelValue":n[0]||(n[0]=S=>e.localValue=S),label:(a=e.opcoes)==null?void 0:a.rotulo,placeholder:(l=e.opcoes)==null?void 0:l.placeholder,rows:((s=e.opcoes)==null?void 0:s.linhas)??4,counter:(u=e.opcoes)==null?void 0:u.limiteCaracteres,maxlength:(d=e.opcoes)==null?void 0:d.limiteCaracteres,clearable:!!((m=e.opcoes)!=null&&m.limpavel),error:!!((p=e.opcoes)!=null&&p.erro),"error-messages":(v=e.opcoes)==null?void 0:v.mensagensErro,hint:(h=e.opcoes)==null?void 0:h.dica,"persistent-hint":!!((f=e.opcoes)!=null&&f.dicaPersistente),density:(($=e.opcoes)==null?void 0:$.densidade)??"comfortable",variant:((_=e.opcoes)==null?void 0:_.variante)??"outlined","auto-grow":""},e.attrs,{onFocus:n[1]||(n[1]=()=>e.emit("focus")),onBlur:n[2]||(n[2]=()=>e.emit("blur"))}),null,16,["modelValue","label","placeholder","rows","counter","maxlength","clearable","error","error-messages","hint","persistent-hint","density","variant"])}const Yd=X(Rv,[["render",Jv]]),qv=c.defineComponent({name:"EliEntradaSelecao",components:{VSelect:fr.VSelect},inheritAttrs:!1,props:{value:{type:[String,null],default:void 0},opcoes:{type:Object,required:!0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{attrs:n,emit:r}){const o=c.ref([]),t=c.ref(!1),i=c.computed({get:()=>e.value,set:l=>{r("update:value",l),r("input",l),r("change",l)}});async function a(){t.value=!0;try{const l=await e.opcoes.itens(),s=Array.isArray(l)?l:[];o.value=[...s]}finally{t.value=!1}}return c.watch(()=>e.opcoes.itens,()=>{a()}),c.onMounted(()=>{a()}),c.watch(o,l=>{console.debug("[EliEntradaSelecao] itens:",l)},{deep:!0}),{attrs:n,emit:r,localValue:i,itens:o,carregando:t}}});function Yv(e,n,r,o,t,i){var a,l,s,u,d,m,p,v,h;return c.openBlock(),c.createBlock(gm.VSelect,c.mergeProps({modelValue:e.localValue,"onUpdate:modelValue":n[0]||(n[0]=f=>e.localValue=f),label:(a=e.opcoes)==null?void 0:a.rotulo,placeholder:(l=e.opcoes)==null?void 0:l.placeholder,items:e.itens,"item-title":"rotulo","item-value":"chave",loading:e.carregando,disabled:e.carregando,"menu-props":{maxHeight:320},clearable:!!((s=e.opcoes)!=null&&s.limpavel),error:!!((u=e.opcoes)!=null&&u.erro),"error-messages":(d=e.opcoes)==null?void 0:d.mensagensErro,hint:(m=e.opcoes)==null?void 0:m.dica,"persistent-hint":!!((p=e.opcoes)!=null&&p.dicaPersistente),density:((v=e.opcoes)==null?void 0:v.densidade)??"comfortable",variant:((h=e.opcoes)==null?void 0:h.variante)??"outlined"},e.attrs,{onFocus:n[1]||(n[1]=()=>e.emit("focus")),onBlur:n[2]||(n[2]=()=>e.emit("blur"))}),null,16,["modelValue","label","placeholder","items","loading","disabled","clearable","error","error-messages","hint","persistent-hint","density","variant"])}const Kd=X(qv,[["render",Yv]]);function Kv(e){return e.replace(/\D+/g,"")}function Wv(e){const n=Kv(e);return n?n.replace(/^(\d{5})(\d)/,"$1-$2").slice(0,9):""}function Gv(e){return e.replace(/\D+/g,"")}function Hv(e){const n=Gv(e);return n.length<=11?n.replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2").slice(0,14):n.replace(/^(\d{2})(\d)/,"$1.$2").replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3").replace(/\.(\d{3})(\d)/,".$1/$2").replace(/(\d{4})(\d)/,"$1-$2").slice(0,18)}function Xv(e){return e.replace(/\D+/g,"")}function Qv(e){const n=Xv(e);return n?n.length<=10?n.replace(/^(\d{2})(\d)/,"($1) $2").replace(/(\d{4})(\d)/,"$1-$2").slice(0,14):n.replace(/^(\d{2})(\d)/,"($1) $2").replace(/(\d{5})(\d)/,"$1-$2").slice(0,15):""}const eh=c.defineComponent({name:"EliEntradaTexto",inheritAttrs:!1,props:{value:{type:[String,null],default:void 0},opcoes:{type:Object,required:!0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{attrs:n,emit:r}){const o=c.computed(()=>{var u;return((u=e.opcoes)==null?void 0:u.formato)??"texto"}),t=c.computed({get:()=>e.value,set:u=>{r("update:value",u),r("input",u),r("change",u)}}),i=c.computed(()=>o.value==="email"?"email":o.value==="url"?"url":"text"),a=c.computed(()=>{if(o.value==="telefone")return"tel";if(o.value==="cpfCnpj"||o.value==="cep")return"numeric"});function l(u){switch(o.value){case"telefone":return Qv(u);case"cpfCnpj":return Hv(u);case"cep":return Wv(u);default:return u}}function s(u){const d=u.target,m=l(d.value);d.value=m,t.value=m}return{attrs:n,emit:r,localValue:t,inputHtmlType:i,inputMode:a,onInput:s}}});function th(e,n,r,o,t,i){var a,l,s,u;return c.openBlock(),c.createBlock(mr.VTextField,c.mergeProps({modelValue:e.localValue,"onUpdate:modelValue":n[0]||(n[0]=d=>e.localValue=d),type:e.inputHtmlType,inputmode:e.inputMode,label:(a=e.opcoes)==null?void 0:a.rotulo,placeholder:(l=e.opcoes)==null?void 0:l.placeholder,counter:(s=e.opcoes)==null?void 0:s.limiteCaracteres,maxlength:(u=e.opcoes)==null?void 0:u.limiteCaracteres},e.attrs,{onFocus:n[1]||(n[1]=()=>e.emit("focus")),onBlur:n[2]||(n[2]=()=>e.emit("blur")),onInput:e.onInput}),null,16,["modelValue","type","inputmode","label","placeholder","counter","maxlength","onInput"])}const sr=X(eh,[["render",th]]);var Wd=(e=>(e[e.sucesso=200]="sucesso",e[e.erroConhecido=400]="erroConhecido",e[e.erroPermissao=401]="erroPermissao",e[e.erroNaoEncontrado=404]="erroNaoEncontrado",e[e.erroDesconhecido=500]="erroDesconhecido",e[e.tempoEsgotado=504]="tempoEsgotado",e))(Wd||{});const nh="eli:tabela";function Gd(e){return`${nh}:${e}:colunas`}function Hd(e){if(!e||typeof e!="object")return{visiveis:[],invisiveis:[]};const n=e,r=Array.isArray(n.visiveis)?n.visiveis.filter(t=>typeof t=="string"):[],o=Array.isArray(n.invisiveis)?n.invisiveis.filter(t=>typeof t=="string"):[];return{visiveis:r,invisiveis:o}}function Xd(e){try{const n=window.localStorage.getItem(Gd(e));return n?Hd(JSON.parse(n)):{visiveis:[],invisiveis:[]}}catch{return{visiveis:[],invisiveis:[]}}}function rh(e,n){try{window.localStorage.setItem(Gd(e),JSON.stringify(Hd(n)))}catch{}}/** +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of e.seen.entries()){const m=d[1];if(n===d[0]){i(d);continue}if(e.external){const v=(s=e.external.registry.get(d[0]))==null?void 0:s.id;if(n!==d[0]&&v){i(d);continue}}if((u=e.metadataRegistry.get(d[0]))==null?void 0:u.id){i(d);continue}if(m.cycle){i(d);continue}if(m.count>1&&e.reused==="ref"){i(d);continue}}}function ut(e,n){var a,l,s;const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=u=>{const d=e.seen.get(u);if(d.ref===null)return;const m=d.def??d.schema,p={...m},v=d.ref;if(d.ref=null,v){o(v);const f=e.seen.get(v),$=f.schema;if($.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(m.allOf=m.allOf??[],m.allOf.push($)):Object.assign(m,$),Object.assign(m,p),u._zod.parent===v)for(const S in m)S==="$ref"||S==="allOf"||S in p||delete m[S];if($.$ref&&f.def)for(const S in m)S==="$ref"||S==="allOf"||S in f.def&&JSON.stringify(m[S])===JSON.stringify(f.def[S])&&delete m[S]}const h=u._zod.parent;if(h&&h!==v){o(h);const f=e.seen.get(h);if(f!=null&&f.schema.$ref&&(m.$ref=f.schema.$ref,f.def))for(const $ in m)$==="$ref"||$==="allOf"||$ in f.def&&JSON.stringify(m[$])===JSON.stringify(f.def[$])&&delete m[$]}e.override({zodSchema:u,jsonSchema:m,path:d.path??[]})};for(const u of[...e.seen.entries()].reverse())o(u[0]);const t={};if(e.target==="draft-2020-12"?t.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?t.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?t.$schema="http://json-schema.org/draft-04/schema#":e.target,(a=e.external)!=null&&a.uri){const u=(l=e.external.registry.get(n))==null?void 0:l.id;if(!u)throw new Error("Schema is missing an `id` property");t.$id=e.external.uri(u)}Object.assign(t,r.def??r.schema);const i=((s=e.external)==null?void 0:s.defs)??{};for(const u of e.seen.entries()){const d=u[1];d.def&&d.defId&&(i[d.defId]=d.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?t.$defs=i:t.definitions=i);try{const u=JSON.parse(JSON.stringify(t));return Object.defineProperty(u,"~standard",{value:{...n["~standard"],jsonSchema:{input:Et(n,"input",e.processors),output:Et(n,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch{throw new Error("Error converting schema to JSON.")}}function ge(e,n){const r=n??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return ge(o.element,r);if(o.type==="set")return ge(o.valueType,r);if(o.type==="lazy")return ge(o.getter(),r);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return ge(o.innerType,r);if(o.type==="intersection")return ge(o.left,r)||ge(o.right,r);if(o.type==="record"||o.type==="map")return ge(o.keyType,r)||ge(o.valueType,r);if(o.type==="pipe")return ge(o.in,r)||ge(o.out,r);if(o.type==="object"){for(const t in o.shape)if(ge(o.shape[t],r))return!0;return!1}if(o.type==="union"){for(const t of o.options)if(ge(t,r))return!0;return!1}if(o.type==="tuple"){for(const t of o.items)if(ge(t,r))return!0;return!!(o.rest&&ge(o.rest,r))}return!1}const _u=(e,n={})=>r=>{const o=lt({...r,processors:n});return W(e,o),ct(o,e),ut(o,e)},Et=(e,n,r={})=>o=>{const{libraryOptions:t,target:i}=o??{},a=lt({...t??{},target:i,io:n,processors:r});return W(e,a),ct(a,e),ut(a,e)},hg={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},yu=(e,n,r,o)=>{const t=r;t.type="string";const{minimum:i,maximum:a,format:l,patterns:s,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(t.minLength=i),typeof a=="number"&&(t.maxLength=a),l&&(t.format=hg[l]??l,t.format===""&&delete t.format,l==="time"&&delete t.format),u&&(t.contentEncoding=u),s&&s.size>0){const d=[...s];d.length===1?t.pattern=d[0].source:d.length>1&&(t.allOf=[...d.map(m=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:m.source}))])}},ku=(e,n,r,o)=>{const t=r,{minimum:i,maximum:a,format:l,multipleOf:s,exclusiveMaximum:u,exclusiveMinimum:d}=e._zod.bag;typeof l=="string"&&l.includes("int")?t.type="integer":t.type="number",typeof d=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(t.minimum=d,t.exclusiveMinimum=!0):t.exclusiveMinimum=d),typeof i=="number"&&(t.minimum=i,typeof d=="number"&&n.target!=="draft-04"&&(d>=i?delete t.minimum:delete t.exclusiveMinimum)),typeof u=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(t.maximum=u,t.exclusiveMaximum=!0):t.exclusiveMaximum=u),typeof a=="number"&&(t.maximum=a,typeof u=="number"&&n.target!=="draft-04"&&(u<=a?delete t.maximum:delete t.exclusiveMaximum)),typeof s=="number"&&(t.multipleOf=s)},Su=(e,n,r,o)=>{r.type="boolean"},wu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Iu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},zu=(e,n,r,o)=>{n.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},xu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Du=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Eu=(e,n,r,o)=>{r.not={}},Ou=(e,n,r,o)=>{},Nu=(e,n,r,o)=>{},ju=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Uu=(e,n,r,o)=>{const t=e._zod.def,i=gr(t.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Tu=(e,n,r,o)=>{const t=e._zod.def,i=[];for(const a of t.values)if(a===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){const a=i[0];r.type=a===null?"null":typeof a,n.target==="draft-04"||n.target==="openapi-3.0"?r.enum=[a]:r.const=a}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i},Pu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Cu=(e,n,r,o)=>{const t=r,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");t.type="string",t.pattern=i.source},Au=(e,n,r,o)=>{const t=r,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:l,mime:s}=e._zod.bag;a!==void 0&&(i.minLength=a),l!==void 0&&(i.maxLength=l),s?s.length===1?(i.contentMediaType=s[0],Object.assign(t,i)):(Object.assign(t,i),t.anyOf=s.map(u=>({contentMediaType:u}))):Object.assign(t,i)},Zu=(e,n,r,o)=>{r.type="boolean"},Bu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Mu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Vu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Fu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Lu=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Ru=(e,n,r,o)=>{const t=r,i=e._zod.def,{minimum:a,maximum:l}=e._zod.bag;typeof a=="number"&&(t.minItems=a),typeof l=="number"&&(t.maxItems=l),t.type="array",t.items=W(i.element,n,{...o,path:[...o.path,"items"]})},Ju=(e,n,r,o)=>{var u;const t=r,i=e._zod.def;t.type="object",t.properties={};const a=i.shape;for(const d in a)t.properties[d]=W(a[d],n,{...o,path:[...o.path,"properties",d]});const l=new Set(Object.keys(a)),s=new Set([...l].filter(d=>{const m=i.shape[d]._zod;return n.io==="input"?m.optin===void 0:m.optout===void 0}));s.size>0&&(t.required=Array.from(s)),((u=i.catchall)==null?void 0:u._zod.def.type)==="never"?t.additionalProperties=!1:i.catchall?i.catchall&&(t.additionalProperties=W(i.catchall,n,{...o,path:[...o.path,"additionalProperties"]})):n.io==="output"&&(t.additionalProperties=!1)},vi=(e,n,r,o)=>{const t=e._zod.def,i=t.inclusive===!1,a=t.options.map((l,s)=>W(l,n,{...o,path:[...o.path,i?"oneOf":"anyOf",s]}));i?r.oneOf=a:r.anyOf=a},qu=(e,n,r,o)=>{const t=e._zod.def,i=W(t.left,n,{...o,path:[...o.path,"allOf",0]}),a=W(t.right,n,{...o,path:[...o.path,"allOf",1]}),l=u=>"allOf"in u&&Object.keys(u).length===1,s=[...l(i)?i.allOf:[i],...l(a)?a.allOf:[a]];r.allOf=s},Yu=(e,n,r,o)=>{const t=r,i=e._zod.def;t.type="array";const a=n.target==="draft-2020-12"?"prefixItems":"items",l=n.target==="draft-2020-12"||n.target==="openapi-3.0"?"items":"additionalItems",s=i.items.map((p,v)=>W(p,n,{...o,path:[...o.path,a,v]})),u=i.rest?W(i.rest,n,{...o,path:[...o.path,l,...n.target==="openapi-3.0"?[i.items.length]:[]]}):null;n.target==="draft-2020-12"?(t.prefixItems=s,u&&(t.items=u)):n.target==="openapi-3.0"?(t.items={anyOf:s},u&&t.items.anyOf.push(u),t.minItems=s.length,u||(t.maxItems=s.length)):(t.items=s,u&&(t.additionalItems=u));const{minimum:d,maximum:m}=e._zod.bag;typeof d=="number"&&(t.minItems=d),typeof m=="number"&&(t.maxItems=m)},Ku=(e,n,r,o)=>{const t=r,i=e._zod.def;t.type="object";const a=i.keyType,l=a._zod.bag,s=l==null?void 0:l.patterns;if(i.mode==="loose"&&s&&s.size>0){const d=W(i.valueType,n,{...o,path:[...o.path,"patternProperties","*"]});t.patternProperties={};for(const m of s)t.patternProperties[m.source]=d}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(t.propertyNames=W(i.keyType,n,{...o,path:[...o.path,"propertyNames"]})),t.additionalProperties=W(i.valueType,n,{...o,path:[...o.path,"additionalProperties"]});const u=a._zod.values;if(u){const d=[...u].filter(m=>typeof m=="string"||typeof m=="number");d.length>0&&(t.required=d)}},Wu=(e,n,r,o)=>{const t=e._zod.def,i=W(t.innerType,n,o),a=n.seen.get(e);n.target==="openapi-3.0"?(a.ref=t.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},Gu=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType},Hu=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType,r.default=JSON.parse(JSON.stringify(t.defaultValue))},Xu=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType,n.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(t.defaultValue)))},Qu=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType;let a;try{a=t.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},es=(e,n,r,o)=>{const t=e._zod.def,i=n.io==="input"?t.in._zod.def.type==="transform"?t.out:t.in:t.out;W(i,n,o);const a=n.seen.get(e);a.ref=i},ts=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType,r.readOnly=!0},ns=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType},hi=(e,n,r,o)=>{const t=e._zod.def;W(t.innerType,n,o);const i=n.seen.get(e);i.ref=t.innerType},rs=(e,n,r,o)=>{const t=e._zod.innerType;W(t,n,o);const i=n.seen.get(e);i.ref=t},$i={string:yu,number:ku,boolean:Su,bigint:wu,symbol:Iu,null:zu,undefined:xu,void:Du,never:Eu,any:Ou,unknown:Nu,date:ju,enum:Uu,literal:Tu,nan:Pu,template_literal:Cu,file:Au,success:Zu,custom:Bu,function:Mu,transform:Vu,map:Fu,set:Lu,array:Ru,object:Ju,union:vi,intersection:qu,tuple:Yu,record:Ku,nullable:Wu,nonoptional:Gu,default:Hu,prefault:Xu,catch:Qu,pipe:es,readonly:ts,promise:ns,optional:hi,lazy:rs};function is(e,n){if("_idmap"in e){const o=e,t=lt({...n,processors:$i}),i={};for(const s of o._idmap.entries()){const[u,d]=s;W(d,t)}const a={},l={registry:o,uri:n==null?void 0:n.uri,defs:i};t.external=l;for(const s of o._idmap.entries()){const[u,d]=s;ct(t,d),a[u]=ut(t,d)}if(Object.keys(i).length>0){const s=t.target==="draft-2020-12"?"$defs":"definitions";a.__shared={[s]:i}}return{schemas:a}}const r=lt({...n,processors:$i});return W(e,r),ct(r,e),ut(r,e)}class $g{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(n){this.ctx.counter=n}get seen(){return this.ctx.seen}constructor(n){let r=(n==null?void 0:n.target)??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=lt({processors:$i,target:r,...(n==null?void 0:n.metadata)&&{metadata:n.metadata},...(n==null?void 0:n.unrepresentable)&&{unrepresentable:n.unrepresentable},...(n==null?void 0:n.override)&&{override:n.override},...(n==null?void 0:n.io)&&{io:n.io}})}process(n,r={path:[],schemaPath:[]}){return W(n,this.ctx,r)}emit(n,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),ct(this.ctx,n);const o=ut(this.ctx,n),{"~standard":t,...i}=o;return i}}const bg=Object.freeze(Object.defineProperty({__proto__:null,$ZodAny:Ol,$ZodArray:Cl,$ZodAsyncError:Ye,$ZodBase64:$l,$ZodBase64URL:_l,$ZodBigInt:Br,$ZodBigIntFormat:zl,$ZodBoolean:Zr,$ZodCIDRv4:vl,$ZodCIDRv6:hl,$ZodCUID:il,$ZodCUID2:ol,$ZodCatch:dc,$ZodCheck:re,$ZodCheckBigIntFormat:Ua,$ZodCheckEndsWith:Ja,$ZodCheckGreaterThan:Pr,$ZodCheckIncludes:La,$ZodCheckLengthEquals:Ba,$ZodCheckLessThan:Tr,$ZodCheckLowerCase:Va,$ZodCheckMaxLength:Aa,$ZodCheckMaxSize:Ta,$ZodCheckMimeType:Ka,$ZodCheckMinLength:Za,$ZodCheckMinSize:Pa,$ZodCheckMultipleOf:Na,$ZodCheckNumberFormat:ja,$ZodCheckOverwrite:Wa,$ZodCheckProperty:Ya,$ZodCheckRegex:Ma,$ZodCheckSizeEquals:Ca,$ZodCheckStartsWith:Ra,$ZodCheckStringFormat:kt,$ZodCheckUpperCase:Fa,$ZodCodec:Lr,$ZodCustom:_c,$ZodCustomStringFormat:wl,$ZodDate:Tl,$ZodDefault:oc,$ZodDiscriminatedUnion:Rl,$ZodE164:yl,$ZodEmail:el,$ZodEmoji:nl,$ZodEncodeError:Kt,$ZodEnum:Xl,$ZodError:$r,$ZodExactOptional:rc,$ZodFile:ec,$ZodFunction:hc,$ZodGUID:Xa,$ZodIPv4:fl,$ZodIPv6:pl,$ZodISODate:sl,$ZodISODateTime:ul,$ZodISODuration:ml,$ZodISOTime:dl,$ZodIntersection:Jl,$ZodJWT:Sl,$ZodKSUID:cl,$ZodLazy:bc,$ZodLiteral:Ql,$ZodMAC:gl,$ZodMap:Kl,$ZodNaN:mc,$ZodNanoID:rl,$ZodNever:jl,$ZodNonOptional:cc,$ZodNull:El,$ZodNullable:ic,$ZodNumber:Ar,$ZodNumberFormat:Il,$ZodObject:Bl,$ZodObjectJIT:Ml,$ZodOptional:Fr,$ZodPipe:fc,$ZodPrefault:lc,$ZodPromise:$c,$ZodReadonly:pc,$ZodRealError:_e,$ZodRecord:Yl,$ZodRegistry:Uc,$ZodSet:Gl,$ZodString:St,$ZodStringFormat:Q,$ZodSuccess:sc,$ZodSymbol:xl,$ZodTemplateLiteral:vc,$ZodTransform:tc,$ZodTuple:Vr,$ZodType:Z,$ZodULID:al,$ZodURL:tl,$ZodUUID:Qa,$ZodUndefined:Dl,$ZodUnion:rn,$ZodUnknown:Nl,$ZodVoid:Ul,$ZodXID:ll,$ZodXor:Ll,$brand:Io,$constructor:g,$input:jc,$output:Nc,Doc:Ga,JSONSchema:Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),JSONSchemaGenerator:$g,NEVER:wo,TimePrecision:Ac,_any:iu,_array:du,_base64:li,_base64url:ci,_bigint:Hc,_boolean:Wc,_catch:dg,_check:vu,_cidrv4:oi,_cidrv6:ai,_coercedBigint:Xc,_coercedBoolean:Gc,_coercedDate:uu,_coercedNumber:Lc,_coercedString:Pc,_cuid:Xr,_cuid2:Qr,_custom:fu,_date:cu,_decode:wr,_decodeAsync:zr,_default:cg,_discriminatedUnion:Gp,_e164:ui,_email:Jr,_emoji:Gr,_encode:Sr,_encodeAsync:Ir,_endsWith:vn,_enum:ng,_file:mu,_float32:Jc,_float64:qc,_gt:Fe,_gte:$e,_guid:un,_includes:pn,_int:Rc,_int32:Yc,_int64:Qc,_intersection:Hp,_ipv4:ri,_ipv6:ii,_isoDate:Bc,_isoDateTime:Zc,_isoDuration:Vc,_isoTime:Mc,_jwt:si,_ksuid:ni,_lazy:gg,_length:xt,_literal:ig,_lowercase:mn,_lt:Ve,_lte:ze,_mac:Cc,_map:eg,_max:ze,_maxLength:zt,_maxSize:at,_mime:hn,_min:$e,_minLength:He,_minSize:Le,_multipleOf:ot,_nan:su,_nanoid:Hr,_nativeEnum:rg,_negative:mi,_never:au,_nonnegative:pi,_nonoptional:ug,_nonpositive:fi,_normalize:$n,_null:ru,_nullable:lg,_number:Fc,_optional:ag,_overwrite:Pe,_parse:vt,_parseAsync:ht,_pipe:mg,_positive:di,_promise:vg,_property:gi,_readonly:fg,_record:Qp,_refine:pu,_regex:dn,_safeDecode:Dr,_safeDecodeAsync:Or,_safeEncode:xr,_safeEncodeAsync:Er,_safeParse:$t,_safeParseAsync:bt,_set:tg,_size:It,_slugify:kn,_startsWith:gn,_string:Tc,_stringFormat:Dt,_stringbool:bu,_success:sg,_superRefine:gu,_symbol:tu,_templateLiteral:pg,_toLowerCase:_n,_toUpperCase:yn,_transform:og,_trim:bn,_tuple:Xp,_uint32:Kc,_uint64:eu,_ulid:ei,_undefined:nu,_union:Kp,_unknown:ou,_uppercase:fn,_url:sn,_uuid:qr,_uuidv4:Yr,_uuidv6:Kr,_uuidv7:Wr,_void:lu,_xid:ti,_xor:Wp,clone:Se,config:me,createStandardJSONSchemaMethod:Et,createToJSONSchemaMethod:_u,decode:qm,decodeAsync:Km,describe:hu,encode:Jm,encodeAsync:Ym,extractDefs:ct,finalize:ut,flattenError:br,formatError:_r,globalConfig:Wt,globalRegistry:Ie,initializeContext:lt,isValidBase64:Cr,isValidBase64URL:bl,isValidJWT:kl,locales:Ec,meta:$u,parse:yr,parseAsync:kr,prettifyError:Yo,process:W,regexes:Ur,registry:Rr,safeDecode:Gm,safeDecodeAsync:Xm,safeEncode:Wm,safeEncodeAsync:Hm,safeParse:Ko,safeParseAsync:Wo,toDotPath:qo,toJSONSchema:is,treeifyError:Jo,util:Lo,version:Ha},Symbol.toStringTag,{value:"Module"})),_g=Object.freeze(Object.defineProperty({__proto__:null,endsWith:vn,gt:Fe,gte:$e,includes:pn,length:xt,lowercase:mn,lt:Ve,lte:ze,maxLength:zt,maxSize:at,mime:hn,minLength:He,minSize:Le,multipleOf:ot,negative:mi,nonnegative:pi,nonpositive:fi,normalize:$n,overwrite:Pe,positive:di,property:gi,regex:dn,size:It,slugify:kn,startsWith:gn,toLowerCase:_n,toUpperCase:yn,trim:bn,uppercase:fn},Symbol.toStringTag,{value:"Module"})),bi=g("ZodISODateTime",(e,n)=>{ul.init(e,n),ee.init(e,n)});function os(e){return Zc(bi,e)}const _i=g("ZodISODate",(e,n)=>{sl.init(e,n),ee.init(e,n)});function as(e){return Bc(_i,e)}const yi=g("ZodISOTime",(e,n)=>{dl.init(e,n),ee.init(e,n)});function ls(e){return Mc(yi,e)}const ki=g("ZodISODuration",(e,n)=>{ml.init(e,n),ee.init(e,n)});function cs(e){return Vc(ki,e)}const us=Object.freeze(Object.defineProperty({__proto__:null,ZodISODate:_i,ZodISODateTime:bi,ZodISODuration:ki,ZodISOTime:yi,date:as,datetime:os,duration:cs,time:ls},Symbol.toStringTag,{value:"Module"})),ss=(e,n)=>{$r.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>_r(e,r)},flatten:{value:r=>br(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Gt,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Gt,2)}},isEmpty:{get(){return e.issues.length===0}}})},yg=g("ZodError",ss),ye=g("ZodError",ss,{Parent:Error}),ds=vt(ye),ms=ht(ye),fs=$t(ye),ps=bt(ye),gs=Sr(ye),vs=wr(ye),hs=Ir(ye),$s=zr(ye),bs=xr(ye),_s=Dr(ye),ys=Er(ye),ks=Or(ye),F=g("ZodType",(e,n)=>(Z.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:Et(e,"input"),output:Et(e,"output")}}),e.toJSONSchema=_u(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...r)=>e.clone(Ne(n,{checks:[...n.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),e.with=e.check,e.clone=(r,o)=>Se(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.parse=(r,o)=>ds(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>fs(e,r,o),e.parseAsync=async(r,o)=>ms(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>ps(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>gs(e,r,o),e.decode=(r,o)=>vs(e,r,o),e.encodeAsync=async(r,o)=>hs(e,r,o),e.decodeAsync=async(r,o)=>$s(e,r,o),e.safeEncode=(r,o)=>bs(e,r,o),e.safeDecode=(r,o)=>_s(e,r,o),e.safeEncodeAsync=async(r,o)=>ys(e,r,o),e.safeDecodeAsync=async(r,o)=>ks(e,r,o),e.refine=(r,o)=>e.check(po(r,o)),e.superRefine=r=>e.check(go(r)),e.overwrite=r=>e.check(Pe(r)),e.optional=()=>Mt(e),e.exactOptional=()=>Gi(e),e.nullable=()=>Vt(e),e.nullish=()=>Mt(Vt(e)),e.nonoptional=r=>no(e,r),e.array=()=>et(e),e.or=r=>Zt([e,r]),e.and=r=>Mi(e,r),e.transform=r=>Ft(e,Yn(r)),e.default=r=>Qi(e,r),e.prefault=r=>to(e,r),e.catch=r=>oo(e,r),e.pipe=r=>Ft(e,r),e.readonly=()=>co(e),e.describe=r=>{const o=e.clone();return Ie.add(o,{description:r}),o},Object.defineProperty(e,"description",{get(){var r;return(r=Ie.get(e))==null?void 0:r.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Ie.get(e);const o=e.clone();return Ie.add(o,r[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),Sn=g("_ZodString",(e,n)=>{St.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>yu(e,o,t);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...o)=>e.check(dn(...o)),e.includes=(...o)=>e.check(pn(...o)),e.startsWith=(...o)=>e.check(gn(...o)),e.endsWith=(...o)=>e.check(vn(...o)),e.min=(...o)=>e.check(He(...o)),e.max=(...o)=>e.check(zt(...o)),e.length=(...o)=>e.check(xt(...o)),e.nonempty=(...o)=>e.check(He(1,...o)),e.lowercase=o=>e.check(mn(o)),e.uppercase=o=>e.check(fn(o)),e.trim=()=>e.check(bn()),e.normalize=(...o)=>e.check($n(...o)),e.toLowerCase=()=>e.check(_n()),e.toUpperCase=()=>e.check(yn()),e.slugify=()=>e.check(kn())}),Ot=g("ZodString",(e,n)=>{St.init(e,n),Sn.init(e,n),e.email=r=>e.check(Jr(In,r)),e.url=r=>e.check(sn(jt,r)),e.jwt=r=>e.check(si(Mn,r)),e.emoji=r=>e.check(Gr(zn,r)),e.guid=r=>e.check(un(Nt,r)),e.uuid=r=>e.check(qr(je,r)),e.uuidv4=r=>e.check(Yr(je,r)),e.uuidv6=r=>e.check(Kr(je,r)),e.uuidv7=r=>e.check(Wr(je,r)),e.nanoid=r=>e.check(Hr(xn,r)),e.guid=r=>e.check(un(Nt,r)),e.cuid=r=>e.check(Xr(Dn,r)),e.cuid2=r=>e.check(Qr(En,r)),e.ulid=r=>e.check(ei(On,r)),e.base64=r=>e.check(li(An,r)),e.base64url=r=>e.check(ci(Zn,r)),e.xid=r=>e.check(ti(Nn,r)),e.ksuid=r=>e.check(ni(jn,r)),e.ipv4=r=>e.check(ri(Un,r)),e.ipv6=r=>e.check(ii(Tn,r)),e.cidrv4=r=>e.check(oi(Pn,r)),e.cidrv6=r=>e.check(ai(Cn,r)),e.e164=r=>e.check(ui(Bn,r)),e.datetime=r=>e.check(os(r)),e.date=r=>e.check(as(r)),e.time=r=>e.check(ls(r)),e.duration=r=>e.check(cs(r))});function wn(e){return Tc(Ot,e)}const ee=g("ZodStringFormat",(e,n)=>{Q.init(e,n),Sn.init(e,n)}),In=g("ZodEmail",(e,n)=>{el.init(e,n),ee.init(e,n)});function Ss(e){return Jr(In,e)}const Nt=g("ZodGUID",(e,n)=>{Xa.init(e,n),ee.init(e,n)});function ws(e){return un(Nt,e)}const je=g("ZodUUID",(e,n)=>{Qa.init(e,n),ee.init(e,n)});function Is(e){return qr(je,e)}function zs(e){return Yr(je,e)}function xs(e){return Kr(je,e)}function Ds(e){return Wr(je,e)}const jt=g("ZodURL",(e,n)=>{tl.init(e,n),ee.init(e,n)});function Es(e){return sn(jt,e)}function Os(e){return sn(jt,{protocol:/^https?$/,hostname:pa,...b(e)})}const zn=g("ZodEmoji",(e,n)=>{nl.init(e,n),ee.init(e,n)});function Ns(e){return Gr(zn,e)}const xn=g("ZodNanoID",(e,n)=>{rl.init(e,n),ee.init(e,n)});function js(e){return Hr(xn,e)}const Dn=g("ZodCUID",(e,n)=>{il.init(e,n),ee.init(e,n)});function Us(e){return Xr(Dn,e)}const En=g("ZodCUID2",(e,n)=>{ol.init(e,n),ee.init(e,n)});function Ts(e){return Qr(En,e)}const On=g("ZodULID",(e,n)=>{al.init(e,n),ee.init(e,n)});function Ps(e){return ei(On,e)}const Nn=g("ZodXID",(e,n)=>{ll.init(e,n),ee.init(e,n)});function Cs(e){return ti(Nn,e)}const jn=g("ZodKSUID",(e,n)=>{cl.init(e,n),ee.init(e,n)});function As(e){return ni(jn,e)}const Un=g("ZodIPv4",(e,n)=>{fl.init(e,n),ee.init(e,n)});function Zs(e){return ri(Un,e)}const Si=g("ZodMAC",(e,n)=>{gl.init(e,n),ee.init(e,n)});function Bs(e){return Cc(Si,e)}const Tn=g("ZodIPv6",(e,n)=>{pl.init(e,n),ee.init(e,n)});function Ms(e){return ii(Tn,e)}const Pn=g("ZodCIDRv4",(e,n)=>{vl.init(e,n),ee.init(e,n)});function Vs(e){return oi(Pn,e)}const Cn=g("ZodCIDRv6",(e,n)=>{hl.init(e,n),ee.init(e,n)});function Fs(e){return ai(Cn,e)}const An=g("ZodBase64",(e,n)=>{$l.init(e,n),ee.init(e,n)});function Ls(e){return li(An,e)}const Zn=g("ZodBase64URL",(e,n)=>{_l.init(e,n),ee.init(e,n)});function Rs(e){return ci(Zn,e)}const Bn=g("ZodE164",(e,n)=>{yl.init(e,n),ee.init(e,n)});function Js(e){return ui(Bn,e)}const Mn=g("ZodJWT",(e,n)=>{Sl.init(e,n),ee.init(e,n)});function qs(e){return si(Mn,e)}const st=g("ZodCustomStringFormat",(e,n)=>{wl.init(e,n),ee.init(e,n)});function Ys(e,n,r={}){return Dt(st,e,n,r)}function Ks(e){return Dt(st,"hostname",fa,e)}function Ws(e){return Dt(st,"hex",Ea,e)}function Gs(e,n){const r=(n==null?void 0:n.enc)??"hex",o=`${e}_${r}`,t=Ur[o];if(!t)throw new Error(`Unrecognized hash format: ${o}`);return Dt(st,o,t,n)}const Ut=g("ZodNumber",(e,n)=>{Ar.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>ku(e,o,t),e.gt=(o,t)=>e.check(Fe(o,t)),e.gte=(o,t)=>e.check($e(o,t)),e.min=(o,t)=>e.check($e(o,t)),e.lt=(o,t)=>e.check(Ve(o,t)),e.lte=(o,t)=>e.check(ze(o,t)),e.max=(o,t)=>e.check(ze(o,t)),e.int=o=>e.check(Vn(o)),e.safe=o=>e.check(Vn(o)),e.positive=o=>e.check(Fe(0,o)),e.nonnegative=o=>e.check($e(0,o)),e.negative=o=>e.check(Ve(0,o)),e.nonpositive=o=>e.check(ze(0,o)),e.multipleOf=(o,t)=>e.check(ot(o,t)),e.step=(o,t)=>e.check(ot(o,t)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function wi(e){return Fc(Ut,e)}const Xe=g("ZodNumberFormat",(e,n)=>{Il.init(e,n),Ut.init(e,n)});function Vn(e){return Rc(Xe,e)}function Hs(e){return Jc(Xe,e)}function Xs(e){return qc(Xe,e)}function Qs(e){return Yc(Xe,e)}function ed(e){return Kc(Xe,e)}const Tt=g("ZodBoolean",(e,n)=>{Zr.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Su(e,r,o)});function Ii(e){return Wc(Tt,e)}const Pt=g("ZodBigInt",(e,n)=>{Br.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>wu(e,o),e.gte=(o,t)=>e.check($e(o,t)),e.min=(o,t)=>e.check($e(o,t)),e.gt=(o,t)=>e.check(Fe(o,t)),e.gte=(o,t)=>e.check($e(o,t)),e.min=(o,t)=>e.check($e(o,t)),e.lt=(o,t)=>e.check(Ve(o,t)),e.lte=(o,t)=>e.check(ze(o,t)),e.max=(o,t)=>e.check(ze(o,t)),e.positive=o=>e.check(Fe(BigInt(0),o)),e.negative=o=>e.check(Ve(BigInt(0),o)),e.nonpositive=o=>e.check(ze(BigInt(0),o)),e.nonnegative=o=>e.check($e(BigInt(0),o)),e.multipleOf=(o,t)=>e.check(ot(o,t));const r=e._zod.bag;e.minValue=r.minimum??null,e.maxValue=r.maximum??null,e.format=r.format??null});function td(e){return Hc(Pt,e)}const Fn=g("ZodBigIntFormat",(e,n)=>{zl.init(e,n),Pt.init(e,n)});function nd(e){return Qc(Fn,e)}function rd(e){return eu(Fn,e)}const zi=g("ZodSymbol",(e,n)=>{xl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Iu(e,r)});function id(e){return tu(zi,e)}const xi=g("ZodUndefined",(e,n)=>{Dl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>xu(e,r)});function od(e){return nu(xi,e)}const Di=g("ZodNull",(e,n)=>{El.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>zu(e,r,o)});function Ei(e){return ru(Di,e)}const Oi=g("ZodAny",(e,n)=>{Ol.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ou()});function Ni(){return iu(Oi)}const ji=g("ZodUnknown",(e,n)=>{Nl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Nu()});function Qe(){return ou(ji)}const Ui=g("ZodNever",(e,n)=>{jl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Eu(e,r,o)});function Ln(e){return au(Ui,e)}const Ti=g("ZodVoid",(e,n)=>{Ul.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Du(e,r)});function ad(e){return lu(Ti,e)}const Rn=g("ZodDate",(e,n)=>{Tl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>ju(e,o),e.min=(o,t)=>e.check($e(o,t)),e.max=(o,t)=>e.check(ze(o,t));const r=e._zod.bag;e.minDate=r.minimum?new Date(r.minimum):null,e.maxDate=r.maximum?new Date(r.maximum):null});function ld(e){return cu(Rn,e)}const Pi=g("ZodArray",(e,n)=>{Cl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ru(e,r,o,t),e.element=n.element,e.min=(r,o)=>e.check(He(r,o)),e.nonempty=r=>e.check(He(1,r)),e.max=(r,o)=>e.check(zt(r,o)),e.length=(r,o)=>e.check(xt(r,o)),e.unwrap=()=>e.element});function et(e,n){return du(Pi,e,n)}function cd(e){const n=e._zod.def.shape;return qn(Object.keys(n))}const Ct=g("ZodObject",(e,n)=>{Ml.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ju(e,r,o,t),R(e,"shape",()=>n.shape),e.keyof=()=>qn(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Qe()}),e.loose=()=>e.clone({...e._zod.def,catchall:Qe()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ln()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Co(e,r),e.safeExtend=r=>Ao(e,r),e.merge=r=>Zo(e,r),e.pick=r=>To(e,r),e.omit=r=>Po(e,r),e.partial=(...r)=>Bo(Kn,e,r[0]),e.required=(...r)=>Mo(Wn,e,r[0])});function Ci(e,n){const r={type:"object",shape:e??{},...b(n)};return new Ct(r)}function ud(e,n){return new Ct({type:"object",shape:e,catchall:Ln(),...b(n)})}function sd(e,n){return new Ct({type:"object",shape:e,catchall:Qe(),...b(n)})}const At=g("ZodUnion",(e,n)=>{rn.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>vi(e,r,o,t),e.options=n.options});function Zt(e,n){return new At({type:"union",options:e,...b(n)})}const Ai=g("ZodXor",(e,n)=>{At.init(e,n),Ll.init(e,n),e._zod.processJSONSchema=(r,o,t)=>vi(e,r,o,t),e.options=n.options});function dd(e,n){return new Ai({type:"union",options:e,inclusive:!1,...b(n)})}const Zi=g("ZodDiscriminatedUnion",(e,n)=>{At.init(e,n),Rl.init(e,n)});function md(e,n,r){return new Zi({type:"union",options:n,discriminator:e,...b(r)})}const Bi=g("ZodIntersection",(e,n)=>{Jl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>qu(e,r,o,t)});function Mi(e,n){return new Bi({type:"intersection",left:e,right:n})}const Vi=g("ZodTuple",(e,n)=>{Vr.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Yu(e,r,o,t),e.rest=r=>e.clone({...e._zod.def,rest:r})});function Fi(e,n,r){const o=n instanceof Z,t=o?r:n,i=o?n:null;return new Vi({type:"tuple",items:e,rest:i,...b(t)})}const Bt=g("ZodRecord",(e,n)=>{Yl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ku(e,r,o,t),e.keyType=n.keyType,e.valueType=n.valueType});function Jn(e,n,r){return new Bt({type:"record",keyType:e,valueType:n,...b(r)})}function fd(e,n,r){const o=Se(e);return o._zod.values=void 0,new Bt({type:"record",keyType:o,valueType:n,...b(r)})}function pd(e,n,r){return new Bt({type:"record",keyType:e,valueType:n,mode:"loose",...b(r)})}const Li=g("ZodMap",(e,n)=>{Kl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Fu(e,r),e.keyType=n.keyType,e.valueType=n.valueType,e.min=(...r)=>e.check(Le(...r)),e.nonempty=r=>e.check(Le(1,r)),e.max=(...r)=>e.check(at(...r)),e.size=(...r)=>e.check(It(...r))});function gd(e,n,r){return new Li({type:"map",keyType:e,valueType:n,...b(r)})}const Ri=g("ZodSet",(e,n)=>{Gl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Lu(e,r),e.min=(...r)=>e.check(Le(...r)),e.nonempty=r=>e.check(Le(1,r)),e.max=(...r)=>e.check(at(...r)),e.size=(...r)=>e.check(It(...r))});function vd(e,n){return new Ri({type:"set",valueType:e,...b(n)})}const dt=g("ZodEnum",(e,n)=>{Xl.init(e,n),F.init(e,n),e._zod.processJSONSchema=(o,t,i)=>Uu(e,o,t),e.enum=n.entries,e.options=Object.values(n.entries);const r=new Set(Object.keys(n.entries));e.extract=(o,t)=>{const i={};for(const a of o)if(r.has(a))i[a]=n.entries[a];else throw new Error(`Key ${a} not found in enum`);return new dt({...n,checks:[],...b(t),entries:i})},e.exclude=(o,t)=>{const i={...n.entries};for(const a of o)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new dt({...n,checks:[],...b(t),entries:i})}});function qn(e,n){const r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new dt({type:"enum",entries:r,...b(n)})}function Ji(e,n){return new dt({type:"enum",entries:e,...b(n)})}const qi=g("ZodLiteral",(e,n)=>{Ql.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Tu(e,r,o),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function hd(e,n){return new qi({type:"literal",values:Array.isArray(e)?e:[e],...b(n)})}const Yi=g("ZodFile",(e,n)=>{ec.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Au(e,r,o),e.min=(r,o)=>e.check(Le(r,o)),e.max=(r,o)=>e.check(at(r,o)),e.mime=(r,o)=>e.check(hn(Array.isArray(r)?r:[r],o))});function $d(e){return mu(Yi,e)}const Ki=g("ZodTransform",(e,n)=>{tc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Vu(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Kt(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(nt(i,r.value,n));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(nt(a))}};const t=n.transform(r.value,r);return t instanceof Promise?t.then(i=>(r.value=i,r)):(r.value=t,r)}});function Yn(e){return new Ki({type:"transform",transform:e})}const Kn=g("ZodOptional",(e,n)=>{Fr.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>hi(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function Mt(e){return new Kn({type:"optional",innerType:e})}const Wi=g("ZodExactOptional",(e,n)=>{rc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>hi(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function Gi(e){return new Wi({type:"optional",innerType:e})}const Hi=g("ZodNullable",(e,n)=>{ic.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Wu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function Vt(e){return new Hi({type:"nullable",innerType:e})}function bd(e){return Mt(Vt(e))}const Xi=g("ZodDefault",(e,n)=>{oc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Hu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Qi(e,n){return new Xi({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():Xt(n)}})}const eo=g("ZodPrefault",(e,n)=>{lc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Xu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function to(e,n){return new eo({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():Xt(n)}})}const Wn=g("ZodNonOptional",(e,n)=>{cc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Gu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function no(e,n){return new Wn({type:"nonoptional",innerType:e,...b(n)})}const ro=g("ZodSuccess",(e,n)=>{sc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Zu(e,r,o),e.unwrap=()=>e._zod.def.innerType});function _d(e){return new ro({type:"success",innerType:e})}const io=g("ZodCatch",(e,n)=>{dc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Qu(e,r,o,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function oo(e,n){return new io({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const ao=g("ZodNaN",(e,n)=>{mc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Pu(e,r)});function yd(e){return su(ao,e)}const Gn=g("ZodPipe",(e,n)=>{fc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>es(e,r,o,t),e.in=n.in,e.out=n.out});function Ft(e,n){return new Gn({type:"pipe",in:e,out:n})}const Hn=g("ZodCodec",(e,n)=>{Gn.init(e,n),Lr.init(e,n)});function kd(e,n,r){return new Hn({type:"pipe",in:e,out:n,transform:r.decode,reverseTransform:r.encode})}const lo=g("ZodReadonly",(e,n)=>{pc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>ts(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function co(e){return new lo({type:"readonly",innerType:e})}const uo=g("ZodTemplateLiteral",(e,n)=>{vc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Cu(e,r,o)});function Sd(e,n){return new uo({type:"template_literal",parts:e,...b(n)})}const so=g("ZodLazy",(e,n)=>{bc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>rs(e,r,o,t),e.unwrap=()=>e._zod.def.getter()});function Xn(e){return new so({type:"lazy",getter:e})}const mo=g("ZodPromise",(e,n)=>{$c.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>ns(e,r,o,t),e.unwrap=()=>e._zod.def.innerType});function wd(e){return new mo({type:"promise",innerType:e})}const fo=g("ZodFunction",(e,n)=>{hc.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Mu(e,r)});function Qn(e){return new fo({type:"function",input:Array.isArray(e==null?void 0:e.input)?Fi(e==null?void 0:e.input):(e==null?void 0:e.input)??et(Qe()),output:(e==null?void 0:e.output)??Qe()})}const Lt=g("ZodCustom",(e,n)=>{_c.init(e,n),F.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Bu(e,r)});function Id(e){const n=new re({check:"custom"});return n._zod.check=e,n}function zd(e,n){return fu(Lt,e??(()=>!0),n)}function po(e,n={}){return pu(Lt,e,n)}function go(e){return gu(e)}const xd=hu,Dd=$u;function Ed(e,n={}){const r=new Lt({type:"custom",check:"custom",fn:o=>o instanceof e,abort:!0,...b(n)});return r._zod.bag.Class=e,r._zod.check=o=>{o.value instanceof e||o.issues.push({code:"invalid_type",expected:e.name,input:o.value,inst:r,path:[...r._zod.def.path??[]]})},r}const Od=(...e)=>bu({Codec:Hn,Boolean:Tt,String:Ot},...e);function Nd(e){const n=Xn(()=>Zt([wn(e),wi(),Ii(),Ei(),et(n),Jn(wn(),n)]));return n}function jd(e,n){return Ft(Yn(e),n)}const kg=Object.freeze(Object.defineProperty({__proto__:null,ZodAny:Oi,ZodArray:Pi,ZodBase64:An,ZodBase64URL:Zn,ZodBigInt:Pt,ZodBigIntFormat:Fn,ZodBoolean:Tt,ZodCIDRv4:Pn,ZodCIDRv6:Cn,ZodCUID:Dn,ZodCUID2:En,ZodCatch:io,ZodCodec:Hn,ZodCustom:Lt,ZodCustomStringFormat:st,ZodDate:Rn,ZodDefault:Xi,ZodDiscriminatedUnion:Zi,ZodE164:Bn,ZodEmail:In,ZodEmoji:zn,ZodEnum:dt,ZodExactOptional:Wi,ZodFile:Yi,ZodFunction:fo,ZodGUID:Nt,ZodIPv4:Un,ZodIPv6:Tn,ZodIntersection:Bi,ZodJWT:Mn,ZodKSUID:jn,ZodLazy:so,ZodLiteral:qi,ZodMAC:Si,ZodMap:Li,ZodNaN:ao,ZodNanoID:xn,ZodNever:Ui,ZodNonOptional:Wn,ZodNull:Di,ZodNullable:Hi,ZodNumber:Ut,ZodNumberFormat:Xe,ZodObject:Ct,ZodOptional:Kn,ZodPipe:Gn,ZodPrefault:eo,ZodPromise:mo,ZodReadonly:lo,ZodRecord:Bt,ZodSet:Ri,ZodString:Ot,ZodStringFormat:ee,ZodSuccess:ro,ZodSymbol:zi,ZodTemplateLiteral:uo,ZodTransform:Ki,ZodTuple:Vi,ZodType:F,ZodULID:On,ZodURL:jt,ZodUUID:je,ZodUndefined:xi,ZodUnion:At,ZodUnknown:ji,ZodVoid:Ti,ZodXID:Nn,ZodXor:Ai,_ZodString:Sn,_default:Qi,_function:Qn,any:Ni,array:et,base64:Ls,base64url:Rs,bigint:td,boolean:Ii,catch:oo,check:Id,cidrv4:Vs,cidrv6:Fs,codec:kd,cuid:Us,cuid2:Ts,custom:zd,date:ld,describe:xd,discriminatedUnion:md,e164:Js,email:Ss,emoji:Ns,enum:qn,exactOptional:Gi,file:$d,float32:Hs,float64:Xs,function:Qn,guid:ws,hash:Gs,hex:Ws,hostname:Ks,httpUrl:Os,instanceof:Ed,int:Vn,int32:Qs,int64:nd,intersection:Mi,ipv4:Zs,ipv6:Ms,json:Nd,jwt:qs,keyof:cd,ksuid:As,lazy:Xn,literal:hd,looseObject:sd,looseRecord:pd,mac:Bs,map:gd,meta:Dd,nan:yd,nanoid:js,nativeEnum:Ji,never:Ln,nonoptional:no,null:Ei,nullable:Vt,nullish:bd,number:wi,object:Ci,optional:Mt,partialRecord:fd,pipe:Ft,prefault:to,preprocess:jd,promise:wd,readonly:co,record:Jn,refine:po,set:vd,strictObject:ud,string:wn,stringFormat:Ys,stringbool:Od,success:_d,superRefine:go,symbol:id,templateLiteral:Sd,transform:Yn,tuple:Fi,uint32:ed,uint64:rd,ulid:Ps,undefined:od,union:Zt,unknown:Qe,url:Es,uuid:Is,uuidv4:zs,uuidv6:xs,uuidv7:Ds,void:ad,xid:Cs,xor:dd},Symbol.toStringTag,{value:"Module"})),Sg={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function wg(e){me({customError:e})}function Ig(){return me().customError}var vo;vo||(vo={});const I={...kg,..._g,iso:us},zg=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function xg(e,n){const r=e.$schema;return r==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":r==="http://json-schema.org/draft-07/schema#"?"draft-7":r==="http://json-schema.org/draft-04/schema#"?"draft-4":n??"draft-2020-12"}function Dg(e,n){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");const r=e.slice(1).split("/").filter(Boolean);if(r.length===0)return n.rootSchema;const o=n.version==="draft-2020-12"?"$defs":"definitions";if(r[0]===o){const t=r[1];if(!t||!n.defs[t])throw new Error(`Reference not found: ${e}`);return n.defs[t]}throw new Error(`Reference not found: ${e}`)}function Ud(e,n){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return I.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){const t=e.$ref;if(n.refs.has(t))return n.refs.get(t);if(n.processing.has(t))return I.lazy(()=>{if(!n.refs.has(t))throw new Error(`Circular reference not resolved: ${t}`);return n.refs.get(t)});n.processing.add(t);const i=Dg(t,n),a=fe(i,n);return n.refs.set(t,a),n.processing.delete(t),a}if(e.enum!==void 0){const t=e.enum;if(n.version==="openapi-3.0"&&e.nullable===!0&&t.length===1&&t[0]===null)return I.null();if(t.length===0)return I.never();if(t.length===1)return I.literal(t[0]);if(t.every(a=>typeof a=="string"))return I.enum(t);const i=t.map(a=>I.literal(a));return i.length<2?i[0]:I.union([i[0],i[1],...i.slice(2)])}if(e.const!==void 0)return I.literal(e.const);const r=e.type;if(Array.isArray(r)){const t=r.map(i=>{const a={...e,type:i};return Ud(a,n)});return t.length===0?I.never():t.length===1?t[0]:I.union(t)}if(!r)return I.any();let o;switch(r){case"string":{let t=I.string();if(e.format){const i=e.format;i==="email"?t=t.check(I.email()):i==="uri"||i==="uri-reference"?t=t.check(I.url()):i==="uuid"||i==="guid"?t=t.check(I.uuid()):i==="date-time"?t=t.check(I.iso.datetime()):i==="date"?t=t.check(I.iso.date()):i==="time"?t=t.check(I.iso.time()):i==="duration"?t=t.check(I.iso.duration()):i==="ipv4"?t=t.check(I.ipv4()):i==="ipv6"?t=t.check(I.ipv6()):i==="mac"?t=t.check(I.mac()):i==="cidr"?t=t.check(I.cidrv4()):i==="cidr-v6"?t=t.check(I.cidrv6()):i==="base64"?t=t.check(I.base64()):i==="base64url"?t=t.check(I.base64url()):i==="e164"?t=t.check(I.e164()):i==="jwt"?t=t.check(I.jwt()):i==="emoji"?t=t.check(I.emoji()):i==="nanoid"?t=t.check(I.nanoid()):i==="cuid"?t=t.check(I.cuid()):i==="cuid2"?t=t.check(I.cuid2()):i==="ulid"?t=t.check(I.ulid()):i==="xid"?t=t.check(I.xid()):i==="ksuid"&&(t=t.check(I.ksuid()))}typeof e.minLength=="number"&&(t=t.min(e.minLength)),typeof e.maxLength=="number"&&(t=t.max(e.maxLength)),e.pattern&&(t=t.regex(new RegExp(e.pattern))),o=t;break}case"number":case"integer":{let t=r==="integer"?I.number().int():I.number();typeof e.minimum=="number"&&(t=t.min(e.minimum)),typeof e.maximum=="number"&&(t=t.max(e.maximum)),typeof e.exclusiveMinimum=="number"?t=t.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum=="number"&&(t=t.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?t=t.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum=="number"&&(t=t.lt(e.maximum)),typeof e.multipleOf=="number"&&(t=t.multipleOf(e.multipleOf)),o=t;break}case"boolean":{o=I.boolean();break}case"null":{o=I.null();break}case"object":{const t={},i=e.properties||{},a=new Set(e.required||[]);for(const[s,u]of Object.entries(i)){const d=fe(u,n);t[s]=a.has(s)?d:d.optional()}if(e.propertyNames){const s=fe(e.propertyNames,n),u=e.additionalProperties&&typeof e.additionalProperties=="object"?fe(e.additionalProperties,n):I.any();if(Object.keys(t).length===0){o=I.record(s,u);break}const d=I.object(t).passthrough(),m=I.looseRecord(s,u);o=I.intersection(d,m);break}if(e.patternProperties){const s=e.patternProperties,u=Object.keys(s),d=[];for(const p of u){const v=fe(s[p],n),h=I.string().regex(new RegExp(p));d.push(I.looseRecord(h,v))}const m=[];if(Object.keys(t).length>0&&m.push(I.object(t).passthrough()),m.push(...d),m.length===0)o=I.object({}).passthrough();else if(m.length===1)o=m[0];else{let p=I.intersection(m[0],m[1]);for(let v=2;vfe(s,n)),l=i&&typeof i=="object"&&!Array.isArray(i)?fe(i,n):void 0;l?o=I.tuple(a).rest(l):o=I.tuple(a),typeof e.minItems=="number"&&(o=o.check(I.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(I.maxLength(e.maxItems)))}else if(Array.isArray(i)){const a=i.map(s=>fe(s,n)),l=e.additionalItems&&typeof e.additionalItems=="object"?fe(e.additionalItems,n):void 0;l?o=I.tuple(a).rest(l):o=I.tuple(a),typeof e.minItems=="number"&&(o=o.check(I.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(I.maxLength(e.maxItems)))}else if(i!==void 0){const a=fe(i,n);let l=I.array(a);typeof e.minItems=="number"&&(l=l.min(e.minItems)),typeof e.maxItems=="number"&&(l=l.max(e.maxItems)),o=l}else o=I.array(I.any());break}default:throw new Error(`Unsupported type: ${r}`)}return e.description&&(o=o.describe(e.description)),e.default!==void 0&&(o=o.default(e.default)),o}function fe(e,n){if(typeof e=="boolean")return e?I.any():I.never();let r=Ud(e,n);const o=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){const l=e.anyOf.map(u=>fe(u,n)),s=I.union(l);r=o?I.intersection(r,s):s}if(e.oneOf&&Array.isArray(e.oneOf)){const l=e.oneOf.map(u=>fe(u,n)),s=I.xor(l);r=o?I.intersection(r,s):s}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)r=o?r:I.any();else{let l=o?r:fe(e.allOf[0],n);const s=o?0:1;for(let u=s;u0&&n.registry.add(r,t),r}function Eg(e,n){if(typeof e=="boolean")return e?I.any():I.never();const r=xg(e,n==null?void 0:n.defaultTarget),o=e.$defs||e.definitions||{},t={version:r,defs:o,refs:new Map,processing:new Set,rootSchema:e,registry:(n==null?void 0:n.registry)??Ie};return fe(e,t)}function Og(e){return Pc(Ot,e)}function Ng(e){return Lc(Ut,e)}function jg(e){return Gc(Tt,e)}function Ug(e){return Xc(Pt,e)}function Tg(e){return uu(Rn,e)}const Pg=Object.freeze(Object.defineProperty({__proto__:null,bigint:Ug,boolean:jg,date:Tg,number:Ng,string:Og},Symbol.toStringTag,{value:"Module"}));me(Sc());const Rt=Object.freeze(Object.defineProperty({__proto__:null,$brand:Io,$input:jc,$output:Nc,NEVER:wo,TimePrecision:Ac,ZodAny:Oi,ZodArray:Pi,ZodBase64:An,ZodBase64URL:Zn,ZodBigInt:Pt,ZodBigIntFormat:Fn,ZodBoolean:Tt,ZodCIDRv4:Pn,ZodCIDRv6:Cn,ZodCUID:Dn,ZodCUID2:En,ZodCatch:io,ZodCodec:Hn,ZodCustom:Lt,ZodCustomStringFormat:st,ZodDate:Rn,ZodDefault:Xi,ZodDiscriminatedUnion:Zi,ZodE164:Bn,ZodEmail:In,ZodEmoji:zn,ZodEnum:dt,ZodError:yg,ZodExactOptional:Wi,ZodFile:Yi,get ZodFirstPartyTypeKind(){return vo},ZodFunction:fo,ZodGUID:Nt,ZodIPv4:Un,ZodIPv6:Tn,ZodISODate:_i,ZodISODateTime:bi,ZodISODuration:ki,ZodISOTime:yi,ZodIntersection:Bi,ZodIssueCode:Sg,ZodJWT:Mn,ZodKSUID:jn,ZodLazy:so,ZodLiteral:qi,ZodMAC:Si,ZodMap:Li,ZodNaN:ao,ZodNanoID:xn,ZodNever:Ui,ZodNonOptional:Wn,ZodNull:Di,ZodNullable:Hi,ZodNumber:Ut,ZodNumberFormat:Xe,ZodObject:Ct,ZodOptional:Kn,ZodPipe:Gn,ZodPrefault:eo,ZodPromise:mo,ZodReadonly:lo,ZodRealError:ye,ZodRecord:Bt,ZodSet:Ri,ZodString:Ot,ZodStringFormat:ee,ZodSuccess:ro,ZodSymbol:zi,ZodTemplateLiteral:uo,ZodTransform:Ki,ZodTuple:Vi,ZodType:F,ZodULID:On,ZodURL:jt,ZodUUID:je,ZodUndefined:xi,ZodUnion:At,ZodUnknown:ji,ZodVoid:Ti,ZodXID:Nn,ZodXor:Ai,_ZodString:Sn,_default:Qi,_function:Qn,any:Ni,array:et,base64:Ls,base64url:Rs,bigint:td,boolean:Ii,catch:oo,check:Id,cidrv4:Vs,cidrv6:Fs,clone:Se,codec:kd,coerce:Pg,config:me,core:bg,cuid:Us,cuid2:Ts,custom:zd,date:ld,decode:vs,decodeAsync:$s,describe:xd,discriminatedUnion:md,e164:Js,email:Ss,emoji:Ns,encode:gs,encodeAsync:hs,endsWith:vn,enum:qn,exactOptional:Gi,file:$d,flattenError:br,float32:Hs,float64:Xs,formatError:_r,fromJSONSchema:Eg,function:Qn,getErrorMap:Ig,globalRegistry:Ie,gt:Fe,gte:$e,guid:ws,hash:Gs,hex:Ws,hostname:Ks,httpUrl:Os,includes:pn,instanceof:Ed,int:Vn,int32:Qs,int64:nd,intersection:Mi,ipv4:Zs,ipv6:Ms,iso:us,json:Nd,jwt:qs,keyof:cd,ksuid:As,lazy:Xn,length:xt,literal:hd,locales:Ec,looseObject:sd,looseRecord:pd,lowercase:mn,lt:Ve,lte:ze,mac:Bs,map:gd,maxLength:zt,maxSize:at,meta:Dd,mime:hn,minLength:He,minSize:Le,multipleOf:ot,nan:yd,nanoid:js,nativeEnum:Ji,negative:mi,never:Ln,nonnegative:pi,nonoptional:no,nonpositive:fi,normalize:$n,null:Ei,nullable:Vt,nullish:bd,number:wi,object:Ci,optional:Mt,overwrite:Pe,parse:ds,parseAsync:ms,partialRecord:fd,pipe:Ft,positive:di,prefault:to,preprocess:jd,prettifyError:Yo,promise:wd,property:gi,readonly:co,record:Jn,refine:po,regex:dn,regexes:Ur,registry:Rr,safeDecode:_s,safeDecodeAsync:ks,safeEncode:bs,safeEncodeAsync:ys,safeParse:fs,safeParseAsync:ps,set:vd,setErrorMap:wg,size:It,slugify:kn,startsWith:gn,strictObject:ud,string:wn,stringFormat:Ys,stringbool:Od,success:_d,superRefine:go,symbol:id,templateLiteral:Sd,toJSONSchema:is,toLowerCase:_n,toUpperCase:yn,transform:Yn,treeifyError:Jo,trim:bn,tuple:Fi,uint32:ed,uint64:rd,ulid:Ps,undefined:od,union:Zt,unknown:Qe,uppercase:fn,url:Es,util:Lo,uuid:Is,uuidv4:zs,uuidv6:xs,uuidv7:Ds,void:ad,xid:Cs,xor:dd},Symbol.toStringTag,{value:"Module"}));function Ce(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var er={exports:{}},Cg=er.exports,Td;function Pd(){return Td||(Td=1,(function(e,n){(function(r,o){e.exports=o()})(Cg,(function(){var r=1e3,o=6e4,t=36e5,i="millisecond",a="second",l="minute",s="hour",u="day",d="week",m="month",p="quarter",v="year",h="date",f="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,_=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,S={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(O){var D=["th","st","nd","rd"],w=O%100;return"["+O+(D[(w-20)%10]||D[w]||D[0])+"]"}},B=function(O,D,w){var j=String(O);return!j||j.length>=D?O:""+Array(D+1-j.length).join(w)+O},L={s:B,z:function(O){var D=-O.utcOffset(),w=Math.abs(D),j=Math.floor(w/60),x=w%60;return(D<=0?"+":"-")+B(j,2,"0")+":"+B(x,2,"0")},m:function O(D,w){if(D.date()1)return O(V[0])}else{var G=D.name;E[G]=D,x=G}return!j&&x&&(U=x),x||!j&&U},A=function(O,D){if(y(O))return O.clone();var w=typeof D=="object"?D:{};return w.date=O,w.args=arguments,new ne(w)},T=L;T.l=J,T.i=y,T.w=function(O,D){return A(O,{locale:D.$L,utc:D.$u,x:D.$x,$offset:D.$offset})};var ne=(function(){function O(w){this.$L=J(w.locale,null,!0),this.parse(w),this.$x=this.$x||w.x||{},this[z]=!0}var D=O.prototype;return D.parse=function(w){this.$d=(function(j){var x=j.date,M=j.utc;if(x===null)return new Date(NaN);if(T.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var V=x.match($);if(V){var G=V[2]-1||0,oe=(V[7]||"0").substring(0,3);return M?new Date(Date.UTC(V[1],G,V[3]||1,V[4]||0,V[5]||0,V[6]||0,oe)):new Date(V[1],G,V[3]||1,V[4]||0,V[5]||0,V[6]||0,oe)}}return new Date(x)})(w),this.init()},D.init=function(){var w=this.$d;this.$y=w.getFullYear(),this.$M=w.getMonth(),this.$D=w.getDate(),this.$W=w.getDay(),this.$H=w.getHours(),this.$m=w.getMinutes(),this.$s=w.getSeconds(),this.$ms=w.getMilliseconds()},D.$utils=function(){return T},D.isValid=function(){return this.$d.toString()!==f},D.isSame=function(w,j){var x=A(w);return this.startOf(j)<=x&&x<=this.endOf(j)},D.isAfter=function(w,j){return A(w)0&&(l=l[0]),s=(l=l.filter((function(d){return d})))[0];for(var u=1;u0,E<=U.r||!U.r){E<=1&&L>0&&(U=S[L-1]);var z=_[U.l];v&&(E=v(""+E)),f=typeof z=="string"?z.replace("%d",E):z(E,d,U.l,$);break}}if(d)return f;var y=$?_.future:_.past;return typeof y=="function"?y(f):y.replace("%s",f)},i.to=function(u,d){return l(u,d,this,!0)},i.from=function(u,d){return l(u,d,this)};var s=function(u){return u.$u?t.utc():t()};i.toNow=function(u){return this.to(s(this),u)},i.fromNow=function(u){return this.from(s(this),u)}}}))})(or)),or.exports}var nv=tv();const rv=Ce(nv);var ar={exports:{}},iv=ar.exports,Vd;function ov(){return Vd||(Vd=1,(function(e,n){(function(r,o){e.exports=o()})(iv,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(t,i,a){var l,s=function(p,v,h){h===void 0&&(h={});var f=new Date(p),$=(function(_,S){S===void 0&&(S={});var B=S.timeZoneName||"short",L=_+"|"+B,U=o[L];return U||(U=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:_,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:B}),o[L]=U),U})(v,h);return $.formatToParts(f)},u=function(p,v){for(var h=s(p,v),f=[],$=0;$=0&&(f[L]=parseInt(B,10))}var U=f[3],E=U===24?0:U,z=f[0]+"-"+f[1]+"-"+f[2]+" "+E+":"+f[4]+":"+f[5]+":000",y=+p;return(a.utc(z).valueOf()-(y-=y%1e3))/6e4},d=i.prototype;d.tz=function(p,v){p===void 0&&(p=l);var h,f=this.utcOffset(),$=this.toDate(),_=$.toLocaleString("en-US",{timeZone:p}),S=Math.round(($-new Date(_))/1e3/60),B=15*-Math.round($.getTimezoneOffset()/15)-S;if(!Number(B))h=this.utcOffset(0,v);else if(h=a(_,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(B,!0),v){var L=h.utcOffset();h=h.add(f-L,"minute")}return h.$x.$timezone=p,h},d.offsetName=function(p){var v=this.$x.$timezone||a.tz.guess(),h=s(this.valueOf(),v,{timeZoneName:p}).find((function(f){return f.type.toLowerCase()==="timezonename"}));return h&&h.value};var m=d.startOf;d.startOf=function(p,v){if(!this.$x||!this.$x.$timezone)return m.call(this,p,v);var h=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return m.call(h,p,v).tz(this.$x.$timezone,!0)},a.tz=function(p,v,h){var f=h&&v,$=h||v||l,_=u(+a(),$);if(typeof p!="string")return a(p).tz($);var S=(function(E,z,y){var J=E-60*z*1e3,A=u(J,y);if(z===A)return[J,z];var T=u(J-=60*(A-z)*1e3,y);return A===T?[J,A]:[E-60*Math.min(A,T)*1e3,Math.max(A,T)]})(a.utc(p,f).valueOf(),_,$),B=S[0],L=S[1],U=a(B).utcOffset(L);return U.$x.$timezone=$,U},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(p){l=p}}}))})(ar)),ar.exports}var av=ov();const lv=Ce(av);var lr={exports:{}},cv=lr.exports,Fd;function uv(){return Fd||(Fd=1,(function(e,n){(function(r,o){e.exports=o()})(cv,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,t=/([+-]|\d\d)/g;return function(i,a,l){var s=a.prototype;l.utc=function(f){var $={date:f,utc:!0,args:arguments};return new a($)},s.utc=function(f){var $=l(this.toDate(),{locale:this.$L,utc:!0});return f?$.add(this.utcOffset(),r):$},s.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var u=s.parse;s.parse=function(f){f.utc&&(this.$u=!0),this.$utils().u(f.$offset)||(this.$offset=f.$offset),u.call(this,f)};var d=s.init;s.init=function(){if(this.$u){var f=this.$d;this.$y=f.getUTCFullYear(),this.$M=f.getUTCMonth(),this.$D=f.getUTCDate(),this.$W=f.getUTCDay(),this.$H=f.getUTCHours(),this.$m=f.getUTCMinutes(),this.$s=f.getUTCSeconds(),this.$ms=f.getUTCMilliseconds()}else d.call(this)};var m=s.utcOffset;s.utcOffset=function(f,$){var _=this.$utils().u;if(_(f))return this.$u?0:_(this.$offset)?m.call(this):this.$offset;if(typeof f=="string"&&(f=(function(U){U===void 0&&(U="");var E=U.match(o);if(!E)return null;var z=(""+E[0]).match(t)||["-",0,0],y=z[0],J=60*+z[1]+ +z[2];return J===0?0:y==="+"?J:-J})(f),f===null))return this;var S=Math.abs(f)<=16?60*f:f;if(S===0)return this.utc($);var B=this.clone();if($)return B.$offset=S,B.$u=!1,B;var L=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(B=this.local().add(S+L,r)).$offset=S,B.$x.$localOffset=L,B};var p=s.format;s.format=function(f){var $=f||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return p.call(this,$)},s.valueOf=function(){var f=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*f},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var v=s.toDate;s.toDate=function(f){return f==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():v.call(this)};var h=s.diff;s.diff=function(f,$,_){if(f&&this.$u===f.$u)return h.call(this,f,$,_);var S=this.local(),B=l(f).local();return h.call(S,B,$,_)}}}))})(lr)),lr.exports}var sv=uv();const dv=Ce(sv);var cr={exports:{}},mv=cr.exports,Ld;function fv(){return Ld||(Ld=1,(function(e,n){(function(r,o){e.exports=o()})(mv,(function(){var r="week",o="year";return function(t,i,a){var l=i.prototype;l.week=function(s){if(s===void 0&&(s=null),s!==null)return this.add(7*(s-this.week()),"day");var u=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var d=a(this).startOf(o).add(1,o).date(u),m=a(this).endOf(r);if(d.isBefore(m))return 1}var p=a(this).startOf(o).date(u).startOf(r).subtract(1,"millisecond"),v=this.diff(p,r,!0);return v<0?a(this).startOf("week").week():Math.ceil(v)},l.weeks=function(s){return s===void 0&&(s=null),this.week(s)}}}))})(cr)),cr.exports}var pv=fv();const gv=Ce(pv);var ur={exports:{}},vv=ur.exports,Rd;function hv(){return Rd||(Rd=1,(function(e,n){(function(r,o){e.exports=o(Pd())})(vv,(function(r){function o(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var t=o(r),i={name:"pt-br",weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(a){return a+"º"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"}};return t.default.locale(i,null,!0),i}))})(ur)),ur.exports}hv();var $v={};globalThis.cacheMemoria_cache=$v;var bv=(e=>(e.codigo="codigo",e.excluido="excluido",e.data_hora_criacao="data_hora_criacao",e.data_hora_atualizacao="data_hora_atualizacao",e.codigo_usuario_criacao="codigo_usuario_criacao",e.codigo_usuario_atualizacao="codigo_usuario_atualizacao",e.versao="versao",e))(bv||{}),_v=(e=>(e.token="token",e))(_v||{}),yv=(e=>(e.Usuario="usuario",e.Fornecedor="fornecedor",e))(yv||{}),kv=(e=>(e["="]="=",e["!="]="!=",e[">"]=">",e[">="]=">=",e["<"]="<",e["<="]="<=",e.like="like",e.in="in",e.isNull="isNull",e))(kv||{}),Sv=Rt.enum(["=","!=",">",">=","<","<=","like","in","isNull"]);Rt.object({coluna:Rt.string(),valor:Rt.any(),operador:Sv,ou:Rt.boolean().optional()}),pe.locale("pt-br"),pe.extend(dv),pe.extend(lv),pe.extend(gv),pe.extend(Wg),pe.extend(Jg),pe.extend(Qg),pe.extend(rv),pe.extend(Vg);var wv=(e=>(e["e-licencie"]="e-licencie",e["gov.e-licencie"]="gov.e-licencie",e))(wv||{}),Iv=(e=>(e.modelo="000_modelo",e.vencida="100_vencida",e.expirado="200_expirado",e.alerta="300_alerta",e.protocoladafora="350_protocoladafora",e.protocolada="400_protocolada",e.protocoladaApenas="430_protocolada",e.protocolada_alteracao="450_protocolada",e.prazo="500_prazo",e.emitida="515_emitida",e.valida="518_valida",e.novo="520_novo",e.recebido="521_recebido",e.em_andamento="530_em_andamento",e.aguardando="530_aguardando",e.aguardandoresposta="540_aguardandoresposta",e.suspensaotemporaria="540_suspensaotemporaria",e.cancelada="550_cancelada",e.execucao="560_execucao",e.pendente="570_pendente",e.executadafora="600_executadafora",e.executada="700_executada",e.naoexecutada="701_naoexecutada",e.concluida="730_concluida",e.respondido_negado="740_respondido_negado",e.respondido_aceito="741_respondido_aceito",e.atendidoparcial="742_atendidoparcial",e.naoatendido="743_naoatendido",e.atendido="744_atendido",e.renovada="760_renovada",e.finalizada="800_finalizada",e.emitirnota="101_emitirnota",e.faturaatrasada="301_faturaatrasada",e.pagarfatura="302_pagarfatura",e.aguardandoconfirmacao="531_aguardandoconfirmacao",e.agendado="701_agendado",e.faturapaga="801_faturapaga",e.excluida="999_excluida",e.requerida="401_requerida",e.vigente="516_vigente",e.emrenovacao="402_emrenovacao",e.arquivada="801_arquivada",e.aguardando_sincronizacao="999_aguardando_sincronizacao",e.nao_conforme="710_nao_conforme",e.conforme="720_conforme",e.nao_aplicavel="730_nao_aplicavel",e.parcial="715_parcial",e))(Iv||{}),Jd=(e=>(e["="]="=",e["!="]="!=",e[">"]=">",e[">="]=">=",e["<"]="<",e["<="]="<=",e.like="like",e.in="in",e))(Jd||{}),zv=(e=>(e.E="E",e.OU="OU",e))(zv||{}),xv=Ji(Jd),Dv=Ni(),Ev=Jn(xv,Dv),ho=Xn(()=>Ci({E:et(ho).optional(),OU:et(ho).optional()}).catchall(Zt([Ev,ho]))),Ov=e=>e,Nv=(e=>(e.UN="UN",e.KG="KG",e.TON="TON",e.g="g",e["M³"]="M³",e.Lt="Lt",e))(Nv||{});const jv=c.defineComponent({name:"EliEntradaDataHora",inheritAttrs:!1,props:{value:{type:String,default:void 0},opcoes:{type:Object,required:!1,default:void 0},modelValue:{type:String,default:null},modo:{type:String,default:void 0},rotulo:{type:String,default:void 0},placeholder:{type:String,default:void 0},desabilitado:{type:Boolean,default:void 0},limpavel:{type:Boolean,default:void 0},erro:{type:Boolean,default:void 0},mensagensErro:{type:[String,Array],default:void 0},dica:{type:String,default:void 0},dicaPersistente:{type:Boolean,default:void 0},densidade:{type:String,default:void 0},variante:{type:String,default:void 0},min:{type:String,default:void 0},max:{type:String,default:void 0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,"update:modelValue":e=>!0,alterar:e=>!0,foco:()=>!0,desfoco:()=>!0,focus:()=>!0,blur:()=>!0},setup(e,{emit:n,attrs:r}){const o=c.computed(()=>e.opcoes?e.opcoes:{rotulo:e.rotulo??"Data e hora",placeholder:e.placeholder??"",modo:e.modo??"dataHora",limpavel:e.limpavel,erro:e.erro,mensagensErro:e.mensagensErro,dica:e.dica,dicaPersistente:e.dicaPersistente,densidade:e.densidade,variante:e.variante,min:e.min,max:e.max}),t=c.computed(()=>o.value.modo??"dataHora"),i=c.computed(()=>!!e.desabilitado),a=c.computed(()=>t.value==="data"?"date":"datetime-local");function l(f){return t.value==="data"?pe(f).format("YYYY-MM-DD"):pe(f).format("YYYY-MM-DDTHH:mm")}function s(f){return t.value==="data"?pe(`${f}T00:00`).format():pe(f).format()}const u=c.computed(()=>e.value!==void 0?e.value??null:e.modelValue),d=c.computed({get:()=>u.value?l(u.value):"",set:f=>{const $=f&&f.length>0?f:null;if(!$){n("update:value",null),n("input",null),n("change",null),n("update:modelValue",null),n("alterar",null);return}const _=s($);n("update:value",_),n("input",_),n("change",_),n("update:modelValue",_),n("alterar",_)}}),m=c.computed(()=>{const f=o.value.min;if(f)return l(f)}),p=c.computed(()=>{const f=o.value.max;if(f)return l(f)});function v(){n("foco"),n("focus")}function h(){n("desfoco"),n("blur")}return{attrs:r,valor:d,tipoInput:a,minLocal:m,maxLocal:p,opcoesEfetivas:o,desabilitadoEfetivo:i,emitCompatFocus:v,emitCompatBlur:h}}}),Uv={class:"eli-data-hora"};function Tv(e,n,r,o,t,i){return c.openBlock(),c.createElementBlock("div",Uv,[c.createVNode(mr.VTextField,c.mergeProps({modelValue:e.valor,"onUpdate:modelValue":n[0]||(n[0]=a=>e.valor=a),type:e.tipoInput,label:e.opcoesEfetivas.rotulo,placeholder:e.opcoesEfetivas.placeholder,disabled:e.desabilitadoEfetivo,clearable:!!e.opcoesEfetivas.limpavel,error:!!e.opcoesEfetivas.erro,"error-messages":e.opcoesEfetivas.mensagensErro,hint:e.opcoesEfetivas.dica,"persistent-hint":!!e.opcoesEfetivas.dicaPersistente,density:e.opcoesEfetivas.densidade??"comfortable",variant:e.opcoesEfetivas.variante??"outlined",min:e.minLocal,max:e.maxLocal},e.attrs,{onFocus:e.emitCompatFocus,onBlur:e.emitCompatBlur}),null,16,["modelValue","type","label","placeholder","disabled","clearable","error","error-messages","hint","persistent-hint","density","variant","min","max","onFocus","onBlur"])])}const $o=X(jv,[["render",Tv]]);function Pv(e){if(!Number.isFinite(e)||e<=0||e>=1)return 0;const n=e.toString();if(n.includes("e-")){const[,t]=n.split("e-"),i=Number(t);return Number.isFinite(i)?i:0}const r=n.indexOf(".");return r===-1?0:n.slice(r+1).replace(/0+$/,"").length}function Cv(e){const n=(e??"").trim().replace(/,/g,".");if(!n)return null;const r=Number(n);return Number.isNaN(r)?null:r}function bo(e,n){return e==null?"":n===null?String(e).replace(/\./g,","):Number(e).toFixed(Math.max(0,n)).replace(/\./g,",")}function qd(e){return(e??"").replace(/\D+/g,"")}function Av(e){const n=(e??"").replace(/[^0-9.,]+/g,""),r=n.match(/[.,]/);if(!r)return n;const o=r[0],t=n.indexOf(o),i=n.slice(0,t).replace(/[.,]/g,""),a=n.slice(t+1).replace(/[.,]/g,"");return`${i.length?i:"0"}${o}${a}`}function Zv(e,n){if(n===null)return e;if(n<=0)return e.replace(/[.,]/g,"");const r=e.match(/[.,]/);if(!r)return e;const o=r[0],t=e.indexOf(o),i=e.slice(0,t),a=e.slice(t+1);return`${i}${o}${a.slice(0,n)}`}function Bv(e){const n=e.match(/^(\d+)[.,]$/);if(!n)return null;const r=Number(n[1]);return Number.isNaN(r)?null:r}const Mv=c.defineComponent({name:"EliEntradaNumero",inheritAttrs:!1,props:{value:{type:[Number,null],default:void 0},opcoes:{type:Object,required:!0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{attrs:n,emit:r}){const o=c.computed(()=>{var d;const u=(d=e.opcoes)==null?void 0:d.precisao;return u==null?null:Pv(u)}),t=c.computed(()=>o.value===0),i=c.computed(()=>{const u=o.value;return u!==null&&u>0}),a=c.ref(""),l=c.ref(void 0);c.watch(()=>e.value,u=>{u!==l.value&&(a.value=bo(u,o.value),l.value=u)},{immediate:!0});function s(u){if(i.value){const v=o.value??0,h=qd(u),f=h?Number(h):0,$=10**v,_=h?f/$:null,S=_===null?null:_;l.value=S,r("update:value",S),r("input",S),r("change",S),a.value=bo(S,v);return}const d=t.value?qd(u):Av(u),m=t.value?d:Zv(d,o.value);let p=null;if(m){const h=(t.value?null:Bv(m))??Cv(m);p=h===null?null:h}l.value=p,r("update:value",p),r("input",p),r("change",p),o.value===null&&m?a.value=m.replace(/\./g,","):a.value=bo(p,o.value)}return{attrs:n,emit:r,displayValue:a,isInteiro:t,onUpdateModelValue:s}}}),Vv={class:"eli-entrada__prefixo"},Fv={class:"eli-entrada__sufixo"};function Lv(e,n,r,o,t,i){var a,l,s,u;return c.openBlock(),c.createBlock(mr.VTextField,c.mergeProps({"model-value":e.displayValue,label:(a=e.opcoes)==null?void 0:a.rotulo,placeholder:(l=e.opcoes)==null?void 0:l.placeholder,type:e.isInteiro?"number":"text",inputmode:e.isInteiro?"numeric":"decimal",pattern:e.isInteiro?"[0-9]*":"[0-9.,]*"},e.attrs,{"onUpdate:modelValue":e.onUpdateModelValue,onFocus:n[0]||(n[0]=()=>e.emit("focus")),onBlur:n[1]||(n[1]=()=>e.emit("blur"))}),c.createSlots({_:2},[(s=e.opcoes)!=null&&s.prefixo?{name:"prepend-inner",fn:c.withCtx(()=>[c.createElementVNode("span",Vv,c.toDisplayString(e.opcoes.prefixo),1)]),key:"0"}:void 0,(u=e.opcoes)!=null&&u.sufixo?{name:"append-inner",fn:c.withCtx(()=>[c.createElementVNode("span",Fv,c.toDisplayString(e.opcoes.sufixo),1)]),key:"1"}:void 0]),1040,["model-value","label","placeholder","type","inputmode","pattern","onUpdate:modelValue"])}const _o=X(Mv,[["render",Lv]]),Rv=c.defineComponent({name:"EliEntradaParagrafo",components:{VTextarea:fr.VTextarea},inheritAttrs:!1,props:{value:{type:[String,null],default:void 0},opcoes:{type:Object,required:!0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{attrs:n,emit:r}){const o=c.computed({get:()=>e.value,set:t=>{r("update:value",t),r("input",t),r("change",t)}});return{attrs:n,emit:r,localValue:o}}});function Jv(e,n,r,o,t,i){var a,l,s,u,d,m,p,v,h,f,$,_;return c.openBlock(),c.createBlock(pm.VTextarea,c.mergeProps({modelValue:e.localValue,"onUpdate:modelValue":n[0]||(n[0]=S=>e.localValue=S),label:(a=e.opcoes)==null?void 0:a.rotulo,placeholder:(l=e.opcoes)==null?void 0:l.placeholder,rows:((s=e.opcoes)==null?void 0:s.linhas)??4,counter:(u=e.opcoes)==null?void 0:u.limiteCaracteres,maxlength:(d=e.opcoes)==null?void 0:d.limiteCaracteres,clearable:!!((m=e.opcoes)!=null&&m.limpavel),error:!!((p=e.opcoes)!=null&&p.erro),"error-messages":(v=e.opcoes)==null?void 0:v.mensagensErro,hint:(h=e.opcoes)==null?void 0:h.dica,"persistent-hint":!!((f=e.opcoes)!=null&&f.dicaPersistente),density:(($=e.opcoes)==null?void 0:$.densidade)??"comfortable",variant:((_=e.opcoes)==null?void 0:_.variante)??"outlined","auto-grow":""},e.attrs,{onFocus:n[1]||(n[1]=()=>e.emit("focus")),onBlur:n[2]||(n[2]=()=>e.emit("blur"))}),null,16,["modelValue","label","placeholder","rows","counter","maxlength","clearable","error","error-messages","hint","persistent-hint","density","variant"])}const Yd=X(Rv,[["render",Jv]]),qv=c.defineComponent({name:"EliEntradaSelecao",components:{VSelect:fr.VSelect},inheritAttrs:!1,props:{value:{type:[String,null],default:void 0},opcoes:{type:Object,required:!0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{attrs:n,emit:r}){const o=c.ref([]),t=c.ref(!1),i=c.computed({get:()=>e.value,set:l=>{r("update:value",l),r("input",l),r("change",l)}});async function a(){t.value=!0;try{const l=await e.opcoes.itens(),s=Array.isArray(l)?l:[];o.value=[...s]}finally{t.value=!1}}return c.watch(()=>e.opcoes.itens,()=>{a()}),c.onMounted(()=>{a()}),c.watch(o,l=>{console.debug("[EliEntradaSelecao] itens:",l)},{deep:!0}),{attrs:n,emit:r,localValue:i,itens:o,carregando:t}}});function Yv(e,n,r,o,t,i){var a,l,s,u,d,m,p,v,h;return c.openBlock(),c.createBlock(gm.VSelect,c.mergeProps({modelValue:e.localValue,"onUpdate:modelValue":n[0]||(n[0]=f=>e.localValue=f),label:(a=e.opcoes)==null?void 0:a.rotulo,placeholder:(l=e.opcoes)==null?void 0:l.placeholder,items:e.itens,"item-title":"rotulo","item-value":"chave",loading:e.carregando,disabled:e.carregando,"menu-props":{maxHeight:320},clearable:!!((s=e.opcoes)!=null&&s.limpavel),error:!!((u=e.opcoes)!=null&&u.erro),"error-messages":(d=e.opcoes)==null?void 0:d.mensagensErro,hint:(m=e.opcoes)==null?void 0:m.dica,"persistent-hint":!!((p=e.opcoes)!=null&&p.dicaPersistente),density:((v=e.opcoes)==null?void 0:v.densidade)??"comfortable",variant:((h=e.opcoes)==null?void 0:h.variante)??"outlined"},e.attrs,{onFocus:n[1]||(n[1]=()=>e.emit("focus")),onBlur:n[2]||(n[2]=()=>e.emit("blur"))}),null,16,["modelValue","label","placeholder","items","loading","disabled","clearable","error","error-messages","hint","persistent-hint","density","variant"])}const Kd=X(qv,[["render",Yv]]);function Kv(e){return e.replace(/\D+/g,"")}function Wv(e){const n=Kv(e);return n?n.replace(/^(\d{5})(\d)/,"$1-$2").slice(0,9):""}function Gv(e){return e.replace(/\D+/g,"")}function Hv(e){const n=Gv(e);return n.length<=11?n.replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2").slice(0,14):n.replace(/^(\d{2})(\d)/,"$1.$2").replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3").replace(/\.(\d{3})(\d)/,".$1/$2").replace(/(\d{4})(\d)/,"$1-$2").slice(0,18)}function Xv(e){return e.replace(/\D+/g,"")}function Qv(e){const n=Xv(e);return n?n.length<=10?n.replace(/^(\d{2})(\d)/,"($1) $2").replace(/(\d{4})(\d)/,"$1-$2").slice(0,14):n.replace(/^(\d{2})(\d)/,"($1) $2").replace(/(\d{5})(\d)/,"$1-$2").slice(0,15):""}const eh=c.defineComponent({name:"EliEntradaTexto",inheritAttrs:!1,props:{value:{type:[String,null],default:void 0},opcoes:{type:Object,required:!0}},emits:{"update:value":e=>!0,input:e=>!0,change:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{attrs:n,emit:r}){const o=c.computed(()=>{var u;return((u=e.opcoes)==null?void 0:u.formato)??"texto"}),t=c.computed({get:()=>e.value,set:u=>{r("update:value",u),r("input",u),r("change",u)}}),i=c.computed(()=>o.value==="email"?"email":o.value==="url"?"url":"text"),a=c.computed(()=>{if(o.value==="telefone")return"tel";if(o.value==="cpfCnpj"||o.value==="cep")return"numeric"});function l(u){switch(o.value){case"telefone":return Qv(u);case"cpfCnpj":return Hv(u);case"cep":return Wv(u);default:return u}}function s(u){const d=u.target,m=l(d.value);d.value=m,t.value=m}return{attrs:n,emit:r,localValue:t,inputHtmlType:i,inputMode:a,onInput:s}}});function th(e,n,r,o,t,i){var a,l,s,u;return c.openBlock(),c.createBlock(mr.VTextField,c.mergeProps({modelValue:e.localValue,"onUpdate:modelValue":n[0]||(n[0]=d=>e.localValue=d),type:e.inputHtmlType,inputmode:e.inputMode,label:(a=e.opcoes)==null?void 0:a.rotulo,placeholder:(l=e.opcoes)==null?void 0:l.placeholder,counter:(s=e.opcoes)==null?void 0:s.limiteCaracteres,maxlength:(u=e.opcoes)==null?void 0:u.limiteCaracteres},e.attrs,{onFocus:n[1]||(n[1]=()=>e.emit("focus")),onBlur:n[2]||(n[2]=()=>e.emit("blur")),onInput:e.onInput}),null,16,["modelValue","type","inputmode","label","placeholder","counter","maxlength","onInput"])}const sr=X(eh,[["render",th]]);var Wd=(e=>(e[e.sucesso=200]="sucesso",e[e.erroConhecido=400]="erroConhecido",e[e.erroPermissao=401]="erroPermissao",e[e.erroNaoEncontrado=404]="erroNaoEncontrado",e[e.erroDesconhecido=500]="erroDesconhecido",e[e.tempoEsgotado=504]="tempoEsgotado",e))(Wd||{});const nh="eli:tabela";function Gd(e){return`${nh}:${e}:colunas`}function Hd(e){if(!e||typeof e!="object")return{visiveis:[],invisiveis:[]};const n=e,r=Array.isArray(n.visiveis)?n.visiveis.filter(t=>typeof t=="string"):[],o=Array.isArray(n.invisiveis)?n.invisiveis.filter(t=>typeof t=="string"):[];return{visiveis:r,invisiveis:o}}function Xd(e){try{const n=window.localStorage.getItem(Gd(e));return n?Hd(JSON.parse(n)):{visiveis:[],invisiveis:[]}}catch{return{visiveis:[],invisiveis:[]}}}function rh(e,n){try{window.localStorage.setItem(Gd(e),JSON.stringify(Hd(n)))}catch{}}/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. diff --git a/package.json b/package.json index ab44a21..a02aba0 100644 --- a/package.json +++ b/package.json @@ -1,51 +1,51 @@ { - "name": "eli-vue", - "version": "0.1.105", - "private": false, - "main": "./dist/eli-vue.umd.js", - "module": "./dist/eli-vue.es.js", - "types": "./dist/types/index.d.ts", - "exports": { - ".": { - "types": "./dist/types/index.d.ts", - "import": "./dist/eli-vue.es.js", - "require": "./dist/eli-vue.umd.js" - } - }, - "scripts": { - "biome": "pnpm exec biome check --write", - "check": "pnpm run biome && npx tsc --noEmit", - "prebuild": "npm version patch --no-git-tag-version", - "build:types": "vue-tsc -p tsconfig.build.json --declaration --emitDeclarationOnly", - "build": "pnpm run biome && vite build && npm run build:types", - "dev": "pnpm run biome && pnpm run fechar && vite", - "preview": "vite preview", - "fechar": "fuser -k 5555/tcp || true" - }, - "peerDependencies": { - "vue": "^3.4.0", - "vuetify": "^3.0.0" - }, - "devDependencies": { - "@biomejs/biome": "2.4.0", - "@mdi/font": "^7.4.47", - "@vitejs/plugin-vue": "^5.0.0", - "sass": "^1.94.2", - "typescript": "^5.0.0", - "vite": "^6.0.0", - "vite-plugin-css-injected-by-js": "^3.5.2", - "vite-plugin-vuetify": "^2.1.2", - "vue": "^3.4.0", - "vue-tsc": "^3.1.6", - "vuetify": "^3.11.2" - }, - "dependencies": { - "cross-fetch": "^4.1.0", - "dayjs": "^1.11.19", - "lucide-vue-next": "^0.563.0", - "p-comuns": "git+https://git2.idz.one/publico/_comuns.git", - "p-respostas": "git+https://git2.idz.one/publico/_respostas.git", - "uuid": "^13.0.0", - "zod": "^4.3.6" - } + "name": "eli-vue", + "version": "0.1.106", + "private": false, + "main": "./dist/eli-vue.umd.js", + "module": "./dist/eli-vue.es.js", + "types": "./dist/types/index.d.ts", + "exports": { + ".": { + "types": "./dist/types/index.d.ts", + "import": "./dist/eli-vue.es.js", + "require": "./dist/eli-vue.umd.js" + } + }, + "scripts": { + "biome": "pnpm exec biome check --write", + "check": "pnpm run biome && npx tsc --noEmit", + "prebuild": "npm version patch --no-git-tag-version", + "build:types": "vue-tsc -p tsconfig.build.json --declaration --emitDeclarationOnly", + "build": "pnpm run biome && vite build && npm run build:types", + "dev": "pnpm run biome && pnpm run fechar && vite", + "preview": "vite preview", + "fechar": "fuser -k 5555/tcp || true" + }, + "peerDependencies": { + "vue": "^3.4.0", + "vuetify": "^3.0.0" + }, + "devDependencies": { + "@biomejs/biome": "2.4.12", + "@mdi/font": "^7.4.47", + "@vitejs/plugin-vue": "^5.0.0", + "sass": "^1.94.2", + "typescript": "^6", + "vite": "^6.0.0", + "vite-plugin-css-injected-by-js": "^3.5.2", + "vite-plugin-vuetify": "^2.1.2", + "vue": "^3.4.0", + "vue-tsc": "^3.1.6", + "vuetify": "^3.11.2" + }, + "dependencies": { + "cross-fetch": "^4.1.0", + "dayjs": "^1.11.19", + "lucide-vue-next": "^0.563.0", + "p-comuns": "git+https://git2.idz.one/publico/_comuns.git", + "p-respostas": "git+https://git2.idz.one/publico/_respostas.git", + "uuid": "^13.0.0", + "zod": "4.3.6" + } } diff --git a/src/componentes/EliEntrada/EliEntradaNumero.vue b/src/componentes/EliEntrada/EliEntradaNumero.vue index 9b80e2e..1b77515 100644 --- a/src/componentes/EliEntrada/EliEntradaNumero.vue +++ b/src/componentes/EliEntrada/EliEntradaNumero.vue @@ -47,6 +47,13 @@ function casasDecimaisFromPrecisao(precisao: number): number { return dec.length } +/** + * Analisa a entrada de texto e converte em um valor numérico válido (float). + * Troca a vírgula brasileira por ponto antes de passar para o parser nativo. + * + * @param texto - O texto bruto digitado ou vindo do estado + * @returns O número processado ou `null` caso inválido ou vazio + */ function parseNumero(texto: string): number | null { const normalizado = (texto ?? "").trim().replace(/,/g, ".") if (!normalizado) return null @@ -55,12 +62,20 @@ function parseNumero(texto: string): number | null { return n } +/** + * Formata um valor numérico para a exibição na interface (usando vírgula como separador). + * Em caso de precisão nula (modo livre), preserva a semântica de exibição direta sem forçar o preenchimento de zeros (toFixed). + * + * @param value - O valor numérico de fato emitido + * @param casas - Opcionalmente, o número exato de casas decimais para fixar + * @returns String formatada amigável para exibição em pt-BR + */ function formatarNumero( value: number | null | undefined, casas: number | null, ) { if (value === null || value === undefined) return "" - if (casas === null) return String(value) + if (casas === null) return String(value).replace(/\./g, ",") // Garantimos que o texto visual corresponda ao value (fixed). const fixed = Number(value).toFixed(Math.max(0, casas)) @@ -68,10 +83,23 @@ function formatarNumero( return fixed.replace(/\./g, ",") } +/** + * Retira todo tipo de sujeira de uma string, devolvendo restritamente números (para inteiros). + * + * @param texto - String de entrada + * @returns Apenas dígitos de 0 a 9 + */ function somenteNumeros(texto: string) { return (texto ?? "").replace(/\D+/g, "") } +/** + * Higieniza o texto preservando apenas os dígitos e exatamente UM separador decimal. + * Colapsa múltiplos separadores e normaliza se o separador vier no início (",4" => "0,4"). + * + * @param texto - Texto misto de entrada + * @returns String contendo número e (opcionalmente) uma vírgula ou ponto residual + */ function somenteNumerosESeparadorDecimal(texto: string) { // Mantém apenas números e UM separador decimal ("," ou "."), sem sinais. // Implementação baseada em regex + colapso de separadores. @@ -103,6 +131,14 @@ function limitarCasasDecimais(texto: string, casas: number | null) { return `${inteiro}${sep}${frac.slice(0, casas)}` } +/** + * Resolve o edge-case de digitação transitória parcial terminada em separador (ex: "1,"). + * Identifica se a string tem este formato pendente e retorna temporariamente sua base inteira + * sem permitir que o valor se torne nulo. + * + * @param texto - O texto já higienizado, tipicamente terminando em vírgula ou ponto + * @returns A conversão parcial estrita ou `null` caso falhe + */ function valorParcialDecimal(texto: string): number | null { // Regra (B): se o usuário digitou "1," ou "1." emite 1. const m = texto.match(/^(\d+)[.,]$/) @@ -220,8 +256,12 @@ export default defineComponent({ emit("change", out) // display deve sempre corresponder ao value final - // biome-ignore lint/suspicious/noExplicitAny: dynamic format - displayValue.value = formatarNumero(out as any, casasDecimais.value) + if (casasDecimais.value === null && textoFiltrado) { + displayValue.value = textoFiltrado.replace(/\./g, ",") + } else { + // biome-ignore lint/suspicious/noExplicitAny: dynamic format + displayValue.value = formatarNumero(out as any, casasDecimais.value) + } } return { attrs, emit, displayValue, isInteiro, onUpdateModelValue } diff --git a/src/playground/entradas.playground.vue b/src/playground/entradas.playground.vue index 0e4eb8f..f97acca 100644 --- a/src/playground/entradas.playground.vue +++ b/src/playground/entradas.playground.vue @@ -63,6 +63,18 @@
v-model:value: {{ numeroDecimal ?? "(null)" }}
+ + + +
+ v-model:value: {{ numeroLivre ?? "(null)" }} +
@@ -146,6 +158,7 @@ export default defineComponent({ selecao: null as string | null, numero: null as number | null, numeroDecimal: null as number | null, + numeroLivre: null as number | null, } }, }) diff --git a/test.js b/test.js new file mode 100644 index 0000000..7e60b9d --- /dev/null +++ b/test.js @@ -0,0 +1,84 @@ +function casasDecimaisFromPrecisao(precisao) { + if (!Number.isFinite(precisao) || precisao <= 0) return 0 + if (precisao >= 1) return 0 + + const texto = precisao.toString() + if (texto.includes("e-")) { + const [, exp] = texto.split("e-") + const n = Number(exp) + return Number.isFinite(n) ? n : 0 + } + const idx = texto.indexOf(".") + if (idx === -1) return 0 + const dec = texto.slice(idx + 1).replace(/0+$/, "") + return dec.length +} + +function parseNumero(texto) { + const normalizado = (texto ?? "").trim().replace(/,/g, ".") + if (!normalizado) return null + const n = Number(normalizado) + if (Number.isNaN(n)) return null + return n +} + +function formatarNumero(value, casas) { + if (value === null || value === undefined) return "" + if (casas === null) return String(value) + const fixed = Number(value).toFixed(Math.max(0, casas)) + return fixed.replace(/\./g, ",") +} + +function somenteNumeros(texto) { + return (texto ?? "").replace(/\D+/g, "") +} + +function somenteNumerosESeparadorDecimal(texto) { + const limpo = (texto ?? "").replace(/[^0-9.,]+/g, "") + const matchSep = limpo.match(/[.,]/) + if (!matchSep) return limpo + + const sep = matchSep[0] + const idx = limpo.indexOf(sep) + const antesRaw = limpo.slice(0, idx).replace(/[.,]/g, "") + const depois = limpo.slice(idx + 1).replace(/[.,]/g, "") + + const antes = antesRaw.length ? antesRaw : "0" + return `${antes}${sep}${depois}` +} + +function valorParcialDecimal(texto) { + const m = texto.match(/^(\d+)[.,]$/) + if (!m) return null + const n = Number(m[1]) + return Number.isNaN(n) ? null : n +} + +function simularInput(textoAtual, novoChar, casasDecimais) { + const texto = textoAtual + novoChar; + const isInteiro = casasDecimais === 0; + const isFixedPoint = casasDecimais !== null && casasDecimais > 0; + + if (isFixedPoint) { + const digitos = somenteNumeros(texto) + const baseInt = digitos ? Number(digitos) : 0 + const divisor = 10 ** casasDecimais + const n = digitos ? baseInt / divisor : null + return formatarNumero(n, casasDecimais); + } + + const base = isInteiro ? somenteNumeros(texto) : somenteNumerosESeparadorDecimal(texto); + const textoFiltrado = base; // simplificado + + let out = null; + if (textoFiltrado) { + const parcial = isInteiro ? null : valorParcialDecimal(textoFiltrado); + out = parcial ?? parseNumero(textoFiltrado); + } + return formatarNumero(out, casasDecimais); +} + +console.log("Com casasDecimais = null (livre)"); +console.log("Digita 1:", simularInput("", "1", null)); +console.log("Digita ,:", simularInput("1", ",", null)); +console.log("Digita 5:", simularInput("1,", "5", null));