@agentproto/model-catalog 0.13.2 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/access/index.d.ts +4 -3
  2. package/dist/access/index.mjs +5 -4
  3. package/dist/{catalog-DLa4soLN.d.ts → catalog-BB0uDJh-.d.ts} +18 -38
  4. package/dist/{chunk-P5PQS3SJ.mjs → chunk-BXTZ2EDE.mjs} +114 -460
  5. package/dist/chunk-BXTZ2EDE.mjs.map +1 -0
  6. package/dist/{chunk-ORWNAAFP.mjs → chunk-DTE62ERL.mjs} +4 -4
  7. package/dist/{chunk-ORWNAAFP.mjs.map → chunk-DTE62ERL.mjs.map} +1 -1
  8. package/dist/{chunk-2P2R2XLK.mjs → chunk-ETI76MOK.mjs} +5 -5
  9. package/dist/{chunk-2P2R2XLK.mjs.map → chunk-ETI76MOK.mjs.map} +1 -1
  10. package/dist/chunk-HFPX2DNR.mjs +3 -0
  11. package/dist/chunk-HFPX2DNR.mjs.map +1 -0
  12. package/dist/{chunk-FPTLINCV.mjs → chunk-IHU6XTXS.mjs} +3 -3
  13. package/dist/{chunk-FPTLINCV.mjs.map → chunk-IHU6XTXS.mjs.map} +1 -1
  14. package/dist/{chunk-5E34CLTH.mjs → chunk-MZ23K5W6.mjs} +161 -169
  15. package/dist/chunk-MZ23K5W6.mjs.map +1 -0
  16. package/dist/{chunk-POKSD3S3.mjs → chunk-PVE3WQRH.mjs} +8 -6
  17. package/dist/chunk-PVE3WQRH.mjs.map +1 -0
  18. package/dist/{chunk-5GIH3O6I.mjs → chunk-W7K6DGOK.mjs} +4 -4
  19. package/dist/{chunk-5GIH3O6I.mjs.map → chunk-W7K6DGOK.mjs.map} +1 -1
  20. package/dist/{chunk-PKFRG2DA.mjs → chunk-YSEQMLV2.mjs} +14 -5
  21. package/dist/chunk-YSEQMLV2.mjs.map +1 -0
  22. package/dist/cost/index.mjs +6 -6
  23. package/dist/curation/index.d.ts +2 -2
  24. package/dist/curation/index.mjs +6 -6
  25. package/dist/evaluate-BjSlZsJf.d.ts +49 -0
  26. package/dist/{index-BZlWH9br.d.ts → index-D8FWHlom.d.ts} +1 -1
  27. package/dist/index-DetGJJ-F.d.ts +78 -0
  28. package/dist/index.d.ts +7 -5
  29. package/dist/index.mjs +11 -10
  30. package/dist/index.mjs.map +1 -1
  31. package/dist/lists/index.d.ts +70 -0
  32. package/dist/lists/index.mjs +290 -0
  33. package/dist/lists/index.mjs.map +1 -0
  34. package/dist/llm/index.d.ts +1 -1
  35. package/dist/llm/index.mjs +2 -2
  36. package/dist/overlay/index.d.ts +1 -1
  37. package/dist/picker/index.d.ts +112 -5
  38. package/dist/route-identity/index.d.ts +1 -1
  39. package/dist/route-identity/index.mjs +2 -2
  40. package/dist/types-DMzMWJeJ.d.ts +50 -0
  41. package/package.json +8 -3
  42. package/dist/chunk-5E34CLTH.mjs.map +0 -1
  43. package/dist/chunk-P5PQS3SJ.mjs.map +0 -1
  44. package/dist/chunk-PKFRG2DA.mjs.map +0 -1
  45. package/dist/chunk-POKSD3S3.mjs.map +0 -1
  46. package/dist/evaluate-DYz38I9t.d.ts +0 -84
  47. package/dist/index-CwIGbZai.d.ts +0 -171
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llm/openrouter-routes.generated.ts","../src/llm/context-windows.generated.ts","../src/llm/mistral-pricing.generated.ts","../src/llm/moonshot-pricing.generated.ts","../src/llm/anthropic-pricing.generated.ts","../src/llm/google-pricing.generated.ts","../src/llm/openai-pricing.generated.ts","../src/llm/minimax-pricing.generated.ts","../src/llm/xai-pricing.generated.ts","../src/llm/catalog.ts","../src/llm/opencode-go-routes.generated.ts","../src/llm/opencode-zen-routes.generated.ts"],"names":[],"mappings":"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","file":"chunk-5E34CLTH.mjs","sourcesContent":["// AUTO-GENERATED by @agentproto/catalog-sync (llm:openrouter).\n// Do not edit by hand — re-run `pnpm --filter @agentproto/catalog-sync generate`.\n// Source: https://openrouter.ai/api/v1/models\n// Pricing carries provider USD (inputPer1M / outputPer1M) plus cache\n// multipliers (cacheReadMultiplier / cacheWriteMultiplier) derived from the\n// source's input_cache_read / input_cache_write per-token fields when present.\n// tiers are the source's prompt-length price overrides (min_prompt_tokens).\n// addedAt is the ISO date this id was first seen by a sync run — backfilled\n// from the source's own `created` timestamp, then NEVER mutated; see\n// packages/catalog-sync/src/added-at.ts and the package README.\n\nimport type { LLMPricing } from \"./catalog.js\"\n\nexport const OPENROUTER_ROUTES: Record<string, LLMPricing> = {\n \"aion-labs/aion-2.0\": {\n inputPer1M: 0.8,\n outputPer1M: 1.6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-02-23\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-3.0\": {\n inputPer1M: 3,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-07-07\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-3.0-mini\": {\n inputPer1M: 0.7,\n outputPer1M: 1.4,\n cacheReadMultiplier: 0.257143,\n addedAt: \"2026-07-07\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-3.5\": {\n inputPer1M: 3,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-09-23\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-3.5-mini\": {\n inputPer1M: 0.7,\n outputPer1M: 1.4,\n cacheReadMultiplier: 0.257143,\n addedAt: \"2026-09-23\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-rp-llama-3.1-8b\": {\n inputPer1M: 0.8,\n outputPer1M: 1.6,\n addedAt: \"2025-02-04\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"amazon/nova-2-lite-v1\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n addedAt: \"2025-12-02\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"amazon/nova-lite-v1\": {\n inputPer1M: 0.06,\n outputPer1M: 0.24,\n addedAt: \"2024-12-05\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"amazon/nova-micro-v1\": {\n inputPer1M: 0.035,\n outputPer1M: 0.14,\n addedAt: \"2024-12-05\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"amazon/nova-premier-v1\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-10-31\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"amazon/nova-pro-v1\": {\n inputPer1M: 0.8,\n outputPer1M: 3.2,\n addedAt: \"2024-12-05\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"anthracite-org/magnum-v4-72b\": {\n inputPer1M: 2.5,\n outputPer1M: 5,\n addedAt: \"2024-10-22\",\n vendor: \"anthracite-org\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-fable-5\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-09\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-fable-5.1\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.025,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-01\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-fable-5.1:batch\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.025,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-01\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-fable-5:batch\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-09\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-haiku-4.5\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-10-15\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-haiku-4.5:batch\": {\n inputPer1M: 0.5,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-10-15\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-haiku-5.5\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 100000, inputPer1M: 0.5, outputPer1M: 2.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-10-07\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-haiku-5.5:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 100000, inputPer1M: 0.25, outputPer1M: 1.25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-10-07\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.1\": {\n inputPer1M: 15,\n outputPer1M: 75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-08-05\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.1:batch\": {\n inputPer1M: 7.5,\n outputPer1M: 37.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-08-05\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.5\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-11-24\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.5:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-11-24\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.6\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-04\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.6:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-04\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.7\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-16\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.7:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-16\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.8\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-27\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.8:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-27\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-5\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-24\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-5.5\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-5.5:batch\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-5:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-24\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4.5\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 6, outputPer1M: 22.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2025-09-29\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4.5:batch\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 3, outputPer1M: 11.25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2025-09-29\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4.6\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-17\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4.6:batch\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-17\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-5\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-30\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-5.5\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-28\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-5.5:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-28\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-5:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-30\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"arcee-ai/trinity-large-thinking\": {\n inputPer1M: 0.25,\n outputPer1M: 0.8,\n cacheReadMultiplier: 0.24,\n addedAt: \"2026-04-01\",\n vendor: \"arcee-ai\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-1.6\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n tiers: [{ aboveInputTokens: 128000, inputPer1M: 0.5, outputPer1M: 4 }],\n addedAt: \"2025-12-23\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-1.6-flash\": {\n inputPer1M: 0.075,\n outputPer1M: 0.3,\n tiers: [{ aboveInputTokens: 128000, inputPer1M: 0.1, outputPer1M: 0.8 }],\n addedAt: \"2025-12-23\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-2-1-turbo\": {\n inputPer1M: 0.5,\n outputPer1M: 2.5,\n addedAt: \"2026-08-12\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-2.0-code\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n tiers: [{ aboveInputTokens: 128000, inputPer1M: 1, outputPer1M: 6 }],\n addedAt: \"2026-08-12\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-2.0-lite\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n tiers: [{ aboveInputTokens: 128000, inputPer1M: 0.5, outputPer1M: 4 }],\n addedAt: \"2026-03-10\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-2.0-mini\": {\n inputPer1M: 0.1,\n outputPer1M: 0.4,\n tiers: [{ aboveInputTokens: 128000, inputPer1M: 0.2, outputPer1M: 0.8 }],\n addedAt: \"2026-02-26\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance/ui-tars-1.5-7b\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 1,\n addedAt: \"2025-07-22\",\n vendor: \"bytedance\",\n provider: \"openrouter\",\n },\n \"cognitivecomputations/dolphin-mistral-24b-venice-edition\": {\n inputPer1M: 0.2,\n outputPer1M: 0.9,\n addedAt: \"2025-07-09\",\n vendor: \"cognitivecomputations\",\n provider: \"openrouter\",\n },\n \"cohere/command-a\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n addedAt: \"2025-03-13\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"cohere/command-a-plus\": {\n inputPer1M: 0.3,\n outputPer1M: 1.5,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-09-22\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"cohere/command-r-08-2024\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n addedAt: \"2024-08-30\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"cohere/command-r-plus-08-2024\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n addedAt: \"2024-08-30\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"cohere/command-r7b-12-2024\": {\n inputPer1M: 0.0375,\n outputPer1M: 0.15,\n addedAt: \"2024-12-14\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-chat\": {\n inputPer1M: 0.2574,\n outputPer1M: 1.0287,\n addedAt: \"2024-12-26\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-chat-v3-0324\": {\n inputPer1M: 0.29,\n outputPer1M: 1.14,\n cacheReadMultiplier: 0.37931,\n addedAt: \"2025-03-24\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-chat-v3.1\": {\n inputPer1M: 0.25,\n outputPer1M: 0.95,\n cacheReadMultiplier: 0.52,\n addedAt: \"2025-08-21\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-r1-0528\": {\n inputPer1M: 0.5,\n outputPer1M: 2.15,\n cacheReadMultiplier: 0.7,\n addedAt: \"2025-05-28\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v3.1-terminus\": {\n inputPer1M: 0.27,\n outputPer1M: 1,\n addedAt: \"2025-09-22\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v3.2\": {\n inputPer1M: 0.28,\n outputPer1M: 0.42,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-01\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v3.2-exp\": {\n inputPer1M: 0.27,\n outputPer1M: 0.41,\n addedAt: \"2025-09-29\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-flash\": {\n inputPer1M: 0.091,\n outputPer1M: 0.182,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-04-24\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-flash-0731\": {\n inputPer1M: 0.1298,\n outputPer1M: 0.3894,\n cacheReadMultiplier: 0.031818,\n addedAt: \"2026-07-31\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-flash-vision-exp\": {\n inputPer1M: 0.2156,\n outputPer1M: 0.6468,\n cacheReadMultiplier: 0.031818,\n addedAt: \"2026-08-21\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-pro\": {\n inputPer1M: 0.415686,\n outputPer1M: 0.831372,\n cacheReadMultiplier: 0.083335,\n addedAt: \"2026-04-24\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-pro-0813\": {\n inputPer1M: 0.66,\n outputPer1M: 1.98,\n cacheReadMultiplier: 0.033333,\n addedAt: \"2026-08-12\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4.1-flash\": {\n inputPer1M: 0.03552,\n outputPer1M: 0.12,\n cacheReadMultiplier: 0.019989,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4.1-flash-1017\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-10-17\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4.1-flash:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.15,\n cacheReadMultiplier: 0.08,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"elorian/glimpse\": {\n inputPer1M: 0.6,\n outputPer1M: 3,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-10-17\",\n vendor: \"elorian\",\n provider: \"openrouter\",\n },\n \"fireworks/ember-1\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-24\",\n vendor: \"fireworks\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.277777,\n addedAt: \"2025-06-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash-image\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.277777,\n addedAt: \"2025-10-07\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash-lite\": {\n inputPer1M: 0.1,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.83333,\n addedAt: \"2025-07-22\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash-lite:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2025-07-22\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-pro\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.3,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 15, cacheReadMultiplier: 0.1 }],\n addedAt: \"2025-06-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-pro-preview\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.3,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 15, cacheReadMultiplier: 0.1 }],\n addedAt: \"2025-06-05\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3-flash-preview\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.166666,\n addedAt: \"2025-12-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3-flash-preview:batch\": {\n inputPer1M: 0.25,\n outputPer1M: 1.5,\n addedAt: \"2025-12-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3-pro-image\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n addedAt: \"2026-06-18\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3-pro-image-preview\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n addedAt: \"2025-11-20\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-image\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n addedAt: \"2026-06-18\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-image-preview\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n addedAt: \"2026-02-26\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-lite\": {\n inputPer1M: 0.25,\n outputPer1M: 1.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.333332,\n addedAt: \"2026-05-07\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-lite-image\": {\n inputPer1M: 0.25,\n outputPer1M: 1.5,\n addedAt: \"2026-06-30\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-lite-preview\": {\n inputPer1M: 0.25,\n outputPer1M: 1.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.333332,\n addedAt: \"2026-03-03\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-lite:batch\": {\n inputPer1M: 0.125,\n outputPer1M: 0.75,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-05-07\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-pro-preview\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 18, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-02-19\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-pro-preview-customtools\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 18, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-02-25\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-pro-preview:batch\": {\n inputPer1M: 1,\n outputPer1M: 6,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 2, outputPer1M: 9 }],\n addedAt: \"2026-02-19\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.5-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 9,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055555,\n addedAt: \"2026-05-19\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.5-flash-lite\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.277777,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.5-flash-lite:batch\": {\n inputPer1M: 0.15,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.5-flash:batch\": {\n inputPer1M: 0.75,\n outputPer1M: 4.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-05-19\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.6-flash\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055556,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.6-flash:batch\": {\n inputPer1M: 0.375,\n outputPer1M: 1.875,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.111112,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.7-flash\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055556,\n addedAt: \"2026-08-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.7-flash:batch\": {\n inputPer1M: 0.375,\n outputPer1M: 1.875,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.111112,\n addedAt: \"2026-08-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.8-flash\": {\n inputPer1M: 0.825,\n outputPer1M: 4.125,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.050505,\n addedAt: \"2026-09-02\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.8-flash:batch\": {\n inputPer1M: 0.375,\n outputPer1M: 1.875,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.111112,\n addedAt: \"2026-09-02\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-4-argon\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 0.09375,\n addedAt: \"2026-10-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-4-argon:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 0.1875,\n addedAt: \"2026-10-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-nano-banana-2.1\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n addedAt: \"2026-10-06\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-2-27b-it\": {\n inputPer1M: 0.65,\n outputPer1M: 0.65,\n addedAt: \"2024-07-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-3-12b-it\": {\n inputPer1M: 0.05,\n outputPer1M: 0.15,\n addedAt: \"2025-03-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-3-27b-it\": {\n inputPer1M: 0.08,\n outputPer1M: 0.35,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-03-12\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-3-4b-it\": {\n inputPer1M: 0.04,\n outputPer1M: 0.05,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-03-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-4-26b-a4b-it\": {\n inputPer1M: 0.09,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.555556,\n addedAt: \"2026-04-03\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-4-31b-it\": {\n inputPer1M: 0.2,\n outputPer1M: 0.4,\n addedAt: \"2026-04-02\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"gryphe/mythomax-l2-13b\": {\n inputPer1M: 0.08,\n outputPer1M: 0.11,\n addedAt: \"2023-07-02\",\n vendor: \"gryphe\",\n provider: \"openrouter\",\n },\n \"ibm-granite/granite-4.0-h-micro\": {\n inputPer1M: 0.017,\n outputPer1M: 0.112,\n addedAt: \"2025-10-20\",\n vendor: \"ibm-granite\",\n provider: \"openrouter\",\n },\n \"ibm-granite/granite-4.2-8b\": {\n inputPer1M: 0.06,\n outputPer1M: 0.25,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-08-31\",\n vendor: \"ibm-granite\",\n provider: \"openrouter\",\n },\n \"inception/mercury-2\": {\n inputPer1M: 0.25,\n outputPer1M: 0.75,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-04\",\n vendor: \"inception\",\n provider: \"openrouter\",\n },\n \"inception/mercury-2.5\": {\n inputPer1M: 0.04,\n outputPer1M: 0.15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-08\",\n vendor: \"inception\",\n provider: \"openrouter\",\n },\n \"inception/mercury-3\": {\n inputPer1M: 0.1,\n outputPer1M: 0.35,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-10-16\",\n vendor: \"inception\",\n provider: \"openrouter\",\n },\n \"inclusionai/ling-3.0-flash\": {\n inputPer1M: 0.021,\n outputPer1M: 0.063,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-07-23\",\n vendor: \"inclusionai\",\n provider: \"openrouter\",\n },\n \"inclusionai/ling-3.0-flash-vl\": {\n inputPer1M: 0.06,\n outputPer1M: 0.18,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-09-10\",\n vendor: \"inclusionai\",\n provider: \"openrouter\",\n },\n \"inclusionai/ling-3.1-flash\": {\n inputPer1M: 0.075,\n outputPer1M: 0.225,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-10-02\",\n vendor: \"inclusionai\",\n provider: \"openrouter\",\n },\n \"inference-net/schematron-v2-small\": {\n inputPer1M: 0.05,\n outputPer1M: 0.23,\n cacheReadMultiplier: 1,\n addedAt: \"2026-09-12\",\n vendor: \"inference-net\",\n provider: \"openrouter\",\n },\n \"inference-net/schematron-v2-turbo\": {\n inputPer1M: 0.03,\n outputPer1M: 0.15,\n cacheReadMultiplier: 1,\n addedAt: \"2026-09-12\",\n vendor: \"inference-net\",\n provider: \"openrouter\",\n },\n \"liquid/lfm-2.5-24b-a2b\": {\n inputPer1M: 0.05,\n outputPer1M: 0.7,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-10-13\",\n vendor: \"liquid\",\n provider: \"openrouter\",\n },\n \"mancer/weaver\": {\n inputPer1M: 0.4,\n outputPer1M: 0.75,\n addedAt: \"2023-08-02\",\n vendor: \"mancer\",\n provider: \"openrouter\",\n },\n \"meituan/longcat-2.0\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-07-20\",\n vendor: \"meituan\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.1-70b-instruct\": {\n inputPer1M: 0.4,\n outputPer1M: 0.4,\n addedAt: \"2024-07-23\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.1-8b-instruct\": {\n inputPer1M: 0.05,\n outputPer1M: 0.08,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-07-23\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.2-1b-instruct\": {\n inputPer1M: 0.027,\n outputPer1M: 0.201,\n addedAt: \"2024-09-25\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.2-3b-instruct\": {\n inputPer1M: 0.0509,\n outputPer1M: 0.335,\n addedAt: \"2024-09-25\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.3-70b-instruct\": {\n inputPer1M: 0.1,\n outputPer1M: 0.32,\n addedAt: \"2024-12-06\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-4-maverick\": {\n inputPer1M: 0.1875,\n outputPer1M: 0.6525,\n cacheReadMultiplier: 0.266667,\n addedAt: \"2025-04-05\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-4-scout\": {\n inputPer1M: 0.1,\n outputPer1M: 0.3,\n addedAt: \"2025-04-05\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-guard-4-12b\": {\n inputPer1M: 0.18,\n outputPer1M: 0.18,\n addedAt: \"2025-04-30\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta/muse-glimmer-30b\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.133333,\n addedAt: \"2026-08-09\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.1\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-07-16\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.2\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-08-05\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.2-contributor\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-08-21\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.3\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.3-contributor\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-open\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-10-15\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-wonder\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.05,\n addedAt: \"2026-10-12\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"microsoft/phi-4\": {\n inputPer1M: 0.07,\n outputPer1M: 0.14,\n addedAt: \"2025-01-10\",\n vendor: \"microsoft\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-01\": {\n inputPer1M: 0.2,\n outputPer1M: 1.1,\n addedAt: \"2025-01-15\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m1\": {\n inputPer1M: 0.55,\n outputPer1M: 2.2,\n addedAt: \"2025-06-17\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2\": {\n inputPer1M: 0.255,\n outputPer1M: 1.02,\n addedAt: \"2025-10-23\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2-her\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-01-23\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2.1\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-23\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2.5\": {\n inputPer1M: 0.27,\n outputPer1M: 0.95,\n cacheReadMultiplier: 0.111111,\n addedAt: \"2026-02-12\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2.7\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-03-18\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m3\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-05-31\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"mistralai/codestral-2508\": {\n inputPer1M: 0.3,\n outputPer1M: 0.9,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-01\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/codestral-2508:batch\": {\n inputPer1M: 0.15,\n outputPer1M: 0.45,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-01\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/devstral-2512\": {\n inputPer1M: 0.4,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-09\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/ministral-14b-2512\": {\n inputPer1M: 0.2,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-02\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/ministral-3b-2512\": {\n inputPer1M: 0.1,\n outputPer1M: 0.1,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-02\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/ministral-8b-2512\": {\n inputPer1M: 0.15,\n outputPer1M: 0.15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-02\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/ministral-8b-2512:batch\": {\n inputPer1M: 0.075,\n outputPer1M: 0.075,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-02\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2024-02-26\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large-2407\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2024-11-19\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large-2512\": {\n inputPer1M: 0.5,\n outputPer1M: 1.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-01\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large-2512:batch\": {\n inputPer1M: 0.25,\n outputPer1M: 0.75,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-01\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large-4-0\": {\n inputPer1M: 0.68,\n outputPer1M: 2.09,\n cacheReadMultiplier: 0.102941,\n addedAt: \"2026-10-06\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3\": {\n inputPer1M: 0.4,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-05-07\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3-5\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n addedAt: \"2026-04-30\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3-5:batch\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n addedAt: \"2026-04-30\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3.1\": {\n inputPer1M: 0.4,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-13\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3.1:batch\": {\n inputPer1M: 0.2,\n outputPer1M: 1,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-13\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-nemo\": {\n inputPer1M: 0.029,\n outputPer1M: 0.03,\n addedAt: \"2024-07-19\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-saba\": {\n inputPer1M: 0.2,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-02-17\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-24b-instruct-2501\": {\n inputPer1M: 0.05,\n outputPer1M: 0.08,\n addedAt: \"2025-01-30\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-2603\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-16\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-2603:batch\": {\n inputPer1M: 0.075,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-16\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-3.1-24b-instruct\": {\n inputPer1M: 0.351,\n outputPer1M: 0.555,\n addedAt: \"2025-03-17\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-3.2-24b-instruct\": {\n inputPer1M: 0.09375,\n outputPer1M: 0.25,\n addedAt: \"2025-06-20\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mixtral-8x22b-instruct\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2024-04-17\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/voxtral-small-24b-2507\": {\n inputPer1M: 0.1,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-10-30\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"moondream/moondream3-preview\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n addedAt: \"2026-10-15\",\n vendor: \"moondream\",\n provider: \"openrouter\",\n },\n \"moondream/moondream3.1-9b-a2b\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n addedAt: \"2026-10-15\",\n vendor: \"moondream\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2\": {\n inputPer1M: 0.57,\n outputPer1M: 2.3,\n addedAt: \"2025-07-11\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2-0905\": {\n inputPer1M: 0.6,\n outputPer1M: 2.5,\n addedAt: \"2025-09-04\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2-thinking\": {\n inputPer1M: 0.6,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-11-06\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2.5\": {\n inputPer1M: 0.5,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.3,\n addedAt: \"2026-01-27\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2.6\": {\n inputPer1M: 0.65,\n outputPer1M: 3.41,\n cacheReadMultiplier: 0.230769,\n addedAt: \"2026-04-20\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2.7-code\": {\n inputPer1M: 0.6712,\n outputPer1M: 3.35,\n cacheReadMultiplier: 0.268176,\n addedAt: \"2026-06-12\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k3\": {\n inputPer1M: 0.239,\n outputPer1M: 11.936,\n cacheReadMultiplier: 0.878661,\n addedAt: \"2026-07-16\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k3:batch\": {\n inputPer1M: 2.28,\n outputPer1M: 11.4,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-16\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"morph/morph-v3-fast\": {\n inputPer1M: 0.8,\n outputPer1M: 1.2,\n addedAt: \"2025-07-07\",\n vendor: \"morph\",\n provider: \"openrouter\",\n },\n \"morph/morph-v3-large\": {\n inputPer1M: 0.9,\n outputPer1M: 1.9,\n addedAt: \"2025-07-07\",\n vendor: \"morph\",\n provider: \"openrouter\",\n },\n \"nex-agi/nex-n2.5-mini\": {\n inputPer1M: 0.025,\n outputPer1M: 0.1,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-08\",\n vendor: \"nex-agi\",\n provider: \"openrouter\",\n },\n \"nex-agi/nex-n2.5-pro\": {\n inputPer1M: 0.075,\n outputPer1M: 0.25,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-09-08\",\n vendor: \"nex-agi\",\n provider: \"openrouter\",\n },\n \"nousresearch/hermes-3-llama-3.1-405b\": {\n inputPer1M: 1,\n outputPer1M: 1,\n addedAt: \"2024-08-16\",\n vendor: \"nousresearch\",\n provider: \"openrouter\",\n },\n \"nousresearch/hermes-3-llama-3.1-70b\": {\n inputPer1M: 0.7,\n outputPer1M: 0.7,\n addedAt: \"2024-08-18\",\n vendor: \"nousresearch\",\n provider: \"openrouter\",\n },\n \"nousresearch/hermes-4-405b\": {\n inputPer1M: 1,\n outputPer1M: 3,\n addedAt: \"2025-08-26\",\n vendor: \"nousresearch\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3-nano-30b-a3b\": {\n inputPer1M: 0.06,\n outputPer1M: 0.24,\n addedAt: \"2025-12-14\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3-super-120b-a12b\": {\n inputPer1M: 0.08,\n outputPer1M: 0.45,\n addedAt: \"2026-03-11\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3-ultra-550b-a55b\": {\n inputPer1M: 0.6,\n outputPer1M: 2.4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-06-04\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3.5-content-safety\": {\n inputPer1M: 0.2,\n outputPer1M: 0.2,\n addedAt: \"2026-06-04\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3.5-lightning\": {\n inputPer1M: 0.07,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.571429,\n addedAt: \"2026-08-11\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3.5-super-vl\": {\n inputPer1M: 0.15,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.133333,\n addedAt: \"2026-10-15\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/switchyard\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2026-09-21\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo\": {\n inputPer1M: 0.5,\n outputPer1M: 1.5,\n addedAt: \"2023-05-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo-0613\": {\n inputPer1M: 1,\n outputPer1M: 2,\n addedAt: \"2024-01-25\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo-16k\": {\n inputPer1M: 3,\n outputPer1M: 4,\n addedAt: \"2023-08-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo-instruct\": {\n inputPer1M: 1.5,\n outputPer1M: 2,\n addedAt: \"2023-09-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo:batch\": {\n inputPer1M: 0.25,\n outputPer1M: 0.75,\n addedAt: \"2023-05-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4\": {\n inputPer1M: 30,\n outputPer1M: 60,\n addedAt: \"2023-05-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4-turbo\": {\n inputPer1M: 10,\n outputPer1M: 30,\n addedAt: \"2024-04-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4-turbo:batch\": {\n inputPer1M: 5,\n outputPer1M: 15,\n addedAt: \"2024-04-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1\": {\n inputPer1M: 2,\n outputPer1M: 8,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1-mini\": {\n inputPer1M: 0.4,\n outputPer1M: 1.6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1-mini:batch\": {\n inputPer1M: 0.2,\n outputPer1M: 0.8,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1-nano\": {\n inputPer1M: 0.1,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1-nano:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1:batch\": {\n inputPer1M: 1,\n outputPer1M: 4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-05-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-2024-05-13\": {\n inputPer1M: 5,\n outputPer1M: 15,\n addedAt: \"2024-05-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-2024-08-06\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-08-06\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-2024-11-20\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-11-20\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-mini\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-07-18\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-mini-2024-07-18\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-07-18\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-mini:batch\": {\n inputPer1M: 0.075,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-07-18\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o:batch\": {\n inputPer1M: 1.25,\n outputPer1M: 5,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-05-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-image\": {\n inputPer1M: 10,\n outputPer1M: 10,\n cacheReadMultiplier: 0.125,\n addedAt: \"2025-10-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-image-mini\": {\n inputPer1M: 2.5,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-10-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-mini\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-mini:batch\": {\n inputPer1M: 0.125,\n outputPer1M: 1,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-nano\": {\n inputPer1M: 0.05,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-nano:batch\": {\n inputPer1M: 0.025,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-pro\": {\n inputPer1M: 15,\n outputPer1M: 120,\n addedAt: \"2025-10-06\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-pro:batch\": {\n inputPer1M: 7.5,\n outputPer1M: 60,\n addedAt: \"2025-10-06\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1-codex\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.104,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1-codex-max\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1-codex-mini\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n cacheReadMultiplier: 0.12,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1:batch\": {\n inputPer1M: 0.625,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2-chat\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2-codex\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-01-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2-pro\": {\n inputPer1M: 21,\n outputPer1M: 168,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2-pro:batch\": {\n inputPer1M: 10.5,\n outputPer1M: 84,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2:batch\": {\n inputPer1M: 0.875,\n outputPer1M: 7,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.3-codex\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4\": {\n inputPer1M: 2.5,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 5, outputPer1M: 22.5, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-image-2\": {\n inputPer1M: 8,\n outputPer1M: 15,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-04-21\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-mini\": {\n inputPer1M: 0.75,\n outputPer1M: 4.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-mini:batch\": {\n inputPer1M: 0.375,\n outputPer1M: 2.25,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-nano\": {\n inputPer1M: 0.2,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-nano:batch\": {\n inputPer1M: 0.1,\n outputPer1M: 0.625,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-pro\": {\n inputPer1M: 30,\n outputPer1M: 180,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 60, outputPer1M: 270 }],\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-pro:batch\": {\n inputPer1M: 15,\n outputPer1M: 90,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 30, outputPer1M: 135 }],\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4:batch\": {\n inputPer1M: 1.25,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 2.5, outputPer1M: 11.25, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.5\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 10, outputPer1M: 45, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.5-pro\": {\n inputPer1M: 30,\n outputPer1M: 180,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 60, outputPer1M: 270 }],\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.5-pro:batch\": {\n inputPer1M: 15,\n outputPer1M: 90,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 30, outputPer1M: 135 }],\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.5:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 5, outputPer1M: 22.5, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-luna\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.4, outputPer1M: 1.8, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-luna-pro\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.4, outputPer1M: 1.8, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-luna-pro:batch\": {\n inputPer1M: 0.1,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.2, outputPer1M: 0.9, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-luna:batch\": {\n inputPer1M: 0.1,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.2, outputPer1M: 0.9, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-sol\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 8, outputPer1M: 30, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-sol-pro\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 8, outputPer1M: 30, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-sol-pro:batch\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-sol:batch\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-terra\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 18, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-terra-pro\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 18, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-terra-pro:batch\": {\n inputPer1M: 1,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 2, outputPer1M: 9, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-terra:batch\": {\n inputPer1M: 1,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 2, outputPer1M: 9, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5:batch\": {\n inputPer1M: 0.625,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-astra\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 20, outputPer1M: 75, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-astra-pro\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 20, outputPer1M: 75, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-astra-pro:batch\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 10, outputPer1M: 37.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-astra:batch\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 10, outputPer1M: 37.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-luna\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.2, outputPer1M: 0.75, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-luna-pro\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.2, outputPer1M: 0.75, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-luna-pro:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.1, outputPer1M: 0.375, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-luna:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.1, outputPer1M: 0.375, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-sol\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-sol-pro\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-sol-pro:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 2, outputPer1M: 7.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-sol:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 2, outputPer1M: 7.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6.1-sol\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 15, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-29\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6.1-sol-pro\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 15, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-29\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6.1-sol-pro:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 2, outputPer1M: 7.5, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-29\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6.1-sol:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 2, outputPer1M: 7.5, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-29\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-audio\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n addedAt: \"2026-01-19\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-audio-mini\": {\n inputPer1M: 0.6,\n outputPer1M: 2.4,\n addedAt: \"2026-01-19\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-chat-latest\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-05-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-120b\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-08-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-120b:batch\": {\n inputPer1M: 0.0296,\n outputPer1M: 0.136,\n addedAt: \"2025-08-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-20b\": {\n inputPer1M: 0.018,\n outputPer1M: 0.09,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-08-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-20b:batch\": {\n inputPer1M: 0.024,\n outputPer1M: 0.112,\n addedAt: \"2025-08-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-safeguard-20b\": {\n inputPer1M: 0.075,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-10-29\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o1\": {\n inputPer1M: 15,\n outputPer1M: 60,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-12-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o1-pro\": {\n inputPer1M: 150,\n outputPer1M: 600,\n addedAt: \"2025-03-19\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3\": {\n inputPer1M: 2,\n outputPer1M: 8,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3-mini\": {\n inputPer1M: 1.1,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-01-31\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3-mini-high\": {\n inputPer1M: 1.1,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-02-12\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3-mini:batch\": {\n inputPer1M: 0.55,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-01-31\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3-pro\": {\n inputPer1M: 20,\n outputPer1M: 80,\n addedAt: \"2025-06-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3:batch\": {\n inputPer1M: 1,\n outputPer1M: 4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o4-mini\": {\n inputPer1M: 1.1,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o4-mini-high\": {\n inputPer1M: 1.1,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o4-mini:batch\": {\n inputPer1M: 0.55,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openrouter/auto\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2023-11-08\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"openrouter/auto-beta\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2026-07-17\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"openrouter/bodybuilder\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2025-12-05\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"openrouter/fusion\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2026-06-13\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"openrouter/pareto-code\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2026-04-21\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"perceptron/perceptron-mk1\": {\n inputPer1M: 0.15,\n outputPer1M: 1.5,\n addedAt: \"2026-05-12\",\n vendor: \"perceptron\",\n provider: \"openrouter\",\n },\n \"perceptron/perceptron-mk1.5\": {\n inputPer1M: 0.15,\n outputPer1M: 1.5,\n addedAt: \"2026-09-25\",\n vendor: \"perceptron\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar\": {\n inputPer1M: 1,\n outputPer1M: 1,\n addedAt: \"2025-01-27\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar-deep-research\": {\n inputPer1M: 2,\n outputPer1M: 8,\n addedAt: \"2025-03-07\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar-pro\": {\n inputPer1M: 3,\n outputPer1M: 15,\n addedAt: \"2025-03-07\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar-pro-search\": {\n inputPer1M: 3,\n outputPer1M: 15,\n addedAt: \"2025-10-30\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar-reasoning-pro\": {\n inputPer1M: 2,\n outputPer1M: 8,\n addedAt: \"2025-03-07\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"poolside/laguna-s-2.1\": {\n inputPer1M: 0.09,\n outputPer1M: 0.18,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-21\",\n vendor: \"poolside\",\n provider: \"openrouter\",\n },\n \"poolside/laguna-xs-2.1\": {\n inputPer1M: 0.06,\n outputPer1M: 0.12,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-07-02\",\n vendor: \"poolside\",\n provider: \"openrouter\",\n },\n \"prism-ml/ternary-bonsai-2-27b\": {\n inputPer1M: 0.075,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-09-18\",\n vendor: \"prism-ml\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-2.5-72b-instruct\": {\n inputPer1M: 0.36,\n outputPer1M: 0.4,\n addedAt: \"2024-09-19\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-2.5-7b-instruct\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n addedAt: \"2024-10-16\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-2.5-coder-32b-instruct\": {\n inputPer1M: 0.66,\n outputPer1M: 1,\n addedAt: \"2024-11-11\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-plus\": {\n inputPer1M: 0.26,\n outputPer1M: 0.78,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 256000, inputPer1M: 0.78, outputPer1M: 2.34, cacheReadMultiplier: 0.2, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2025-02-01\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen2.5-vl-72b-instruct\": {\n inputPer1M: 0.8,\n outputPer1M: 1,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-02-01\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-14b\": {\n inputPer1M: 0.12,\n outputPer1M: 0.24,\n addedAt: \"2025-04-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-235b-a22b-2507\": {\n inputPer1M: 0.09,\n outputPer1M: 0.55,\n addedAt: \"2025-07-21\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-235b-a22b-thinking-2507\": {\n inputPer1M: 0.45,\n outputPer1M: 3.5,\n addedAt: \"2025-07-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-30b-a3b\": {\n inputPer1M: 0.12,\n outputPer1M: 0.5,\n addedAt: \"2025-04-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-30b-a3b-instruct-2507\": {\n inputPer1M: 0.09,\n outputPer1M: 0.3,\n addedAt: \"2025-07-29\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-32b\": {\n inputPer1M: 0.08,\n outputPer1M: 0.28,\n addedAt: \"2025-04-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder\": {\n inputPer1M: 0.3,\n outputPer1M: 1,\n cacheReadMultiplier: 0.333333,\n addedAt: \"2025-07-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder-30b-a3b-instruct\": {\n inputPer1M: 0.07,\n outputPer1M: 0.28,\n addedAt: \"2025-07-31\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder-flash\": {\n inputPer1M: 0.195,\n outputPer1M: 0.975,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 32000, inputPer1M: 0.325, outputPer1M: 1.625, cacheReadMultiplier: 0.2, cacheWriteMultiplier: 1.25 }, { aboveInputTokens: 128000, inputPer1M: 0.52, outputPer1M: 2.6, cacheReadMultiplier: 0.2, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2025-09-17\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder-next\": {\n inputPer1M: 0.12,\n outputPer1M: 0.8,\n cacheReadMultiplier: 0.583333,\n addedAt: \"2026-02-04\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-next-80b-a3b-instruct\": {\n inputPer1M: 0.09,\n outputPer1M: 1.1,\n addedAt: \"2025-09-11\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-next-80b-a3b-thinking\": {\n inputPer1M: 0.15,\n outputPer1M: 1.2,\n addedAt: \"2025-09-11\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-235b-a22b-instruct\": {\n inputPer1M: 0.21,\n outputPer1M: 1.9,\n cacheReadMultiplier: 0.47619,\n addedAt: \"2025-09-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-30b-a3b-instruct\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n addedAt: \"2025-10-06\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-30b-a3b-thinking\": {\n inputPer1M: 0.29,\n outputPer1M: 1,\n addedAt: \"2025-10-06\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-8b-instruct\": {\n inputPer1M: 0.25,\n outputPer1M: 0.75,\n cacheReadMultiplier: 0.48,\n addedAt: \"2025-10-14\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-122b-a10b\": {\n inputPer1M: 0.26,\n outputPer1M: 2.08,\n addedAt: \"2026-02-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-27b\": {\n inputPer1M: 0.27,\n outputPer1M: 2.16,\n cacheReadMultiplier: 1,\n addedAt: \"2026-02-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-35b-a3b\": {\n inputPer1M: 0.15,\n outputPer1M: 1,\n cacheReadMultiplier: 0.333333,\n addedAt: \"2026-02-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-397b-a17b\": {\n inputPer1M: 0.39,\n outputPer1M: 2.34,\n addedAt: \"2026-02-16\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-9b\": {\n inputPer1M: 0.1,\n outputPer1M: 0.15,\n addedAt: \"2026-03-10\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-flash-02-23\": {\n inputPer1M: 0.065,\n outputPer1M: 0.26,\n addedAt: \"2026-02-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-plus-02-15\": {\n inputPer1M: 0.26,\n outputPer1M: 1.56,\n tiers: [{ aboveInputTokens: 256000, inputPer1M: 0.325, outputPer1M: 1.95 }],\n addedAt: \"2026-02-16\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-plus-20260420\": {\n inputPer1M: 0.3,\n outputPer1M: 1.8,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 256000, inputPer1M: 0.375, outputPer1M: 2.25, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-27b\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-35b-a3b\": {\n inputPer1M: 0.1,\n outputPer1M: 0.95,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-flash\": {\n inputPer1M: 0.1875,\n outputPer1M: 1.125,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 256000, inputPer1M: 0.75, outputPer1M: 3, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-plus\": {\n inputPer1M: 0.325,\n outputPer1M: 1.95,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 256000, inputPer1M: 1.3, outputPer1M: 3.9, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-04-02\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.7-flash\": {\n inputPer1M: 0.03,\n outputPer1M: 0.13,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.266667,\n tiers: [{ aboveInputTokens: 32000, inputPer1M: 0.1, outputPer1M: 0.4, cacheReadMultiplier: 0.2, cacheWriteMultiplier: 1.25 }, { aboveInputTokens: 256000, inputPer1M: 0.2, outputPer1M: 0.8, cacheReadMultiplier: 0.2, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-07-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.7-max\": {\n inputPer1M: 1.475,\n outputPer1M: 4.425,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-21\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.7-plus\": {\n inputPer1M: 0.32,\n outputPer1M: 1.28,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 256000, inputPer1M: 0.96, outputPer1M: 3.84, cacheReadMultiplier: 0.2, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-06-03\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.7-plus:batch\": {\n inputPer1M: 0.23,\n outputPer1M: 0.92,\n addedAt: \"2026-06-03\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-2.4t-a95b\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-08-12\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-27b\": {\n inputPer1M: 0.04,\n outputPer1M: 1.35,\n cacheReadMultiplier: 0.45,\n addedAt: \"2026-08-14\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.47,\n cacheReadMultiplier: 0.106667,\n addedAt: \"2026-08-26\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-max-0902\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-09-03\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-max-prime\": {\n inputPer1M: 4,\n outputPer1M: 12,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-09-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-omni-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.47,\n cacheReadMultiplier: 0.106667,\n addedAt: \"2026-09-21\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"reflection/beam-1.0-501b-a23b\": {\n inputPer1M: 0.3,\n outputPer1M: 1,\n cacheReadMultiplier: 0.133333,\n addedAt: \"2026-10-16\",\n vendor: \"reflection\",\n provider: \"openrouter\",\n },\n \"rekaai/reka-edge\": {\n inputPer1M: 0.1,\n outputPer1M: 0.1,\n addedAt: \"2026-03-20\",\n vendor: \"rekaai\",\n provider: \"openrouter\",\n },\n \"rekaai/reka-flash-3\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n addedAt: \"2025-03-12\",\n vendor: \"rekaai\",\n provider: \"openrouter\",\n },\n \"relace/relace-apply-3\": {\n inputPer1M: 0.85,\n outputPer1M: 1.25,\n addedAt: \"2025-09-26\",\n vendor: \"relace\",\n provider: \"openrouter\",\n },\n \"relace/relace-search\": {\n inputPer1M: 1,\n outputPer1M: 3,\n addedAt: \"2025-12-08\",\n vendor: \"relace\",\n provider: \"openrouter\",\n },\n \"sakana/fugu-max\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-09-11\",\n vendor: \"sakana\",\n provider: \"openrouter\",\n },\n \"sakana/fugu-ultra\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 10, outputPer1M: 45, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-06-24\",\n vendor: \"sakana\",\n provider: \"openrouter\",\n },\n \"sakana/fugu-ultra-v2\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 10, outputPer1M: 45, cacheReadMultiplier: 0.1 }],\n addedAt: \"2026-09-11\",\n vendor: \"sakana\",\n provider: \"openrouter\",\n },\n \"sakana/sakana-namazu\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.157895,\n addedAt: \"2026-08-11\",\n vendor: \"sakana\",\n provider: \"openrouter\",\n },\n \"sao10k/l3-lunaris-8b\": {\n inputPer1M: 0.04,\n outputPer1M: 0.05,\n addedAt: \"2024-08-13\",\n vendor: \"sao10k\",\n provider: \"openrouter\",\n },\n \"sao10k/l3.1-euryale-70b\": {\n inputPer1M: 0.85,\n outputPer1M: 0.85,\n addedAt: \"2024-08-28\",\n vendor: \"sao10k\",\n provider: \"openrouter\",\n },\n \"scaledown/extract\": {\n inputPer1M: 0.04,\n outputPer1M: 0,\n addedAt: \"2026-10-13\",\n vendor: \"scaledown\",\n provider: \"openrouter\",\n },\n \"scaledown/summarize\": {\n inputPer1M: 0.04,\n outputPer1M: 0,\n addedAt: \"2026-10-13\",\n vendor: \"scaledown\",\n provider: \"openrouter\",\n },\n \"stepfun/step-3.5-flash\": {\n inputPer1M: 0.1,\n outputPer1M: 0.3,\n addedAt: \"2026-01-29\",\n vendor: \"stepfun\",\n provider: \"openrouter\",\n },\n \"stepfun/step-3.7-flash\": {\n inputPer1M: 0.2,\n outputPer1M: 1.15,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-05-28\",\n vendor: \"stepfun\",\n provider: \"openrouter\",\n },\n \"stepfun/step-5-preview\": {\n inputPer1M: 1,\n outputPer1M: 2.7,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-10-08\",\n vendor: \"stepfun\",\n provider: \"openrouter\",\n },\n \"tencent/hunyuan-a13b-instruct\": {\n inputPer1M: 0.14,\n outputPer1M: 0.57,\n addedAt: \"2025-07-08\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy-mt2-1.8b\": {\n inputPer1M: 0.044,\n outputPer1M: 0.177,\n addedAt: \"2026-08-20\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy-mt2-30b-a3b\": {\n inputPer1M: 0.074,\n outputPer1M: 0.295,\n addedAt: \"2026-08-20\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy-mt2-7b\": {\n inputPer1M: 0.074,\n outputPer1M: 0.295,\n addedAt: \"2026-08-19\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy3\": {\n inputPer1M: 0.132,\n outputPer1M: 0.528,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-07-06\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy3-preview\": {\n inputPer1M: 0.18,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.333333,\n addedAt: \"2026-04-22\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy4-preview\": {\n inputPer1M: 0.834,\n outputPer1M: 2.501,\n cacheReadMultiplier: 0.05036,\n addedAt: \"2026-08-28\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"thedrummer/cydonia-24b-v4.1\": {\n inputPer1M: 0.3,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-09-27\",\n vendor: \"thedrummer\",\n provider: \"openrouter\",\n },\n \"thedrummer/skyfall-36b-v2\": {\n inputPer1M: 0.55,\n outputPer1M: 0.8,\n cacheReadMultiplier: 0.454545,\n addedAt: \"2025-03-10\",\n vendor: \"thedrummer\",\n provider: \"openrouter\",\n },\n \"thedrummer/unslopnemo-12b\": {\n inputPer1M: 0.4,\n outputPer1M: 0.4,\n addedAt: \"2024-11-08\",\n vendor: \"thedrummer\",\n provider: \"openrouter\",\n },\n \"thinkingmachines/inkling\": {\n inputPer1M: 1,\n outputPer1M: 4.05,\n cacheReadMultiplier: 0.17,\n addedAt: \"2026-07-17\",\n vendor: \"thinkingmachines\",\n provider: \"openrouter\",\n },\n \"thinkingmachines/inkling-small\": {\n inputPer1M: 0.45,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.222222,\n addedAt: \"2026-07-30\",\n vendor: \"thinkingmachines\",\n provider: \"openrouter\",\n },\n \"typesafe/jev-router\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2026-09-25\",\n vendor: \"typesafe\",\n provider: \"openrouter\",\n },\n \"unbiased/pareto-26.10\": {\n inputPer1M: 0.8,\n outputPer1M: 3.2,\n cacheReadMultiplier: 0.0375,\n addedAt: \"2026-10-15\",\n vendor: \"unbiased\",\n provider: \"openrouter\",\n },\n \"unbiased/pareto-26.9\": {\n inputPer1M: 2.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-10-13\",\n vendor: \"unbiased\",\n provider: \"openrouter\",\n },\n \"undi95/remm-slerp-l2-13b\": {\n inputPer1M: 0.35,\n outputPer1M: 0.65,\n addedAt: \"2023-07-22\",\n vendor: \"undi95\",\n provider: \"openrouter\",\n },\n \"upstage/solar-mini4\": {\n inputPer1M: 0.05,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-23\",\n vendor: \"upstage\",\n provider: \"openrouter\",\n },\n \"upstage/solar-pro-3\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-01-27\",\n vendor: \"upstage\",\n provider: \"openrouter\",\n },\n \"upstage/solar-pro4\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-10\",\n vendor: \"upstage\",\n provider: \"openrouter\",\n },\n \"writer/palmyra-x5\": {\n inputPer1M: 0.6,\n outputPer1M: 6,\n addedAt: \"2026-01-21\",\n vendor: \"writer\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.20\": {\n inputPer1M: 1.25,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.16,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }],\n addedAt: \"2026-03-31\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.20-multi-agent\": {\n inputPer1M: 1.25,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.16,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }],\n addedAt: \"2026-03-31\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.3\": {\n inputPer1M: 1.25,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.16,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }],\n addedAt: \"2026-04-30\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.3:batch\": {\n inputPer1M: 1,\n outputPer1M: 2,\n cacheReadMultiplier: 0.16,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.16 }],\n addedAt: \"2026-04-30\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.5\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.15,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.15 }],\n addedAt: \"2026-07-08\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.6\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.25 }],\n addedAt: \"2026-08-12\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.7\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.25 }],\n addedAt: \"2026-09-21\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-build-0.1\": {\n inputPer1M: 1,\n outputPer1M: 2,\n cacheReadMultiplier: 0.2,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }],\n addedAt: \"2026-05-20\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.5\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-04-22\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.5-pro\": {\n inputPer1M: 0.435,\n outputPer1M: 0.87,\n cacheReadMultiplier: 0.008276,\n addedAt: \"2026-04-22\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.6-flash\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-21\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.6-pro\": {\n inputPer1M: 0.435,\n outputPer1M: 0.87,\n cacheReadMultiplier: 0.008276,\n addedAt: \"2026-09-21\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.6-pro-ultraspeed\": {\n inputPer1M: 4.35,\n outputPer1M: 8.7,\n cacheReadMultiplier: 0.008276,\n addedAt: \"2026-09-21\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.5\": {\n inputPer1M: 0.6,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.183333,\n addedAt: \"2025-07-25\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.5-air\": {\n inputPer1M: 0.13,\n outputPer1M: 0.85,\n cacheReadMultiplier: 0.192308,\n addedAt: \"2025-07-25\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.5v\": {\n inputPer1M: 0.6,\n outputPer1M: 1.8,\n cacheReadMultiplier: 0.183333,\n addedAt: \"2025-08-11\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.6\": {\n inputPer1M: 0.55,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2025-09-30\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.6v\": {\n inputPer1M: 0.3,\n outputPer1M: 0.9,\n cacheReadMultiplier: 0.183333,\n addedAt: \"2025-12-08\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.7\": {\n inputPer1M: 0.54,\n outputPer1M: 1.98,\n cacheReadMultiplier: 0.183333,\n addedAt: \"2025-12-22\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.7-flash\": {\n inputPer1M: 0.0605,\n outputPer1M: 0.4,\n addedAt: \"2026-01-19\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5\": {\n inputPer1M: 1,\n outputPer1M: 3.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-02-11\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5-turbo\": {\n inputPer1M: 1.2,\n outputPer1M: 4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-03-15\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.1\": {\n inputPer1M: 0.966,\n outputPer1M: 3.036,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-04-07\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.2\": {\n inputPer1M: 0.62,\n outputPer1M: 2.42,\n cacheReadMultiplier: 0.225806,\n addedAt: \"2026-06-16\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3\": {\n inputPer1M: 0.079,\n outputPer1M: 1.4,\n cacheReadMultiplier: 0.987342,\n addedAt: \"2026-08-18\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3-flash\": {\n inputPer1M: 0.048,\n outputPer1M: 0.16,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3-flash:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.18,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3-flashx\": {\n inputPer1M: 0.37,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.243243,\n addedAt: \"2026-09-18\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3-prime\": {\n inputPer1M: 2.8,\n outputPer1M: 8.8,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-09-23\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3:batch\": {\n inputPer1M: 0.45,\n outputPer1M: 2,\n cacheReadMultiplier: 0.222222,\n addedAt: \"2026-08-18\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5v-turbo\": {\n inputPer1M: 1.2,\n outputPer1M: 4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-04-01\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"~anthropic/claude-fable-latest\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.025,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-09\",\n vendor: \"~anthropic\",\n provider: \"openrouter\",\n },\n \"~anthropic/claude-haiku-latest\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 100000, inputPer1M: 0.5, outputPer1M: 2.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-04-27\",\n vendor: \"~anthropic\",\n provider: \"openrouter\",\n },\n \"~anthropic/claude-opus-latest\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-21\",\n vendor: \"~anthropic\",\n provider: \"openrouter\",\n },\n \"~anthropic/claude-sonnet-latest\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-27\",\n vendor: \"~anthropic\",\n provider: \"openrouter\",\n },\n \"~deepseek/deepseek-flash-latest\": {\n inputPer1M: 0.07,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.114286,\n addedAt: \"2026-09-14\",\n vendor: \"~deepseek\",\n provider: \"openrouter\",\n },\n \"~deepseek/deepseek-pro-latest\": {\n inputPer1M: 0.1307,\n outputPer1M: 8,\n cacheReadMultiplier: 0.994644,\n addedAt: \"2026-09-14\",\n vendor: \"~deepseek\",\n provider: \"openrouter\",\n },\n \"~deepseek/deepseek-v4-flash-latest\": {\n inputPer1M: 0.0151,\n outputPer1M: 0.45,\n cacheReadMultiplier: 1,\n addedAt: \"2026-08-01\",\n vendor: \"~deepseek\",\n provider: \"openrouter\",\n },\n \"~google/gemini-flash-latest\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055556,\n addedAt: \"2026-04-27\",\n vendor: \"~google\",\n provider: \"openrouter\",\n },\n \"~google/gemini-pro-latest\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 0.09375,\n addedAt: \"2026-04-27\",\n vendor: \"~google\",\n provider: \"openrouter\",\n },\n \"~moonshotai/kimi-latest\": {\n inputPer1M: 0.238,\n outputPer1M: 16,\n cacheReadMultiplier: 0.957983,\n addedAt: \"2026-04-27\",\n vendor: \"~moonshotai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-astra-latest\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 20, outputPer1M: 75, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-11\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-luna-latest\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 0.2, outputPer1M: 0.75, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-11\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-mini-latest\": {\n inputPer1M: 0.75,\n outputPer1M: 4.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-04-27\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-sol-latest\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 15, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-11\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-terra-latest\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n tiers: [{ aboveInputTokens: 272000, inputPer1M: 4, outputPer1M: 18, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }],\n addedAt: \"2026-09-11\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~unbiased/pareto-latest\": {\n inputPer1M: 0.8,\n outputPer1M: 3.2,\n cacheReadMultiplier: 0.0375,\n addedAt: \"2026-10-13\",\n vendor: \"~unbiased\",\n provider: \"openrouter\",\n },\n \"~x-ai/grok-latest\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.25 }],\n addedAt: \"2026-07-08\",\n vendor: \"~x-ai\",\n provider: \"openrouter\",\n },\n \"~z-ai/glm-flash-latest\": {\n inputPer1M: 0.048,\n outputPer1M: 0.16,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-08-27\",\n vendor: \"~z-ai\",\n provider: \"openrouter\",\n },\n \"~z-ai/glm-latest\": {\n inputPer1M: 0.079,\n outputPer1M: 1.4,\n cacheReadMultiplier: 0.987342,\n addedAt: \"2026-08-19\",\n vendor: \"~z-ai\",\n provider: \"openrouter\",\n },\n}\n\n/** Provider slugs treated as OpenRouter routes by the picker. */\nexport const OPENROUTER_PROVIDERS: readonly string[] = [\n \"aion-labs\",\n \"amazon\",\n \"anthracite-org\",\n \"anthropic\",\n \"arcee-ai\",\n \"bytedance\",\n \"bytedance-seed\",\n \"cognitivecomputations\",\n \"cohere\",\n \"deepseek\",\n \"elorian\",\n \"fireworks\",\n \"google\",\n \"gryphe\",\n \"ibm-granite\",\n \"inception\",\n \"inclusionai\",\n \"inference-net\",\n \"liquid\",\n \"mancer\",\n \"meituan\",\n \"meta\",\n \"meta-llama\",\n \"microsoft\",\n \"minimax\",\n \"mistralai\",\n \"moondream\",\n \"moonshotai\",\n \"morph\",\n \"nex-agi\",\n \"nousresearch\",\n \"nvidia\",\n \"openai\",\n \"openrouter\",\n \"perceptron\",\n \"perplexity\",\n \"poolside\",\n \"prism-ml\",\n \"qwen\",\n \"reflection\",\n \"rekaai\",\n \"relace\",\n \"sakana\",\n \"sao10k\",\n \"scaledown\",\n \"stepfun\",\n \"tencent\",\n \"thedrummer\",\n \"thinkingmachines\",\n \"typesafe\",\n \"unbiased\",\n \"undi95\",\n \"upstage\",\n \"writer\",\n \"x-ai\",\n \"xiaomi\",\n \"z-ai\",\n \"~anthropic\",\n \"~deepseek\",\n \"~google\",\n \"~moonshotai\",\n \"~openai\",\n \"~unbiased\",\n \"~x-ai\",\n \"~z-ai\",\n]\n","// AUTO-GENERATED by @agentproto/catalog-sync (llm:context-windows).\n// Do not edit by hand — re-run `pnpm --filter @agentproto/catalog-sync generate --refresh`.\n// Sources: api.anthropic.com/v1/models, api.groq.com/openai/v1/models,\n// api.x.ai/v1/models, api.moonshot.ai/v1/models,\n// api.mistral.ai/v1/models\n// google entries: SOURCED FROM OPENROUTER (openrouter.ai/api/v1/models),\n// Google's native API is billing-blocked — ids remapped from\n// google/<id> to the bare native id; see the generator's module\n// doc comment for the exact remap + skip rules.\n// Context window (max input tokens) + max output tokens per live model id.\n// NOT pricing — see LLM_PRICING_CATALOG / OPENROUTER_ROUTES in catalog.ts.\n\nexport interface ContextWindowEntry {\n contextWindow: number\n maxOutput?: number\n displayName?: string\n provider: \"anthropic\" | \"groq\" | \"xai\" | \"moonshot\" | \"mistral\" | \"google\"\n}\n\nexport const CONTEXT_WINDOWS: Record<string, ContextWindowEntry> = {\n \"allam-2-7b\": { contextWindow: 4096, maxOutput: 4096, provider: \"groq\" },\n \"canopylabs/orpheus-arabic-saudi\": { contextWindow: 4000, maxOutput: 50000, provider: \"groq\" },\n \"canopylabs/orpheus-v1-english\": { contextWindow: 4000, maxOutput: 50000, provider: \"groq\" },\n \"claude-fable-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Fable 5\", provider: \"anthropic\" },\n \"claude-fable-5-1\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Fable 5.1\", provider: \"anthropic\" },\n \"claude-haiku-4-5\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Haiku 4.5\", provider: \"anthropic\" },\n \"claude-haiku-4-5-20251001\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Haiku 4.5\", provider: \"anthropic\" },\n \"claude-haiku-5-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Haiku 5.5\", provider: \"anthropic\" },\n \"claude-opus-4-5\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Opus 4.5\", provider: \"anthropic\" },\n \"claude-opus-4-5-20251101\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Opus 4.5\", provider: \"anthropic\" },\n \"claude-opus-4-6\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 4.6\", provider: \"anthropic\" },\n \"claude-opus-4-7\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 4.7\", provider: \"anthropic\" },\n \"claude-opus-4-8\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 4.8\", provider: \"anthropic\" },\n \"claude-opus-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 5\", provider: \"anthropic\" },\n \"claude-opus-5-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 5.5\", provider: \"anthropic\" },\n \"claude-sonnet-4-5\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Sonnet 4.5\", provider: \"anthropic\" },\n \"claude-sonnet-4-5-20250929\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Sonnet 4.5\", provider: \"anthropic\" },\n \"claude-sonnet-4-6\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Sonnet 4.6\", provider: \"anthropic\" },\n \"claude-sonnet-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Sonnet 5\", provider: \"anthropic\" },\n \"claude-sonnet-5-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Sonnet 5.5\", provider: \"anthropic\" },\n \"codestral-2508\": { contextWindow: 256000, provider: \"mistral\" },\n \"codestral-embed\": { contextWindow: 8192, provider: \"mistral\" },\n \"codestral-embed-2505\": { contextWindow: 8192, provider: \"mistral\" },\n \"codestral-latest\": { contextWindow: 256000, provider: \"mistral\" },\n \"gemini-2.5-flash\": { contextWindow: 1048576, maxOutput: 65535, provider: \"google\" },\n \"gemini-2.5-flash-lite\": { contextWindow: 1048576, maxOutput: 65535, provider: \"google\" },\n \"gemini-2.5-pro\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"gemini-3-flash-preview\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"gemini-3.1-flash-lite\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"gemini-3.1-pro-preview\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"gemini-3.5-flash\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"glm-5-2\": { contextWindow: 1048576, provider: \"mistral\" },\n \"grok-4.20-0309-non-reasoning\": { contextWindow: 1000000, provider: \"xai\" },\n \"grok-4.20-0309-reasoning\": { contextWindow: 1000000, provider: \"xai\" },\n \"grok-4.20-multi-agent-0309\": { contextWindow: 1000000, provider: \"xai\" },\n \"grok-4.3\": { contextWindow: 1000000, provider: \"xai\" },\n \"grok-4.5\": { contextWindow: 500000, provider: \"xai\" },\n \"grok-4.6\": { contextWindow: 500000, provider: \"xai\" },\n \"grok-4.7\": { contextWindow: 500000, provider: \"xai\" },\n \"grok-build-0.1\": { contextWindow: 256000, provider: \"xai\" },\n \"grok-imagine-image\": { contextWindow: 16000, provider: \"xai\" },\n \"grok-imagine-image-2.0\": { contextWindow: 64000, provider: \"xai\" },\n \"grok-imagine-image-quality\": { contextWindow: 16000, provider: \"xai\" },\n \"groq/compound\": { contextWindow: 131072, maxOutput: 8192, provider: \"groq\" },\n \"groq/compound-mini\": { contextWindow: 131072, maxOutput: 8192, provider: \"groq\" },\n \"kimi-k2.6\": { contextWindow: 262144, provider: \"moonshot\" },\n \"kimi-k2.7-code\": { contextWindow: 262144, provider: \"moonshot\" },\n \"kimi-k2.7-code-highspeed\": { contextWindow: 262144, provider: \"moonshot\" },\n \"kimi-k3\": { contextWindow: 1048576, provider: \"moonshot\" },\n \"labs-leanstral-1-5\": { contextWindow: 262144, provider: \"mistral\" },\n \"labs-leanstral-1-5-1\": { contextWindow: 262144, provider: \"mistral\" },\n \"llama-3.1-8b-instant\": { contextWindow: 131072, maxOutput: 131072, provider: \"groq\" },\n \"llama-3.3-70b-versatile\": { contextWindow: 131072, maxOutput: 32768, provider: \"groq\" },\n \"magistral-medium-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"magistral-small-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"meta-llama/llama-4-scout-17b-16e-instruct\": { contextWindow: 131072, maxOutput: 8192, provider: \"groq\" },\n \"meta-llama/llama-prompt-guard-2-22m\": { contextWindow: 512, maxOutput: 512, provider: \"groq\" },\n \"meta-llama/llama-prompt-guard-2-86m\": { contextWindow: 512, maxOutput: 512, provider: \"groq\" },\n \"ministral-14b-2512\": { contextWindow: 262144, provider: \"mistral\" },\n \"ministral-14b-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"ministral-3b-2512\": { contextWindow: 131072, provider: \"mistral\" },\n \"ministral-3b-latest\": { contextWindow: 131072, provider: \"mistral\" },\n \"ministral-8b-2512\": { contextWindow: 262144, provider: \"mistral\" },\n \"ministral-8b-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-code-fim-latest\": { contextWindow: 256000, provider: \"mistral\" },\n \"mistral-code-latest\": { contextWindow: 256000, provider: \"mistral\" },\n \"mistral-embed\": { contextWindow: 8192, provider: \"mistral\" },\n \"mistral-embed-2312\": { contextWindow: 8192, provider: \"mistral\" },\n \"mistral-large-2512\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-large-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-2604\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-3\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-3-5\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-3.5\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-moderation-2603\": { contextWindow: 131072, provider: \"mistral\" },\n \"mistral-ocr-2512\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-3\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-3-0\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-4\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-4-0\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-4-1\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-latest\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-small-2603\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-small-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-vibe-cli-fast\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-vibe-cli-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-vibe-cli-with-tools\": { contextWindow: 262144, provider: \"mistral\" },\n \"openai/gpt-oss-120b\": { contextWindow: 131072, maxOutput: 65536, provider: \"groq\" },\n \"openai/gpt-oss-20b\": { contextWindow: 131072, maxOutput: 65536, provider: \"groq\" },\n \"openai/gpt-oss-safeguard-20b\": { contextWindow: 131072, maxOutput: 65536, provider: \"groq\" },\n \"qwen/qwen3-32b\": { contextWindow: 131072, maxOutput: 40960, provider: \"groq\" },\n \"qwen/qwen3.6-27b\": { contextWindow: 131072, maxOutput: 32768, provider: \"groq\" },\n \"voxtral-mini-2602\": { contextWindow: 16384, provider: \"mistral\" },\n \"voxtral-mini-latest\": { contextWindow: 16384, provider: \"mistral\" },\n \"voxtral-mini-realtime-2602\": { contextWindow: 32768, provider: \"mistral\" },\n \"voxtral-mini-realtime-latest\": { contextWindow: 32768, provider: \"mistral\" },\n \"voxtral-mini-transcribe-realtime-2602\": { contextWindow: 32768, provider: \"mistral\" },\n \"voxtral-mini-tts-2603\": { contextWindow: 4096, provider: \"mistral\" },\n \"voxtral-mini-tts-latest\": { contextWindow: 4096, provider: \"mistral\" },\n \"voxtral-small-2507\": { contextWindow: 32768, provider: \"mistral\" },\n \"voxtral-small-latest\": { contextWindow: 32768, provider: \"mistral\" },\n \"whisper-large-v3\": { contextWindow: 448, maxOutput: 448, provider: \"groq\" },\n \"whisper-large-v3-turbo\": { contextWindow: 448, maxOutput: 448, provider: \"groq\" },\n \"zai-glm-5\": { contextWindow: 1048576, provider: \"mistral\" },\n \"zai-glm-5-2\": { contextWindow: 1048576, provider: \"mistral\" },\n \"zai-glm-5-3\": { contextWindow: 1048576, provider: \"mistral\" },\n \"zai-glm-latest\": { contextWindow: 1048576, provider: \"mistral\" },\n}\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-mistral.mjs (data: Mistral /v1/models + OpenRouter pricing, synced 2026-08-31T13:04:34.630Z)\n\nexport const MISTRAL_GENERATED_PRICING = {\n \"codestral-2508\": { inputPer1M: 0.3, outputPer1M: 0.9, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"ministral-14b-2512\": { inputPer1M: 0.2, outputPer1M: 0.2, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"ministral-3b-2512\": { inputPer1M: 0.1, outputPer1M: 0.1, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"ministral-8b-2512\": { inputPer1M: 0.15, outputPer1M: 0.15, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-large-2512\": { inputPer1M: 0.5, outputPer1M: 1.5, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-medium-3\": { inputPer1M: 0.4, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-medium-3-5\": { inputPer1M: 1.5, outputPer1M: 7.5, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-medium-3.5\": { inputPer1M: 1.5, outputPer1M: 7.5, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-small-2603\": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-moonshot.mjs (data: Moonshot API + platform.kimi.ai pricing page, OpenRouter fallback per row, synced 2026-10-20T15:44:01.140Z)\n\nexport const MOONSHOT_GENERATED_PRICING = {\n \"kimi-k2.6\": { inputPer1M: 0.95, outputPer1M: 4, cacheReadMultiplier: 0.168421, priceSource: \"moonshot\", vendor: \"moonshot\", provider: \"moonshot\" },\n \"kimi-k2.7-code\": { inputPer1M: 0.95, outputPer1M: 4, cacheReadMultiplier: 0.2, priceSource: \"moonshot\", vendor: \"moonshot\", provider: \"moonshot\" },\n \"kimi-k2.7-code-highspeed\": { inputPer1M: 1.9, outputPer1M: 8, cacheReadMultiplier: 0.2, priceSource: \"moonshot\", vendor: \"moonshot\", provider: \"moonshot\" },\n \"kimi-k3\": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1, priceSource: \"moonshot\", vendor: \"moonshot\", provider: \"moonshot\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-anthropic.mjs (data: live api.anthropic.com/v1/models + platform.claude.com pricing page, OpenRouter fallback per row, synced 2026-10-20T15:43:58.246Z)\n\nexport const ANTHROPIC_GENERATED_PRICING = {\n \"claude-fable-5\": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-fable-5-1\": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.025, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-haiku-4-5\": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-haiku-4-5-20251001\": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-haiku-5-5\": { inputPer1M: 0.1, outputPer1M: 0.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, tiers: [{ aboveInputTokens: 100000, inputPer1M: 0.5, outputPer1M: 2.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }], priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-5\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-5-20251101\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-6\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-7\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-8\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-5\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-5-5\": { inputPer1M: 4, outputPer1M: 20, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-4-5\": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-4-5-20250929\": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-4-6\": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-5\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-5-5\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, priceSource: \"anthropic\", vendor: \"anthropic\", provider: \"anthropic\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-google.mjs (data: OpenRouter remap — Google native API blocked, see llm-context-windows.ts, synced 2026-10-20T15:43:58.410Z)\n\nexport const GOOGLE_GENERATED_PRICING = {\n \"gemini-2.5-flash\": { inputPer1M: 0.3, outputPer1M: 2.5, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-2.5-flash-lite\": { inputPer1M: 0.1, outputPer1M: 0.4, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-2.5-pro\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 15, cacheReadMultiplier: 0.1 }], vendor: \"google\", provider: \"google\" },\n \"gemini-3-flash-preview\": { inputPer1M: 0.5, outputPer1M: 3, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-3.1-flash-lite\": { inputPer1M: 0.25, outputPer1M: 1.5, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-3.1-pro-preview\": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 18, cacheReadMultiplier: 0.1 }], vendor: \"google\", provider: \"google\" },\n \"gemini-3.5-flash\": { inputPer1M: 1.5, outputPer1M: 9, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-openai.mjs\n// (ids: openrouter.ai/api/v1/models openai/* only (no OPENAI_API_KEY at sync time); prices: platform.openai.com/docs/pricing.md, OpenRouter fallback per row; synced 2026-10-20T15:44:01.557Z)\n//\n// Provenance is recorded PER ROW — `idSource` says which list the id came\n// from, `priceSource` which source priced it:\n// idSource \"openai\" — listed by GET api.openai.com/v1/models\n// idSource \"openrouter\" — only on openrouter.ai/api/v1/models under openai/*.\n// Kept, not dropped: /v1/models is scoped to the\n// calling account, and this set is mostly ids that\n// cannot appear there at all (`:batch` is a separate\n// endpoint; `gpt-oss-*` is open-weights).\n// priceSource \"openai\" — platform.openai.com/docs/pricing.md, OpenAI's\n// own Markdown rendering of the pricing page,\n// parsed by column NAME from its GFM tables.\n// Short-context standard rate; `:batch` rows are\n// priced from that page's Batch table.\n// priceSource \"openrouter\" — OpenRouter's passthrough rate, which may differ\n// from OpenAI's first-party pricing.\n\nexport const OPENAI_GENERATED_PRICING = {\n \"gpt-3.5-turbo\": { inputPer1M: 0.5, outputPer1M: 1.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-3.5-turbo-0613\": { inputPer1M: 1, outputPer1M: 2, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-3.5-turbo-16k\": { inputPer1M: 3, outputPer1M: 4, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-3.5-turbo-instruct\": { inputPer1M: 1.5, outputPer1M: 2, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-3.5-turbo:batch\": { inputPer1M: 0.25, outputPer1M: 0.75, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-4\": { inputPer1M: 30, outputPer1M: 60, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-4-turbo\": { inputPer1M: 10, outputPer1M: 30, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-4-turbo:batch\": { inputPer1M: 5, outputPer1M: 15, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-4.1\": { inputPer1M: 2, outputPer1M: 8, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4.1-mini\": { inputPer1M: 0.4, outputPer1M: 1.6, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4.1-mini:batch\": { inputPer1M: 0.2, outputPer1M: 0.8, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4.1-nano\": { inputPer1M: 0.1, outputPer1M: 0.4, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4.1-nano:batch\": { inputPer1M: 0.05, outputPer1M: 0.2, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4.1:batch\": { inputPer1M: 1, outputPer1M: 4, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4o\": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4o-2024-05-13\": { inputPer1M: 5, outputPer1M: 15, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4o-2024-08-06\": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-4o-2024-11-20\": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-4o-mini\": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4o-mini-2024-07-18\": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-4o-mini:batch\": { inputPer1M: 0.075, outputPer1M: 0.3, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-4o:batch\": { inputPer1M: 1.25, outputPer1M: 5, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5-image\": { inputPer1M: 10, outputPer1M: 10, cacheReadMultiplier: 0.125, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5-image-mini\": { inputPer1M: 2.5, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5-mini\": { inputPer1M: 0.25, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5-mini:batch\": { inputPer1M: 0.125, outputPer1M: 1, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5-nano\": { inputPer1M: 0.05, outputPer1M: 0.4, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5-nano:batch\": { inputPer1M: 0.025, outputPer1M: 0.2, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5-pro\": { inputPer1M: 15, outputPer1M: 120, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5-pro:batch\": { inputPer1M: 7.5, outputPer1M: 60, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5:batch\": { inputPer1M: 0.625, outputPer1M: 5, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.1\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.1-codex\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.104, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.1-codex-max\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.1-codex-mini\": { inputPer1M: 0.25, outputPer1M: 2, cacheReadMultiplier: 0.12, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.1:batch\": { inputPer1M: 0.625, outputPer1M: 5, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.2\": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.2-chat\": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.2-codex\": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.2-pro\": { inputPer1M: 21, outputPer1M: 168, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.2-pro:batch\": { inputPer1M: 10.5, outputPer1M: 84, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.2:batch\": { inputPer1M: 0.875, outputPer1M: 7, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.3-codex\": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.4\": { inputPer1M: 2.5, outputPer1M: 15, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.4-mini\": { inputPer1M: 0.75, outputPer1M: 4.5, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.4-mini:batch\": { inputPer1M: 0.375, outputPer1M: 2.25, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.4-nano\": { inputPer1M: 0.2, outputPer1M: 1.25, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.4-nano:batch\": { inputPer1M: 0.1, outputPer1M: 0.625, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.4-pro\": { inputPer1M: 30, outputPer1M: 180, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.4-pro:batch\": { inputPer1M: 15, outputPer1M: 90, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.4:batch\": { inputPer1M: 1.25, outputPer1M: 7.5, cacheReadMultiplier: 0.104, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.5\": { inputPer1M: 5, outputPer1M: 30, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.5-pro\": { inputPer1M: 30, outputPer1M: 180, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.5-pro:batch\": { inputPer1M: 15, outputPer1M: 90, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.5:batch\": { inputPer1M: 2.5, outputPer1M: 15, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.6-luna\": { inputPer1M: 0.2, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.6-luna-pro\": { inputPer1M: 0.2, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.6-luna-pro:batch\": { inputPer1M: 0.1, outputPer1M: 0.6, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.6-luna:batch\": { inputPer1M: 0.1, outputPer1M: 0.6, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.6-sol\": { inputPer1M: 4, outputPer1M: 20, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.6-sol-pro\": { inputPer1M: 4, outputPer1M: 20, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.6-sol-pro:batch\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.6-sol:batch\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.6-terra\": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-5.6-terra-pro\": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.6-terra-pro:batch\": { inputPer1M: 1, outputPer1M: 6, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-5.6-terra:batch\": { inputPer1M: 1, outputPer1M: 6, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-6-astra\": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-6-astra-pro\": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-6-astra-pro:batch\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-6-astra:batch\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-6-luna\": { inputPer1M: 0.1, outputPer1M: 0.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-6-luna-pro\": { inputPer1M: 0.1, outputPer1M: 0.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-6-luna-pro:batch\": { inputPer1M: 0.05, outputPer1M: 0.25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-6-luna:batch\": { inputPer1M: 0.05, outputPer1M: 0.25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-6-sol\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-6-sol-pro\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-6-sol-pro:batch\": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-6-sol:batch\": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-6.1-sol\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-6.1-sol-pro\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-6.1-sol-pro:batch\": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-6.1-sol:batch\": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"gpt-audio\": { inputPer1M: 2.5, outputPer1M: 10, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-audio-mini\": { inputPer1M: 0.6, outputPer1M: 2.4, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-chat-latest\": { inputPer1M: 5, outputPer1M: 30, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-oss-120b\": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-oss-120b:batch\": { inputPer1M: 0.0296, outputPer1M: 0.136, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-oss-20b\": { inputPer1M: 0.018, outputPer1M: 0.09, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-oss-20b:batch\": { inputPer1M: 0.024, outputPer1M: 0.112, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"gpt-oss-safeguard-20b\": { inputPer1M: 0.075, outputPer1M: 0.3, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"o1\": { inputPer1M: 15, outputPer1M: 60, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"o1-pro\": { inputPer1M: 150, outputPer1M: 600, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"o3\": { inputPer1M: 2, outputPer1M: 8, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"o3-mini\": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"o3-mini-high\": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"o3-mini:batch\": { inputPer1M: 0.55, outputPer1M: 2.2, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"o3-pro\": { inputPer1M: 20, outputPer1M: 80, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"o3:batch\": { inputPer1M: 1, outputPer1M: 4, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"o4-mini\": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n \"o4-mini-high\": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\", priceSource: \"openrouter\", idSource: \"openrouter\" },\n \"o4-mini:batch\": { inputPer1M: 0.55, outputPer1M: 2.2, vendor: \"openai\", provider: \"openai\", priceSource: \"openai\", idSource: \"openrouter\" },\n} as const\n\n/**\n * OpenAI-listed ids with NO price from either source — emitted as\n * existence-only so they are real members of `LlmModelId` and answer true\n * to `isKnownLlmId`, without a fabricated zero in `LLM_PRICING_CATALOG`.\n * \"Does this model exist\" and \"what does it cost\" are independent questions\n * in this catalog by design — see `LlmModelId`'s doc comment. Most of these\n * are dated snapshots (`gpt-5.4-2026-03-05`) and aliases the docs pricing\n * page lists only under their undated base id; deriving a price from that\n * base would be inference, not data, so it is not done.\n *\n * `chat-latest` is here for a different reason — it IS officially priced,\n * but a bare key that generic would win `resolvePricing`'s substring scan\n * against every `*-chat-latest` id and reprice them. See\n * `AMBIGUOUS_BARE_IDS` in catalog-sync's `sources/openai-catalog.mjs`.\n */\nexport const OPENAI_GENERATED_UNPRICED_IDS = [] as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-minimax.mjs\n// (ids: MiniMax pricing page + committed PascalCase list, pricing: platform.minimax.io pay-as-you-go pricing page, OpenRouter /v1/models (minimax/*) fallback per row, synced 2026-10-20T15:44:00.086Z)\n// OpenRouter fallback rows: normalization lowercase → prepend \"minimax-\" when\n// missing; OpenRouter's minimax/* routes carry no input_cache_write, so those\n// rows have no cacheWriteMultiplier.\n\nexport const MINIMAX_GENERATED_PRICING = {\n \"M2-her\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, priceSource: \"openrouter\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.1\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.1-highspeed\": { inputPer1M: 0.6, outputPer1M: 2.4, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 0.625, priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.5\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.5-highspeed\": { inputPer1M: 0.6, outputPer1M: 2.4, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 0.625, priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.7\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.2, cacheWriteMultiplier: 1.25, priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.7-highspeed\": { inputPer1M: 0.6, outputPer1M: 2.4, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 0.625, priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M3\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 512000, inputPer1M: 0.6, outputPer1M: 2.4, cacheReadMultiplier: 0.2 }], priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M3.1-Flash\": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.1, priceSource: \"minimax\", vendor: \"minimax\", provider: \"minimax\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-xai.mjs (data: llm-xai.json snapshot (xAI API fetch failed), synced 2026-10-20T15:44:01.733Z)\n//\n// Prices are xAI's NATIVE rates (no OpenRouter passthrough): raw\n// `prompt_text_token_price` / `completion_text_token_price` /\n// `cached_prompt_text_token_price` are per 1 token → $ per 1M = raw / 10000.\n// The cached price is emitted as `cacheReadMultiplier` (cached / input) and\n// the long-context price (prompts over `long_context_threshold`) as `tiers`.\n\nimport type { LLMPricingTier } from \"./catalog.js\"\n\nexport interface XAIPricingEntry {\n /** $ per 1M input tokens (short-context tier). */\n inputPer1M: number\n /** $ per 1M output tokens (short-context tier). */\n outputPer1M: number\n /** Cached-input price as a multiplier on `inputPer1M`. */\n cacheReadMultiplier?: number\n /** Long-context tier: prompts over `aboveInputTokens` bill at these rates. */\n tiers?: readonly LLMPricingTier[]\n /** Who authored the model (always \"xai\"). */\n vendor: \"xai\"\n /** Route used to call the model (always \"xai\" — direct SDK). */\n provider: \"xai\"\n}\n\nexport const XAI_GENERATED_PRICING = {\n \"grok-4.20\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-0309\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-0309-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-0309-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-0309\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-0309-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-0309-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-latest-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-latest-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-0304\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-0304-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-0304-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-non-reasoning-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-reasoning-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-0309\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-beta-0309\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-beta-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-experimental-beta-0304\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-experimental-beta-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-non-reasoning-gv2\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-non-reasoning-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-reasoning-gv2\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-reasoning-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.3\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.3-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.5\": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.15, tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.15 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.5-latest\": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.15, tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.15 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.6\": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.25, tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.25 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-4.7\": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.25, tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.25 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-build-0.1\": { inputPer1M: 1, outputPer1M: 2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-build-latest\": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.15, tiers: [{ aboveInputTokens: 200000, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.15 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-code-fast\": { inputPer1M: 1, outputPer1M: 2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-code-fast-1\": { inputPer1M: 1, outputPer1M: 2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }], vendor: \"xai\", provider: \"xai\" },\n \"grok-code-fast-1-0825\": { inputPer1M: 1, outputPer1M: 2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 200000, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }], vendor: \"xai\", provider: \"xai\" },\n} as const satisfies Record<string, XAIPricingEntry>\n","/**\n * LLM Pricing Catalog — per-token costs for all LLM models.\n *\n * Migrated from `packages/core/src/config/llm-pricing.ts` (commit `eeb1acdc`\n * era). The original location now re-exports from here so every existing\n * consumer (orchestrator dynamic imports, agent-analytics) keeps working.\n *\n * Prices in USD per 1M tokens (input and output separated).\n * Credit costs are what we charge users (includes margin).\n */\n\nimport type { CatalogProvider } from \"../schema/base.js\"\n\nexport interface LLMPricing {\n /** Provider cost: $ per 1M input tokens */\n inputPer1M: number\n /** Provider cost: $ per 1M output tokens */\n outputPer1M: number\n /**\n * Strategic per-model centicredit override for input. Bypasses the\n * default `inputPer1M × text-markup / CC_USD_RATE` formula. Use only\n * for explicit loss-leader / promo models — formula path is\n * cost-plus-margin by construction and self-heals when providers\n * change rates.\n *\n * Unit: **centicredits per 1M input tokens** (1 displayed credit =\n * 100 cc). Example: `overrideCreditInputPer1M: 1000` charges 10\n * displayed credits per 1M input tokens.\n */\n overrideCreditInputPer1M?: number\n /** Same as `overrideCreditInputPer1M`, for output tokens. Unit: cc/1M. */\n overrideCreditOutputPer1M?: number\n /**\n * Provider-side discount for cache-read tokens (Anthropic prompt\n * caching: ~10% of base input). Default 1.0 — no cache discount —\n * for providers without prompt caching. Applies to BOTH the\n * provider-cost calculation AND the derived credit cost so the\n * margin holds for cached vs uncached tokens.\n */\n cacheReadMultiplier?: number\n /**\n * Provider-side premium for cache-creation tokens (Anthropic prompt\n * caching: ~125% of base input — slightly more than uncached, but\n * the savings come from subsequent reads). Default 1.0. Applies to\n * BOTH sides like `cacheReadMultiplier`.\n */\n cacheWriteMultiplier?: number\n /**\n * Prompt-length price tiers, ascending by `aboveInputTokens`. The flat\n * fields above are the base tier (short prompts); a request whose prompt\n * is LONGER than a tier's `aboveInputTokens` is billed at that tier's\n * rates instead — for ALL of its tokens, output included, not just the\n * part past the threshold. Example: Claude Haiku 5.5 is $0.10/$0.50 up to\n * 100k prompt tokens and $0.50/$2.50 over it.\n *\n * \"Prompt length\" is the request's whole input: uncached + cache-read +\n * cache-write tokens. Pick the tier with {@link selectPricingTier}; never\n * read `inputPer1M` directly for a model that may carry tiers.\n *\n * Generator-owned: emitted from the source's `min_prompt_tokens`\n * overrides (OpenRouter `pricing.overrides`).\n */\n tiers?: readonly LLMPricingTier[]\n /**\n * Router / SDK used to call the model. Same model can be reachable via\n * multiple providers — `claude-sonnet-4-5` is `provider: \"anthropic\"`\n * when called through the Anthropic SDK and `provider: \"openrouter\"`\n * when routed through OpenRouter. Distinct from `vendor`: this is HOW\n * we reach the model, not WHO made it.\n * - bare ids (`claude-sonnet-4-5`, `gpt-4o`, `gemini-2.5-flash`)\n * → `\"anthropic\" | \"openai\" | \"google\"` (direct providers)\n * - slash ids (`anthropic/claude-sonnet-4-5`, `qwen/qwen3-coder`)\n * → `\"openrouter\"` (always — the slash is the OpenRouter route\n * convention and the OpenRouter SDK is what runs them)\n *\n * The runtime can still pass an explicit `connectorUsed` to\n * `emitUsageEvent` — that wins over this default and covers the\n * edge case where a guild has multiple connectors and the\n * dispatcher routed to a non-default one.\n */\n provider?: CatalogProvider\n /**\n * Who authored / built the model. Permanent attribute, independent of\n * the router: `claude-sonnet-4-5` is always `vendor: \"anthropic\"`\n * regardless of whether `provider` is `\"anthropic\"` (direct) or\n * `\"openrouter\"` (proxied). Used for display labels, BYOK gating, and\n * analytics grouping. Examples: `anthropic`, `openai`, `google`,\n * `moonshot`, `mistralai`, `minimax`, `meta`, `qwen`, `deepseek`.\n */\n vendor?: string\n /**\n * ISO date (`YYYY-MM-DD`) this id was first seen by a catalog-sync run.\n * Generator-owned (currently emitted by `llm:openrouter` / `llm:requesty`;\n * hand-maintained catalog rows below leave it unset) — backfilled from the\n * provider's own creation timestamp when the source has one, else the\n * sync run's date, and NEVER mutated once stamped. See\n * `packages/catalog-sync/src/added-at.ts` and\n * `packages/catalog-sync/README.md` for the full convention.\n */\n addedAt?: string\n /**\n * Which source supplied THIS row's numbers. Generator-owned and purely\n * informational — nothing routes or bills on it; it exists so a reviewer\n * reading a sync diff can tell a first-party price change from a router's\n * passthrough rate drifting.\n *\n * Emitted by the native syncs that read the vendor's own pricing page,\n * where that page and OpenRouter genuinely disagree on some rows:\n * - `\"openai\"` — `platform.openai.com/docs/pricing.md`\n * (`scripts/catalog-sync/sync-openai.mjs`).\n * - `\"anthropic\"` — `platform.claude.com/docs/en/about-claude/pricing.md`\n * (`sync-anthropic.mjs`).\n * - `\"moonshot\"` — `platform.kimi.ai/docs/pricing/chat.md`\n * (`sync-moonshot.mjs`).\n * - `\"minimax\"` — `platform.minimax.io/docs/guides/pricing-paygo.md`\n * (`sync-minimax.mjs`).\n * - `\"openrouter\"` — OpenRouter's rate, used where the vendor's page\n * does not list the id. For Moonshot that is the price of whichever\n * host OpenRouter routes to, not Moonshot's own.\n */\n priceSource?: \"openai\" | \"anthropic\" | \"moonshot\" | \"minimax\" | \"openrouter\"\n /**\n * Which list this row's ID came from. Also generator-owned and\n * informational. `\"openrouter\"` marks an id that the provider's own\n * `/v1/models` does not list — for OpenAI that is mostly ids which\n * structurally cannot appear there (`<base>:batch` is a separate endpoint,\n * `gpt-oss-*` is open-weights and not served by OpenAI's API) plus ids the\n * syncing account has no entitlement to. They are kept rather than dropped\n * precisely so the catalog is not a function of whose key ran the sync.\n */\n idSource?: \"openai\" | \"openrouter\"\n}\n\n/**\n * One prompt-length price tier of an {@link LLMPricing}. Applies when the\n * request's prompt is strictly longer than `aboveInputTokens`. Cache\n * multipliers are relative to THIS tier's `inputPer1M`; absent = inherit\n * the base tier's multiplier.\n */\nexport interface LLMPricingTier {\n aboveInputTokens: number\n inputPer1M: number\n outputPer1M: number\n cacheReadMultiplier?: number\n cacheWriteMultiplier?: number\n}\n\n/** The subset of {@link LLMPricing} {@link selectPricingTier} reads. */\ninterface TieredTokenPricing {\n inputPer1M: number\n outputPer1M: number\n cacheReadMultiplier?: number\n cacheWriteMultiplier?: number\n tiers?: readonly LLMPricingTier[]\n}\n\n/**\n * Flatten `pricing` to the rates that apply to a request whose prompt is\n * `promptTokens` long (uncached + cache-read + cache-write input). Returns\n * `pricing` unchanged when it has no tiers or the prompt is within the base\n * tier; otherwise a copy with the highest tier whose `aboveInputTokens` the\n * prompt exceeds spread over the base rates.\n */\nexport function selectPricingTier<T extends TieredTokenPricing>(\n pricing: T,\n promptTokens: number\n): T {\n let selected: LLMPricingTier | undefined\n for (const tier of pricing.tiers ?? []) {\n if (\n promptTokens > tier.aboveInputTokens &&\n (selected === undefined || tier.aboveInputTokens > selected.aboveInputTokens)\n ) {\n selected = tier\n }\n }\n if (!selected) return pricing\n return {\n ...pricing,\n inputPer1M: selected.inputPer1M,\n outputPer1M: selected.outputPer1M,\n cacheReadMultiplier: selected.cacheReadMultiplier ?? pricing.cacheReadMultiplier,\n cacheWriteMultiplier: selected.cacheWriteMultiplier ?? pricing.cacheWriteMultiplier,\n }\n}\n\nimport { OPENROUTER_ROUTES } from \"./openrouter-routes.generated.js\"\nimport { pricingRegistry, CC_USD_RATE } from \"../pricing/index.js\"\nimport { CONTEXT_WINDOWS, type ContextWindowEntry } from \"./context-windows.generated.js\"\nimport { MISTRAL_GENERATED_PRICING } from \"./mistral-pricing.generated.js\"\nimport { MOONSHOT_GENERATED_PRICING } from \"./moonshot-pricing.generated.js\"\nimport { ANTHROPIC_GENERATED_PRICING } from \"./anthropic-pricing.generated.js\"\nimport { GOOGLE_GENERATED_PRICING } from \"./google-pricing.generated.js\"\nimport {\n OPENAI_GENERATED_PRICING,\n OPENAI_GENERATED_UNPRICED_IDS,\n} from \"./openai-pricing.generated.js\"\nimport { MINIMAX_GENERATED_PRICING } from \"./minimax-pricing.generated.js\"\nimport { XAI_GENERATED_PRICING } from \"./xai-pricing.generated.js\"\n\n/**\n * Explicit, named, reasoned manual pricing — the ONLY sanctioned form of\n * hand-written pricing left in this catalog. An id lands here for exactly\n * one of two reasons, stated per-entry in `reason`:\n * - no generator covers this id at all (a structural gap — a \"-latest\"\n * alias spelling, a retired preview, a build-suffix/alias mismatch), or\n * - the value is a known-unverified placeholder that predates any sync.\n *\n * An id a generator DOES cover is priced by that generator directly and\n * NEVER duplicated here, regardless of whether the (now deleted) hand-typed\n * row used to disagree with the generated value — generated wins\n * unconditionally on a divergence; see the PR body's divergence table for\n * every case that applied to, and the exact two values each side had.\n */\nexport const PRICING_OVERRIDES: Record<string, LLMPricing & { reason: string }> = {\n // claude-opus-4-5 / claude-haiku-4-5 / claude-sonnet-4-5 (bare) and\n // grok-4.20 / grok-4.20-reasoning / grok-4.20-multi-agent used to live\n // here as hand-typed numbers, justified by \"no generator produces this\n // exact spelling\" — true, but that only justifies the id's EXISTENCE, not\n // hand-typing its PRICE when a same-model sibling under a different id is\n // already generated (Anthropic's dated form, xAI's own declared alias).\n // Fixed at the generator, not papered over here:\n // - sync-anthropic.mjs now mechanically derives every bare \"aged-out\"\n // id from its dated sibling (strip the -YYYYMMDD suffix), same price.\n // - sync-xai.mjs now expands every model's own `aliases` array from\n // xAI's live payload into additional priced entries.\n // Both bare-id sets are gone from this map for good — see the PR body's\n // divergence table for what the old hand-typed numbers here were wrong\n // by (these were on ids adapters/auth-profiles actually spawn).\n\n \"kimi-k2-0905-preview\": {\n reason:\n \"Not present in Moonshot's current live model list (api.moonshot.ai/v1/models returned 4 models total on the sync run that produced moonshot-pricing.generated.ts) -- likely retired or renamed since this row was hand-added.\",\n inputPer1M: 0.6, outputPer1M: 2.5, cacheReadMultiplier: 0.25, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n \"kimi-k2-thinking\": {\n reason:\n \"Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.\",\n inputPer1M: 0.6, outputPer1M: 2.5, cacheReadMultiplier: 0.25, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n \"kimi-k2-thinking-turbo\": {\n reason:\n \"Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.\",\n inputPer1M: 1.15, outputPer1M: 8.0, cacheReadMultiplier: 0.13, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n \"kimi-k2-turbo-preview\": {\n reason:\n \"Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.\",\n inputPer1M: 1.15, outputPer1M: 8.0, cacheReadMultiplier: 0.13, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n \"kimi-k2.5\": {\n reason:\n \"Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.\",\n inputPer1M: 0.6, outputPer1M: 3.0, cacheReadMultiplier: 0.17, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n // mistral-large-latest / mistral-small-latest / codestral-latest /\n // ministral-8b-latest: \"no generator produces this exact -latest\n // spelling\" is true and justifies the id existing here, but it does NOT\n // justify a hand-typed NUMBER when a same-family dated sibling is already\n // generated (mistral-large-2512, mistral-small-2603, codestral-2508,\n // ministral-8b-2512 respectively) — that was the same mistake as the\n // Anthropic/xAI bare-id overrides above, just not mechanically fixable at\n // the generator (Mistral's dated suffixes, e.g. -2512, don't strip back\n // to \"-latest\" the way Anthropic's -YYYYMMDD strips to a bare id). Spread\n // the generated sibling's pricing directly instead of retyping it, so a\n // re-sync that changes the dated price changes this too, automatically.\n \"mistral-large-latest\": {\n reason: \"\\\"-latest\\\" alias spelling has no generated counterpart of its own; derives from the dated sibling mistral-large-2512 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number.\",\n ...MISTRAL_GENERATED_PRICING[\"mistral-large-2512\"],\n },\n\n \"mistral-small-latest\": {\n reason: \"\\\"-latest\\\" alias spelling has no generated counterpart of its own; derives from the dated sibling mistral-small-2603 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.06/0.18, cache 0.5) diverged from this — see the PR body's divergence table.\",\n ...MISTRAL_GENERATED_PRICING[\"mistral-small-2603\"],\n },\n\n \"codestral-latest\": {\n reason: \"\\\"-latest\\\" alias spelling has no generated counterpart of its own; derives from the dated sibling codestral-2508 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.5/1.5, a copy-pasted placeholder) diverged from this — see the PR body's divergence table.\",\n ...MISTRAL_GENERATED_PRICING[\"codestral-2508\"],\n },\n\n \"ministral-8b-latest\": {\n reason: \"\\\"-latest\\\" alias spelling has no generated counterpart of its own; derives from the dated sibling ministral-8b-2512 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.06/0.18, a copy-pasted placeholder) diverged from this — see the PR body's divergence table.\",\n ...MISTRAL_GENERATED_PRICING[\"ministral-8b-2512\"],\n },\n\n \"mistral-medium-latest\": {\n reason:\n \"PLACEHOLDER, explicitly marked `// TODO verify pricing` in the row this replaces -- copy-pasted 0.5/1.5 template value, never real. Unlike the four rows above, this one is NOT auto-derived from a generated sibling: MISTRAL_GENERATED_PRICING has THREE medium candidates (mistral-medium-3, mistral-medium-3-5, mistral-medium-3.5) and which one \\\"-latest\\\" currently means is an editorial call this sync can't safely make -- picking wrong would silently misprice, which is worse than an honestly-labeled unverified placeholder. Needs a human to confirm which dated id is current, then wire it the same way as mistral-large-latest above.\",\n inputPer1M: 0.5, outputPer1M: 1.5, vendor: \"mistral\", provider: \"mistral\",\n },\n\n \"devstral-latest\": {\n reason:\n \"PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.5/1.5 template value, never real. No generated counterpart at all (Mistral's chat-model sync doesn't currently return a devstral id).\",\n inputPer1M: 0.5, outputPer1M: 1.5, vendor: \"mistral\", provider: \"mistral\",\n },\n\n \"magistral-small-latest\": {\n reason:\n \"PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.06/0.18 template value, never real. No generated counterpart at all.\",\n inputPer1M: 0.06, outputPer1M: 0.18, vendor: \"mistral\", provider: \"mistral\",\n },\n\n \"devstral-medium-latest\": {\n reason:\n \"PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.5/1.5 template value, never real. No generated counterpart at all.\",\n inputPer1M: 0.5, outputPer1M: 1.5, vendor: \"mistral\", provider: \"mistral\",\n },\n\n \"gpt-5-codex\": {\n reason:\n \"Priced by neither automated source: absent from OpenRouter's openai/* listing under this exact id, and absent from OpenAI's own pricing page, which now lists only gpt-5.3-codex for the Codex family. OpenAI's /v1/models DOES list the id, so the generator emits it in OPENAI_GENERATED_UNPRICED_IDS (existence) and this row supplies the price (gpt-5 rates, which is what Codex billed at).\",\n inputPer1M: 1.25, outputPer1M: 10.0, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\",\n },\n\n \"o1-mini\": {\n reason:\n \"No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.\",\n inputPer1M: 0.55, outputPer1M: 2.2, vendor: \"openai\", provider: \"openai\",\n },\n\n \"o3-deep-research\": {\n reason:\n \"No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.\",\n inputPer1M: 10.0, outputPer1M: 40.0, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\",\n },\n\n \"o4-mini-deep-research\": {\n reason:\n \"No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.\",\n inputPer1M: 2.0, outputPer1M: 8.0, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\",\n },\n}\n\n/** `PRICING_OVERRIDES` stripped of its `reason` field — what actually gets\n * spread into `LLM_PRICING_CATALOG`; `reason` is documentation, not a\n * pricing field. */\nconst PRICING_OVERRIDES_PRICING: Record<string, LLMPricing> = Object.fromEntries(\n Object.entries(PRICING_OVERRIDES).map(([id, { reason: _reason, ...pricing }]) => [id, pricing])\n)\n\nexport const LLM_PRICING_CATALOG = {\n // Every provider below is fully generated from that provider's own live\n // sync (`scripts/catalog-sync/sync-*.mjs`) — existence AND price both come\n // from the provider's native id space wherever the provider exposes one\n // (Anthropic, xAI, MiniMax, Moonshot, Mistral, Google-via-remap, and — as of\n // the OpenAI native-source sync — OpenAI, from `api.openai.com/v1/models`\n // plus its own published pricing page); OpenRouter supplies PRICE only for\n // those, never ids, apart from the OpenAI ids `/v1/models` structurally\n // cannot list (`:batch`, `gpt-oss-*`) — each of those carries\n // `idSource: \"openrouter\"`. On any id a generator covers,\n // the generated value wins UNCONDITIONALLY — no hand-typed row duplicates\n // an id a generator already prices, even where they used to disagree; see\n // the PR body's divergence table. `PRICING_OVERRIDES` above is the only\n // surviving hand-written pricing, spread last, one reasoned entry per id.\n ...MISTRAL_GENERATED_PRICING,\n ...MOONSHOT_GENERATED_PRICING,\n ...ANTHROPIC_GENERATED_PRICING,\n ...GOOGLE_GENERATED_PRICING,\n ...OPENAI_GENERATED_PRICING,\n ...MINIMAX_GENERATED_PRICING,\n ...XAI_GENERATED_PRICING,\n ...PRICING_OVERRIDES_PRICING,\n\n // ── OpenRouter routes — generated by `scripts/catalog-sync` from\n // https://openrouter.ai/api/v1/models. Re-run\n // `pnpm --filter @agentproto/catalog-sync sync:openrouter`\n // to refresh.\n ...OPENROUTER_ROUTES,\n} satisfies Record<string, LLMPricing>\n\n/**\n * Every canonical catalog model id. Existence is NOT the same question as\n * \"does this id have a price\" — `LLM_PRICING_CATALOG`'s keys alone used to\n * answer both, which meant a real, live, provider-published model with no\n * pricing row yet (the Anthropic `claude-opus-4-6` incident: synced by\n * `catalog-sync`, present in `CONTEXT_WINDOWS`, absent here) simply ceased\n * to exist anywhere downstream — invisible in `agentproto models`, unlisted\n * in every adapter's native allow-list, silently resolved to a stale alias.\n * `LlmModelId` now unions the pricing keys with `CONTEXT_WINDOWS` (each\n * provider's own synced `/v1/models` id list — see\n * `packages/catalog-sync/src/generators/llm-context-windows.ts` — carries\n * ids independent of whether a price has synced yet), `OPENROUTER_ROUTES`\n * (thousands of ids, self-updating), and `OPENAI_GENERATED_UNPRICED_IDS`\n * (ids `api.openai.com/v1/models` lists that neither OpenAI's pricing page\n * nor OpenRouter prices — mostly dated snapshots like `gpt-5.4-2026-03-05`.\n * OpenAI's `/v1/models` publishes no context window, so unlike the other\n * providers these ids cannot ride in via `CONTEXT_WINDOWS`; they need their\n * own existence-only list, which is exactly what that export is).\n * A model can be a member of this type\n * with `resolvePricing` returning `undefined` for it — callers MUST treat\n * that as \"price not yet known,\" never as \"doesn't exist\" (see\n * `ResolvedModel`'s `pricing?` in `registry/index.ts`, and `isKnownLlmId`\n * below for an existence-only check). Downstream curation/config should\n * still constrain ids to this type so a typo is a build error.\n *\n * That last point is why the generator emits `OPENAI_GENERATED_UNPRICED_IDS`\n * as a literal tuple (`[...] as const`, and `[] as const` when empty) and\n * never as `readonly string[]`: indexing the latter with `[number]` yields\n * plain `string`, which would widen this whole union to `string` and turn\n * every id typo back into a silent runtime miss. Tested at the source, in\n * catalog-sync's `openai-catalog.test.ts`.\n */\nexport type LlmModelId =\n | keyof typeof LLM_PRICING_CATALOG\n | keyof typeof CONTEXT_WINDOWS\n | keyof typeof OPENROUTER_ROUTES\n | (typeof OPENAI_GENERATED_UNPRICED_IDS)[number]\n\n/** `OPENAI_GENERATED_UNPRICED_IDS` as a membership set (the array is small,\n * but `isKnownLlmId` is on hot lookup paths). */\nconst OPENAI_UNPRICED_ID_SET: ReadonlySet<string> = new Set(OPENAI_GENERATED_UNPRICED_IDS)\n\n/**\n * True iff `modelId` is a real, known catalog id — regardless of whether it\n * has a price yet. Use this (not `resolvePricing(id) !== undefined`) to\n * answer \"does this model exist\"; use `resolvePricing`/`resolvePricingExact`\n * to answer \"what does it cost\" — the two questions are independent by\n * design, see `LlmModelId`'s doc comment.\n */\nexport function isKnownLlmId(modelId: string): boolean {\n return (\n modelId in LLM_PRICING_CATALOG ||\n modelId in CONTEXT_WINDOWS ||\n modelId in OPENROUTER_ROUTES ||\n OPENAI_UNPRICED_ID_SET.has(modelId)\n )\n}\n\n/**\n * Every known LLM id that has NO pricing row (`CONTEXT_WINDOWS` ∪\n * `OPENROUTER_ROUTES` ∪ `OPENAI_GENERATED_UNPRICED_IDS`, minus whatever\n * `LLM_PRICING_CATALOG` already prices) — the enumeration `listModels`'s\n * `llm` branch needs to surface a known-but-unpriced model instead of\n * silently dropping it. Each entry carries its provider when derivable (see\n * `getModelProvider`).\n */\nexport function listUnpricedKnownLlmIds(): Array<{\n id: string\n provider: CatalogProvider | undefined\n}> {\n const ids = new Set<string>([\n ...Object.keys(CONTEXT_WINDOWS),\n ...Object.keys(OPENROUTER_ROUTES),\n ...OPENAI_GENERATED_UNPRICED_IDS,\n ])\n const result: Array<{ id: string; provider: CatalogProvider | undefined }> = []\n for (const id of ids) {\n if (id in LLM_PRICING_CATALOG) continue\n result.push({ id, provider: getModelProvider(id) })\n }\n return result\n}\n\n// ── Aliases (map model IDs to catalog keys) ─────────────────────────────\n\nexport const MODEL_ALIASES = {\n // Anthropic — alias targets must be real Anthropic model ids since\n // `resolveAlias` feeds the result straight to the SDK.\n //\n // `claude-opus-4-6` / `claude-sonnet-4-6` used to alias here to 4.5 —\n // the silent-downgrade bug this PR fixes (agentproto catalog-sync). Both\n // are now real, directly-priced `LlmModelId`s via\n // `ANTHROPIC_GENERATED_PRICING` above; an alias pointing them at 4.5\n // would just re-introduce the same silent downgrade, so it's removed,\n // not kept.\n \"claude-4-opus\": \"claude-opus-4-5\",\n \"claude-4-sonnet\": \"claude-sonnet-4-5\",\n \"claude-3-5-haiku\": \"claude-haiku-4-5\",\n \"claude-haiku-4-5-20251001\": \"claude-haiku-4-5\",\n // Back-compat: configs persisted under the old (invalid) catalog keys\n // route to the renamed canonical keys instead of 404'ing at Anthropic.\n \"claude-opus-4\": \"claude-opus-4-5\",\n \"claude-sonnet-4\": \"claude-sonnet-4-5\",\n \"claude-haiku-3.5\": \"claude-haiku-4-5\",\n // Google — slash-prefixed forms collapse to the direct catalog keys.\n // Bare `gemini-3.1-pro-preview` / `gemini-3-flash-preview` /\n // `gemini-2.5-flash-lite` / `gemini-3.1-flash-lite` are now real catalog\n // entries with their own verified pricing (direct match wins over alias).\n \"gemini-3.1-flash-lite-preview\": \"gemini-3.1-flash-lite\",\n \"google/gemini-3.1-pro-preview\": \"gemini-3.1-pro-preview\",\n \"google/gemini-3.5-flash\": \"gemini-3.5-flash\",\n \"google/gemini-3-flash-preview\": \"gemini-3-flash-preview\",\n \"google/gemini-3.1-flash-lite\": \"gemini-3.1-flash-lite\",\n \"google/gemini-2.5-flash\": \"gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\": \"gemini-2.5-flash-lite\",\n \"google/gemini-2.5-pro\": \"gemini-2.5-pro\",\n // OpenAI\n \"openai/gpt-4.1\": \"gpt-4.1\",\n \"openai/gpt-4.1-mini\": \"gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\": \"gpt-4.1-nano\",\n \"openai/gpt-5\": \"gpt-5\",\n \"openai/gpt-5.1\": \"gpt-5.1\",\n \"openai/gpt-5.2\": \"gpt-5.2\",\n \"openai/gpt-5.4\": \"gpt-5.4\",\n \"openai/gpt-5.4-mini\": \"gpt-5.4-mini\",\n \"openai/gpt-5.4-nano\": \"gpt-5.4-nano\",\n \"openai/gpt-5.5\": \"gpt-5.5\",\n \"openai/o3\": \"o3\",\n \"openai/o4-mini\": \"o4-mini\",\n \"openai/o3-mini\": \"o3-mini\",\n \"openai/o1\": \"o1\",\n \"openai/o1-mini\": \"o1-mini\",\n // MiniMax — lowercase / OpenRouter forms collapse to direct.\n \"minimax-m2\": \"MiniMax-M2\",\n \"minimax-m2.1\": \"MiniMax-M2.1\",\n \"minimax-m2.5\": \"MiniMax-M2.5\",\n \"minimax-m2.7\": \"MiniMax-M2.7\",\n // Moonshot — friendly version aliases.\n \"kimi-k2\": \"kimi-k2.5\",\n \"moonshotai/kimi-k2.5\": \"kimi-k2.5\",\n \"moonshotai/kimi-k2.6\": \"kimi-k2.6\",\n \"moonshotai/kimi-k2.7-code\": \"kimi-k2.7-code\",\n \"moonshotai/kimi-k3\": \"kimi-k3\",\n // Mistral\n \"mistralai/mistral-large-latest\": \"mistral-large-latest\",\n \"mistralai/mistral-small-latest\": \"mistral-small-latest\",\n \"mistralai/mistral-medium-latest\": \"mistral-medium-latest\",\n \"mistralai/mistral-medium-3-5\": \"mistral-medium-3-5\",\n \"mistralai/codestral-latest\": \"codestral-latest\",\n \"mistralai/ministral-8b-latest\": \"ministral-8b-latest\",\n \"mistralai/devstral-latest\": \"devstral-latest\",\n \"mistralai/magistral-small-latest\": \"magistral-small-latest\",\n \"mistralai/devstral-medium-latest\": \"devstral-medium-latest\",\n // xAI — alias grok-latest to grok-4.3 (current default).\n \"grok-latest\": \"grok-4.3\",\n} satisfies Record<string, string>\n\n/** Every alias id that resolves to a canonical model — the alias keys. */\nexport type LlmModelAlias = keyof typeof MODEL_ALIASES\n\n/** Any model id the catalog recognises — canonical key or alias. */\nexport type KnownLlmId = LlmModelId | LlmModelAlias\n\n// Typed wide views for dynamic (arbitrary-string) lookups. `satisfies`\n// drops the string index signature on the consts above, so the\n// resolution functions — which take untrusted `modelId: string` — index\n// through these instead of the literal-keyed originals.\nconst PRICING_BY_ID: Record<string, LLMPricing> = LLM_PRICING_CATALOG\nconst ALIAS_BY_ID: Record<string, string> = MODEL_ALIASES\n\n/**\n * Resolves a model id to its pricing entry. Tries direct match → alias →\n * partial-prefix match. Used both for cost computation and BYOK shadow\n * accounting; semantics are load-bearing for migration.\n */\nexport function resolvePricing(rawModelId: string): LLMPricing | undefined {\n // A `[1m]` context-lane hint is not part of the model's identity.\n const modelId = splitContextWindowHint(rawModelId).id\n // Direct match\n if (PRICING_BY_ID[modelId]) return PRICING_BY_ID[modelId]\n // Alias\n const alias = ALIAS_BY_ID[modelId]\n if (alias && PRICING_BY_ID[alias]) return PRICING_BY_ID[alias]\n // Partial match (e.g. \"claude-sonnet-4-6-20260301\" → \"claude-sonnet-4\")\n for (const key of Object.keys(PRICING_BY_ID)) {\n if (modelId.includes(key)) return PRICING_BY_ID[key]\n }\n return undefined\n}\n\n/**\n * Like {@link resolvePricing} but WITHOUT the substring/partial-prefix\n * fallback — an id resolves ONLY on an exact catalog key or an exact alias.\n * The substring scan in `resolvePricing` (intended for dated snapshots like\n * `claude-sonnet-4-6-20260301` → `claude-sonnet-4`) also over-fires for\n * unrelated cross-product siblings (`gemini-2.5-flash-image` substring-hits\n * the `gemini-2.5-flash` row), so any caller that must PROVE a verbatim\n * first-party identity — e.g. the direct-vendor route restore in\n * `serviceableModelRoutes` — needs this exact form instead. Semantics of\n * `resolvePricing`/`resolveAlias` are intentionally left unchanged for their\n * existing callers.\n */\nexport function resolvePricingExact(rawModelId: string): LLMPricing | undefined {\n // A `[1m]` context-lane hint is not part of the model's identity.\n const modelId = splitContextWindowHint(rawModelId).id\n // Direct match\n if (PRICING_BY_ID[modelId]) return PRICING_BY_ID[modelId]\n // Alias (exact key only — no substring fallback)\n const alias = ALIAS_BY_ID[modelId]\n if (alias && PRICING_BY_ID[alias]) return PRICING_BY_ID[alias]\n return undefined\n}\n\n/**\n * Resolves a model id to its canonical catalog key (or the original id if no\n * match). Public surface for consumers that need the canonical id without\n * the pricing payload.\n */\nexport function resolveAlias(rawModelId: string): string {\n // A `[1m]` context-lane hint is not part of the model's identity.\n const modelId = splitContextWindowHint(rawModelId).id\n if (PRICING_BY_ID[modelId]) return modelId\n const alias = ALIAS_BY_ID[modelId]\n if (alias && PRICING_BY_ID[alias]) return alias\n for (const key of Object.keys(PRICING_BY_ID)) {\n if (modelId.includes(key)) return key\n }\n return rawModelId\n}\n\n/**\n * Resolves a model id to its live context window (max input tokens) and max\n * output tokens, sourced from `CONTEXT_WINDOWS`\n * (`packages/catalog-sync/src/generators/llm-context-windows.ts` — re-synced\n * from each provider's live `/v1/models` endpoint; never hand-maintain these\n * numbers). Covers Anthropic, Groq, xAI, and Moonshot — the providers that\n * publish this data live. Handles bare aliases the provider's own API doesn't\n * use (\"claude-haiku-4-5\" vs. the dated live id \"claude-haiku-4-5-20251001\")\n * via prefix match, then falls back through the pricing alias table for\n * older aliases. Returns undefined for ids no synced provider carries.\n */\nexport function resolveContextWindow(modelId: string): ContextWindowEntry | undefined {\n // A Claude Code context-lane hint (\"claude-opus-5-5[1m]\") names the SAME\n // model, so identity is looked up on the bare id — but the hint is the\n // caller's explicit lane choice, so it wins over the catalog's window.\n const { id, contextWindow: hinted } = splitContextWindowHint(modelId)\n const entry = lookupContextWindow(id)\n if (entry && hinted !== undefined) return { ...entry, contextWindow: hinted }\n return entry\n}\n\n/**\n * Split a trailing context-lane hint off a model id: `\"claude-opus-5-5[1m]\"`\n * → `{ id: \"claude-opus-5-5\", contextWindow: 1_000_000 }`. Claude Code (and\n * claude-agent-acp's model picker) spell the extended-context lane of a\n * model this way; the bracket is not part of the model's identity (pricing,\n * provider, catalog key) but IS an authoritative statement of its window.\n * Ids without a well-formed `[<n>k]` / `[<n>m]` suffix come back unchanged\n * with no `contextWindow`.\n */\nexport function splitContextWindowHint(modelId: string): { id: string; contextWindow?: number } {\n const match = /^(.+)\\[(\\d+(?:\\.\\d+)?)([km])\\]$/i.exec(modelId)\n if (!match) return { id: modelId }\n const [, id, amount, unit] = match as unknown as [string, string, string, string]\n const contextWindow = Math.round(Number(amount) * (unit.toLowerCase() === \"m\" ? 1_000_000 : 1_000))\n return contextWindow > 0 ? { id, contextWindow } : { id }\n}\n\nfunction lookupContextWindow(modelId: string): ContextWindowEntry | undefined {\n if (CONTEXT_WINDOWS[modelId]) return CONTEXT_WINDOWS[modelId]\n const datedMatch = Object.keys(CONTEXT_WINDOWS)\n .filter(key => key.startsWith(`${modelId}-2`))\n .sort((a, b) => a.length - b.length)[0]\n if (datedMatch) return CONTEXT_WINDOWS[datedMatch]\n const alias = ALIAS_BY_ID[modelId]\n if (alias && CONTEXT_WINDOWS[alias]) return CONTEXT_WINDOWS[alias]\n return undefined\n}\n\n/**\n * Every live model id `CONTEXT_WINDOWS` carries for one provider — sourced\n * straight from that provider's own `/v1/models` sync (`llm-context-windows.ts`\n * generator), independent of whether the id has landed a pricing row yet.\n *\n * The one legitimate consumer of this today: an adapter's `models.allowed`\n * curation for its native (non-gateway) provider surface. Deriving that list\n * from here instead of a hand-typed array means a newly-published id (e.g.\n * Anthropic shipping `claude-opus-4-9`) becomes offerable the moment the next\n * catalog-sync run picks it up — no code change, no PR. An adapter that wants\n * to hide a specific id anyway (deprecated, not yet vetted) does so with its\n * OWN small denylist filtering this list's output, never by omitting the id\n * from a hand-typed allowlist that silently also hides every future id.\n */\nexport function listNativeModelIds(provider: ContextWindowEntry[\"provider\"]): string[] {\n return Object.entries(CONTEXT_WINDOWS)\n .filter(([, entry]) => entry.provider === provider)\n .map(([id]) => id)\n .sort()\n}\n\n/**\n * Resolve a model id to its DEFAULT provider — the single source of truth for\n * \"which SDK reaches this model when no per-model override is set\". Reads the\n * resolved catalog entry's `provider` field (direct id → alias → partial\n * prefix, same resolution as `resolvePricing`). Returns undefined for unknown\n * ids so callers can fall back to their own heuristic.\n *\n * This is the abstraction that decouples the provider from the model-id STRING:\n * instead of inferring \"claude-* → anthropic\" at each call site, the provider\n * is an explicit catalog attribute. A model reachable through more than one\n * provider (e.g. Claude via the direct Anthropic SDK vs. OpenRouter) is held as\n * distinct catalog entries — the bare id (`claude-haiku-4-5`, provider\n * `anthropic`) and the slash route (`anthropic/claude-haiku-4.5`, provider\n * `openrouter`) — each carrying its own `provider`.\n */\nexport function getModelProvider(modelId: string): CatalogProvider | undefined {\n const pricedProvider = resolvePricing(modelId)?.provider\n if (pricedProvider) return pricedProvider\n // Fallback for a known-but-not-yet-priced id (see `LlmModelId`'s doc\n // comment) — CONTEXT_WINDOWS carries `provider` independent of pricing.\n // \"groq\" is a CONTEXT_WINDOWS provider but not a billing/auth\n // CatalogProvider (Groq never got a pricing generator — see the catalog\n // sync survey in the PR this comment shipped with), so it's excluded\n // rather than mis-cast.\n const cwProvider = resolveContextWindow(modelId)?.provider\n return cwProvider && cwProvider !== \"groq\" ? cwProvider : undefined\n}\n\n/**\n * The unified registry view of a model: canonical id, default provider, vendor,\n * and pricing — everything the routing + billing layers need from ONE lookup.\n * Returns undefined for unknown ids.\n */\nexport interface ModelRoute {\n /** Canonical catalog key (post-alias). */\n canonicalId: string\n /** Default provider — the SDK used when no per-model override is set. */\n provider?: CatalogProvider\n /** Model author/vendor (permanent; independent of the routing provider). */\n vendor?: string\n /** Billing pricing entry. */\n pricing: LLMPricing\n}\n\nexport function resolveModelRoute(modelId: string): ModelRoute | undefined {\n const pricing = resolvePricing(modelId)\n if (!pricing) return undefined\n return {\n canonicalId: resolveAlias(modelId),\n provider: pricing.provider,\n vendor: pricing.vendor,\n pricing,\n }\n}\n\n/**\n * Default fallback: roughly gemini-flash pricing (cheapest). Unknown\n * model ids resolve to this — the formula path then computes credit\n * cost from `inputPer1M`/`outputPer1M`, so unknown models always price\n * at default markup × cheap-model rates, never at zero.\n */\nexport const DEFAULT_PRICING: LLMPricing = {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n}\n\n// ── Calculator ──────────────────────────────────────────────────────────\n\nexport interface LLMCreditCostResult {\n /**\n * Total **centicredits** to charge — what `useAccountCredits` debits\n * directly (ledger column is cc). Reflects any per-model override or\n * per-app markup; never below `MIN_CREDITS_PER_TURN_CC`.\n *\n * Unit: cc (1 displayed credit = 100 cc). Format for display with\n * `displayCredits(cc) → cr`.\n */\n credits: number\n /**\n * What the *pure formula* would have charged (provider cost ×\n * text-markup), independent of per-model overrides. Surfaced so\n * `usage_events.calculated_credits` can record the formula-derived\n * value next to the override-applied debit — easy reconciliation\n * against Langfuse traces. Unit: cc.\n */\n calculatedCredits: number\n /** Breakdown of `credits` (each in cc). */\n inputCredits: number\n outputCredits: number\n cacheReadCredits: number\n cacheWriteCredits: number\n /** Production cost in USD (true provider cost, with cache multipliers applied). */\n productionCost: number\n /** Model pricing used — already flattened to the request's prompt-length\n * tier (see `selectPricingTier`), so its rates are the ones billed. */\n pricing: LLMPricing\n /** Whether fallback pricing was used */\n isFallback: boolean\n /** Markup actually applied. Same as `pricingRegistry.getMarkup(\"text\", appId)` when no override. */\n markup: number\n /** True when a per-model `overrideCredit*Per1M` field bypassed the formula. */\n hasOverride: boolean\n}\n\nexport interface LLMUsageBreakdown {\n /**\n * Input tokens that were NOT served from cache. With Anthropic prompt\n * caching, providers often report `inputTokens` already EXCLUDING\n * cached portions — pass the same number you'd pass to the legacy\n * 3-arg signature; cache fields are ADDED on top.\n */\n inputTokens: number\n outputTokens: number\n cacheReadInputTokens?: number\n cacheCreationInputTokens?: number\n}\n\nexport interface CalculateLLMCreditCostOptions {\n /**\n * App invoking the LLM. Routes per-app markup overrides registered\n * via `pricingRegistry.registerApp(appId, ...)`. When omitted, core\n * defaults apply.\n */\n appId?: string\n /**\n * Direct markup override (escape hatch for tests / one-off\n * reconciliation). When set, bypasses `pricingRegistry` for both\n * formula and `calculatedCredits` math. Takes precedence over\n * `appId`.\n */\n markupOverride?: number\n}\n\n/**\n * Env-time markup escape hatch. Honored only when no `appId` or\n * `markupOverride` is provided — i.e. the legacy global tune still\n * works while we migrate call sites onto the registry.\n *\n * Going forward, prefer `pricingRegistry.registerApp(appId, { markup:\n * { text: 2.0 } })` at boot — env-coupled markup makes tests flaky\n * and hides per-app drift.\n */\nconst ENV_MARKUP_OVERRIDE = process.env.LLM_PRICING_MARKUP\n ? Number(process.env.LLM_PRICING_MARKUP)\n : undefined\n/**\n * Minimum centicredits billed per LLM turn. 1 cc = 0.01 displayed\n * credit ≈ $0.0001. Picked over 1 displayed credit (the old floor) so\n * we don't over-charge tiny calls just because input + output each\n * round up.\n */\nconst MIN_CREDITS_PER_TURN_CC = 1\n\nexport function calculateLLMCreditCost(\n modelId: string,\n inputTokens: number,\n outputTokens: number\n): LLMCreditCostResult\nexport function calculateLLMCreditCost(\n modelId: string,\n usage: LLMUsageBreakdown,\n opts?: CalculateLLMCreditCostOptions\n): LLMCreditCostResult\nexport function calculateLLMCreditCost(\n modelId: string,\n inputOrUsage: number | LLMUsageBreakdown,\n outputTokensOrOpts?: number | CalculateLLMCreditCostOptions\n): LLMCreditCostResult {\n // Disambiguate the 2-arg vs 3-arg / opts overload.\n const usage: LLMUsageBreakdown =\n typeof inputOrUsage === \"number\"\n ? {\n inputTokens: inputOrUsage,\n outputTokens:\n typeof outputTokensOrOpts === \"number\" ? outputTokensOrOpts : 0,\n }\n : inputOrUsage\n const opts: CalculateLLMCreditCostOptions =\n typeof outputTokensOrOpts === \"object\" && outputTokensOrOpts !== null\n ? outputTokensOrOpts\n : {}\n\n const resolved = resolvePricing(modelId)\n const isFallback = !resolved\n if (isFallback) {\n // `isFallback` is returned on `LLMCreditCostResult`/`CostResult` but\n // historically had no reader anywhere downstream — a model billed at\n // DEFAULT_PRICING's cheap-model rate instead of its real (possibly much\n // higher) provider cost had no observable signal anywhere except this\n // flag nobody checked. Surfacing it here (not changing the amount\n // charged — DEFAULT_PRICING's cost-plus-margin-at-cheap-rate behavior\n // is unchanged and intentional, see DEFAULT_PRICING's own doc comment)\n // makes a real under-charge visible in logs instead of silent.\n console.warn(\n `[model-catalog] calculateLLMCreditCost: no pricing for \"${modelId}\" — ` +\n `billing at DEFAULT_PRICING (inputPer1M ${DEFAULT_PRICING.inputPer1M}, ` +\n `outputPer1M ${DEFAULT_PRICING.outputPer1M}). If this model has a real, ` +\n `higher provider cost, this under-charges until it gets a pricing row.`\n )\n }\n const cacheReadIn = Math.max(0, usage.cacheReadInputTokens ?? 0)\n const cacheCreateIn = Math.max(0, usage.cacheCreationInputTokens ?? 0)\n\n // Prompt-length tiered models (Claude Haiku 5.5: 5x over 100k) bill the\n // WHOLE request at the tier its prompt length falls in, and the prompt\n // counts cached input too.\n const pricing = selectPricingTier(\n resolved ?? DEFAULT_PRICING,\n Math.max(0, usage.inputTokens) + cacheReadIn + cacheCreateIn\n )\n const cacheRead = pricing.cacheReadMultiplier ?? 1.0\n const cacheWrite = pricing.cacheWriteMultiplier ?? 1.0\n\n // ── 1. Provider cost (USD) — single source of truth ──\n // Cache multipliers apply to BOTH the provider cost AND the derived\n // credit cost. Margin holds across cached vs uncached tokens because\n // `creditPerToken = providerCostPerToken × markup × cacheMultiplier`.\n const inputUsd = (usage.inputTokens / 1_000_000) * pricing.inputPer1M\n const cacheReadUsd =\n (cacheReadIn / 1_000_000) * pricing.inputPer1M * cacheRead\n const cacheWriteUsd =\n (cacheCreateIn / 1_000_000) * pricing.inputPer1M * cacheWrite\n const outputUsd = (usage.outputTokens / 1_000_000) * pricing.outputPer1M\n const productionCost = inputUsd + cacheReadUsd + cacheWriteUsd + outputUsd\n\n // ── 2. Markup resolution ──\n const markup =\n opts.markupOverride ??\n ENV_MARKUP_OVERRIDE ??\n pricingRegistry.getMarkup(\"text\", opts.appId)\n\n // ── 3. Pure-formula credit math in **centicredits** (no overrides —\n // always computed for analytics / Langfuse reconciliation). Per-\n // component ceil keeps token rounding stable; at 1-cc precision the\n // rounding overhead is negligible vs the cost.\n const formulaInputCredits = Math.ceil((inputUsd * markup) / CC_USD_RATE)\n const formulaCacheReadCredits = Math.ceil(\n (cacheReadUsd * markup) / CC_USD_RATE\n )\n const formulaCacheWriteCredits = Math.ceil(\n (cacheWriteUsd * markup) / CC_USD_RATE\n )\n const formulaOutputCredits = Math.ceil((outputUsd * markup) / CC_USD_RATE)\n const formulaSubtotal =\n formulaInputCredits +\n formulaCacheReadCredits +\n formulaCacheWriteCredits +\n formulaOutputCredits\n const calculatedCredits = Math.max(formulaSubtotal, MIN_CREDITS_PER_TURN_CC)\n\n // ── 4. Charged credits — honor explicit per-model centicredit\n // override (`overrideCredit*Per1M`). Use only for strategic\n // deviations (loss-leaders / promos). The default formula path is\n // cost-plus-margin by construction.\n const inputOverrideCc = pricing.overrideCreditInputPer1M\n const outputOverrideCc = pricing.overrideCreditOutputPer1M\n const hasOverride =\n inputOverrideCc !== undefined || outputOverrideCc !== undefined\n\n const inputCredits =\n inputOverrideCc !== undefined\n ? Math.ceil((usage.inputTokens / 1_000_000) * inputOverrideCc)\n : formulaInputCredits\n const cacheReadCredits =\n inputOverrideCc !== undefined\n ? Math.ceil((cacheReadIn / 1_000_000) * inputOverrideCc * cacheRead)\n : formulaCacheReadCredits\n const cacheWriteCredits =\n inputOverrideCc !== undefined\n ? Math.ceil((cacheCreateIn / 1_000_000) * inputOverrideCc * cacheWrite)\n : formulaCacheWriteCredits\n const outputCredits =\n outputOverrideCc !== undefined\n ? Math.ceil((usage.outputTokens / 1_000_000) * outputOverrideCc)\n : formulaOutputCredits\n\n const subtotal =\n inputCredits + cacheReadCredits + cacheWriteCredits + outputCredits\n const credits = Math.max(subtotal, MIN_CREDITS_PER_TURN_CC)\n\n return {\n credits,\n calculatedCredits,\n inputCredits,\n outputCredits,\n cacheReadCredits,\n cacheWriteCredits,\n productionCost,\n pricing,\n isFallback,\n markup,\n hasOverride,\n }\n}\n\n// ─── Cache stats ─────────────────────────────────────────────────────────\n\nexport interface CacheStats {\n /**\n * Cache hit rate as a 0..1 fraction of total input tokens (raw + cache\n * read + cache create). 0 means no cache activity, 1 means everything\n * read from cache, 0 for output-only calls. `null` when there were no\n * input tokens at all.\n */\n cacheHitRate: number | null\n /**\n * Provider USD we *saved* vs the same input billed at the uncached\n * rate. Cache reads at 0.1× save 0.9× of the input cost; cache writes\n * at 1.25× actually COST 0.25× more than uncached (negative savings).\n * Sum across both. Negative means cache-write overhead exceeded\n * cache-read savings (rare — usually means the prompt prefix was\n * cached on the first turn but never re-used).\n */\n providerCostSavedUsd: number\n /**\n * Centicredits the user *saved* vs the same input billed at the\n * uncached rate. Same sign convention as `providerCostSavedUsd`.\n * Unit: cc (format with `displayCredits(cc)` for UI).\n */\n creditsSaved: number\n /**\n * True iff the model carries cache multipliers in its pricing.\n * Useful for explaining \"this model doesn't support caching\" in UI.\n */\n cacheSupported: boolean\n}\n\n/**\n * Turn a credit-cost result into cache-utilisation stats. Pure compute.\n *\n * Use cases:\n * - \"Cache saved 87% on this call\" in a UI tooltip.\n * - Per-conversation dashboards: \"across this conversation, prompt\n * caching saved you $0.42 / 12 credits.\"\n * - Regression alarms — if cacheHitRate drops below an expected\n * threshold on a known-cacheable workload, something broke in\n * prompt-prefix stability.\n *\n * Returns `cacheSupported: false` for models without cache multipliers\n * (gpt-4o-mini, gemini, mistral) — all fields are zero in that case\n * (no cache activity is possible).\n */\nexport function getCacheStats(\n modelId: string,\n usage: LLMUsageBreakdown,\n opts?: CalculateLLMCreditCostOptions\n): CacheStats {\n const result = calculateLLMCreditCost(modelId, usage, opts)\n const cacheRead = result.pricing.cacheReadMultiplier ?? 1.0\n const cacheWrite = result.pricing.cacheWriteMultiplier ?? 1.0\n const cacheSupported =\n result.pricing.cacheReadMultiplier !== undefined ||\n result.pricing.cacheWriteMultiplier !== undefined\n\n const rawInput = Math.max(0, usage.inputTokens)\n const cacheReadIn = Math.max(0, usage.cacheReadInputTokens ?? 0)\n const cacheWriteIn = Math.max(0, usage.cacheCreationInputTokens ?? 0)\n const totalInput = rawInput + cacheReadIn + cacheWriteIn\n\n const cacheHitRate =\n totalInput === 0 ? null : (cacheReadIn + cacheWriteIn) / totalInput\n\n // What the cached tokens WOULD have cost at the uncached rate.\n // Savings = uncached cost − actual cost. Cache reads save (1-cacheRead)\n // of their token-equivalent input cost; cache writes save (1-cacheWrite),\n // which is negative for cacheWrite > 1.0.\n const uncachedCacheReadUsd =\n (cacheReadIn / 1_000_000) * result.pricing.inputPer1M\n const uncachedCacheWriteUsd =\n (cacheWriteIn / 1_000_000) * result.pricing.inputPer1M\n const actualCacheReadUsd = uncachedCacheReadUsd * cacheRead\n const actualCacheWriteUsd = uncachedCacheWriteUsd * cacheWrite\n\n const providerCostSavedUsd =\n uncachedCacheReadUsd -\n actualCacheReadUsd +\n (uncachedCacheWriteUsd - actualCacheWriteUsd)\n\n // Credit-side savings mirror provider-side: cache multiplier × markup\n // = total discount applied to the user's bill. All math in cc.\n const inputRateCc =\n result.pricing.overrideCreditInputPer1M ??\n Math.ceil((result.pricing.inputPer1M * result.markup) / CC_USD_RATE)\n const uncachedCacheReadCredits = (cacheReadIn / 1_000_000) * inputRateCc\n const uncachedCacheWriteCredits = (cacheWriteIn / 1_000_000) * inputRateCc\n const creditsSaved =\n uncachedCacheReadCredits -\n result.cacheReadCredits +\n (uncachedCacheWriteCredits - result.cacheWriteCredits)\n\n return {\n cacheHitRate,\n providerCostSavedUsd,\n creditsSaved,\n cacheSupported,\n }\n}\n","// AUTO-GENERATED by @agentproto/catalog-sync (llm:opencode-go).\n// Do not edit by hand — re-run `pnpm --filter @agentproto/catalog-sync generate`.\n// Source: https://models.dev/api.json (provider \"opencode-go\" — OpenCode Go)\n// Prices come VERBATIM from the source's cost.input / cost.output, which\n// models.dev already publishes as USD per 1M tokens (no per-token\n// conversion, unlike the Requesty table). cacheReadMultiplier /\n// cacheWriteMultiplier are cost.cache_read / cost.cache_write expressed\n// relative to cost.input, and are omitted when the base input price is 0\n// (every `-free` variant) because a free model has no cache discount.\n// Zero-priced models are KEPT — on these endpoints zero is the truth, not\n// a missing price. Models the source flags `status: \"deprecated\"` are\n// DROPPED: the endpoint no longer serves them.\n// Keys are `<provider>/<bare-id>`, the form opencode's own config uses and\n// the form the runtime derives the billing endpoint from; `vendor` is a\n// heuristic attribution of the model's BUILDER and is metadata only.\n// addedAt is the ISO date this id was first seen by a sync run — backfilled\n// from the source's own `release_date`, then NEVER mutated; see\n// packages/catalog-sync/src/added-at.ts and the package README.\n\nimport type { LLMPricing } from \"./catalog.js\"\n\nexport const OPENCODE_GO_ROUTES: Record<string, LLMPricing> = {\n \"opencode-go/beam-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-10-05\",\n vendor: \"opencode\",\n provider: \"opencode-go\",\n },\n \"opencode-go/claude-haiku-5-5\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-10-07\",\n vendor: \"anthropic\",\n provider: \"opencode-go\",\n },\n \"opencode-go/deepseek-v4-pro\": {\n inputPer1M: 0.66,\n outputPer1M: 1.98,\n cacheReadMultiplier: 0.033333,\n addedAt: \"2026-04-24\",\n vendor: \"deepseek\",\n provider: \"opencode-go\",\n },\n \"opencode-go/deepseek-v4.1-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"opencode-go\",\n },\n \"opencode-go/gemini-4-argon-contributor\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.05,\n addedAt: \"2026-10-13\",\n vendor: \"google\",\n provider: \"opencode-go\",\n },\n \"opencode-go/glm-5.2\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-06-13\",\n vendor: \"z-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/glm-5.3\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-08-14\",\n vendor: \"z-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/glm-5.3-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/gpt-5.6-luna\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/gpt-6-luna\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/grok-4.7\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-09-21\",\n vendor: \"x-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/hy3\": {\n inputPer1M: 0.14,\n outputPer1M: 0.58,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-07-06\",\n vendor: \"tencent\",\n provider: \"opencode-go\",\n },\n \"opencode-go/hy4-preview\": {\n inputPer1M: 0.834,\n outputPer1M: 2.501,\n cacheReadMultiplier: 0.05036,\n addedAt: \"2026-08-28\",\n vendor: \"tencent\",\n provider: \"opencode-go\",\n },\n \"opencode-go/kimi-k2.7-code\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-06-12\",\n vendor: \"moonshotai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/kimi-k3\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-16\",\n vendor: \"moonshotai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/longcat-2.0\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-06-30\",\n vendor: \"meituan\",\n provider: \"opencode-go\",\n },\n \"opencode-go/longcat-2.5-preview-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-09-25\",\n vendor: \"meituan\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2.5\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-04-22\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2.5-pro\": {\n inputPer1M: 0.435,\n outputPer1M: 0.87,\n cacheReadMultiplier: 0.008333,\n addedAt: \"2026-04-22\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2.6-flash\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-22\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2.6-pro\": {\n inputPer1M: 0.435,\n outputPer1M: 0.87,\n cacheReadMultiplier: 0.008333,\n addedAt: \"2026-09-22\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/minimax-m3\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-05-31\",\n vendor: \"minimax\",\n provider: \"opencode-go\",\n },\n \"opencode-go/minimax-m3.1-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-10-19\",\n vendor: \"minimax\",\n provider: \"opencode-go\",\n },\n \"opencode-go/muse-spark-1.2-contributor\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-08-05\",\n vendor: \"meta\",\n provider: \"opencode-go\",\n },\n \"opencode-go/muse-spark-1.3-contributor\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.7-plus\": {\n inputPer1M: 0.4,\n outputPer1M: 1.6,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-02\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.8-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.47,\n cacheReadMultiplier: 0.106667,\n cacheWriteMultiplier: 1.333333,\n addedAt: \"2026-08-26\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.8-max\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-08-03\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/step-5-preview\": {\n inputPer1M: 1,\n outputPer1M: 2.7,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-16\",\n vendor: \"opencode\",\n provider: \"opencode-go\",\n },\n}\n\n/**\n * BARE ids on OpenCode Go whose wire surface is the Anthropic Messages\n * API — the source's `provider.npm === \"@ai-sdk/anthropic\"`. These are the\n * ONLY ids reachable through the Anthropic-compatible gateway preset of the\n * same name (claude-code / claude-sdk); the rest of the endpoint's lineup\n * speaks OpenAI chat/completions or the OpenAI Responses API and has to go\n * through the opencode adapter instead. Bare (not `<provider>/<id>`) because\n * that is what an Anthropic client puts in `ANTHROPIC_MODEL` / on the wire.\n */\nexport const OPENCODE_GO_ANTHROPIC_MODELS: readonly string[] = [\n \"claude-haiku-5-5\",\n \"minimax-m3\",\n \"qwen3.7-plus\",\n \"qwen3.8-flash\",\n \"qwen3.8-max\",\n]\n","// AUTO-GENERATED by @agentproto/catalog-sync (llm:opencode-zen).\n// Do not edit by hand — re-run `pnpm --filter @agentproto/catalog-sync generate`.\n// Source: https://models.dev/api.json (provider \"opencode\" — OpenCode Zen)\n// Prices come VERBATIM from the source's cost.input / cost.output, which\n// models.dev already publishes as USD per 1M tokens (no per-token\n// conversion, unlike the Requesty table). cacheReadMultiplier /\n// cacheWriteMultiplier are cost.cache_read / cost.cache_write expressed\n// relative to cost.input, and are omitted when the base input price is 0\n// (every `-free` variant) because a free model has no cache discount.\n// Zero-priced models are KEPT — on these endpoints zero is the truth, not\n// a missing price. Models the source flags `status: \"deprecated\"` are\n// DROPPED: the endpoint no longer serves them.\n// Keys are `<provider>/<bare-id>`, the form opencode's own config uses and\n// the form the runtime derives the billing endpoint from; `vendor` is a\n// heuristic attribution of the model's BUILDER and is metadata only.\n// addedAt is the ISO date this id was first seen by a sync run — backfilled\n// from the source's own `release_date`, then NEVER mutated; see\n// packages/catalog-sync/src/added-at.ts and the package README.\n\nimport type { LLMPricing } from \"./catalog.js\"\n\nexport const OPENCODE_ZEN_ROUTES: Record<string, LLMPricing> = {\n \"opencode/beam-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-10-05\",\n vendor: \"opencode\",\n provider: \"opencode\",\n },\n \"opencode/big-pickle\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2025-10-17\",\n vendor: \"opencode\",\n provider: \"opencode\",\n },\n \"opencode/claude-fable-5\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-09\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-fable-5-1\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.025,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-01\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-haiku-4-5\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-10-15\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-haiku-5-5\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-10-07\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-5\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-11-24\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-6\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-05\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-7\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-16\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-8\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-28\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-5\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-24\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-5-5\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-4\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-05-22\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-4-5\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-09-29\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-4-6\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-17\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-5\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-30\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-5-5\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-28\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4-flash\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-07-31\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4-flash-vision-exp\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-21\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4-pro\": {\n inputPer1M: 1.74,\n outputPer1M: 3.84,\n cacheReadMultiplier: 0.083333,\n addedAt: \"2026-04-24\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4.1-flash\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4.1-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3-flash\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-17\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.1-pro\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-19\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.5-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 9,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-05-19\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.5-flash-lite\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.6-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.7-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-08-13\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.8-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-02\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-4-argon\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n addedAt: \"2026-10-13\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/glm-5\": {\n inputPer1M: 1,\n outputPer1M: 3.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-02-11\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.1\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-04-07\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.2\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-06-13\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.3\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-08-14\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.3-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.3-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5\": {\n inputPer1M: 1.07,\n outputPer1M: 8.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5-codex\": {\n inputPer1M: 1.07,\n outputPer1M: 8.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-09-15\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5-nano\": {\n inputPer1M: 0.05,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.1\": {\n inputPer1M: 1.07,\n outputPer1M: 8.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.1-codex\": {\n inputPer1M: 1.07,\n outputPer1M: 8.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.1-codex-max\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.1-codex-mini\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.2\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-11\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.2-codex\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-01-14\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.3-codex\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-24\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.3-codex-spark\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-12\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.4\": {\n inputPer1M: 2.5,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.4-mini\": {\n inputPer1M: 0.75,\n outputPer1M: 4.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.4-nano\": {\n inputPer1M: 0.2,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.4-pro\": {\n inputPer1M: 30,\n outputPer1M: 180,\n cacheReadMultiplier: 1,\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.5\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-04-23\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.5-pro\": {\n inputPer1M: 30,\n outputPer1M: 180,\n cacheReadMultiplier: 1,\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.6-luna\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.6-sol\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.6-terra\": {\n inputPer1M: 2.5,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-6-astra\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-6-luna\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-6-sol\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-6.1-sol\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-29\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/grok-4.5\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.15,\n addedAt: \"2026-07-08\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/grok-4.6\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-08-12\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/grok-4.7\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-09-21\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/grok-build-0.1\": {\n inputPer1M: 1,\n outputPer1M: 2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-04-16\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2.5\": {\n inputPer1M: 0.6,\n outputPer1M: 3,\n cacheReadMultiplier: 0.133333,\n addedAt: \"2026-01-27\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2.6\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.168421,\n addedAt: \"2026-04-21\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2.7-code\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-06-12\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k3\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-16\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/longcat-2.5-preview-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-09-25\",\n vendor: \"meituan\",\n provider: \"opencode\",\n },\n \"opencode/mimo-v2.6-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-09-22\",\n vendor: \"xiaomi\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m2.5\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-02-12\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m2.7\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-03-18\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m3\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-06-01\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m3.1-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-10-19\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/mistral-large-4\": {\n inputPer1M: 0.68,\n outputPer1M: 2.09,\n cacheReadMultiplier: 0.102941,\n addedAt: \"2026-10-06\",\n vendor: \"opencode\",\n provider: \"opencode\",\n },\n \"opencode/muse-spark-1.2\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-08-05\",\n vendor: \"meta\",\n provider: \"opencode\",\n },\n \"opencode/muse-spark-1.3\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"opencode\",\n },\n \"opencode/nemotron-3-ultra-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-06-04\",\n vendor: \"nvidia\",\n provider: \"opencode\",\n },\n \"opencode/nemotron-3.5-lightning-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-08-11\",\n vendor: \"nvidia\",\n provider: \"opencode\",\n },\n \"opencode/nemotron-3.5-super-vl-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-10-15\",\n vendor: \"nvidia\",\n provider: \"opencode\",\n },\n \"opencode/qwen3.5-plus\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-16\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n \"opencode/qwen3.6-plus\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-02\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n \"opencode/qwen3.8-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.47,\n cacheReadMultiplier: 0.106667,\n cacheWriteMultiplier: 1.333333,\n addedAt: \"2026-08-26\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n \"opencode/qwen3.8-max\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-08-03\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n}\n\n/**\n * BARE ids on OpenCode Zen whose wire surface is the Anthropic Messages\n * API — the source's `provider.npm === \"@ai-sdk/anthropic\"`. These are the\n * ONLY ids reachable through the Anthropic-compatible gateway preset of the\n * same name (claude-code / claude-sdk); the rest of the endpoint's lineup\n * speaks OpenAI chat/completions or the OpenAI Responses API and has to go\n * through the opencode adapter instead. Bare (not `<provider>/<id>`) because\n * that is what an Anthropic client puts in `ANTHROPIC_MODEL` / on the wire.\n */\nexport const OPENCODE_ZEN_ANTHROPIC_MODELS: readonly string[] = [\n \"claude-fable-5\",\n \"claude-fable-5-1\",\n \"claude-haiku-4-5\",\n \"claude-haiku-5-5\",\n \"claude-opus-4-5\",\n \"claude-opus-4-6\",\n \"claude-opus-4-7\",\n \"claude-opus-4-8\",\n \"claude-opus-5\",\n \"claude-opus-5-5\",\n \"claude-sonnet-4\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-6\",\n \"claude-sonnet-5\",\n \"claude-sonnet-5-5\",\n \"qwen3.5-plus\",\n \"qwen3.6-plus\",\n \"qwen3.8-flash\",\n]\n"]}