export type AiPreparation = { status: | 'not_configured' | 'outside_scope' | 'no_permitted_facts' | 'input_exceeds_limit' | 'draft'; external_execution_enabled: false; usage_checked: false; policy_revision: number; provider: string; model: string; max_input_bytes: number; max_output_tokens: number; input_bytes: number; facts: { id: string; text: string; source: { label: string; href: string; pointer: string }; }[]; }; export function AiPreparationPreview({ data }: { data: AiPreparation }) { if (data.status === 'not_configured') return null; const messages = { outside_scope: 'Este percurso não está abrangido pelo plano da empresa.', no_permitted_facts: 'Não há factos autorizados pelas categorias escolhidas para este relatório.', input_exceeds_limit: 'Os dados excedem o limite planeado por pedido. Reveja o âmbito em Administração.', draft: 'Pré-visualização do âmbito planeado. Nenhum dado foi enviado.', }; return (
Pré-visualização de IA — plano da empresa

{messages[data.status]}

Revisão {data.policy_revision} · Fornecedor pretendido:{' '} {data.provider} · Modelo: {data.model}

Dados pré-visualizados: {data.input_bytes} /{' '} {data.max_input_bytes} bytes. Limite de saída pretendido:{' '} {data.max_output_tokens} tokens.

Os limites mensais de consumo ainda não foram conferidos. O plano não autoriza execução externa; os relatórios e decisões mantêm o seu circuito.

); }