@fractaal/pi-ai 0.80.2

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 (594) hide show
  1. package/README.md +1564 -0
  2. package/dist/api/anthropic-messages.d.ts +71 -0
  3. package/dist/api/anthropic-messages.d.ts.map +1 -0
  4. package/dist/api/anthropic-messages.js +972 -0
  5. package/dist/api/anthropic-messages.js.map +1 -0
  6. package/dist/api/anthropic-messages.lazy.d.ts +3 -0
  7. package/dist/api/anthropic-messages.lazy.d.ts.map +1 -0
  8. package/dist/api/anthropic-messages.lazy.js +3 -0
  9. package/dist/api/anthropic-messages.lazy.js.map +1 -0
  10. package/dist/api/azure-openai-responses.d.ts +15 -0
  11. package/dist/api/azure-openai-responses.d.ts.map +1 -0
  12. package/dist/api/azure-openai-responses.js +219 -0
  13. package/dist/api/azure-openai-responses.js.map +1 -0
  14. package/dist/api/azure-openai-responses.lazy.d.ts +3 -0
  15. package/dist/api/azure-openai-responses.lazy.d.ts.map +1 -0
  16. package/dist/api/azure-openai-responses.lazy.js +3 -0
  17. package/dist/api/azure-openai-responses.lazy.js.map +1 -0
  18. package/dist/api/bedrock-converse-stream.d.ts +38 -0
  19. package/dist/api/bedrock-converse-stream.d.ts.map +1 -0
  20. package/dist/api/bedrock-converse-stream.js +871 -0
  21. package/dist/api/bedrock-converse-stream.js.map +1 -0
  22. package/dist/api/bedrock-converse-stream.lazy.d.ts +9 -0
  23. package/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -0
  24. package/dist/api/bedrock-converse-stream.lazy.js +30 -0
  25. package/dist/api/bedrock-converse-stream.lazy.js.map +1 -0
  26. package/dist/api/cloudflare.d.ts +9 -0
  27. package/dist/api/cloudflare.d.ts.map +1 -0
  28. package/dist/api/cloudflare.js +9 -0
  29. package/dist/api/cloudflare.js.map +1 -0
  30. package/dist/api/github-copilot-headers.d.ts +8 -0
  31. package/dist/api/github-copilot-headers.d.ts.map +1 -0
  32. package/dist/api/github-copilot-headers.js +29 -0
  33. package/dist/api/github-copilot-headers.js.map +1 -0
  34. package/dist/api/google-generative-ai.d.ts +13 -0
  35. package/dist/api/google-generative-ai.d.ts.map +1 -0
  36. package/dist/api/google-generative-ai.js +407 -0
  37. package/dist/api/google-generative-ai.js.map +1 -0
  38. package/dist/api/google-generative-ai.lazy.d.ts +3 -0
  39. package/dist/api/google-generative-ai.lazy.d.ts.map +1 -0
  40. package/dist/api/google-generative-ai.lazy.js +3 -0
  41. package/dist/api/google-generative-ai.lazy.js.map +1 -0
  42. package/dist/api/google-shared.d.ts +70 -0
  43. package/dist/api/google-shared.d.ts.map +1 -0
  44. package/dist/api/google-shared.js +329 -0
  45. package/dist/api/google-shared.js.map +1 -0
  46. package/dist/api/google-vertex.d.ts +15 -0
  47. package/dist/api/google-vertex.d.ts.map +1 -0
  48. package/dist/api/google-vertex.js +456 -0
  49. package/dist/api/google-vertex.js.map +1 -0
  50. package/dist/api/google-vertex.lazy.d.ts +3 -0
  51. package/dist/api/google-vertex.lazy.d.ts.map +1 -0
  52. package/dist/api/google-vertex.lazy.js +3 -0
  53. package/dist/api/google-vertex.lazy.js.map +1 -0
  54. package/dist/api/lazy.d.ts +15 -0
  55. package/dist/api/lazy.d.ts.map +1 -0
  56. package/dist/api/lazy.js +59 -0
  57. package/dist/api/lazy.js.map +1 -0
  58. package/dist/api/mistral-conversations.d.ts +25 -0
  59. package/dist/api/mistral-conversations.d.ts.map +1 -0
  60. package/dist/api/mistral-conversations.js +555 -0
  61. package/dist/api/mistral-conversations.js.map +1 -0
  62. package/dist/api/mistral-conversations.lazy.d.ts +3 -0
  63. package/dist/api/mistral-conversations.lazy.d.ts.map +1 -0
  64. package/dist/api/mistral-conversations.lazy.js +3 -0
  65. package/dist/api/mistral-conversations.lazy.js.map +1 -0
  66. package/dist/api/openai-codex-responses.d.ts +30 -0
  67. package/dist/api/openai-codex-responses.d.ts.map +1 -0
  68. package/dist/api/openai-codex-responses.js +1189 -0
  69. package/dist/api/openai-codex-responses.js.map +1 -0
  70. package/dist/api/openai-codex-responses.lazy.d.ts +3 -0
  71. package/dist/api/openai-codex-responses.lazy.d.ts.map +1 -0
  72. package/dist/api/openai-codex-responses.lazy.js +3 -0
  73. package/dist/api/openai-codex-responses.lazy.js.map +1 -0
  74. package/dist/api/openai-completions.d.ts +19 -0
  75. package/dist/api/openai-completions.d.ts.map +1 -0
  76. package/dist/api/openai-completions.js +1058 -0
  77. package/dist/api/openai-completions.js.map +1 -0
  78. package/dist/api/openai-completions.lazy.d.ts +3 -0
  79. package/dist/api/openai-completions.lazy.d.ts.map +1 -0
  80. package/dist/api/openai-completions.lazy.js +3 -0
  81. package/dist/api/openai-completions.lazy.js.map +1 -0
  82. package/dist/api/openai-prompt-cache.d.ts +3 -0
  83. package/dist/api/openai-prompt-cache.d.ts.map +1 -0
  84. package/dist/api/openai-prompt-cache.js +10 -0
  85. package/dist/api/openai-prompt-cache.js.map +1 -0
  86. package/dist/api/openai-responses-shared.d.ts +18 -0
  87. package/dist/api/openai-responses-shared.d.ts.map +1 -0
  88. package/dist/api/openai-responses-shared.js +482 -0
  89. package/dist/api/openai-responses-shared.js.map +1 -0
  90. package/dist/api/openai-responses.d.ts +13 -0
  91. package/dist/api/openai-responses.d.ts.map +1 -0
  92. package/dist/api/openai-responses.js +226 -0
  93. package/dist/api/openai-responses.js.map +1 -0
  94. package/dist/api/openai-responses.lazy.d.ts +3 -0
  95. package/dist/api/openai-responses.lazy.d.ts.map +1 -0
  96. package/dist/api/openai-responses.lazy.js +3 -0
  97. package/dist/api/openai-responses.lazy.js.map +1 -0
  98. package/dist/api/openrouter-images.d.ts +3 -0
  99. package/dist/api/openrouter-images.d.ts.map +1 -0
  100. package/dist/api/openrouter-images.js +126 -0
  101. package/dist/api/openrouter-images.js.map +1 -0
  102. package/dist/api/openrouter-images.lazy.d.ts +3 -0
  103. package/dist/api/openrouter-images.lazy.d.ts.map +1 -0
  104. package/dist/api/openrouter-images.lazy.js +4 -0
  105. package/dist/api/openrouter-images.lazy.js.map +1 -0
  106. package/dist/api/simple-options.d.ts +9 -0
  107. package/dist/api/simple-options.d.ts.map +1 -0
  108. package/dist/api/simple-options.js +52 -0
  109. package/dist/api/simple-options.js.map +1 -0
  110. package/dist/api/transform-messages.d.ts +8 -0
  111. package/dist/api/transform-messages.d.ts.map +1 -0
  112. package/dist/api/transform-messages.js +184 -0
  113. package/dist/api/transform-messages.js.map +1 -0
  114. package/dist/auth/context.d.ts +7 -0
  115. package/dist/auth/context.d.ts.map +1 -0
  116. package/dist/auth/context.js +42 -0
  117. package/dist/auth/context.js.map +1 -0
  118. package/dist/auth/credential-store.d.ts +16 -0
  119. package/dist/auth/credential-store.d.ts.map +1 -0
  120. package/dist/auth/credential-store.js +37 -0
  121. package/dist/auth/credential-store.js.map +1 -0
  122. package/dist/auth/helpers.d.ts +20 -0
  123. package/dist/auth/helpers.d.ts.map +1 -0
  124. package/dist/auth/helpers.js +46 -0
  125. package/dist/auth/helpers.js.map +1 -0
  126. package/dist/auth/resolve.d.ts +26 -0
  127. package/dist/auth/resolve.d.ts.map +1 -0
  128. package/dist/auth/resolve.js +101 -0
  129. package/dist/auth/resolve.js.map +1 -0
  130. package/dist/auth/types.d.ts +180 -0
  131. package/dist/auth/types.d.ts.map +1 -0
  132. package/dist/auth/types.js +2 -0
  133. package/dist/auth/types.js.map +1 -0
  134. package/dist/bedrock-provider.d.ts +5 -0
  135. package/dist/bedrock-provider.d.ts.map +1 -0
  136. package/dist/bedrock-provider.js +6 -0
  137. package/dist/bedrock-provider.js.map +1 -0
  138. package/dist/cli.d.ts +3 -0
  139. package/dist/cli.d.ts.map +1 -0
  140. package/dist/cli.js +130 -0
  141. package/dist/cli.js.map +1 -0
  142. package/dist/compat.d.ts +65 -0
  143. package/dist/compat.d.ts.map +1 -0
  144. package/dist/compat.js +182 -0
  145. package/dist/compat.js.map +1 -0
  146. package/dist/env-api-keys.d.ts +18 -0
  147. package/dist/env-api-keys.d.ts.map +1 -0
  148. package/dist/env-api-keys.js +145 -0
  149. package/dist/env-api-keys.js.map +1 -0
  150. package/dist/image-models.d.ts +10 -0
  151. package/dist/image-models.d.ts.map +1 -0
  152. package/dist/image-models.generated.d.ts +530 -0
  153. package/dist/image-models.generated.d.ts.map +1 -0
  154. package/dist/image-models.generated.js +532 -0
  155. package/dist/image-models.generated.js.map +1 -0
  156. package/dist/image-models.js +23 -0
  157. package/dist/image-models.js.map +1 -0
  158. package/dist/images-api-registry.d.ts +14 -0
  159. package/dist/images-api-registry.d.ts.map +1 -0
  160. package/dist/images-api-registry.js +22 -0
  161. package/dist/images-api-registry.js.map +1 -0
  162. package/dist/images-models.d.ts +93 -0
  163. package/dist/images-models.d.ts.map +1 -0
  164. package/dist/images-models.js +141 -0
  165. package/dist/images-models.js.map +1 -0
  166. package/dist/images.d.ts +4 -0
  167. package/dist/images.d.ts.map +1 -0
  168. package/dist/images.js +14 -0
  169. package/dist/images.js.map +1 -0
  170. package/dist/index.d.ts +31 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +19 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/legacy-api-aliases.d.ts +42 -0
  175. package/dist/legacy-api-aliases.d.ts.map +1 -0
  176. package/dist/legacy-api-aliases.js +49 -0
  177. package/dist/legacy-api-aliases.js.map +1 -0
  178. package/dist/models.d.ts +142 -0
  179. package/dist/models.d.ts.map +1 -0
  180. package/dist/models.generated.d.ts +21040 -0
  181. package/dist/models.generated.d.ts.map +1 -0
  182. package/dist/models.generated.js +75 -0
  183. package/dist/models.generated.js.map +1 -0
  184. package/dist/models.js +238 -0
  185. package/dist/models.js.map +1 -0
  186. package/dist/oauth.d.ts +2 -0
  187. package/dist/oauth.d.ts.map +1 -0
  188. package/dist/oauth.js +2 -0
  189. package/dist/oauth.js.map +1 -0
  190. package/dist/providers/all.d.ts +21 -0
  191. package/dist/providers/all.d.ts.map +1 -0
  192. package/dist/providers/all.js +114 -0
  193. package/dist/providers/all.js.map +1 -0
  194. package/dist/providers/amazon-bedrock.d.ts +3 -0
  195. package/dist/providers/amazon-bedrock.d.ts.map +1 -0
  196. package/dist/providers/amazon-bedrock.js +39 -0
  197. package/dist/providers/amazon-bedrock.js.map +1 -0
  198. package/dist/providers/amazon-bedrock.models.d.ts +1837 -0
  199. package/dist/providers/amazon-bedrock.models.d.ts.map +1 -0
  200. package/dist/providers/amazon-bedrock.models.js +1794 -0
  201. package/dist/providers/amazon-bedrock.models.js.map +1 -0
  202. package/dist/providers/ant-ling.d.ts +3 -0
  203. package/dist/providers/ant-ling.d.ts.map +1 -0
  204. package/dist/providers/ant-ling.js +15 -0
  205. package/dist/providers/ant-ling.js.map +1 -0
  206. package/dist/providers/ant-ling.models.d.ts +86 -0
  207. package/dist/providers/ant-ling.models.d.ts.map +1 -0
  208. package/dist/providers/ant-ling.models.js +60 -0
  209. package/dist/providers/ant-ling.models.js.map +1 -0
  210. package/dist/providers/anthropic.d.ts +3 -0
  211. package/dist/providers/anthropic.d.ts.map +1 -0
  212. package/dist/providers/anthropic.js +20 -0
  213. package/dist/providers/anthropic.js.map +1 -0
  214. package/dist/providers/anthropic.models.d.ts +441 -0
  215. package/dist/providers/anthropic.models.d.ts.map +1 -0
  216. package/dist/providers/anthropic.models.js +422 -0
  217. package/dist/providers/anthropic.models.js.map +1 -0
  218. package/dist/providers/azure-openai-responses.d.ts +3 -0
  219. package/dist/providers/azure-openai-responses.d.ts.map +1 -0
  220. package/dist/providers/azure-openai-responses.js +14 -0
  221. package/dist/providers/azure-openai-responses.js.map +1 -0
  222. package/dist/providers/azure-openai-responses.models.d.ts +804 -0
  223. package/dist/providers/azure-openai-responses.models.d.ts.map +1 -0
  224. package/dist/providers/azure-openai-responses.models.js +743 -0
  225. package/dist/providers/azure-openai-responses.models.js.map +1 -0
  226. package/dist/providers/cerebras.d.ts +3 -0
  227. package/dist/providers/cerebras.d.ts.map +1 -0
  228. package/dist/providers/cerebras.js +15 -0
  229. package/dist/providers/cerebras.js.map +1 -0
  230. package/dist/providers/cerebras.models.d.ts +45 -0
  231. package/dist/providers/cerebras.models.d.ts.map +1 -0
  232. package/dist/providers/cerebras.models.js +41 -0
  233. package/dist/providers/cerebras.models.js.map +1 -0
  234. package/dist/providers/cloudflare-ai-gateway.d.ts +3 -0
  235. package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -0
  236. package/dist/providers/cloudflare-ai-gateway.js +20 -0
  237. package/dist/providers/cloudflare-ai-gateway.js.map +1 -0
  238. package/dist/providers/cloudflare-ai-gateway.models.d.ts +785 -0
  239. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -0
  240. package/dist/providers/cloudflare-ai-gateway.models.js +684 -0
  241. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -0
  242. package/dist/providers/cloudflare-auth.d.ts +4 -0
  243. package/dist/providers/cloudflare-auth.d.ts.map +1 -0
  244. package/dist/providers/cloudflare-auth.js +85 -0
  245. package/dist/providers/cloudflare-auth.js.map +1 -0
  246. package/dist/providers/cloudflare-workers-ai.d.ts +3 -0
  247. package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -0
  248. package/dist/providers/cloudflare-workers-ai.js +14 -0
  249. package/dist/providers/cloudflare-workers-ai.js.map +1 -0
  250. package/dist/providers/cloudflare-workers-ai.models.d.ts +302 -0
  251. package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -0
  252. package/dist/providers/cloudflare-workers-ai.models.js +239 -0
  253. package/dist/providers/cloudflare-workers-ai.models.js.map +1 -0
  254. package/dist/providers/deepseek.d.ts +3 -0
  255. package/dist/providers/deepseek.d.ts.map +1 -0
  256. package/dist/providers/deepseek.js +15 -0
  257. package/dist/providers/deepseek.js.map +1 -0
  258. package/dist/providers/deepseek.models.d.ts +63 -0
  259. package/dist/providers/deepseek.models.d.ts.map +1 -0
  260. package/dist/providers/deepseek.models.js +43 -0
  261. package/dist/providers/deepseek.models.js.map +1 -0
  262. package/dist/providers/faux.d.ts +97 -0
  263. package/dist/providers/faux.d.ts.map +1 -0
  264. package/dist/providers/faux.js +395 -0
  265. package/dist/providers/faux.js.map +1 -0
  266. package/dist/providers/fireworks.d.ts +3 -0
  267. package/dist/providers/fireworks.d.ts.map +1 -0
  268. package/dist/providers/fireworks.js +19 -0
  269. package/dist/providers/fireworks.js.map +1 -0
  270. package/dist/providers/fireworks.models.d.ts +376 -0
  271. package/dist/providers/fireworks.models.d.ts.map +1 -0
  272. package/dist/providers/fireworks.models.js +294 -0
  273. package/dist/providers/fireworks.models.js.map +1 -0
  274. package/dist/providers/github-copilot.d.ts +3 -0
  275. package/dist/providers/github-copilot.d.ts.map +1 -0
  276. package/dist/providers/github-copilot.js +25 -0
  277. package/dist/providers/github-copilot.js.map +1 -0
  278. package/dist/providers/github-copilot.models.d.ts +616 -0
  279. package/dist/providers/github-copilot.models.d.ts.map +1 -0
  280. package/dist/providers/github-copilot.models.js +426 -0
  281. package/dist/providers/github-copilot.models.js.map +1 -0
  282. package/dist/providers/google-vertex.d.ts +3 -0
  283. package/dist/providers/google-vertex.d.ts.map +1 -0
  284. package/dist/providers/google-vertex.js +35 -0
  285. package/dist/providers/google-vertex.js.map +1 -0
  286. package/dist/providers/google-vertex.models.d.ts +202 -0
  287. package/dist/providers/google-vertex.models.d.ts.map +1 -0
  288. package/dist/providers/google-vertex.models.js +182 -0
  289. package/dist/providers/google-vertex.models.js.map +1 -0
  290. package/dist/providers/google.d.ts +3 -0
  291. package/dist/providers/google.d.ts.map +1 -0
  292. package/dist/providers/google.js +15 -0
  293. package/dist/providers/google.js.map +1 -0
  294. package/dist/providers/google.models.d.ts +328 -0
  295. package/dist/providers/google.models.d.ts.map +1 -0
  296. package/dist/providers/google.models.js +288 -0
  297. package/dist/providers/google.models.js.map +1 -0
  298. package/dist/providers/groq.d.ts +3 -0
  299. package/dist/providers/groq.d.ts.map +1 -0
  300. package/dist/providers/groq.js +15 -0
  301. package/dist/providers/groq.js.map +1 -0
  302. package/dist/providers/groq.models.d.ts +128 -0
  303. package/dist/providers/groq.models.d.ts.map +1 -0
  304. package/dist/providers/groq.models.js +125 -0
  305. package/dist/providers/groq.models.js.map +1 -0
  306. package/dist/providers/huggingface.d.ts +3 -0
  307. package/dist/providers/huggingface.d.ts.map +1 -0
  308. package/dist/providers/huggingface.js +15 -0
  309. package/dist/providers/huggingface.js.map +1 -0
  310. package/dist/providers/huggingface.models.d.ts +963 -0
  311. package/dist/providers/huggingface.models.d.ts.map +1 -0
  312. package/dist/providers/huggingface.models.js +869 -0
  313. package/dist/providers/huggingface.models.js.map +1 -0
  314. package/dist/providers/images/register-builtins.d.ts +4 -0
  315. package/dist/providers/images/register-builtins.d.ts.map +1 -0
  316. package/dist/providers/images/register-builtins.js +34 -0
  317. package/dist/providers/images/register-builtins.js.map +1 -0
  318. package/dist/providers/kimi-coding.d.ts +3 -0
  319. package/dist/providers/kimi-coding.d.ts.map +1 -0
  320. package/dist/providers/kimi-coding.js +15 -0
  321. package/dist/providers/kimi-coding.js.map +1 -0
  322. package/dist/providers/kimi-coding.models.d.ts +63 -0
  323. package/dist/providers/kimi-coding.models.d.ts.map +1 -0
  324. package/dist/providers/kimi-coding.models.js +59 -0
  325. package/dist/providers/kimi-coding.models.js.map +1 -0
  326. package/dist/providers/minimax-cn.d.ts +3 -0
  327. package/dist/providers/minimax-cn.d.ts.map +1 -0
  328. package/dist/providers/minimax-cn.js +15 -0
  329. package/dist/providers/minimax-cn.js.map +1 -0
  330. package/dist/providers/minimax-cn.models.d.ts +54 -0
  331. package/dist/providers/minimax-cn.models.d.ts.map +1 -0
  332. package/dist/providers/minimax-cn.models.js +56 -0
  333. package/dist/providers/minimax-cn.models.js.map +1 -0
  334. package/dist/providers/minimax.d.ts +3 -0
  335. package/dist/providers/minimax.d.ts.map +1 -0
  336. package/dist/providers/minimax.js +15 -0
  337. package/dist/providers/minimax.js.map +1 -0
  338. package/dist/providers/minimax.models.d.ts +54 -0
  339. package/dist/providers/minimax.models.d.ts.map +1 -0
  340. package/dist/providers/minimax.models.js +56 -0
  341. package/dist/providers/minimax.models.js.map +1 -0
  342. package/dist/providers/mistral.d.ts +3 -0
  343. package/dist/providers/mistral.d.ts.map +1 -0
  344. package/dist/providers/mistral.js +15 -0
  345. package/dist/providers/mistral.js.map +1 -0
  346. package/dist/providers/mistral.models.d.ts +513 -0
  347. package/dist/providers/mistral.models.d.ts.map +1 -0
  348. package/dist/providers/mistral.models.js +515 -0
  349. package/dist/providers/mistral.models.js.map +1 -0
  350. package/dist/providers/moonshotai-cn.d.ts +3 -0
  351. package/dist/providers/moonshotai-cn.d.ts.map +1 -0
  352. package/dist/providers/moonshotai-cn.js +15 -0
  353. package/dist/providers/moonshotai-cn.js.map +1 -0
  354. package/dist/providers/moonshotai-cn.models.d.ts +234 -0
  355. package/dist/providers/moonshotai-cn.models.d.ts.map +1 -0
  356. package/dist/providers/moonshotai-cn.models.js +169 -0
  357. package/dist/providers/moonshotai-cn.models.js.map +1 -0
  358. package/dist/providers/moonshotai.d.ts +3 -0
  359. package/dist/providers/moonshotai.d.ts.map +1 -0
  360. package/dist/providers/moonshotai.js +15 -0
  361. package/dist/providers/moonshotai.js.map +1 -0
  362. package/dist/providers/moonshotai.models.d.ts +234 -0
  363. package/dist/providers/moonshotai.models.d.ts.map +1 -0
  364. package/dist/providers/moonshotai.models.js +169 -0
  365. package/dist/providers/moonshotai.models.js.map +1 -0
  366. package/dist/providers/nvidia.d.ts +3 -0
  367. package/dist/providers/nvidia.d.ts.map +1 -0
  368. package/dist/providers/nvidia.js +15 -0
  369. package/dist/providers/nvidia.js.map +1 -0
  370. package/dist/providers/nvidia.models.d.ts +563 -0
  371. package/dist/providers/nvidia.models.d.ts.map +1 -0
  372. package/dist/providers/nvidia.models.js +385 -0
  373. package/dist/providers/nvidia.models.js.map +1 -0
  374. package/dist/providers/openai-codex.d.ts +3 -0
  375. package/dist/providers/openai-codex.d.ts.map +1 -0
  376. package/dist/providers/openai-codex.js +18 -0
  377. package/dist/providers/openai-codex.js.map +1 -0
  378. package/dist/providers/openai-codex.models.d.ts +87 -0
  379. package/dist/providers/openai-codex.models.d.ts.map +1 -0
  380. package/dist/providers/openai-codex.models.js +77 -0
  381. package/dist/providers/openai-codex.models.js.map +1 -0
  382. package/dist/providers/openai.d.ts +3 -0
  383. package/dist/providers/openai.d.ts.map +1 -0
  384. package/dist/providers/openai.js +15 -0
  385. package/dist/providers/openai.js.map +1 -0
  386. package/dist/providers/openai.models.d.ts +805 -0
  387. package/dist/providers/openai.models.d.ts.map +1 -0
  388. package/dist/providers/openai.models.js +743 -0
  389. package/dist/providers/openai.models.js.map +1 -0
  390. package/dist/providers/opencode-go.d.ts +3 -0
  391. package/dist/providers/opencode-go.d.ts.map +1 -0
  392. package/dist/providers/opencode-go.js +18 -0
  393. package/dist/providers/opencode-go.js.map +1 -0
  394. package/dist/providers/opencode-go.models.d.ts +309 -0
  395. package/dist/providers/opencode-go.models.d.ts.map +1 -0
  396. package/dist/providers/opencode-go.models.js +240 -0
  397. package/dist/providers/opencode-go.models.js.map +1 -0
  398. package/dist/providers/opencode.d.ts +3 -0
  399. package/dist/providers/opencode.d.ts.map +1 -0
  400. package/dist/providers/opencode.js +22 -0
  401. package/dist/providers/opencode.js.map +1 -0
  402. package/dist/providers/opencode.models.d.ts +1037 -0
  403. package/dist/providers/opencode.models.d.ts.map +1 -0
  404. package/dist/providers/opencode.models.js +868 -0
  405. package/dist/providers/opencode.models.js.map +1 -0
  406. package/dist/providers/openrouter-images.d.ts +3 -0
  407. package/dist/providers/openrouter-images.d.ts.map +1 -0
  408. package/dist/providers/openrouter-images.js +14 -0
  409. package/dist/providers/openrouter-images.js.map +1 -0
  410. package/dist/providers/openrouter.d.ts +3 -0
  411. package/dist/providers/openrouter.d.ts.map +1 -0
  412. package/dist/providers/openrouter.js +15 -0
  413. package/dist/providers/openrouter.js.map +1 -0
  414. package/dist/providers/openrouter.models.d.ts +5402 -0
  415. package/dist/providers/openrouter.models.d.ts.map +1 -0
  416. package/dist/providers/openrouter.models.js +4634 -0
  417. package/dist/providers/openrouter.models.js.map +1 -0
  418. package/dist/providers/together.d.ts +3 -0
  419. package/dist/providers/together.d.ts.map +1 -0
  420. package/dist/providers/together.js +15 -0
  421. package/dist/providers/together.js.map +1 -0
  422. package/dist/providers/together.models.d.ts +598 -0
  423. package/dist/providers/together.models.d.ts.map +1 -0
  424. package/dist/providers/together.models.js +380 -0
  425. package/dist/providers/together.models.js.map +1 -0
  426. package/dist/providers/vercel-ai-gateway.d.ts +3 -0
  427. package/dist/providers/vercel-ai-gateway.d.ts.map +1 -0
  428. package/dist/providers/vercel-ai-gateway.js +15 -0
  429. package/dist/providers/vercel-ai-gateway.js.map +1 -0
  430. package/dist/providers/vercel-ai-gateway.models.d.ts +3227 -0
  431. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -0
  432. package/dist/providers/vercel-ai-gateway.models.js +3186 -0
  433. package/dist/providers/vercel-ai-gateway.models.js.map +1 -0
  434. package/dist/providers/xai.d.ts +3 -0
  435. package/dist/providers/xai.d.ts.map +1 -0
  436. package/dist/providers/xai.js +15 -0
  437. package/dist/providers/xai.js.map +1 -0
  438. package/dist/providers/xai.models.d.ts +157 -0
  439. package/dist/providers/xai.models.d.ts.map +1 -0
  440. package/dist/providers/xai.models.js +131 -0
  441. package/dist/providers/xai.models.js.map +1 -0
  442. package/dist/providers/xiaomi-token-plan-ams.d.ts +3 -0
  443. package/dist/providers/xiaomi-token-plan-ams.d.ts.map +1 -0
  444. package/dist/providers/xiaomi-token-plan-ams.js +15 -0
  445. package/dist/providers/xiaomi-token-plan-ams.js.map +1 -0
  446. package/dist/providers/xiaomi-token-plan-ams.models.d.ts +108 -0
  447. package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -0
  448. package/dist/providers/xiaomi-token-plan-ams.models.js +95 -0
  449. package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -0
  450. package/dist/providers/xiaomi-token-plan-cn.d.ts +3 -0
  451. package/dist/providers/xiaomi-token-plan-cn.d.ts.map +1 -0
  452. package/dist/providers/xiaomi-token-plan-cn.js +15 -0
  453. package/dist/providers/xiaomi-token-plan-cn.js.map +1 -0
  454. package/dist/providers/xiaomi-token-plan-cn.models.d.ts +108 -0
  455. package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -0
  456. package/dist/providers/xiaomi-token-plan-cn.models.js +95 -0
  457. package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -0
  458. package/dist/providers/xiaomi-token-plan-sgp.d.ts +3 -0
  459. package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +1 -0
  460. package/dist/providers/xiaomi-token-plan-sgp.js +15 -0
  461. package/dist/providers/xiaomi-token-plan-sgp.js.map +1 -0
  462. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +108 -0
  463. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -0
  464. package/dist/providers/xiaomi-token-plan-sgp.models.js +95 -0
  465. package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -0
  466. package/dist/providers/xiaomi.d.ts +3 -0
  467. package/dist/providers/xiaomi.d.ts.map +1 -0
  468. package/dist/providers/xiaomi.js +15 -0
  469. package/dist/providers/xiaomi.js.map +1 -0
  470. package/dist/providers/xiaomi.models.d.ts +129 -0
  471. package/dist/providers/xiaomi.models.d.ts.map +1 -0
  472. package/dist/providers/xiaomi.models.js +113 -0
  473. package/dist/providers/xiaomi.models.js.map +1 -0
  474. package/dist/providers/zai-coding-cn.d.ts +3 -0
  475. package/dist/providers/zai-coding-cn.d.ts.map +1 -0
  476. package/dist/providers/zai-coding-cn.js +15 -0
  477. package/dist/providers/zai-coding-cn.js.map +1 -0
  478. package/dist/providers/zai-coding-cn.models.d.ts +153 -0
  479. package/dist/providers/zai-coding-cn.models.d.ts.map +1 -0
  480. package/dist/providers/zai-coding-cn.models.js +114 -0
  481. package/dist/providers/zai-coding-cn.models.js.map +1 -0
  482. package/dist/providers/zai.d.ts +3 -0
  483. package/dist/providers/zai.d.ts.map +1 -0
  484. package/dist/providers/zai.js +15 -0
  485. package/dist/providers/zai.js.map +1 -0
  486. package/dist/providers/zai.models.d.ts +153 -0
  487. package/dist/providers/zai.models.d.ts.map +1 -0
  488. package/dist/providers/zai.models.js +114 -0
  489. package/dist/providers/zai.models.js.map +1 -0
  490. package/dist/session-resources.d.ts +4 -0
  491. package/dist/session-resources.d.ts.map +1 -0
  492. package/dist/session-resources.js +22 -0
  493. package/dist/session-resources.js.map +1 -0
  494. package/dist/types.d.ts +597 -0
  495. package/dist/types.d.ts.map +1 -0
  496. package/dist/types.js +2 -0
  497. package/dist/types.js.map +1 -0
  498. package/dist/utils/abort-signals.d.ts +6 -0
  499. package/dist/utils/abort-signals.d.ts.map +1 -0
  500. package/dist/utils/abort-signals.js +34 -0
  501. package/dist/utils/abort-signals.js.map +1 -0
  502. package/dist/utils/diagnostics.d.ts +19 -0
  503. package/dist/utils/diagnostics.d.ts.map +1 -0
  504. package/dist/utils/diagnostics.js +25 -0
  505. package/dist/utils/diagnostics.js.map +1 -0
  506. package/dist/utils/error-body.d.ts +25 -0
  507. package/dist/utils/error-body.d.ts.map +1 -0
  508. package/dist/utils/error-body.js +109 -0
  509. package/dist/utils/error-body.js.map +1 -0
  510. package/dist/utils/estimate.d.ts +17 -0
  511. package/dist/utils/estimate.d.ts.map +1 -0
  512. package/dist/utils/estimate.js +95 -0
  513. package/dist/utils/estimate.js.map +1 -0
  514. package/dist/utils/event-stream.d.ts +21 -0
  515. package/dist/utils/event-stream.d.ts.map +1 -0
  516. package/dist/utils/event-stream.js +81 -0
  517. package/dist/utils/event-stream.js.map +1 -0
  518. package/dist/utils/hash.d.ts +3 -0
  519. package/dist/utils/hash.d.ts.map +1 -0
  520. package/dist/utils/hash.js +14 -0
  521. package/dist/utils/hash.js.map +1 -0
  522. package/dist/utils/headers.d.ts +4 -0
  523. package/dist/utils/headers.d.ts.map +1 -0
  524. package/dist/utils/headers.js +18 -0
  525. package/dist/utils/headers.js.map +1 -0
  526. package/dist/utils/json-parse.d.ts +16 -0
  527. package/dist/utils/json-parse.d.ts.map +1 -0
  528. package/dist/utils/json-parse.js +113 -0
  529. package/dist/utils/json-parse.js.map +1 -0
  530. package/dist/utils/node-http-proxy.d.ts +4 -0
  531. package/dist/utils/node-http-proxy.d.ts.map +1 -0
  532. package/dist/utils/node-http-proxy.js +92 -0
  533. package/dist/utils/node-http-proxy.js.map +1 -0
  534. package/dist/utils/oauth/anthropic.d.ts +27 -0
  535. package/dist/utils/oauth/anthropic.d.ts.map +1 -0
  536. package/dist/utils/oauth/anthropic.js +367 -0
  537. package/dist/utils/oauth/anthropic.js.map +1 -0
  538. package/dist/utils/oauth/device-code.d.ts +21 -0
  539. package/dist/utils/oauth/device-code.d.ts.map +1 -0
  540. package/dist/utils/oauth/device-code.js +56 -0
  541. package/dist/utils/oauth/device-code.js.map +1 -0
  542. package/dist/utils/oauth/github-copilot.d.ts +32 -0
  543. package/dist/utils/oauth/github-copilot.d.ts.map +1 -0
  544. package/dist/utils/oauth/github-copilot.js +370 -0
  545. package/dist/utils/oauth/github-copilot.js.map +1 -0
  546. package/dist/utils/oauth/index.d.ts +58 -0
  547. package/dist/utils/oauth/index.d.ts.map +1 -0
  548. package/dist/utils/oauth/index.js +122 -0
  549. package/dist/utils/oauth/index.js.map +1 -0
  550. package/dist/utils/oauth/load.d.ts +5 -0
  551. package/dist/utils/oauth/load.d.ts.map +1 -0
  552. package/dist/utils/oauth/load.js +22 -0
  553. package/dist/utils/oauth/load.js.map +1 -0
  554. package/dist/utils/oauth/oauth-page.d.ts +3 -0
  555. package/dist/utils/oauth/oauth-page.d.ts.map +1 -0
  556. package/dist/utils/oauth/oauth-page.js +105 -0
  557. package/dist/utils/oauth/oauth-page.js.map +1 -0
  558. package/dist/utils/oauth/openai-codex.d.ts +45 -0
  559. package/dist/utils/oauth/openai-codex.d.ts.map +1 -0
  560. package/dist/utils/oauth/openai-codex.js +537 -0
  561. package/dist/utils/oauth/openai-codex.js.map +1 -0
  562. package/dist/utils/oauth/pkce.d.ts +13 -0
  563. package/dist/utils/oauth/pkce.d.ts.map +1 -0
  564. package/dist/utils/oauth/pkce.js +31 -0
  565. package/dist/utils/oauth/pkce.js.map +1 -0
  566. package/dist/utils/oauth/types.d.ts +64 -0
  567. package/dist/utils/oauth/types.d.ts.map +1 -0
  568. package/dist/utils/oauth/types.js +2 -0
  569. package/dist/utils/oauth/types.js.map +1 -0
  570. package/dist/utils/overflow.d.ts +57 -0
  571. package/dist/utils/overflow.d.ts.map +1 -0
  572. package/dist/utils/overflow.js +155 -0
  573. package/dist/utils/overflow.js.map +1 -0
  574. package/dist/utils/provider-env.d.ts +7 -0
  575. package/dist/utils/provider-env.d.ts.map +1 -0
  576. package/dist/utils/provider-env.js +44 -0
  577. package/dist/utils/provider-env.js.map +1 -0
  578. package/dist/utils/retry.d.ts +12 -0
  579. package/dist/utils/retry.d.ts.map +1 -0
  580. package/dist/utils/retry.js +86 -0
  581. package/dist/utils/retry.js.map +1 -0
  582. package/dist/utils/sanitize-unicode.d.ts +22 -0
  583. package/dist/utils/sanitize-unicode.d.ts.map +1 -0
  584. package/dist/utils/sanitize-unicode.js +26 -0
  585. package/dist/utils/sanitize-unicode.js.map +1 -0
  586. package/dist/utils/typebox-helpers.d.ts +17 -0
  587. package/dist/utils/typebox-helpers.d.ts.map +1 -0
  588. package/dist/utils/typebox-helpers.js +21 -0
  589. package/dist/utils/typebox-helpers.js.map +1 -0
  590. package/dist/utils/validation.d.ts +18 -0
  591. package/dist/utils/validation.d.ts.map +1 -0
  592. package/dist/utils/validation.js +281 -0
  593. package/dist/utils/validation.js.map +1 -0
  594. package/package.json +92 -0
@@ -0,0 +1,426 @@
1
+ // This file is auto-generated by scripts/generate-models.ts
2
+ // Do not edit manually - run 'npm run generate-models' to update
3
+ export const GITHUB_COPILOT_MODELS = {
4
+ "claude-fable-5": {
5
+ id: "claude-fable-5",
6
+ name: "Claude Fable 5",
7
+ api: "openai-completions",
8
+ provider: "github-copilot",
9
+ baseUrl: "https://api.individual.githubcopilot.com",
10
+ headers: { "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" },
11
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
12
+ reasoning: true,
13
+ input: ["text", "image"],
14
+ cost: {
15
+ input: 10,
16
+ output: 50,
17
+ cacheRead: 1,
18
+ cacheWrite: 12.5,
19
+ },
20
+ contextWindow: 1000000,
21
+ maxTokens: 128000,
22
+ },
23
+ "claude-haiku-4.5": {
24
+ id: "claude-haiku-4.5",
25
+ name: "Claude Haiku 4.5 (latest)",
26
+ api: "anthropic-messages",
27
+ provider: "github-copilot",
28
+ baseUrl: "https://api.individual.githubcopilot.com",
29
+ headers: { "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" },
30
+ compat: { "supportsEagerToolInputStreaming": false },
31
+ reasoning: true,
32
+ input: ["text", "image"],
33
+ cost: {
34
+ input: 1,
35
+ output: 5,
36
+ cacheRead: 0.1,
37
+ cacheWrite: 1.25,
38
+ },
39
+ contextWindow: 200000,
40
+ maxTokens: 64000,
41
+ },
42
+ "claude-opus-4.5": {
43
+ id: "claude-opus-4.5",
44
+ name: "Claude Opus 4.5 (latest)",
45
+ api: "anthropic-messages",
46
+ provider: "github-copilot",
47
+ baseUrl: "https://api.individual.githubcopilot.com",
48
+ headers: { "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" },
49
+ reasoning: true,
50
+ input: ["text", "image"],
51
+ cost: {
52
+ input: 5,
53
+ output: 25,
54
+ cacheRead: 0.5,
55
+ cacheWrite: 6.25,
56
+ },
57
+ contextWindow: 200000,
58
+ maxTokens: 32000,
59
+ },
60
+ "claude-opus-4.6": {
61
+ id: "claude-opus-4.6",
62
+ name: "Claude Opus 4.6",
63
+ api: "anthropic-messages",
64
+ provider: "github-copilot",
65
+ baseUrl: "https://api.individual.githubcopilot.com",
66
+ headers: { "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" },
67
+ compat: { "forceAdaptiveThinking": true },
68
+ reasoning: true,
69
+ thinkingLevelMap: { "xhigh": "max" },
70
+ input: ["text", "image"],
71
+ cost: {
72
+ input: 5,
73
+ output: 25,
74
+ cacheRead: 0.5,
75
+ cacheWrite: 6.25,
76
+ },
77
+ contextWindow: 1000000,
78
+ maxTokens: 32000,
79
+ },
80
+ "claude-opus-4.7": {
81
+ id: "claude-opus-4.7",
82
+ name: "Claude Opus 4.7",
83
+ api: "anthropic-messages",
84
+ provider: "github-copilot",
85
+ baseUrl: "https://api.individual.githubcopilot.com",
86
+ headers: { "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" },
87
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
88
+ reasoning: true,
89
+ thinkingLevelMap: { "xhigh": "xhigh", "minimal": "low" },
90
+ input: ["text", "image"],
91
+ cost: {
92
+ input: 5,
93
+ output: 25,
94
+ cacheRead: 0.5,
95
+ cacheWrite: 6.25,
96
+ },
97
+ contextWindow: 200000,
98
+ maxTokens: 32000,
99
+ },
100
+ "claude-opus-4.8": {
101
+ id: "claude-opus-4.8",
102
+ name: "Claude Opus 4.8",
103
+ api: "anthropic-messages",
104
+ provider: "github-copilot",
105
+ baseUrl: "https://api.individual.githubcopilot.com",
106
+ headers: { "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" },
107
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
108
+ reasoning: true,
109
+ thinkingLevelMap: { "xhigh": "xhigh", "minimal": "low" },
110
+ input: ["text", "image"],
111
+ cost: {
112
+ input: 5,
113
+ output: 25,
114
+ cacheRead: 0.5,
115
+ cacheWrite: 6.25,
116
+ },
117
+ contextWindow: 200000,
118
+ maxTokens: 64000,
119
+ },
120
+ "claude-sonnet-4": {
121
+ id: "claude-sonnet-4",
122
+ name: "Claude Sonnet 4 (latest)",
123
+ api: "anthropic-messages",
124
+ provider: "github-copilot",
125
+ baseUrl: "https://api.individual.githubcopilot.com",
126
+ headers: { "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" },
127
+ compat: { "supportsEagerToolInputStreaming": false },
128
+ reasoning: true,
129
+ input: ["text", "image"],
130
+ cost: {
131
+ input: 3,
132
+ output: 15,
133
+ cacheRead: 0.3,
134
+ cacheWrite: 3.75,
135
+ },
136
+ contextWindow: 216000,
137
+ maxTokens: 16000,
138
+ },
139
+ "claude-sonnet-4.5": {
140
+ id: "claude-sonnet-4.5",
141
+ name: "Claude Sonnet 4.5 (latest)",
142
+ api: "anthropic-messages",
143
+ provider: "github-copilot",
144
+ baseUrl: "https://api.individual.githubcopilot.com",
145
+ headers: { "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" },
146
+ compat: { "supportsEagerToolInputStreaming": false },
147
+ reasoning: true,
148
+ input: ["text", "image"],
149
+ cost: {
150
+ input: 3,
151
+ output: 15,
152
+ cacheRead: 0.3,
153
+ cacheWrite: 3.75,
154
+ },
155
+ contextWindow: 200000,
156
+ maxTokens: 32000,
157
+ },
158
+ "claude-sonnet-4.6": {
159
+ id: "claude-sonnet-4.6",
160
+ name: "Claude Sonnet 4.6",
161
+ api: "anthropic-messages",
162
+ provider: "github-copilot",
163
+ baseUrl: "https://api.individual.githubcopilot.com",
164
+ headers: { "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" },
165
+ compat: { "forceAdaptiveThinking": true },
166
+ reasoning: true,
167
+ thinkingLevelMap: { "minimal": "low", "xhigh": "max" },
168
+ input: ["text", "image"],
169
+ cost: {
170
+ input: 3,
171
+ output: 15,
172
+ cacheRead: 0.3,
173
+ cacheWrite: 3.75,
174
+ },
175
+ contextWindow: 1000000,
176
+ maxTokens: 32000,
177
+ },
178
+ "gemini-2.5-pro": {
179
+ id: "gemini-2.5-pro",
180
+ name: "Gemini 2.5 Pro",
181
+ api: "openai-completions",
182
+ provider: "github-copilot",
183
+ baseUrl: "https://api.individual.githubcopilot.com",
184
+ headers: { "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" },
185
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
186
+ reasoning: true,
187
+ input: ["text", "image"],
188
+ cost: {
189
+ input: 1.25,
190
+ output: 10,
191
+ cacheRead: 0.125,
192
+ cacheWrite: 0,
193
+ },
194
+ contextWindow: 128000,
195
+ maxTokens: 64000,
196
+ },
197
+ "gemini-3-flash-preview": {
198
+ id: "gemini-3-flash-preview",
199
+ name: "Gemini 3 Flash Preview",
200
+ api: "openai-completions",
201
+ provider: "github-copilot",
202
+ baseUrl: "https://api.individual.githubcopilot.com",
203
+ headers: { "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" },
204
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
205
+ reasoning: true,
206
+ input: ["text", "image"],
207
+ cost: {
208
+ input: 0.5,
209
+ output: 3,
210
+ cacheRead: 0.05,
211
+ cacheWrite: 0,
212
+ },
213
+ contextWindow: 128000,
214
+ maxTokens: 64000,
215
+ },
216
+ "gemini-3.1-pro-preview": {
217
+ id: "gemini-3.1-pro-preview",
218
+ name: "Gemini 3.1 Pro Preview",
219
+ api: "openai-completions",
220
+ provider: "github-copilot",
221
+ baseUrl: "https://api.individual.githubcopilot.com",
222
+ headers: { "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" },
223
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
224
+ reasoning: true,
225
+ input: ["text", "image"],
226
+ cost: {
227
+ input: 2,
228
+ output: 12,
229
+ cacheRead: 0.2,
230
+ cacheWrite: 0,
231
+ },
232
+ contextWindow: 200000,
233
+ maxTokens: 64000,
234
+ },
235
+ "gemini-3.5-flash": {
236
+ id: "gemini-3.5-flash",
237
+ name: "Gemini 3.5 Flash",
238
+ api: "openai-completions",
239
+ provider: "github-copilot",
240
+ baseUrl: "https://api.individual.githubcopilot.com",
241
+ headers: { "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" },
242
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
243
+ reasoning: true,
244
+ input: ["text", "image"],
245
+ cost: {
246
+ input: 1.5,
247
+ output: 9,
248
+ cacheRead: 0.15,
249
+ cacheWrite: 0,
250
+ },
251
+ contextWindow: 200000,
252
+ maxTokens: 64000,
253
+ },
254
+ "gpt-4.1": {
255
+ id: "gpt-4.1",
256
+ name: "GPT-4.1",
257
+ api: "openai-completions",
258
+ provider: "github-copilot",
259
+ baseUrl: "https://api.individual.githubcopilot.com",
260
+ headers: { "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" },
261
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
262
+ reasoning: false,
263
+ input: ["text", "image"],
264
+ cost: {
265
+ input: 2,
266
+ output: 8,
267
+ cacheRead: 0.5,
268
+ cacheWrite: 0,
269
+ },
270
+ contextWindow: 128000,
271
+ maxTokens: 16384,
272
+ },
273
+ "gpt-5-mini": {
274
+ id: "gpt-5-mini",
275
+ name: "GPT-5 Mini",
276
+ api: "openai-responses",
277
+ provider: "github-copilot",
278
+ baseUrl: "https://api.individual.githubcopilot.com",
279
+ headers: { "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" },
280
+ reasoning: true,
281
+ thinkingLevelMap: { "off": null, "minimal": "low" },
282
+ input: ["text", "image"],
283
+ cost: {
284
+ input: 0.25,
285
+ output: 2,
286
+ cacheRead: 0.025,
287
+ cacheWrite: 0,
288
+ },
289
+ contextWindow: 264000,
290
+ maxTokens: 64000,
291
+ },
292
+ "gpt-5.2": {
293
+ id: "gpt-5.2",
294
+ name: "GPT-5.2",
295
+ api: "openai-responses",
296
+ provider: "github-copilot",
297
+ baseUrl: "https://api.individual.githubcopilot.com",
298
+ headers: { "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" },
299
+ reasoning: true,
300
+ thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
301
+ input: ["text", "image"],
302
+ cost: {
303
+ input: 1.75,
304
+ output: 14,
305
+ cacheRead: 0.175,
306
+ cacheWrite: 0,
307
+ },
308
+ contextWindow: 400000,
309
+ maxTokens: 128000,
310
+ },
311
+ "gpt-5.2-codex": {
312
+ id: "gpt-5.2-codex",
313
+ name: "GPT-5.2 Codex",
314
+ api: "openai-responses",
315
+ provider: "github-copilot",
316
+ baseUrl: "https://api.individual.githubcopilot.com",
317
+ headers: { "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" },
318
+ reasoning: true,
319
+ thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
320
+ input: ["text", "image"],
321
+ cost: {
322
+ input: 1.75,
323
+ output: 14,
324
+ cacheRead: 0.175,
325
+ cacheWrite: 0,
326
+ },
327
+ contextWindow: 400000,
328
+ maxTokens: 128000,
329
+ },
330
+ "gpt-5.3-codex": {
331
+ id: "gpt-5.3-codex",
332
+ name: "GPT-5.3 Codex",
333
+ api: "openai-responses",
334
+ provider: "github-copilot",
335
+ baseUrl: "https://api.individual.githubcopilot.com",
336
+ headers: { "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" },
337
+ reasoning: true,
338
+ thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
339
+ input: ["text", "image"],
340
+ cost: {
341
+ input: 1.75,
342
+ output: 14,
343
+ cacheRead: 0.175,
344
+ cacheWrite: 0,
345
+ },
346
+ contextWindow: 400000,
347
+ maxTokens: 128000,
348
+ },
349
+ "gpt-5.4": {
350
+ id: "gpt-5.4",
351
+ name: "GPT-5.4",
352
+ api: "openai-responses",
353
+ provider: "github-copilot",
354
+ baseUrl: "https://api.individual.githubcopilot.com",
355
+ headers: { "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" },
356
+ reasoning: true,
357
+ thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
358
+ input: ["text", "image"],
359
+ cost: {
360
+ input: 2.5,
361
+ output: 15,
362
+ cacheRead: 0.25,
363
+ cacheWrite: 0,
364
+ },
365
+ contextWindow: 400000,
366
+ maxTokens: 128000,
367
+ },
368
+ "gpt-5.4-mini": {
369
+ id: "gpt-5.4-mini",
370
+ name: "GPT-5.4 mini",
371
+ api: "openai-responses",
372
+ provider: "github-copilot",
373
+ baseUrl: "https://api.individual.githubcopilot.com",
374
+ headers: { "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" },
375
+ reasoning: true,
376
+ thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
377
+ input: ["text", "image"],
378
+ cost: {
379
+ input: 0.75,
380
+ output: 4.5,
381
+ cacheRead: 0.075,
382
+ cacheWrite: 0,
383
+ },
384
+ contextWindow: 400000,
385
+ maxTokens: 128000,
386
+ },
387
+ "gpt-5.4-nano": {
388
+ id: "gpt-5.4-nano",
389
+ name: "GPT-5.4 nano",
390
+ api: "openai-responses",
391
+ provider: "github-copilot",
392
+ baseUrl: "https://api.individual.githubcopilot.com",
393
+ headers: { "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" },
394
+ reasoning: true,
395
+ thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
396
+ input: ["text", "image"],
397
+ cost: {
398
+ input: 0.2,
399
+ output: 1.25,
400
+ cacheRead: 0.02,
401
+ cacheWrite: 0,
402
+ },
403
+ contextWindow: 400000,
404
+ maxTokens: 128000,
405
+ },
406
+ "gpt-5.5": {
407
+ id: "gpt-5.5",
408
+ name: "GPT-5.5",
409
+ api: "openai-responses",
410
+ provider: "github-copilot",
411
+ baseUrl: "https://api.individual.githubcopilot.com",
412
+ headers: { "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" },
413
+ reasoning: true,
414
+ thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
415
+ input: ["text", "image"],
416
+ cost: {
417
+ input: 5,
418
+ output: 30,
419
+ cacheRead: 0.5,
420
+ cacheWrite: 0,
421
+ },
422
+ contextWindow: 400000,
423
+ maxTokens: 128000,
424
+ },
425
+ };
426
+ //# sourceMappingURL=github-copilot.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-copilot.models.js","sourceRoot":"","sources":["../../src/providers/github-copilot.models.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const GITHUB_COPILOT_MODELS = {\n\t\"claude-fable-5\": {\n\t\tid: \"claude-fable-5\",\n\t\tname: \"Claude Fable 5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 10,\n\t\t\toutput: 50,\n\t\t\tcacheRead: 1,\n\t\t\tcacheWrite: 12.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"claude-haiku-4.5\": {\n\t\tid: \"claude-haiku-4.5\",\n\t\tname: \"Claude Haiku 4.5 (latest)\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsEagerToolInputStreaming\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4.5\": {\n\t\tid: \"claude-opus-4.5\",\n\t\tname: \"Claude Opus 4.5 (latest)\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4.6\": {\n\t\tid: \"claude-opus-4.6\",\n\t\tname: \"Claude Opus 4.6\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"forceAdaptiveThinking\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4.7\": {\n\t\tid: \"claude-opus-4.7\",\n\t\tname: \"Claude Opus 4.7\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"forceAdaptiveThinking\":true,\"supportsTemperature\":false},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"minimal\":\"low\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4.8\": {\n\t\tid: \"claude-opus-4.8\",\n\t\tname: \"Claude Opus 4.8\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"forceAdaptiveThinking\":true,\"supportsTemperature\":false},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"minimal\":\"low\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4\": {\n\t\tid: \"claude-sonnet-4\",\n\t\tname: \"Claude Sonnet 4 (latest)\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsEagerToolInputStreaming\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 216000,\n\t\tmaxTokens: 16000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4.5\": {\n\t\tid: \"claude-sonnet-4.5\",\n\t\tname: \"Claude Sonnet 4.5 (latest)\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsEagerToolInputStreaming\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4.6\": {\n\t\tid: \"claude-sonnet-4.6\",\n\t\tname: \"Claude Sonnet 4.6\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"forceAdaptiveThinking\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"minimal\":\"low\",\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"gemini-2.5-pro\": {\n\t\tid: \"gemini-2.5-pro\",\n\t\tname: \"Gemini 2.5 Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.25,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.125,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gemini-3-flash-preview\": {\n\t\tid: \"gemini-3-flash-preview\",\n\t\tname: \"Gemini 3 Flash Preview\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.05,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gemini-3.1-pro-preview\": {\n\t\tid: \"gemini-3.1-pro-preview\",\n\t\tname: \"Gemini 3.1 Pro Preview\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 12,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gemini-3.5-flash\": {\n\t\tid: \"gemini-3.5-flash\",\n\t\tname: \"Gemini 3.5 Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.5,\n\t\t\toutput: 9,\n\t\t\tcacheRead: 0.15,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gpt-4.1\": {\n\t\tid: \"gpt-4.1\",\n\t\tname: \"GPT-4.1\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 8,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gpt-5-mini\": {\n\t\tid: \"gpt-5-mini\",\n\t\tname: \"GPT-5 Mini\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":\"low\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 2,\n\t\t\tcacheRead: 0.025,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 264000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.2\": {\n\t\tid: \"gpt-5.2\",\n\t\tname: \"GPT-5.2\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":\"low\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.2-codex\": {\n\t\tid: \"gpt-5.2-codex\",\n\t\tname: \"GPT-5.2 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":\"low\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.3-codex\": {\n\t\tid: \"gpt-5.3-codex\",\n\t\tname: \"GPT-5.3 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":\"low\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4\": {\n\t\tid: \"gpt-5.4\",\n\t\tname: \"GPT-5.4\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":\"low\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2.5,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.25,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4-mini\": {\n\t\tid: \"gpt-5.4-mini\",\n\t\tname: \"GPT-5.4 mini\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":\"low\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.75,\n\t\t\toutput: 4.5,\n\t\t\tcacheRead: 0.075,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4-nano\": {\n\t\tid: \"gpt-5.4-nano\",\n\t\tname: \"GPT-5.4 nano\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":\"low\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 1.25,\n\t\t\tcacheRead: 0.02,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.5\": {\n\t\tid: \"gpt-5.5\",\n\t\tname: \"GPT-5.5\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"github-copilot\",\n\t\tbaseUrl: \"https://api.individual.githubcopilot.com\",\n\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\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":\"low\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 30,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n} as const;\n"]}
@@ -0,0 +1,3 @@
1
+ import { type Provider } from "../models.ts";
2
+ export declare function googleVertexProvider(): Provider<"google-vertex">;
3
+ //# sourceMappingURL=google-vertex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-vertex.d.ts","sourceRoot":"","sources":["../../src/providers/google-vertex.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AA2B7D,wBAAgB,oBAAoB,IAAI,QAAQ,CAAC,eAAe,CAAC,CAQhE","sourcesContent":["import { googleVertexApi } from \"../api/google-vertex.lazy.ts\";\nimport type { ApiKeyAuth } from \"../auth/types.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { GOOGLE_VERTEX_MODELS } from \"./google-vertex.models.ts\";\n\nconst VERTEX_ADC_PATH = \"~/.config/gcloud/application_default_credentials.json\";\n\n/**\n * Vertex accepts an explicit API key or Application Default Credentials\n * (`gcloud auth application-default login`). ADC additionally requires\n * project and location env vars, which the implementation reads itself.\n */\nconst vertexAuth: ApiKeyAuth = {\n\tname: \"Google Cloud credentials\",\n\tresolve: async ({ ctx, credential }) => {\n\t\tconst key = credential?.key ?? (await ctx.env(\"GOOGLE_CLOUD_API_KEY\"));\n\t\tif (key) return { auth: { apiKey: key }, source: credential?.key ? \"stored credential\" : \"GOOGLE_CLOUD_API_KEY\" };\n\n\t\tconst adcPath = await ctx.env(\"GOOGLE_APPLICATION_CREDENTIALS\");\n\t\tconst hasCredentials = await ctx.fileExists(adcPath ?? VERTEX_ADC_PATH);\n\t\tconst hasProject = Boolean((await ctx.env(\"GOOGLE_CLOUD_PROJECT\")) ?? (await ctx.env(\"GCLOUD_PROJECT\")));\n\t\tconst hasLocation = Boolean(await ctx.env(\"GOOGLE_CLOUD_LOCATION\"));\n\t\tif (hasCredentials && hasProject && hasLocation) {\n\t\t\treturn { auth: {}, source: \"gcloud application default credentials\" };\n\t\t}\n\t\treturn undefined;\n\t},\n};\n\nexport function googleVertexProvider(): Provider<\"google-vertex\"> {\n\treturn createProvider({\n\t\tid: \"google-vertex\",\n\t\tname: \"Google Vertex AI\",\n\t\tauth: { apiKey: vertexAuth },\n\t\tmodels: Object.values(GOOGLE_VERTEX_MODELS),\n\t\tapi: googleVertexApi(),\n\t});\n}\n"]}
@@ -0,0 +1,35 @@
1
+ import { googleVertexApi } from "../api/google-vertex.lazy.js";
2
+ import { createProvider } from "../models.js";
3
+ import { GOOGLE_VERTEX_MODELS } from "./google-vertex.models.js";
4
+ const VERTEX_ADC_PATH = "~/.config/gcloud/application_default_credentials.json";
5
+ /**
6
+ * Vertex accepts an explicit API key or Application Default Credentials
7
+ * (`gcloud auth application-default login`). ADC additionally requires
8
+ * project and location env vars, which the implementation reads itself.
9
+ */
10
+ const vertexAuth = {
11
+ name: "Google Cloud credentials",
12
+ resolve: async ({ ctx, credential }) => {
13
+ const key = credential?.key ?? (await ctx.env("GOOGLE_CLOUD_API_KEY"));
14
+ if (key)
15
+ return { auth: { apiKey: key }, source: credential?.key ? "stored credential" : "GOOGLE_CLOUD_API_KEY" };
16
+ const adcPath = await ctx.env("GOOGLE_APPLICATION_CREDENTIALS");
17
+ const hasCredentials = await ctx.fileExists(adcPath ?? VERTEX_ADC_PATH);
18
+ const hasProject = Boolean((await ctx.env("GOOGLE_CLOUD_PROJECT")) ?? (await ctx.env("GCLOUD_PROJECT")));
19
+ const hasLocation = Boolean(await ctx.env("GOOGLE_CLOUD_LOCATION"));
20
+ if (hasCredentials && hasProject && hasLocation) {
21
+ return { auth: {}, source: "gcloud application default credentials" };
22
+ }
23
+ return undefined;
24
+ },
25
+ };
26
+ export function googleVertexProvider() {
27
+ return createProvider({
28
+ id: "google-vertex",
29
+ name: "Google Vertex AI",
30
+ auth: { apiKey: vertexAuth },
31
+ models: Object.values(GOOGLE_VERTEX_MODELS),
32
+ api: googleVertexApi(),
33
+ });
34
+ }
35
+ //# sourceMappingURL=google-vertex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-vertex.js","sourceRoot":"","sources":["../../src/providers/google-vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,eAAe,GAAG,uDAAuD,CAAC;AAEhF;;;;GAIG;AACH,MAAM,UAAU,GAAe;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACvE,IAAI,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAElH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACzG,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpE,IAAI,cAAc,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;QACvE,CAAC;QACD,OAAO,SAAS,CAAC;IAAA,CACjB;CACD,CAAC;AAEF,MAAM,UAAU,oBAAoB,GAA8B;IACjE,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAC3C,GAAG,EAAE,eAAe,EAAE;KACtB,CAAC,CAAC;AAAA,CACH","sourcesContent":["import { googleVertexApi } from \"../api/google-vertex.lazy.ts\";\nimport type { ApiKeyAuth } from \"../auth/types.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { GOOGLE_VERTEX_MODELS } from \"./google-vertex.models.ts\";\n\nconst VERTEX_ADC_PATH = \"~/.config/gcloud/application_default_credentials.json\";\n\n/**\n * Vertex accepts an explicit API key or Application Default Credentials\n * (`gcloud auth application-default login`). ADC additionally requires\n * project and location env vars, which the implementation reads itself.\n */\nconst vertexAuth: ApiKeyAuth = {\n\tname: \"Google Cloud credentials\",\n\tresolve: async ({ ctx, credential }) => {\n\t\tconst key = credential?.key ?? (await ctx.env(\"GOOGLE_CLOUD_API_KEY\"));\n\t\tif (key) return { auth: { apiKey: key }, source: credential?.key ? \"stored credential\" : \"GOOGLE_CLOUD_API_KEY\" };\n\n\t\tconst adcPath = await ctx.env(\"GOOGLE_APPLICATION_CREDENTIALS\");\n\t\tconst hasCredentials = await ctx.fileExists(adcPath ?? VERTEX_ADC_PATH);\n\t\tconst hasProject = Boolean((await ctx.env(\"GOOGLE_CLOUD_PROJECT\")) ?? (await ctx.env(\"GCLOUD_PROJECT\")));\n\t\tconst hasLocation = Boolean(await ctx.env(\"GOOGLE_CLOUD_LOCATION\"));\n\t\tif (hasCredentials && hasProject && hasLocation) {\n\t\t\treturn { auth: {}, source: \"gcloud application default credentials\" };\n\t\t}\n\t\treturn undefined;\n\t},\n};\n\nexport function googleVertexProvider(): Provider<\"google-vertex\"> {\n\treturn createProvider({\n\t\tid: \"google-vertex\",\n\t\tname: \"Google Vertex AI\",\n\t\tauth: { apiKey: vertexAuth },\n\t\tmodels: Object.values(GOOGLE_VERTEX_MODELS),\n\t\tapi: googleVertexApi(),\n\t});\n}\n"]}