@cjhyy/code-shell 0.1.7 → 0.3.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 (144) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/README.md +35 -2
  3. package/dist/anthropic-DJXVKFMJ.js +1 -0
  4. package/dist/arena/index.js +1 -1
  5. package/dist/arena-MRBATZFD.js +3 -0
  6. package/dist/chunk-2OD6VR4N.js +2 -0
  7. package/dist/{chunk-RP26WO4R.js → chunk-5QIVXFCT.js} +1 -1
  8. package/dist/{chunk-NFH3UQ3E.js → chunk-AFMP73YP.js} +1 -1
  9. package/dist/{chunk-XDOWC7EG.js → chunk-D3TVASD2.js} +2 -2
  10. package/dist/chunk-DI26OUIU.js +2 -0
  11. package/dist/chunk-FZXY554D.js +2 -0
  12. package/dist/chunk-GGVAOPI7.js +1 -0
  13. package/dist/chunk-GKAQH2DG.js +2 -0
  14. package/dist/chunk-GYNO4R7R.js +2 -0
  15. package/dist/{chunk-Q4O2HGWS.js → chunk-K4HILJ6G.js} +3 -3
  16. package/dist/chunk-M7VU4YVY.js +49 -0
  17. package/dist/chunk-MLCTC53I.js +1 -0
  18. package/dist/{chunk-HIJ2XXGX.js → chunk-OWBYLMDD.js} +1 -1
  19. package/dist/chunk-SKIX2M5Z.js +4 -0
  20. package/dist/chunk-SV7H4FKT.js +3 -0
  21. package/dist/{chunk-Y2NS6HPO.js → chunk-WONQHE4P.js} +41 -41
  22. package/dist/{chunk-WOP6MJKW.js → chunk-X2S7ASQ2.js} +1 -1
  23. package/dist/chunk-Z5HKHAO7.js +336 -0
  24. package/dist/cli/commands/builtin/plugin-commands-registration.d.ts +12 -0
  25. package/dist/cli/commands/builtin/plugin-handler.d.ts +6 -0
  26. package/dist/cli/commands/registry.d.ts +9 -2
  27. package/dist/cli/main.js +140 -124
  28. package/dist/cli/onboarding.d.ts +7 -2
  29. package/dist/client-base-GSFXPP2Y.js +1 -0
  30. package/dist/compaction-L3Y6NG4N.js +1 -0
  31. package/dist/context/compaction.d.ts +2 -1
  32. package/dist/data/static-catalogs.d.ts +25 -0
  33. package/dist/devtools-FBX4HVVY.js +1 -0
  34. package/dist/engine/engine.d.ts +45 -0
  35. package/dist/engine/turn-loop.d.ts +45 -0
  36. package/dist/hooks/events.d.ts +84 -5
  37. package/dist/hooks/inject.d.ts +19 -0
  38. package/dist/hooks/shell-runner.d.ts +45 -0
  39. package/dist/index.d.ts +4 -3
  40. package/dist/index.js +1 -1
  41. package/dist/llm/api-key-sanitize.d.ts +22 -0
  42. package/dist/llm/capabilities/index.d.ts +20 -0
  43. package/dist/llm/capabilities/rules.d.ts +26 -0
  44. package/dist/llm/capabilities/types.d.ts +108 -0
  45. package/dist/llm/model-pool.d.ts +7 -0
  46. package/dist/llm/provider-catalog.d.ts +2 -0
  47. package/dist/llm/provider-kinds.d.ts +1 -1
  48. package/dist/llm/providers/openai.d.ts +45 -0
  49. package/dist/llm/retry.d.ts +12 -0
  50. package/dist/llm/stream-watchdog.d.ts +42 -0
  51. package/dist/llm/types.d.ts +8 -0
  52. package/dist/logging/logger.d.ts +24 -2
  53. package/dist/logging/session-recorder.d.ts +16 -3
  54. package/dist/manager-4XKLZHKE.js +1 -0
  55. package/dist/mcp-manager-3JGHEJO3.js +1 -0
  56. package/dist/model-fetcher-X5W5EASG.js +1 -0
  57. package/dist/openai-OQ6LLN5J.js +1 -0
  58. package/dist/{openrouter-models-AM6M52D6.js → openrouter-models-ZT4R2AE3.js} +1 -1
  59. package/dist/openrouter-sync-ARMVWY7S.js +1 -0
  60. package/dist/plugin-handler-GJISMH5Q.js +11 -0
  61. package/dist/plugins/gitOps.d.ts +23 -0
  62. package/dist/plugins/installedPlugins.d.ts +15 -0
  63. package/dist/plugins/knownMarketplaces.d.ts +10 -0
  64. package/dist/plugins/loadPluginHooks.d.ts +52 -0
  65. package/dist/plugins/marketplaceManager.d.ts +49 -0
  66. package/dist/plugins/parseMarketplaceInput.d.ts +16 -0
  67. package/dist/plugins/pluginCommandHook.d.ts +54 -0
  68. package/dist/plugins/pluginCommandsLoader.d.ts +25 -0
  69. package/dist/plugins/pluginInstaller.d.ts +36 -0
  70. package/dist/plugins/schemas.d.ts +9 -0
  71. package/dist/plugins/types.d.ts +73 -2
  72. package/dist/plugins/varRewrite.d.ts +42 -0
  73. package/dist/product/index.js +1 -1
  74. package/dist/protocol/client.d.ts +1 -1
  75. package/dist/protocol/helpers.d.ts +42 -0
  76. package/dist/render/clearTerminal.d.ts +9 -3
  77. package/dist/render/components/App.d.ts +1 -0
  78. package/dist/render/components/Static.d.ts +23 -0
  79. package/dist/render/devtools.d.ts +8 -4
  80. package/dist/render/dom.d.ts +2 -1
  81. package/dist/render/frame.d.ts +1 -0
  82. package/dist/render/index.d.ts +10 -0
  83. package/dist/render/ink.d.ts +24 -2
  84. package/dist/render/log-update.d.ts +12 -1
  85. package/dist/render/selection.d.ts +1 -1
  86. package/dist/run/index.js +1 -1
  87. package/dist/{seatbelt-WBYROQT6.js → seatbelt-L54CNI2Y.js} +5 -5
  88. package/dist/services/index.d.ts +1 -0
  89. package/dist/services/memory-orchestrator.d.ts +39 -0
  90. package/dist/settings/schema.d.ts +168 -21
  91. package/dist/skills/frontmatter.d.ts +13 -0
  92. package/dist/skills/index.d.ts +4 -4
  93. package/dist/skills/scanner.d.ts +11 -21
  94. package/dist/tool-summary-HJX6RHG4.js +2 -0
  95. package/dist/tool-system/builtin/agent-notifications.d.ts +55 -0
  96. package/dist/tool-system/builtin/agent-registry.d.ts +35 -4
  97. package/dist/tool-system/builtin/agent-transcript-translator.d.ts +22 -0
  98. package/dist/tool-system/builtin/skill-prompt.d.ts +7 -0
  99. package/dist/tool-system/builtin/skill.d.ts +3 -1
  100. package/dist/tool-system/context.d.ts +23 -0
  101. package/dist/tool-system/executor.d.ts +5 -1
  102. package/dist/tool-system/permission.d.ts +1 -1
  103. package/dist/tool-system/sandbox/index.d.ts +7 -0
  104. package/dist/tool-system/task-guard.d.ts +30 -0
  105. package/dist/types.d.ts +48 -0
  106. package/dist/ui/components/AgentBlock.d.ts +5 -2
  107. package/dist/ui/components/AgentDock.d.ts +36 -0
  108. package/dist/ui/components/CommandInput.d.ts +12 -1
  109. package/dist/ui/components/MessageRow.d.ts +54 -0
  110. package/dist/ui/components/SpinnerWithVerb.d.ts +7 -1
  111. package/dist/ui/components/StatusLine.d.ts +5 -1
  112. package/dist/ui/components/TextInput.d.ts +9 -1
  113. package/dist/ui/components/VirtualMessageList.d.ts +30 -11
  114. package/dist/ui/dev-seed.d.ts +1 -0
  115. package/dist/ui/fullscreen-mode.d.ts +9 -0
  116. package/dist/ui/hooks/useVirtualScroll.d.ts +101 -0
  117. package/dist/ui/perf-probes.d.ts +22 -0
  118. package/dist/ui/query-guard.d.ts +35 -0
  119. package/dist/ui/slice-anchor.d.ts +44 -0
  120. package/dist/ui/store.d.ts +26 -1
  121. package/package.json +5 -3
  122. package/dist/anthropic-UBSB5AQH.js +0 -1
  123. package/dist/arena-OW55ZCHT.js +0 -3
  124. package/dist/chunk-2NS3JMNK.js +0 -1
  125. package/dist/chunk-B7K2OWKC.js +0 -2
  126. package/dist/chunk-EWWK56K6.js +0 -2
  127. package/dist/chunk-KCXSARAA.js +0 -1
  128. package/dist/chunk-NMBYBGC7.js +0 -250
  129. package/dist/chunk-NVAZJ5XS.js +0 -2
  130. package/dist/chunk-PGANL6F2.js +0 -3
  131. package/dist/chunk-UDPUTFQT.js +0 -2
  132. package/dist/chunk-W47Z7MGS.js +0 -33
  133. package/dist/client-base-6ZZJJYDY.js +0 -1
  134. package/dist/compaction-ECVQVOCT.js +0 -1
  135. package/dist/devtools-SGDUOOM4.js +0 -1
  136. package/dist/manager-C3TDN6MS.js +0 -1
  137. package/dist/mcp-manager-OP4XYV53.js +0 -1
  138. package/dist/model-fetcher-BJ64META.js +0 -1
  139. package/dist/openai-KEWQ54TM.js +0 -1
  140. package/dist/openrouter-sync-5JNBL3Z6.js +0 -1
  141. package/dist/plugins/loader.d.ts +0 -72
  142. package/dist/skills/matcher.d.ts +0 -21
  143. package/dist/tool-summary-5UE62VU4.js +0 -2
  144. package/skills-builtin/codeshell-help.md +0 -135
@@ -1,2 +0,0 @@
1
- import {h as h$1,a as a$1}from'./chunk-3QP5BQ3L.js';h$1();var a={fetchedAt:"2026-05-14T07:47:36.405Z",source:"https://openrouter.ai/api/v1/models",count:364,models:[{id:"anthropic/claude-opus-4.7-fast",name:"Anthropic: Claude Opus 4.7 (Fast)",created:1778613011,contextLength:1e6,maxOutputTokens:128e3,inputPricePerMillion:30,outputPricePerMillion:150,modalities:["text","image","file"]},{id:"perceptron/perceptron-mk1",name:"Perceptron: Perceptron Mk1",created:1778597029,contextLength:32768,maxOutputTokens:8192,inputPricePerMillion:.15,outputPricePerMillion:1.5,modalities:["text","image","video"]},{id:"inclusionai/ring-2.6-1t:free",name:"inclusionAI: Ring-2.6-1T (free)",created:1778247440,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"google/gemini-3.1-flash-lite",name:"Google: Gemini 3.1 Flash Lite",created:1778168828,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:.25,outputPricePerMillion:1.5,modalities:["text","image","video","file","audio"]},{id:"baidu/cobuddy:free",name:"Baidu Qianfan: CoBuddy (free)",created:1778035480,contextLength:131072,maxOutputTokens:65536,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"openai/gpt-chat-latest",name:"OpenAI: GPT Chat Latest",created:1778000212,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:5,outputPricePerMillion:30,modalities:["text","image","file"]},{id:"x-ai/grok-4.3",name:"xAI: Grok 4.3",created:1777591821,contextLength:1e6,maxOutputTokens:0,inputPricePerMillion:1.25,outputPricePerMillion:2.5,modalities:["text","image"]},{id:"ibm-granite/granite-4.1-8b",name:"IBM: Granite 4.1 8B",created:1777577071,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:.049999999999999996,outputPricePerMillion:.09999999999999999,modalities:["text"]},{id:"mistralai/mistral-medium-3-5",name:"Mistral: Mistral Medium 3.5",created:1777570439,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:1.5,outputPricePerMillion:7.5,modalities:["text","image"]},{id:"openrouter/owl-alpha",name:"Owl Alpha",created:1777398589,contextLength:1048756,maxOutputTokens:262144,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"NVIDIA: Nemotron 3 Nano Omni (free)",created:1777393095,contextLength:256e3,maxOutputTokens:65536,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text","audio","image","video"]},{id:"poolside/laguna-xs.2:free",name:"Poolside: Laguna XS.2 (free)",created:1777389604,contextLength:131072,maxOutputTokens:8192,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"poolside/laguna-m.1:free",name:"Poolside: Laguna M.1 (free)",created:1777388504,contextLength:131072,maxOutputTokens:8192,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"~anthropic/claude-haiku-latest",name:"Anthropic Claude Haiku Latest",created:1777318492,contextLength:2e5,maxOutputTokens:64e3,inputPricePerMillion:1,outputPricePerMillion:5,modalities:["text","image","file"]},{id:"~openai/gpt-mini-latest",name:"OpenAI GPT Mini Latest",created:1777318471,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:.75,outputPricePerMillion:4.5,modalities:["file","image","text"]},{id:"~google/gemini-pro-latest",name:"Google Gemini Pro Latest",created:1777318451,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:2,outputPricePerMillion:12,modalities:["audio","file","image","text","video"]},{id:"~moonshotai/kimi-latest",name:"MoonshotAI Kimi Latest",created:1777318428,contextLength:262142,maxOutputTokens:262142,inputPricePerMillion:.74,outputPricePerMillion:3.5,modalities:["text","image"]},{id:"~google/gemini-flash-latest",name:"Google Gemini Flash Latest",created:1777318398,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:.5,outputPricePerMillion:3,modalities:["text","image","file","audio","video"]},{id:"~anthropic/claude-sonnet-latest",name:"Anthropic Claude Sonnet Latest",created:1777318368,contextLength:1e6,maxOutputTokens:128e3,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["text","image","file"]},{id:"~openai/gpt-latest",name:"OpenAI GPT Latest",created:1777318334,contextLength:105e4,maxOutputTokens:128e3,inputPricePerMillion:5,outputPricePerMillion:30,modalities:["file","image","text"]},{id:"qwen/qwen3.5-plus-20260420",name:"Qwen: Qwen3.5 Plus 2026-04-20",created:1777261368,contextLength:1e6,maxOutputTokens:65536,inputPricePerMillion:.39999999999999997,outputPricePerMillion:2.4,modalities:["text","image","video"]},{id:"qwen/qwen3.6-flash",name:"Qwen: Qwen3.6 Flash",created:1777261362,contextLength:1e6,maxOutputTokens:65536,inputPricePerMillion:.25,outputPricePerMillion:1.5,modalities:["text","image","video"]},{id:"qwen/qwen3.6-35b-a3b",name:"Qwen: Qwen3.6 35B A3B",created:1777260255,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:.15,outputPricePerMillion:1,modalities:["text","image","video"]},{id:"qwen/qwen3.6-max-preview",name:"Qwen: Qwen3.6 Max Preview",created:1777260242,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:1.04,outputPricePerMillion:6.24,modalities:["text"]},{id:"qwen/qwen3.6-27b",name:"Qwen: Qwen3.6 27B",created:1777255064,contextLength:262144,maxOutputTokens:81920,inputPricePerMillion:.32,outputPricePerMillion:3.1999999999999997,modalities:["text","image","video"]},{id:"openai/gpt-5.5-pro",name:"OpenAI: GPT-5.5 Pro",created:1777051896,contextLength:105e4,maxOutputTokens:128e3,inputPricePerMillion:30,outputPricePerMillion:180,modalities:["file","image","text"]},{id:"openai/gpt-5.5",name:"OpenAI: GPT-5.5",created:1777051893,contextLength:105e4,maxOutputTokens:128e3,inputPricePerMillion:5,outputPricePerMillion:30,modalities:["file","image","text"]},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro",created:1777000679,contextLength:1048576,maxOutputTokens:384e3,inputPricePerMillion:.435,outputPricePerMillion:.87,modalities:["text"]},{id:"deepseek/deepseek-v4-flash:free",name:"DeepSeek: DeepSeek V4 Flash (free)",created:1777000666,contextLength:256e3,maxOutputTokens:256e3,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek: DeepSeek V4 Flash",created:1777000666,contextLength:1048576,maxOutputTokens:131072,inputPricePerMillion:.126,outputPricePerMillion:.252,modalities:["text"]},{id:"inclusionai/ling-2.6-1t",name:"inclusionAI: Ling-2.6-1T",created:1776948238,contextLength:262144,maxOutputTokens:32768,inputPricePerMillion:.3,outputPricePerMillion:2.5,modalities:["text"]},{id:"tencent/hy3-preview",name:"Tencent: Hy3 preview",created:1776878150,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:.06599999999999999,outputPricePerMillion:.26,modalities:["text"]},{id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo-V2.5-Pro",created:1776874273,contextLength:1048576,maxOutputTokens:16384,inputPricePerMillion:1,outputPricePerMillion:3,modalities:["text"]},{id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",created:1776874269,contextLength:1048576,maxOutputTokens:131072,inputPricePerMillion:.39999999999999997,outputPricePerMillion:2,modalities:["text","audio","image","video"]},{id:"openai/gpt-5.4-image-2",name:"OpenAI: GPT-5.4 Image 2",created:1776797528,contextLength:272e3,maxOutputTokens:128e3,inputPricePerMillion:8,outputPricePerMillion:15,modalities:["image","text","file"]},{id:"inclusionai/ling-2.6-flash",name:"inclusionAI: Ling-2.6-flash",created:1776795886,contextLength:262144,maxOutputTokens:32768,inputPricePerMillion:.08,outputPricePerMillion:.24,modalities:["text"]},{id:"~anthropic/claude-opus-latest",name:"Anthropic: Claude Opus Latest",created:1776795361,contextLength:1e6,maxOutputTokens:128e3,inputPricePerMillion:5,outputPricePerMillion:25,modalities:["text","image","file"]},{id:"openrouter/pareto-code",name:"Pareto Code Router",created:1776747900,contextLength:2e6,maxOutputTokens:0,inputPricePerMillion:-1e6,outputPricePerMillion:-1e6,modalities:["text"]},{id:"baidu/qianfan-ocr-fast:free",name:"Baidu: Qianfan-OCR-Fast (free)",created:1776707472,contextLength:65536,maxOutputTokens:28672,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["image","text"]},{id:"moonshotai/kimi-k2.6",name:"MoonshotAI: Kimi K2.6",created:1776699402,contextLength:262142,maxOutputTokens:262142,inputPricePerMillion:.74,outputPricePerMillion:3.5,modalities:["text","image"]},{id:"anthropic/claude-opus-4.7",name:"Anthropic: Claude Opus 4.7",created:1776351100,contextLength:1e6,maxOutputTokens:128e3,inputPricePerMillion:5,outputPricePerMillion:25,modalities:["text","image","file"]},{id:"anthropic/claude-opus-4.6-fast",name:"Anthropic: Claude Opus 4.6 (Fast)",created:1775592472,contextLength:1e6,maxOutputTokens:128e3,inputPricePerMillion:30,outputPricePerMillion:150,modalities:["text","image","file"]},{id:"z-ai/glm-5.1",name:"Z.ai: GLM 5.1",created:1775578025,contextLength:202752,maxOutputTokens:65535,inputPricePerMillion:1.0499999999999998,outputPricePerMillion:3.5,modalities:["text"]},{id:"google/gemma-4-26b-a4b-it:free",name:"Google: Gemma 4 26B A4B (free)",created:1775227989,contextLength:262144,maxOutputTokens:32768,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["image","text","video"]},{id:"google/gemma-4-26b-a4b-it",name:"Google: Gemma 4 26B A4B ",created:1775227989,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:.06,outputPricePerMillion:.33,modalities:["image","text","video"]},{id:"google/gemma-4-31b-it:free",name:"Google: Gemma 4 31B (free)",created:1775148486,contextLength:262144,maxOutputTokens:32768,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["image","text","video"]},{id:"google/gemma-4-31b-it",name:"Google: Gemma 4 31B",created:1775148486,contextLength:262144,maxOutputTokens:16384,inputPricePerMillion:.12,outputPricePerMillion:.37,modalities:["image","text","video"]},{id:"qwen/qwen3.6-plus",name:"Qwen: Qwen3.6 Plus",created:1775133557,contextLength:1e6,maxOutputTokens:65536,inputPricePerMillion:.325,outputPricePerMillion:1.95,modalities:["text","image","video"]},{id:"z-ai/glm-5v-turbo",name:"Z.ai: GLM 5V Turbo",created:1775061458,contextLength:202752,maxOutputTokens:131072,inputPricePerMillion:1.2,outputPricePerMillion:4,modalities:["image","text","video"]},{id:"arcee-ai/trinity-large-thinking:free",name:"Arcee AI: Trinity Large Thinking (free)",created:1775058318,contextLength:262144,maxOutputTokens:8e4,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"arcee-ai/trinity-large-thinking",name:"Arcee AI: Trinity Large Thinking",created:1775058318,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:.22,outputPricePerMillion:.85,modalities:["text"]},{id:"x-ai/grok-4.20-multi-agent",name:"xAI: Grok 4.20 Multi-Agent",created:1774979158,contextLength:2e6,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:6,modalities:["text","image","file"]},{id:"x-ai/grok-4.20",name:"xAI: Grok 4.20",created:1774979019,contextLength:2e6,maxOutputTokens:0,inputPricePerMillion:1.25,outputPricePerMillion:2.5,modalities:["text","image","file"]},{id:"google/lyria-3-pro-preview",name:"Google: Lyria 3 Pro Preview",created:1774907286,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text","image"]},{id:"google/lyria-3-clip-preview",name:"Google: Lyria 3 Clip Preview",created:1774907255,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text","image"]},{id:"kwaipilot/kat-coder-pro-v2",name:"Kwaipilot: KAT-Coder-Pro V2",created:1774649310,contextLength:256e3,maxOutputTokens:8e4,inputPricePerMillion:.3,outputPricePerMillion:1.2,modalities:["text"]},{id:"rekaai/reka-edge",name:"Reka Edge",created:1774026965,contextLength:16384,maxOutputTokens:16384,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.09999999999999999,modalities:["image","text","video"]},{id:"xiaomi/mimo-v2-omni",name:"Xiaomi: MiMo-V2-Omni",created:1773863703,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:.39999999999999997,outputPricePerMillion:2,modalities:["text","audio","image","video"]},{id:"xiaomi/mimo-v2-pro",name:"Xiaomi: MiMo-V2-Pro",created:1773863643,contextLength:1048576,maxOutputTokens:131072,inputPricePerMillion:1,outputPricePerMillion:3,modalities:["text"]},{id:"minimax/minimax-m2.7",name:"MiniMax: MiniMax M2.7",created:1773836697,contextLength:196608,maxOutputTokens:131072,inputPricePerMillion:.27899999999999997,outputPricePerMillion:1.2,modalities:["text"]},{id:"openai/gpt-5.4-nano",name:"OpenAI: GPT-5.4 Nano",created:1773748187,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:.19999999999999998,outputPricePerMillion:1.25,modalities:["file","image","text"]},{id:"openai/gpt-5.4-mini",name:"OpenAI: GPT-5.4 Mini",created:1773748178,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:.75,outputPricePerMillion:4.5,modalities:["file","image","text"]},{id:"mistralai/mistral-small-2603",name:"Mistral: Mistral Small 4",created:1773695685,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:.15,outputPricePerMillion:.6,modalities:["text","image"]},{id:"z-ai/glm-5-turbo",name:"Z.ai: GLM 5 Turbo",created:1773583573,contextLength:202752,maxOutputTokens:131072,inputPricePerMillion:1.2,outputPricePerMillion:4,modalities:["text"]},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",created:1773245239,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA: Nemotron 3 Super",created:1773245239,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:.09,outputPricePerMillion:.44999999999999996,modalities:["text"]},{id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",created:1773157231,contextLength:262144,maxOutputTokens:131072,inputPricePerMillion:.25,outputPricePerMillion:2,modalities:["text","image","video"]},{id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",created:1773152396,contextLength:262144,maxOutputTokens:81920,inputPricePerMillion:.04,outputPricePerMillion:.15,modalities:["text","image","video"]},{id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",created:1772734366,contextLength:105e4,maxOutputTokens:128e3,inputPricePerMillion:30,outputPricePerMillion:180,modalities:["text","image","file"]},{id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",created:1772734352,contextLength:105e4,maxOutputTokens:128e3,inputPricePerMillion:2.5,outputPricePerMillion:15,modalities:["text","image","file"]},{id:"inception/mercury-2",name:"Inception: Mercury 2",created:1772636275,contextLength:128e3,maxOutputTokens:5e4,inputPricePerMillion:.25,outputPricePerMillion:.75,modalities:["text"]},{id:"openai/gpt-5.3-chat",name:"OpenAI: GPT-5.3 Chat",created:1772564061,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:1.75,outputPricePerMillion:14,modalities:["text","image","file"]},{id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",created:1772512673,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:.25,outputPricePerMillion:1.5,modalities:["text","image","video","file","audio"]},{id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",created:1772131107,contextLength:262144,maxOutputTokens:131072,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.39999999999999997,modalities:["text","image","video"]},{id:"google/gemini-3.1-flash-image-preview",name:"Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)",created:1772119558,contextLength:65536,maxOutputTokens:65536,inputPricePerMillion:.5,outputPricePerMillion:3,modalities:["image","text"]},{id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",created:1772053822,contextLength:262144,maxOutputTokens:81920,inputPricePerMillion:.14,outputPricePerMillion:1,modalities:["text","image","video"]},{id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",created:1772053810,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:.195,outputPricePerMillion:1.56,modalities:["text","image","video"]},{id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",created:1772053789,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:.26,outputPricePerMillion:2.08,modalities:["text","image","video"]},{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",created:1772053776,contextLength:1e6,maxOutputTokens:65536,inputPricePerMillion:.065,outputPricePerMillion:.26,modalities:["text","image","video"]},{id:"liquid/lfm-2-24b-a2b",name:"LiquidAI: LFM2-24B-A2B",created:1772048711,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:.03,outputPricePerMillion:.12,modalities:["text"]},{id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",created:1772045923,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:2,outputPricePerMillion:12,modalities:["text","audio","image","video","file"]},{id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",created:1771959164,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:1.75,outputPricePerMillion:14,modalities:["text","image","file"]},{id:"aion-labs/aion-2.0",name:"AionLabs: Aion-2.0",created:1771881306,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.7999999999999999,outputPricePerMillion:1.5999999999999999,modalities:["text"]},{id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",created:1771509627,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:2,outputPricePerMillion:12,modalities:["audio","file","image","text","video"]},{id:"anthropic/claude-sonnet-4.6",name:"Anthropic: Claude Sonnet 4.6",created:1771342990,contextLength:1e6,maxOutputTokens:128e3,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["text","image","file"]},{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",created:1771229416,contextLength:1e6,maxOutputTokens:65536,inputPricePerMillion:.26,outputPricePerMillion:1.56,modalities:["text","image","video"]},{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",created:1771223018,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:.39,outputPricePerMillion:2.34,modalities:["text","image","video"]},{id:"minimax/minimax-m2.5:free",name:"MiniMax: MiniMax M2.5 (free)",created:1770908502,contextLength:196608,maxOutputTokens:8192,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",created:1770908502,contextLength:196608,maxOutputTokens:196608,inputPricePerMillion:.15,outputPricePerMillion:1.15,modalities:["text"]},{id:"z-ai/glm-5",name:"Z.ai: GLM 5",created:1770829182,contextLength:202752,maxOutputTokens:0,inputPricePerMillion:.6,outputPricePerMillion:1.92,modalities:["text"]},{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",created:1770671901,contextLength:262144,maxOutputTokens:32768,inputPricePerMillion:.78,outputPricePerMillion:3.9,modalities:["text"]},{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",created:1770219050,contextLength:1e6,maxOutputTokens:128e3,inputPricePerMillion:5,outputPricePerMillion:25,modalities:["text","image","file"]},{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",created:1770164101,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:.11,outputPricePerMillion:.7999999999999999,modalities:["text"]},{id:"openrouter/free",name:"Free Models Router",created:1769917427,contextLength:2e5,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text","image"]},{id:"stepfun/step-3.5-flash",name:"StepFun: Step 3.5 Flash",created:1769728337,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.3,modalities:["text"]},{id:"arcee-ai/trinity-large-preview",name:"Arcee AI: Trinity Large Preview",created:1769552670,contextLength:131e3,maxOutputTokens:0,inputPricePerMillion:.15,outputPricePerMillion:.44999999999999996,modalities:["text"]},{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",created:1769487076,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:.39999999999999997,outputPricePerMillion:1.9,modalities:["text","image"]},{id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",created:1769481200,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:.15,outputPricePerMillion:.6,modalities:["text"]},{id:"minimax/minimax-m2-her",name:"MiniMax: MiniMax M2-her",created:1769177239,contextLength:65536,maxOutputTokens:2048,inputPricePerMillion:.3,outputPricePerMillion:1.2,modalities:["text"]},{id:"writer/palmyra-x5",name:"Writer: Palmyra X5",created:1769003823,contextLength:104e4,maxOutputTokens:8192,inputPricePerMillion:.6,outputPricePerMillion:6,modalities:["text"]},{id:"liquid/lfm-2.5-1.2b-thinking:free",name:"LiquidAI: LFM2.5-1.2B-Thinking (free)",created:1768927527,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"liquid/lfm-2.5-1.2b-instruct:free",name:"LiquidAI: LFM2.5-1.2B-Instruct (free)",created:1768927521,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"openai/gpt-audio",name:"OpenAI: GPT Audio",created:1768862569,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text","audio"]},{id:"openai/gpt-audio-mini",name:"OpenAI: GPT Audio Mini",created:1768859419,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:.6,outputPricePerMillion:2.4,modalities:["text","audio"]},{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",created:1768833913,contextLength:202752,maxOutputTokens:16384,inputPricePerMillion:.06,outputPricePerMillion:.39999999999999997,modalities:["text"]},{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",created:1768409315,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:1.75,outputPricePerMillion:14,modalities:["text","image"]},{id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",created:1766505011,contextLength:262144,maxOutputTokens:32768,inputPricePerMillion:.075,outputPricePerMillion:.3,modalities:["image","text","video"]},{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",created:1766504997,contextLength:262144,maxOutputTokens:32768,inputPricePerMillion:.25,outputPricePerMillion:2,modalities:["image","text","video"]},{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",created:1766454997,contextLength:196608,maxOutputTokens:196608,inputPricePerMillion:.29,outputPricePerMillion:.95,modalities:["text"]},{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",created:1766378014,contextLength:202752,maxOutputTokens:131072,inputPricePerMillion:.39999999999999997,outputPricePerMillion:1.75,modalities:["text"]},{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",created:1765987078,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:.5,outputPricePerMillion:3,modalities:["text","image","file","audio","video"]},{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",created:1765731308,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.3,modalities:["text"]},{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"NVIDIA: Nemotron 3 Nano 30B A3B (free)",created:1765731275,contextLength:256e3,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",created:1765731275,contextLength:262144,maxOutputTokens:228e3,inputPricePerMillion:.049999999999999996,outputPricePerMillion:.19999999999999998,modalities:["text"]},{id:"openai/gpt-5.2-chat",name:"OpenAI: GPT-5.2 Chat",created:1765389783,contextLength:128e3,maxOutputTokens:32e3,inputPricePerMillion:1.75,outputPricePerMillion:14,modalities:["file","image","text"]},{id:"openai/gpt-5.2-pro",name:"OpenAI: GPT-5.2 Pro",created:1765389780,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:21,outputPricePerMillion:168,modalities:["image","text","file"]},{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",created:1765389775,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:1.75,outputPricePerMillion:14,modalities:["file","image","text"]},{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",created:1765285419,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:.39999999999999997,outputPricePerMillion:2,modalities:["text"]},{id:"relace/relace-search",name:"Relace: Relace Search",created:1765213560,contextLength:256e3,maxOutputTokens:128e3,inputPricePerMillion:1,outputPricePerMillion:3,modalities:["text"]},{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",created:1765207462,contextLength:131072,maxOutputTokens:24e3,inputPricePerMillion:.3,outputPricePerMillion:.8999999999999999,modalities:["image","text","video"]},{id:"nex-agi/deepseek-v3.1-nex-n1",name:"Nex AGI: DeepSeek V3.1 Nex N1",created:1765204393,contextLength:131072,maxOutputTokens:163840,inputPricePerMillion:.135,outputPricePerMillion:.5,modalities:["text"]},{id:"essentialai/rnj-1-instruct",name:"EssentialAI: Rnj 1 Instruct",created:1765094847,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:.15,outputPricePerMillion:.15,modalities:["text"]},{id:"openrouter/bodybuilder",name:"Body Builder (beta)",created:1764903653,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:-1e6,outputPricePerMillion:-1e6,modalities:["text"]},{id:"openai/gpt-5.1-codex-max",name:"OpenAI: GPT-5.1-Codex-Max",created:1764878934,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["text","image"]},{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",created:1764696672,contextLength:1e6,maxOutputTokens:65535,inputPricePerMillion:.3,outputPricePerMillion:2.5,modalities:["text","image","video","file"]},{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",created:1764681735,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:.19999999999999998,outputPricePerMillion:.19999999999999998,modalities:["text","image"]},{id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",created:1764681654,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:.15,outputPricePerMillion:.15,modalities:["text","image"]},{id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",created:1764681560,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.09999999999999999,modalities:["text","image"]},{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",created:1764624472,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:.5,outputPricePerMillion:1.5,modalities:["text","image"]},{id:"arcee-ai/trinity-mini",name:"Arcee AI: Trinity Mini",created:1764601720,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:.045,outputPricePerMillion:.15,modalities:["text"]},{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek: DeepSeek V3.2 Speciale",created:1764594837,contextLength:163840,maxOutputTokens:163840,inputPricePerMillion:.28700000000000003,outputPricePerMillion:.431,modalities:["text"]},{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",created:1764594642,contextLength:131072,maxOutputTokens:65536,inputPricePerMillion:.252,outputPricePerMillion:.378,modalities:["text"]},{id:"prime-intellect/intellect-3",name:"Prime Intellect: INTELLECT-3",created:1764212534,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:.19999999999999998,outputPricePerMillion:1.1,modalities:["text"]},{id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",created:1764010580,contextLength:2e5,maxOutputTokens:64e3,inputPricePerMillion:5,outputPricePerMillion:25,modalities:["file","image","text"]},{id:"allenai/olmo-3-32b-think",name:"AllenAI: Olmo 3 32B Think",created:1763758276,contextLength:65536,maxOutputTokens:65536,inputPricePerMillion:.15,outputPricePerMillion:.5,modalities:["text"]},{id:"google/gemini-3-pro-image-preview",name:"Google: Nano Banana Pro (Gemini 3 Pro Image Preview)",created:1763653797,contextLength:65536,maxOutputTokens:32768,inputPricePerMillion:2,outputPricePerMillion:12,modalities:["image","text"]},{id:"x-ai/grok-4.1-fast",name:"xAI: Grok 4.1 Fast",created:1763587502,contextLength:2e6,maxOutputTokens:3e4,inputPricePerMillion:.19999999999999998,outputPricePerMillion:.5,modalities:["text","image","file"]},{id:"deepcogito/cogito-v2.1-671b",name:"Deep Cogito: Cogito v2.1 671B",created:1763071233,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:1.25,outputPricePerMillion:1.25,modalities:["text"]},{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",created:1763060305,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["image","text","file"]},{id:"openai/gpt-5.1-chat",name:"OpenAI: GPT-5.1 Chat",created:1763060302,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["file","image","text"]},{id:"openai/gpt-5.1-codex",name:"OpenAI: GPT-5.1-Codex",created:1763060298,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["text","image"]},{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",created:1763057820,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:.25,outputPricePerMillion:2,modalities:["image","text"]},{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",created:1762440622,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:.6,outputPricePerMillion:2.5,modalities:["text"]},{id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",created:1761950332,contextLength:1e6,maxOutputTokens:32e3,inputPricePerMillion:2.5,outputPricePerMillion:12.5,modalities:["text","image"]},{id:"perplexity/sonar-pro-search",name:"Perplexity: Sonar Pro Search",created:1761854366,contextLength:2e5,maxOutputTokens:8e3,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["text","image"]},{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",created:1761835144,contextLength:32e3,maxOutputTokens:0,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.3,modalities:["text","audio"]},{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",created:1761752836,contextLength:131072,maxOutputTokens:65536,inputPricePerMillion:.075,outputPricePerMillion:.3,modalities:["text"]},{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"NVIDIA: Nemotron Nano 12B 2 VL (free)",created:1761675565,contextLength:128e3,maxOutputTokens:128e3,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["image","text","video"]},{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",created:1761252093,contextLength:196608,maxOutputTokens:196608,inputPricePerMillion:.255,outputPricePerMillion:1,modalities:["text"]},{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",created:1761231332,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.10400000000000001,outputPricePerMillion:.41600000000000004,modalities:["text","image"]},{id:"ibm-granite/granite-4.0-h-micro",name:"IBM: Granite 4.0 Micro",created:1760927695,contextLength:131e3,maxOutputTokens:0,inputPricePerMillion:.017,outputPricePerMillion:.11,modalities:["text"]},{id:"microsoft/phi-4-mini-instruct",name:"Microsoft: Phi 4 Mini Instruct",created:1760726049,contextLength:128e3,maxOutputTokens:128e3,inputPricePerMillion:.08,outputPricePerMillion:.35,modalities:["text"]},{id:"openai/gpt-5-image-mini",name:"OpenAI: GPT-5 Image Mini",created:1760624583,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:2.5,outputPricePerMillion:2,modalities:["file","image","text"]},{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",created:1760547638,contextLength:2e5,maxOutputTokens:64e3,inputPricePerMillion:1,outputPricePerMillion:5,modalities:["text","image","file"]},{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",created:1760463746,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.117,outputPricePerMillion:1.365,modalities:["image","text"]},{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",created:1760463308,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.08,outputPricePerMillion:.5,modalities:["image","text"]},{id:"openai/gpt-5-image",name:"OpenAI: GPT-5 Image",created:1760447986,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:10,outputPricePerMillion:10,modalities:["image","text","file"]},{id:"openai/o3-deep-research",name:"OpenAI: o3 Deep Research",created:1760129661,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:10,outputPricePerMillion:40,modalities:["image","text","file"]},{id:"openai/o4-mini-deep-research",name:"OpenAI: o4 Mini Deep Research",created:1760129642,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:2,outputPricePerMillion:8,modalities:["file","image","text"]},{id:"nvidia/llama-3.3-nemotron-super-49b-v1.5",name:"NVIDIA: Llama 3.3 Nemotron Super 49B V1.5",created:1760101395,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.39999999999999997,modalities:["text"]},{id:"baidu/ernie-4.5-21b-a3b-thinking",name:"Baidu: ERNIE 4.5 21B A3B Thinking",created:1760048887,contextLength:131072,maxOutputTokens:65536,inputPricePerMillion:.07,outputPricePerMillion:.28,modalities:["text"]},{id:"google/gemini-2.5-flash-image",name:"Google: Nano Banana (Gemini 2.5 Flash Image)",created:1759870431,contextLength:32768,maxOutputTokens:32768,inputPricePerMillion:.3,outputPricePerMillion:2.5,modalities:["image","text"]},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",created:1759794479,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.13,outputPricePerMillion:1.56,modalities:["text","image"]},{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",created:1759794476,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.13,outputPricePerMillion:.52,modalities:["text","image"]},{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",created:1759776663,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:15,outputPricePerMillion:120,modalities:["image","text","file"]},{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",created:1759235576,contextLength:202752,maxOutputTokens:131072,inputPricePerMillion:.43,outputPricePerMillion:1.74,modalities:["text"]},{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",created:1759161676,contextLength:1e6,maxOutputTokens:64e3,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["text","image","file"]},{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",created:1759150481,contextLength:163840,maxOutputTokens:65536,inputPricePerMillion:.27,outputPricePerMillion:.41,modalities:["text"]},{id:"thedrummer/cydonia-24b-v4.1",name:"TheDrummer: Cydonia 24B V4.1",created:1758931878,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:.3,outputPricePerMillion:.5,modalities:["text"]},{id:"relace/relace-apply-3",name:"Relace: Relace Apply 3",created:1758891572,contextLength:256e3,maxOutputTokens:128e3,inputPricePerMillion:.85,outputPricePerMillion:1.25,modalities:["text"]},{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Google: Gemini 2.5 Flash Lite Preview 09-2025",created:1758819686,contextLength:1048576,maxOutputTokens:65535,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.39999999999999997,modalities:["text","image","file","audio","video"]},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",created:1758668690,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.26,outputPricePerMillion:2.6,modalities:["text","image"]},{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",created:1758668687,contextLength:262144,maxOutputTokens:16384,inputPricePerMillion:.19999999999999998,outputPricePerMillion:.88,modalities:["text","image"]},{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",created:1758662808,contextLength:262144,maxOutputTokens:32768,inputPricePerMillion:.78,outputPricePerMillion:3.9,modalities:["text"]},{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",created:1758662707,contextLength:1e6,maxOutputTokens:65536,inputPricePerMillion:.65,outputPricePerMillion:3.25,modalities:["text"]},{id:"openai/gpt-5-codex",name:"OpenAI: GPT-5 Codex",created:1758643403,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["text","image"]},{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",created:1758548275,contextLength:163840,maxOutputTokens:32768,inputPricePerMillion:.27,outputPricePerMillion:.95,modalities:["text"]},{id:"x-ai/grok-4-fast",name:"xAI: Grok 4 Fast",created:1758240090,contextLength:2e6,maxOutputTokens:3e4,inputPricePerMillion:.19999999999999998,outputPricePerMillion:.5,modalities:["text","image","file"]},{id:"alibaba/tongyi-deepresearch-30b-a3b",name:"Tongyi DeepResearch 30B A3B",created:1758210804,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:.09,outputPricePerMillion:.44999999999999996,modalities:["text"]},{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",created:1758115536,contextLength:1e6,maxOutputTokens:65536,inputPricePerMillion:.195,outputPricePerMillion:.975,modalities:["text"]},{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",created:1757612284,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.0975,outputPricePerMillion:.78,modalities:["text"]},{id:"qwen/qwen3-next-80b-a3b-instruct:free",name:"Qwen: Qwen3 Next 80B A3B Instruct (free)",created:1757612213,contextLength:262144,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",created:1757612213,contextLength:262144,maxOutputTokens:16384,inputPricePerMillion:.09,outputPricePerMillion:1.1,modalities:["text"]},{id:"qwen/qwen-plus-2025-07-28:thinking",name:"Qwen: Qwen Plus 0728 (thinking)",created:1757347599,contextLength:1e6,maxOutputTokens:32768,inputPricePerMillion:.26,outputPricePerMillion:.78,modalities:["text"]},{id:"qwen/qwen-plus-2025-07-28",name:"Qwen: Qwen Plus 0728",created:1757347599,contextLength:1e6,maxOutputTokens:32768,inputPricePerMillion:.26,outputPricePerMillion:.78,modalities:["text"]},{id:"nvidia/nemotron-nano-9b-v2:free",name:"NVIDIA: Nemotron Nano 9B V2 (free)",created:1757106807,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"nvidia/nemotron-nano-9b-v2",name:"NVIDIA: Nemotron Nano 9B V2",created:1757106807,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.04,outputPricePerMillion:.16,modalities:["text"]},{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",created:1757021147,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:.6,outputPricePerMillion:2.5,modalities:["text"]},{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",created:1756399192,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:.08,outputPricePerMillion:.39999999999999997,modalities:["text"]},{id:"x-ai/grok-code-fast-1",name:"xAI: Grok Code Fast 1",created:1756238927,contextLength:256e3,maxOutputTokens:1e4,inputPricePerMillion:.19999999999999998,outputPricePerMillion:1.5,modalities:["text"]},{id:"nousresearch/hermes-4-70b",name:"Nous: Hermes 4 70B",created:1756236182,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.13,outputPricePerMillion:.39999999999999997,modalities:["text"]},{id:"nousresearch/hermes-4-405b",name:"Nous: Hermes 4 405B",created:1756235463,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:1,outputPricePerMillion:3,modalities:["text"]},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",created:1755779628,contextLength:163840,maxOutputTokens:32768,inputPricePerMillion:.21,outputPricePerMillion:.7899999999999999,modalities:["text"]},{id:"openai/gpt-4o-audio-preview",name:"OpenAI: GPT-4o Audio",created:1755233061,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["audio","text"]},{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",created:1755095639,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.39999999999999997,outputPricePerMillion:2,modalities:["text","image"]},{id:"baidu/ernie-4.5-21b-a3b",name:"Baidu: ERNIE 4.5 21B A3B",created:1755034167,contextLength:12e4,maxOutputTokens:8e3,inputPricePerMillion:.07,outputPricePerMillion:.28,modalities:["text"]},{id:"baidu/ernie-4.5-vl-28b-a3b",name:"Baidu: ERNIE 4.5 VL 28B A3B",created:1755032836,contextLength:3e4,maxOutputTokens:8e3,inputPricePerMillion:.14,outputPricePerMillion:.56,modalities:["text","image"]},{id:"z-ai/glm-4.5v",name:"Z.ai: GLM 4.5V",created:1754922288,contextLength:65536,maxOutputTokens:16384,inputPricePerMillion:.6,outputPricePerMillion:1.7999999999999998,modalities:["text","image"]},{id:"ai21/jamba-large-1.7",name:"AI21: Jamba Large 1.7",created:1754669020,contextLength:256e3,maxOutputTokens:4096,inputPricePerMillion:2,outputPricePerMillion:8,modalities:["text"]},{id:"openai/gpt-5-chat",name:"OpenAI: GPT-5 Chat",created:1754587837,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["file","image","text"]},{id:"openai/gpt-5",name:"OpenAI: GPT-5",created:1754587413,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["text","image","file"]},{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",created:1754587407,contextLength:4e5,maxOutputTokens:128e3,inputPricePerMillion:.25,outputPricePerMillion:2,modalities:["text","image","file"]},{id:"openai/gpt-5-nano",name:"OpenAI: GPT-5 Nano",created:1754587402,contextLength:4e5,maxOutputTokens:0,inputPricePerMillion:.049999999999999996,outputPricePerMillion:.39999999999999997,modalities:["text","image","file"]},{id:"openai/gpt-oss-120b:free",name:"OpenAI: gpt-oss-120b (free)",created:1754414231,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",created:1754414231,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.039,outputPricePerMillion:.18,modalities:["text"]},{id:"openai/gpt-oss-20b:free",name:"OpenAI: gpt-oss-20b (free)",created:1754414229,contextLength:131072,maxOutputTokens:8192,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",created:1754414229,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:.03,outputPricePerMillion:.14,modalities:["text"]},{id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",created:1754411591,contextLength:2e5,maxOutputTokens:32e3,inputPricePerMillion:15,outputPricePerMillion:75,modalities:["image","text","file"]},{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",created:1754079630,contextLength:256e3,maxOutputTokens:0,inputPricePerMillion:.3,outputPricePerMillion:.8999999999999999,modalities:["text"]},{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen: Qwen3 Coder 30B A3B Instruct",created:1753972379,contextLength:16e4,maxOutputTokens:32768,inputPricePerMillion:.07,outputPricePerMillion:.27,modalities:["text"]},{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen: Qwen3 30B A3B Instruct 2507",created:1753806965,contextLength:262144,maxOutputTokens:262144,inputPricePerMillion:.09,outputPricePerMillion:.3,modalities:["text"]},{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",created:1753471347,contextLength:131072,maxOutputTokens:98304,inputPricePerMillion:.6,outputPricePerMillion:2.2,modalities:["text"]},{id:"z-ai/glm-4.5-air:free",name:"Z.ai: GLM 4.5 Air (free)",created:1753471258,contextLength:131072,maxOutputTokens:96e3,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",created:1753471258,contextLength:131072,maxOutputTokens:98304,inputPricePerMillion:.13,outputPricePerMillion:.85,modalities:["text"]},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",created:1753449557,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.14950000000000002,outputPricePerMillion:1.495,modalities:["text"]},{id:"z-ai/glm-4-32b",name:"Z.ai: GLM 4 32B ",created:1753376617,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.09999999999999999,modalities:["text"]},{id:"qwen/qwen3-coder:free",name:"Qwen: Qwen3 Coder 480B A35B (free)",created:1753230546,contextLength:262e3,maxOutputTokens:262e3,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",created:1753230546,contextLength:262144,maxOutputTokens:65536,inputPricePerMillion:.22,outputPricePerMillion:1.7999999999999998,modalities:["text"]},{id:"bytedance/ui-tars-1.5-7b",name:"ByteDance: UI-TARS 7B ",created:1753205056,contextLength:128e3,maxOutputTokens:2048,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.19999999999999998,modalities:["image","text"]},{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",created:1753200276,contextLength:1048576,maxOutputTokens:65535,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.39999999999999997,modalities:["text","image","file","audio","video"]},{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",created:1753119555,contextLength:262144,maxOutputTokens:16384,inputPricePerMillion:.071,outputPricePerMillion:.09999999999999999,modalities:["text"]},{id:"switchpoint/router",name:"Switchpoint Router",created:1752272899,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.85,outputPricePerMillion:3.4,modalities:["text"]},{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",created:1752263252,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.5700000000000001,outputPricePerMillion:2.3,modalities:["text"]},{id:"mistralai/devstral-medium",name:"Mistral: Devstral Medium",created:1752161321,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.39999999999999997,outputPricePerMillion:2,modalities:["text"]},{id:"mistralai/devstral-small",name:"Mistral: Devstral Small 1.1",created:1752160751,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.3,modalities:["text"]},{id:"cognitivecomputations/dolphin-mistral-24b-venice-edition:free",name:"Venice: Uncensored (free)",created:1752094966,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"x-ai/grok-4",name:"xAI: Grok 4",created:1752087689,contextLength:256e3,maxOutputTokens:0,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["image","text","file"]},{id:"tencent/hunyuan-a13b-instruct",name:"Tencent: Hunyuan A13B Instruct",created:1751987664,contextLength:131072,maxOutputTokens:131072,inputPricePerMillion:.14,outputPricePerMillion:.5700000000000001,modalities:["text"]},{id:"morph/morph-v3-large",name:"Morph: Morph V3 Large",created:1751910858,contextLength:262144,maxOutputTokens:131072,inputPricePerMillion:.8999999999999999,outputPricePerMillion:1.9,modalities:["text"]},{id:"morph/morph-v3-fast",name:"Morph: Morph V3 Fast",created:1751910002,contextLength:81920,maxOutputTokens:38e3,inputPricePerMillion:.7999999999999999,outputPricePerMillion:1.2,modalities:["text"]},{id:"baidu/ernie-4.5-vl-424b-a47b",name:"Baidu: ERNIE 4.5 VL 424B A47B ",created:1751300903,contextLength:123e3,maxOutputTokens:16e3,inputPricePerMillion:.42,outputPricePerMillion:1.25,modalities:["image","text"]},{id:"baidu/ernie-4.5-300b-a47b",name:"Baidu: ERNIE 4.5 300B A47B ",created:1751300139,contextLength:123e3,maxOutputTokens:12e3,inputPricePerMillion:.28,outputPricePerMillion:1.1,modalities:["text"]},{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",created:1750443016,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:.075,outputPricePerMillion:.19999999999999998,modalities:["image","text"]},{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",created:1750200414,contextLength:1e6,maxOutputTokens:4e4,inputPricePerMillion:.39999999999999997,outputPricePerMillion:2.2,modalities:["text"]},{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",created:1750172488,contextLength:1048576,maxOutputTokens:65535,inputPricePerMillion:.3,outputPricePerMillion:2.5,modalities:["file","image","text","audio","video"]},{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",created:1750169544,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["text","image","file","audio","video"]},{id:"openai/o3-pro",name:"OpenAI: o3 Pro",created:1749598352,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:20,outputPricePerMillion:80,modalities:["text","file","image"]},{id:"x-ai/grok-3-mini",name:"xAI: Grok 3 Mini",created:1749583245,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.3,outputPricePerMillion:.5,modalities:["text"]},{id:"x-ai/grok-3",name:"xAI: Grok 3",created:1749582908,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["text"]},{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",created:1749137257,contextLength:1048576,maxOutputTokens:65536,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["file","image","text","audio"]},{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",created:1748455170,contextLength:163840,maxOutputTokens:32768,inputPricePerMillion:.5,outputPricePerMillion:2.1500000000000004,modalities:["text"]},{id:"anthropic/claude-opus-4",name:"Anthropic: Claude Opus 4",created:1747931245,contextLength:2e5,maxOutputTokens:32e3,inputPricePerMillion:15,outputPricePerMillion:75,modalities:["image","text","file"]},{id:"anthropic/claude-sonnet-4",name:"Anthropic: Claude Sonnet 4",created:1747930371,contextLength:1e6,maxOutputTokens:64e3,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["image","text","file"]},{id:"google/gemma-3n-e4b-it",name:"Google: Gemma 3n 4B",created:1747776824,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:.06,outputPricePerMillion:.12,modalities:["text"]},{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",created:1746627341,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.39999999999999997,outputPricePerMillion:2,modalities:["text","image"]},{id:"google/gemini-2.5-pro-preview-05-06",name:"Google: Gemini 2.5 Pro Preview 05-06",created:1746578513,contextLength:1048576,maxOutputTokens:65535,inputPricePerMillion:1.25,outputPricePerMillion:10,modalities:["text","image","file","audio","video"]},{id:"arcee-ai/spotlight",name:"Arcee AI: Spotlight",created:1746481552,contextLength:131072,maxOutputTokens:65537,inputPricePerMillion:.18,outputPricePerMillion:.18,modalities:["image","text"]},{id:"arcee-ai/maestro-reasoning",name:"Arcee AI: Maestro Reasoning",created:1746481269,contextLength:131072,maxOutputTokens:32e3,inputPricePerMillion:.8999999999999999,outputPricePerMillion:3.3000000000000003,modalities:["text"]},{id:"arcee-ai/virtuoso-large",name:"Arcee AI: Virtuoso Large",created:1746478885,contextLength:131072,maxOutputTokens:64e3,inputPricePerMillion:.75,outputPricePerMillion:1.2,modalities:["text"]},{id:"arcee-ai/coder-large",name:"Arcee AI: Coder Large",created:1746478663,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:.5,outputPricePerMillion:.7999999999999999,modalities:["text"]},{id:"meta-llama/llama-guard-4-12b",name:"Meta: Llama Guard 4 12B",created:1745975193,contextLength:163840,maxOutputTokens:16384,inputPricePerMillion:.18,outputPricePerMillion:.18,modalities:["image","text"]},{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",created:1745878604,contextLength:40960,maxOutputTokens:2e4,inputPricePerMillion:.09,outputPricePerMillion:.44999999999999996,modalities:["text"]},{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",created:1745876632,contextLength:40960,maxOutputTokens:8192,inputPricePerMillion:.049999999999999996,outputPricePerMillion:.39999999999999997,modalities:["text"]},{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",created:1745876478,contextLength:40960,maxOutputTokens:40960,inputPricePerMillion:.06,outputPricePerMillion:.24,modalities:["text"]},{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",created:1745875945,contextLength:40960,maxOutputTokens:16384,inputPricePerMillion:.08,outputPricePerMillion:.28,modalities:["text"]},{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",created:1745875757,contextLength:131072,maxOutputTokens:8192,inputPricePerMillion:.45499999999999996,outputPricePerMillion:1.8199999999999998,modalities:["text"]},{id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",created:1744824212,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:1.1,outputPricePerMillion:4.4,modalities:["image","text","file"]},{id:"openai/o3",name:"OpenAI: o3",created:1744823457,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:2,outputPricePerMillion:8,modalities:["image","text","file"]},{id:"openai/o4-mini",name:"OpenAI: o4 Mini",created:1744820942,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:1.1,outputPricePerMillion:4.4,modalities:["image","text","file"]},{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",created:1744651385,contextLength:1047576,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:8,modalities:["image","text","file"]},{id:"openai/gpt-4.1-mini",name:"OpenAI: GPT-4.1 Mini",created:1744651381,contextLength:1047576,maxOutputTokens:32768,inputPricePerMillion:.39999999999999997,outputPricePerMillion:1.5999999999999999,modalities:["image","text","file"]},{id:"openai/gpt-4.1-nano",name:"OpenAI: GPT-4.1 Nano",created:1744651369,contextLength:1047576,maxOutputTokens:32768,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.39999999999999997,modalities:["image","text","file"]},{id:"alfredpros/codellama-7b-instruct-solidity",name:"AlfredPros: CodeLLaMa 7B Instruct Solidity",created:1744641874,contextLength:4096,maxOutputTokens:4096,inputPricePerMillion:.7999999999999999,outputPricePerMillion:1.2,modalities:["text"]},{id:"x-ai/grok-3-mini-beta",name:"xAI: Grok 3 Mini Beta",created:1744240195,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.3,outputPricePerMillion:.5,modalities:["text"]},{id:"x-ai/grok-3-beta",name:"xAI: Grok 3 Beta",created:1744240068,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["text"]},{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",created:1743881822,contextLength:1048576,maxOutputTokens:16384,inputPricePerMillion:.15,outputPricePerMillion:.6,modalities:["text","image"]},{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",created:1743881519,contextLength:327680,maxOutputTokens:16384,inputPricePerMillion:.08,outputPricePerMillion:.3,modalities:["text","image"]},{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",created:1742824755,contextLength:163840,maxOutputTokens:16384,inputPricePerMillion:.19999999999999998,outputPricePerMillion:.77,modalities:["text"]},{id:"openai/o1-pro",name:"OpenAI: o1-pro",created:1742423211,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:150,outputPricePerMillion:600,modalities:["text","image","file"]},{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral: Mistral Small 3.1 24B",created:1742238937,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:.35,outputPricePerMillion:.56,modalities:["text","image"]},{id:"google/gemma-3-4b-it",name:"Google: Gemma 3 4B",created:1741905510,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.04,outputPricePerMillion:.08,modalities:["text","image"]},{id:"google/gemma-3-12b-it",name:"Google: Gemma 3 12B",created:1741902625,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.04,outputPricePerMillion:.13,modalities:["text","image"]},{id:"cohere/command-a",name:"Cohere: Command A",created:1741894342,contextLength:256e3,maxOutputTokens:8192,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text"]},{id:"openai/gpt-4o-mini-search-preview",name:"OpenAI: GPT-4o-mini Search Preview",created:1741818122,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:.15,outputPricePerMillion:.6,modalities:["text"]},{id:"openai/gpt-4o-search-preview",name:"OpenAI: GPT-4o Search Preview",created:1741817949,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text"]},{id:"rekaai/reka-flash-3",name:"Reka Flash 3",created:1741812813,contextLength:65536,maxOutputTokens:65536,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.19999999999999998,modalities:["text"]},{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",created:1741756359,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.08,outputPricePerMillion:.16,modalities:["text","image"]},{id:"thedrummer/skyfall-36b-v2",name:"TheDrummer: Skyfall 36B V2",created:1741636566,contextLength:32768,maxOutputTokens:32768,inputPricePerMillion:.55,outputPricePerMillion:.7999999999999999,modalities:["text"]},{id:"perplexity/sonar-reasoning-pro",name:"Perplexity: Sonar Reasoning Pro",created:1741313308,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:8,modalities:["text","image"]},{id:"perplexity/sonar-pro",name:"Perplexity: Sonar Pro",created:1741312423,contextLength:2e5,maxOutputTokens:8e3,inputPricePerMillion:3,outputPricePerMillion:15,modalities:["text","image"]},{id:"perplexity/sonar-deep-research",name:"Perplexity: Sonar Deep Research",created:1741311246,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:8,modalities:["text"]},{id:"google/gemini-2.0-flash-lite-001",name:"Google: Gemini 2.0 Flash Lite",created:1740506212,contextLength:1048576,maxOutputTokens:8192,inputPricePerMillion:.075,outputPricePerMillion:.3,modalities:["text","image","file","audio","video"]},{id:"mistralai/mistral-saba",name:"Mistral: Saba",created:1739803239,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:.19999999999999998,outputPricePerMillion:.6,modalities:["text"]},{id:"meta-llama/llama-guard-3-8b",name:"Llama Guard 3 8B",created:1739401318,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.48,outputPricePerMillion:.03,modalities:["text"]},{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",created:1739372611,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:1.1,outputPricePerMillion:4.4,modalities:["text","file"]},{id:"google/gemini-2.0-flash-001",name:"Google: Gemini 2.0 Flash",created:1738769413,contextLength:1048576,maxOutputTokens:8192,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.39999999999999997,modalities:["text","image","file","audio","video"]},{id:"aion-labs/aion-1.0",name:"AionLabs: Aion-1.0",created:1738697557,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:4,outputPricePerMillion:8,modalities:["text"]},{id:"aion-labs/aion-1.0-mini",name:"AionLabs: Aion-1.0-Mini",created:1738697107,contextLength:131072,maxOutputTokens:32768,inputPricePerMillion:.7,outputPricePerMillion:1.4,modalities:["text"]},{id:"aion-labs/aion-rp-llama-3.1-8b",name:"AionLabs: Aion-RP 1.0 (8B)",created:1738696718,contextLength:32768,maxOutputTokens:32768,inputPricePerMillion:.7999999999999999,outputPricePerMillion:1.5999999999999999,modalities:["text"]},{id:"qwen/qwen2.5-vl-72b-instruct",name:"Qwen: Qwen2.5 VL 72B Instruct",created:1738410311,contextLength:32e3,maxOutputTokens:0,inputPricePerMillion:.25,outputPricePerMillion:.75,modalities:["text","image"]},{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",created:1738409840,contextLength:1e6,maxOutputTokens:32768,inputPricePerMillion:.26,outputPricePerMillion:.78,modalities:["text"]},{id:"openai/o3-mini",name:"OpenAI: o3 Mini",created:1738351721,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:1.1,outputPricePerMillion:4.4,modalities:["text","file"]},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral: Mistral Small 3",created:1738255409,contextLength:32768,maxOutputTokens:16384,inputPricePerMillion:.049999999999999996,outputPricePerMillion:.08,modalities:["text"]},{id:"deepseek/deepseek-r1-distill-qwen-32b",name:"DeepSeek: R1 Distill Qwen 32B",created:1738194830,contextLength:32768,maxOutputTokens:32768,inputPricePerMillion:.29,outputPricePerMillion:.29,modalities:["text"]},{id:"perplexity/sonar",name:"Perplexity: Sonar",created:1738013808,contextLength:127072,maxOutputTokens:0,inputPricePerMillion:1,outputPricePerMillion:1,modalities:["text","image"]},{id:"deepseek/deepseek-r1-distill-llama-70b",name:"DeepSeek: R1 Distill Llama 70B",created:1737663169,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.7,outputPricePerMillion:.7999999999999999,modalities:["text"]},{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",created:1737381095,contextLength:64e3,maxOutputTokens:16e3,inputPricePerMillion:.7,outputPricePerMillion:2.5,modalities:["text"]},{id:"minimax/minimax-01",name:"MiniMax: MiniMax-01",created:1736915462,contextLength:1000192,maxOutputTokens:1000192,inputPricePerMillion:.19999999999999998,outputPricePerMillion:1.1,modalities:["text","image"]},{id:"microsoft/phi-4",name:"Microsoft: Phi 4",created:1736489872,contextLength:16384,maxOutputTokens:16384,inputPricePerMillion:.065,outputPricePerMillion:.14,modalities:["text"]},{id:"sao10k/l3.1-70b-hanami-x1",name:"Sao10K: Llama 3.1 70B Hanami x1",created:1736302854,contextLength:16e3,maxOutputTokens:0,inputPricePerMillion:3,outputPricePerMillion:3,modalities:["text"]},{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",created:1735241320,contextLength:163840,maxOutputTokens:16384,inputPricePerMillion:.32,outputPricePerMillion:.8899999999999999,modalities:["text"]},{id:"sao10k/l3.3-euryale-70b",name:"Sao10K: Llama 3.3 Euryale 70B",created:1734535928,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.65,outputPricePerMillion:.75,modalities:["text"]},{id:"openai/o1",name:"OpenAI: o1",created:1734459999,contextLength:2e5,maxOutputTokens:1e5,inputPricePerMillion:15,outputPricePerMillion:60,modalities:["text","image","file"]},{id:"cohere/command-r7b-12-2024",name:"Cohere: Command R7B (12-2024)",created:1734158152,contextLength:128e3,maxOutputTokens:4e3,inputPricePerMillion:.0375,outputPricePerMillion:.15,modalities:["text"]},{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Meta: Llama 3.3 70B Instruct (free)",created:1733506137,contextLength:65536,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",created:1733506137,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.09999999999999999,outputPricePerMillion:.32,modalities:["text"]},{id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",created:1733437363,contextLength:3e5,maxOutputTokens:5120,inputPricePerMillion:.06,outputPricePerMillion:.24,modalities:["text","image"]},{id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",created:1733437237,contextLength:128e3,maxOutputTokens:5120,inputPricePerMillion:.035,outputPricePerMillion:.14,modalities:["text"]},{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",created:1733436303,contextLength:3e5,maxOutputTokens:5120,inputPricePerMillion:.7999999999999999,outputPricePerMillion:3.1999999999999997,modalities:["text","image"]},{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",created:1732127594,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text","image","file"]},{id:"mistralai/mistral-large-2411",name:"Mistral Large 2411",created:1731978685,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:6,modalities:["text"]},{id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",created:1731978415,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:6,modalities:["text"]},{id:"mistralai/pixtral-large-2411",name:"Mistral: Pixtral Large 2411",created:1731977388,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:6,modalities:["text","image"]},{id:"qwen/qwen-2.5-coder-32b-instruct",name:"Qwen2.5 Coder 32B Instruct",created:1731368400,contextLength:32768,maxOutputTokens:0,inputPricePerMillion:.66,outputPricePerMillion:1,modalities:["text"]},{id:"thedrummer/unslopnemo-12b",name:"TheDrummer: UnslopNemo 12B",created:1731103448,contextLength:32768,maxOutputTokens:32768,inputPricePerMillion:.39999999999999997,outputPricePerMillion:.39999999999999997,modalities:["text"]},{id:"anthropic/claude-3.5-haiku",name:"Anthropic: Claude 3.5 Haiku",created:1730678400,contextLength:2e5,maxOutputTokens:8192,inputPricePerMillion:.7999999999999999,outputPricePerMillion:4,modalities:["text","image"]},{id:"anthracite-org/magnum-v4-72b",name:"Magnum v4 72B",created:1729555200,contextLength:16384,maxOutputTokens:2048,inputPricePerMillion:3,outputPricePerMillion:5,modalities:["text"]},{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",created:1729036800,contextLength:32768,maxOutputTokens:32768,inputPricePerMillion:.04,outputPricePerMillion:.09999999999999999,modalities:["text"]},{id:"inflection/inflection-3-pi",name:"Inflection: Inflection 3 Pi",created:1728604800,contextLength:8e3,maxOutputTokens:1024,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text"]},{id:"inflection/inflection-3-productivity",name:"Inflection: Inflection 3 Productivity",created:1728604800,contextLength:8e3,maxOutputTokens:1024,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text"]},{id:"thedrummer/rocinante-12b",name:"TheDrummer: Rocinante 12B",created:1727654400,contextLength:32768,maxOutputTokens:32768,inputPricePerMillion:.16999999999999998,outputPricePerMillion:.43,modalities:["text"]},{id:"meta-llama/llama-3.2-1b-instruct",name:"Meta: Llama 3.2 1B Instruct",created:1727222400,contextLength:6e4,maxOutputTokens:0,inputPricePerMillion:.027,outputPricePerMillion:.19999999999999998,modalities:["text"]},{id:"meta-llama/llama-3.2-3b-instruct:free",name:"Meta: Llama 3.2 3B Instruct (free)",created:1727222400,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"meta-llama/llama-3.2-3b-instruct",name:"Meta: Llama 3.2 3B Instruct",created:1727222400,contextLength:8e4,maxOutputTokens:0,inputPricePerMillion:.051,outputPricePerMillion:.33999999999999997,modalities:["text"]},{id:"meta-llama/llama-3.2-11b-vision-instruct",name:"Meta: Llama 3.2 11B Vision Instruct",created:1727222400,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.245,outputPricePerMillion:.245,modalities:["text","image"]},{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",created:1726704e3,contextLength:32768,maxOutputTokens:16384,inputPricePerMillion:.36,outputPricePerMillion:.39999999999999997,modalities:["text"]},{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",created:1724976e3,contextLength:128e3,maxOutputTokens:4e3,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text"]},{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",created:1724976e3,contextLength:128e3,maxOutputTokens:4e3,inputPricePerMillion:.15,outputPricePerMillion:.6,modalities:["text"]},{id:"sao10k/l3.1-euryale-70b",name:"Sao10K: Llama 3.1 Euryale 70B v2.2",created:1724803200,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.85,outputPricePerMillion:.85,modalities:["text"]},{id:"nousresearch/hermes-3-llama-3.1-70b",name:"Nous: Hermes 3 70B Instruct",created:1723939200,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.3,outputPricePerMillion:.3,modalities:["text"]},{id:"nousresearch/hermes-3-llama-3.1-405b:free",name:"Nous: Hermes 3 405B Instruct (free)",created:1723766400,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:0,outputPricePerMillion:0,modalities:["text"]},{id:"nousresearch/hermes-3-llama-3.1-405b",name:"Nous: Hermes 3 405B Instruct",created:1723766400,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:1,outputPricePerMillion:1,modalities:["text"]},{id:"sao10k/l3-lunaris-8b",name:"Sao10K: Llama 3 8B Lunaris",created:1723507200,contextLength:8192,maxOutputTokens:16384,inputPricePerMillion:.04,outputPricePerMillion:.049999999999999996,modalities:["text"]},{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",created:1722902400,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text","image","file"]},{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",created:1721692800,contextLength:16384,maxOutputTokens:16384,inputPricePerMillion:.02,outputPricePerMillion:.049999999999999996,modalities:["text"]},{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",created:1721692800,contextLength:131072,maxOutputTokens:16384,inputPricePerMillion:.39999999999999997,outputPricePerMillion:.39999999999999997,modalities:["text"]},{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",created:1721347200,contextLength:131072,maxOutputTokens:0,inputPricePerMillion:.02,outputPricePerMillion:.03,modalities:["text"]},{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",created:1721260800,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:.15,outputPricePerMillion:.6,modalities:["text","image","file"]},{id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",created:1721260800,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:.15,outputPricePerMillion:.6,modalities:["text","image","file"]},{id:"google/gemma-2-27b-it",name:"Google: Gemma 2 27B",created:1720828800,contextLength:8192,maxOutputTokens:2048,inputPricePerMillion:.65,outputPricePerMillion:.65,modalities:["text"]},{id:"sao10k/l3-euryale-70b",name:"Sao10k: Llama 3 Euryale 70B v2.1",created:1718668800,contextLength:8192,maxOutputTokens:8192,inputPricePerMillion:1.48,outputPricePerMillion:1.48,modalities:["text"]},{id:"nousresearch/hermes-2-pro-llama-3-8b",name:"NousResearch: Hermes 2 Pro - Llama-3 8B",created:1716768e3,contextLength:8192,maxOutputTokens:8192,inputPricePerMillion:.14,outputPricePerMillion:.14,modalities:["text"]},{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",created:1715558400,contextLength:128e3,maxOutputTokens:16384,inputPricePerMillion:2.5,outputPricePerMillion:10,modalities:["text","image","file"]},{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",created:1715558400,contextLength:128e3,maxOutputTokens:4096,inputPricePerMillion:5,outputPricePerMillion:15,modalities:["text","image","file"]},{id:"meta-llama/llama-3-8b-instruct",name:"Meta: Llama 3 8B Instruct",created:1713398400,contextLength:8192,maxOutputTokens:8192,inputPricePerMillion:.04,outputPricePerMillion:.04,modalities:["text"]},{id:"meta-llama/llama-3-70b-instruct",name:"Meta: Llama 3 70B Instruct",created:1713398400,contextLength:8192,maxOutputTokens:8e3,inputPricePerMillion:.51,outputPricePerMillion:.74,modalities:["text"]},{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",created:1713312e3,contextLength:65536,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:6,modalities:["text"]},{id:"microsoft/wizardlm-2-8x22b",name:"WizardLM-2 8x22B",created:1713225600,contextLength:65535,maxOutputTokens:8e3,inputPricePerMillion:.62,outputPricePerMillion:.62,modalities:["text"]},{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",created:1712620800,contextLength:128e3,maxOutputTokens:4096,inputPricePerMillion:10,outputPricePerMillion:30,modalities:["text","image"]},{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",created:1710288e3,contextLength:2e5,maxOutputTokens:4096,inputPricePerMillion:.25,outputPricePerMillion:1.25,modalities:["text","image"]},{id:"mistralai/mistral-large",name:"Mistral Large",created:1708905600,contextLength:128e3,maxOutputTokens:0,inputPricePerMillion:2,outputPricePerMillion:6,modalities:["text"]},{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",created:1706140800,contextLength:4095,maxOutputTokens:4096,inputPricePerMillion:1,outputPricePerMillion:2,modalities:["text"]},{id:"openai/gpt-4-turbo-preview",name:"OpenAI: GPT-4 Turbo Preview",created:1706140800,contextLength:128e3,maxOutputTokens:4096,inputPricePerMillion:10,outputPricePerMillion:30,modalities:["text"]},{id:"openrouter/auto",name:"Auto Router",created:1699401600,contextLength:2e6,maxOutputTokens:0,inputPricePerMillion:-1e6,outputPricePerMillion:-1e6,modalities:["text","image","audio","file","video"]},{id:"openai/gpt-4-1106-preview",name:"OpenAI: GPT-4 Turbo (older v1106)",created:1699228800,contextLength:128e3,maxOutputTokens:4096,inputPricePerMillion:10,outputPricePerMillion:30,modalities:["text"]},{id:"mistralai/mistral-7b-instruct-v0.1",name:"Mistral: Mistral 7B Instruct v0.1",created:1695859200,contextLength:2824,maxOutputTokens:0,inputPricePerMillion:.11,outputPricePerMillion:.19,modalities:["text"]},{id:"openai/gpt-3.5-turbo-instruct",name:"OpenAI: GPT-3.5 Turbo Instruct",created:1695859200,contextLength:4095,maxOutputTokens:4096,inputPricePerMillion:1.5,outputPricePerMillion:2,modalities:["text"]},{id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",created:1693180800,contextLength:16385,maxOutputTokens:4096,inputPricePerMillion:3,outputPricePerMillion:4,modalities:["text"]},{id:"mancer/weaver",name:"Mancer: Weaver (alpha)",created:1690934400,contextLength:8e3,maxOutputTokens:2e3,inputPricePerMillion:.75,outputPricePerMillion:1,modalities:["text"]},{id:"undi95/remm-slerp-l2-13b",name:"ReMM SLERP 13B",created:1689984e3,contextLength:6144,maxOutputTokens:4096,inputPricePerMillion:.44999999999999996,outputPricePerMillion:.65,modalities:["text"]},{id:"gryphe/mythomax-l2-13b",name:"MythoMax 13B",created:1688256e3,contextLength:4096,maxOutputTokens:4096,inputPricePerMillion:.06,outputPricePerMillion:.06,modalities:["text"]},{id:"openai/gpt-4",name:"OpenAI: GPT-4",created:1685232e3,contextLength:8191,maxOutputTokens:4096,inputPricePerMillion:30,outputPricePerMillion:60,modalities:["text"]},{id:"openai/gpt-4-0314",name:"OpenAI: GPT-4 (older v0314)",created:1685232e3,contextLength:8191,maxOutputTokens:4096,inputPricePerMillion:30,outputPricePerMillion:60,modalities:["text"]},{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",created:1685232e3,contextLength:16385,maxOutputTokens:4096,inputPricePerMillion:.5,outputPricePerMillion:1.5,modalities:["text"]}]};var c=a,r=null;function i(){return r??c}a$1(i,"loadSnapshot");function s(t){r=t;}a$1(s,"setOpenRouterSnapshot");function x(){return i()}a$1(x,"getOpenRouterSnapshot");function M(){return i().models}a$1(M,"getOpenRouterModels");function g(t){return i().models.find(n=>n.id===t)}a$1(g,"findOpenRouterModel");function h(t){let n=`${t.toLowerCase()}/`;return i().models.filter(l=>l.id.toLowerCase().startsWith(n))}a$1(h,"listOpenRouterModelsByVendor");
2
- export{s as a,x as b,M as c,g as d,h as e};
@@ -1,3 +0,0 @@
1
- import {a as a$2}from'./chunk-O5HFCH2U.js';import {a}from'./chunk-HIJ2XXGX.js';import {b as b$1,c,d}from'./chunk-FU7AHZNN.js';import {b}from'./chunk-B7K2OWKC.js';import {h,a as a$1}from'./chunk-3QP5BQ3L.js';import O from'openai';h();var R=class extends a{static{a$1(this,"OpenAIClient");}_client=null;constructor(e){super(e);}initClient(){}get client(){return this._client||(this._client=new O({apiKey:this.config.apiKey??process.env.OPENAI_API_KEY,...this.config.baseUrl?{baseURL:this.config.baseUrl}:{},timeout:this.timeout})),this._client}async createMessage(e){return this.withRetry(async()=>{let n=this.buildMessages(e.systemPrompt,e.messages),r=e.tools?.length?this.convertTools(e.tools):void 0,o=b.span("llm.request",{cat:"llm",provider:this.provider,model:this.model,stream:!!(e.stream&&e.onChunk),messageCount:n.length,toolCount:r?.length??0});try{let t=e.stream&&e.onChunk?await this.streamMessage(e,n,r):await this.nonStreamMessage(e,n,r);return o.end({stopReason:t.stopReason,promptTokens:t.usage?.promptTokens,completionTokens:t.usage?.completionTokens,cacheReadTokens:t.usage?.cacheReadTokens,cacheCreationTokens:t.usage?.cacheCreationTokens}),t}catch(t){throw o.fail(t),t}})}async nonStreamMessage(e,n,r){try{let o=await this.client.chat.completions.create({model:this.model,max_tokens:e.maxTokens??this.maxTokens,messages:n,...r?{tools:r}:{},...e.temperature!==void 0?{temperature:e.temperature}:{temperature:this.temperature}},{signal:e.signal}),t=o.choices[0];if(!t)throw new b$1("No response from OpenAI","openai");let s={promptTokens:o.usage?.prompt_tokens??0,completionTokens:o.usage?.completion_tokens??0,totalTokens:o.usage?.total_tokens??0};return this.recordUsage(s,e),this.processChoice(t,s)}catch(o){throw this.handleApiError(o),o}}async streamMessage(e,n,r){try{let o=await this.client.chat.completions.create({model:this.model,max_tokens:e.maxTokens??this.maxTokens,messages:n,stream:!0,stream_options:{include_usage:!0},...r?{tools:r}:{},...e.temperature!==void 0?{temperature:e.temperature}:{temperature:this.temperature}},{signal:e.signal}),t="",s="",i=new Map,a,d=Date.now(),l=!1;for await(let m of o){m.usage&&(a=m.usage);let c=m.choices[0]?.delta;if(!c)continue;let k=c.reasoning_content;if(typeof k=="string"&&k.length>0&&(s+=k),c.content&&(l||(l=!0,b.debug("llm.first_byte",{cat:"llm",provider:this.provider,model:this.model,ttft_ms:Date.now()-d})),t+=c.content,e.onChunk?.({type:"text",text:c.content,tokens:a$2(c.content)})),c.tool_calls)for(let p of c.tool_calls){let C=p.index;i.has(C)||(i.set(C,{id:p.id??"",name:p.function?.name??"",args:""}),e.onChunk?.({type:"tool_use_start",toolCall:{id:p.id,toolName:p.function?.name}}));let u=i.get(C);if(p.id&&(u.id=p.id),p.function?.name&&(u.name=p.function.name),p.function?.arguments&&(u.args+=p.function.arguments,u.id))try{let v=JSON.parse(u.args||"{}");e.onChunk?.({type:"tool_use_delta",toolCall:{id:u.id,toolName:u.name,args:v}});}catch{}}m.choices[0]?.finish_reason&&e.onChunk?.({type:"stop",stopReason:m.choices[0].finish_reason});}let y=[];for(let[,m]of i){let c={};try{c=JSON.parse(m.args||"{}");}catch{}y.push({id:m.id,toolName:m.name,args:c});}let T={promptTokens:a?.prompt_tokens??0,completionTokens:a?.completion_tokens??0,totalTokens:a?.total_tokens??0};return this.recordUsage(T,e),{text:t,toolCalls:y,usage:T,stopReason:"stop",...s?{reasoningContent:s}:{}}}catch(o){throw this.handleApiError(o),o}}processChoice(e,n){let r=e.message.content??"",o=[];if(e.message.tool_calls)for(let s of e.message.tool_calls){let i={};try{i=JSON.parse(s.function.arguments||"{}");}catch{}o.push({id:s.id,toolName:s.function.name,args:i});}let t=I(e.message);return {text:r,toolCalls:o,usage:n,stopReason:e.finish_reason??void 0,...t?{reasoningContent:t}:{}}}buildMessages(e,n){let r=[{role:"system",content:e}],o=P(this.model);for(let t of n)if(t.role!=="system")if(t.role==="assistant"){let s={role:"assistant"},i;if(typeof t.content=="string")s.content=t.content;else {let a=[],d=[];for(let l of t.content)l.type==="text"&&l.text?a.push(l.text):l.type==="tool_use"&&l.id&&l.name?d.push({id:l.id,type:"function",function:{name:l.name,arguments:JSON.stringify(l.input??{})}}):l.type==="reasoning"&&l.reasoningContent&&(i=l.reasoningContent),!i&&l.reasoningContent&&(i=l.reasoningContent);a.length&&(s.content=a.join(`
2
- `)),d.length&&(s.tool_calls=d);}!i&&o&&(i=""),i!==void 0&&(s.reasoning_content=i),r.push(s);}else if(t.role==="tool")r.push({role:"tool",tool_call_id:t.tool_call_id??"",content:typeof t.content=="string"?t.content:""});else if(typeof t.content=="string")r.push({role:"user",content:t.content});else {let s=[],i=[];for(let a of t.content)a.type==="tool_result"&&a.tool_use_id?i.push({tool_use_id:a.tool_use_id,content:typeof a.content=="string"?a.content:""}):a.type==="text"&&a.text&&s.push(a.text);for(let a of i)r.push({role:"tool",tool_call_id:a.tool_use_id,content:a.content});s.length>0&&r.push({role:"user",content:s.join(`
3
- `)});}return r}convertTools(e){return e.map(n=>({type:"function",function:{name:n.name,description:n.description,parameters:n.inputSchema}}))}handleApiError(e){if(e instanceof O.APIError){if(e.status===429)throw new c("openai");let n=(e.message??"").toLowerCase();throw n.includes("context_length_exceeded")||n.includes("maximum context length")||n.includes("too many tokens")||n.includes("prompt is too long")?new d("openai"):e.status===401&&n.includes("provider returned error")?new b$1(`OpenAI-compatible endpoint returned 401 "Provider returned error". Two likely causes: (1) the API key is invalid/revoked, or (2) the upstream provider rejects tool calls for this model (common on OpenRouter's gpt-4o-mini route). Verify the key, then try a tool-capable model such as openai/gpt-4.1-mini or anthropic/claude-3.5-haiku.`,"openai",{status:e.status}):new b$1(`OpenAI API error: ${e.message}`,"openai",{status:e.status})}throw e}};function I(g){let e=g.reasoning_content??g.reasoning;return typeof e=="string"&&e.length>0?e:void 0}a$1(I,"extractReasoningContent");function P(g){return /^deepseek-v4(?:-|$)/i.test(g)}a$1(P,"isDeepSeekThinkingModel");export{R as a};
@@ -1,2 +0,0 @@
1
- import {h,a}from'./chunk-3QP5BQ3L.js';import {existsSync,readFileSync,copyFileSync,writeFileSync,mkdirSync,renameSync}from'fs';import {join,dirname}from'path';import {homedir}from'os';import {z}from'zod';h();h();var C=z.object({agent:z.object({preset:z.string().default("terminal-coding"),enabledBuiltinTools:z.array(z.string()).default([]),disabledBuiltinTools:z.array(z.string()).default([]),customSystemPrompt:z.string().optional(),appendSystemPrompt:z.string().optional()}).default({}),activeKey:z.string().optional(),autoUpdates:z.boolean().default(true),model:z.object({provider:z.string().default("openai"),name:z.string().default("anthropic/claude-opus-4-6"),apiKey:z.string().optional(),baseUrl:z.string().default("https://openrouter.ai/api/v1"),temperature:z.number().min(0).max(2).default(.3),maxTokens:z.number().default(8192)}).default({}),providers:z.array(z.object({key:z.string(),label:z.string().optional(),kind:z.enum(["openai","anthropic","deepseek","xai","mistral","groq","google","openrouter","ollama","custom"]),baseUrl:z.string(),apiKey:z.string().optional(),protocol:z.enum(["openai-compat","anthropic-style"]).optional(),modelsPath:z.string().optional()})).default([]),models:z.array(z.object({key:z.string(),label:z.string().optional(),providerKey:z.string().optional(),model:z.string(),maxOutputTokens:z.number().optional(),maxContextTokens:z.number().optional(),protocol:z.string().optional(),provider:z.string().optional(),baseUrl:z.string().optional(),apiKey:z.string().optional()}).transform(r=>{let o=r.protocol??r.provider;return {...r,protocol:o,provider:o}})).default([]),permissions:z.object({defaultMode:z.enum(["default","acceptEdits","dontAsk","bypassPermissions","auto","plan"]).default("default"),rules:z.array(z.object({tool:z.string(),argsPattern:z.record(z.string()).optional(),decision:z.enum(["allow","deny","ask"]),reason:z.string().optional()})).default([])}).default({}),context:z.object({maxTokens:z.number().default(2e5),compactAtRatio:z.number().default(.6),summarizeAtRatio:z.number().default(.8)}).default({}),session:z.object({storageDir:z.string().optional(),maxHistory:z.number().default(100)}).default({}),mcpServers:z.record(z.object({name:z.string(),command:z.string().optional(),args:z.array(z.string()).optional(),env:z.record(z.string()).optional(),url:z.string().optional(),transport:z.enum(["stdio","sse","streamable-http","inprocess"]).optional(),headers:z.record(z.string()).optional()})).default({}),instructions:z.object({fileName:z.string().default("CODESHELL.md"),scanDirs:z.array(z.string()).default([]),compatFileNames:z.array(z.string()).default(["CLAUDE.md","AGENTS.md"]),ignoreGitBoundary:z.boolean().default(false)}).default({}),arena:z.object({participants:z.array(z.union([z.string(),z.object({name:z.string(),model:z.string(),provider:z.string().optional(),apiKey:z.string().optional(),baseUrl:z.string().optional()})])).default([])}).default({}),search:z.object({provider:z.enum(["serper","tavily","searxng"]).default("serper"),apiKey:z.string().optional(),baseUrl:z.string().optional()}).default({}),output:z.object({format:z.enum(["text","json","jsonl","stream-json"]).default("text")}).default({}),sandbox:z.object({mode:z.enum(["off","auto","seatbelt","bwrap"]).optional(),writableRoots:z.array(z.string()).optional(),deniedReads:z.array(z.string()).optional(),network:z.enum(["allow","deny"]).optional()}).optional()}).passthrough();function x(r){return C.parse(r)}a(x,"validateSettings");h();var N=[[/deepseek\.com/i,"deepseek"],[/anthropic\.com/i,"anthropic"],[/openai\.com/i,"openai"],[/x\.ai/i,"xai"],[/mistral\.ai/i,"mistral"],[/groq\.com/i,"groq"],[/generativelanguage\.googleapis/i,"google"],[/openrouter\.ai/i,"openrouter"],[/localhost:11434|127\.0\.0\.1:11434/i,"ollama"]];function S(r){if(!r)return "custom";for(let[o,n]of N)if(o.test(r))return n;return "custom"}a(S,"inferKind");function M(r){return `${r.provider??""}|${r.baseUrl??""}|${r.apiKey??""}`}a(M,"makeFingerprint");function L(r,o){if(!o.has(r))return r;for(let n=2;;n++){let s=`${r}-${n}`;if(!o.has(s))return s}}a(L,"deriveKey");function T(r,o,n){let s=o.lastIndexOf("/"),i=s>=0?o.slice(s+1):o,a=r.toLowerCase(),l=i.toLowerCase().startsWith(`${a}-`)?i:`${a}-${i}`;if(!n.has(l))return l;for(let d=2;;d++){let p=`${l}-${d}`;if(!n.has(p))return p}}a(T,"deriveProviderModelKey");function R(r){if(r.models.length===0)return {providers:r.providers,models:[],changed:false};let o=r.providers.length>0,n=new Map;for(let t of r.models)n.set(t.key,(n.get(t.key)??0)+1);if(!r.models.some(t=>!t.providerKey||(n.get(t.key)??0)>1))return {providers:r.providers,models:r.models.map(t=>({key:t.key,label:t.label,providerKey:t.providerKey??"",model:t.model,maxOutputTokens:t.maxOutputTokens,maxContextTokens:t.maxContextTokens,provider:t.provider,baseUrl:t.baseUrl,apiKey:t.apiKey})),changed:false};let i=new Map,a=[],l=new Set(r.providers.map(t=>t.key));for(let t of r.providers){let g=`|${t.baseUrl}|${t.apiKey??""}`;i.set(g,t.key);}for(let t of r.models){let g=M(t),h=r.providers.find(O=>O.baseUrl===(t.baseUrl??""));if(h){i.set(g,h.key);continue}if(i.has(g))continue;let m=S(t.baseUrl),f=L(m,l);l.add(f),i.set(g,f),a.push({key:f,kind:m,baseUrl:t.baseUrl??"",apiKey:t.apiKey});}let d=new Set,p=r.models.map(t=>{let g=i.get(M(t)),h=(n.get(t.key)??0)>1,m=t.key;if(h){let f=S(t.baseUrl);m=T(f,t.model,d);}if(d.has(m)){let f=S(t.baseUrl);m=T(f,t.model,d);}return d.add(m),{key:m,label:t.label,providerKey:g,provider:t.provider,model:t.model,baseUrl:t.baseUrl,apiKey:t.apiKey,maxOutputTokens:t.maxOutputTokens,maxContextTokens:t.maxContextTokens}}),c=new Set,b=p.filter(t=>{let g=`${t.key}|${t.model}`;return c.has(g)?false:(c.add(g),true)});return {providers:o?[...r.providers,...a]:a,models:b,changed:true}}a(R,"migrateModels");function k(){return process.env.HOME??homedir()}a(k,"userHome");var P=class{constructor(o=process.cwd()){this.cwd=o;}static{a(this,"SettingsManager");}sources=[];merged=null;load(o){this.sources=[],this.loadJsonFile(join(k(),".code-shell","settings.managed.json"),"managed",0),this.loadJsonFile(join(k(),".code-shell","settings.json"),"user",1),this.loadJsonFile(join(this.cwd,".code-shell","settings.json"),"project",2),this.loadJsonFile(join(this.cwd,".code-shell","settings.local.json"),"local",3),o&&Object.keys(o).length>0&&this.sources.push({name:"flag",priority:4,data:o}),this.sources.sort((i,a)=>i.priority-a.priority);let n=this.deepMerge(),s=join(k(),".code-shell","settings.json");if(existsSync(s))try{let i=JSON.parse(readFileSync(s,"utf-8")),a=R({providers:i.providers??[],models:i.models??[]});if(a.changed){copyFileSync(s,`${s}.bak`);let l={...i,providers:a.providers,models:a.models};writeFileSync(s,JSON.stringify(l,null,2),"utf-8");let d=this.sources.find(c=>c.name==="user");d&&(d.data=l);let p=this.deepMerge();return this.merged=x(p),this.merged}}catch{}return this.merged=x(n),this.merged}get(){return this.merged?this.merged:this.load()}invalidate(){this.merged=null;}saveUserSetting(o,n){let s=join(k(),".code-shell","settings.json"),i={};if(existsSync(s))try{let p=readFileSync(s,"utf-8"),c=JSON.parse(p);c&&typeof c=="object"&&!Array.isArray(c)&&(i=c);}catch{}let a=o.split("."),l=i;for(let p=0;p<a.length-1;p++){let c=a[p],b=l[c];(!b||typeof b!="object"||Array.isArray(b))&&(l[c]={}),l=l[c];}l[a[a.length-1]]=n,mkdirSync(dirname(s),{recursive:true});let d=`${s}.${process.pid}.${Date.now()}.tmp`;writeFileSync(d,JSON.stringify(i,null,2),"utf-8"),renameSync(d,s),this.invalidate();}loadJsonFile(o,n,s){if(existsSync(o))try{let i=readFileSync(o,"utf-8"),a=JSON.parse(i);typeof a=="object"&&a!==null&&this.sources.push({name:n,priority:s,data:a});}catch{}}deepMerge(){let o={};for(let n of this.sources)o=A(o,n.data);return o}};function A(r,o){let n={...r};for(let[s,i]of Object.entries(o))i===null?delete n[s]:typeof i=="object"&&!Array.isArray(i)&&typeof n[s]=="object"&&!Array.isArray(n[s])&&n[s]!==null?n[s]=A(n[s],i):n[s]=i;return n}a(A,"merge");
2
- export{C as a,x as b,P as c};
@@ -1,33 +0,0 @@
1
- import {c,h,a,d}from'./chunk-3QP5BQ3L.js';function M(e){if(!e)return 0;let n=(e.match(/[\u4e00-\u9fff\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]/g)??[]).length;if(n/e.length>.3){let s=n/y.cjk,p=(e.length-n)/y.english;return Math.ceil(s+p)}return ["{","}","(",")",";","=>","import ","function ","class ","const "].reduce((s,i)=>s+(e.includes(i)?1:0),0)>=3?Math.ceil(e.length/y.code):e.startsWith("{")||e.startsWith("[")?Math.ceil(e.length/y.json):Math.ceil(e.length/y.english)}function T(e){let n=0;for(let t of e)if(n+=4,typeof t.content=="string")n+=M(t.content);else if(Array.isArray(t.content))for(let o of t.content)n+=O(o);return n}function O(e){let n=2;return e.text&&(n+=M(e.text)),e.content&&typeof e.content=="string"&&(n+=M(e.content)),e.input&&(n+=M(JSON.stringify(e.input))),e.name&&(n+=M(e.name)),n}var y,A=c(()=>{h();y={english:4,code:3.2,json:3.5,mixed:3.6,cjk:1.5};a(M,"estimateStringTokens");a(T,"estimateMessagesTokens");a(O,"estimateBlockTokens");});var q={};d(q,{COMPACTABLE_TOOL_NAMES:()=>x,adjustIndexToPreserveAPIInvariants:()=>b,applySummaryCompaction:()=>G,applyToolResultBudget:()=>N,buildSummarizationPrompt:()=>F,dropOldestRounds:()=>L,estimateTokens:()=>P,extractReferencedFilePaths:()=>k,groupMessagesByApiRound:()=>R,microcompact:()=>B,snipCompact:()=>z,truncateToolResult:()=>U,windowCompact:()=>I});function P(e){return Math.ceil(T(e)*(4/3))}function b(e,n){let t=n,o=new Set;for(let r=t;r<e.length;r++){let s=e[r];if(Array.isArray(s.content))for(let i of s.content)i.type==="tool_result"&&i.tool_use_id&&o.add(i.tool_use_id);}for(let r=t;r<e.length;r++){let s=e[r];if(Array.isArray(s.content))for(let i of s.content)i.type==="tool_use"&&i.id&&o.delete(i.id);}if(o.size===0)return t;for(let r=t-1;r>=0&&o.size>0;r--){let s=e[r];if(!(s.role!=="assistant"||!Array.isArray(s.content)))for(let i of s.content)i.type==="tool_use"&&i.id&&o.has(i.id)&&(o.delete(i.id),r<t&&(t=r));}return t}function z(e,n=3,t=8){if(e.length<=n+t+1)return e;let o=e.length-t;if(o=b(e,o),o<=n)return e;let s={role:"user",content:`<system-reminder>[${o-n} messages snipped to save context. Use the transcript file to review details if needed.]</system-reminder>`};return [...e.slice(0,n),s,...e.slice(o)]}function I(e,n){if(e.length<=n+1)return e;let t=e.length-n;return t=b(e,t),t<=1?e:[e[0],...e.slice(t)]}function E(e){let n=new Map;for(let t of e)if(Array.isArray(t.content))for(let o of t.content)o.type==="tool_use"&&o.id&&o.name&&n.set(o.id,o.name);return n}function W(e,n){if(!n||typeof n!="object")return "";let t=a(o=>{let r=[];for(let s of o){let i=n[s];typeof i=="string"&&i.length>0&&r.push(`${s}=${i.length>80?i.slice(0,77)+"...":i}`);}return r.join(" ")},"pick");switch(e){case "Read":case "Write":case "Edit":case "NotebookEdit":return t(["file_path","path","notebook_path"]);case "Glob":case "Grep":return t(["pattern","path","glob"]);case "Bash":case "PowerShell":case "REPL":return t(["command"]);case "WebFetch":case "WebSearch":return t(["url","query"]);default:{let o=JSON.stringify(n);return o.length>100?o.slice(0,97)+"...":o}}}function B(e,n={}){let t=n.keepRecentN??5,o=n.compactableTools??x,r=E(e),s=new Map;for(let l of e)if(Array.isArray(l.content))for(let g of l.content)g.type==="tool_use"&&g.id&&s.set(g.id,g.input);let i=0,p=[];for(let l=e.length-1;l>=0;l--){let g=e[l];!Array.isArray(g.content)||!g.content.some(d=>d.type==="tool_result"&&d.tool_use_id!=null&&o.has(r.get(d.tool_use_id)??"")&&typeof d.content=="string"&&!d.content.startsWith("[Old tool result cleared"))||(i++,i>t&&p.push(l));}if(p.length===0)return e;let c=new Set(p),u=new Set,h=0,m=e.map((l,g)=>!c.has(g)||!Array.isArray(l.content)?l:{...l,content:l.content.map(f=>{if(f.type!=="tool_result"||!f.tool_use_id)return f;let d=r.get(f.tool_use_id);if(!d||!o.has(d)||typeof f.content!="string"||f.content.startsWith("[Old tool result cleared"))return f;let _=W(d,s.get(f.tool_use_id)),C=_?`[Old tool result cleared \u2014 ${d} ${_}]`:`[Old tool result cleared \u2014 ${d}]`;return u.add(d),h++,{...f,content:C}})});return h>0&&n.onClear?.({clearedRounds:p.length,toolNames:[...u].sort()}),m}function N(e,n=1e5){return e.map(t=>{if(!Array.isArray(t.content))return t;let o=[],r=0;for(let c=0;c<t.content.length;c++){let u=t.content[c];if(u.type==="tool_result"&&typeof u.content=="string"){let h=u.content.length;o.push({index:c,size:h}),r+=h;}}if(r<=n||o.length===0)return t;o.sort((c,u)=>u.size-c.size);let s=r,i=new Set;for(let c of o){if(s<=n)break;i.add(c.index),s-=c.size,s+=200;}if(i.size===0)return t;let p=t.content.map((c,u)=>{if(!i.has(u))return c;let h=typeof c.content=="string"?c.content.slice(0,500):"",m=(c.content.length/1e3).toFixed(0);return {...c,content:`Output too large (${m}KB) \u2014 truncated to fit the per-message budget. Re-run the originating tool if you need the full output.
2
-
3
- Preview (first 500 chars):
4
- ${h}`}});return {...t,content:p}})}function U(e,n=3e4){if(e.length<=n)return e;let t=Math.floor(n*.7),o=Math.floor(n*.2),r=e.slice(0,t),s=e.slice(-o);return r+`
5
-
6
- ... [${e.length-t-o} characters truncated] ...
7
-
8
- `+s}function F(e){let n=[];for(let t of e)if(typeof t.content=="string")n.push(`[${t.role}]: ${t.content.slice(0,3e3)}`);else for(let o of t.content)if(o.type==="text"&&o.text)n.push(`[${t.role}]: ${o.text.slice(0,3e3)}`);else if(o.type==="tool_use"){let r=JSON.stringify(o.input).slice(0,500);n.push(`[tool_use]: ${o.name}(${r})`);}else if(o.type==="tool_result"){let r=typeof o.content=="string"?o.content:"";n.push(`[tool_result]: ${r.slice(0,1500)}`);}return `Summarize the following conversation into these sections. Be factual. Preserve file paths, function names, and error messages exactly.
9
-
10
- 1. **Primary Request**: What the user originally asked for
11
- 2. **Key Concepts**: Important technical terms, patterns, file paths
12
- 3. **Files Referenced**: List of files read/edited with key content
13
- 4. **Errors & Fixes**: Any errors encountered and how they were resolved
14
- 5. **Actions Taken**: Tools used and their outcomes
15
- 6. **User Messages**: All distinct user requests (verbatim if short)
16
- 7. **Pending Tasks**: Anything started but not finished
17
- 8. **Current State**: Where things stand right now
18
- 9. **Next Steps**: What should happen next
19
-
20
- Conversation:
21
-
22
- `+n.join(`
23
- `)}function G(e,n,t,o){if(e.length<=t+2)return e;let r=e.length-t;if(r=b(e,r),r<=1)return e;let s=e[0],i=e.slice(1,r),p=e.slice(r),c=k(i),u=`This session is being continued from a previous conversation that ran out of context. The summary below covers the earlier portion of the conversation.
24
-
25
- ${n}`;o&&(u+=`
26
-
27
- If you need specific details from before compaction (like exact code snippets, error messages, or content you generated), read the full transcript at: ${o}`),c.length>0&&(u+=`
28
-
29
- Files referenced before compaction (use Read tool if you need their current content):
30
- `+c.map(m=>`- ${m}`).join(`
31
- `)),u+=`
32
-
33
- Recent messages are preserved verbatim below. Continue from where you left off.`;let h={role:"user",content:`<system-reminder>${u}</system-reminder>`};return [s,h,...p]}function R(e){let n=[],t=[];for(let o of e)o.role==="assistant"&&t.length>0?(n.push(t),t=[o]):t.push(o);return t.length>0&&n.push(t),n}function L(e,n){let t=R(e);if(t.length<=n+1)return t[t.length-1];let o=t.slice(n).flat(),r=b(o,0),s=o.slice(r);return s.length>0&&s[0].role==="assistant"&&s.unshift({role:"user",content:"<system-reminder>Earlier conversation context was removed to fit within the context window. Continue from the assistant's response below.</system-reminder>"}),s}function k(e){let n=new Set,t=new Set(["Read","Edit","Write","Glob","Grep"]);for(let o of e)if(Array.isArray(o.content)){for(let r of o.content)if(r.type==="tool_use"&&r.name&&t.has(r.name)&&r.input){let s=r.input,i=s.file_path??s.path;i&&n.add(i);}}return [...n]}var x,J=c(()=>{h();A();a(P,"estimateTokens");a(b,"adjustIndexToPreserveAPIInvariants");a(z,"snipCompact");a(I,"windowCompact");x=new Set(["Read","Glob","Grep","Bash","PowerShell","NotebookEdit","WebFetch","WebSearch","REPL"]);a(E,"buildToolUseIdToNameMap");a(W,"summarizeToolCallArgs");a(B,"microcompact");a(N,"applyToolResultBudget");a(U,"truncateToolResult");a(F,"buildSummarizationPrompt");a(G,"applySummaryCompaction");a(R,"groupMessagesByApiRound");a(L,"dropOldestRounds");a(k,"extractReferencedFilePaths");});export{P as a,b,z as c,I as d,x as e,B as f,N as g,U as h,F as i,G as j,R as k,L as l,k as m,q as n,J as o};
@@ -1 +0,0 @@
1
- export{a as LLMClientBase}from'./chunk-HIJ2XXGX.js';import'./chunk-FU7AHZNN.js';import'./chunk-B7K2OWKC.js';import'./chunk-3QP5BQ3L.js';
@@ -1 +0,0 @@
1
- import {o}from'./chunk-W47Z7MGS.js';export{e as COMPACTABLE_TOOL_NAMES,b as adjustIndexToPreserveAPIInvariants,j as applySummaryCompaction,g as applyToolResultBudget,i as buildSummarizationPrompt,l as dropOldestRounds,a as estimateTokens,m as extractReferencedFilePaths,k as groupMessagesByApiRound,f as microcompact,c as snipCompact,h as truncateToolResult,d as windowCompact}from'./chunk-W47Z7MGS.js';import'./chunk-3QP5BQ3L.js';o();
@@ -1 +0,0 @@
1
- import {h}from'./chunk-3QP5BQ3L.js';h();
@@ -1 +0,0 @@
1
- export{c as SettingsManager}from'./chunk-UDPUTFQT.js';import'./chunk-3QP5BQ3L.js';
@@ -1 +0,0 @@
1
- export{a as MCPManager}from'./chunk-XDOWC7EG.js';import'./chunk-B7K2OWKC.js';import'./chunk-3QP5BQ3L.js';
@@ -1 +0,0 @@
1
- export{b as fetchModelList}from'./chunk-EWWK56K6.js';import'./chunk-P6JSTIFM.js';import'./chunk-3QP5BQ3L.js';
@@ -1 +0,0 @@
1
- export{a as OpenAIClient}from'./chunk-PGANL6F2.js';import'./chunk-O5HFCH2U.js';import'./chunk-HIJ2XXGX.js';import'./chunk-FU7AHZNN.js';import'./chunk-B7K2OWKC.js';import'./chunk-3QP5BQ3L.js';
@@ -1 +0,0 @@
1
- export{a as syncOpenRouterCatalog}from'./chunk-NFH3UQ3E.js';export{b as getOpenRouterSnapshot}from'./chunk-NVAZJ5XS.js';import'./chunk-3QP5BQ3L.js';
@@ -1,72 +0,0 @@
1
- /**
2
- * Plugin system — discover, load, and manage plugins.
3
- *
4
- * Plugin directories:
5
- * ~/.code-shell/plugins/
6
- * .code-shell/plugins/ (project-level)
7
- *
8
- * Each plugin is a directory with a manifest.json:
9
- * {
10
- * "name": "my-plugin",
11
- * "version": "1.0.0",
12
- * "description": "...",
13
- * "main": "index.js",
14
- * "skills": [...],
15
- * "hooks": {...},
16
- * "mcpServers": {...},
17
- * "tools": [...]
18
- * }
19
- */
20
- export interface PluginManifest {
21
- name: string;
22
- version: string;
23
- description: string;
24
- main?: string;
25
- enabled?: boolean;
26
- skills?: Array<{
27
- name: string;
28
- description: string;
29
- triggers?: {
30
- keywords?: string[];
31
- tools?: string[];
32
- intents?: string[];
33
- };
34
- }>;
35
- hooks?: Record<string, string>;
36
- mcpServers?: Record<string, {
37
- command: string;
38
- args?: string[];
39
- }>;
40
- tools?: Array<{
41
- name: string;
42
- description: string;
43
- inputSchema: Record<string, unknown>;
44
- handler: string;
45
- }>;
46
- }
47
- export interface LoadedPlugin {
48
- manifest: PluginManifest;
49
- path: string;
50
- enabled: boolean;
51
- error?: string;
52
- }
53
- export declare class PluginLoader {
54
- private plugins;
55
- /**
56
- * Scan plugin directories and load manifests.
57
- */
58
- scan(cwd: string): LoadedPlugin[];
59
- /**
60
- * Load a single plugin from a directory.
61
- */
62
- private loadPlugin;
63
- private registerPlugin;
64
- /** Get a plugin by name. */
65
- get(name: string): LoadedPlugin | undefined;
66
- /** List all discovered plugins. */
67
- list(): LoadedPlugin[];
68
- /** Enable/disable a plugin. */
69
- setEnabled(name: string, enabled: boolean): boolean;
70
- /** Get all enabled plugins. */
71
- getEnabled(): LoadedPlugin[];
72
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * Skill matcher — determines which skills are relevant for a given input/context.
3
- */
4
- import type { SkillDefinition } from "./scanner.js";
5
- export interface MatchResult {
6
- skill: SkillDefinition;
7
- score: number;
8
- matchedBy: string;
9
- }
10
- /**
11
- * Match skills against user input text.
12
- */
13
- export declare function matchSkillsByInput(skills: SkillDefinition[], input: string): MatchResult[];
14
- /**
15
- * Match skills by tool name being used.
16
- */
17
- export declare function matchSkillsByTool(skills: SkillDefinition[], toolName: string): MatchResult[];
18
- /**
19
- * Build a skill listing for the system prompt.
20
- */
21
- export declare function buildSkillListing(skills: SkillDefinition[]): string;
@@ -1,2 +0,0 @@
1
- import {b}from'./chunk-B7K2OWKC.js';import {h,a}from'./chunk-3QP5BQ3L.js';h();var p='Generate a very brief (under 40 chars) summary of what these tools did. Use past tense, commit-subject style. Examples: "Read 3 config files", "Fixed import in auth.ts", "Searched for API endpoints". Respond with ONLY the summary text, nothing else.';async function d(r,a,l){if(r.length===0)return null;try{let e=[];for(let t=0;t<r.length;t++){let s=r[t],o=a[t],u=JSON.stringify(s.args).slice(0,200),c=(o?.result??o?.error??"").slice(0,300);e.push(`Tool: ${s.toolName}(${u}) \u2192 ${c}`);}return (await l(p,e.join(`
2
- `)))?.trim()||null}catch(e){return b.warn("tool_summary.failed",{error:e.message}),null}}a(d,"generateToolUseSummary");export{d as generateToolUseSummary};
@@ -1,135 +0,0 @@
1
- ---
2
- name: codeshell-help
3
- description: Use when the user asks how to use code-shell itself — slash commands, login/model setup, settings.json keys, hooks, MCP servers, debugging flags, or "how do I X in code-shell". Skip for general programming questions.
4
- when_to_use: User asks about code-shell features, configuration, slash commands, or runtime behavior. Not for code questions in the user's own project.
5
- ---
6
-
7
- # Using code-shell
8
-
9
- You are running inside **code-shell**, a terminal coding agent. This skill answers user questions about code-shell itself. Quote sections directly where helpful. If a topic isn't covered, say so — don't invent commands.
10
-
11
- ## Getting started
12
-
13
- - `code-shell` — start an interactive REPL in the current directory.
14
- - `code-shell run "<prompt>"` — one-shot non-interactive run, prints final answer and exits.
15
- - `code-shell runs <sid>` — resume a saved session by id.
16
- - First launch shows an onboarding flow that walks through provider + model setup.
17
-
18
- ## Slash commands (run inside the REPL)
19
-
20
- Type `/` and the menu appears. The full list:
21
-
22
- ### Core
23
- - `/help` — show the slash menu.
24
- - `/exit` — quit the REPL.
25
- - `/clear` — clear the conversation (keeps session id).
26
- - `/compact` — manually trigger context compaction.
27
- - `/status` — current model, effort, token usage, working dir.
28
- - `/version` — code-shell version.
29
- - `/cost` — token cost summary for the session.
30
- - `/sid` — print the current session id.
31
- - `/session` — open the session picker.
32
- - `/resume` — resume the most recent session.
33
- - `/diff` — show working-tree diff.
34
- - `/tasks` — current task list (TaskCreate/TaskUpdate state).
35
- - `/tools` — list available tools.
36
- - `/memory` — open the per-project memory file.
37
- - `/export markdown` — export the current conversation to a markdown file.
38
-
39
- ### Models / providers
40
- - `/login` — add a new provider + model via the unified ProviderModelFlow.
41
- - `/logout` — remove a provider's stored credentials.
42
- - `/model` — quick-switch the active model.
43
- - `/models` — open the ModelManager (add, refresh, delete providers and models).
44
-
45
- ### Configuration
46
- - `/config` — open `settings.json` for the active scope.
47
- - `/permissions` — manage tool permission rules.
48
- - `/hooks` — list hooks configured in settings.
49
- - `/mcp` — list and manage MCP servers.
50
- - `/skills` — list discovered skills.
51
- - `/effort` — set reasoning effort (low / medium / high) for reasoning models.
52
-
53
- ### Git / review
54
- - `/commit` — agent drafts a commit from staged changes.
55
- - `/branch` — branch operations.
56
- - `/review` — review pending changes.
57
- - `/pr-comments` — fetch GitHub PR comments.
58
- - `/autofix-pr` — apply review suggestions.
59
- - `/security-review` — run a security-focused review of pending changes.
60
-
61
- ### Misc
62
- - `/init` — scaffold or refresh `CODESHELL.md` / project rules based on repo state.
63
- - `/copy` — copy last response to clipboard.
64
- - `/undo` — undo the most recent file edit done by the agent.
65
- - `/update` — check for and install code-shell updates (auto-installs on exit when npm prefix is writable).
66
- - `/log` — open the session log file.
67
- - `/files` — list files the agent has touched this session.
68
- - `/release-notes` — show CHANGELOG for the running version.
69
- - `/feedback` — open the feedback URL.
70
- - `/voice` — voice input (if enabled).
71
-
72
- ## Provider + model setup
73
-
74
- code-shell uses a **two-layer config**: `providers[]` holds credentials and base URLs; `models[]` references a provider by key.
75
-
76
- - New users: `/login` runs the full wizard — pick provider kind (anthropic / openai / openrouter / deepseek / custom), enter API key, optional base URL, then pick a model from the fetched list.
77
- - Existing users with the legacy flat `models[]` shape: auto-migrated on startup with a `.bak` snapshot written next to `settings.json`.
78
- - Refresh a provider's model list: `/models` → select provider → Refresh. Cached for 7 days under `~/.code-shell/cache/`.
79
-
80
- ## settings.json — key fields
81
-
82
- Located at `~/.code-shell/settings.json` (user scope) or `.code-shell/settings.json` (project scope, takes precedence).
83
-
84
- - `providers[]` — `[{ key, kind, baseUrl, apiKey }]`. Source of credentials.
85
- - `models[]` — `[{ id, providerKey, displayName, contextLength, ... }]`.
86
- - `model` — the default active model id.
87
- - `autoUpdates` — `false` disables the background updater.
88
- - `permissions` — allow/deny rules for the Bash tool and others.
89
- - `hooks` — shell commands to run on events (SessionStart, PreToolUse, etc.).
90
- - `mcpServers` — `{ name: { command, args, env } }` map of MCP servers.
91
-
92
- ## Hooks
93
-
94
- Hooks are shell commands the harness runs on events. Configured in `settings.json` under `hooks`. Common events: `SessionStart`, `UserPromptSubmit`, `PreToolUse`, `PostToolUse`, `Stop`. Use them for automated behaviors ("each time X happens, run Y") — memory or preferences can't do this because the model doesn't fire actions on schedule, the harness does.
95
-
96
- ## MCP servers
97
-
98
- `code-shell` speaks the Model Context Protocol. Add servers in `settings.json` under `mcpServers`. Each entry is a stdio command code-shell spawns; its tools/resources become available to the agent automatically. List with `/mcp`.
99
-
100
- ## Debugging
101
-
102
- - `CODE_SHELL_DEV=1 code-shell` — dev mode: enables the per-session verbose recorder (JSONL traces under `log/<date>/session-<sid>.jsonl`, 7-day retention), disables auto-update, shows extra UI.
103
- - `--debug` flag has the same effect as `CODE_SHELL_DEV=1`.
104
- - Logs: `~/.code-shell/log/` for general logs; per-session JSONL traces appear there when dev mode is on.
105
- - Investigation guard: re-reading the same file 3× is hard-blocked. 4+ consecutive read-only tool calls inject a "change strategy" reminder. This is intentional — break the loop, don't fight it.
106
- - Update install log: `~/.code-shell/update.log`.
107
-
108
- ## Memory
109
-
110
- code-shell has a per-project memory system at `.code-shell/memory/` (relative to project root) and a global one at `~/.code-shell/memory/`. The `MEMORY.md` index is auto-loaded into context every session. Individual memory files are loaded on demand. Edit with `/memory` or directly.
111
-
112
- ## Skills
113
-
114
- Skills are markdown files with frontmatter that get discovered automatically. Locations scanned:
115
- - `<cwd>/.code-shell/skills/` — project-level
116
- - `<cwd>/.claude/skills/` — project-level (Claude Code compat)
117
- - `~/.code-shell/skills/` — user-level
118
- - `~/.claude/skills/` — user-level (Claude Code compat)
119
- - Built-in skills shipped with the package (e.g. this one).
120
-
121
- List discovered skills with `/skills`. Invoke a skill with the `Skill` tool by name. Frontmatter `description` tells the model when to use it.
122
-
123
- ## Common questions
124
-
125
- **"How do I switch models?"** — `/model <id>` or pick from `/models`.
126
-
127
- **"How do I add a new provider?"** — `/login`, then follow the wizard. Or edit `settings.json` `providers[]` directly.
128
-
129
- **"Why is auto-update not working?"** — `/update` shows the disabled reason. Common: dev build, `DISABLE_AUTOUPDATER=1`, `settings.autoUpdates: false`, or the npm global prefix isn't writable (use the shown `sudo` command).
130
-
131
- **"Where's my session saved?"** — `~/.code-shell/sessions/<sid>/`. State, messages, and tool results all there.
132
-
133
- **"How do I see what tools an agent has?"** — `/tools`.
134
-
135
- **"How do I limit what Bash commands the agent can run?"** — `/permissions` or edit `settings.permissions` directly.