Implement LLM-WP-0007: Kimi K3 default and EUR spend reporting
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Has been cancelled

Add moonshotai/kimi-k3 as OpenRouter basemodel default after live smoke,
USD→EUR cost conversion, append-only usage ledger, and CLI run/cost/spend
week commands with token and euro reporting.
This commit is contained in:
tegwick 2026-08-03 22:00:34 +02:00
parent f3121c3f1f
commit 09aa1f3604
21 changed files with 1396 additions and 103 deletions

View file

@ -93,6 +93,26 @@ class LLMAdapter(ABC):
if config.budget_tracker is not None:
tokens = response.usage.get("total_tokens", 0)
config.budget_tracker.consume(tokens)
self._maybe_record_usage(response)
def _maybe_record_usage(self, response: LLMResponse) -> None:
"""Opt-in usage ledger write when ``LLM_CONNECT_USAGE_LEDGER`` is set."""
try:
from llm_connect.usage import maybe_record_usage
provider = (
(response.metadata or {}).get("provider")
or getattr(self, "provider_id", None)
or type(self).__name__
)
maybe_record_usage(
response,
provider=str(provider),
source="library",
)
except Exception:
# Spend accounting must never break inference.
return
class MockLLMAdapter(LLMAdapter):