@lenylvt/pi-ai 0.64.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 (167) hide show
  1. package/README.md +203 -0
  2. package/dist/api-registry.d.ts +20 -0
  3. package/dist/api-registry.d.ts.map +1 -0
  4. package/dist/api-registry.js +44 -0
  5. package/dist/api-registry.js.map +1 -0
  6. package/dist/cli.d.ts +3 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +119 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/env-api-keys.d.ts +7 -0
  11. package/dist/env-api-keys.d.ts.map +1 -0
  12. package/dist/env-api-keys.js +13 -0
  13. package/dist/env-api-keys.js.map +1 -0
  14. package/dist/index.d.ts +20 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +14 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/models.d.ts +24 -0
  19. package/dist/models.d.ts.map +1 -0
  20. package/dist/models.generated.d.ts +2332 -0
  21. package/dist/models.generated.d.ts.map +1 -0
  22. package/dist/models.generated.js +2186 -0
  23. package/dist/models.generated.js.map +1 -0
  24. package/dist/models.js +60 -0
  25. package/dist/models.js.map +1 -0
  26. package/dist/oauth.d.ts +2 -0
  27. package/dist/oauth.d.ts.map +1 -0
  28. package/dist/oauth.js +2 -0
  29. package/dist/oauth.js.map +1 -0
  30. package/dist/providers/anthropic.d.ts +40 -0
  31. package/dist/providers/anthropic.d.ts.map +1 -0
  32. package/dist/providers/anthropic.js +749 -0
  33. package/dist/providers/anthropic.js.map +1 -0
  34. package/dist/providers/faux.d.ts +56 -0
  35. package/dist/providers/faux.d.ts.map +1 -0
  36. package/dist/providers/faux.js +367 -0
  37. package/dist/providers/faux.js.map +1 -0
  38. package/dist/providers/github-copilot-headers.d.ts +8 -0
  39. package/dist/providers/github-copilot-headers.d.ts.map +1 -0
  40. package/dist/providers/github-copilot-headers.js +29 -0
  41. package/dist/providers/github-copilot-headers.js.map +1 -0
  42. package/dist/providers/openai-codex-responses.d.ts +9 -0
  43. package/dist/providers/openai-codex-responses.d.ts.map +1 -0
  44. package/dist/providers/openai-codex-responses.js +741 -0
  45. package/dist/providers/openai-codex-responses.js.map +1 -0
  46. package/dist/providers/openai-completions.d.ts +15 -0
  47. package/dist/providers/openai-completions.d.ts.map +1 -0
  48. package/dist/providers/openai-completions.js +687 -0
  49. package/dist/providers/openai-completions.js.map +1 -0
  50. package/dist/providers/openai-responses-shared.d.ts +17 -0
  51. package/dist/providers/openai-responses-shared.d.ts.map +1 -0
  52. package/dist/providers/openai-responses-shared.js +458 -0
  53. package/dist/providers/openai-responses-shared.js.map +1 -0
  54. package/dist/providers/openai-responses.d.ts +13 -0
  55. package/dist/providers/openai-responses.d.ts.map +1 -0
  56. package/dist/providers/openai-responses.js +190 -0
  57. package/dist/providers/openai-responses.js.map +1 -0
  58. package/dist/providers/register-builtins.d.ts +16 -0
  59. package/dist/providers/register-builtins.d.ts.map +1 -0
  60. package/dist/providers/register-builtins.js +140 -0
  61. package/dist/providers/register-builtins.js.map +1 -0
  62. package/dist/providers/simple-options.d.ts +8 -0
  63. package/dist/providers/simple-options.d.ts.map +1 -0
  64. package/dist/providers/simple-options.js +35 -0
  65. package/dist/providers/simple-options.js.map +1 -0
  66. package/dist/providers/transform-messages.d.ts +8 -0
  67. package/dist/providers/transform-messages.d.ts.map +1 -0
  68. package/dist/providers/transform-messages.js +155 -0
  69. package/dist/providers/transform-messages.js.map +1 -0
  70. package/dist/stream.d.ts +8 -0
  71. package/dist/stream.d.ts.map +1 -0
  72. package/dist/stream.js +27 -0
  73. package/dist/stream.js.map +1 -0
  74. package/dist/types.d.ts +283 -0
  75. package/dist/types.d.ts.map +1 -0
  76. package/dist/types.js +2 -0
  77. package/dist/types.js.map +1 -0
  78. package/dist/utils/event-stream.d.ts +21 -0
  79. package/dist/utils/event-stream.d.ts.map +1 -0
  80. package/dist/utils/event-stream.js +81 -0
  81. package/dist/utils/event-stream.js.map +1 -0
  82. package/dist/utils/hash.d.ts +3 -0
  83. package/dist/utils/hash.d.ts.map +1 -0
  84. package/dist/utils/hash.js +14 -0
  85. package/dist/utils/hash.js.map +1 -0
  86. package/dist/utils/json-parse.d.ts +9 -0
  87. package/dist/utils/json-parse.d.ts.map +1 -0
  88. package/dist/utils/json-parse.js +29 -0
  89. package/dist/utils/json-parse.js.map +1 -0
  90. package/dist/utils/oauth/anthropic.d.ts +25 -0
  91. package/dist/utils/oauth/anthropic.d.ts.map +1 -0
  92. package/dist/utils/oauth/anthropic.js +335 -0
  93. package/dist/utils/oauth/anthropic.js.map +1 -0
  94. package/dist/utils/oauth/github-copilot.d.ts +30 -0
  95. package/dist/utils/oauth/github-copilot.d.ts.map +1 -0
  96. package/dist/utils/oauth/github-copilot.js +292 -0
  97. package/dist/utils/oauth/github-copilot.js.map +1 -0
  98. package/dist/utils/oauth/index.d.ts +36 -0
  99. package/dist/utils/oauth/index.d.ts.map +1 -0
  100. package/dist/utils/oauth/index.js +92 -0
  101. package/dist/utils/oauth/index.js.map +1 -0
  102. package/dist/utils/oauth/oauth-page.d.ts +3 -0
  103. package/dist/utils/oauth/oauth-page.d.ts.map +1 -0
  104. package/dist/utils/oauth/oauth-page.js +105 -0
  105. package/dist/utils/oauth/oauth-page.js.map +1 -0
  106. package/dist/utils/oauth/openai-codex.d.ts +34 -0
  107. package/dist/utils/oauth/openai-codex.d.ts.map +1 -0
  108. package/dist/utils/oauth/openai-codex.js +373 -0
  109. package/dist/utils/oauth/openai-codex.js.map +1 -0
  110. package/dist/utils/oauth/pkce.d.ts +13 -0
  111. package/dist/utils/oauth/pkce.d.ts.map +1 -0
  112. package/dist/utils/oauth/pkce.js +31 -0
  113. package/dist/utils/oauth/pkce.js.map +1 -0
  114. package/dist/utils/oauth/types.d.ts +47 -0
  115. package/dist/utils/oauth/types.d.ts.map +1 -0
  116. package/dist/utils/oauth/types.js +2 -0
  117. package/dist/utils/oauth/types.js.map +1 -0
  118. package/dist/utils/overflow.d.ts +53 -0
  119. package/dist/utils/overflow.d.ts.map +1 -0
  120. package/dist/utils/overflow.js +119 -0
  121. package/dist/utils/overflow.js.map +1 -0
  122. package/dist/utils/sanitize-unicode.d.ts +22 -0
  123. package/dist/utils/sanitize-unicode.d.ts.map +1 -0
  124. package/dist/utils/sanitize-unicode.js +26 -0
  125. package/dist/utils/sanitize-unicode.js.map +1 -0
  126. package/dist/utils/typebox-helpers.d.ts +17 -0
  127. package/dist/utils/typebox-helpers.d.ts.map +1 -0
  128. package/dist/utils/typebox-helpers.js +21 -0
  129. package/dist/utils/typebox-helpers.js.map +1 -0
  130. package/dist/utils/validation.d.ts +18 -0
  131. package/dist/utils/validation.d.ts.map +1 -0
  132. package/dist/utils/validation.js +80 -0
  133. package/dist/utils/validation.js.map +1 -0
  134. package/package.json +89 -0
  135. package/src/api-registry.ts +98 -0
  136. package/src/cli.ts +136 -0
  137. package/src/env-api-keys.ts +22 -0
  138. package/src/index.ts +29 -0
  139. package/src/models.generated.ts +2188 -0
  140. package/src/models.ts +82 -0
  141. package/src/oauth.ts +1 -0
  142. package/src/providers/anthropic.ts +905 -0
  143. package/src/providers/faux.ts +498 -0
  144. package/src/providers/github-copilot-headers.ts +37 -0
  145. package/src/providers/openai-codex-responses.ts +929 -0
  146. package/src/providers/openai-completions.ts +811 -0
  147. package/src/providers/openai-responses-shared.ts +513 -0
  148. package/src/providers/openai-responses.ts +251 -0
  149. package/src/providers/register-builtins.ts +232 -0
  150. package/src/providers/simple-options.ts +46 -0
  151. package/src/providers/transform-messages.ts +172 -0
  152. package/src/stream.ts +59 -0
  153. package/src/types.ts +294 -0
  154. package/src/utils/event-stream.ts +87 -0
  155. package/src/utils/hash.ts +13 -0
  156. package/src/utils/json-parse.ts +28 -0
  157. package/src/utils/oauth/anthropic.ts +402 -0
  158. package/src/utils/oauth/github-copilot.ts +396 -0
  159. package/src/utils/oauth/index.ts +123 -0
  160. package/src/utils/oauth/oauth-page.ts +109 -0
  161. package/src/utils/oauth/openai-codex.ts +450 -0
  162. package/src/utils/oauth/pkce.ts +34 -0
  163. package/src/utils/oauth/types.ts +59 -0
  164. package/src/utils/overflow.ts +125 -0
  165. package/src/utils/sanitize-unicode.ts +25 -0
  166. package/src/utils/typebox-helpers.ts +24 -0
  167. package/src/utils/validation.ts +93 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.generated.d.ts","sourceRoot":"","sources":["../src/models.generated.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsoET,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'bun packages/ai/scripts/generate-models.ts' to update\n\nimport type { Model } from \"./types.js\";\n\nexport const MODELS = {\n\t\"anthropic\": {\n\t\t\"claude-3-5-haiku-20241022\": {\n\t\t\tid: \"claude-3-5-haiku-20241022\",\n\t\t\tname: \"Claude Haiku 3.5\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.8,\n\t\t\t\toutput: 4,\n\t\t\t\tcacheRead: 0.08,\n\t\t\t\tcacheWrite: 1,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 8192,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-3-5-haiku-latest\": {\n\t\t\tid: \"claude-3-5-haiku-latest\",\n\t\t\tname: \"Claude Haiku 3.5 (latest)\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.8,\n\t\t\t\toutput: 4,\n\t\t\t\tcacheRead: 0.08,\n\t\t\t\tcacheWrite: 1,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 8192,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-3-5-sonnet-20240620\": {\n\t\t\tid: \"claude-3-5-sonnet-20240620\",\n\t\t\tname: \"Claude Sonnet 3.5\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 8192,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-3-5-sonnet-20241022\": {\n\t\t\tid: \"claude-3-5-sonnet-20241022\",\n\t\t\tname: \"Claude Sonnet 3.5 v2\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 8192,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-3-7-sonnet-20250219\": {\n\t\t\tid: \"claude-3-7-sonnet-20250219\",\n\t\t\tname: \"Claude Sonnet 3.7\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-3-haiku-20240307\": {\n\t\t\tid: \"claude-3-haiku-20240307\",\n\t\t\tname: \"Claude Haiku 3\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 1.25,\n\t\t\t\tcacheRead: 0.03,\n\t\t\t\tcacheWrite: 0.3,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-3-opus-20240229\": {\n\t\t\tid: \"claude-3-opus-20240229\",\n\t\t\tname: \"Claude Opus 3\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 75,\n\t\t\t\tcacheRead: 1.5,\n\t\t\t\tcacheWrite: 18.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-3-sonnet-20240229\": {\n\t\t\tid: \"claude-3-sonnet-20240229\",\n\t\t\tname: \"Claude Sonnet 3\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 0.3,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-haiku-4-5\": {\n\t\t\tid: \"claude-haiku-4-5\",\n\t\t\tname: \"Claude Haiku 4.5 (latest)\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1,\n\t\t\t\toutput: 5,\n\t\t\t\tcacheRead: 0.1,\n\t\t\t\tcacheWrite: 1.25,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-haiku-4-5-20251001\": {\n\t\t\tid: \"claude-haiku-4-5-20251001\",\n\t\t\tname: \"Claude Haiku 4.5\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1,\n\t\t\t\toutput: 5,\n\t\t\t\tcacheRead: 0.1,\n\t\t\t\tcacheWrite: 1.25,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4-0\": {\n\t\t\tid: \"claude-opus-4-0\",\n\t\t\tname: \"Claude Opus 4 (latest)\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 75,\n\t\t\t\tcacheRead: 1.5,\n\t\t\t\tcacheWrite: 18.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4-1\": {\n\t\t\tid: \"claude-opus-4-1\",\n\t\t\tname: \"Claude Opus 4.1 (latest)\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 75,\n\t\t\t\tcacheRead: 1.5,\n\t\t\t\tcacheWrite: 18.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4-1-20250805\": {\n\t\t\tid: \"claude-opus-4-1-20250805\",\n\t\t\tname: \"Claude Opus 4.1\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 75,\n\t\t\t\tcacheRead: 1.5,\n\t\t\t\tcacheWrite: 18.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4-20250514\": {\n\t\t\tid: \"claude-opus-4-20250514\",\n\t\t\tname: \"Claude Opus 4\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 75,\n\t\t\t\tcacheRead: 1.5,\n\t\t\t\tcacheWrite: 18.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4-5\": {\n\t\t\tid: \"claude-opus-4-5\",\n\t\t\tname: \"Claude Opus 4.5 (latest)\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 25,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 6.25,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4-5-20251101\": {\n\t\t\tid: \"claude-opus-4-5-20251101\",\n\t\t\tname: \"Claude Opus 4.5\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 25,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 6.25,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4-6\": {\n\t\t\tid: \"claude-opus-4-6\",\n\t\t\tname: \"Claude Opus 4.6\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 25,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 6.25,\n\t\t\t},\n\t\t\tcontextWindow: 1000000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-sonnet-4-0\": {\n\t\t\tid: \"claude-sonnet-4-0\",\n\t\t\tname: \"Claude Sonnet 4 (latest)\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-sonnet-4-20250514\": {\n\t\t\tid: \"claude-sonnet-4-20250514\",\n\t\t\tname: \"Claude Sonnet 4\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-sonnet-4-5\": {\n\t\t\tid: \"claude-sonnet-4-5\",\n\t\t\tname: \"Claude Sonnet 4.5 (latest)\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-sonnet-4-5-20250929\": {\n\t\t\tid: \"claude-sonnet-4-5-20250929\",\n\t\t\tname: \"Claude Sonnet 4.5\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-sonnet-4-6\": {\n\t\t\tid: \"claude-sonnet-4-6\",\n\t\t\tname: \"Claude Sonnet 4.6\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"anthropic\",\n\t\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 1000000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t},\n\t\"github-copilot\": {\n\t\t\"claude-haiku-4.5\": {\n\t\t\tid: \"claude-haiku-4.5\",\n\t\t\tname: \"Claude Haiku 4.5\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 144000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4.5\": {\n\t\t\tid: \"claude-opus-4.5\",\n\t\t\tname: \"Claude Opus 4.5\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 160000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-opus-4.6\": {\n\t\t\tid: \"claude-opus-4.6\",\n\t\t\tname: \"Claude Opus 4.6\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 144000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-sonnet-4\": {\n\t\t\tid: \"claude-sonnet-4\",\n\t\t\tname: \"Claude Sonnet 4\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 216000,\n\t\t\tmaxTokens: 16000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-sonnet-4.5\": {\n\t\t\tid: \"claude-sonnet-4.5\",\n\t\t\tname: \"Claude Sonnet 4.5\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 144000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"claude-sonnet-4.6\": {\n\t\t\tid: \"claude-sonnet-4.6\",\n\t\t\tname: \"Claude Sonnet 4.6\",\n\t\t\tapi: \"anthropic-messages\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"anthropic-messages\">,\n\t\t\"gemini-2.5-pro\": {\n\t\t\tid: \"gemini-2.5-pro\",\n\t\t\tname: \"Gemini 2.5 Pro\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"gemini-3-flash-preview\": {\n\t\t\tid: \"gemini-3-flash-preview\",\n\t\t\tname: \"Gemini 3 Flash\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"gemini-3-pro-preview\": {\n\t\t\tid: \"gemini-3-pro-preview\",\n\t\t\tname: \"Gemini 3 Pro Preview\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"gemini-3.1-pro-preview\": {\n\t\t\tid: \"gemini-3.1-pro-preview\",\n\t\t\tname: \"Gemini 3.1 Pro Preview\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"gpt-4.1\": {\n\t\t\tid: \"gpt-4.1\",\n\t\t\tname: \"GPT-4.1\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"gpt-4o\": {\n\t\t\tid: \"gpt-4o\",\n\t\t\tname: \"GPT-4o\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"gpt-5\": {\n\t\t\tid: \"gpt-5\",\n\t\t\tname: \"GPT-5\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-mini\": {\n\t\t\tid: \"gpt-5-mini\",\n\t\t\tname: \"GPT-5-mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 264000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1\": {\n\t\t\tid: \"gpt-5.1\",\n\t\t\tname: \"GPT-5.1\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 264000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex\": {\n\t\t\tid: \"gpt-5.1-codex\",\n\t\t\tname: \"GPT-5.1-Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex-max\": {\n\t\t\tid: \"gpt-5.1-codex-max\",\n\t\t\tname: \"GPT-5.1-Codex-max\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex-mini\": {\n\t\t\tid: \"gpt-5.1-codex-mini\",\n\t\t\tname: \"GPT-5.1-Codex-mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2\": {\n\t\t\tid: \"gpt-5.2\",\n\t\t\tname: \"GPT-5.2\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 264000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2-codex\": {\n\t\t\tid: \"gpt-5.2-codex\",\n\t\t\tname: \"GPT-5.2-Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.3-codex\": {\n\t\t\tid: \"gpt-5.3-codex\",\n\t\t\tname: \"GPT-5.3-Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4\": {\n\t\t\tid: \"gpt-5.4\",\n\t\t\tname: \"GPT-5.4\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4-mini\": {\n\t\t\tid: \"gpt-5.4-mini\",\n\t\t\tname: \"GPT-5.4 mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"grok-code-fast-1\": {\n\t\t\tid: \"grok-code-fast-1\",\n\t\t\tname: \"Grok Code Fast 1\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"github-copilot\",\n\t\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\t\t\theaders: {\"User-Agent\":\"GitHubCopilotChat/0.35.0\",\"Editor-Version\":\"vscode/1.107.0\",\"Editor-Plugin-Version\":\"copilot-chat/0.35.0\",\"Copilot-Integration-Id\":\"vscode-chat\"},\n\t\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t},\n\t\"openai-codex\": {\n\t\t\"gpt-5.1\": {\n\t\t\tid: \"gpt-5.1\",\n\t\t\tname: \"GPT-5.1\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.1-codex-max\": {\n\t\t\tid: \"gpt-5.1-codex-max\",\n\t\t\tname: \"GPT-5.1 Codex Max\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.1-codex-mini\": {\n\t\t\tid: \"gpt-5.1-codex-mini\",\n\t\t\tname: \"GPT-5.1 Codex Mini\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.025,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.2\": {\n\t\t\tid: \"gpt-5.2\",\n\t\t\tname: \"GPT-5.2\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.2-codex\": {\n\t\t\tid: \"gpt-5.2-codex\",\n\t\t\tname: \"GPT-5.2 Codex\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.3-codex\": {\n\t\t\tid: \"gpt-5.3-codex\",\n\t\t\tname: \"GPT-5.3 Codex\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.3-codex-spark\": {\n\t\t\tid: \"gpt-5.3-codex-spark\",\n\t\t\tname: \"GPT-5.3 Codex Spark\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.4\": {\n\t\t\tid: \"gpt-5.4\",\n\t\t\tname: \"GPT-5.4\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.4-mini\": {\n\t\t\tid: \"gpt-5.4-mini\",\n\t\t\tname: \"GPT-5.4 Mini\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.75,\n\t\t\t\toutput: 4.5,\n\t\t\t\tcacheRead: 0.075,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t},\n\t\"openrouter\": {\n\t\t\"anthropic/claude-3-haiku\": {\n\t\t\tid: \"anthropic/claude-3-haiku\",\n\t\t\tname: \"Anthropic: Claude 3 Haiku\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 1.25,\n\t\t\t\tcacheRead: 0.03,\n\t\t\t\tcacheWrite: 0.3,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-3.5-haiku\": {\n\t\t\tid: \"anthropic/claude-3.5-haiku\",\n\t\t\tname: \"Anthropic: Claude 3.5 Haiku\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.7999999999999999,\n\t\t\t\toutput: 4,\n\t\t\t\tcacheRead: 0.08,\n\t\t\t\tcacheWrite: 1,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 8192,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-3.5-sonnet\": {\n\t\t\tid: \"anthropic/claude-3.5-sonnet\",\n\t\t\tname: \"Anthropic: Claude 3.5 Sonnet\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 6,\n\t\t\t\toutput: 30,\n\t\t\t\tcacheRead: 0.6,\n\t\t\t\tcacheWrite: 7.5,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 8192,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-3.7-sonnet\": {\n\t\t\tid: \"anthropic/claude-3.7-sonnet\",\n\t\t\tname: \"Anthropic: Claude 3.7 Sonnet\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-3.7-sonnet:thinking\": {\n\t\t\tid: \"anthropic/claude-3.7-sonnet:thinking\",\n\t\t\tname: \"Anthropic: Claude 3.7 Sonnet (thinking)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-haiku-4.5\": {\n\t\t\tid: \"anthropic/claude-haiku-4.5\",\n\t\t\tname: \"Anthropic: Claude Haiku 4.5\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1,\n\t\t\t\toutput: 5,\n\t\t\t\tcacheRead: 0.09999999999999999,\n\t\t\t\tcacheWrite: 1.25,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-opus-4\": {\n\t\t\tid: \"anthropic/claude-opus-4\",\n\t\t\tname: \"Anthropic: Claude Opus 4\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 75,\n\t\t\t\tcacheRead: 1.5,\n\t\t\t\tcacheWrite: 18.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-opus-4.1\": {\n\t\t\tid: \"anthropic/claude-opus-4.1\",\n\t\t\tname: \"Anthropic: Claude Opus 4.1\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 75,\n\t\t\t\tcacheRead: 1.5,\n\t\t\t\tcacheWrite: 18.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-opus-4.5\": {\n\t\t\tid: \"anthropic/claude-opus-4.5\",\n\t\t\tname: \"Anthropic: Claude Opus 4.5\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 25,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 6.25,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-opus-4.6\": {\n\t\t\tid: \"anthropic/claude-opus-4.6\",\n\t\t\tname: \"Anthropic: Claude Opus 4.6\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 25,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 6.25,\n\t\t\t},\n\t\t\tcontextWindow: 1000000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-sonnet-4\": {\n\t\t\tid: \"anthropic/claude-sonnet-4\",\n\t\t\tname: \"Anthropic: Claude Sonnet 4\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-sonnet-4.5\": {\n\t\t\tid: \"anthropic/claude-sonnet-4.5\",\n\t\t\tname: \"Anthropic: Claude Sonnet 4.5\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 1000000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"anthropic/claude-sonnet-4.6\": {\n\t\t\tid: \"anthropic/claude-sonnet-4.6\",\n\t\t\tname: \"Anthropic: Claude Sonnet 4.6\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.3,\n\t\t\t\tcacheWrite: 3.75,\n\t\t\t},\n\t\t\tcontextWindow: 1000000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"auto\": {\n\t\t\tid: \"auto\",\n\t\t\tname: \"Auto\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 2000000,\n\t\t\tmaxTokens: 30000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-3.5-turbo\": {\n\t\t\tid: \"openai/gpt-3.5-turbo\",\n\t\t\tname: \"OpenAI: GPT-3.5 Turbo\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.5,\n\t\t\t\toutput: 1.5,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 16385,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-3.5-turbo-0613\": {\n\t\t\tid: \"openai/gpt-3.5-turbo-0613\",\n\t\t\tname: \"OpenAI: GPT-3.5 Turbo (older v0613)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 4095,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-3.5-turbo-16k\": {\n\t\t\tid: \"openai/gpt-3.5-turbo-16k\",\n\t\t\tname: \"OpenAI: GPT-3.5 Turbo 16k\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 3,\n\t\t\t\toutput: 4,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 16385,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4\": {\n\t\t\tid: \"openai/gpt-4\",\n\t\t\tname: \"OpenAI: GPT-4\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 30,\n\t\t\t\toutput: 60,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 8191,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4-0314\": {\n\t\t\tid: \"openai/gpt-4-0314\",\n\t\t\tname: \"OpenAI: GPT-4 (older v0314)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 30,\n\t\t\t\toutput: 60,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 8191,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4-1106-preview\": {\n\t\t\tid: \"openai/gpt-4-1106-preview\",\n\t\t\tname: \"OpenAI: GPT-4 Turbo (older v1106)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 30,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4-turbo\": {\n\t\t\tid: \"openai/gpt-4-turbo\",\n\t\t\tname: \"OpenAI: GPT-4 Turbo\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 30,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4-turbo-preview\": {\n\t\t\tid: \"openai/gpt-4-turbo-preview\",\n\t\t\tname: \"OpenAI: GPT-4 Turbo Preview\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 30,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4.1\": {\n\t\t\tid: \"openai/gpt-4.1\",\n\t\t\tname: \"OpenAI: GPT-4.1\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4.1-mini\": {\n\t\t\tid: \"openai/gpt-4.1-mini\",\n\t\t\tname: \"OpenAI: GPT-4.1 Mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.39999999999999997,\n\t\t\t\toutput: 1.5999999999999999,\n\t\t\t\tcacheRead: 0.09999999999999999,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4.1-nano\": {\n\t\t\tid: \"openai/gpt-4.1-nano\",\n\t\t\tname: \"OpenAI: GPT-4.1 Nano\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.09999999999999999,\n\t\t\t\toutput: 0.39999999999999997,\n\t\t\t\tcacheRead: 0.024999999999999998,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4o\": {\n\t\t\tid: \"openai/gpt-4o\",\n\t\t\tname: \"OpenAI: GPT-4o\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4o-2024-05-13\": {\n\t\t\tid: \"openai/gpt-4o-2024-05-13\",\n\t\t\tname: \"OpenAI: GPT-4o (2024-05-13)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4o-2024-08-06\": {\n\t\t\tid: \"openai/gpt-4o-2024-08-06\",\n\t\t\tname: \"OpenAI: GPT-4o (2024-08-06)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4o-2024-11-20\": {\n\t\t\tid: \"openai/gpt-4o-2024-11-20\",\n\t\t\tname: \"OpenAI: GPT-4o (2024-11-20)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4o-audio-preview\": {\n\t\t\tid: \"openai/gpt-4o-audio-preview\",\n\t\t\tname: \"OpenAI: GPT-4o Audio\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4o-mini\": {\n\t\t\tid: \"openai/gpt-4o-mini\",\n\t\t\tname: \"OpenAI: GPT-4o-mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.15,\n\t\t\t\toutput: 0.6,\n\t\t\t\tcacheRead: 0.075,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4o-mini-2024-07-18\": {\n\t\t\tid: \"openai/gpt-4o-mini-2024-07-18\",\n\t\t\tname: \"OpenAI: GPT-4o-mini (2024-07-18)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.15,\n\t\t\t\toutput: 0.6,\n\t\t\t\tcacheRead: 0.075,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-4o:extended\": {\n\t\t\tid: \"openai/gpt-4o:extended\",\n\t\t\tname: \"OpenAI: GPT-4o (extended)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 6,\n\t\t\t\toutput: 18,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 64000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5\": {\n\t\t\tid: \"openai/gpt-5\",\n\t\t\tname: \"OpenAI: GPT-5\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5-codex\": {\n\t\t\tid: \"openai/gpt-5-codex\",\n\t\t\tname: \"OpenAI: GPT-5 Codex\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5-image\": {\n\t\t\tid: \"openai/gpt-5-image\",\n\t\t\tname: \"OpenAI: GPT-5 Image\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5-image-mini\": {\n\t\t\tid: \"openai/gpt-5-image-mini\",\n\t\t\tname: \"OpenAI: GPT-5 Image Mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5-mini\": {\n\t\t\tid: \"openai/gpt-5-mini\",\n\t\t\tname: \"OpenAI: GPT-5 Mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.024999999999999998,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5-nano\": {\n\t\t\tid: \"openai/gpt-5-nano\",\n\t\t\tname: \"OpenAI: GPT-5 Nano\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.049999999999999996,\n\t\t\t\toutput: 0.39999999999999997,\n\t\t\t\tcacheRead: 0.005,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5-pro\": {\n\t\t\tid: \"openai/gpt-5-pro\",\n\t\t\tname: \"OpenAI: GPT-5 Pro\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 120,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.1\": {\n\t\t\tid: \"openai/gpt-5.1\",\n\t\t\tname: \"OpenAI: GPT-5.1\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.1-chat\": {\n\t\t\tid: \"openai/gpt-5.1-chat\",\n\t\t\tname: \"OpenAI: GPT-5.1 Chat\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.1-codex\": {\n\t\t\tid: \"openai/gpt-5.1-codex\",\n\t\t\tname: \"OpenAI: GPT-5.1-Codex\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.1-codex-max\": {\n\t\t\tid: \"openai/gpt-5.1-codex-max\",\n\t\t\tname: \"OpenAI: GPT-5.1-Codex-Max\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.1-codex-mini\": {\n\t\t\tid: \"openai/gpt-5.1-codex-mini\",\n\t\t\tname: \"OpenAI: GPT-5.1-Codex-Mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.024999999999999998,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.2\": {\n\t\t\tid: \"openai/gpt-5.2\",\n\t\t\tname: \"OpenAI: GPT-5.2\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.2-chat\": {\n\t\t\tid: \"openai/gpt-5.2-chat\",\n\t\t\tname: \"OpenAI: GPT-5.2 Chat\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.2-codex\": {\n\t\t\tid: \"openai/gpt-5.2-codex\",\n\t\t\tname: \"OpenAI: GPT-5.2-Codex\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.2-pro\": {\n\t\t\tid: \"openai/gpt-5.2-pro\",\n\t\t\tname: \"OpenAI: GPT-5.2 Pro\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 21,\n\t\t\t\toutput: 168,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.3-chat\": {\n\t\t\tid: \"openai/gpt-5.3-chat\",\n\t\t\tname: \"OpenAI: GPT-5.3 Chat\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.3-codex\": {\n\t\t\tid: \"openai/gpt-5.3-codex\",\n\t\t\tname: \"OpenAI: GPT-5.3-Codex\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.4\": {\n\t\t\tid: \"openai/gpt-5.4\",\n\t\t\tname: \"OpenAI: GPT-5.4\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1050000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.4-mini\": {\n\t\t\tid: \"openai/gpt-5.4-mini\",\n\t\t\tname: \"OpenAI: GPT-5.4 Mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.75,\n\t\t\t\toutput: 4.5,\n\t\t\t\tcacheRead: 0.075,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.4-nano\": {\n\t\t\tid: \"openai/gpt-5.4-nano\",\n\t\t\tname: \"OpenAI: GPT-5.4 Nano\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.19999999999999998,\n\t\t\t\toutput: 1.25,\n\t\t\t\tcacheRead: 0.02,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-5.4-pro\": {\n\t\t\tid: \"openai/gpt-5.4-pro\",\n\t\t\tname: \"OpenAI: GPT-5.4 Pro\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 30,\n\t\t\t\toutput: 180,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1050000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-audio\": {\n\t\t\tid: \"openai/gpt-audio\",\n\t\t\tname: \"OpenAI: GPT Audio\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-audio-mini\": {\n\t\t\tid: \"openai/gpt-audio-mini\",\n\t\t\tname: \"OpenAI: GPT Audio Mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.6,\n\t\t\t\toutput: 2.4,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-oss-120b\": {\n\t\t\tid: \"openai/gpt-oss-120b\",\n\t\t\tname: \"OpenAI: gpt-oss-120b\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.039,\n\t\t\t\toutput: 0.19,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 131072,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-oss-120b:free\": {\n\t\t\tid: \"openai/gpt-oss-120b:free\",\n\t\t\tname: \"OpenAI: gpt-oss-120b (free)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 131072,\n\t\t\tmaxTokens: 131072,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-oss-20b\": {\n\t\t\tid: \"openai/gpt-oss-20b\",\n\t\t\tname: \"OpenAI: gpt-oss-20b\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.03,\n\t\t\t\toutput: 0.11,\n\t\t\t\tcacheRead: 0.015,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 131072,\n\t\t\tmaxTokens: 131072,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-oss-20b:free\": {\n\t\t\tid: \"openai/gpt-oss-20b:free\",\n\t\t\tname: \"OpenAI: gpt-oss-20b (free)\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 131072,\n\t\t\tmaxTokens: 131072,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/gpt-oss-safeguard-20b\": {\n\t\t\tid: \"openai/gpt-oss-safeguard-20b\",\n\t\t\tname: \"OpenAI: gpt-oss-safeguard-20b\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.075,\n\t\t\t\toutput: 0.3,\n\t\t\t\tcacheRead: 0.037,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 131072,\n\t\t\tmaxTokens: 65536,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o1\": {\n\t\t\tid: \"openai/o1\",\n\t\t\tname: \"OpenAI: o1\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 60,\n\t\t\t\tcacheRead: 7.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o3\": {\n\t\t\tid: \"openai/o3\",\n\t\t\tname: \"OpenAI: o3\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o3-deep-research\": {\n\t\t\tid: \"openai/o3-deep-research\",\n\t\t\tname: \"OpenAI: o3 Deep Research\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 40,\n\t\t\t\tcacheRead: 2.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o3-mini\": {\n\t\t\tid: \"openai/o3-mini\",\n\t\t\tname: \"OpenAI: o3 Mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.1,\n\t\t\t\toutput: 4.4,\n\t\t\t\tcacheRead: 0.55,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o3-mini-high\": {\n\t\t\tid: \"openai/o3-mini-high\",\n\t\t\tname: \"OpenAI: o3 Mini High\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.1,\n\t\t\t\toutput: 4.4,\n\t\t\t\tcacheRead: 0.55,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o3-pro\": {\n\t\t\tid: \"openai/o3-pro\",\n\t\t\tname: \"OpenAI: o3 Pro\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 20,\n\t\t\t\toutput: 80,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o4-mini\": {\n\t\t\tid: \"openai/o4-mini\",\n\t\t\tname: \"OpenAI: o4 Mini\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.1,\n\t\t\t\toutput: 4.4,\n\t\t\t\tcacheRead: 0.275,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o4-mini-deep-research\": {\n\t\t\tid: \"openai/o4-mini-deep-research\",\n\t\t\tname: \"OpenAI: o4 Mini Deep Research\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t\t\"openai/o4-mini-high\": {\n\t\t\tid: \"openai/o4-mini-high\",\n\t\t\tname: \"OpenAI: o4 Mini High\",\n\t\t\tapi: \"openai-completions\",\n\t\t\tprovider: \"openrouter\",\n\t\t\tbaseUrl: \"https://openrouter.ai/api/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.1,\n\t\t\t\toutput: 4.4,\n\t\t\t\tcacheRead: 0.275,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-completions\">,\n\t},\n} as const;\n"]}