pi-namespace-patch 1.3.0-namespace.1 → 1.4.0-namespace.1

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