iachat/app/javascript/dashboard/api
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
..
captain feat(captain/hermes-builder): UI Vue + endpoints pra chat com Construtor 2026-05-01 21:00:41 -03:00
channel feat: Voice Channel (#11602) 2025-12-19 12:41:33 -08:00
enterprise perf: update the logic to purchase credits (#12998) 2025-12-08 10:52:17 +05:30
helpCenter feat(cloud): Add support for viewing status of SSL in custom domains (#12011) 2025-07-30 10:52:47 -07:00
inbox chore(style): fix rubocop offenses and update typing indicators 2026-02-25 15:06:58 -03:00
integrations feat: new Captain Editor (#13235) 2026-01-21 13:39:07 +05:30
specs feat: mensagens agendadas (#198) 2026-01-30 22:08:16 -03:00
account.js feat: Reconnect logic (#9453) 2024-06-03 15:54:19 +05:30
accountActions.js feat: Create modal to merge two contacts (#2457) 2021-10-13 18:35:13 +05:30
agentBots.js feat: Ability to reset api_access_token (#11565) 2025-05-29 14:42:13 +05:30
agentCapacityPolicies.js feat: Agent capacity policy index page with CRUD actions (#12409) 2025-09-12 16:22:42 +05:30
agents.js feat: Adds bulk_invite api for onboarding view (#8931) 2024-02-16 17:01:27 +05:30
ApiClient.js feat: update tool-chain to latest (#7975) 2023-09-27 14:02:34 +05:30
assignableAgents.js chore: Add Assignable Agents API (#4722) 2022-05-23 19:24:07 +05:30
assignmentPolicies.js feat: Agent assignment policy index page with CRUD actions (#12373) 2025-09-10 12:07:21 +05:30
attributes.js feat: Render contact custom attributes in contact/conversation sidebar (#3310) 2021-11-11 15:23:33 +05:30
auditLogs.js feat: audit logs UI (#6803) 2023-04-17 19:11:05 +05:30
auth.js fix: Prevent display_name reset when updating password (#10374) 2025-06-11 19:05:30 -04:00
automation.js feat: add a common upload endpoint (#7806) 2023-08-31 10:36:02 +07:00
bulkActions.js feat: Add Bulk actions to conversations (#4647) 2022-06-03 11:12:22 +05:30
CacheEnabledApiClient.js fix: idb is not available in firefox private mode [CW-2217] (#7524) 2023-07-14 13:35:30 +05:30
campaigns.js feat: Add campaign (#2177) 2021-05-04 15:08:41 +05:30
cannedResponse.js Chore: Scope URLs with account_id (#601) 2020-03-09 23:27:10 +05:30
changelog.js Chore/merge upstream 4.8.0 (#150) 2025-11-19 16:25:58 -03:00
channels.js Chore: Add Facebook app set up documentation (#647) 2020-03-28 11:43:02 +05:30
companies.js Chore/merge upstream 4.8.0 (#150) 2025-11-19 16:25:58 -03:00
contactNotes.js feat: Add notes for Contacts (#3273) 2021-10-25 18:35:58 +05:30
contacts.js feat: outbound voice call essentials (#12782) 2025-11-24 17:47:00 -08:00
conversations.js Chore: Scope URLs with account_id (#601) 2020-03-09 23:27:10 +05:30
csatReports.js fix: CSAT filter metrics rendering & conversation reports not working [CW-1840, CW-1818] (#7170) 2023-05-23 16:47:04 +05:30
customRole.js chore: Custom Roles to manage permissions [ UI ] (#9865) 2024-09-17 11:40:11 -07:00
customViews.js feat: Adds the ability to delete a segment (#3836) 2022-01-24 17:37:43 +05:30
dashboardApps.js feat: Allow users to create dashboard apps to give agents more context (#4761) 2022-06-01 11:13:10 +05:30
endPoints.js fix: Prevent display_name reset when updating password (#10374) 2025-06-11 19:05:30 -04:00
inboxes.js feat: Implement existing template linking for CSAT surveys (#218) 2026-02-18 18:00:29 -03:00
inboxHealth.js feat: Add WhatsApp health monitoring and self-service registration completion (#12556) 2025-10-02 11:25:48 +05:30
inboxMembers.js Chore: Inbox Members API improvements (#3008) 2021-09-14 11:55:02 +05:30
integrations.js feat(apps): Shopify Integration (#11101) 2025-03-19 15:37:55 -07:00
labels.js feat: IndexedDB based caching for labels, inboxes and teams [CW-50] (#6710) 2023-03-27 12:16:25 +05:30
landingHosts.js feat: configuração de landing pages por domínio e generalização da galeria 2026-03-03 11:19:41 -03:00
liveReports.js feat: Add live report for teams (#10849) 2025-03-12 16:03:09 -07:00
macros.js feat: Add API module and Vuex store for Macros (#5603) 2022-10-11 22:54:17 -07:00
mfa.js feat: Add the frontend support for MFA (#12372) 2025-09-18 21:16:06 +05:30
notifications.js fix: Inbox view Read/Snoozed display filters (#8907) 2024-02-17 13:59:25 +05:30
notificationSubscription.js Feature: Add web push notification permission in frontend (#766) 2020-05-06 00:10:56 +05:30
notion_auth.js feat: notion OAuth setup (#11765) 2025-06-26 19:16:06 +05:30
reports.js feat(reports): Painel Diretoria — Onda 1A (leitura) 2026-04-26 12:44:59 -03:00
samlSettings.js feat: SAML UI [CW-2958] (#12345) 2025-09-15 19:33:54 +05:30
scheduledMessages.js feat: mensagens agendadas (#198) 2026-01-30 22:08:16 -03:00
search.js feat: Advanced Search Backend (#12917) 2026-01-07 15:30:49 +05:30
sla.js feat(ee): Add SLA management UI (#8777) 2024-02-20 23:03:22 -08:00
slaReports.js fix: Add more filters for SLA download reports (#9231) 2024-04-16 09:00:52 +05:30
summaryReports.js feat: label reports overview (#11194) 2025-06-11 14:35:46 +05:30
teams.js feat: IndexedDB based caching for labels, inboxes and teams [CW-50] (#6710) 2023-03-27 12:16:25 +05:30
userNotificationSettings.js Chore: Scope URLs with account_id (#601) 2020-03-09 23:27:10 +05:30
webhooks.js Chore: Scope URLs with account_id (#601) 2020-03-09 23:27:10 +05:30
yearInReview.js feat(ce): Add Year in review feature (#13078) 2025-12-15 17:24:45 -08:00