mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 12:22:14 +03:00
Add a 3-tier pricing resolution system: user overrides > synced external > hardcoded defaults. New files: - src/lib/pricingSync.ts: sync engine (fetch LiteLLM, transform, store in pricing_synced namespace) - src/app/api/pricing/sync/route.ts: POST (trigger sync), GET (status), DELETE (clear synced) - tests/unit/pricing-sync.test.mjs: 12 unit tests for transform logic - open-sse/mcp-server/__tests__/pricingSync.test.ts: 11 vitest tests for MCP schema Modified files: - src/lib/db/settings.ts: getPricing() now merges 3 layers (defaults → synced → user) - src/server-init.ts: init pricing sync on startup when PRICING_SYNC_ENABLED=true - src/lib/localDb.ts: re-export pricing sync functions - open-sse/mcp-server/schemas/tools.ts: add omniroute_sync_pricing tool definition - open-sse/mcp-server/tools/advancedTools.ts: add handleSyncPricing handler - open-sse/mcp-server/server.ts: register omniroute_sync_pricing tool Opt-in (PRICING_SYNC_ENABLED=false by default), user overrides are never touched, graceful fallback on fetch failure, zero new dependencies.