forked from git.gladyson/openmonetis
- Corrigir cálculo de valor na importação de lançamentos parcelados
- Exibir valor total (parcela × quantidade) ao invés do valor da parcela individual
- Permite recriar parcelamentos importados com valor correto
- Permitir que usuários compartilhados se descompartilhem de pagadores
- Adicionar componente PagadorLeaveShareCard na aba Perfil
- Usuário filho pode sair do compartilhamento sem precisar do usuário pai
- Manter autorização bidirecionada na action de remoção de share
- Implementar submenu "Inativos" para contas bancárias
- Criar página /contas/inativos seguindo padrão de cartões
- Filtrar contas ativas e inativas em páginas separadas
- Adicionar ícone e navegação no sidebar
150 lines
4.2 KiB
TypeScript
150 lines
4.2 KiB
TypeScript
/**
|
|
* Tipos de providers disponíveis
|
|
*/
|
|
export type AIProvider = "openai" | "anthropic" | "google" | "openrouter";
|
|
|
|
/**
|
|
* Metadados dos providers
|
|
*/
|
|
export const PROVIDERS = {
|
|
openai: {
|
|
id: "openai" as const,
|
|
name: "ChatGPT",
|
|
icon: "RiOpenaiLine",
|
|
},
|
|
anthropic: {
|
|
id: "anthropic" as const,
|
|
name: "Claude AI",
|
|
icon: "RiRobot2Line",
|
|
},
|
|
google: {
|
|
id: "google" as const,
|
|
name: "Gemini",
|
|
icon: "RiGoogleLine",
|
|
},
|
|
openrouter: {
|
|
id: "openrouter" as const,
|
|
name: "OpenRouter",
|
|
icon: "RiRouterLine",
|
|
},
|
|
} as const;
|
|
|
|
/**
|
|
* Lista de modelos de IA disponíveis para análise de insights
|
|
*/
|
|
export const AVAILABLE_MODELS = [
|
|
// OpenAI Models - GPT-5.2 Family (Latest)
|
|
{ id: "gpt-5.2", name: "GPT-5.2", provider: "openai" as const },
|
|
{
|
|
id: "gpt-5.2-instant",
|
|
name: "GPT-5.2 Instant",
|
|
provider: "openai" as const,
|
|
},
|
|
{
|
|
id: "gpt-5.2-thinking",
|
|
name: "GPT-5.2 Thinking",
|
|
provider: "openai" as const,
|
|
},
|
|
|
|
// OpenAI Models - GPT-5 Family
|
|
{ id: "gpt-5", name: "GPT-5", provider: "openai" as const },
|
|
{ id: "gpt-5-instant", name: "GPT-5 Instant", provider: "openai" as const },
|
|
|
|
// Anthropic Models - Claude 4.5
|
|
{
|
|
id: "claude-4.5-haiku",
|
|
name: "Claude 4.5 Haiku",
|
|
provider: "anthropic" as const,
|
|
},
|
|
{
|
|
id: "claude-4.5-sonnet",
|
|
name: "Claude 4.5 Sonnet",
|
|
provider: "anthropic" as const,
|
|
},
|
|
{
|
|
id: "claude-opus-4.1",
|
|
name: "Claude 4.1 Opus",
|
|
provider: "anthropic" as const,
|
|
},
|
|
|
|
// Google Models - Gemini 3 (Latest)
|
|
{
|
|
id: "gemini-3-flash-preview",
|
|
name: "Gemini 3 Flash",
|
|
provider: "google" as const,
|
|
},
|
|
{
|
|
id: "gemini-3-pro-preview",
|
|
name: "Gemini 3 Pro",
|
|
provider: "google" as const,
|
|
},
|
|
|
|
// Google Models - Gemini 2.0
|
|
{
|
|
id: "gemini-2.0-flash",
|
|
name: "Gemini 2.0 Flash",
|
|
provider: "google" as const,
|
|
},
|
|
] as const;
|
|
|
|
export const DEFAULT_MODEL = "gpt-5.2";
|
|
export const DEFAULT_PROVIDER = "openai";
|
|
|
|
/**
|
|
* System prompt para análise de insights
|
|
*/
|
|
export const INSIGHTS_SYSTEM_PROMPT = `Você é um especialista em comportamento financeiro. Analise os dados financeiros fornecidos e organize suas observações em 4 categorias específicas:
|
|
|
|
1. **Comportamentos Observados** (behaviors): Padrões de gastos e hábitos financeiros identificados nos dados. Foque em comportamentos recorrentes e tendências. Considere:
|
|
- Tendência dos últimos 3 meses (crescente, decrescente, estável)
|
|
- Gastos recorrentes e sua previsibilidade
|
|
- Padrões de parcelamento e comprometimento futuro
|
|
|
|
2. **Gatilhos de Consumo** (triggers): Identifique situações, períodos ou categorias que desencadeiam maiores gastos. O que leva o usuário a gastar mais? Analise:
|
|
- Dias da semana com mais gastos
|
|
- Categorias que cresceram nos últimos meses
|
|
- Métodos de pagamento que facilitam gastos
|
|
|
|
3. **Recomendações Práticas** (recommendations): Sugestões concretas e acionáveis para melhorar a saúde financeira. Seja específico e direto. Use os dados de:
|
|
- Gastos recorrentes que podem ser otimizados
|
|
- Orçamentos que estão sendo ultrapassados
|
|
- Comprometimento futuro com parcelamentos
|
|
|
|
4. **Melhorias Sugeridas** (improvements): Oportunidades de otimização e estratégias de longo prazo para alcançar objetivos financeiros. Considere:
|
|
- Tendências preocupantes dos últimos 3 meses
|
|
- Percentual de gastos recorrentes vs pontuais
|
|
- Estratégias para reduzir comprometimento futuro
|
|
|
|
Para cada categoria, forneça de 3 a 6 itens concisos e objetivos. Use linguagem clara e direta, com verbos de ação. Mantenha privacidade e não exponha dados pessoais sensíveis.
|
|
|
|
IMPORTANTE: Utilize os novos dados disponíveis (threeMonthTrend, recurringExpenses, installments) para fornecer insights mais ricos e contextualizados.
|
|
|
|
Responda EXCLUSIVAMENTE com um JSON válido seguindo o esquema:
|
|
{
|
|
"month": "YYYY-MM",
|
|
"generatedAt": "ISO datetime",
|
|
"categories": [
|
|
{
|
|
"category": "behaviors",
|
|
"items": [
|
|
{ "text": "Observação aqui" },
|
|
...
|
|
]
|
|
},
|
|
{
|
|
"category": "triggers",
|
|
"items": [...]
|
|
},
|
|
{
|
|
"category": "recommendations",
|
|
"items": [...]
|
|
},
|
|
{
|
|
"category": "improvements",
|
|
"items": [...]
|
|
}
|
|
]
|
|
}
|
|
|
|
`;
|