iachat/config/agents/tools.yml
Rodrigo Borba 44908f32d1 feat: sistema de notificações de reserva com templates configuráveis
- Adiciona check_in_at/duration_hours ao schema do tool CreateReservationIntent
  para que a IA capture o horário EXATO de chegada informado pelo cliente
- Cria captain_notification_templates: label, content, timing_minutes,
  timing_direction (before/after), active, position
- Implementa SendNotificationService com interpolação de variáveis
  (guest_name, check_in_time, check_out_time, suite_name, unit_name)
- Implementa NotificationScannerJob (Sidekiq-cron a cada 5min) com
  janela de tolerância de ±5min e idempotência via metadata JSONB
- API REST: /captain/units/:unit_id/notification_templates (CRUD)
- Store Vuex captainNotificationTemplates + API client
- UI: página de gestão de templates com editor inline e botão '+'
- Configura rota captain_settings_notifications
- i18n PT/EN para todas as strings novas
- Rubocop e ESLint: zero offenses
2026-03-01 21:53:11 -03:00

57 lines
1.8 KiB
YAML

###### Captain Agent Tools Configuration #######
# id: Tool identifier used to resolve the class (Captain::Tools::{PascalCase(id)}Tool)
# title: Human-readable tool name for frontend display
# description: Brief description of what the tool does
# icon: Icon name for frontend display (frontend icon system)
#######################################################
- id: add_contact_note
title: 'Add Contact Note'
description: 'Add a note to a contact profile'
icon: 'note-add'
- id: add_private_note
title: 'Add Private Note'
description: 'Add a private note to a conversation (internal only)'
icon: 'eye-off'
- id: update_priority
title: 'Update Priority'
description: 'Update conversation priority level'
icon: 'exclamation-triangle'
- id: add_label_to_conversation
title: 'Add Label to Conversation'
description: 'Add a label to a conversation'
icon: 'tag'
- id: faq_lookup
title: 'FAQ Lookup'
description: 'Search FAQ responses using semantic similarity'
icon: 'search'
- id: handoff
title: 'Handoff to Human'
description: 'Hand off the conversation to a human agent'
icon: 'user-switch'
- id: generate_pix
title: 'Gerar Pix'
description: 'Gera uma cobrança Pix via Banco Inter para a reserva ativa da conversa'
icon: 'payment'
- id: check_pix_payment
title: 'Verificar Pagamento Pix'
description: 'Consulta no Banco Inter se a cobrança Pix já foi paga'
icon: 'check-circle'
- id: send_suite_images
title: 'Enviar Fotos de Suíte'
description: 'Envia fotos da galeria da unidade para o cliente, com filtros por categoria/suíte'
icon: 'image'
- id: create_reservation_intent
title: 'Criar Reserva'
description: 'Cria uma reserva draft quando o cliente confirmar suíte, preço e horário de chegada'
icon: 'calendar-add'