-
Notifications
You must be signed in to change notification settings - Fork 2
refactor: extract UsageTracker for LLM provider usage/cache tracking #1988
Copy link
Copy link
Closed
Labels
architectureArchitecture improvementsArchitecture improvementsllmzeph-llm crate (Ollama, Claude)zeph-llm crate (Ollama, Claude)
Description
Epic: #1975
Every LLM provider independently maintains last_usage: Mutex<Option<(u64, u64)>> and last_cache: Mutex<Option<(u64, u64)>> with identical logic. 60 lines duplicated across 4 providers.
Extract UsageTracker struct in zeph-llm/src/usage.rs:
pub(crate) struct UsageTracker {
last_usage: Mutex<Option<(u64, u64)>>,
last_cache: Mutex<Option<(u64, u64)>>,
}Locations: claude/mod.rs:54-55, openai/mod.rs:26-27, ollama.rs:35, gemini/mod.rs:42
Acceptance Criteria:
- UsageTracker used by all 4 providers
- Clone implementation resets to None
- All provider tests pass
Complexity: Small | Effort: 2h
Ref: DRY-01
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
architectureArchitecture improvementsArchitecture improvementsllmzeph-llm crate (Ollama, Claude)zeph-llm crate (Ollama, Claude)