iachat/enterprise/app/models/captain
Rodribm10 928b1ec6b9 feat(captain): Codex OAuth auth module + proxy controller
Implementa Fases 1+2 do plano Captain Codex OAuth.

Fase 1 — Auth módulo:
- Migration captain_codex_credentials (tokens AR-encrypted)
- Model Captain::CodexCredential (singleton-ish com .current)
- Captain::Codex::AuthService com device flow completo:
  start_device_login, poll_once, exchange_for_credential,
  valid_access_token (auto-refresh), refresh!
- Rake task captain:codex:{login,status,refresh}
- Sidekiq job Captain::Codex::RefreshTokensJob rodando a cada 30min

Fase 2 — Proxy Chat Completions → Responses:
- Captain::Codex::Translator (chat ↔ responses, tools, tool_calls)
- Captain::Codex::Client (streaming SSE → agregado)
- Api::Internal::CodexProxyController expondo
  POST /codex/v1/chat/completions
- 10 specs do Translator passando

Próximo: Fase 3 (feature flag + fallback) e reconfiguração dos
clientes RubyLLM/Agents/ruby-openai pra apontarem pro proxy quando
CAPTAIN_LLM_PROVIDER=openai_codex_oauth.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 15:07:01 -03:00
..
lifecycle feat(captain): semantic memory fixes + roleta + reclamações + analytics 2026-04-21 15:36:25 -03:00
assistant_response.rb feat: legacy features to ruby llm (#12994) 2025-12-11 14:17:28 +05:30
assistant.rb feat(captain): semantic memory fixes + roleta + reclamações + analytics 2026-04-21 15:36:25 -03:00
brand.rb chore(style): fix rubocop offenses and update typing indicators 2026-02-25 15:06:58 -03:00
codex_credential.rb feat(captain): Codex OAuth auth module + proxy controller 2026-04-22 15:07:01 -03:00
contact_memory.rb feat(captain): semantic memory fixes + roleta + reclamações + analytics 2026-04-21 15:36:25 -03:00
conversation_insight.rb feat: Adiciona prompt orquestrador configurável para assistentes Captain com editor UI. 2026-02-27 11:57:59 -03:00
custom_tool.rb chore(style): fix rubocop offenses and update typing indicators 2026-02-25 15:06:58 -03:00
document.rb chore(style): fix rubocop offenses and update typing indicators 2026-02-25 15:06:58 -03:00
gallery_item.rb feat(units): allow one Pix unit to link to multiple inboxes (N:N) 2026-02-26 21:33:23 -03:00
lifecycle.rb feat(lifecycle): add Captain::Lifecycle::Config model 2026-04-15 01:14:19 -03:00
notification_template.rb refactor: move notification templates de units para inboxes 2026-03-01 22:17:27 -03:00
pix_charge.rb feat(retention): foundation for customer retention metrics 2026-04-22 09:50:23 -03:00
report_snapshot.rb feat(captain): improve suite photo search accuracy with AI guidance 2026-02-26 23:04:28 -03:00
reservation.rb feat(lifecycle): wire Captain::Reservation lifecycle hooks 2026-04-15 01:37:23 -03:00
scenario.rb feat(captain): hierarchical model routing + conversation-level memory cache 2026-04-19 09:47:15 -03:00
unit_inbox.rb feat(captain): improve suite photo search accuracy with AI guidance 2026-02-26 23:04:28 -03:00
unit.rb feat(lifecycle): add concierge_* accessors to Captain::Unit 2026-04-15 01:23:40 -03:00