iachat/app/javascript/dashboard/components-next
Rodribm10 40fd0c8f50 feat(captain/hermes-builder): UI Vue + endpoints pra chat com Construtor
Tela "Construtor" no painel Captain (acessivel em sidebar pra admins) que
permite criar novo agente Hermes via chat guiado com agente Construtor
(profile Hermes separado).

Backend (admin scope):
- POST /api/v1/accounts/:id/captain/hermes_builder — manda mensagem do
  admin pro gateway do Construtor (Hermes na porta 8646)
- GET — retorna historico da sessao (Rails.cache, TTL 4h)
- DELETE /reset — limpa sessao
- POST /webhooks/captain/builder_callback — recebe respostas async do
  Construtor via plugin captain-http-callback do Hermes
- HermesBuilder::Storage (Rails.cache) — persiste msgs por session_key
  (account_id + user_id) com role/content/created_at
- HermesBuilder::Dispatcher — encaminha pro webhook do Construtor com
  HMAC opcional via ENV HERMES_BUILDER_WEBHOOK_SECRET

Frontend:
- Pagina Vue HermesBuilder/Index.vue — chat simples com:
  * Lista de mensagens com bubbles user/construtor
  * Indicador "digitando..." enquanto aguarda resposta
  * Input com Enter pra enviar / Shift+Enter pra nova linha
  * Polling 2s pra novas msgs
  * Botao Limpar conversa
- API client em api/captain/hermesBuilder.js
- Rota captain_hermes_builder_index (admin only)
- Item no sidebar Captain "Construtor (Hermes)"
- i18n keys CAPTAIN.HERMES_BUILDER em pt_BR + en

UX flow:
  Admin abre tela → digita "olá" → Construtor pergunta nome → admin
  responde → marca, persona, tabela (com opcao copiar de existente),
  regras, FAQs, identidade → resumo → confirmar → Construtor chama
  save_agent_spec → JSON salvo em /tmp/agent-specs/<slug>.json pra
  revisao posterior. NAO cria filesystem do profile nem registros DB
  (etapa SEPARADA, prox sessao).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 21:00:41 -03:00
..
Accordion feat: Allow customizing the responses, flows in Captain (#11385) 2025-04-29 15:42:15 -07:00
AssignmentPolicy fix: V2 Assignment service enhancements (#13036) 2026-02-11 12:24:45 +05:30
avatar fix: RTL issues in new conversation form (#12163) 2025-08-11 14:16:48 -07:00
banner fix(zapi): update promo banner button to type button (#142) 2025-11-13 16:43:28 -03:00
breadcrumb chore: Optimize contact page for smaller displays (#12183) 2025-08-14 19:07:20 +05:30
button chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
buttonGroup Chore/merge upstream 4.8.0 (#150) 2025-11-19 16:25:58 -03:00
Campaigns chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
captain fix(captain): evita erro ao adicionar FAQ com pergunta longa 2026-04-27 15:12:09 +00:00
changelog-card chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
checkbox feat: Add support for bulk action for Captain FAQs (#10905) 2025-02-27 17:05:33 -08:00
colorpicker chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
combobox chore: Remove vue-multiselect and migrate to next components (#13506) 2026-02-17 16:40:12 +05:30
Companies chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
Contacts Merge branch 'main' into chore/merge-upstream-4.11.0 2026-02-17 23:05:26 -03:00
content-templates feat: Add twilio content templates (#12277) 2025-08-29 16:13:25 +05:30
Conversation feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
ConversationWorkflow feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
copilot Chore/merge upstream 4.8.0 (#150) 2025-11-19 16:25:58 -03:00
CustomAttributes chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
dialog chore: Remove vue-multiselect and migrate to next components (#13506) 2026-02-17 16:40:12 +05:30
dropdown-menu Merge branch 'main' into chore/merge-upstream-4.11.0 2026-02-17 23:05:26 -03:00
Editor chore: Improve compose new conversation form (#13176) 2026-01-13 18:52:10 +05:30
feature-spotlight Chore/merge upstream 4.8.0 (#150) 2025-11-19 16:25:58 -03:00
filter feat(retention): UI layer — badge, filters, cohort matrix, KPI dashboard 2026-04-22 10:30:19 -03:00
flag feat: Flag icon component (#10564) 2024-12-10 11:53:24 +05:30
HelpCenter chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
icon Fix Wuzapi webhook handling 2026-02-26 10:49:00 -03:00
Inbox chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
inline-input chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
input feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
Label feat: Agent capacity policy Create/Edit pages (#12424) 2025-09-12 18:42:55 +05:30
message feat: Adiciona a opção "Criar FAQ" no menu de contexto da mensagem, permitindo criar uma resposta com seleção de assistente. 2026-02-28 22:20:43 -03:00
NewConversation Merge branch 'main' into chore/merge-upstream-4.11.0 2026-02-17 23:05:26 -03:00
pagination chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
phonenumberinput fix: Accidental contact creation on country dropdown toggle (#11494) 2025-05-16 16:14:00 +05:30
selectmenu feat: Update conversation basic filter (#11415) 2025-05-06 12:44:23 +05:30
sidebar feat(captain/hermes-builder): UI Vue + endpoints pra chat com Construtor 2026-05-01 21:00:41 -03:00
spinner feat: Add Spinner to new components (#10303) 2024-10-16 17:53:46 -07:00
switch Merge branch 'main' into chore/merge-upstream-4.11.0 2026-02-17 23:05:26 -03:00
tabbar chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
taginput chore: Remove vue-multiselect and migrate to next components (#13506) 2026-02-17 16:40:12 +05:30
textarea feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
whatsapp feat(scheduled-messages): add WhatsApp templates (#205) 2026-02-02 19:50:17 -03:00
year-in-review chore: Enable YearInReview for everyone, include analytics (#13090) 2025-12-16 18:20:10 -08:00
CardLayout.vue feat: Advanced Search Backend (#12917) 2026-01-07 15:30:49 +05:30
EmptyStateLayout.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
SidebarActionsHeader.story.vue feat: Update the UI to support the change for Copilot as a universal copilot (#11618) 2025-05-29 12:35:10 +05:30
SidebarActionsHeader.vue feat: Update the UI to support the change for Copilot as a universal copilot (#11618) 2025-05-29 12:35:10 +05:30
TeleportWithDirection.vue feat: Add Teleport component to fix RTL/LTR utility classes (#11455) 2025-05-12 11:49:23 -07:00