fix: force all chat to Claude - runtime guards + remove Gemini fallback in resolveTitleModel
- gemini.ts: throw [Iroh] guard at top of streamGemini and completeGeminiText; add @ts-nocheck since dead code is preserved for later removal
- llm/index.ts: toClaudeParams uses QUICK_MODEL explicitly and console.warns on coercion; completeText same
- chatTools.ts: runLLMStream guards selectedModel with startsWith("claude") check + QUICK_MODEL fallback, warns if coerced; imports QUICK_MODEL directly
- models.ts: add QUICK_MODEL/DEEP_MODEL/DRAFT_MODEL constants, modeToModel(), update defaults to Claude
- userSettings.ts: resolveTitleModel always returns QUICK_MODEL - drop Gemini branch entirely
- chat.ts / projectChat.ts: read mode from request body, compute model via modeToModel(), inject DRAFT_SYSTEM_PROMPT_EXTRA for draft mode, remove getUserApiKeys calls
- Frontend: replace ModelToggle dropdown with ModeToggle 3-button segment (Quick/Deep/Draft); useSelectedMode hook; mode field on MikeMessage; account/models page disabled with Iroh notice
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| Repository | Davemaina1/iroh_ |
|---|---|
| Author | Davemaina1 <dmain7015@gmail.com> |
| Authored | |
| Parents | 2d369731 |
| Stats | 14 files changed , +164 , -83 |
| Part of | Claude-only provider lock-in (no Gemini, Opus-gated thinking) |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-1f973e7d.md
from inside the repo you want the change in.