@astralyn/pi 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist/bundle/chunks/anthropic-messages-MSB6JBS2.js +6 -0
  3. package/dist/bundle/chunks/{azure-openai-responses-CH74HGP4.js → azure-openai-responses-ATZ757I2.js} +1 -1
  4. package/dist/bundle/chunks/bedrock-converse-stream.js +14 -11
  5. package/dist/bundle/chunks/{chunk-H35KWBT5.js → chunk-4XZYHGVN.js} +1 -1
  6. package/dist/bundle/chunks/{chunk-MAC4N3BW.js → chunk-7UBIBLPN.js} +1 -1
  7. package/dist/bundle/chunks/{chunk-KAC2YPTW.js → chunk-J75WV3FL.js} +1 -1
  8. package/dist/bundle/chunks/{chunk-EJEOEBSJ.js → chunk-KSCGI7JW.js} +2 -2
  9. package/dist/bundle/chunks/chunk-LUYFHZ6W.js +11 -0
  10. package/dist/bundle/chunks/{chunk-TEAAYBTS.js → chunk-NM2KGRFS.js} +1 -1
  11. package/dist/bundle/chunks/chunk-Q74S7ILH.js +2 -0
  12. package/dist/bundle/chunks/{chunk-QLU3LESZ.js → chunk-QDDSFJ35.js} +1 -1
  13. package/dist/bundle/chunks/{chunk-D3XW5X3Z.js → chunk-R2KES7LS.js} +175 -244
  14. package/dist/bundle/chunks/{chunk-5B3S5DVL.js → chunk-SA2AQYEI.js} +5 -2
  15. package/dist/bundle/chunks/{chunk-C2ARIVS3.js → chunk-YHRHHXFG.js} +1 -1
  16. package/dist/bundle/chunks/{cloudflare-workers-ai-system-one-XO45ZT3V.js → cloudflare-workers-ai-system-one-HGOVFZDC.js} +1 -1
  17. package/dist/bundle/chunks/codemode-worker.js +17 -9
  18. package/dist/bundle/chunks/github-copilot.js +1 -1
  19. package/dist/bundle/chunks/{google-generative-ai-VVO64ZRQ.js → google-generative-ai-QRLQ4MCJ.js} +1 -1
  20. package/dist/bundle/chunks/{google-vertex-LKS5NUHA.js → google-vertex-L3T6EGTL.js} +1 -1
  21. package/dist/bundle/chunks/mistral-conversations-6E6SS3WF.js +5 -0
  22. package/dist/bundle/chunks/openai-codex-responses-4GUO76XJ.js +10 -0
  23. package/dist/bundle/chunks/{openai-completions-7HTTU6FH.js → openai-completions-O4TKZCIM.js} +1 -1
  24. package/dist/bundle/chunks/{openai-decisions-776H4VDZ.js → openai-decisions-TVCDIPZX.js} +1 -1
  25. package/dist/bundle/chunks/openai-responses-VBQKJFNO.js +3 -0
  26. package/dist/bundle/chunks/{pi-messages-ZXNERWJG.js → pi-messages-3POWZ43C.js} +1 -1
  27. package/dist/bundle/chunks/{typesafe-system-one-2DQLG4R2.js → typesafe-system-one-LWPJYTJP.js} +1 -1
  28. package/dist/bundle/chunks/{virtual-modules-2NHGQRS6.js → virtual-modules-TG53AOL4.js} +1 -1
  29. package/dist/bundle/cli.js +1 -1
  30. package/dist/bundle/index.js +1 -1
  31. package/dist/bundle/rpc-entry.js +1 -1
  32. package/dist/cli/credential-print.d.ts.map +1 -1
  33. package/dist/cli/credential-print.js +4 -4
  34. package/dist/cli/credential-print.js.map +1 -1
  35. package/dist/core/agent-session.d.ts +18 -3
  36. package/dist/core/agent-session.d.ts.map +1 -1
  37. package/dist/core/agent-session.js +98 -62
  38. package/dist/core/agent-session.js.map +1 -1
  39. package/dist/core/auth-storage.d.ts.map +1 -1
  40. package/dist/core/auth-storage.js +20 -13
  41. package/dist/core/auth-storage.js.map +1 -1
  42. package/dist/core/bug-report.d.ts +9 -1
  43. package/dist/core/bug-report.d.ts.map +1 -1
  44. package/dist/core/compaction/utils.d.ts +6 -0
  45. package/dist/core/compaction/utils.d.ts.map +1 -1
  46. package/dist/core/compaction/utils.js +7 -8
  47. package/dist/core/compaction/utils.js.map +1 -1
  48. package/dist/core/export-html/template.js +21 -16
  49. package/dist/core/extensions/index.d.ts +1 -1
  50. package/dist/core/extensions/index.d.ts.map +1 -1
  51. package/dist/core/extensions/index.js.map +1 -1
  52. package/dist/core/extensions/runner.d.ts +4 -2
  53. package/dist/core/extensions/runner.d.ts.map +1 -1
  54. package/dist/core/extensions/runner.js +2 -3
  55. package/dist/core/extensions/runner.js.map +1 -1
  56. package/dist/core/extensions/types.d.ts +31 -7
  57. package/dist/core/extensions/types.d.ts.map +1 -1
  58. package/dist/core/extensions/types.js.map +1 -1
  59. package/dist/core/key-id-schema.d.ts +6 -0
  60. package/dist/core/key-id-schema.d.ts.map +1 -0
  61. package/dist/core/key-id-schema.js +16 -0
  62. package/dist/core/key-id-schema.js.map +1 -0
  63. package/dist/core/keybinding-registry.d.ts +4 -3
  64. package/dist/core/keybinding-registry.d.ts.map +1 -1
  65. package/dist/core/keybinding-registry.js +4 -3
  66. package/dist/core/keybinding-registry.js.map +1 -1
  67. package/dist/core/keybindings-schema.d.ts +4 -0
  68. package/dist/core/keybindings-schema.d.ts.map +1 -0
  69. package/dist/core/keybindings-schema.js +16 -0
  70. package/dist/core/keybindings-schema.js.map +1 -0
  71. package/dist/core/keybindings.d.ts +258 -81
  72. package/dist/core/keybindings.d.ts.map +1 -1
  73. package/dist/core/keybindings.js +27 -24
  74. package/dist/core/keybindings.js.map +1 -1
  75. package/dist/core/model-config.d.ts +729 -180
  76. package/dist/core/model-config.d.ts.map +1 -1
  77. package/dist/core/model-config.js +18 -179
  78. package/dist/core/model-config.js.map +1 -1
  79. package/dist/core/model-resolver.d.ts +56 -43
  80. package/dist/core/model-resolver.d.ts.map +1 -1
  81. package/dist/core/model-resolver.js +247 -352
  82. package/dist/core/model-resolver.js.map +1 -1
  83. package/dist/core/model-runtime.d.ts.map +1 -1
  84. package/dist/core/model-runtime.js +11 -6
  85. package/dist/core/model-runtime.js.map +1 -1
  86. package/dist/core/package-manager.d.ts.map +1 -1
  87. package/dist/core/package-manager.js +3 -3
  88. package/dist/core/package-manager.js.map +1 -1
  89. package/dist/core/project-trust.d.ts.map +1 -1
  90. package/dist/core/project-trust.js +2 -1
  91. package/dist/core/project-trust.js.map +1 -1
  92. package/dist/core/prompt-templates.d.ts.map +1 -1
  93. package/dist/core/prompt-templates.js +7 -2
  94. package/dist/core/prompt-templates.js.map +1 -1
  95. package/dist/core/remote-catalog-provider.d.ts +12 -1
  96. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  97. package/dist/core/remote-catalog-provider.js +82 -24
  98. package/dist/core/remote-catalog-provider.js.map +1 -1
  99. package/dist/core/resource-loader.d.ts.map +1 -1
  100. package/dist/core/resource-loader.js +7 -2
  101. package/dist/core/resource-loader.js.map +1 -1
  102. package/dist/core/settings-defaults.d.ts +66 -0
  103. package/dist/core/settings-defaults.d.ts.map +1 -0
  104. package/dist/core/settings-defaults.js +67 -0
  105. package/dist/core/settings-defaults.js.map +1 -0
  106. package/dist/core/settings-manager.d.ts +6 -149
  107. package/dist/core/settings-manager.d.ts.map +1 -1
  108. package/dist/core/settings-manager.js +59 -44
  109. package/dist/core/settings-manager.js.map +1 -1
  110. package/dist/core/settings-schema.d.ts +233 -0
  111. package/dist/core/settings-schema.d.ts.map +1 -0
  112. package/dist/core/settings-schema.js +298 -0
  113. package/dist/core/settings-schema.js.map +1 -0
  114. package/dist/core/slash-commands.js +1 -1
  115. package/dist/core/slash-commands.js.map +1 -1
  116. package/dist/core/tools/render-utils.d.ts +20 -0
  117. package/dist/core/tools/render-utils.d.ts.map +1 -1
  118. package/dist/core/tools/render-utils.js +67 -0
  119. package/dist/core/tools/render-utils.js.map +1 -1
  120. package/dist/core/tools/renderers/bash.d.ts.map +1 -1
  121. package/dist/core/tools/renderers/bash.js +21 -50
  122. package/dist/core/tools/renderers/bash.js.map +1 -1
  123. package/dist/core/tools/renderers/read.d.ts.map +1 -1
  124. package/dist/core/tools/renderers/read.js +7 -11
  125. package/dist/core/tools/renderers/read.js.map +1 -1
  126. package/dist/extensions/btw/keybindings.d.ts +2 -2
  127. package/dist/extensions/btw/keybindings.d.ts.map +1 -1
  128. package/dist/extensions/btw/keybindings.js.map +1 -1
  129. package/dist/extensions/codemode/execute.d.ts.map +1 -1
  130. package/dist/extensions/codemode/execute.js +76 -45
  131. package/dist/extensions/codemode/execute.js.map +1 -1
  132. package/dist/extensions/codemode/index.d.ts.map +1 -1
  133. package/dist/extensions/codemode/index.js +3 -7
  134. package/dist/extensions/codemode/index.js.map +1 -1
  135. package/dist/extensions/codemode/renderer.d.ts +2 -2
  136. package/dist/extensions/codemode/renderer.d.ts.map +1 -1
  137. package/dist/extensions/codemode/renderer.js +9 -3
  138. package/dist/extensions/codemode/renderer.js.map +1 -1
  139. package/dist/extensions/codemode/tool.d.ts +6 -12
  140. package/dist/extensions/codemode/tool.d.ts.map +1 -1
  141. package/dist/extensions/codemode/tool.js +44 -32
  142. package/dist/extensions/codemode/tool.js.map +1 -1
  143. package/dist/extensions/list-keybindings.d.ts +2 -2
  144. package/dist/extensions/list-keybindings.d.ts.map +1 -1
  145. package/dist/extensions/list-keybindings.js.map +1 -1
  146. package/dist/extensions/mcp/cli.js +5 -8
  147. package/dist/extensions/mcp/cli.js.map +1 -1
  148. package/dist/extensions/mcp/index.d.ts.map +1 -1
  149. package/dist/extensions/mcp/index.js +25 -34
  150. package/dist/extensions/mcp/index.js.map +1 -1
  151. package/dist/extensions/mcp/resources.d.ts +0 -6
  152. package/dist/extensions/mcp/resources.d.ts.map +1 -1
  153. package/dist/extensions/mcp/resources.js +1 -1
  154. package/dist/extensions/mcp/resources.js.map +1 -1
  155. package/dist/extensions/mcp/runtime.d.ts +3 -6
  156. package/dist/extensions/mcp/runtime.d.ts.map +1 -1
  157. package/dist/extensions/mcp/runtime.js +4 -39
  158. package/dist/extensions/mcp/runtime.js.map +1 -1
  159. package/dist/extensions/mcp/tools.d.ts +2 -3
  160. package/dist/extensions/mcp/tools.d.ts.map +1 -1
  161. package/dist/extensions/mcp/tools.js +62 -6
  162. package/dist/extensions/mcp/tools.js.map +1 -1
  163. package/dist/extensions/provider/keybindings.d.ts +2 -2
  164. package/dist/extensions/provider/keybindings.d.ts.map +1 -1
  165. package/dist/extensions/provider/keybindings.js.map +1 -1
  166. package/dist/extensions/search/code-search.d.ts +0 -2
  167. package/dist/extensions/search/code-search.d.ts.map +1 -1
  168. package/dist/extensions/search/code-search.js +2 -2
  169. package/dist/extensions/search/code-search.js.map +1 -1
  170. package/dist/extensions/search/command.js +2 -2
  171. package/dist/extensions/search/command.js.map +1 -1
  172. package/dist/extensions/search/index.d.ts.map +1 -1
  173. package/dist/extensions/search/index.js +14 -11
  174. package/dist/extensions/search/index.js.map +1 -1
  175. package/dist/extensions/search/workspace.d.ts +11 -10
  176. package/dist/extensions/search/workspace.d.ts.map +1 -1
  177. package/dist/extensions/search/workspace.js +259 -141
  178. package/dist/extensions/search/workspace.js.map +1 -1
  179. package/dist/extensions/tool-search/index.d.ts.map +1 -1
  180. package/dist/extensions/tool-search/index.js +1 -6
  181. package/dist/extensions/tool-search/index.js.map +1 -1
  182. package/dist/extensions/tool-search/tool.d.ts +0 -2
  183. package/dist/extensions/tool-search/tool.d.ts.map +1 -1
  184. package/dist/extensions/tool-search/tool.js +2 -4
  185. package/dist/extensions/tool-search/tool.js.map +1 -1
  186. package/dist/index.d.ts +2 -1
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +1 -0
  189. package/dist/index.js.map +1 -1
  190. package/dist/main.d.ts.map +1 -1
  191. package/dist/main.js +4 -3
  192. package/dist/main.js.map +1 -1
  193. package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
  194. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  195. package/dist/modes/interactive/components/settings-selector.js +13 -2
  196. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  197. package/dist/modes/interactive/components/status-indicator.d.ts +1 -1
  198. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  199. package/dist/modes/interactive/components/status-indicator.js +2 -2
  200. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  201. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  202. package/dist/modes/interactive/components/tree-selector.js +2 -9
  203. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  204. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  205. package/dist/modes/interactive/interactive-mode.js +20 -8
  206. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  207. package/dist/modes/interactive/session-share.d.ts.map +1 -1
  208. package/dist/modes/interactive/session-share.js +9 -2
  209. package/dist/modes/interactive/session-share.js.map +1 -1
  210. package/dist/modes/interactive/tasks/layout.d.ts +2 -0
  211. package/dist/modes/interactive/tasks/layout.d.ts.map +1 -1
  212. package/dist/modes/interactive/tasks/layout.js +32 -6
  213. package/dist/modes/interactive/tasks/layout.js.map +1 -1
  214. package/dist/modes/interactive/tasks/manager.d.ts.map +1 -1
  215. package/dist/modes/interactive/tasks/manager.js +20 -2
  216. package/dist/modes/interactive/tasks/manager.js.map +1 -1
  217. package/dist/modes/interactive/theme/dark.json +1 -1
  218. package/dist/modes/interactive/theme/light.json +1 -1
  219. package/dist/modes/interactive/theme/theme-schema.d.ts +28 -0
  220. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
  221. package/dist/modes/interactive/theme/theme-schema.js +105 -0
  222. package/dist/modes/interactive/theme/theme-schema.js.map +1 -0
  223. package/dist/modes/interactive/theme/theme-tokens.d.ts +257 -0
  224. package/dist/modes/interactive/theme/theme-tokens.d.ts.map +1 -0
  225. package/dist/modes/interactive/theme/theme-tokens.js +94 -0
  226. package/dist/modes/interactive/theme/theme-tokens.js.map +1 -0
  227. package/dist/modes/interactive/theme/theme.d.ts +13 -16
  228. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  229. package/dist/modes/interactive/theme/theme.js +23 -31
  230. package/dist/modes/interactive/theme/theme.js.map +1 -1
  231. package/dist/modes/print-mode.d.ts.map +1 -1
  232. package/dist/modes/print-mode.js +4 -0
  233. package/dist/modes/print-mode.js.map +1 -1
  234. package/dist/utils/clipboard.d.ts.map +1 -1
  235. package/dist/utils/clipboard.js +6 -1
  236. package/dist/utils/clipboard.js.map +1 -1
  237. package/docs/bundled/extensions/search.md +2 -1
  238. package/docs/bundled/tasks.md +1 -1
  239. package/docs/codemode.md +2 -1
  240. package/docs/compaction.md +2 -2
  241. package/docs/development.md +0 -13
  242. package/docs/docs.json +12 -0
  243. package/docs/environment-variables.md +2 -3
  244. package/docs/extensions.md +11 -5
  245. package/docs/keybindings.md +1 -0
  246. package/docs/llama-cpp.md +1 -1
  247. package/docs/mcp.md +1 -1
  248. package/docs/models.md +1 -0
  249. package/docs/nvidia-rtx-llama-cpp.md +96 -0
  250. package/docs/providers.md +17 -1
  251. package/docs/sdk.md +0 -27
  252. package/docs/sessions.md +1 -1
  253. package/docs/settings.md +4 -3
  254. package/docs/themes.md +4 -2
  255. package/docs/tui.md +1 -1
  256. package/docs/usage.md +7 -5
  257. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  258. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  259. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  260. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  261. package/examples/extensions/gondolin/package-lock.json +2 -2
  262. package/examples/extensions/gondolin/package.json +1 -1
  263. package/examples/extensions/minimal-mode.ts +4 -5
  264. package/examples/extensions/overlay-test.ts +2 -2
  265. package/examples/extensions/plan-mode/index.ts +6 -2
  266. package/examples/extensions/sandbox/package-lock.json +2 -2
  267. package/examples/extensions/sandbox/package.json +1 -1
  268. package/examples/extensions/with-deps/package-lock.json +2 -2
  269. package/examples/extensions/with-deps/package.json +1 -1
  270. package/npm-shrinkwrap.json +151 -199
  271. package/package.json +8 -20
  272. package/schemas/keybindings.schema.json +453 -0
  273. package/schemas/models.schema.json +1157 -0
  274. package/schemas/settings.schema.json +800 -0
  275. package/schemas/theme.schema.json +365 -0
  276. package/dist/bundle/chunks/anthropic-messages-3K3DWVY6.js +0 -6
  277. package/dist/bundle/chunks/chunk-3MMB5I7J.js +0 -11
  278. package/dist/bundle/chunks/mistral-conversations-NJUOG4ET.js +0 -5
  279. package/dist/bundle/chunks/openai-codex-responses-TZWBTTYM.js +0 -10
  280. package/dist/bundle/chunks/openai-responses-7A6BAQ5X.js +0 -3
  281. package/dist/modes/interactive/theme/theme-json.d.ts +0 -85
  282. package/dist/modes/interactive/theme/theme-json.d.ts.map +0 -1
  283. package/dist/modes/interactive/theme/theme-json.js +0 -132
  284. package/dist/modes/interactive/theme/theme-json.js.map +0 -1
  285. package/dist/modes/interactive/theme/theme-schema.json +0 -361
  286. package/examples/plugins/pi-example-plugin/README.md +0 -38
  287. package/examples/plugins/pi-example-plugin/package.json +0 -10
  288. package/examples/plugins/pi-example-plugin/src/contract.ts +0 -13
  289. package/examples/plugins/pi-example-plugin/src/session.ts +0 -24
  290. package/examples/plugins/pi-example-plugin/src/tui.ts +0 -31
@@ -1,75 +1,8 @@
1
1
  /** Immutable, credential-blind models.json snapshot. */
2
+ import { OpenAICompletionsCompatSchema } from "@earendil-works/pi-ai/providers/compat-schema";
2
3
  import { type Static, Type } from "typebox";
3
- /** Exported for the bundled /provider editor, which validates compat values against models.json's own schema. */
4
- export declare const OpenAICompletionsCompatSchema: Type.TObject<{
5
- supportsStore: Type.TOptional<Type.TBoolean>;
6
- supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
7
- supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
8
- supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
9
- supportsFinishReason: Type.TOptional<Type.TBoolean>;
10
- maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
11
- requiresToolResultName: Type.TOptional<Type.TBoolean>;
12
- requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
13
- requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
14
- requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
15
- thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
16
- chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
17
- $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
18
- omitWhenOff: Type.TOptional<Type.TBoolean>;
19
- }>]>>>;
20
- chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
21
- $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
22
- omitWhenOff: Type.TOptional<Type.TBoolean>;
23
- }>]>>>;
24
- cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
25
- openRouterRouting: Type.TOptional<Type.TObject<{
26
- allow_fallbacks: Type.TOptional<Type.TBoolean>;
27
- require_parameters: Type.TOptional<Type.TBoolean>;
28
- data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
29
- zdr: Type.TOptional<Type.TBoolean>;
30
- enforce_distillable_text: Type.TOptional<Type.TBoolean>;
31
- order: Type.TOptional<Type.TArray<Type.TString>>;
32
- only: Type.TOptional<Type.TArray<Type.TString>>;
33
- ignore: Type.TOptional<Type.TArray<Type.TString>>;
34
- quantizations: Type.TOptional<Type.TArray<Type.TString>>;
35
- sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
36
- by: Type.TOptional<Type.TString>;
37
- partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
38
- }>]>>;
39
- max_price: Type.TOptional<Type.TObject<{
40
- prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
41
- completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
42
- image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
43
- audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
44
- request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
45
- }>>;
46
- preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
47
- p50: Type.TOptional<Type.TNumber>;
48
- p75: Type.TOptional<Type.TNumber>;
49
- p90: Type.TOptional<Type.TNumber>;
50
- p99: Type.TOptional<Type.TNumber>;
51
- }>]>>;
52
- preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
53
- p50: Type.TOptional<Type.TNumber>;
54
- p75: Type.TOptional<Type.TNumber>;
55
- p90: Type.TOptional<Type.TNumber>;
56
- p99: Type.TOptional<Type.TNumber>;
57
- }>]>>;
58
- }>>;
59
- vercelGatewayRouting: Type.TOptional<Type.TObject<{
60
- only: Type.TOptional<Type.TArray<Type.TString>>;
61
- order: Type.TOptional<Type.TArray<Type.TString>>;
62
- }>>;
63
- supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
64
- supportsStrictMode: Type.TOptional<Type.TBoolean>;
65
- sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
66
- sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
67
- supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
68
- vllmPriority: Type.TOptional<Type.TNumber>;
69
- zaiToolStream: Type.TOptional<Type.TBoolean>;
70
- supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
71
- thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
72
- }>;
4
+ /** Re-exported for the bundled /provider editor, which validates compat values against models.json's own schema. */
5
+ export { OpenAICompletionsCompatSchema };
73
6
  declare const ModelDefinitionSchema: Type.TObject<{
74
7
  id: Type.TString;
75
8
  name: Type.TOptional<Type.TString>;
@@ -77,15 +10,15 @@ declare const ModelDefinitionSchema: Type.TObject<{
77
10
  baseUrl: Type.TOptional<Type.TString>;
78
11
  reasoning: Type.TOptional<Type.TBoolean>;
79
12
  thinkingLevelMap: Type.TOptional<Type.TObject<{
80
- off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
81
- minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
13
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
82
14
  low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
15
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
83
16
  medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
84
- high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
17
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
18
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
85
19
  xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
86
- max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
87
20
  }>>;
88
- input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
21
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
89
22
  inputLimits: Type.TOptional<Type.TObject<{
90
23
  maxRequestBytes: Type.TOptional<Type.TInteger>;
91
24
  images: Type.TOptional<Type.TObject<{
@@ -100,6 +33,10 @@ declare const ModelDefinitionSchema: Type.TObject<{
100
33
  }>>;
101
34
  }>>;
102
35
  cost: Type.TOptional<Type.TObject<{
36
+ input: Type.TNumber;
37
+ output: Type.TNumber;
38
+ cacheRead: Type.TNumber;
39
+ cacheWrite: Type.TNumber;
103
40
  tiers: Type.TOptional<Type.TArray<Type.TObject<{
104
41
  input: Type.TNumber;
105
42
  output: Type.TNumber;
@@ -107,14 +44,10 @@ declare const ModelDefinitionSchema: Type.TObject<{
107
44
  cacheWrite: Type.TNumber;
108
45
  inputTokensAbove: Type.TNumber;
109
46
  }>>>;
110
- input: Type.TNumber;
111
- output: Type.TNumber;
112
- cacheRead: Type.TNumber;
113
- cacheWrite: Type.TNumber;
114
47
  }>>;
115
48
  promptCache: Type.TOptional<Type.TObject<{
116
- short: Type.TOptional<Type.TNumber>;
117
49
  long: Type.TOptional<Type.TNumber>;
50
+ short: Type.TOptional<Type.TNumber>;
118
51
  }>>;
119
52
  contextWindow: Type.TOptional<Type.TNumber>;
120
53
  maxTokens: Type.TOptional<Type.TNumber>;
@@ -129,7 +62,7 @@ declare const ModelDefinitionSchema: Type.TObject<{
129
62
  max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
130
63
  }>>;
131
64
  headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
132
- compat: Type.TOptional<Type.TUnion<[Type.TObject<{
65
+ compat: Type.TOptional<Type.TObject<Omit<{
133
66
  supportsStore: Type.TOptional<Type.TBoolean>;
134
67
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
135
68
  supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
@@ -140,16 +73,15 @@ declare const ModelDefinitionSchema: Type.TObject<{
140
73
  requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
141
74
  requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
142
75
  requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
143
- thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
144
- chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
76
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
77
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
145
78
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
146
79
  omitWhenOff: Type.TOptional<Type.TBoolean>;
147
80
  }>]>>>;
148
- chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
81
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
149
82
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
150
83
  omitWhenOff: Type.TOptional<Type.TBoolean>;
151
84
  }>]>>>;
152
- cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
153
85
  openRouterRouting: Type.TOptional<Type.TObject<{
154
86
  allow_fallbacks: Type.TOptional<Type.TBoolean>;
155
87
  require_parameters: Type.TOptional<Type.TBoolean>;
@@ -188,37 +120,51 @@ declare const ModelDefinitionSchema: Type.TObject<{
188
120
  only: Type.TOptional<Type.TArray<Type.TString>>;
189
121
  order: Type.TOptional<Type.TArray<Type.TString>>;
190
122
  }>>;
123
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
124
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
125
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
191
126
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
127
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
128
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
192
129
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
130
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
193
131
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
194
132
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
195
133
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
196
134
  vllmPriority: Type.TOptional<Type.TNumber>;
197
- zaiToolStream: Type.TOptional<Type.TBoolean>;
198
- supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
199
- thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
200
- }>, Type.TObject<{
135
+ } & {
201
136
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
137
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
202
138
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
203
139
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
204
140
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
205
141
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
206
- supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
142
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
143
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
207
144
  supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
208
- }>, Type.TObject<{
145
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
146
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
147
+ } & {
209
148
  supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
210
149
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
211
150
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
151
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
212
152
  supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
213
153
  supportsTemperature: Type.TOptional<Type.TBoolean>;
214
154
  forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
215
155
  allowEmptySignature: Type.TOptional<Type.TBoolean>;
216
156
  supportsStrictTools: Type.TOptional<Type.TBoolean>;
217
157
  supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
158
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
159
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
218
160
  allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
219
161
  provider: Type.TString;
220
162
  model: Type.TString;
221
163
  cost: Type.TObject<{
164
+ input: Type.TNumber;
165
+ output: Type.TNumber;
166
+ cacheRead: Type.TNumber;
167
+ cacheWrite: Type.TNumber;
222
168
  tiers: Type.TOptional<Type.TArray<Type.TObject<{
223
169
  input: Type.TNumber;
224
170
  output: Type.TNumber;
@@ -226,27 +172,36 @@ declare const ModelDefinitionSchema: Type.TObject<{
226
172
  cacheWrite: Type.TNumber;
227
173
  inputTokensAbove: Type.TNumber;
228
174
  }>>>;
229
- input: Type.TNumber;
230
- output: Type.TNumber;
231
- cacheRead: Type.TNumber;
232
- cacheWrite: Type.TNumber;
233
175
  }>;
234
176
  }>>>;
235
- }>]>>;
177
+ } & {
178
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
179
+ } & {
180
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
181
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
182
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
183
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
184
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
185
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
186
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
187
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
188
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
189
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
190
+ }>>;
236
191
  }>;
237
192
  declare const ModelOverrideSchema: Type.TObject<{
238
193
  name: Type.TOptional<Type.TString>;
239
194
  reasoning: Type.TOptional<Type.TBoolean>;
240
195
  thinkingLevelMap: Type.TOptional<Type.TObject<{
241
- off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
242
- minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
196
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
243
197
  low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
198
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
244
199
  medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
245
- high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
200
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
201
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
246
202
  xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
247
- max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
248
203
  }>>;
249
- input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
204
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
250
205
  inputLimits: Type.TOptional<Type.TObject<{
251
206
  maxRequestBytes: Type.TOptional<Type.TInteger>;
252
207
  images: Type.TOptional<Type.TObject<{
@@ -274,8 +229,8 @@ declare const ModelOverrideSchema: Type.TObject<{
274
229
  }>>>;
275
230
  }>>;
276
231
  promptCache: Type.TOptional<Type.TObject<{
277
- short: Type.TOptional<Type.TNumber>;
278
232
  long: Type.TOptional<Type.TNumber>;
233
+ short: Type.TOptional<Type.TNumber>;
279
234
  }>>;
280
235
  contextWindow: Type.TOptional<Type.TNumber>;
281
236
  maxTokens: Type.TOptional<Type.TNumber>;
@@ -290,7 +245,7 @@ declare const ModelOverrideSchema: Type.TObject<{
290
245
  max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
291
246
  }>>;
292
247
  headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
293
- compat: Type.TOptional<Type.TUnion<[Type.TObject<{
248
+ compat: Type.TOptional<Type.TObject<Omit<{
294
249
  supportsStore: Type.TOptional<Type.TBoolean>;
295
250
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
296
251
  supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
@@ -301,16 +256,15 @@ declare const ModelOverrideSchema: Type.TObject<{
301
256
  requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
302
257
  requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
303
258
  requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
304
- thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
305
- chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
259
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
260
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
306
261
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
307
262
  omitWhenOff: Type.TOptional<Type.TBoolean>;
308
263
  }>]>>>;
309
- chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
264
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
310
265
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
311
266
  omitWhenOff: Type.TOptional<Type.TBoolean>;
312
267
  }>]>>>;
313
- cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
314
268
  openRouterRouting: Type.TOptional<Type.TObject<{
315
269
  allow_fallbacks: Type.TOptional<Type.TBoolean>;
316
270
  require_parameters: Type.TOptional<Type.TBoolean>;
@@ -349,37 +303,51 @@ declare const ModelOverrideSchema: Type.TObject<{
349
303
  only: Type.TOptional<Type.TArray<Type.TString>>;
350
304
  order: Type.TOptional<Type.TArray<Type.TString>>;
351
305
  }>>;
306
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
307
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
308
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
352
309
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
310
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
311
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
353
312
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
313
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
354
314
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
355
315
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
356
316
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
357
317
  vllmPriority: Type.TOptional<Type.TNumber>;
358
- zaiToolStream: Type.TOptional<Type.TBoolean>;
359
- supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
360
- thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
361
- }>, Type.TObject<{
318
+ } & {
362
319
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
320
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
363
321
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
364
322
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
365
323
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
366
324
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
367
- supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
325
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
326
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
368
327
  supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
369
- }>, Type.TObject<{
328
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
329
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
330
+ } & {
370
331
  supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
371
332
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
372
333
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
334
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
373
335
  supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
374
336
  supportsTemperature: Type.TOptional<Type.TBoolean>;
375
337
  forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
376
338
  allowEmptySignature: Type.TOptional<Type.TBoolean>;
377
339
  supportsStrictTools: Type.TOptional<Type.TBoolean>;
378
340
  supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
341
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
342
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
379
343
  allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
380
344
  provider: Type.TString;
381
345
  model: Type.TString;
382
346
  cost: Type.TObject<{
347
+ input: Type.TNumber;
348
+ output: Type.TNumber;
349
+ cacheRead: Type.TNumber;
350
+ cacheWrite: Type.TNumber;
383
351
  tiers: Type.TOptional<Type.TArray<Type.TObject<{
384
352
  input: Type.TNumber;
385
353
  output: Type.TNumber;
@@ -387,13 +355,22 @@ declare const ModelOverrideSchema: Type.TObject<{
387
355
  cacheWrite: Type.TNumber;
388
356
  inputTokensAbove: Type.TNumber;
389
357
  }>>>;
390
- input: Type.TNumber;
391
- output: Type.TNumber;
392
- cacheRead: Type.TNumber;
393
- cacheWrite: Type.TNumber;
394
358
  }>;
395
359
  }>>>;
396
- }>]>>;
360
+ } & {
361
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
362
+ } & {
363
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
364
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
365
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
366
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
367
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
368
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
369
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
370
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
371
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
372
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
373
+ }>>;
397
374
  }>;
398
375
  declare const ProviderConfigSchema: Type.TObject<{
399
376
  name: Type.TOptional<Type.TString>;
@@ -402,7 +379,7 @@ declare const ProviderConfigSchema: Type.TObject<{
402
379
  api: Type.TOptional<Type.TString>;
403
380
  oauth: Type.TOptional<Type.TLiteral<"radius">>;
404
381
  headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
405
- compat: Type.TOptional<Type.TUnion<[Type.TObject<{
382
+ compat: Type.TOptional<Type.TObject<Omit<{
406
383
  supportsStore: Type.TOptional<Type.TBoolean>;
407
384
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
408
385
  supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
@@ -413,16 +390,15 @@ declare const ProviderConfigSchema: Type.TObject<{
413
390
  requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
414
391
  requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
415
392
  requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
416
- thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
417
- chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
393
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
394
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
418
395
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
419
396
  omitWhenOff: Type.TOptional<Type.TBoolean>;
420
397
  }>]>>>;
421
- chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
398
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
422
399
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
423
400
  omitWhenOff: Type.TOptional<Type.TBoolean>;
424
401
  }>]>>>;
425
- cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
426
402
  openRouterRouting: Type.TOptional<Type.TObject<{
427
403
  allow_fallbacks: Type.TOptional<Type.TBoolean>;
428
404
  require_parameters: Type.TOptional<Type.TBoolean>;
@@ -461,37 +437,51 @@ declare const ProviderConfigSchema: Type.TObject<{
461
437
  only: Type.TOptional<Type.TArray<Type.TString>>;
462
438
  order: Type.TOptional<Type.TArray<Type.TString>>;
463
439
  }>>;
440
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
441
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
442
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
464
443
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
444
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
445
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
465
446
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
447
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
466
448
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
467
449
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
468
450
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
469
451
  vllmPriority: Type.TOptional<Type.TNumber>;
470
- zaiToolStream: Type.TOptional<Type.TBoolean>;
471
- supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
472
- thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
473
- }>, Type.TObject<{
452
+ } & {
474
453
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
454
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
475
455
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
476
456
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
477
457
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
478
458
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
479
- supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
459
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
460
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
480
461
  supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
481
- }>, Type.TObject<{
462
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
463
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
464
+ } & {
482
465
  supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
483
466
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
484
467
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
468
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
485
469
  supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
486
470
  supportsTemperature: Type.TOptional<Type.TBoolean>;
487
471
  forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
488
472
  allowEmptySignature: Type.TOptional<Type.TBoolean>;
489
473
  supportsStrictTools: Type.TOptional<Type.TBoolean>;
490
474
  supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
475
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
476
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
491
477
  allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
492
478
  provider: Type.TString;
493
479
  model: Type.TString;
494
480
  cost: Type.TObject<{
481
+ input: Type.TNumber;
482
+ output: Type.TNumber;
483
+ cacheRead: Type.TNumber;
484
+ cacheWrite: Type.TNumber;
495
485
  tiers: Type.TOptional<Type.TArray<Type.TObject<{
496
486
  input: Type.TNumber;
497
487
  output: Type.TNumber;
@@ -499,13 +489,22 @@ declare const ProviderConfigSchema: Type.TObject<{
499
489
  cacheWrite: Type.TNumber;
500
490
  inputTokensAbove: Type.TNumber;
501
491
  }>>>;
502
- input: Type.TNumber;
503
- output: Type.TNumber;
504
- cacheRead: Type.TNumber;
505
- cacheWrite: Type.TNumber;
506
492
  }>;
507
493
  }>>>;
508
- }>]>>;
494
+ } & {
495
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
496
+ } & {
497
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
498
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
499
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
500
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
501
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
502
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
503
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
504
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
505
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
506
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
507
+ }>>;
509
508
  authHeader: Type.TOptional<Type.TBoolean>;
510
509
  models: Type.TOptional<Type.TArray<Type.TObject<{
511
510
  id: Type.TString;
@@ -514,15 +513,15 @@ declare const ProviderConfigSchema: Type.TObject<{
514
513
  baseUrl: Type.TOptional<Type.TString>;
515
514
  reasoning: Type.TOptional<Type.TBoolean>;
516
515
  thinkingLevelMap: Type.TOptional<Type.TObject<{
517
- off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
518
- minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
516
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
519
517
  low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
518
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
520
519
  medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
521
- high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
520
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
521
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
522
522
  xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
523
- max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
524
523
  }>>;
525
- input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
524
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
526
525
  inputLimits: Type.TOptional<Type.TObject<{
527
526
  maxRequestBytes: Type.TOptional<Type.TInteger>;
528
527
  images: Type.TOptional<Type.TObject<{
@@ -537,6 +536,10 @@ declare const ProviderConfigSchema: Type.TObject<{
537
536
  }>>;
538
537
  }>>;
539
538
  cost: Type.TOptional<Type.TObject<{
539
+ input: Type.TNumber;
540
+ output: Type.TNumber;
541
+ cacheRead: Type.TNumber;
542
+ cacheWrite: Type.TNumber;
540
543
  tiers: Type.TOptional<Type.TArray<Type.TObject<{
541
544
  input: Type.TNumber;
542
545
  output: Type.TNumber;
@@ -544,14 +547,10 @@ declare const ProviderConfigSchema: Type.TObject<{
544
547
  cacheWrite: Type.TNumber;
545
548
  inputTokensAbove: Type.TNumber;
546
549
  }>>>;
547
- input: Type.TNumber;
548
- output: Type.TNumber;
549
- cacheRead: Type.TNumber;
550
- cacheWrite: Type.TNumber;
551
550
  }>>;
552
551
  promptCache: Type.TOptional<Type.TObject<{
553
- short: Type.TOptional<Type.TNumber>;
554
552
  long: Type.TOptional<Type.TNumber>;
553
+ short: Type.TOptional<Type.TNumber>;
555
554
  }>>;
556
555
  contextWindow: Type.TOptional<Type.TNumber>;
557
556
  maxTokens: Type.TOptional<Type.TNumber>;
@@ -566,7 +565,7 @@ declare const ProviderConfigSchema: Type.TObject<{
566
565
  max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
567
566
  }>>;
568
567
  headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
569
- compat: Type.TOptional<Type.TUnion<[Type.TObject<{
568
+ compat: Type.TOptional<Type.TObject<Omit<{
570
569
  supportsStore: Type.TOptional<Type.TBoolean>;
571
570
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
572
571
  supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
@@ -577,16 +576,15 @@ declare const ProviderConfigSchema: Type.TObject<{
577
576
  requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
578
577
  requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
579
578
  requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
580
- thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
581
- chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
579
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
580
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
582
581
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
583
582
  omitWhenOff: Type.TOptional<Type.TBoolean>;
584
583
  }>]>>>;
585
- chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
584
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
586
585
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
587
586
  omitWhenOff: Type.TOptional<Type.TBoolean>;
588
587
  }>]>>>;
589
- cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
590
588
  openRouterRouting: Type.TOptional<Type.TObject<{
591
589
  allow_fallbacks: Type.TOptional<Type.TBoolean>;
592
590
  require_parameters: Type.TOptional<Type.TBoolean>;
@@ -625,37 +623,51 @@ declare const ProviderConfigSchema: Type.TObject<{
625
623
  only: Type.TOptional<Type.TArray<Type.TString>>;
626
624
  order: Type.TOptional<Type.TArray<Type.TString>>;
627
625
  }>>;
626
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
627
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
628
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
628
629
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
630
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
631
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
629
632
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
633
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
630
634
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
631
635
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
632
636
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
633
637
  vllmPriority: Type.TOptional<Type.TNumber>;
634
- zaiToolStream: Type.TOptional<Type.TBoolean>;
635
- supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
636
- thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
637
- }>, Type.TObject<{
638
+ } & {
638
639
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
640
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
639
641
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
640
642
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
641
643
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
642
644
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
643
- supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
645
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
646
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
644
647
  supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
645
- }>, Type.TObject<{
648
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
649
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
650
+ } & {
646
651
  supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
647
652
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
648
653
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
654
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
649
655
  supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
650
656
  supportsTemperature: Type.TOptional<Type.TBoolean>;
651
657
  forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
652
658
  allowEmptySignature: Type.TOptional<Type.TBoolean>;
653
659
  supportsStrictTools: Type.TOptional<Type.TBoolean>;
654
660
  supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
661
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
662
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
655
663
  allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
656
664
  provider: Type.TString;
657
665
  model: Type.TString;
658
666
  cost: Type.TObject<{
667
+ input: Type.TNumber;
668
+ output: Type.TNumber;
669
+ cacheRead: Type.TNumber;
670
+ cacheWrite: Type.TNumber;
659
671
  tiers: Type.TOptional<Type.TArray<Type.TObject<{
660
672
  input: Type.TNumber;
661
673
  output: Type.TNumber;
@@ -663,27 +675,36 @@ declare const ProviderConfigSchema: Type.TObject<{
663
675
  cacheWrite: Type.TNumber;
664
676
  inputTokensAbove: Type.TNumber;
665
677
  }>>>;
666
- input: Type.TNumber;
667
- output: Type.TNumber;
668
- cacheRead: Type.TNumber;
669
- cacheWrite: Type.TNumber;
670
678
  }>;
671
679
  }>>>;
672
- }>]>>;
680
+ } & {
681
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
682
+ } & {
683
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
684
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
685
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
686
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
687
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
688
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
689
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
690
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
691
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
692
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
693
+ }>>;
673
694
  }>>>;
674
695
  modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
675
696
  name: Type.TOptional<Type.TString>;
676
697
  reasoning: Type.TOptional<Type.TBoolean>;
677
698
  thinkingLevelMap: Type.TOptional<Type.TObject<{
678
- off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
679
- minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
699
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
680
700
  low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
701
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
681
702
  medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
682
- high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
703
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
704
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
683
705
  xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
684
- max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
685
706
  }>>;
686
- input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
707
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
687
708
  inputLimits: Type.TOptional<Type.TObject<{
688
709
  maxRequestBytes: Type.TOptional<Type.TInteger>;
689
710
  images: Type.TOptional<Type.TObject<{
@@ -711,8 +732,8 @@ declare const ProviderConfigSchema: Type.TObject<{
711
732
  }>>>;
712
733
  }>>;
713
734
  promptCache: Type.TOptional<Type.TObject<{
714
- short: Type.TOptional<Type.TNumber>;
715
735
  long: Type.TOptional<Type.TNumber>;
736
+ short: Type.TOptional<Type.TNumber>;
716
737
  }>>;
717
738
  contextWindow: Type.TOptional<Type.TNumber>;
718
739
  maxTokens: Type.TOptional<Type.TNumber>;
@@ -727,7 +748,7 @@ declare const ProviderConfigSchema: Type.TObject<{
727
748
  max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
728
749
  }>>;
729
750
  headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
730
- compat: Type.TOptional<Type.TUnion<[Type.TObject<{
751
+ compat: Type.TOptional<Type.TObject<Omit<{
731
752
  supportsStore: Type.TOptional<Type.TBoolean>;
732
753
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
733
754
  supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
@@ -738,16 +759,15 @@ declare const ProviderConfigSchema: Type.TObject<{
738
759
  requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
739
760
  requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
740
761
  requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
741
- thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
742
- chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
762
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
763
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
743
764
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
744
765
  omitWhenOff: Type.TOptional<Type.TBoolean>;
745
766
  }>]>>>;
746
- chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull]>, Type.TObject<{
767
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
747
768
  $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
748
769
  omitWhenOff: Type.TOptional<Type.TBoolean>;
749
770
  }>]>>>;
750
- cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
751
771
  openRouterRouting: Type.TOptional<Type.TObject<{
752
772
  allow_fallbacks: Type.TOptional<Type.TBoolean>;
753
773
  require_parameters: Type.TOptional<Type.TBoolean>;
@@ -786,37 +806,51 @@ declare const ProviderConfigSchema: Type.TObject<{
786
806
  only: Type.TOptional<Type.TArray<Type.TString>>;
787
807
  order: Type.TOptional<Type.TArray<Type.TString>>;
788
808
  }>>;
809
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
810
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
811
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
789
812
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
813
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
814
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
790
815
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
816
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
791
817
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
792
818
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
793
819
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
794
820
  vllmPriority: Type.TOptional<Type.TNumber>;
795
- zaiToolStream: Type.TOptional<Type.TBoolean>;
796
- supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
797
- thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
798
- }>, Type.TObject<{
821
+ } & {
799
822
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
823
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
800
824
  sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
801
825
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
802
826
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
803
827
  supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
804
- supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
828
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
829
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
805
830
  supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
806
- }>, Type.TObject<{
831
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
832
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
833
+ } & {
807
834
  supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
808
835
  supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
809
836
  sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
837
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
810
838
  supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
811
839
  supportsTemperature: Type.TOptional<Type.TBoolean>;
812
840
  forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
813
841
  allowEmptySignature: Type.TOptional<Type.TBoolean>;
814
842
  supportsStrictTools: Type.TOptional<Type.TBoolean>;
815
843
  supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
844
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
845
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
816
846
  allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
817
847
  provider: Type.TString;
818
848
  model: Type.TString;
819
849
  cost: Type.TObject<{
850
+ input: Type.TNumber;
851
+ output: Type.TNumber;
852
+ cacheRead: Type.TNumber;
853
+ cacheWrite: Type.TNumber;
820
854
  tiers: Type.TOptional<Type.TArray<Type.TObject<{
821
855
  input: Type.TNumber;
822
856
  output: Type.TNumber;
@@ -824,14 +858,530 @@ declare const ProviderConfigSchema: Type.TObject<{
824
858
  cacheWrite: Type.TNumber;
825
859
  inputTokensAbove: Type.TNumber;
826
860
  }>>>;
861
+ }>;
862
+ }>>>;
863
+ } & {
864
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
865
+ } & {
866
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
867
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
868
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
869
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
870
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
871
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
872
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
873
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
874
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
875
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
876
+ }>>;
877
+ }>>>;
878
+ }>;
879
+ export declare const ModelsConfigSchema: Type.TObject<{
880
+ providers: Type.TRecord<"^.*$", Type.TObject<{
881
+ name: Type.TOptional<Type.TString>;
882
+ baseUrl: Type.TOptional<Type.TString>;
883
+ apiKey: Type.TOptional<Type.TString>;
884
+ api: Type.TOptional<Type.TString>;
885
+ oauth: Type.TOptional<Type.TLiteral<"radius">>;
886
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
887
+ compat: Type.TOptional<Type.TObject<Omit<{
888
+ supportsStore: Type.TOptional<Type.TBoolean>;
889
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
890
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
891
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
892
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
893
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
894
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
895
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
896
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
897
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
898
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
899
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
900
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
901
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
902
+ }>]>>>;
903
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
904
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
905
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
906
+ }>]>>>;
907
+ openRouterRouting: Type.TOptional<Type.TObject<{
908
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
909
+ require_parameters: Type.TOptional<Type.TBoolean>;
910
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
911
+ zdr: Type.TOptional<Type.TBoolean>;
912
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
913
+ order: Type.TOptional<Type.TArray<Type.TString>>;
914
+ only: Type.TOptional<Type.TArray<Type.TString>>;
915
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
916
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
917
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
918
+ by: Type.TOptional<Type.TString>;
919
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
920
+ }>]>>;
921
+ max_price: Type.TOptional<Type.TObject<{
922
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
923
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
924
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
925
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
926
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
927
+ }>>;
928
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
929
+ p50: Type.TOptional<Type.TNumber>;
930
+ p75: Type.TOptional<Type.TNumber>;
931
+ p90: Type.TOptional<Type.TNumber>;
932
+ p99: Type.TOptional<Type.TNumber>;
933
+ }>]>>;
934
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
935
+ p50: Type.TOptional<Type.TNumber>;
936
+ p75: Type.TOptional<Type.TNumber>;
937
+ p90: Type.TOptional<Type.TNumber>;
938
+ p99: Type.TOptional<Type.TNumber>;
939
+ }>]>>;
940
+ }>>;
941
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
942
+ only: Type.TOptional<Type.TArray<Type.TString>>;
943
+ order: Type.TOptional<Type.TArray<Type.TString>>;
944
+ }>>;
945
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
946
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
947
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
948
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
949
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
950
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
951
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
952
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
953
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
954
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
955
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
956
+ vllmPriority: Type.TOptional<Type.TNumber>;
957
+ } & {
958
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
959
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
960
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
961
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
962
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
963
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
964
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
965
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
966
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
967
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
968
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
969
+ } & {
970
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
971
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
972
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
973
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
974
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
975
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
976
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
977
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
978
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
979
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
980
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
981
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
982
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
983
+ provider: Type.TString;
984
+ model: Type.TString;
985
+ cost: Type.TObject<{
827
986
  input: Type.TNumber;
828
987
  output: Type.TNumber;
829
988
  cacheRead: Type.TNumber;
830
989
  cacheWrite: Type.TNumber;
990
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
991
+ input: Type.TNumber;
992
+ output: Type.TNumber;
993
+ cacheRead: Type.TNumber;
994
+ cacheWrite: Type.TNumber;
995
+ inputTokensAbove: Type.TNumber;
996
+ }>>>;
831
997
  }>;
832
998
  }>>>;
833
- }>]>>;
834
- }>>>;
999
+ } & {
1000
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1001
+ } & {
1002
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1003
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1004
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1005
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1006
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1007
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1008
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1009
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1010
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1011
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1012
+ }>>;
1013
+ authHeader: Type.TOptional<Type.TBoolean>;
1014
+ models: Type.TOptional<Type.TArray<Type.TObject<{
1015
+ id: Type.TString;
1016
+ name: Type.TOptional<Type.TString>;
1017
+ api: Type.TOptional<Type.TString>;
1018
+ baseUrl: Type.TOptional<Type.TString>;
1019
+ reasoning: Type.TOptional<Type.TBoolean>;
1020
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
1021
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1022
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1023
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1024
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1025
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1026
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1027
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1028
+ }>>;
1029
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
1030
+ inputLimits: Type.TOptional<Type.TObject<{
1031
+ maxRequestBytes: Type.TOptional<Type.TInteger>;
1032
+ images: Type.TOptional<Type.TObject<{
1033
+ resize: Type.TOptional<Type.TObject<{
1034
+ maxWidth: Type.TOptional<Type.TInteger>;
1035
+ maxHeight: Type.TOptional<Type.TInteger>;
1036
+ maxBytes: Type.TOptional<Type.TInteger>;
1037
+ jpegQuality: Type.TOptional<Type.TInteger>;
1038
+ }>>;
1039
+ maxPerMessage: Type.TOptional<Type.TInteger>;
1040
+ maxPerRequest: Type.TOptional<Type.TInteger>;
1041
+ }>>;
1042
+ }>>;
1043
+ cost: Type.TOptional<Type.TObject<{
1044
+ input: Type.TNumber;
1045
+ output: Type.TNumber;
1046
+ cacheRead: Type.TNumber;
1047
+ cacheWrite: Type.TNumber;
1048
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1049
+ input: Type.TNumber;
1050
+ output: Type.TNumber;
1051
+ cacheRead: Type.TNumber;
1052
+ cacheWrite: Type.TNumber;
1053
+ inputTokensAbove: Type.TNumber;
1054
+ }>>>;
1055
+ }>>;
1056
+ promptCache: Type.TOptional<Type.TObject<{
1057
+ long: Type.TOptional<Type.TNumber>;
1058
+ short: Type.TOptional<Type.TNumber>;
1059
+ }>>;
1060
+ contextWindow: Type.TOptional<Type.TNumber>;
1061
+ maxTokens: Type.TOptional<Type.TNumber>;
1062
+ samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1063
+ samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
1064
+ off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1065
+ minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1066
+ low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1067
+ medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1068
+ high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1069
+ xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1070
+ max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1071
+ }>>;
1072
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
1073
+ compat: Type.TOptional<Type.TObject<Omit<{
1074
+ supportsStore: Type.TOptional<Type.TBoolean>;
1075
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1076
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
1077
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
1078
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
1079
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
1080
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
1081
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
1082
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
1083
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
1084
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
1085
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1086
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1087
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1088
+ }>]>>>;
1089
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1090
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1091
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1092
+ }>]>>>;
1093
+ openRouterRouting: Type.TOptional<Type.TObject<{
1094
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
1095
+ require_parameters: Type.TOptional<Type.TBoolean>;
1096
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
1097
+ zdr: Type.TOptional<Type.TBoolean>;
1098
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
1099
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1100
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1101
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
1102
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
1103
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
1104
+ by: Type.TOptional<Type.TString>;
1105
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1106
+ }>]>>;
1107
+ max_price: Type.TOptional<Type.TObject<{
1108
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1109
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1110
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1111
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1112
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1113
+ }>>;
1114
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1115
+ p50: Type.TOptional<Type.TNumber>;
1116
+ p75: Type.TOptional<Type.TNumber>;
1117
+ p90: Type.TOptional<Type.TNumber>;
1118
+ p99: Type.TOptional<Type.TNumber>;
1119
+ }>]>>;
1120
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1121
+ p50: Type.TOptional<Type.TNumber>;
1122
+ p75: Type.TOptional<Type.TNumber>;
1123
+ p90: Type.TOptional<Type.TNumber>;
1124
+ p99: Type.TOptional<Type.TNumber>;
1125
+ }>]>>;
1126
+ }>>;
1127
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
1128
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1129
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1130
+ }>>;
1131
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
1132
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
1133
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
1134
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1135
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1136
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
1137
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1138
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
1139
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1140
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1141
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1142
+ vllmPriority: Type.TOptional<Type.TNumber>;
1143
+ } & {
1144
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1145
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1146
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1147
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1148
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1149
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1150
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
1151
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
1152
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
1153
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1154
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
1155
+ } & {
1156
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
1157
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1158
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1159
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
1160
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
1161
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
1162
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
1163
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
1164
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
1165
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1166
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1167
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
1168
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
1169
+ provider: Type.TString;
1170
+ model: Type.TString;
1171
+ cost: Type.TObject<{
1172
+ input: Type.TNumber;
1173
+ output: Type.TNumber;
1174
+ cacheRead: Type.TNumber;
1175
+ cacheWrite: Type.TNumber;
1176
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1177
+ input: Type.TNumber;
1178
+ output: Type.TNumber;
1179
+ cacheRead: Type.TNumber;
1180
+ cacheWrite: Type.TNumber;
1181
+ inputTokensAbove: Type.TNumber;
1182
+ }>>>;
1183
+ }>;
1184
+ }>>>;
1185
+ } & {
1186
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1187
+ } & {
1188
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1189
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1190
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1191
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1192
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1193
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1194
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1195
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1196
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1197
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1198
+ }>>;
1199
+ }>>>;
1200
+ modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
1201
+ name: Type.TOptional<Type.TString>;
1202
+ reasoning: Type.TOptional<Type.TBoolean>;
1203
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
1204
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1205
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1206
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1207
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1208
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1209
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1210
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1211
+ }>>;
1212
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
1213
+ inputLimits: Type.TOptional<Type.TObject<{
1214
+ maxRequestBytes: Type.TOptional<Type.TInteger>;
1215
+ images: Type.TOptional<Type.TObject<{
1216
+ resize: Type.TOptional<Type.TObject<{
1217
+ maxWidth: Type.TOptional<Type.TInteger>;
1218
+ maxHeight: Type.TOptional<Type.TInteger>;
1219
+ maxBytes: Type.TOptional<Type.TInteger>;
1220
+ jpegQuality: Type.TOptional<Type.TInteger>;
1221
+ }>>;
1222
+ maxPerMessage: Type.TOptional<Type.TInteger>;
1223
+ maxPerRequest: Type.TOptional<Type.TInteger>;
1224
+ }>>;
1225
+ }>>;
1226
+ cost: Type.TOptional<Type.TObject<{
1227
+ input: Type.TOptional<Type.TNumber>;
1228
+ output: Type.TOptional<Type.TNumber>;
1229
+ cacheRead: Type.TOptional<Type.TNumber>;
1230
+ cacheWrite: Type.TOptional<Type.TNumber>;
1231
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1232
+ input: Type.TNumber;
1233
+ output: Type.TNumber;
1234
+ cacheRead: Type.TNumber;
1235
+ cacheWrite: Type.TNumber;
1236
+ inputTokensAbove: Type.TNumber;
1237
+ }>>>;
1238
+ }>>;
1239
+ promptCache: Type.TOptional<Type.TObject<{
1240
+ long: Type.TOptional<Type.TNumber>;
1241
+ short: Type.TOptional<Type.TNumber>;
1242
+ }>>;
1243
+ contextWindow: Type.TOptional<Type.TNumber>;
1244
+ maxTokens: Type.TOptional<Type.TNumber>;
1245
+ samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1246
+ samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
1247
+ off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1248
+ minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1249
+ low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1250
+ medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1251
+ high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1252
+ xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1253
+ max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1254
+ }>>;
1255
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
1256
+ compat: Type.TOptional<Type.TObject<Omit<{
1257
+ supportsStore: Type.TOptional<Type.TBoolean>;
1258
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1259
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
1260
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
1261
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
1262
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
1263
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
1264
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
1265
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
1266
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
1267
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
1268
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1269
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1270
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1271
+ }>]>>>;
1272
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1273
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1274
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1275
+ }>]>>>;
1276
+ openRouterRouting: Type.TOptional<Type.TObject<{
1277
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
1278
+ require_parameters: Type.TOptional<Type.TBoolean>;
1279
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
1280
+ zdr: Type.TOptional<Type.TBoolean>;
1281
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
1282
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1283
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1284
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
1285
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
1286
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
1287
+ by: Type.TOptional<Type.TString>;
1288
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1289
+ }>]>>;
1290
+ max_price: Type.TOptional<Type.TObject<{
1291
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1292
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1293
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1294
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1295
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1296
+ }>>;
1297
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1298
+ p50: Type.TOptional<Type.TNumber>;
1299
+ p75: Type.TOptional<Type.TNumber>;
1300
+ p90: Type.TOptional<Type.TNumber>;
1301
+ p99: Type.TOptional<Type.TNumber>;
1302
+ }>]>>;
1303
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1304
+ p50: Type.TOptional<Type.TNumber>;
1305
+ p75: Type.TOptional<Type.TNumber>;
1306
+ p90: Type.TOptional<Type.TNumber>;
1307
+ p99: Type.TOptional<Type.TNumber>;
1308
+ }>]>>;
1309
+ }>>;
1310
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
1311
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1312
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1313
+ }>>;
1314
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
1315
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
1316
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
1317
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1318
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1319
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
1320
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1321
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
1322
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1323
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1324
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1325
+ vllmPriority: Type.TOptional<Type.TNumber>;
1326
+ } & {
1327
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1328
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1329
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1330
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1331
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1332
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1333
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
1334
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
1335
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
1336
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1337
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
1338
+ } & {
1339
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
1340
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1341
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1342
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
1343
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
1344
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
1345
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
1346
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
1347
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
1348
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1349
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1350
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
1351
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
1352
+ provider: Type.TString;
1353
+ model: Type.TString;
1354
+ cost: Type.TObject<{
1355
+ input: Type.TNumber;
1356
+ output: Type.TNumber;
1357
+ cacheRead: Type.TNumber;
1358
+ cacheWrite: Type.TNumber;
1359
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1360
+ input: Type.TNumber;
1361
+ output: Type.TNumber;
1362
+ cacheRead: Type.TNumber;
1363
+ cacheWrite: Type.TNumber;
1364
+ inputTokensAbove: Type.TNumber;
1365
+ }>>>;
1366
+ }>;
1367
+ }>>>;
1368
+ } & {
1369
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1370
+ } & {
1371
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1372
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1373
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1374
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1375
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1376
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1377
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1378
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1379
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1380
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1381
+ }>>;
1382
+ }>>>;
1383
+ }>>;
1384
+ $schema: Type.TOptional<Type.TString>;
835
1385
  }>;
836
1386
  export type ModelsJsonModel = Static<typeof ModelDefinitionSchema>;
837
1387
  export type ModelsJsonModelOverride = Static<typeof ModelOverrideSchema>;
@@ -846,5 +1396,4 @@ export declare class ModelConfig {
846
1396
  getProviderIds(): readonly string[];
847
1397
  getError(): string | undefined;
848
1398
  }
849
- export {};
850
1399
  //# sourceMappingURL=model-config.d.ts.map