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