@code-yeongyu/senpi-ai 2026.8.12 → 2026.8.13

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 (228) hide show
  1. package/README.md +26 -8
  2. package/dist/api/anthropic-messages.js.map +1 -1
  3. package/dist/api/azure-openai-responses.js +5 -1
  4. package/dist/api/azure-openai-responses.js.map +1 -1
  5. package/dist/api/bedrock-converse-stream.js.map +1 -1
  6. package/dist/api/bedrock-converse-stream.lazy.js.map +1 -1
  7. package/dist/api/google-generative-ai.d.ts.map +1 -1
  8. package/dist/api/google-generative-ai.js +2 -2
  9. package/dist/api/google-generative-ai.js.map +1 -1
  10. package/dist/api/google-shared.d.ts +15 -1
  11. package/dist/api/google-shared.d.ts.map +1 -1
  12. package/dist/api/google-shared.js +103 -4
  13. package/dist/api/google-shared.js.map +1 -1
  14. package/dist/api/google-vertex.d.ts.map +1 -1
  15. package/dist/api/google-vertex.js +2 -2
  16. package/dist/api/google-vertex.js.map +1 -1
  17. package/dist/api/lazy.d.ts +5 -1
  18. package/dist/api/lazy.d.ts.map +1 -1
  19. package/dist/api/lazy.js +19 -7
  20. package/dist/api/lazy.js.map +1 -1
  21. package/dist/api/openai-codex-responses.js.map +1 -1
  22. package/dist/api/openai-completions.d.ts +3 -1
  23. package/dist/api/openai-completions.d.ts.map +1 -1
  24. package/dist/api/openai-completions.js +47 -7
  25. package/dist/api/openai-completions.js.map +1 -1
  26. package/dist/api/openai-responses-shared.d.ts.map +1 -1
  27. package/dist/api/openai-responses-shared.js +22 -9
  28. package/dist/api/openai-responses-shared.js.map +1 -1
  29. package/dist/api/openai-responses.js +5 -1
  30. package/dist/api/openai-responses.js.map +1 -1
  31. package/dist/api/pi-messages.d.ts.map +1 -1
  32. package/dist/api/pi-messages.js.map +1 -1
  33. package/dist/api/simple-options.d.ts +2 -0
  34. package/dist/api/simple-options.d.ts.map +1 -1
  35. package/dist/api/simple-options.js +8 -2
  36. package/dist/api/simple-options.js.map +1 -1
  37. package/dist/api/transform-messages.js.map +1 -1
  38. package/dist/api/warm-prompt-cache.js.map +1 -1
  39. package/dist/auth/credential-store.d.ts +6 -6
  40. package/dist/auth/credential-store.d.ts.map +1 -1
  41. package/dist/auth/credential-store.js +22 -11
  42. package/dist/auth/credential-store.js.map +1 -1
  43. package/dist/auth/helpers.d.ts +1 -0
  44. package/dist/auth/helpers.d.ts.map +1 -1
  45. package/dist/auth/helpers.js +7 -2
  46. package/dist/auth/helpers.js.map +1 -1
  47. package/dist/auth/oauth/anthropic.d.ts.map +1 -1
  48. package/dist/auth/oauth/anthropic.js +14 -8
  49. package/dist/auth/oauth/anthropic.js.map +1 -1
  50. package/dist/auth/oauth/device-code.d.ts +1 -1
  51. package/dist/auth/oauth/device-code.d.ts.map +1 -1
  52. package/dist/auth/oauth/device-code.js +4 -4
  53. package/dist/auth/oauth/device-code.js.map +1 -1
  54. package/dist/auth/oauth/github-copilot.d.ts.map +1 -1
  55. package/dist/auth/oauth/github-copilot.js +43 -30
  56. package/dist/auth/oauth/github-copilot.js.map +1 -1
  57. package/dist/auth/oauth/kimi-coding.d.ts.map +1 -1
  58. package/dist/auth/oauth/kimi-coding.js +17 -5
  59. package/dist/auth/oauth/kimi-coding.js.map +1 -1
  60. package/dist/auth/oauth/load.d.ts.map +1 -1
  61. package/dist/auth/oauth/load.js.map +1 -1
  62. package/dist/auth/oauth/openai-codex.d.ts.map +1 -1
  63. package/dist/auth/oauth/openai-codex.js +12 -5
  64. package/dist/auth/oauth/openai-codex.js.map +1 -1
  65. package/dist/auth/oauth/openrouter.d.ts.map +1 -1
  66. package/dist/auth/oauth/openrouter.js +10 -10
  67. package/dist/auth/oauth/openrouter.js.map +1 -1
  68. package/dist/auth/oauth/radius.d.ts.map +1 -1
  69. package/dist/auth/oauth/radius.js +8 -7
  70. package/dist/auth/oauth/radius.js.map +1 -1
  71. package/dist/auth/oauth/xai.d.ts.map +1 -1
  72. package/dist/auth/oauth/xai.js +3 -2
  73. package/dist/auth/oauth/xai.js.map +1 -1
  74. package/dist/auth/resolve.d.ts +1 -0
  75. package/dist/auth/resolve.d.ts.map +1 -1
  76. package/dist/auth/resolve.js +24 -13
  77. package/dist/auth/resolve.js.map +1 -1
  78. package/dist/auth/types.d.ts +21 -8
  79. package/dist/auth/types.d.ts.map +1 -1
  80. package/dist/auth/types.js.map +1 -1
  81. package/dist/cli.js +1 -0
  82. package/dist/cli.js.map +1 -1
  83. package/dist/compat.js.map +1 -1
  84. package/dist/env-api-keys.d.ts.map +1 -1
  85. package/dist/env-api-keys.js +3 -0
  86. package/dist/env-api-keys.js.map +1 -1
  87. package/dist/image-models.generated.d.ts +69 -54
  88. package/dist/image-models.generated.d.ts.map +1 -1
  89. package/dist/image-models.generated.js +15 -0
  90. package/dist/image-models.generated.js.map +1 -1
  91. package/dist/images-models.d.ts.map +1 -1
  92. package/dist/images-models.js +1 -0
  93. package/dist/images-models.js.map +1 -1
  94. package/dist/model.d.ts +2 -0
  95. package/dist/model.d.ts.map +1 -1
  96. package/dist/model.js.map +1 -1
  97. package/dist/models-store.d.ts +9 -12
  98. package/dist/models-store.d.ts.map +1 -1
  99. package/dist/models-store.js +6 -3
  100. package/dist/models-store.js.map +1 -1
  101. package/dist/models.d.ts +40 -18
  102. package/dist/models.d.ts.map +1 -1
  103. package/dist/models.generated.d.ts +6 -0
  104. package/dist/models.generated.d.ts.map +1 -1
  105. package/dist/models.generated.js +6 -0
  106. package/dist/models.generated.js.map +1 -1
  107. package/dist/models.js +247 -91
  108. package/dist/models.js.map +1 -1
  109. package/dist/node/provider-scope.d.ts.map +1 -1
  110. package/dist/providers/all.d.ts.map +1 -1
  111. package/dist/providers/all.js +6 -0
  112. package/dist/providers/all.js.map +1 -1
  113. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  114. package/dist/providers/amazon-bedrock.js +15 -7
  115. package/dist/providers/amazon-bedrock.js.map +1 -1
  116. package/dist/providers/anthropic.d.ts.map +1 -1
  117. package/dist/providers/anthropic.js +15 -6
  118. package/dist/providers/anthropic.js.map +1 -1
  119. package/dist/providers/baseten.d.ts +3 -0
  120. package/dist/providers/baseten.d.ts.map +1 -0
  121. package/dist/providers/baseten.js +15 -0
  122. package/dist/providers/baseten.js.map +1 -0
  123. package/dist/providers/baseten.models.d.ts +4 -0
  124. package/dist/providers/baseten.models.d.ts.map +1 -0
  125. package/dist/providers/baseten.models.js +6 -0
  126. package/dist/providers/baseten.models.js.map +1 -0
  127. package/dist/providers/cloudflare-auth.d.ts.map +1 -1
  128. package/dist/providers/cloudflare-auth.js +15 -10
  129. package/dist/providers/cloudflare-auth.js.map +1 -1
  130. package/dist/providers/data/.manifest.json +1 -1
  131. package/dist/providers/data/baseten.json +1 -0
  132. package/dist/providers/data/fireworks.json +1 -1
  133. package/dist/providers/data/github-copilot.json +1 -1
  134. package/dist/providers/data/opencode-go.json +1 -1
  135. package/dist/providers/data/opencode.json +1 -1
  136. package/dist/providers/data/opengateway.json +1 -0
  137. package/dist/providers/data/openrouter.json +1 -1
  138. package/dist/providers/data/qwen-token-plan-cn.json +1 -1
  139. package/dist/providers/data/qwen-token-plan-individual.json +1 -0
  140. package/dist/providers/data/qwen-token-plan.json +1 -1
  141. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  142. package/dist/providers/data/xai.json +1 -1
  143. package/dist/providers/faux.d.ts +18 -13
  144. package/dist/providers/faux.d.ts.map +1 -1
  145. package/dist/providers/faux.js +95 -5
  146. package/dist/providers/faux.js.map +1 -1
  147. package/dist/providers/github-copilot.js +1 -1
  148. package/dist/providers/github-copilot.js.map +1 -1
  149. package/dist/providers/google-vertex.d.ts.map +1 -1
  150. package/dist/providers/google-vertex.js +15 -7
  151. package/dist/providers/google-vertex.js.map +1 -1
  152. package/dist/providers/kimi-coding.d.ts.map +1 -1
  153. package/dist/providers/kimi-coding.js +1 -0
  154. package/dist/providers/kimi-coding.js.map +1 -1
  155. package/dist/providers/ollama.d.ts.map +1 -1
  156. package/dist/providers/ollama.js +1 -2
  157. package/dist/providers/ollama.js.map +1 -1
  158. package/dist/providers/openai-codex.d.ts.map +1 -1
  159. package/dist/providers/openai-codex.js +5 -1
  160. package/dist/providers/openai-codex.js.map +1 -1
  161. package/dist/providers/opengateway.d.ts +3 -0
  162. package/dist/providers/opengateway.d.ts.map +1 -0
  163. package/dist/providers/opengateway.js +15 -0
  164. package/dist/providers/opengateway.js.map +1 -0
  165. package/dist/providers/opengateway.models.d.ts +4 -0
  166. package/dist/providers/opengateway.models.d.ts.map +1 -0
  167. package/dist/providers/opengateway.models.js +6 -0
  168. package/dist/providers/opengateway.models.js.map +1 -0
  169. package/dist/providers/qwen-token-plan-individual.d.ts +3 -0
  170. package/dist/providers/qwen-token-plan-individual.d.ts.map +1 -0
  171. package/dist/providers/qwen-token-plan-individual.js +15 -0
  172. package/dist/providers/qwen-token-plan-individual.js.map +1 -0
  173. package/dist/providers/qwen-token-plan-individual.models.d.ts +4 -0
  174. package/dist/providers/qwen-token-plan-individual.models.d.ts.map +1 -0
  175. package/dist/providers/qwen-token-plan-individual.models.js +6 -0
  176. package/dist/providers/qwen-token-plan-individual.models.js.map +1 -0
  177. package/dist/providers/radius.d.ts.map +1 -1
  178. package/dist/providers/radius.js +36 -26
  179. package/dist/providers/radius.js.map +1 -1
  180. package/dist/providers/xai.d.ts.map +1 -1
  181. package/dist/providers/xai.js +1 -0
  182. package/dist/providers/xai.js.map +1 -1
  183. package/dist/tool-call-middleware/context-transformer.js.map +1 -1
  184. package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-wrapper-state.d.ts.map +1 -1
  185. package/dist/tool-call-middleware/protocols/kimi-xtml/parse.js.map +1 -1
  186. package/dist/tool-call-middleware/recovery-content-lifecycle.d.ts.map +1 -1
  187. package/dist/tool-call-middleware/recovery-event-stream.d.ts.map +1 -1
  188. package/dist/tool-call-middleware/recovery-native-projection.d.ts.map +1 -1
  189. package/dist/tool-call-middleware/recovery-native-projection.js.map +1 -1
  190. package/dist/tool-call-middleware/recovery-stream-terminal.d.ts.map +1 -1
  191. package/dist/tool-call-middleware/recovery-stream-wrapper.d.ts.map +1 -1
  192. package/dist/tool-call-middleware/recovery-stream-wrapper.js +5 -0
  193. package/dist/tool-call-middleware/recovery-stream-wrapper.js.map +1 -1
  194. package/dist/tool-call-middleware/recovery-text-projection.d.ts.map +1 -1
  195. package/dist/tool-call-middleware/recovery-text-projection.js.map +1 -1
  196. package/dist/tool-call-middleware/stream-thinking-projection.d.ts.map +1 -1
  197. package/dist/tool-call-middleware/stream-wrapper-shared.d.ts.map +1 -1
  198. package/dist/tool-call-middleware/stream-wrapper-shared.js.map +1 -1
  199. package/dist/tool-call-middleware/stream-wrapper.js.map +1 -1
  200. package/dist/types.d.ts +94 -87
  201. package/dist/types.d.ts.map +1 -1
  202. package/dist/types.js.map +1 -1
  203. package/dist/utils/abort.d.ts +8 -0
  204. package/dist/utils/abort.d.ts.map +1 -0
  205. package/dist/utils/abort.js +49 -0
  206. package/dist/utils/abort.js.map +1 -0
  207. package/dist/utils/deferred-tools.js.map +1 -1
  208. package/dist/utils/event-stream.d.ts.map +1 -1
  209. package/dist/utils/overflow.d.ts +14 -1
  210. package/dist/utils/overflow.d.ts.map +1 -1
  211. package/dist/utils/overflow.js +18 -1
  212. package/dist/utils/overflow.js.map +1 -1
  213. package/dist/utils/prompt-cache-ttl.d.ts +3 -1
  214. package/dist/utils/prompt-cache-ttl.d.ts.map +1 -1
  215. package/dist/utils/prompt-cache-ttl.js +2 -0
  216. package/dist/utils/prompt-cache-ttl.js.map +1 -1
  217. package/dist/utils/provider-retry.js.map +1 -1
  218. package/dist/utils/retry.d.ts +25 -0
  219. package/dist/utils/retry.d.ts.map +1 -1
  220. package/dist/utils/retry.js +64 -0
  221. package/dist/utils/retry.js.map +1 -1
  222. package/dist/utils/tool-schema-compat.d.ts.map +1 -1
  223. package/dist/utils/tool-schema-compat.js +1 -0
  224. package/dist/utils/tool-schema-compat.js.map +1 -1
  225. package/dist/utils/validation.d.ts.map +1 -1
  226. package/dist/utils/validation.js +6 -0
  227. package/dist/utils/validation.js.map +1 -1
  228. package/package.json +2 -1
@@ -0,0 +1,15 @@
1
+ import { openAICompletionsApi } from "../api/openai-completions.lazy.js";
2
+ import { envApiKeyAuth } from "../auth/helpers.js";
3
+ import { createProvider } from "../models.js";
4
+ import { BASETEN_MODELS } from "./baseten.models.js";
5
+ export function basetenProvider() {
6
+ return createProvider({
7
+ id: "baseten",
8
+ name: "Baseten",
9
+ baseUrl: "https://inference.baseten.co/v1",
10
+ auth: { apiKey: envApiKeyAuth("Baseten API key", ["BASETEN_API_KEY"]) },
11
+ models: Object.values(BASETEN_MODELS),
12
+ api: openAICompletionsApi(),
13
+ });
14
+ }
15
+ //# sourceMappingURL=baseten.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseten.js","sourceRoot":"","sources":["../../src/providers/baseten.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,UAAU,eAAe;IAC9B,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE;QACvE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;QACrC,GAAG,EAAE,oBAAoB,EAAE;KAC3B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { openAICompletionsApi } from \"../api/openai-completions.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { BASETEN_MODELS } from \"./baseten.models.ts\";\n\nexport function basetenProvider(): Provider<\"openai-completions\"> {\n\treturn createProvider({\n\t\tid: \"baseten\",\n\t\tname: \"Baseten\",\n\t\tbaseUrl: \"https://inference.baseten.co/v1\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Baseten API key\", [\"BASETEN_API_KEY\"]) },\n\t\tmodels: Object.values(BASETEN_MODELS),\n\t\tapi: openAICompletionsApi(),\n\t});\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import values from "./data/baseten.json";
2
+ import { type ModelCatalog } from "../model-catalog.ts";
3
+ export declare const BASETEN_MODELS: ModelCatalog<typeof values, "baseten">;
4
+ //# sourceMappingURL=baseten.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseten.models.d.ts","sourceRoot":"","sources":["../../src/providers/baseten.models.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,qBAAqB,CAAuB;AAC/D,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,cAAc,EAAE,YAAY,CAAC,OAAO,MAAM,EAAE,SAAS,CAC3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ // This file is auto-generated by scripts/generate-models.ts
2
+ // Do not edit manually - run 'npm run generate-models' to update
3
+ import values from "./data/baseten.json" with { type: "json" };
4
+ import { flattenModelCatalog } from "../model-catalog.js";
5
+ export const BASETEN_MODELS = flattenModelCatalog("baseten", values);
6
+ //# sourceMappingURL=baseten.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseten.models.js","sourceRoot":"","sources":["../../src/providers/baseten.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,qBAAqB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,MAAM,cAAc,GAC1B,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC","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 values from \"./data/baseten.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const BASETEN_MODELS: ModelCatalog<typeof values, \"baseten\"> =\n\tflattenModelCatalog(\"baseten\", values);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-auth.d.ts","sourceRoot":"","sources":["../../src/providers/cloudflare-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiC,MAAM,kBAAkB,CAAC;AA8ClF,wBAAgB,uBAAuB,IAAI,UAAU,CAkBpD;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CA6BpD"}
1
+ {"version":3,"file":"cloudflare-auth.d.ts","sourceRoot":"","sources":["../../src/providers/cloudflare-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiC,MAAM,kBAAkB,CAAC;AAqDlF,wBAAgB,uBAAuB,IAAI,UAAU,CAkBpD;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CA6BpD"}
@@ -1,7 +1,7 @@
1
1
  const CLOUDFLARE_API_KEY = "CLOUDFLARE_API_KEY";
2
2
  const CLOUDFLARE_ACCOUNT_ID = "CLOUDFLARE_ACCOUNT_ID";
3
3
  const CLOUDFLARE_GATEWAY_ID = "CLOUDFLARE_GATEWAY_ID";
4
- async function resolveValue(name, ctx, credential) {
4
+ async function resolveValue(name, ctx, credential, signal) {
5
5
  // Per-field merge: prefer the credential value, fall back to ambient env.
6
6
  // A credential carrying only the API key must still pick up the account /
7
7
  // gateway id from the environment.
@@ -10,12 +10,17 @@ async function resolveValue(name, ctx, credential) {
10
10
  ? credential.key
11
11
  : credential.env?.[name]
12
12
  : undefined;
13
- return fromCredential ?? (await ctx.env(name));
13
+ if (fromCredential !== undefined)
14
+ return fromCredential;
15
+ signal.throwIfAborted();
16
+ const value = await ctx.env(name);
17
+ signal.throwIfAborted();
18
+ return value;
14
19
  }
15
- async function resolveCloudflareEnv(kind, ctx, credential) {
16
- const apiKey = await resolveValue(CLOUDFLARE_API_KEY, ctx, credential);
17
- const accountId = await resolveValue(CLOUDFLARE_ACCOUNT_ID, ctx, credential);
18
- const gatewayId = kind === "ai-gateway" ? await resolveValue(CLOUDFLARE_GATEWAY_ID, ctx, credential) : undefined;
20
+ async function resolveCloudflareEnv(kind, ctx, credential, signal) {
21
+ const apiKey = await resolveValue(CLOUDFLARE_API_KEY, ctx, credential, signal);
22
+ const accountId = await resolveValue(CLOUDFLARE_ACCOUNT_ID, ctx, credential, signal);
23
+ const gatewayId = kind === "ai-gateway" ? await resolveValue(CLOUDFLARE_GATEWAY_ID, ctx, credential, signal) : undefined;
19
24
  if (!apiKey || !accountId || (kind === "ai-gateway" && !gatewayId))
20
25
  return undefined;
21
26
  return {
@@ -35,8 +40,8 @@ export function cloudflareWorkersAIAuth() {
35
40
  const accountId = await interaction.prompt({ type: "text", message: "Enter Cloudflare account ID" });
36
41
  return { type: "api_key", key, env: { CLOUDFLARE_ACCOUNT_ID: accountId } };
37
42
  },
38
- resolve: async ({ ctx, credential }) => {
39
- const resolved = await resolveCloudflareEnv("workers-ai", ctx, credential);
43
+ resolve: async ({ ctx, credential, signal }) => {
44
+ const resolved = await resolveCloudflareEnv("workers-ai", ctx, credential, signal);
40
45
  if (!resolved)
41
46
  return undefined;
42
47
  return {
@@ -60,8 +65,8 @@ export function cloudflareAIGatewayAuth() {
60
65
  env: { CLOUDFLARE_ACCOUNT_ID: accountId, CLOUDFLARE_GATEWAY_ID: gatewayId },
61
66
  };
62
67
  },
63
- resolve: async ({ ctx, credential }) => {
64
- const resolved = await resolveCloudflareEnv("ai-gateway", ctx, credential);
68
+ resolve: async ({ ctx, credential, signal }) => {
69
+ const resolved = await resolveCloudflareEnv("ai-gateway", ctx, credential, signal);
65
70
  if (!resolved)
66
71
  return undefined;
67
72
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-auth.js","sourceRoot":"","sources":["../../src/providers/cloudflare-auth.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ApiKeyAuth, ApiKeyCredential, AuthContext } from \"../auth/types.ts\";\nimport type { ProviderEnv } from \"../types.ts\";\n\nconst CLOUDFLARE_API_KEY = \"CLOUDFLARE_API_KEY\";\nconst CLOUDFLARE_ACCOUNT_ID = \"CLOUDFLARE_ACCOUNT_ID\";\nconst CLOUDFLARE_GATEWAY_ID = \"CLOUDFLARE_GATEWAY_ID\";\n\ntype CloudflareAuthKind = \"workers-ai\" | \"ai-gateway\";\n\nasync function resolveValue(\n\tname: string,\n\tctx: AuthContext,\n\tcredential: ApiKeyCredential | undefined,\n): Promise<string | undefined> {\n\t// Per-field merge: prefer the credential value, fall back to ambient env.\n\t// A credential carrying only the API key must still pick up the account /\n\t// gateway id from the environment.\n\tconst fromCredential = credential\n\t\t? name === CLOUDFLARE_API_KEY\n\t\t\t? credential.key\n\t\t\t: credential.env?.[name]\n\t\t: undefined;\n\treturn fromCredential ?? (await ctx.env(name));\n}\n\nasync function resolveCloudflareEnv(\n\tkind: CloudflareAuthKind,\n\tctx: AuthContext,\n\tcredential: ApiKeyCredential | undefined,\n): Promise<{ apiKey: string; env: ProviderEnv; source: string } | undefined> {\n\tconst apiKey = await resolveValue(CLOUDFLARE_API_KEY, ctx, credential);\n\tconst accountId = await resolveValue(CLOUDFLARE_ACCOUNT_ID, ctx, credential);\n\tconst gatewayId = kind === \"ai-gateway\" ? await resolveValue(CLOUDFLARE_GATEWAY_ID, ctx, credential) : undefined;\n\n\tif (!apiKey || !accountId || (kind === \"ai-gateway\" && !gatewayId)) return undefined;\n\n\treturn {\n\t\tapiKey,\n\t\tenv: {\n\t\t\tCLOUDFLARE_ACCOUNT_ID: accountId,\n\t\t\t...(gatewayId ? { CLOUDFLARE_GATEWAY_ID: gatewayId } : {}),\n\t\t},\n\t\tsource: credential ? \"stored credential\" : CLOUDFLARE_API_KEY,\n\t};\n}\n\nexport function cloudflareWorkersAIAuth(): ApiKeyAuth {\n\treturn {\n\t\tname: \"Cloudflare API key\",\n\t\tlogin: async (interaction) => {\n\t\t\tconst key = await interaction.prompt({ type: \"secret\", message: \"Enter Cloudflare API key\" });\n\t\t\tconst accountId = await interaction.prompt({ type: \"text\", message: \"Enter Cloudflare account ID\" });\n\t\t\treturn { type: \"api_key\", key, env: { CLOUDFLARE_ACCOUNT_ID: accountId } };\n\t\t},\n\t\tresolve: async ({ ctx, credential }) => {\n\t\t\tconst resolved = await resolveCloudflareEnv(\"workers-ai\", ctx, credential);\n\t\t\tif (!resolved) return undefined;\n\t\t\treturn {\n\t\t\t\tauth: { apiKey: resolved.apiKey },\n\t\t\t\tenv: resolved.env,\n\t\t\t\tsource: resolved.source,\n\t\t\t};\n\t\t},\n\t};\n}\n\nexport function cloudflareAIGatewayAuth(): ApiKeyAuth {\n\treturn {\n\t\tname: \"Cloudflare API key\",\n\t\tlogin: async (interaction) => {\n\t\t\tconst key = await interaction.prompt({ type: \"secret\", message: \"Enter Cloudflare API key\" });\n\t\t\tconst accountId = await interaction.prompt({ type: \"text\", message: \"Enter Cloudflare account ID\" });\n\t\t\tconst gatewayId = await interaction.prompt({ type: \"text\", message: \"Enter Cloudflare AI Gateway ID\" });\n\t\t\treturn {\n\t\t\t\ttype: \"api_key\",\n\t\t\t\tkey,\n\t\t\t\tenv: { CLOUDFLARE_ACCOUNT_ID: accountId, CLOUDFLARE_GATEWAY_ID: gatewayId },\n\t\t\t};\n\t\t},\n\t\tresolve: async ({ ctx, credential }) => {\n\t\t\tconst resolved = await resolveCloudflareEnv(\"ai-gateway\", ctx, credential);\n\t\t\tif (!resolved) return undefined;\n\t\t\treturn {\n\t\t\t\tauth: {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t\"cf-aig-authorization\": `Bearer ${resolved.apiKey}`,\n\t\t\t\t\t\tAuthorization: null,\n\t\t\t\t\t\t\"x-api-key\": null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tenv: resolved.env,\n\t\t\t\tsource: resolved.source,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"file":"cloudflare-auth.js","sourceRoot":"","sources":["../../src/providers/cloudflare-auth.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ApiKeyAuth, ApiKeyCredential, AuthContext } from \"../auth/types.ts\";\nimport type { ProviderEnv } from \"../types.ts\";\n\nconst CLOUDFLARE_API_KEY = \"CLOUDFLARE_API_KEY\";\nconst CLOUDFLARE_ACCOUNT_ID = \"CLOUDFLARE_ACCOUNT_ID\";\nconst CLOUDFLARE_GATEWAY_ID = \"CLOUDFLARE_GATEWAY_ID\";\n\ntype CloudflareAuthKind = \"workers-ai\" | \"ai-gateway\";\n\nasync function resolveValue(\n\tname: string,\n\tctx: AuthContext,\n\tcredential: ApiKeyCredential | undefined,\n\tsignal: AbortSignal,\n): Promise<string | undefined> {\n\t// Per-field merge: prefer the credential value, fall back to ambient env.\n\t// A credential carrying only the API key must still pick up the account /\n\t// gateway id from the environment.\n\tconst fromCredential = credential\n\t\t? name === CLOUDFLARE_API_KEY\n\t\t\t? credential.key\n\t\t\t: credential.env?.[name]\n\t\t: undefined;\n\tif (fromCredential !== undefined) return fromCredential;\n\tsignal.throwIfAborted();\n\tconst value = await ctx.env(name);\n\tsignal.throwIfAborted();\n\treturn value;\n}\n\nasync function resolveCloudflareEnv(\n\tkind: CloudflareAuthKind,\n\tctx: AuthContext,\n\tcredential: ApiKeyCredential | undefined,\n\tsignal: AbortSignal,\n): Promise<{ apiKey: string; env: ProviderEnv; source: string } | undefined> {\n\tconst apiKey = await resolveValue(CLOUDFLARE_API_KEY, ctx, credential, signal);\n\tconst accountId = await resolveValue(CLOUDFLARE_ACCOUNT_ID, ctx, credential, signal);\n\tconst gatewayId =\n\t\tkind === \"ai-gateway\" ? await resolveValue(CLOUDFLARE_GATEWAY_ID, ctx, credential, signal) : undefined;\n\n\tif (!apiKey || !accountId || (kind === \"ai-gateway\" && !gatewayId)) return undefined;\n\n\treturn {\n\t\tapiKey,\n\t\tenv: {\n\t\t\tCLOUDFLARE_ACCOUNT_ID: accountId,\n\t\t\t...(gatewayId ? { CLOUDFLARE_GATEWAY_ID: gatewayId } : {}),\n\t\t},\n\t\tsource: credential ? \"stored credential\" : CLOUDFLARE_API_KEY,\n\t};\n}\n\nexport function cloudflareWorkersAIAuth(): ApiKeyAuth {\n\treturn {\n\t\tname: \"Cloudflare API key\",\n\t\tlogin: async (interaction) => {\n\t\t\tconst key = await interaction.prompt({ type: \"secret\", message: \"Enter Cloudflare API key\" });\n\t\t\tconst accountId = await interaction.prompt({ type: \"text\", message: \"Enter Cloudflare account ID\" });\n\t\t\treturn { type: \"api_key\", key, env: { CLOUDFLARE_ACCOUNT_ID: accountId } };\n\t\t},\n\t\tresolve: async ({ ctx, credential, signal }) => {\n\t\t\tconst resolved = await resolveCloudflareEnv(\"workers-ai\", ctx, credential, signal);\n\t\t\tif (!resolved) return undefined;\n\t\t\treturn {\n\t\t\t\tauth: { apiKey: resolved.apiKey },\n\t\t\t\tenv: resolved.env,\n\t\t\t\tsource: resolved.source,\n\t\t\t};\n\t\t},\n\t};\n}\n\nexport function cloudflareAIGatewayAuth(): ApiKeyAuth {\n\treturn {\n\t\tname: \"Cloudflare API key\",\n\t\tlogin: async (interaction) => {\n\t\t\tconst key = await interaction.prompt({ type: \"secret\", message: \"Enter Cloudflare API key\" });\n\t\t\tconst accountId = await interaction.prompt({ type: \"text\", message: \"Enter Cloudflare account ID\" });\n\t\t\tconst gatewayId = await interaction.prompt({ type: \"text\", message: \"Enter Cloudflare AI Gateway ID\" });\n\t\t\treturn {\n\t\t\t\ttype: \"api_key\",\n\t\t\t\tkey,\n\t\t\t\tenv: { CLOUDFLARE_ACCOUNT_ID: accountId, CLOUDFLARE_GATEWAY_ID: gatewayId },\n\t\t\t};\n\t\t},\n\t\tresolve: async ({ ctx, credential, signal }) => {\n\t\t\tconst resolved = await resolveCloudflareEnv(\"ai-gateway\", ctx, credential, signal);\n\t\t\tif (!resolved) return undefined;\n\t\t\treturn {\n\t\t\t\tauth: {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t\"cf-aig-authorization\": `Bearer ${resolved.apiKey}`,\n\t\t\t\t\t\tAuthorization: null,\n\t\t\t\t\t\t\"x-api-key\": null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tenv: resolved.env,\n\t\t\t\tsource: resolved.source,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
@@ -1 +1 @@
1
- {"schemaVersion":3,"generatedAt":"2026-08-12T07:06:22.283Z","structureHash":"9e8b153037dd87906b2c7bcabc2ccdf61a26d48b7c2e3cb263a6dfd5297fb3d0","files":{"alibaba-token-plan.json":"e84668baa90b6ea64fbd9a5192bd3945c5011bc79ac2b4f3e7b3b58467d4403d","amazon-bedrock.json":"d6e3da5a005116eafc76e8202e3644b74c8a9ce444204c4ed9840f78ccc5f7ed","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"5bf1deecb96805ccba8ec004680e54b1c73ac29a8bfbbf4adaf7c5e66c1ceef2","azure-openai-responses.json":"5315b6a2299fefbdbb6cc13a720544077c9498132ad5e3a7d76a8c1daa8e9335","cerebras.json":"3fd3e19b83ab4be07d27817e25e5be0ffe4158b1394f0311d6a22d9f03847728","cloudflare-ai-gateway.json":"cd050aa8cf61b73b13d532341639e1d0f22fd29d8a889ca669d412cd4b477d45","cloudflare-workers-ai.json":"e3dd801884fc61e99b2148aa456974335fe25c040c6428f569b83738a594e4b4","deepseek.json":"0dcc807a4e5827b488c6ceac87884ff6e735e01cf4f2ddfec9dd812e6fde041b","fireworks.json":"0e10df29511e70b6987cbe27d8d1222c2c5f63b6ddb66c2401a2990a61a5999e","github-copilot.json":"35c65f141bd99343c27924cec39af1c2a78116ad1e7f5c3a80fa4643de1e5a63","google-vertex.json":"99d0b89ac9d8dc460ed922236abffbe88c9381af4d35046d2ad3a8f08fa2560c","google.json":"00efecbe4a52b56d80b1ef76ed4fd6c05fec267e34ebf4560bfd78225d1d5baa","groq.json":"f1eb899453e70b5e4479fe6eb78869ee99121fa6d4a019a5a05ab42d2ada8992","huggingface.json":"deb4523f0526dc93ecdfc89b545bc44b56fd329d3c5a7322032e6a2783a82956","kimi-coding.json":"9d73ca15313628bb8cf80c21e6466164e350d68471e2d7205b5e21bcd2c141f3","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"4f9d84bf1ba10cb14ff2c9e23e77d63441756ef3500375dd4ad10094614b215b","moonshotai-cn.json":"dbf1b71ee36812fe64b014177ff455809a8dd852bbbd584422645beb85635127","moonshotai.json":"2d7518b4769e97ac900366175c8b60ff86a02675bb6f6cc2fffcc6761fda6faa","nvidia.json":"602427f41bc6c23853e329f2eb62c3b054452819115d56db687e559d8938f0ac","openai-codex.json":"4a73818291987693fcb53e9e61b4be3429ffd78b3f64ea877a34c5f9928c89e1","openai.json":"2c5d2354c55a80671f20f555844986ab381fee93da26e03c0e42cbae77b519a5","opencode-go.json":"43adb8ded0b89007241cf33ba8bd981a5358bf740b67afa63409c694a321c8b0","opencode.json":"ef6819f7182029b147e2511687493f6b5b6a4c1817566f783a77970b152555fe","openrouter.json":"3566aeeaaf5280012e30dfb74c53bc0c6971a5fefead9c39b2f4f71ce4c162fd","qwen-token-plan-cn.json":"cc345d44c31b0ba3b1b244f8b56342ede6657584653f3af176026bf8dbb37cd5","qwen-token-plan.json":"12c43b2b8032e1b64222616588daf400156f3819be4de3124fc997a69eccbda8","together.json":"f8f3f9c49c8ffeb27b57ba547238ffb143a05d727962d016569ff71054314fe1","vercel-ai-gateway.json":"340783a75fb6cae8b5b263fe3f13ae3eb35f16859c1300c573d8b96324352883","xai.json":"4cbdbfbbf915246369b9bacbc6f1feeb56accdac9f3444456343f750547f2f38","xiaomi-token-plan-ams.json":"b1886b741867c90a838c377e86ad64b26ca6b0e349f1a75bc5fd4ed99df03c21","xiaomi-token-plan-cn.json":"11f459b794eddd64a9d9d102f2799c364732b7f0d562e22573f4995a5d1e1a30","xiaomi-token-plan-sgp.json":"0b9953d03b75260aba0ad604cc76d7ed26d6841448819e8c7488bf0d90948d2c","xiaomi.json":"edf39e0edd9dcae23e669635ea782e5870c0b9663d4b918b8ff9bd307cfe35f8","zai-coding-cn.json":"c2d1e137238b6f248b5f620f76b64520aa2ba1543e991dd0d14b708e50c8cd66","zai.json":"cb48b354442f1e49919cd93b928216d5d881d2f98a55349ad592a8e68bb8e6c3"}}
1
+ {"schemaVersion":3,"generatedAt":"2026-08-13T08:41:43.367Z","structureHash":"0217a4f6bbab0e59be57bb81dbc592a9f67f07123f319d9d53aca8639a717591","files":{"alibaba-token-plan.json":"e84668baa90b6ea64fbd9a5192bd3945c5011bc79ac2b4f3e7b3b58467d4403d","amazon-bedrock.json":"d6e3da5a005116eafc76e8202e3644b74c8a9ce444204c4ed9840f78ccc5f7ed","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"5bf1deecb96805ccba8ec004680e54b1c73ac29a8bfbbf4adaf7c5e66c1ceef2","azure-openai-responses.json":"5315b6a2299fefbdbb6cc13a720544077c9498132ad5e3a7d76a8c1daa8e9335","baseten.json":"1c0940f13eca11b7c1a6129f4711b0b41be230221d7bf5d569a8e26e6a1a9fb8","cerebras.json":"3fd3e19b83ab4be07d27817e25e5be0ffe4158b1394f0311d6a22d9f03847728","cloudflare-ai-gateway.json":"cd050aa8cf61b73b13d532341639e1d0f22fd29d8a889ca669d412cd4b477d45","cloudflare-workers-ai.json":"e3dd801884fc61e99b2148aa456974335fe25c040c6428f569b83738a594e4b4","deepseek.json":"0dcc807a4e5827b488c6ceac87884ff6e735e01cf4f2ddfec9dd812e6fde041b","fireworks.json":"04def3f428f182fba43daf17c4db2a06addfd09a93eb27103538001a5e025735","github-copilot.json":"1f20de3d19aba3eedc996804b410952b3e6b14f7f21ad0c56770ed114caa026e","google-vertex.json":"99d0b89ac9d8dc460ed922236abffbe88c9381af4d35046d2ad3a8f08fa2560c","google.json":"00efecbe4a52b56d80b1ef76ed4fd6c05fec267e34ebf4560bfd78225d1d5baa","groq.json":"f1eb899453e70b5e4479fe6eb78869ee99121fa6d4a019a5a05ab42d2ada8992","huggingface.json":"deb4523f0526dc93ecdfc89b545bc44b56fd329d3c5a7322032e6a2783a82956","kimi-coding.json":"9d73ca15313628bb8cf80c21e6466164e350d68471e2d7205b5e21bcd2c141f3","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"4f9d84bf1ba10cb14ff2c9e23e77d63441756ef3500375dd4ad10094614b215b","moonshotai-cn.json":"dbf1b71ee36812fe64b014177ff455809a8dd852bbbd584422645beb85635127","moonshotai.json":"2d7518b4769e97ac900366175c8b60ff86a02675bb6f6cc2fffcc6761fda6faa","nvidia.json":"602427f41bc6c23853e329f2eb62c3b054452819115d56db687e559d8938f0ac","openai-codex.json":"4a73818291987693fcb53e9e61b4be3429ffd78b3f64ea877a34c5f9928c89e1","openai.json":"2c5d2354c55a80671f20f555844986ab381fee93da26e03c0e42cbae77b519a5","opencode-go.json":"f6fbfbb03cdd63d97a8c1217fec75ce6f952ff5c92e575e556d5bd942ed8e6a9","opencode.json":"412d6041a894d2d3c71d00a07e907382b9d3eca3281d3c33915999465f867f9c","opengateway.json":"33e51de4e9b7808a703d656ef19e7abd804b7556a78a78be1bf80860a2ebdb97","openrouter.json":"e18d546b805ca0723d4a908478dc93f33f963048520d0b704907792e7e4dffd2","qwen-token-plan-cn.json":"bc478981a0786a2c43acffc44846596a8df9c78e583a2348348f6cbf09738b9b","qwen-token-plan-individual.json":"0e1578a5c0e11d65644bb42d1d6efee5af97a55a4881d0421ab68bd970d4d4ef","qwen-token-plan.json":"3fa3afccf5577c73abeb2e4eccd19f07ad4c59c34299b6d6fc284b77da24cd21","together.json":"f8f3f9c49c8ffeb27b57ba547238ffb143a05d727962d016569ff71054314fe1","vercel-ai-gateway.json":"4e95f95c381bcc6ae578da8db75cf6415c06ba11010cf1b5decae8dbfae81798","xai.json":"282838b0546d63106c81f1703cdf5ed31ebfe0c5f13a4bec0d590472cbbe03f2","xiaomi-token-plan-ams.json":"b1886b741867c90a838c377e86ad64b26ca6b0e349f1a75bc5fd4ed99df03c21","xiaomi-token-plan-cn.json":"11f459b794eddd64a9d9d102f2799c364732b7f0d562e22573f4995a5d1e1a30","xiaomi-token-plan-sgp.json":"0b9953d03b75260aba0ad604cc76d7ed26d6841448819e8c7488bf0d90948d2c","xiaomi.json":"edf39e0edd9dcae23e669635ea782e5870c0b9663d4b918b8ff9bd307cfe35f8","zai-coding-cn.json":"c2d1e137238b6f248b5f620f76b64520aa2ba1543e991dd0d14b708e50c8cd66","zai.json":"cb48b354442f1e49919cd93b928216d5d881d2f98a55349ad592a8e68bb8e6c3"}}
@@ -0,0 +1 @@
1
+ {"openai-completions":{"deepseek-ai/DeepSeek-V4-Flash-0731":{"id":"deepseek-ai/DeepSeek-V4-Flash-0731","name":"Deepseek V4 Flash 0731","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"input":["text"],"cost":{"input":0.13,"output":0.26,"cacheRead":0.028,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false},"contextWindow":1048576,"maxTokens":1048576},"deepseek-ai/DeepSeek-V4-Pro":{"id":"deepseek-ai/DeepSeek-V4-Pro","name":"Deepseek V4 Pro","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"none","minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"input":["text"],"cost":{"input":1.74,"output":3.48,"cacheRead":0.145,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"openai"},"contextWindow":262144,"maxTokens":262144},"moonshotai/Kimi-K2.5":{"id":"moonshotai/Kimi-K2.5","name":"Kimi K2.5","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"off","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":null},"input":["text","image"],"cost":{"input":0.6,"output":3,"cacheRead":0.12,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":262000,"maxTokens":262000},"moonshotai/Kimi-K2.6":{"id":"moonshotai/Kimi-K2.6","name":"Kimi K2.6","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"off","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":null},"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":262000,"maxTokens":262000},"moonshotai/Kimi-K2.7-Code":{"id":"moonshotai/Kimi-K2.7-Code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"off","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":null},"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":262000,"maxTokens":262000},"moonshotai/Kimi-K3":{"id":"moonshotai/Kimi-K3","name":"Kimi K3","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":"max"},"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"openai"},"contextWindow":1048576,"maxTokens":262144},"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B":{"id":"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B","name":"Nemotron Ultra","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"off","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":null},"input":["text"],"cost":{"input":0.6,"output":2.4,"cacheRead":0.12,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":202800,"maxTokens":202800},"nvidia/Nemotron-120B-A12B":{"id":"nvidia/Nemotron-120B-A12B","name":"Nemotron Super","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"off","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":null},"input":["text"],"cost":{"input":0.3,"output":0.75,"cacheRead":0.06,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":202800,"maxTokens":202800},"openai/gpt-oss-120b":{"id":"openai/gpt-oss-120b","name":"OpenAI GPT 120B","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"none","minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"input":["text"],"cost":{"input":0.1,"output":0.5,"cacheRead":0,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"openai"},"contextWindow":128072,"maxTokens":128072},"thinkingmachines/inkling":{"id":"thinkingmachines/inkling","name":"Inkling","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"none","minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"input":["text","image"],"cost":{"input":1,"output":4.05,"cacheRead":0,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"openai"},"contextWindow":1048576,"maxTokens":32768},"thinkingmachines/inkling-small":{"id":"thinkingmachines/inkling-small","name":"Inkling Small","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"none","minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"input":["text","image"],"cost":{"input":0.5,"output":1.2,"cacheRead":0.1,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"openai"},"contextWindow":1048576,"maxTokens":32768},"zai-org/GLM-4.7":{"id":"zai-org/GLM-4.7","name":"GLM 4.7","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"off","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":null},"input":["text"],"cost":{"input":0.6,"output":2.2,"cacheRead":0.12,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":200000,"maxTokens":200000},"zai-org/GLM-5":{"id":"zai-org/GLM-5","name":"GLM 5","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"off","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":null},"input":["text"],"cost":{"input":0.95,"output":3.15,"cacheRead":0.2,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":202800,"maxTokens":202800},"zai-org/GLM-5.1":{"id":"zai-org/GLM-5.1","name":"GLM 5.1","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"off","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":null},"input":["text"],"cost":{"input":1.3,"output":4.3,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":202800,"maxTokens":202800},"zai-org/GLM-5.2":{"id":"zai-org/GLM-5.2","name":"GLM 5.2","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"none","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"},"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.3,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":1048576,"maxTokens":262144},"zai-org/GLM-5.2-Fast":{"id":"zai-org/GLM-5.2-Fast","name":"GLM 5.2 Fast","api":"openai-completions","provider":"baseten","baseUrl":"https://inference.baseten.co/v1","reasoning":true,"thinkingLevelMap":{"off":"none","minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"},"input":["text"],"cost":{"input":2.1,"output":6.6,"cacheRead":0.21,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"supportsUsageInStreaming":true,"maxTokensField":"max_tokens","supportsStrictMode":true,"supportsLongCacheRetention":false,"thinkingFormat":"baseten","chatTemplateArgs":{"enable_thinking":{"$var":"thinking.enabled"}}},"contextWindow":1048576,"maxTokens":262144}}}
@@ -1 +1 @@
1
- {"anthropic-messages":{"accounts/fireworks/models/deepseek-v4-flash":{"id":"accounts/fireworks/models/deepseek-v4-flash","name":"DeepSeek V4 Flash","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.028,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/deepseek-v4-flash-0731":{"id":"accounts/fireworks/models/deepseek-v4-flash-0731","name":"DeepSeek V4 Flash 0731","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.028,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/deepseek-v4-pro":{"id":"accounts/fireworks/models/deepseek-v4-pro","name":"DeepSeek V4 Pro","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":1.74,"output":3.48,"cacheRead":0.145,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/gpt-oss-120b":{"id":"accounts/fireworks/models/gpt-oss-120b","name":"GPT OSS 120B","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.015,"cacheWrite":0},"contextWindow":131072,"maxTokens":32768,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/gpt-oss-20b":{"id":"accounts/fireworks/models/gpt-oss-20b","name":"GPT OSS 20B","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.07,"output":0.3,"cacheRead":0.035,"cacheWrite":0},"contextWindow":131072,"maxTokens":32768,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k2p6":{"id":"accounts/fireworks/models/kimi-k2p6","name":"Kimi K2.6","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k2p7-code":{"id":"accounts/fireworks/models/kimi-k2p7-code","name":"Kimi K2.7 Code","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/minimax-m2p7":{"id":"accounts/fireworks/models/minimax-m2p7","name":"MiniMax-M2.7","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":196608,"maxTokens":196608,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/minimax-m3":{"id":"accounts/fireworks/models/minimax-m3","name":"MiniMax-M3","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":512000,"maxTokens":512000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/qwen3p7-plus":{"id":"accounts/fireworks/models/qwen3p7-plus","name":"Qwen 3.7 Plus","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.08,"cacheWrite":0},"contextWindow":262144,"maxTokens":65536,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p6-fast":{"id":"accounts/fireworks/routers/kimi-k2p6-fast","name":"Kimi K2.6 Fast","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.3,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p6-turbo":{"id":"accounts/fireworks/routers/kimi-k2p6-turbo","name":"Kimi K2.6 Turbo","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.3,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p7-code-fast":{"id":"accounts/fireworks/routers/kimi-k2p7-code-fast","name":"Kimi K2.7 Code Fast","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":1.9,"output":8,"cacheRead":0.38,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}}},"openai-completions":{"accounts/fireworks/models/glm-5p2":{"id":"accounts/fireworks/models/glm-5p2","name":"GLM 5.2","api":"openai-completions","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.14,"cacheWrite":0},"contextWindow":1048575,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false},"thinkingLevelMap":{"off":"none","minimal":null,"low":"high","medium":"high","high":"high","xhigh":null,"max":"max"}},"accounts/fireworks/models/kimi-k3":{"id":"accounts/fireworks/models/kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference/v1","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"openai","deferredToolsMode":"kimi","sendSessionAffinityHeaders":true,"supportsLongCacheRetention":false},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":"max"}},"accounts/fireworks/routers/glm-5p2-fast":{"id":"accounts/fireworks/routers/glm-5p2-fast","name":"GLM 5.2 Fast","api":"openai-completions","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference/v1","reasoning":true,"input":["text"],"cost":{"input":2.1,"output":6.6,"cacheRead":0.21,"cacheWrite":0},"contextWindow":1048575,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false},"thinkingLevelMap":{"off":"none","minimal":null,"low":"high","medium":"high","high":"high","xhigh":null,"max":"max"}},"accounts/fireworks/routers/kimi-k3-fast":{"id":"accounts/fireworks/routers/kimi-k3-fast","name":"Kimi K3 Fast","api":"openai-completions","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference/v1","reasoning":true,"input":["text","image"],"cost":{"input":4.5,"output":22.5,"cacheRead":0.45,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"openai","deferredToolsMode":"kimi","sendSessionAffinityHeaders":true,"supportsLongCacheRetention":false},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":"max"}}}}
1
+ {"anthropic-messages":{"accounts/fireworks/models/deepseek-v4-flash":{"id":"accounts/fireworks/models/deepseek-v4-flash","name":"DeepSeek V4 Flash","provider":"fireworks","reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.028,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/deepseek-v4-flash-0731":{"id":"accounts/fireworks/models/deepseek-v4-flash-0731","name":"DeepSeek V4 Flash 0731","provider":"fireworks","reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.028,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/deepseek-v4-pro":{"id":"accounts/fireworks/models/deepseek-v4-pro","name":"DeepSeek V4 Pro","provider":"fireworks","reasoning":true,"input":["text"],"cost":{"input":1.74,"output":3.48,"cacheRead":0.145,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/gpt-oss-120b":{"id":"accounts/fireworks/models/gpt-oss-120b","name":"GPT OSS 120B","provider":"fireworks","reasoning":true,"input":["text"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.015,"cacheWrite":0},"contextWindow":131072,"maxTokens":32768,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/gpt-oss-20b":{"id":"accounts/fireworks/models/gpt-oss-20b","name":"GPT OSS 20B","provider":"fireworks","reasoning":true,"input":["text"],"cost":{"input":0.07,"output":0.3,"cacheRead":0.035,"cacheWrite":0},"contextWindow":131072,"maxTokens":32768,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k2p6":{"id":"accounts/fireworks/models/kimi-k2p6","name":"Kimi K2.6","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k2p7-code":{"id":"accounts/fireworks/models/kimi-k2p7-code","name":"Kimi K2.7 Code","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/minimax-m2p7":{"id":"accounts/fireworks/models/minimax-m2p7","name":"MiniMax-M2.7","provider":"fireworks","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":196608,"maxTokens":196608,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/minimax-m3":{"id":"accounts/fireworks/models/minimax-m3","name":"MiniMax-M3","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":512000,"maxTokens":512000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/qwen3p7-plus":{"id":"accounts/fireworks/models/qwen3p7-plus","name":"Qwen 3.7 Plus","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.08,"cacheWrite":0},"contextWindow":262144,"maxTokens":65536,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p6-fast":{"id":"accounts/fireworks/routers/kimi-k2p6-fast","name":"Kimi K2.6 Fast","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.3,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p6-turbo":{"id":"accounts/fireworks/routers/kimi-k2p6-turbo","name":"Kimi K2.6 Turbo","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.3,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p7-code-fast":{"id":"accounts/fireworks/routers/kimi-k2p7-code-fast","name":"Kimi K2.7 Code Fast","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":1.9,"output":8,"cacheRead":0.38,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"api":"anthropic-messages","baseUrl":"https://api.fireworks.ai/inference","compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}}},"openai-completions":{"accounts/fireworks/models/glm-5p2":{"id":"accounts/fireworks/models/glm-5p2","name":"GLM 5.2","provider":"fireworks","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.14,"cacheWrite":0},"contextWindow":1048575,"maxTokens":131072,"api":"openai-completions","baseUrl":"https://api.fireworks.ai/inference/v1","compat":{"supportsStore":false,"supportsDeveloperRole":false,"sendSessionAffinityHeaders":true,"supportsLongCacheRetention":false},"thinkingLevelMap":{"off":"none","minimal":null,"low":"high","medium":"high","high":"high","xhigh":null,"max":"max"}},"accounts/fireworks/models/kimi-k3":{"id":"accounts/fireworks/models/kimi-k3","name":"Kimi K3","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"api":"openai-completions","baseUrl":"https://api.fireworks.ai/inference/v1","compat":{"supportsStore":false,"supportsDeveloperRole":false,"sendSessionAffinityHeaders":true,"supportsLongCacheRetention":false,"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"openai","deferredToolsMode":"kimi"},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":"max"}},"accounts/fireworks/routers/glm-5p2-fast":{"id":"accounts/fireworks/routers/glm-5p2-fast","name":"GLM 5.2 Fast","provider":"fireworks","reasoning":true,"input":["text"],"cost":{"input":2.1,"output":6.6,"cacheRead":0.21,"cacheWrite":0},"contextWindow":1048575,"maxTokens":131072,"api":"openai-completions","baseUrl":"https://api.fireworks.ai/inference/v1","compat":{"supportsStore":false,"supportsDeveloperRole":false,"sendSessionAffinityHeaders":true,"supportsLongCacheRetention":false},"thinkingLevelMap":{"off":"none","minimal":null,"low":"high","medium":"high","high":"high","xhigh":null,"max":"max"}},"accounts/fireworks/routers/kimi-k3-fast":{"id":"accounts/fireworks/routers/kimi-k3-fast","name":"Kimi K3 Fast","provider":"fireworks","reasoning":true,"input":["text","image"],"cost":{"input":4.5,"output":22.5,"cacheRead":0.45,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"api":"openai-completions","baseUrl":"https://api.fireworks.ai/inference/v1","compat":{"supportsStore":false,"supportsDeveloperRole":false,"sendSessionAffinityHeaders":true,"supportsLongCacheRetention":false,"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"openai","deferredToolsMode":"kimi"},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":"max"}}}}
@@ -1 +1 @@
1
- {"anthropic-messages":{"claude-haiku-4.5":{"id":"claude-haiku-4.5","name":"Claude Haiku 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"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"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-opus-4.5":{"id":"claude-opus-4.5","name":"Claude Opus 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":32000,"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"}},"claude-opus-4.6":{"id":"claude-opus-4.6","name":"Claude Opus 4.6","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":32000,"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"},"thinkingLevelMap":{"max":"max"},"compat":{"forceAdaptiveThinking":true}},"claude-opus-4.7":{"id":"claude-opus-4.7","name":"Claude Opus 4.7","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":32000,"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"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-opus-4.8":{"id":"claude-opus-4.8","name":"Claude Opus 4.8","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":64000,"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"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-opus-5":{"id":"claude-opus-5","name":"Claude Opus 5","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":64000,"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"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-sonnet-4":{"id":"claude-sonnet-4","name":"Claude Sonnet 4 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":216000,"maxTokens":16000,"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"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-sonnet-4.5":{"id":"claude-sonnet-4.5","name":"Claude Sonnet 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":32000,"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"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-sonnet-4.6":{"id":"claude-sonnet-4.6","name":"Claude Sonnet 4.6","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":32000,"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"},"thinkingLevelMap":{"max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true}},"claude-sonnet-5":{"id":"claude-sonnet-5","name":"Claude Sonnet 5","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"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"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true}}},"openai-completions":{"claude-fable-5":{"id":"claude-fable-5","name":"Claude Fable 5","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","off":null}},"gemini-3.1-pro-preview":{"id":"gemini-3.1-pro-preview","name":"Gemini 3.1 Pro Preview","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":64000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3.5-flash":{"id":"gemini-3.5-flash","name":"Gemini 3.5 Flash","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.5,"output":9,"cacheRead":0.15,"cacheWrite":0},"contextWindow":200000,"maxTokens":64000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3.6-flash":{"id":"gemini-3.6-flash","name":"Gemini 3.6 Flash","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.5,"output":7.5,"cacheRead":0.15,"cacheWrite":0},"contextWindow":1000000,"maxTokens":64000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gpt-4.1":{"id":"gpt-4.1","name":"GPT-4.1","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":false,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"grok-4.5":{"id":"grok-4.5","name":"Grok 4.5","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":4,"output":12,"cacheRead":1,"cacheWrite":0}]},"contextWindow":500000,"maxTokens":128000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"kimi-k2.7-code":{"id":"kimi-k2.7-code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"contextWindow":256000,"maxTokens":32000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"kimi-k3":{"id":"kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}}},"openai-responses":{"gpt-5-mini":{"id":"gpt-5-mini","name":"GPT-5 Mini","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":2,"cacheRead":0.025,"cacheWrite":0},"contextWindow":264000,"maxTokens":64000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":null,"max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2":{"id":"gpt-5.2","name":"GPT-5.2","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-codex":{"id":"gpt-5.2-codex","name":"GPT-5.2 Codex","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex":{"id":"gpt-5.3-codex","name":"GPT-5.3 Codex","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":1000000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4":{"id":"gpt-5.4","name":"GPT-5.4","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":5,"output":22.5,"cacheRead":0.5,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-mini":{"id":"gpt-5.4-mini","name":"GPT-5.4 mini","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-nano":{"id":"gpt-5.4-nano","name":"GPT-5.4 nano","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.25,"cacheRead":0.02,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5":{"id":"gpt-5.5","name":"GPT-5.5","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":0.4,"output":1.8,"cacheRead":0.04,"cacheWrite":0}]},"contextWindow":1050000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-sol":{"id":"gpt-5.6-sol","name":"GPT-5.6 Sol","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":12.5}]},"contextWindow":1050000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-terra":{"id":"gpt-5.6-terra","name":"GPT-5.6 Terra","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1050000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"mai-code-1-flash-picker":{"id":"mai-code-1-flash-picker","name":"MAI-Code-1-Flash","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":256000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}
1
+ {"anthropic-messages":{"claude-haiku-4.5":{"id":"claude-haiku-4.5","name":"Claude Haiku 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"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"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-opus-4.5":{"id":"claude-opus-4.5","name":"Claude Opus 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":32000,"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"}},"claude-opus-4.6":{"id":"claude-opus-4.6","name":"Claude Opus 4.6","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":32000,"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"},"thinkingLevelMap":{"max":"max"},"compat":{"forceAdaptiveThinking":true}},"claude-opus-4.7":{"id":"claude-opus-4.7","name":"Claude Opus 4.7","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":32000,"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"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-opus-4.8":{"id":"claude-opus-4.8","name":"Claude Opus 4.8","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":64000,"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"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-opus-5":{"id":"claude-opus-5","name":"Claude Opus 5","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":64000,"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"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-sonnet-4":{"id":"claude-sonnet-4","name":"Claude Sonnet 4 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":216000,"maxTokens":16000,"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"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-sonnet-4.5":{"id":"claude-sonnet-4.5","name":"Claude Sonnet 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":32000,"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"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-sonnet-4.6":{"id":"claude-sonnet-4.6","name":"Claude Sonnet 4.6","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":32000,"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"},"thinkingLevelMap":{"max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true}},"claude-sonnet-5":{"id":"claude-sonnet-5","name":"Claude Sonnet 5","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"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"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true}}},"openai-completions":{"claude-fable-5":{"id":"claude-fable-5","name":"Claude Fable 5","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","off":null}},"gemini-3.1-pro-preview":{"id":"gemini-3.1-pro-preview","name":"Gemini 3.1 Pro Preview","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":64000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3.5-flash":{"id":"gemini-3.5-flash","name":"Gemini 3.5 Flash","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.5,"output":9,"cacheRead":0.15,"cacheWrite":0},"contextWindow":200000,"maxTokens":64000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3.6-flash":{"id":"gemini-3.6-flash","name":"Gemini 3.6 Flash","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.5,"output":7.5,"cacheRead":0.15,"cacheWrite":0},"contextWindow":1000000,"maxTokens":64000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gpt-4.1":{"id":"gpt-4.1","name":"GPT-4.1","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":false,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"kimi-k2.7-code":{"id":"kimi-k2.7-code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"contextWindow":256000,"maxTokens":32000,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"kimi-k3":{"id":"kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"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"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}}},"openai-responses":{"gpt-5-mini":{"id":"gpt-5-mini","name":"GPT-5 Mini","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":2,"cacheRead":0.025,"cacheWrite":0},"contextWindow":264000,"maxTokens":64000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":null,"max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2":{"id":"gpt-5.2","name":"GPT-5.2","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-codex":{"id":"gpt-5.2-codex","name":"GPT-5.2 Codex","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex":{"id":"gpt-5.3-codex","name":"GPT-5.3 Codex","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":1000000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4":{"id":"gpt-5.4","name":"GPT-5.4","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":5,"output":22.5,"cacheRead":0.5,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-mini":{"id":"gpt-5.4-mini","name":"GPT-5.4 mini","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-nano":{"id":"gpt-5.4-nano","name":"GPT-5.4 nano","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.25,"cacheRead":0.02,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5":{"id":"gpt-5.5","name":"GPT-5.5","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":0.4,"output":1.8,"cacheRead":0.04,"cacheWrite":0}]},"contextWindow":1050000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-sol":{"id":"gpt-5.6-sol","name":"GPT-5.6 Sol","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":12.5}]},"contextWindow":1050000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-terra":{"id":"gpt-5.6-terra","name":"GPT-5.6 Terra","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1050000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"grok-4.5":{"id":"grok-4.5","name":"Grok 4.5","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":4,"output":12,"cacheRead":1,"cacheWrite":0}]},"contextWindow":500000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"mai-code-1-flash-picker":{"id":"mai-code-1-flash-picker","name":"MAI-Code-1-Flash","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":256000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"mai-code-1.1-flash":{"id":"mai-code-1.1-flash","name":"MAI-Code-1.1-Flash","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0},"contextWindow":256000,"maxTokens":128000,"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"},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}
@@ -1 +1 @@
1
- {"anthropic-messages":{"minimax-m3":{"id":"minimax-m3","name":"MiniMax-M3","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":1000000,"maxTokens":131072},"qwen3.7-max":{"id":"qwen3.7-max","name":"Qwen3.7 Max","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text"],"cost":{"input":2.5,"output":7.5,"cacheRead":0.5,"cacheWrite":3.125},"contextWindow":1000000,"maxTokens":65536},"qwen3.7-plus":{"id":"qwen3.7-plus","name":"Qwen3.7 Plus","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.04,"cacheWrite":0.5},"contextWindow":1000000,"maxTokens":65536},"qwen3.8-max":{"id":"qwen3.8-max","name":"Qwen3.8 Max","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.25,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":131072}},"openai-completions":{"deepseek-v4-flash":{"id":"deepseek-v4-flash","name":"DeepSeek V4 Flash (2x usage)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.07,"output":0.14,"cacheRead":0.0014,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"deepseek-v4-pro":{"id":"deepseek-v4-pro","name":"DeepSeek V4 Pro","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.003625,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"glm-5.1":{"id":"glm-5.1","name":"GLM-5.1","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":202752,"maxTokens":32768},"glm-5.2":{"id":"glm-5.2","name":"GLM-5.2","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"}},"hy3":{"id":"hy3","name":"Hy3","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.58,"cacheRead":0.035,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":256000,"maxTokens":64000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":null}},"kimi-k2.6":{"id":"kimi-k2.6","name":"Kimi K2.6","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"thinkingFormat":"deepseek","supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsLongCacheRetention":false},"contextWindow":262144,"maxTokens":65536,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null}},"kimi-k2.7-code":{"id":"kimi-k2.7-code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":262144,"maxTokens":262144},"kimi-k3":{"id":"kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1048576,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":null,"xhigh":null,"max":"max"}},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo V2.5","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":128000},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo V2.5 Pro","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.003625,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1048576,"maxTokens":128000},"minimax-m2.7":{"id":"minimax-m2.7","name":"MiniMax-M2.7","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":204800,"maxTokens":131072},"qwen3.6-plus":{"id":"qwen3.6-plus","name":"Qwen3.6 Plus","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0.625},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"thinkingFormat":"qwen","maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":65536}},"openai-responses":{"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna (2x usage)","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.1,"output":0.6,"cacheRead":0.01,"cacheWrite":0.125},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"grok-4.5":{"id":"grok-4.5","name":"Grok 4.5","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":500000,"maxTokens":500000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}
1
+ {"anthropic-messages":{"minimax-m3":{"id":"minimax-m3","name":"MiniMax-M3","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":1000000,"maxTokens":131072},"qwen3.7-max":{"id":"qwen3.7-max","name":"Qwen3.7 Max","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text"],"cost":{"input":2.5,"output":7.5,"cacheRead":0.5,"cacheWrite":3.125},"contextWindow":1000000,"maxTokens":65536},"qwen3.7-plus":{"id":"qwen3.7-plus","name":"Qwen3.7 Plus","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.04,"cacheWrite":0.5},"contextWindow":1000000,"maxTokens":65536},"qwen3.8-max":{"id":"qwen3.8-max","name":"Qwen3.8 Max","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.25,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":131072}},"openai-completions":{"deepseek-v4-flash":{"id":"deepseek-v4-flash","name":"DeepSeek V4 Flash (2x usage)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.07,"output":0.14,"cacheRead":0.0014,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"deepseek-v4-pro":{"id":"deepseek-v4-pro","name":"DeepSeek V4 Pro (New)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.003625,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"glm-5.1":{"id":"glm-5.1","name":"GLM-5.1","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":202752,"maxTokens":32768},"glm-5.2":{"id":"glm-5.2","name":"GLM-5.2","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"}},"hy3":{"id":"hy3","name":"Hy3","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.58,"cacheRead":0.035,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":256000,"maxTokens":64000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":null}},"kimi-k2.6":{"id":"kimi-k2.6","name":"Kimi K2.6","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"thinkingFormat":"deepseek","supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsLongCacheRetention":false},"contextWindow":262144,"maxTokens":65536,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null}},"kimi-k2.7-code":{"id":"kimi-k2.7-code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":262144,"maxTokens":262144},"kimi-k3":{"id":"kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1048576,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":null,"xhigh":null,"max":"max"}},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo V2.5","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":128000},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo V2.5 Pro","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.003625,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1048576,"maxTokens":128000},"minimax-m2.7":{"id":"minimax-m2.7","name":"MiniMax-M2.7","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":204800,"maxTokens":131072},"qwen3.6-plus":{"id":"qwen3.6-plus","name":"Qwen3.6 Plus","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0.625},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"thinkingFormat":"qwen","maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":65536}},"openai-responses":{"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna (2x usage)","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.1,"output":0.6,"cacheRead":0.01,"cacheWrite":0.125},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"grok-4.5":{"id":"grok-4.5","name":"Grok 4.5","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":500000,"maxTokens":500000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}