@astralyn/pi 1.3.0 → 1.4.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 (206) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/bundle/chunks/anthropic-messages-HWL6AS7T.js +6 -0
  3. package/dist/bundle/chunks/azure-openai-responses-4YYPDYV5.js +2 -0
  4. package/dist/bundle/chunks/bedrock-converse-stream.js +8 -8
  5. package/dist/bundle/chunks/chunk-24FY4C5S.js +2 -0
  6. package/dist/bundle/chunks/chunk-6JS2SOFO.js +11 -0
  7. package/dist/bundle/chunks/chunk-ANCZPKX7.js +2 -0
  8. package/dist/bundle/chunks/{chunk-R2KES7LS.js → chunk-BMTEURL3.js} +102 -87
  9. package/dist/bundle/chunks/chunk-MMNIHCU7.js +2 -0
  10. package/dist/bundle/chunks/{chunk-KSCGI7JW.js → chunk-MZJC45TM.js} +2 -2
  11. package/dist/bundle/chunks/{chunk-J75WV3FL.js → chunk-OV2VMHBX.js} +1 -1
  12. package/dist/bundle/chunks/{chunk-YHRHHXFG.js → chunk-TJIPCBZF.js} +1 -1
  13. package/dist/bundle/chunks/chunk-TPVFPFJP.js +2 -0
  14. package/dist/bundle/chunks/chunk-ZAIGBRV5.js +16 -0
  15. package/dist/bundle/chunks/cloudflare-workers-ai-system-one-7BKATOEJ.js +2 -0
  16. package/dist/bundle/chunks/github-copilot.js +1 -1
  17. package/dist/bundle/chunks/google-generative-ai-HTUSU45F.js +2 -0
  18. package/dist/bundle/chunks/google-vertex-AVQV4P76.js +2 -0
  19. package/dist/bundle/chunks/{llama-cpp-classify-H3IZDR5O.js → llama-cpp-classify-27QYLJZY.js} +2 -2
  20. package/dist/bundle/chunks/{mistral-conversations-6E6SS3WF.js → mistral-conversations-V2JJTMJ5.js} +1 -1
  21. package/dist/bundle/chunks/openai-codex-responses-Q25MHDFX.js +10 -0
  22. package/dist/bundle/chunks/openai-completions-TXZXILJR.js +7 -0
  23. package/dist/bundle/chunks/{openai-decisions-TVCDIPZX.js → openai-decisions-3WYFPGSK.js} +1 -1
  24. package/dist/bundle/chunks/openai-responses-E4BNZIQK.js +4 -0
  25. package/dist/bundle/chunks/openrouter-images-CBP3OPOD.js +2 -0
  26. package/dist/bundle/chunks/pi-messages-LBJQ4NGP.js +8 -0
  27. package/dist/bundle/chunks/typesafe-system-one-BNICP2LS.js +2 -0
  28. package/dist/bundle/chunks/virtual-modules-3CTTTQQN.js +2 -0
  29. package/dist/bundle/cli.js +1 -1
  30. package/dist/bundle/index.js +1 -1
  31. package/dist/bundle/rpc-entry.js +1 -1
  32. package/dist/core/agent-session.d.ts +7 -1
  33. package/dist/core/agent-session.d.ts.map +1 -1
  34. package/dist/core/agent-session.js +61 -15
  35. package/dist/core/agent-session.js.map +1 -1
  36. package/dist/core/client-identity.d.ts +8 -0
  37. package/dist/core/client-identity.d.ts.map +1 -0
  38. package/dist/core/client-identity.js +15 -0
  39. package/dist/core/client-identity.js.map +1 -0
  40. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  41. package/dist/core/compaction/branch-summarization.js +1 -2
  42. package/dist/core/compaction/branch-summarization.js.map +1 -1
  43. package/dist/core/compaction/compaction.d.ts +2 -2
  44. package/dist/core/compaction/compaction.d.ts.map +1 -1
  45. package/dist/core/compaction/compaction.js +20 -15
  46. package/dist/core/compaction/compaction.js.map +1 -1
  47. package/dist/core/export-html/index.d.ts.map +1 -1
  48. package/dist/core/export-html/index.js +2 -0
  49. package/dist/core/export-html/index.js.map +1 -1
  50. package/dist/core/export-html/template.html +1 -0
  51. package/dist/core/export-html/template.js +2 -1
  52. package/dist/core/export-html/vendor/marked-cjk-friendly.min.js +6 -0
  53. package/dist/core/export-html/vendor/marked.min.js +30 -29
  54. package/dist/core/extensions/loader.d.ts.map +1 -1
  55. package/dist/core/extensions/loader.js +3 -0
  56. package/dist/core/extensions/loader.js.map +1 -1
  57. package/dist/core/extensions/runner.d.ts +0 -2
  58. package/dist/core/extensions/runner.d.ts.map +1 -1
  59. package/dist/core/extensions/runner.js +0 -18
  60. package/dist/core/extensions/runner.js.map +1 -1
  61. package/dist/core/extensions/types.d.ts +0 -6
  62. package/dist/core/extensions/types.d.ts.map +1 -1
  63. package/dist/core/extensions/types.js.map +1 -1
  64. package/dist/core/extensions/virtual-modules.d.ts.map +1 -1
  65. package/dist/core/extensions/virtual-modules.js +3 -0
  66. package/dist/core/extensions/virtual-modules.js.map +1 -1
  67. package/dist/core/model-config.d.ts +915 -0
  68. package/dist/core/model-config.d.ts.map +1 -1
  69. package/dist/core/model-config.js +48 -24
  70. package/dist/core/model-config.js.map +1 -1
  71. package/dist/core/model-resolver.js +7 -7
  72. package/dist/core/model-resolver.js.map +1 -1
  73. package/dist/core/model-runtime.d.ts.map +1 -1
  74. package/dist/core/model-runtime.js +6 -3
  75. package/dist/core/model-runtime.js.map +1 -1
  76. package/dist/core/provider-composer.d.ts +2 -1
  77. package/dist/core/provider-composer.d.ts.map +1 -1
  78. package/dist/core/provider-composer.js +7 -3
  79. package/dist/core/provider-composer.js.map +1 -1
  80. package/dist/core/sdk.d.ts.map +1 -1
  81. package/dist/core/sdk.js +9 -10
  82. package/dist/core/sdk.js.map +1 -1
  83. package/dist/core/settings-manager.d.ts +0 -4
  84. package/dist/core/settings-manager.d.ts.map +1 -1
  85. package/dist/core/settings-manager.js +0 -36
  86. package/dist/core/settings-manager.js.map +1 -1
  87. package/dist/core/settings-schema.d.ts +0 -1
  88. package/dist/core/settings-schema.d.ts.map +1 -1
  89. package/dist/core/settings-schema.js +0 -3
  90. package/dist/core/settings-schema.js.map +1 -1
  91. package/dist/core/tasks/presentation.d.ts.map +1 -1
  92. package/dist/core/tasks/presentation.js +3 -1
  93. package/dist/core/tasks/presentation.js.map +1 -1
  94. package/dist/core/tasks/reminder.d.ts +15 -0
  95. package/dist/core/tasks/reminder.d.ts.map +1 -0
  96. package/dist/core/tasks/reminder.js +54 -0
  97. package/dist/core/tasks/reminder.js.map +1 -0
  98. package/dist/core/tasks/runtime.d.ts +4 -1
  99. package/dist/core/tasks/runtime.d.ts.map +1 -1
  100. package/dist/core/tasks/runtime.js +37 -11
  101. package/dist/core/tasks/runtime.js.map +1 -1
  102. package/dist/core/tasks/session.d.ts +9 -0
  103. package/dist/core/tasks/session.d.ts.map +1 -1
  104. package/dist/core/tasks/session.js +24 -0
  105. package/dist/core/tasks/session.js.map +1 -1
  106. package/dist/core/tasks/types.d.ts +6 -1
  107. package/dist/core/tasks/types.d.ts.map +1 -1
  108. package/dist/core/tasks/types.js.map +1 -1
  109. package/dist/core/tools/grep.d.ts +0 -2
  110. package/dist/core/tools/grep.d.ts.map +1 -1
  111. package/dist/core/tools/grep.js +3 -3
  112. package/dist/core/tools/grep.js.map +1 -1
  113. package/dist/core/tools/shell-tool.js +2 -2
  114. package/dist/core/tools/shell-tool.js.map +1 -1
  115. package/dist/core/tools/tasks/actions.d.ts +1 -1
  116. package/dist/core/tools/tasks/actions.d.ts.map +1 -1
  117. package/dist/core/tools/tasks/actions.js +98 -5
  118. package/dist/core/tools/tasks/actions.js.map +1 -1
  119. package/dist/core/tools/tasks/schema.d.ts +1 -1
  120. package/dist/core/tools/tasks/schema.d.ts.map +1 -1
  121. package/dist/core/tools/tasks/schema.js +9 -6
  122. package/dist/core/tools/tasks/schema.js.map +1 -1
  123. package/dist/core/tools/tasks/types.d.ts +9 -3
  124. package/dist/core/tools/tasks/types.d.ts.map +1 -1
  125. package/dist/core/tools/tasks/types.js.map +1 -1
  126. package/dist/core/tools/tasks.d.ts +1 -1
  127. package/dist/core/tools/tasks.d.ts.map +1 -1
  128. package/dist/core/tools/tasks.js +2 -2
  129. package/dist/core/tools/tasks.js.map +1 -1
  130. package/dist/extensions/codemode/execute.d.ts.map +1 -1
  131. package/dist/extensions/codemode/execute.js +99 -24
  132. package/dist/extensions/codemode/execute.js.map +1 -1
  133. package/dist/extensions/mcp/config.d.ts.map +1 -1
  134. package/dist/extensions/mcp/config.js +3 -2
  135. package/dist/extensions/mcp/config.js.map +1 -1
  136. package/dist/modes/interactive/interactive-mode.d.ts +11 -15
  137. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  138. package/dist/modes/interactive/interactive-mode.js +68 -109
  139. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  140. package/dist/modes/interactive/tasks/render.d.ts.map +1 -1
  141. package/dist/modes/interactive/tasks/render.js +17 -9
  142. package/dist/modes/interactive/tasks/render.js.map +1 -1
  143. package/dist/package-manager-cli.d.ts.map +1 -1
  144. package/dist/package-manager-cli.js +2 -1
  145. package/dist/package-manager-cli.js.map +1 -1
  146. package/dist/utils/clipboard-command.d.ts.map +1 -1
  147. package/dist/utils/clipboard-command.js +3 -0
  148. package/dist/utils/clipboard-command.js.map +1 -1
  149. package/dist/utils/pi-user-agent.d.ts +1 -0
  150. package/dist/utils/pi-user-agent.d.ts.map +1 -1
  151. package/dist/utils/pi-user-agent.js +3 -2
  152. package/dist/utils/pi-user-agent.js.map +1 -1
  153. package/dist/utils/shell.d.ts.map +1 -1
  154. package/dist/utils/shell.js +45 -13
  155. package/dist/utils/shell.js.map +1 -1
  156. package/dist/utils/tools-manager.d.ts.map +1 -1
  157. package/dist/utils/tools-manager.js +4 -3
  158. package/dist/utils/tools-manager.js.map +1 -1
  159. package/docs/bundled/tasks.md +17 -7
  160. package/docs/codemode.md +2 -2
  161. package/docs/compaction.md +4 -2
  162. package/docs/custom-provider.md +53 -1
  163. package/docs/docs.json +4 -0
  164. package/docs/environment-variables.md +1 -0
  165. package/docs/extensions.md +98 -3
  166. package/docs/models-configuration.md +196 -0
  167. package/docs/models.md +9 -5
  168. package/docs/sdk.md +2 -2
  169. package/docs/session-format.md +2 -2
  170. package/docs/settings.md +2 -2
  171. package/docs/tui.md +71 -0
  172. package/docs/windows.md +28 -0
  173. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  174. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  175. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  176. package/examples/extensions/gondolin/package-lock.json +2 -2
  177. package/examples/extensions/gondolin/package.json +1 -1
  178. package/examples/extensions/sandbox/package-lock.json +2 -2
  179. package/examples/extensions/sandbox/package.json +1 -1
  180. package/examples/extensions/with-deps/package-lock.json +2 -2
  181. package/examples/extensions/with-deps/package.json +1 -1
  182. package/npm-shrinkwrap.json +150 -137
  183. package/package.json +7 -6
  184. package/schemas/models.schema.json +83 -29
  185. package/schemas/settings.schema.json +0 -12
  186. package/dist/bundle/chunks/anthropic-messages-MSB6JBS2.js +0 -6
  187. package/dist/bundle/chunks/azure-openai-responses-ATZ757I2.js +0 -2
  188. package/dist/bundle/chunks/chunk-4XZYHGVN.js +0 -11
  189. package/dist/bundle/chunks/chunk-7UBIBLPN.js +0 -2
  190. package/dist/bundle/chunks/chunk-LUYFHZ6W.js +0 -11
  191. package/dist/bundle/chunks/chunk-NM2KGRFS.js +0 -2
  192. package/dist/bundle/chunks/chunk-QDDSFJ35.js +0 -2
  193. package/dist/bundle/chunks/cloudflare-workers-ai-system-one-HGOVFZDC.js +0 -2
  194. package/dist/bundle/chunks/google-generative-ai-QRLQ4MCJ.js +0 -2
  195. package/dist/bundle/chunks/google-vertex-L3T6EGTL.js +0 -2
  196. package/dist/bundle/chunks/openai-codex-responses-4GUO76XJ.js +0 -10
  197. package/dist/bundle/chunks/openai-completions-O4TKZCIM.js +0 -7
  198. package/dist/bundle/chunks/openai-responses-VBQKJFNO.js +0 -3
  199. package/dist/bundle/chunks/openrouter-images-TDLJV5N4.js +0 -2
  200. package/dist/bundle/chunks/pi-messages-3POWZ43C.js +0 -8
  201. package/dist/bundle/chunks/typesafe-system-one-LWPJYTJP.js +0 -2
  202. package/dist/bundle/chunks/virtual-modules-TG53AOL4.js +0 -2
  203. package/dist/core/provider-attribution.d.ts +0 -4
  204. package/dist/core/provider-attribution.d.ts.map +0 -1
  205. package/dist/core/provider-attribution.js +0 -72
  206. package/dist/core/provider-attribution.js.map +0 -1
@@ -178,6 +178,9 @@ declare const ModelDefinitionSchema: Type.TObject<{
178
178
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
179
179
  } & {
180
180
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
181
+ } & {
182
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
183
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
181
184
  }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
182
185
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
183
186
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
@@ -361,6 +364,9 @@ declare const ModelOverrideSchema: Type.TObject<{
361
364
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
362
365
  } & {
363
366
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
367
+ } & {
368
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
369
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
364
370
  }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
365
371
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
366
372
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
@@ -495,6 +501,9 @@ declare const ProviderConfigSchema: Type.TObject<{
495
501
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
496
502
  } & {
497
503
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
504
+ } & {
505
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
506
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
498
507
  }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
499
508
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
500
509
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
@@ -681,6 +690,9 @@ declare const ProviderConfigSchema: Type.TObject<{
681
690
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
682
691
  } & {
683
692
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
693
+ } & {
694
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
695
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
684
696
  }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
685
697
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
686
698
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
@@ -864,6 +876,9 @@ declare const ProviderConfigSchema: Type.TObject<{
864
876
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
865
877
  } & {
866
878
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
879
+ } & {
880
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
881
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
867
882
  }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
868
883
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
869
884
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
@@ -1000,6 +1015,9 @@ export declare const ModelsConfigSchema: Type.TObject<{
1000
1015
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
1001
1016
  } & {
1002
1017
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1018
+ } & {
1019
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
1020
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
1003
1021
  }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1004
1022
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1005
1023
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
@@ -1186,6 +1204,9 @@ export declare const ModelsConfigSchema: Type.TObject<{
1186
1204
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
1187
1205
  } & {
1188
1206
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1207
+ } & {
1208
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
1209
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
1189
1210
  }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1190
1211
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1191
1212
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
@@ -1369,6 +1390,9 @@ export declare const ModelsConfigSchema: Type.TObject<{
1369
1390
  supportsStrictMode: Type.TOptional<Type.TBoolean>;
1370
1391
  } & {
1371
1392
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1393
+ } & {
1394
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
1395
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
1372
1396
  }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1373
1397
  supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1374
1398
  supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
@@ -1383,6 +1407,897 @@ export declare const ModelsConfigSchema: Type.TObject<{
1383
1407
  }>>;
1384
1408
  $schema: Type.TOptional<Type.TString>;
1385
1409
  }>;
1410
+ /** Entry schemas rendered into docs/models-configuration.md. */
1411
+ export declare const ModelsJsonSchemas: {
1412
+ provider: Type.TObject<{
1413
+ name: Type.TOptional<Type.TString>;
1414
+ baseUrl: Type.TOptional<Type.TString>;
1415
+ apiKey: Type.TOptional<Type.TString>;
1416
+ api: Type.TOptional<Type.TString>;
1417
+ oauth: Type.TOptional<Type.TLiteral<"radius">>;
1418
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
1419
+ compat: Type.TOptional<Type.TObject<Omit<{
1420
+ supportsStore: Type.TOptional<Type.TBoolean>;
1421
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1422
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
1423
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
1424
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
1425
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
1426
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
1427
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
1428
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
1429
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
1430
+ 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">]>>;
1431
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1432
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1433
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1434
+ }>]>>>;
1435
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1436
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1437
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1438
+ }>]>>>;
1439
+ openRouterRouting: Type.TOptional<Type.TObject<{
1440
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
1441
+ require_parameters: Type.TOptional<Type.TBoolean>;
1442
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
1443
+ zdr: Type.TOptional<Type.TBoolean>;
1444
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
1445
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1446
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1447
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
1448
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
1449
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
1450
+ by: Type.TOptional<Type.TString>;
1451
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1452
+ }>]>>;
1453
+ max_price: Type.TOptional<Type.TObject<{
1454
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1455
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1456
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1457
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1458
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1459
+ }>>;
1460
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1461
+ p50: Type.TOptional<Type.TNumber>;
1462
+ p75: Type.TOptional<Type.TNumber>;
1463
+ p90: Type.TOptional<Type.TNumber>;
1464
+ p99: Type.TOptional<Type.TNumber>;
1465
+ }>]>>;
1466
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1467
+ p50: Type.TOptional<Type.TNumber>;
1468
+ p75: Type.TOptional<Type.TNumber>;
1469
+ p90: Type.TOptional<Type.TNumber>;
1470
+ p99: Type.TOptional<Type.TNumber>;
1471
+ }>]>>;
1472
+ }>>;
1473
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
1474
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1475
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1476
+ }>>;
1477
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
1478
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
1479
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
1480
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1481
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1482
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
1483
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1484
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
1485
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1486
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1487
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1488
+ vllmPriority: Type.TOptional<Type.TNumber>;
1489
+ } & {
1490
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1491
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1492
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1493
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1494
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1495
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1496
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
1497
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
1498
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
1499
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1500
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
1501
+ } & {
1502
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
1503
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1504
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1505
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
1506
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
1507
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
1508
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
1509
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
1510
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
1511
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1512
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1513
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
1514
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
1515
+ provider: Type.TString;
1516
+ model: Type.TString;
1517
+ cost: Type.TObject<{
1518
+ input: Type.TNumber;
1519
+ output: Type.TNumber;
1520
+ cacheRead: Type.TNumber;
1521
+ cacheWrite: Type.TNumber;
1522
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1523
+ input: Type.TNumber;
1524
+ output: Type.TNumber;
1525
+ cacheRead: Type.TNumber;
1526
+ cacheWrite: Type.TNumber;
1527
+ inputTokensAbove: Type.TNumber;
1528
+ }>>>;
1529
+ }>;
1530
+ }>>>;
1531
+ } & {
1532
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1533
+ } & {
1534
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1535
+ } & {
1536
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
1537
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
1538
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1539
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1540
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1541
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1542
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1543
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1544
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1545
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1546
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1547
+ }>>;
1548
+ authHeader: Type.TOptional<Type.TBoolean>;
1549
+ models: Type.TOptional<Type.TArray<Type.TObject<{
1550
+ id: Type.TString;
1551
+ name: Type.TOptional<Type.TString>;
1552
+ api: Type.TOptional<Type.TString>;
1553
+ baseUrl: Type.TOptional<Type.TString>;
1554
+ reasoning: Type.TOptional<Type.TBoolean>;
1555
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
1556
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1557
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1558
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1559
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1560
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1561
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1562
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1563
+ }>>;
1564
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
1565
+ inputLimits: Type.TOptional<Type.TObject<{
1566
+ maxRequestBytes: Type.TOptional<Type.TInteger>;
1567
+ images: Type.TOptional<Type.TObject<{
1568
+ resize: Type.TOptional<Type.TObject<{
1569
+ maxWidth: Type.TOptional<Type.TInteger>;
1570
+ maxHeight: Type.TOptional<Type.TInteger>;
1571
+ maxBytes: Type.TOptional<Type.TInteger>;
1572
+ jpegQuality: Type.TOptional<Type.TInteger>;
1573
+ }>>;
1574
+ maxPerMessage: Type.TOptional<Type.TInteger>;
1575
+ maxPerRequest: Type.TOptional<Type.TInteger>;
1576
+ }>>;
1577
+ }>>;
1578
+ cost: Type.TOptional<Type.TObject<{
1579
+ input: Type.TNumber;
1580
+ output: Type.TNumber;
1581
+ cacheRead: Type.TNumber;
1582
+ cacheWrite: Type.TNumber;
1583
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1584
+ input: Type.TNumber;
1585
+ output: Type.TNumber;
1586
+ cacheRead: Type.TNumber;
1587
+ cacheWrite: Type.TNumber;
1588
+ inputTokensAbove: Type.TNumber;
1589
+ }>>>;
1590
+ }>>;
1591
+ promptCache: Type.TOptional<Type.TObject<{
1592
+ long: Type.TOptional<Type.TNumber>;
1593
+ short: Type.TOptional<Type.TNumber>;
1594
+ }>>;
1595
+ contextWindow: Type.TOptional<Type.TNumber>;
1596
+ maxTokens: Type.TOptional<Type.TNumber>;
1597
+ samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1598
+ samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
1599
+ off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1600
+ minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1601
+ low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1602
+ medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1603
+ high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1604
+ xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1605
+ max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1606
+ }>>;
1607
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
1608
+ compat: Type.TOptional<Type.TObject<Omit<{
1609
+ supportsStore: Type.TOptional<Type.TBoolean>;
1610
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1611
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
1612
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
1613
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
1614
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
1615
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
1616
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
1617
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
1618
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
1619
+ 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">]>>;
1620
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1621
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1622
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1623
+ }>]>>>;
1624
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1625
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1626
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1627
+ }>]>>>;
1628
+ openRouterRouting: Type.TOptional<Type.TObject<{
1629
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
1630
+ require_parameters: Type.TOptional<Type.TBoolean>;
1631
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
1632
+ zdr: Type.TOptional<Type.TBoolean>;
1633
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
1634
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1635
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1636
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
1637
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
1638
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
1639
+ by: Type.TOptional<Type.TString>;
1640
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1641
+ }>]>>;
1642
+ max_price: Type.TOptional<Type.TObject<{
1643
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1644
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1645
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1646
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1647
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1648
+ }>>;
1649
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1650
+ p50: Type.TOptional<Type.TNumber>;
1651
+ p75: Type.TOptional<Type.TNumber>;
1652
+ p90: Type.TOptional<Type.TNumber>;
1653
+ p99: Type.TOptional<Type.TNumber>;
1654
+ }>]>>;
1655
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1656
+ p50: Type.TOptional<Type.TNumber>;
1657
+ p75: Type.TOptional<Type.TNumber>;
1658
+ p90: Type.TOptional<Type.TNumber>;
1659
+ p99: Type.TOptional<Type.TNumber>;
1660
+ }>]>>;
1661
+ }>>;
1662
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
1663
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1664
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1665
+ }>>;
1666
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
1667
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
1668
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
1669
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1670
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1671
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
1672
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1673
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
1674
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1675
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1676
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1677
+ vllmPriority: Type.TOptional<Type.TNumber>;
1678
+ } & {
1679
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1680
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1681
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1682
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1683
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1684
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1685
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
1686
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
1687
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
1688
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1689
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
1690
+ } & {
1691
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
1692
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1693
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1694
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
1695
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
1696
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
1697
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
1698
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
1699
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
1700
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1701
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1702
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
1703
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
1704
+ provider: Type.TString;
1705
+ model: Type.TString;
1706
+ cost: Type.TObject<{
1707
+ input: Type.TNumber;
1708
+ output: Type.TNumber;
1709
+ cacheRead: Type.TNumber;
1710
+ cacheWrite: Type.TNumber;
1711
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1712
+ input: Type.TNumber;
1713
+ output: Type.TNumber;
1714
+ cacheRead: Type.TNumber;
1715
+ cacheWrite: Type.TNumber;
1716
+ inputTokensAbove: Type.TNumber;
1717
+ }>>>;
1718
+ }>;
1719
+ }>>>;
1720
+ } & {
1721
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1722
+ } & {
1723
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1724
+ } & {
1725
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
1726
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
1727
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1728
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1729
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1730
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1731
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1732
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1733
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1734
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1735
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1736
+ }>>;
1737
+ }>>>;
1738
+ modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
1739
+ name: Type.TOptional<Type.TString>;
1740
+ reasoning: Type.TOptional<Type.TBoolean>;
1741
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
1742
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1743
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1744
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1745
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1746
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1747
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1748
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1749
+ }>>;
1750
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
1751
+ inputLimits: Type.TOptional<Type.TObject<{
1752
+ maxRequestBytes: Type.TOptional<Type.TInteger>;
1753
+ images: Type.TOptional<Type.TObject<{
1754
+ resize: Type.TOptional<Type.TObject<{
1755
+ maxWidth: Type.TOptional<Type.TInteger>;
1756
+ maxHeight: Type.TOptional<Type.TInteger>;
1757
+ maxBytes: Type.TOptional<Type.TInteger>;
1758
+ jpegQuality: Type.TOptional<Type.TInteger>;
1759
+ }>>;
1760
+ maxPerMessage: Type.TOptional<Type.TInteger>;
1761
+ maxPerRequest: Type.TOptional<Type.TInteger>;
1762
+ }>>;
1763
+ }>>;
1764
+ cost: Type.TOptional<Type.TObject<{
1765
+ input: Type.TOptional<Type.TNumber>;
1766
+ output: Type.TOptional<Type.TNumber>;
1767
+ cacheRead: Type.TOptional<Type.TNumber>;
1768
+ cacheWrite: Type.TOptional<Type.TNumber>;
1769
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1770
+ input: Type.TNumber;
1771
+ output: Type.TNumber;
1772
+ cacheRead: Type.TNumber;
1773
+ cacheWrite: Type.TNumber;
1774
+ inputTokensAbove: Type.TNumber;
1775
+ }>>>;
1776
+ }>>;
1777
+ promptCache: Type.TOptional<Type.TObject<{
1778
+ long: Type.TOptional<Type.TNumber>;
1779
+ short: Type.TOptional<Type.TNumber>;
1780
+ }>>;
1781
+ contextWindow: Type.TOptional<Type.TNumber>;
1782
+ maxTokens: Type.TOptional<Type.TNumber>;
1783
+ samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1784
+ samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
1785
+ off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1786
+ minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1787
+ low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1788
+ medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1789
+ high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1790
+ xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1791
+ max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1792
+ }>>;
1793
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
1794
+ compat: Type.TOptional<Type.TObject<Omit<{
1795
+ supportsStore: Type.TOptional<Type.TBoolean>;
1796
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1797
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
1798
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
1799
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
1800
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
1801
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
1802
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
1803
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
1804
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
1805
+ 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">]>>;
1806
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1807
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1808
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1809
+ }>]>>>;
1810
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1811
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1812
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1813
+ }>]>>>;
1814
+ openRouterRouting: Type.TOptional<Type.TObject<{
1815
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
1816
+ require_parameters: Type.TOptional<Type.TBoolean>;
1817
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
1818
+ zdr: Type.TOptional<Type.TBoolean>;
1819
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
1820
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1821
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1822
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
1823
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
1824
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
1825
+ by: Type.TOptional<Type.TString>;
1826
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1827
+ }>]>>;
1828
+ max_price: Type.TOptional<Type.TObject<{
1829
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1830
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1831
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1832
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1833
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
1834
+ }>>;
1835
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1836
+ p50: Type.TOptional<Type.TNumber>;
1837
+ p75: Type.TOptional<Type.TNumber>;
1838
+ p90: Type.TOptional<Type.TNumber>;
1839
+ p99: Type.TOptional<Type.TNumber>;
1840
+ }>]>>;
1841
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
1842
+ p50: Type.TOptional<Type.TNumber>;
1843
+ p75: Type.TOptional<Type.TNumber>;
1844
+ p90: Type.TOptional<Type.TNumber>;
1845
+ p99: Type.TOptional<Type.TNumber>;
1846
+ }>]>>;
1847
+ }>>;
1848
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
1849
+ only: Type.TOptional<Type.TArray<Type.TString>>;
1850
+ order: Type.TOptional<Type.TArray<Type.TString>>;
1851
+ }>>;
1852
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
1853
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
1854
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
1855
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1856
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1857
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
1858
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1859
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
1860
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1861
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1862
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1863
+ vllmPriority: Type.TOptional<Type.TNumber>;
1864
+ } & {
1865
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1866
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1867
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1868
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1869
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1870
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1871
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
1872
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
1873
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
1874
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1875
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
1876
+ } & {
1877
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
1878
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1879
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1880
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
1881
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
1882
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
1883
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
1884
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
1885
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
1886
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1887
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1888
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
1889
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
1890
+ provider: Type.TString;
1891
+ model: Type.TString;
1892
+ cost: Type.TObject<{
1893
+ input: Type.TNumber;
1894
+ output: Type.TNumber;
1895
+ cacheRead: Type.TNumber;
1896
+ cacheWrite: Type.TNumber;
1897
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1898
+ input: Type.TNumber;
1899
+ output: Type.TNumber;
1900
+ cacheRead: Type.TNumber;
1901
+ cacheWrite: Type.TNumber;
1902
+ inputTokensAbove: Type.TNumber;
1903
+ }>>>;
1904
+ }>;
1905
+ }>>>;
1906
+ } & {
1907
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1908
+ } & {
1909
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1910
+ } & {
1911
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
1912
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
1913
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
1914
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1915
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
1916
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
1917
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
1918
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
1919
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
1920
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
1921
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
1922
+ }>>;
1923
+ }>>>;
1924
+ }>;
1925
+ model: Type.TObject<{
1926
+ id: Type.TString;
1927
+ name: Type.TOptional<Type.TString>;
1928
+ api: Type.TOptional<Type.TString>;
1929
+ baseUrl: Type.TOptional<Type.TString>;
1930
+ reasoning: Type.TOptional<Type.TBoolean>;
1931
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
1932
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1933
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1934
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1935
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1936
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1937
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1938
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
1939
+ }>>;
1940
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
1941
+ inputLimits: Type.TOptional<Type.TObject<{
1942
+ maxRequestBytes: Type.TOptional<Type.TInteger>;
1943
+ images: Type.TOptional<Type.TObject<{
1944
+ resize: Type.TOptional<Type.TObject<{
1945
+ maxWidth: Type.TOptional<Type.TInteger>;
1946
+ maxHeight: Type.TOptional<Type.TInteger>;
1947
+ maxBytes: Type.TOptional<Type.TInteger>;
1948
+ jpegQuality: Type.TOptional<Type.TInteger>;
1949
+ }>>;
1950
+ maxPerMessage: Type.TOptional<Type.TInteger>;
1951
+ maxPerRequest: Type.TOptional<Type.TInteger>;
1952
+ }>>;
1953
+ }>>;
1954
+ cost: Type.TOptional<Type.TObject<{
1955
+ input: Type.TNumber;
1956
+ output: Type.TNumber;
1957
+ cacheRead: Type.TNumber;
1958
+ cacheWrite: Type.TNumber;
1959
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
1960
+ input: Type.TNumber;
1961
+ output: Type.TNumber;
1962
+ cacheRead: Type.TNumber;
1963
+ cacheWrite: Type.TNumber;
1964
+ inputTokensAbove: Type.TNumber;
1965
+ }>>>;
1966
+ }>>;
1967
+ promptCache: Type.TOptional<Type.TObject<{
1968
+ long: Type.TOptional<Type.TNumber>;
1969
+ short: Type.TOptional<Type.TNumber>;
1970
+ }>>;
1971
+ contextWindow: Type.TOptional<Type.TNumber>;
1972
+ maxTokens: Type.TOptional<Type.TNumber>;
1973
+ samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1974
+ samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
1975
+ off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1976
+ minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1977
+ low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1978
+ medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1979
+ high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1980
+ xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1981
+ max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
1982
+ }>>;
1983
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
1984
+ compat: Type.TOptional<Type.TObject<Omit<{
1985
+ supportsStore: Type.TOptional<Type.TBoolean>;
1986
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
1987
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
1988
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
1989
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
1990
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
1991
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
1992
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
1993
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
1994
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
1995
+ 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">]>>;
1996
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
1997
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
1998
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
1999
+ }>]>>>;
2000
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
2001
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
2002
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
2003
+ }>]>>>;
2004
+ openRouterRouting: Type.TOptional<Type.TObject<{
2005
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
2006
+ require_parameters: Type.TOptional<Type.TBoolean>;
2007
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
2008
+ zdr: Type.TOptional<Type.TBoolean>;
2009
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
2010
+ order: Type.TOptional<Type.TArray<Type.TString>>;
2011
+ only: Type.TOptional<Type.TArray<Type.TString>>;
2012
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
2013
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
2014
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
2015
+ by: Type.TOptional<Type.TString>;
2016
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2017
+ }>]>>;
2018
+ max_price: Type.TOptional<Type.TObject<{
2019
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2020
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2021
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2022
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2023
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2024
+ }>>;
2025
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
2026
+ p50: Type.TOptional<Type.TNumber>;
2027
+ p75: Type.TOptional<Type.TNumber>;
2028
+ p90: Type.TOptional<Type.TNumber>;
2029
+ p99: Type.TOptional<Type.TNumber>;
2030
+ }>]>>;
2031
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
2032
+ p50: Type.TOptional<Type.TNumber>;
2033
+ p75: Type.TOptional<Type.TNumber>;
2034
+ p90: Type.TOptional<Type.TNumber>;
2035
+ p99: Type.TOptional<Type.TNumber>;
2036
+ }>]>>;
2037
+ }>>;
2038
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
2039
+ only: Type.TOptional<Type.TArray<Type.TString>>;
2040
+ order: Type.TOptional<Type.TArray<Type.TString>>;
2041
+ }>>;
2042
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
2043
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
2044
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
2045
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
2046
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2047
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
2048
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
2049
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
2050
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
2051
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
2052
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
2053
+ vllmPriority: Type.TOptional<Type.TNumber>;
2054
+ } & {
2055
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
2056
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2057
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
2058
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
2059
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
2060
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
2061
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
2062
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
2063
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
2064
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
2065
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
2066
+ } & {
2067
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
2068
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
2069
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
2070
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
2071
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
2072
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
2073
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
2074
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
2075
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
2076
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
2077
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2078
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
2079
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
2080
+ provider: Type.TString;
2081
+ model: Type.TString;
2082
+ cost: Type.TObject<{
2083
+ input: Type.TNumber;
2084
+ output: Type.TNumber;
2085
+ cacheRead: Type.TNumber;
2086
+ cacheWrite: Type.TNumber;
2087
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
2088
+ input: Type.TNumber;
2089
+ output: Type.TNumber;
2090
+ cacheRead: Type.TNumber;
2091
+ cacheWrite: Type.TNumber;
2092
+ inputTokensAbove: Type.TNumber;
2093
+ }>>>;
2094
+ }>;
2095
+ }>>>;
2096
+ } & {
2097
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
2098
+ } & {
2099
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2100
+ } & {
2101
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
2102
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
2103
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
2104
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
2105
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2106
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
2107
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
2108
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
2109
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
2110
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
2111
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
2112
+ }>>;
2113
+ }>;
2114
+ modelOverride: Type.TObject<{
2115
+ name: Type.TOptional<Type.TString>;
2116
+ reasoning: Type.TOptional<Type.TBoolean>;
2117
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
2118
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2119
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2120
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2121
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2122
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2123
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2124
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2125
+ }>>;
2126
+ input: Type.TOptional<Type.TArray<Type.TEnum<["text", "image"]>>>;
2127
+ inputLimits: Type.TOptional<Type.TObject<{
2128
+ maxRequestBytes: Type.TOptional<Type.TInteger>;
2129
+ images: Type.TOptional<Type.TObject<{
2130
+ resize: Type.TOptional<Type.TObject<{
2131
+ maxWidth: Type.TOptional<Type.TInteger>;
2132
+ maxHeight: Type.TOptional<Type.TInteger>;
2133
+ maxBytes: Type.TOptional<Type.TInteger>;
2134
+ jpegQuality: Type.TOptional<Type.TInteger>;
2135
+ }>>;
2136
+ maxPerMessage: Type.TOptional<Type.TInteger>;
2137
+ maxPerRequest: Type.TOptional<Type.TInteger>;
2138
+ }>>;
2139
+ }>>;
2140
+ cost: Type.TOptional<Type.TObject<{
2141
+ input: Type.TOptional<Type.TNumber>;
2142
+ output: Type.TOptional<Type.TNumber>;
2143
+ cacheRead: Type.TOptional<Type.TNumber>;
2144
+ cacheWrite: Type.TOptional<Type.TNumber>;
2145
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
2146
+ input: Type.TNumber;
2147
+ output: Type.TNumber;
2148
+ cacheRead: Type.TNumber;
2149
+ cacheWrite: Type.TNumber;
2150
+ inputTokensAbove: Type.TNumber;
2151
+ }>>>;
2152
+ }>>;
2153
+ promptCache: Type.TOptional<Type.TObject<{
2154
+ long: Type.TOptional<Type.TNumber>;
2155
+ short: Type.TOptional<Type.TNumber>;
2156
+ }>>;
2157
+ contextWindow: Type.TOptional<Type.TNumber>;
2158
+ maxTokens: Type.TOptional<Type.TNumber>;
2159
+ samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
2160
+ samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
2161
+ off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
2162
+ minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
2163
+ low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
2164
+ medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
2165
+ high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
2166
+ xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
2167
+ max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
2168
+ }>>;
2169
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
2170
+ compat: Type.TOptional<Type.TObject<Omit<{
2171
+ supportsStore: Type.TOptional<Type.TBoolean>;
2172
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
2173
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
2174
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
2175
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
2176
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
2177
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
2178
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
2179
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
2180
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
2181
+ 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">]>>;
2182
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
2183
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
2184
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
2185
+ }>]>>>;
2186
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
2187
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
2188
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
2189
+ }>]>>>;
2190
+ openRouterRouting: Type.TOptional<Type.TObject<{
2191
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
2192
+ require_parameters: Type.TOptional<Type.TBoolean>;
2193
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
2194
+ zdr: Type.TOptional<Type.TBoolean>;
2195
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
2196
+ order: Type.TOptional<Type.TArray<Type.TString>>;
2197
+ only: Type.TOptional<Type.TArray<Type.TString>>;
2198
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
2199
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
2200
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
2201
+ by: Type.TOptional<Type.TString>;
2202
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
2203
+ }>]>>;
2204
+ max_price: Type.TOptional<Type.TObject<{
2205
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2206
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2207
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2208
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2209
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
2210
+ }>>;
2211
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
2212
+ p50: Type.TOptional<Type.TNumber>;
2213
+ p75: Type.TOptional<Type.TNumber>;
2214
+ p90: Type.TOptional<Type.TNumber>;
2215
+ p99: Type.TOptional<Type.TNumber>;
2216
+ }>]>>;
2217
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
2218
+ p50: Type.TOptional<Type.TNumber>;
2219
+ p75: Type.TOptional<Type.TNumber>;
2220
+ p90: Type.TOptional<Type.TNumber>;
2221
+ p99: Type.TOptional<Type.TNumber>;
2222
+ }>]>>;
2223
+ }>>;
2224
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
2225
+ only: Type.TOptional<Type.TArray<Type.TString>>;
2226
+ order: Type.TOptional<Type.TArray<Type.TString>>;
2227
+ }>>;
2228
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
2229
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
2230
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
2231
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
2232
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2233
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
2234
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
2235
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
2236
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
2237
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
2238
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
2239
+ vllmPriority: Type.TOptional<Type.TNumber>;
2240
+ } & {
2241
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
2242
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2243
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
2244
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
2245
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
2246
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
2247
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
2248
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
2249
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
2250
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
2251
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
2252
+ } & {
2253
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
2254
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
2255
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
2256
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
2257
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
2258
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
2259
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
2260
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
2261
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
2262
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
2263
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2264
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
2265
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
2266
+ provider: Type.TString;
2267
+ model: Type.TString;
2268
+ cost: Type.TObject<{
2269
+ input: Type.TNumber;
2270
+ output: Type.TNumber;
2271
+ cacheRead: Type.TNumber;
2272
+ cacheWrite: Type.TNumber;
2273
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
2274
+ input: Type.TNumber;
2275
+ output: Type.TNumber;
2276
+ cacheRead: Type.TNumber;
2277
+ cacheWrite: Type.TNumber;
2278
+ inputTokensAbove: Type.TNumber;
2279
+ }>>>;
2280
+ }>;
2281
+ }>>>;
2282
+ } & {
2283
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
2284
+ } & {
2285
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2286
+ } & {
2287
+ imageInput: Type.TOptional<Type.TUnion<[Type.TLiteral<"assets">, Type.TLiteral<"images">, Type.TLiteral<"state-image-urls">]>>;
2288
+ sendImageOptInHeader: Type.TOptional<Type.TBoolean>;
2289
+ }, "supportsDeveloperRole" | "supportsOpenAIGrammarTools" | "supportsMidConvoSystemMessages" | "supportsStrictMode" | "sendSessionAffinityHeaders" | "sessionAffinityFormat" | "supportsLongCacheRetention" | "supportsMidConvoEffort"> & {
2290
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
2291
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
2292
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
2293
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
2294
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
2295
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
2296
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
2297
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
2298
+ }>>;
2299
+ }>;
2300
+ };
1386
2301
  export type ModelsJsonModel = Static<typeof ModelDefinitionSchema>;
1387
2302
  export type ModelsJsonModelOverride = Static<typeof ModelOverrideSchema>;
1388
2303
  export type ModelsJsonProvider = Static<typeof ProviderConfigSchema>;