refactor: introduce LlmClient trait (no-op)

Preparation for a second LLM backend (OpenRouter) and hybrid vision-local /
chat-remote mode. Shared wire types (ChatMessage, Tool, ToolCall, etc.) move
into a new src/ai/llm_client.rs and are re-exported from ollama.rs so
existing imports keep working. OllamaClient now implements LlmClient.

No behavior change; callers still hold the concrete OllamaClient. Caller
migration to Arc<dyn LlmClient> is deferred to the PR that wires hybrid
backend routing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Cameron
2026-04-20 22:11:05 -04:00
parent 702aa8078c
commit 0073409b3d
5 changed files with 197 additions and 92 deletions

View File

@@ -56,3 +56,4 @@ ical = "0.11"
scraper = "0.20"
base64 = "0.22"
blake3 = "1.5"
async-trait = "0.1"