open-multi-agent-kit 0.98.3 → 0.98.4

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 (262) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +11 -2
  3. package/dist/cli/args.d.ts +1 -0
  4. package/dist/cli/args.d.ts.map +1 -1
  5. package/dist/cli/args.js +14 -0
  6. package/dist/cli/args.js.map +1 -1
  7. package/dist/cli/help.d.ts.map +1 -1
  8. package/dist/cli/help.js +3 -0
  9. package/dist/cli/help.js.map +1 -1
  10. package/dist/cli/mcp-attach.d.ts +3 -3
  11. package/dist/cli/mcp-attach.d.ts.map +1 -1
  12. package/dist/cli/mcp-attach.js +5 -4
  13. package/dist/cli/mcp-attach.js.map +1 -1
  14. package/dist/cli/model-contract.d.ts +5 -0
  15. package/dist/cli/model-contract.d.ts.map +1 -0
  16. package/dist/cli/model-contract.js +45 -0
  17. package/dist/cli/model-contract.js.map +1 -0
  18. package/dist/commands/adaptorch-doctor-cli.d.ts.map +1 -1
  19. package/dist/commands/adaptorch-doctor-cli.js +32 -10
  20. package/dist/commands/adaptorch-doctor-cli.js.map +1 -1
  21. package/dist/commands/init-cli.d.ts +12 -0
  22. package/dist/commands/init-cli.d.ts.map +1 -0
  23. package/dist/commands/init-cli.js +76 -0
  24. package/dist/commands/init-cli.js.map +1 -0
  25. package/dist/commands/provider-sync-cli.d.ts +27 -0
  26. package/dist/commands/provider-sync-cli.d.ts.map +1 -0
  27. package/dist/commands/provider-sync-cli.js +177 -0
  28. package/dist/commands/provider-sync-cli.js.map +1 -0
  29. package/dist/commands/run-command.d.ts +8 -0
  30. package/dist/commands/run-command.d.ts.map +1 -0
  31. package/dist/commands/run-command.js +26 -0
  32. package/dist/commands/run-command.js.map +1 -0
  33. package/dist/core/active-skill-state.d.ts +7 -0
  34. package/dist/core/active-skill-state.d.ts.map +1 -0
  35. package/dist/core/active-skill-state.js +25 -0
  36. package/dist/core/active-skill-state.js.map +1 -0
  37. package/dist/core/agent-session-services.d.ts +2 -0
  38. package/dist/core/agent-session-services.d.ts.map +1 -1
  39. package/dist/core/agent-session-services.js +2 -0
  40. package/dist/core/agent-session-services.js.map +1 -1
  41. package/dist/core/agent-session.d.ts +0 -1
  42. package/dist/core/agent-session.d.ts.map +1 -1
  43. package/dist/core/agent-session.js +30 -85
  44. package/dist/core/agent-session.js.map +1 -1
  45. package/dist/core/codex-chatgpt-web-bridge.d.ts +99 -0
  46. package/dist/core/codex-chatgpt-web-bridge.d.ts.map +1 -0
  47. package/dist/core/codex-chatgpt-web-bridge.js +192 -0
  48. package/dist/core/codex-chatgpt-web-bridge.js.map +1 -0
  49. package/dist/core/codex-chatgpt-web-sync.d.ts +50 -0
  50. package/dist/core/codex-chatgpt-web-sync.d.ts.map +1 -0
  51. package/dist/core/codex-chatgpt-web-sync.js +119 -0
  52. package/dist/core/codex-chatgpt-web-sync.js.map +1 -0
  53. package/dist/core/compaction/compaction-headroom.d.ts +30 -0
  54. package/dist/core/compaction/compaction-headroom.d.ts.map +1 -0
  55. package/dist/core/compaction/compaction-headroom.js +48 -0
  56. package/dist/core/compaction/compaction-headroom.js.map +1 -0
  57. package/dist/core/compaction/compaction.d.ts +2 -29
  58. package/dist/core/compaction/compaction.d.ts.map +1 -1
  59. package/dist/core/compaction/compaction.js +19 -47
  60. package/dist/core/compaction/compaction.js.map +1 -1
  61. package/dist/core/compaction/overflow-retry-guard.d.ts +20 -0
  62. package/dist/core/compaction/overflow-retry-guard.d.ts.map +1 -0
  63. package/dist/core/compaction/overflow-retry-guard.js +38 -0
  64. package/dist/core/compaction/overflow-retry-guard.js.map +1 -0
  65. package/dist/core/context-budget-headroom-types.d.ts.map +1 -1
  66. package/dist/core/context-budget-headroom-types.js +1 -1
  67. package/dist/core/context-budget-headroom-types.js.map +1 -1
  68. package/dist/core/context-budget-token-counter-types.d.ts +27 -0
  69. package/dist/core/context-budget-token-counter-types.d.ts.map +1 -0
  70. package/dist/core/context-budget-token-counter-types.js +2 -0
  71. package/dist/core/context-budget-token-counter-types.js.map +1 -0
  72. package/dist/core/context-budget-token-counter.d.ts +2 -26
  73. package/dist/core/context-budget-token-counter.d.ts.map +1 -1
  74. package/dist/core/context-budget-token-counter.js +2 -0
  75. package/dist/core/context-budget-token-counter.js.map +1 -1
  76. package/dist/core/context-budget-v2-scoring.d.ts.map +1 -1
  77. package/dist/core/context-budget-v2-scoring.js +14 -10
  78. package/dist/core/context-budget-v2-scoring.js.map +1 -1
  79. package/dist/core/domain-router.d.ts.map +1 -1
  80. package/dist/core/domain-router.js +1 -1
  81. package/dist/core/domain-router.js.map +1 -1
  82. package/dist/core/grok-harness-dispatch.d.ts +4 -0
  83. package/dist/core/grok-harness-dispatch.d.ts.map +1 -1
  84. package/dist/core/grok-harness-dispatch.js +20 -3
  85. package/dist/core/grok-harness-dispatch.js.map +1 -1
  86. package/dist/core/grok-harness.d.ts +15 -9
  87. package/dist/core/grok-harness.d.ts.map +1 -1
  88. package/dist/core/grok-harness.js +34 -8
  89. package/dist/core/grok-harness.js.map +1 -1
  90. package/dist/core/mcp/tools.d.ts +2 -2
  91. package/dist/core/mcp/tools.d.ts.map +1 -1
  92. package/dist/core/mcp/tools.js +29 -3
  93. package/dist/core/mcp/tools.js.map +1 -1
  94. package/dist/core/model-registry-schema.d.ts +1081 -0
  95. package/dist/core/model-registry-schema.d.ts.map +1 -0
  96. package/dist/core/model-registry-schema.js +148 -0
  97. package/dist/core/model-registry-schema.js.map +1 -0
  98. package/dist/core/model-registry.d.ts.map +1 -1
  99. package/dist/core/model-registry.js +1 -146
  100. package/dist/core/model-registry.js.map +1 -1
  101. package/dist/core/model-resolver.d.ts +2 -1
  102. package/dist/core/model-resolver.d.ts.map +1 -1
  103. package/dist/core/model-resolver.js +2 -1
  104. package/dist/core/model-resolver.js.map +1 -1
  105. package/dist/core/prompt-preset.d.ts +1 -1
  106. package/dist/core/prompt-preset.d.ts.map +1 -1
  107. package/dist/core/prompt-preset.js +16 -1
  108. package/dist/core/prompt-preset.js.map +1 -1
  109. package/dist/core/provider-display-names.d.ts.map +1 -1
  110. package/dist/core/provider-display-names.js +1 -0
  111. package/dist/core/provider-display-names.js.map +1 -1
  112. package/dist/core/provider-resilience.d.ts +8 -0
  113. package/dist/core/provider-resilience.d.ts.map +1 -1
  114. package/dist/core/provider-resilience.js +20 -3
  115. package/dist/core/provider-resilience.js.map +1 -1
  116. package/dist/core/provider-usage-types.d.ts +42 -0
  117. package/dist/core/provider-usage-types.d.ts.map +1 -0
  118. package/dist/core/provider-usage-types.js +2 -0
  119. package/dist/core/provider-usage-types.js.map +1 -0
  120. package/dist/core/provider-usage.d.ts +2 -31
  121. package/dist/core/provider-usage.d.ts.map +1 -1
  122. package/dist/core/provider-usage.js +4 -0
  123. package/dist/core/provider-usage.js.map +1 -1
  124. package/dist/core/redaction.d.ts.map +1 -1
  125. package/dist/core/redaction.js +18 -2
  126. package/dist/core/redaction.js.map +1 -1
  127. package/dist/core/sandbox/policy-merge.d.ts +6 -0
  128. package/dist/core/sandbox/policy-merge.d.ts.map +1 -0
  129. package/dist/core/sandbox/policy-merge.js +74 -0
  130. package/dist/core/sandbox/policy-merge.js.map +1 -0
  131. package/dist/core/sandbox/policy-paths.d.ts +4 -0
  132. package/dist/core/sandbox/policy-paths.d.ts.map +1 -0
  133. package/dist/core/sandbox/policy-paths.js +21 -0
  134. package/dist/core/sandbox/policy-paths.js.map +1 -0
  135. package/dist/core/sandbox/policy-types.d.ts +75 -0
  136. package/dist/core/sandbox/policy-types.d.ts.map +1 -0
  137. package/dist/core/sandbox/policy-types.js +2 -0
  138. package/dist/core/sandbox/policy-types.js.map +1 -0
  139. package/dist/core/sandbox/policy.d.ts +3 -77
  140. package/dist/core/sandbox/policy.d.ts.map +1 -1
  141. package/dist/core/sandbox/policy.js +3 -98
  142. package/dist/core/sandbox/policy.js.map +1 -1
  143. package/dist/core/sdk-provider-stream.d.ts +14 -0
  144. package/dist/core/sdk-provider-stream.d.ts.map +1 -0
  145. package/dist/core/sdk-provider-stream.js +38 -0
  146. package/dist/core/sdk-provider-stream.js.map +1 -0
  147. package/dist/core/sdk.d.ts +5 -1
  148. package/dist/core/sdk.d.ts.map +1 -1
  149. package/dist/core/sdk.js +17 -33
  150. package/dist/core/sdk.js.map +1 -1
  151. package/dist/core/session-failure-cause.d.ts.map +1 -1
  152. package/dist/core/session-failure-cause.js +10 -3
  153. package/dist/core/session-failure-cause.js.map +1 -1
  154. package/dist/core/session-run-termination.d.ts +18 -0
  155. package/dist/core/session-run-termination.d.ts.map +1 -0
  156. package/dist/core/session-run-termination.js +61 -0
  157. package/dist/core/session-run-termination.js.map +1 -0
  158. package/dist/core/session-termination.d.ts.map +1 -1
  159. package/dist/core/session-termination.js +1 -1
  160. package/dist/core/session-termination.js.map +1 -1
  161. package/dist/core/skill-selector.d.ts +40 -0
  162. package/dist/core/skill-selector.d.ts.map +1 -0
  163. package/dist/core/skill-selector.js +102 -0
  164. package/dist/core/skill-selector.js.map +1 -0
  165. package/dist/core/tools/render-utils.d.ts.map +1 -1
  166. package/dist/core/tools/render-utils.js +2 -4
  167. package/dist/core/tools/render-utils.js.map +1 -1
  168. package/dist/core/turn-metrics-record.d.ts +55 -0
  169. package/dist/core/turn-metrics-record.d.ts.map +1 -0
  170. package/dist/core/turn-metrics-record.js +149 -0
  171. package/dist/core/turn-metrics-record.js.map +1 -0
  172. package/dist/core/turn-metrics.d.ts +4 -56
  173. package/dist/core/turn-metrics.d.ts.map +1 -1
  174. package/dist/core/turn-metrics.js +12 -60
  175. package/dist/core/turn-metrics.js.map +1 -1
  176. package/dist/guardrails/evidence-system.d.ts +1 -1
  177. package/dist/guardrails/evidence-system.d.ts.map +1 -1
  178. package/dist/guardrails/evidence-system.js +18 -29
  179. package/dist/guardrails/evidence-system.js.map +1 -1
  180. package/dist/guardrails/merge-gate-result.d.ts +4 -0
  181. package/dist/guardrails/merge-gate-result.d.ts.map +1 -0
  182. package/dist/guardrails/merge-gate-result.js +32 -0
  183. package/dist/guardrails/merge-gate-result.js.map +1 -0
  184. package/dist/main.d.ts.map +1 -1
  185. package/dist/main.js +22 -22
  186. package/dist/main.js.map +1 -1
  187. package/dist/modes/interactive/interactive-login-options.d.ts +27 -0
  188. package/dist/modes/interactive/interactive-login-options.d.ts.map +1 -0
  189. package/dist/modes/interactive/interactive-login-options.js +54 -0
  190. package/dist/modes/interactive/interactive-login-options.js.map +1 -0
  191. package/dist/modes/interactive/interactive-mode.d.ts +7 -4
  192. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  193. package/dist/modes/interactive/interactive-mode.js +138 -140
  194. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  195. package/dist/modes/interactive/interactive-resume-command.d.ts +3 -0
  196. package/dist/modes/interactive/interactive-resume-command.d.ts.map +1 -0
  197. package/dist/modes/interactive/interactive-resume-command.js +24 -0
  198. package/dist/modes/interactive/interactive-resume-command.js.map +1 -0
  199. package/dist/modes/interactive/interactive-tool-result.d.ts +32 -0
  200. package/dist/modes/interactive/interactive-tool-result.d.ts.map +1 -0
  201. package/dist/modes/interactive/interactive-tool-result.js +59 -0
  202. package/dist/modes/interactive/interactive-tool-result.js.map +1 -0
  203. package/dist/modes/print-mode.d.ts.map +1 -1
  204. package/dist/modes/print-mode.js +22 -0
  205. package/dist/modes/print-mode.js.map +1 -1
  206. package/dist/utils/clipboard-image.d.ts.map +1 -1
  207. package/dist/utils/clipboard-image.js +10 -60
  208. package/dist/utils/clipboard-image.js.map +1 -1
  209. package/dist/utils/terminal-links.d.ts +13 -0
  210. package/dist/utils/terminal-links.d.ts.map +1 -0
  211. package/dist/utils/terminal-links.js +68 -0
  212. package/dist/utils/terminal-links.js.map +1 -0
  213. package/dist/utils/windows-clipboard-image.d.ts +16 -0
  214. package/dist/utils/windows-clipboard-image.d.ts.map +1 -0
  215. package/dist/utils/windows-clipboard-image.js +87 -0
  216. package/dist/utils/windows-clipboard-image.js.map +1 -0
  217. package/docs/adaptorch-onboarding.md +80 -0
  218. package/docs/containerization.md +12 -0
  219. package/docs/context-files.md +97 -0
  220. package/docs/correctness-wall.md +8 -0
  221. package/docs/custom-provider.md +35 -0
  222. package/docs/development.md +18 -3
  223. package/docs/environment-variables.md +2 -0
  224. package/docs/grok-harness.md +4 -0
  225. package/docs/harness-boundaries.md +154 -0
  226. package/docs/harness-improvements.md +90 -0
  227. package/docs/json.md +19 -0
  228. package/docs/keybindings.md +1 -1
  229. package/docs/mcp.md +22 -2
  230. package/docs/metrics.md +66 -16
  231. package/docs/model-catalog-refresh.md +190 -0
  232. package/docs/model-contract.md +168 -0
  233. package/docs/models.md +21 -4
  234. package/docs/provider-resilience.md +5 -3
  235. package/docs/providers.md +68 -1
  236. package/docs/quickstart.md +4 -0
  237. package/docs/release-audit-0.98.4.md +112 -0
  238. package/docs/review-bundle-followup.md +195 -0
  239. package/docs/runtime-algorithms.md +19 -0
  240. package/docs/sdk.md +11 -2
  241. package/docs/sessions.md +1 -1
  242. package/docs/settings.md +17 -1
  243. package/docs/skills.md +2 -0
  244. package/docs/tb21-audit.md +131 -0
  245. package/docs/terminal-setup.md +20 -0
  246. package/docs/usage.md +23 -1
  247. package/docs/windows.md +48 -0
  248. package/examples/README.md +4 -0
  249. package/examples/context/AGENTS.md +64 -0
  250. package/examples/context/CLAUDE.md +17 -0
  251. package/examples/context/INTERNET.md +42 -0
  252. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  253. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  254. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  255. package/examples/extensions/gondolin/package-lock.json +2 -2
  256. package/examples/extensions/gondolin/package.json +1 -1
  257. package/examples/extensions/sandbox/package-lock.json +2 -2
  258. package/examples/extensions/sandbox/package.json +1 -1
  259. package/examples/extensions/with-deps/package-lock.json +2 -2
  260. package/examples/extensions/with-deps/package.json +1 -1
  261. package/npm-shrinkwrap.json +18 -18
  262. package/package.json +6 -6
@@ -0,0 +1,1081 @@
1
+ import { type Static, Type } from "typebox";
2
+ declare const ModelOverrideSchema: Type.TObject<{
3
+ name: Type.TOptional<Type.TString>;
4
+ reasoning: Type.TOptional<Type.TBoolean>;
5
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
6
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
7
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
8
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
9
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
10
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
11
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
12
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
13
+ }>>;
14
+ input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
15
+ cost: Type.TOptional<Type.TObject<{
16
+ input: Type.TOptional<Type.TNumber>;
17
+ output: Type.TOptional<Type.TNumber>;
18
+ cacheRead: Type.TOptional<Type.TNumber>;
19
+ cacheWrite: Type.TOptional<Type.TNumber>;
20
+ }>>;
21
+ contextWindow: Type.TOptional<Type.TNumber>;
22
+ maxTokens: Type.TOptional<Type.TNumber>;
23
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
24
+ compat: Type.TOptional<Type.TUnion<[Type.TObject<{
25
+ supportsStore: Type.TOptional<Type.TBoolean>;
26
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
27
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
28
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
29
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
30
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
31
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
32
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
33
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
34
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"qwen-chat-template">]>>;
35
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
36
+ openRouterRouting: Type.TOptional<Type.TObject<{
37
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
38
+ require_parameters: Type.TOptional<Type.TBoolean>;
39
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
40
+ zdr: Type.TOptional<Type.TBoolean>;
41
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
42
+ order: Type.TOptional<Type.TArray<Type.TString>>;
43
+ only: Type.TOptional<Type.TArray<Type.TString>>;
44
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
45
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
46
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
47
+ by: Type.TOptional<Type.TString>;
48
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
49
+ }>]>>;
50
+ max_price: Type.TOptional<Type.TObject<{
51
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
52
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
53
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
54
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
55
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
56
+ }>>;
57
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
58
+ p50: Type.TOptional<Type.TNumber>;
59
+ p75: Type.TOptional<Type.TNumber>;
60
+ p90: Type.TOptional<Type.TNumber>;
61
+ p99: Type.TOptional<Type.TNumber>;
62
+ }>]>>;
63
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
64
+ p50: Type.TOptional<Type.TNumber>;
65
+ p75: Type.TOptional<Type.TNumber>;
66
+ p90: Type.TOptional<Type.TNumber>;
67
+ p99: Type.TOptional<Type.TNumber>;
68
+ }>]>>;
69
+ }>>;
70
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
71
+ only: Type.TOptional<Type.TArray<Type.TString>>;
72
+ order: Type.TOptional<Type.TArray<Type.TString>>;
73
+ }>>;
74
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
75
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
76
+ }>, Type.TObject<{
77
+ sendSessionIdHeader: Type.TOptional<Type.TBoolean>;
78
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
79
+ sendCodexTurnMetadata: Type.TOptional<Type.TBoolean>;
80
+ }>, Type.TObject<{
81
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
82
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
83
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
84
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
85
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
86
+ }>]>>;
87
+ }>;
88
+ export type ModelOverride = Static<typeof ModelOverrideSchema>;
89
+ declare const ModelsConfigSchema: Type.TObject<{
90
+ providers: Type.TRecord<"^.*$", Type.TObject<{
91
+ name: Type.TOptional<Type.TString>;
92
+ baseUrl: Type.TOptional<Type.TString>;
93
+ apiKey: Type.TOptional<Type.TString>;
94
+ api: Type.TOptional<Type.TString>;
95
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
96
+ compat: Type.TOptional<Type.TUnion<[Type.TObject<{
97
+ supportsStore: Type.TOptional<Type.TBoolean>;
98
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
99
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
100
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
101
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
102
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
103
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
104
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
105
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
106
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"qwen-chat-template">]>>;
107
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
108
+ openRouterRouting: Type.TOptional<Type.TObject<{
109
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
110
+ require_parameters: Type.TOptional<Type.TBoolean>;
111
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
112
+ zdr: Type.TOptional<Type.TBoolean>;
113
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
114
+ order: Type.TOptional<Type.TArray<Type.TString>>;
115
+ only: Type.TOptional<Type.TArray<Type.TString>>;
116
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
117
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
118
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
119
+ by: Type.TOptional<Type.TString>;
120
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
121
+ }>]>>;
122
+ max_price: Type.TOptional<Type.TObject<{
123
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
124
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
125
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
126
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
127
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
128
+ }>>;
129
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
130
+ p50: Type.TOptional<Type.TNumber>;
131
+ p75: Type.TOptional<Type.TNumber>;
132
+ p90: Type.TOptional<Type.TNumber>;
133
+ p99: Type.TOptional<Type.TNumber>;
134
+ }>]>>;
135
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
136
+ p50: Type.TOptional<Type.TNumber>;
137
+ p75: Type.TOptional<Type.TNumber>;
138
+ p90: Type.TOptional<Type.TNumber>;
139
+ p99: Type.TOptional<Type.TNumber>;
140
+ }>]>>;
141
+ }>>;
142
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
143
+ only: Type.TOptional<Type.TArray<Type.TString>>;
144
+ order: Type.TOptional<Type.TArray<Type.TString>>;
145
+ }>>;
146
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
147
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
148
+ }>, Type.TObject<{
149
+ sendSessionIdHeader: Type.TOptional<Type.TBoolean>;
150
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
151
+ sendCodexTurnMetadata: Type.TOptional<Type.TBoolean>;
152
+ }>, Type.TObject<{
153
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
154
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
155
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
156
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
157
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
158
+ }>]>>;
159
+ authHeader: Type.TOptional<Type.TBoolean>;
160
+ models: Type.TOptional<Type.TArray<Type.TObject<{
161
+ id: Type.TString;
162
+ name: Type.TOptional<Type.TString>;
163
+ api: Type.TOptional<Type.TString>;
164
+ baseUrl: Type.TOptional<Type.TString>;
165
+ reasoning: Type.TOptional<Type.TBoolean>;
166
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
167
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
168
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
169
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
170
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
171
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
172
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
173
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
174
+ }>>;
175
+ input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
176
+ cost: Type.TOptional<Type.TObject<{
177
+ input: Type.TNumber;
178
+ output: Type.TNumber;
179
+ cacheRead: Type.TNumber;
180
+ cacheWrite: Type.TNumber;
181
+ }>>;
182
+ contextWindow: Type.TOptional<Type.TNumber>;
183
+ maxTokens: Type.TOptional<Type.TNumber>;
184
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
185
+ compat: Type.TOptional<Type.TUnion<[Type.TObject<{
186
+ supportsStore: Type.TOptional<Type.TBoolean>;
187
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
188
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
189
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
190
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
191
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
192
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
193
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
194
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
195
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"qwen-chat-template">]>>;
196
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
197
+ openRouterRouting: Type.TOptional<Type.TObject<{
198
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
199
+ require_parameters: Type.TOptional<Type.TBoolean>;
200
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
201
+ zdr: Type.TOptional<Type.TBoolean>;
202
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
203
+ order: Type.TOptional<Type.TArray<Type.TString>>;
204
+ only: Type.TOptional<Type.TArray<Type.TString>>;
205
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
206
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
207
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
208
+ by: Type.TOptional<Type.TString>;
209
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
210
+ }>]>>;
211
+ max_price: Type.TOptional<Type.TObject<{
212
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
213
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
214
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
215
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
216
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
217
+ }>>;
218
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
219
+ p50: Type.TOptional<Type.TNumber>;
220
+ p75: Type.TOptional<Type.TNumber>;
221
+ p90: Type.TOptional<Type.TNumber>;
222
+ p99: Type.TOptional<Type.TNumber>;
223
+ }>]>>;
224
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
225
+ p50: Type.TOptional<Type.TNumber>;
226
+ p75: Type.TOptional<Type.TNumber>;
227
+ p90: Type.TOptional<Type.TNumber>;
228
+ p99: Type.TOptional<Type.TNumber>;
229
+ }>]>>;
230
+ }>>;
231
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
232
+ only: Type.TOptional<Type.TArray<Type.TString>>;
233
+ order: Type.TOptional<Type.TArray<Type.TString>>;
234
+ }>>;
235
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
236
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
237
+ }>, Type.TObject<{
238
+ sendSessionIdHeader: Type.TOptional<Type.TBoolean>;
239
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
240
+ sendCodexTurnMetadata: Type.TOptional<Type.TBoolean>;
241
+ }>, Type.TObject<{
242
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
243
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
244
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
245
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
246
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
247
+ }>]>>;
248
+ }>>>;
249
+ modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
250
+ name: Type.TOptional<Type.TString>;
251
+ reasoning: Type.TOptional<Type.TBoolean>;
252
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
253
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
254
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
255
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
256
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
257
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
258
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
259
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
260
+ }>>;
261
+ input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
262
+ cost: Type.TOptional<Type.TObject<{
263
+ input: Type.TOptional<Type.TNumber>;
264
+ output: Type.TOptional<Type.TNumber>;
265
+ cacheRead: Type.TOptional<Type.TNumber>;
266
+ cacheWrite: Type.TOptional<Type.TNumber>;
267
+ }>>;
268
+ contextWindow: Type.TOptional<Type.TNumber>;
269
+ maxTokens: Type.TOptional<Type.TNumber>;
270
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
271
+ compat: Type.TOptional<Type.TUnion<[Type.TObject<{
272
+ supportsStore: Type.TOptional<Type.TBoolean>;
273
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
274
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
275
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
276
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
277
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
278
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
279
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
280
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
281
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"qwen-chat-template">]>>;
282
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
283
+ openRouterRouting: Type.TOptional<Type.TObject<{
284
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
285
+ require_parameters: Type.TOptional<Type.TBoolean>;
286
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
287
+ zdr: Type.TOptional<Type.TBoolean>;
288
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
289
+ order: Type.TOptional<Type.TArray<Type.TString>>;
290
+ only: Type.TOptional<Type.TArray<Type.TString>>;
291
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
292
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
293
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
294
+ by: Type.TOptional<Type.TString>;
295
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
296
+ }>]>>;
297
+ max_price: Type.TOptional<Type.TObject<{
298
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
299
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
300
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
301
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
302
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
303
+ }>>;
304
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
305
+ p50: Type.TOptional<Type.TNumber>;
306
+ p75: Type.TOptional<Type.TNumber>;
307
+ p90: Type.TOptional<Type.TNumber>;
308
+ p99: Type.TOptional<Type.TNumber>;
309
+ }>]>>;
310
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
311
+ p50: Type.TOptional<Type.TNumber>;
312
+ p75: Type.TOptional<Type.TNumber>;
313
+ p90: Type.TOptional<Type.TNumber>;
314
+ p99: Type.TOptional<Type.TNumber>;
315
+ }>]>>;
316
+ }>>;
317
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
318
+ only: Type.TOptional<Type.TArray<Type.TString>>;
319
+ order: Type.TOptional<Type.TArray<Type.TString>>;
320
+ }>>;
321
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
322
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
323
+ }>, Type.TObject<{
324
+ sendSessionIdHeader: Type.TOptional<Type.TBoolean>;
325
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
326
+ sendCodexTurnMetadata: Type.TOptional<Type.TBoolean>;
327
+ }>, Type.TObject<{
328
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
329
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
330
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
331
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
332
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
333
+ }>]>>;
334
+ }>>>;
335
+ }>>;
336
+ }>;
337
+ export declare const validateModelsConfig: import("typebox/compile").Validator<{}, Type.TObject<{
338
+ providers: Type.TRecord<"^.*$", Type.TObject<{
339
+ name: Type.TOptional<Type.TString>;
340
+ baseUrl: Type.TOptional<Type.TString>;
341
+ apiKey: Type.TOptional<Type.TString>;
342
+ api: Type.TOptional<Type.TString>;
343
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
344
+ compat: Type.TOptional<Type.TUnion<[Type.TObject<{
345
+ supportsStore: Type.TOptional<Type.TBoolean>;
346
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
347
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
348
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
349
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
350
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
351
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
352
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
353
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
354
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"qwen-chat-template">]>>;
355
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
356
+ openRouterRouting: Type.TOptional<Type.TObject<{
357
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
358
+ require_parameters: Type.TOptional<Type.TBoolean>;
359
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
360
+ zdr: Type.TOptional<Type.TBoolean>;
361
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
362
+ order: Type.TOptional<Type.TArray<Type.TString>>;
363
+ only: Type.TOptional<Type.TArray<Type.TString>>;
364
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
365
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
366
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
367
+ by: Type.TOptional<Type.TString>;
368
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
369
+ }>]>>;
370
+ max_price: Type.TOptional<Type.TObject<{
371
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
372
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
373
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
374
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
375
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
376
+ }>>;
377
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
378
+ p50: Type.TOptional<Type.TNumber>;
379
+ p75: Type.TOptional<Type.TNumber>;
380
+ p90: Type.TOptional<Type.TNumber>;
381
+ p99: Type.TOptional<Type.TNumber>;
382
+ }>]>>;
383
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
384
+ p50: Type.TOptional<Type.TNumber>;
385
+ p75: Type.TOptional<Type.TNumber>;
386
+ p90: Type.TOptional<Type.TNumber>;
387
+ p99: Type.TOptional<Type.TNumber>;
388
+ }>]>>;
389
+ }>>;
390
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
391
+ only: Type.TOptional<Type.TArray<Type.TString>>;
392
+ order: Type.TOptional<Type.TArray<Type.TString>>;
393
+ }>>;
394
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
395
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
396
+ }>, Type.TObject<{
397
+ sendSessionIdHeader: Type.TOptional<Type.TBoolean>;
398
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
399
+ sendCodexTurnMetadata: Type.TOptional<Type.TBoolean>;
400
+ }>, Type.TObject<{
401
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
402
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
403
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
404
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
405
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
406
+ }>]>>;
407
+ authHeader: Type.TOptional<Type.TBoolean>;
408
+ models: Type.TOptional<Type.TArray<Type.TObject<{
409
+ id: Type.TString;
410
+ name: Type.TOptional<Type.TString>;
411
+ api: Type.TOptional<Type.TString>;
412
+ baseUrl: Type.TOptional<Type.TString>;
413
+ reasoning: Type.TOptional<Type.TBoolean>;
414
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
415
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
416
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
417
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
418
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
419
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
420
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
421
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
422
+ }>>;
423
+ input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
424
+ cost: Type.TOptional<Type.TObject<{
425
+ input: Type.TNumber;
426
+ output: Type.TNumber;
427
+ cacheRead: Type.TNumber;
428
+ cacheWrite: Type.TNumber;
429
+ }>>;
430
+ contextWindow: Type.TOptional<Type.TNumber>;
431
+ maxTokens: Type.TOptional<Type.TNumber>;
432
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
433
+ compat: Type.TOptional<Type.TUnion<[Type.TObject<{
434
+ supportsStore: Type.TOptional<Type.TBoolean>;
435
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
436
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
437
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
438
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
439
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
440
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
441
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
442
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
443
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"qwen-chat-template">]>>;
444
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
445
+ openRouterRouting: Type.TOptional<Type.TObject<{
446
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
447
+ require_parameters: Type.TOptional<Type.TBoolean>;
448
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
449
+ zdr: Type.TOptional<Type.TBoolean>;
450
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
451
+ order: Type.TOptional<Type.TArray<Type.TString>>;
452
+ only: Type.TOptional<Type.TArray<Type.TString>>;
453
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
454
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
455
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
456
+ by: Type.TOptional<Type.TString>;
457
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
458
+ }>]>>;
459
+ max_price: Type.TOptional<Type.TObject<{
460
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
461
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
462
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
463
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
464
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
465
+ }>>;
466
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
467
+ p50: Type.TOptional<Type.TNumber>;
468
+ p75: Type.TOptional<Type.TNumber>;
469
+ p90: Type.TOptional<Type.TNumber>;
470
+ p99: Type.TOptional<Type.TNumber>;
471
+ }>]>>;
472
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
473
+ p50: Type.TOptional<Type.TNumber>;
474
+ p75: Type.TOptional<Type.TNumber>;
475
+ p90: Type.TOptional<Type.TNumber>;
476
+ p99: Type.TOptional<Type.TNumber>;
477
+ }>]>>;
478
+ }>>;
479
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
480
+ only: Type.TOptional<Type.TArray<Type.TString>>;
481
+ order: Type.TOptional<Type.TArray<Type.TString>>;
482
+ }>>;
483
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
484
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
485
+ }>, Type.TObject<{
486
+ sendSessionIdHeader: Type.TOptional<Type.TBoolean>;
487
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
488
+ sendCodexTurnMetadata: Type.TOptional<Type.TBoolean>;
489
+ }>, Type.TObject<{
490
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
491
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
492
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
493
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
494
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
495
+ }>]>>;
496
+ }>>>;
497
+ modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
498
+ name: Type.TOptional<Type.TString>;
499
+ reasoning: Type.TOptional<Type.TBoolean>;
500
+ thinkingLevelMap: Type.TOptional<Type.TObject<{
501
+ off: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
502
+ minimal: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
503
+ low: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
504
+ medium: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
505
+ high: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
506
+ xhigh: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
507
+ max: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
508
+ }>>;
509
+ input: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"text">, Type.TLiteral<"image">]>>>;
510
+ cost: Type.TOptional<Type.TObject<{
511
+ input: Type.TOptional<Type.TNumber>;
512
+ output: Type.TOptional<Type.TNumber>;
513
+ cacheRead: Type.TOptional<Type.TNumber>;
514
+ cacheWrite: Type.TOptional<Type.TNumber>;
515
+ }>>;
516
+ contextWindow: Type.TOptional<Type.TNumber>;
517
+ maxTokens: Type.TOptional<Type.TNumber>;
518
+ headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
519
+ compat: Type.TOptional<Type.TUnion<[Type.TObject<{
520
+ supportsStore: Type.TOptional<Type.TBoolean>;
521
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
522
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
523
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
524
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
525
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
526
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
527
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
528
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
529
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"together">, Type.TLiteral<"deepseek">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"qwen-chat-template">]>>;
530
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
531
+ openRouterRouting: Type.TOptional<Type.TObject<{
532
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
533
+ require_parameters: Type.TOptional<Type.TBoolean>;
534
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
535
+ zdr: Type.TOptional<Type.TBoolean>;
536
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
537
+ order: Type.TOptional<Type.TArray<Type.TString>>;
538
+ only: Type.TOptional<Type.TArray<Type.TString>>;
539
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
540
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
541
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
542
+ by: Type.TOptional<Type.TString>;
543
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
544
+ }>]>>;
545
+ max_price: Type.TOptional<Type.TObject<{
546
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
547
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
548
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
549
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
550
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
551
+ }>>;
552
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
553
+ p50: Type.TOptional<Type.TNumber>;
554
+ p75: Type.TOptional<Type.TNumber>;
555
+ p90: Type.TOptional<Type.TNumber>;
556
+ p99: Type.TOptional<Type.TNumber>;
557
+ }>]>>;
558
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
559
+ p50: Type.TOptional<Type.TNumber>;
560
+ p75: Type.TOptional<Type.TNumber>;
561
+ p90: Type.TOptional<Type.TNumber>;
562
+ p99: Type.TOptional<Type.TNumber>;
563
+ }>]>>;
564
+ }>>;
565
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
566
+ only: Type.TOptional<Type.TArray<Type.TString>>;
567
+ order: Type.TOptional<Type.TArray<Type.TString>>;
568
+ }>>;
569
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
570
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
571
+ }>, Type.TObject<{
572
+ sendSessionIdHeader: Type.TOptional<Type.TBoolean>;
573
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
574
+ sendCodexTurnMetadata: Type.TOptional<Type.TBoolean>;
575
+ }>, Type.TObject<{
576
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
577
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
578
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
579
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
580
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
581
+ }>]>>;
582
+ }>>>;
583
+ }>>;
584
+ }>, {
585
+ providers: Record<string, {
586
+ name?: string | undefined;
587
+ baseUrl?: string | undefined;
588
+ apiKey?: string | undefined;
589
+ api?: string | undefined;
590
+ headers?: Record<string, string> | undefined;
591
+ compat?: {
592
+ supportsStore?: boolean | undefined;
593
+ supportsDeveloperRole?: boolean | undefined;
594
+ supportsReasoningEffort?: boolean | undefined;
595
+ supportsUsageInStreaming?: boolean | undefined;
596
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
597
+ requiresToolResultName?: boolean | undefined;
598
+ requiresAssistantAfterToolResult?: boolean | undefined;
599
+ requiresThinkingAsText?: boolean | undefined;
600
+ requiresReasoningContentOnAssistantMessages?: boolean | undefined;
601
+ thinkingFormat?: "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "together" | "zai" | undefined;
602
+ cacheControlFormat?: "anthropic" | undefined;
603
+ openRouterRouting?: {
604
+ allow_fallbacks?: boolean | undefined;
605
+ require_parameters?: boolean | undefined;
606
+ data_collection?: "allow" | "deny" | undefined;
607
+ zdr?: boolean | undefined;
608
+ enforce_distillable_text?: boolean | undefined;
609
+ order?: string[] | undefined;
610
+ only?: string[] | undefined;
611
+ ignore?: string[] | undefined;
612
+ quantizations?: string[] | undefined;
613
+ sort?: string | {
614
+ by?: string | undefined;
615
+ partition?: string | null | undefined;
616
+ } | undefined;
617
+ max_price?: {
618
+ prompt?: string | number | undefined;
619
+ completion?: string | number | undefined;
620
+ image?: string | number | undefined;
621
+ audio?: string | number | undefined;
622
+ request?: string | number | undefined;
623
+ } | undefined;
624
+ preferred_min_throughput?: number | {
625
+ p50?: number | undefined;
626
+ p75?: number | undefined;
627
+ p90?: number | undefined;
628
+ p99?: number | undefined;
629
+ } | undefined;
630
+ preferred_max_latency?: number | {
631
+ p50?: number | undefined;
632
+ p75?: number | undefined;
633
+ p90?: number | undefined;
634
+ p99?: number | undefined;
635
+ } | undefined;
636
+ } | undefined;
637
+ vercelGatewayRouting?: {
638
+ only?: string[] | undefined;
639
+ order?: string[] | undefined;
640
+ } | undefined;
641
+ supportsStrictMode?: boolean | undefined;
642
+ supportsLongCacheRetention?: boolean | undefined;
643
+ } | {
644
+ sendSessionIdHeader?: boolean | undefined;
645
+ supportsLongCacheRetention?: boolean | undefined;
646
+ sendCodexTurnMetadata?: boolean | undefined;
647
+ } | {
648
+ supportsEagerToolInputStreaming?: boolean | undefined;
649
+ supportsLongCacheRetention?: boolean | undefined;
650
+ sendSessionAffinityHeaders?: boolean | undefined;
651
+ supportsCacheControlOnTools?: boolean | undefined;
652
+ forceAdaptiveThinking?: boolean | undefined;
653
+ } | undefined;
654
+ authHeader?: boolean | undefined;
655
+ models?: {
656
+ id: string;
657
+ name?: string | undefined;
658
+ api?: string | undefined;
659
+ baseUrl?: string | undefined;
660
+ reasoning?: boolean | undefined;
661
+ thinkingLevelMap?: {
662
+ off?: string | null | undefined;
663
+ minimal?: string | null | undefined;
664
+ low?: string | null | undefined;
665
+ medium?: string | null | undefined;
666
+ high?: string | null | undefined;
667
+ xhigh?: string | null | undefined;
668
+ max?: string | null | undefined;
669
+ } | undefined;
670
+ input?: ("image" | "text")[] | undefined;
671
+ cost?: {
672
+ input: number;
673
+ output: number;
674
+ cacheRead: number;
675
+ cacheWrite: number;
676
+ } | undefined;
677
+ contextWindow?: number | undefined;
678
+ maxTokens?: number | undefined;
679
+ headers?: Record<string, string> | undefined;
680
+ compat?: {
681
+ supportsStore?: boolean | undefined;
682
+ supportsDeveloperRole?: boolean | undefined;
683
+ supportsReasoningEffort?: boolean | undefined;
684
+ supportsUsageInStreaming?: boolean | undefined;
685
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
686
+ requiresToolResultName?: boolean | undefined;
687
+ requiresAssistantAfterToolResult?: boolean | undefined;
688
+ requiresThinkingAsText?: boolean | undefined;
689
+ requiresReasoningContentOnAssistantMessages?: boolean | undefined;
690
+ thinkingFormat?: "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "together" | "zai" | undefined;
691
+ cacheControlFormat?: "anthropic" | undefined;
692
+ openRouterRouting?: {
693
+ allow_fallbacks?: boolean | undefined;
694
+ require_parameters?: boolean | undefined;
695
+ data_collection?: "allow" | "deny" | undefined;
696
+ zdr?: boolean | undefined;
697
+ enforce_distillable_text?: boolean | undefined;
698
+ order?: string[] | undefined;
699
+ only?: string[] | undefined;
700
+ ignore?: string[] | undefined;
701
+ quantizations?: string[] | undefined;
702
+ sort?: string | {
703
+ by?: string | undefined;
704
+ partition?: string | null | undefined;
705
+ } | undefined;
706
+ max_price?: {
707
+ prompt?: string | number | undefined;
708
+ completion?: string | number | undefined;
709
+ image?: string | number | undefined;
710
+ audio?: string | number | undefined;
711
+ request?: string | number | undefined;
712
+ } | undefined;
713
+ preferred_min_throughput?: number | {
714
+ p50?: number | undefined;
715
+ p75?: number | undefined;
716
+ p90?: number | undefined;
717
+ p99?: number | undefined;
718
+ } | undefined;
719
+ preferred_max_latency?: number | {
720
+ p50?: number | undefined;
721
+ p75?: number | undefined;
722
+ p90?: number | undefined;
723
+ p99?: number | undefined;
724
+ } | undefined;
725
+ } | undefined;
726
+ vercelGatewayRouting?: {
727
+ only?: string[] | undefined;
728
+ order?: string[] | undefined;
729
+ } | undefined;
730
+ supportsStrictMode?: boolean | undefined;
731
+ supportsLongCacheRetention?: boolean | undefined;
732
+ } | {
733
+ sendSessionIdHeader?: boolean | undefined;
734
+ supportsLongCacheRetention?: boolean | undefined;
735
+ sendCodexTurnMetadata?: boolean | undefined;
736
+ } | {
737
+ supportsEagerToolInputStreaming?: boolean | undefined;
738
+ supportsLongCacheRetention?: boolean | undefined;
739
+ sendSessionAffinityHeaders?: boolean | undefined;
740
+ supportsCacheControlOnTools?: boolean | undefined;
741
+ forceAdaptiveThinking?: boolean | undefined;
742
+ } | undefined;
743
+ }[] | undefined;
744
+ modelOverrides?: Record<string, {
745
+ name?: string | undefined;
746
+ reasoning?: boolean | undefined;
747
+ thinkingLevelMap?: {
748
+ off?: string | null | undefined;
749
+ minimal?: string | null | undefined;
750
+ low?: string | null | undefined;
751
+ medium?: string | null | undefined;
752
+ high?: string | null | undefined;
753
+ xhigh?: string | null | undefined;
754
+ max?: string | null | undefined;
755
+ } | undefined;
756
+ input?: ("image" | "text")[] | undefined;
757
+ cost?: {
758
+ input?: number | undefined;
759
+ output?: number | undefined;
760
+ cacheRead?: number | undefined;
761
+ cacheWrite?: number | undefined;
762
+ } | undefined;
763
+ contextWindow?: number | undefined;
764
+ maxTokens?: number | undefined;
765
+ headers?: Record<string, string> | undefined;
766
+ compat?: {
767
+ supportsStore?: boolean | undefined;
768
+ supportsDeveloperRole?: boolean | undefined;
769
+ supportsReasoningEffort?: boolean | undefined;
770
+ supportsUsageInStreaming?: boolean | undefined;
771
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
772
+ requiresToolResultName?: boolean | undefined;
773
+ requiresAssistantAfterToolResult?: boolean | undefined;
774
+ requiresThinkingAsText?: boolean | undefined;
775
+ requiresReasoningContentOnAssistantMessages?: boolean | undefined;
776
+ thinkingFormat?: "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "together" | "zai" | undefined;
777
+ cacheControlFormat?: "anthropic" | undefined;
778
+ openRouterRouting?: {
779
+ allow_fallbacks?: boolean | undefined;
780
+ require_parameters?: boolean | undefined;
781
+ data_collection?: "allow" | "deny" | undefined;
782
+ zdr?: boolean | undefined;
783
+ enforce_distillable_text?: boolean | undefined;
784
+ order?: string[] | undefined;
785
+ only?: string[] | undefined;
786
+ ignore?: string[] | undefined;
787
+ quantizations?: string[] | undefined;
788
+ sort?: string | {
789
+ by?: string | undefined;
790
+ partition?: string | null | undefined;
791
+ } | undefined;
792
+ max_price?: {
793
+ prompt?: string | number | undefined;
794
+ completion?: string | number | undefined;
795
+ image?: string | number | undefined;
796
+ audio?: string | number | undefined;
797
+ request?: string | number | undefined;
798
+ } | undefined;
799
+ preferred_min_throughput?: number | {
800
+ p50?: number | undefined;
801
+ p75?: number | undefined;
802
+ p90?: number | undefined;
803
+ p99?: number | undefined;
804
+ } | undefined;
805
+ preferred_max_latency?: number | {
806
+ p50?: number | undefined;
807
+ p75?: number | undefined;
808
+ p90?: number | undefined;
809
+ p99?: number | undefined;
810
+ } | undefined;
811
+ } | undefined;
812
+ vercelGatewayRouting?: {
813
+ only?: string[] | undefined;
814
+ order?: string[] | undefined;
815
+ } | undefined;
816
+ supportsStrictMode?: boolean | undefined;
817
+ supportsLongCacheRetention?: boolean | undefined;
818
+ } | {
819
+ sendSessionIdHeader?: boolean | undefined;
820
+ supportsLongCacheRetention?: boolean | undefined;
821
+ sendCodexTurnMetadata?: boolean | undefined;
822
+ } | {
823
+ supportsEagerToolInputStreaming?: boolean | undefined;
824
+ supportsLongCacheRetention?: boolean | undefined;
825
+ sendSessionAffinityHeaders?: boolean | undefined;
826
+ supportsCacheControlOnTools?: boolean | undefined;
827
+ forceAdaptiveThinking?: boolean | undefined;
828
+ } | undefined;
829
+ }> | undefined;
830
+ }>;
831
+ }, {
832
+ providers: Record<string, {
833
+ name?: string | undefined;
834
+ baseUrl?: string | undefined;
835
+ apiKey?: string | undefined;
836
+ api?: string | undefined;
837
+ headers?: Record<string, string> | undefined;
838
+ compat?: {
839
+ supportsStore?: boolean | undefined;
840
+ supportsDeveloperRole?: boolean | undefined;
841
+ supportsReasoningEffort?: boolean | undefined;
842
+ supportsUsageInStreaming?: boolean | undefined;
843
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
844
+ requiresToolResultName?: boolean | undefined;
845
+ requiresAssistantAfterToolResult?: boolean | undefined;
846
+ requiresThinkingAsText?: boolean | undefined;
847
+ requiresReasoningContentOnAssistantMessages?: boolean | undefined;
848
+ thinkingFormat?: "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "together" | "zai" | undefined;
849
+ cacheControlFormat?: "anthropic" | undefined;
850
+ openRouterRouting?: {
851
+ allow_fallbacks?: boolean | undefined;
852
+ require_parameters?: boolean | undefined;
853
+ data_collection?: "allow" | "deny" | undefined;
854
+ zdr?: boolean | undefined;
855
+ enforce_distillable_text?: boolean | undefined;
856
+ order?: string[] | undefined;
857
+ only?: string[] | undefined;
858
+ ignore?: string[] | undefined;
859
+ quantizations?: string[] | undefined;
860
+ sort?: string | {
861
+ by?: string | undefined;
862
+ partition?: string | null | undefined;
863
+ } | undefined;
864
+ max_price?: {
865
+ prompt?: string | number | undefined;
866
+ completion?: string | number | undefined;
867
+ image?: string | number | undefined;
868
+ audio?: string | number | undefined;
869
+ request?: string | number | undefined;
870
+ } | undefined;
871
+ preferred_min_throughput?: number | {
872
+ p50?: number | undefined;
873
+ p75?: number | undefined;
874
+ p90?: number | undefined;
875
+ p99?: number | undefined;
876
+ } | undefined;
877
+ preferred_max_latency?: number | {
878
+ p50?: number | undefined;
879
+ p75?: number | undefined;
880
+ p90?: number | undefined;
881
+ p99?: number | undefined;
882
+ } | undefined;
883
+ } | undefined;
884
+ vercelGatewayRouting?: {
885
+ only?: string[] | undefined;
886
+ order?: string[] | undefined;
887
+ } | undefined;
888
+ supportsStrictMode?: boolean | undefined;
889
+ supportsLongCacheRetention?: boolean | undefined;
890
+ } | {
891
+ sendSessionIdHeader?: boolean | undefined;
892
+ supportsLongCacheRetention?: boolean | undefined;
893
+ sendCodexTurnMetadata?: boolean | undefined;
894
+ } | {
895
+ supportsEagerToolInputStreaming?: boolean | undefined;
896
+ supportsLongCacheRetention?: boolean | undefined;
897
+ sendSessionAffinityHeaders?: boolean | undefined;
898
+ supportsCacheControlOnTools?: boolean | undefined;
899
+ forceAdaptiveThinking?: boolean | undefined;
900
+ } | undefined;
901
+ authHeader?: boolean | undefined;
902
+ models?: {
903
+ id: string;
904
+ name?: string | undefined;
905
+ api?: string | undefined;
906
+ baseUrl?: string | undefined;
907
+ reasoning?: boolean | undefined;
908
+ thinkingLevelMap?: {
909
+ off?: string | null | undefined;
910
+ minimal?: string | null | undefined;
911
+ low?: string | null | undefined;
912
+ medium?: string | null | undefined;
913
+ high?: string | null | undefined;
914
+ xhigh?: string | null | undefined;
915
+ max?: string | null | undefined;
916
+ } | undefined;
917
+ input?: ("image" | "text")[] | undefined;
918
+ cost?: {
919
+ input: number;
920
+ output: number;
921
+ cacheRead: number;
922
+ cacheWrite: number;
923
+ } | undefined;
924
+ contextWindow?: number | undefined;
925
+ maxTokens?: number | undefined;
926
+ headers?: Record<string, string> | undefined;
927
+ compat?: {
928
+ supportsStore?: boolean | undefined;
929
+ supportsDeveloperRole?: boolean | undefined;
930
+ supportsReasoningEffort?: boolean | undefined;
931
+ supportsUsageInStreaming?: boolean | undefined;
932
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
933
+ requiresToolResultName?: boolean | undefined;
934
+ requiresAssistantAfterToolResult?: boolean | undefined;
935
+ requiresThinkingAsText?: boolean | undefined;
936
+ requiresReasoningContentOnAssistantMessages?: boolean | undefined;
937
+ thinkingFormat?: "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "together" | "zai" | undefined;
938
+ cacheControlFormat?: "anthropic" | undefined;
939
+ openRouterRouting?: {
940
+ allow_fallbacks?: boolean | undefined;
941
+ require_parameters?: boolean | undefined;
942
+ data_collection?: "allow" | "deny" | undefined;
943
+ zdr?: boolean | undefined;
944
+ enforce_distillable_text?: boolean | undefined;
945
+ order?: string[] | undefined;
946
+ only?: string[] | undefined;
947
+ ignore?: string[] | undefined;
948
+ quantizations?: string[] | undefined;
949
+ sort?: string | {
950
+ by?: string | undefined;
951
+ partition?: string | null | undefined;
952
+ } | undefined;
953
+ max_price?: {
954
+ prompt?: string | number | undefined;
955
+ completion?: string | number | undefined;
956
+ image?: string | number | undefined;
957
+ audio?: string | number | undefined;
958
+ request?: string | number | undefined;
959
+ } | undefined;
960
+ preferred_min_throughput?: number | {
961
+ p50?: number | undefined;
962
+ p75?: number | undefined;
963
+ p90?: number | undefined;
964
+ p99?: number | undefined;
965
+ } | undefined;
966
+ preferred_max_latency?: number | {
967
+ p50?: number | undefined;
968
+ p75?: number | undefined;
969
+ p90?: number | undefined;
970
+ p99?: number | undefined;
971
+ } | undefined;
972
+ } | undefined;
973
+ vercelGatewayRouting?: {
974
+ only?: string[] | undefined;
975
+ order?: string[] | undefined;
976
+ } | undefined;
977
+ supportsStrictMode?: boolean | undefined;
978
+ supportsLongCacheRetention?: boolean | undefined;
979
+ } | {
980
+ sendSessionIdHeader?: boolean | undefined;
981
+ supportsLongCacheRetention?: boolean | undefined;
982
+ sendCodexTurnMetadata?: boolean | undefined;
983
+ } | {
984
+ supportsEagerToolInputStreaming?: boolean | undefined;
985
+ supportsLongCacheRetention?: boolean | undefined;
986
+ sendSessionAffinityHeaders?: boolean | undefined;
987
+ supportsCacheControlOnTools?: boolean | undefined;
988
+ forceAdaptiveThinking?: boolean | undefined;
989
+ } | undefined;
990
+ }[] | undefined;
991
+ modelOverrides?: Record<string, {
992
+ name?: string | undefined;
993
+ reasoning?: boolean | undefined;
994
+ thinkingLevelMap?: {
995
+ off?: string | null | undefined;
996
+ minimal?: string | null | undefined;
997
+ low?: string | null | undefined;
998
+ medium?: string | null | undefined;
999
+ high?: string | null | undefined;
1000
+ xhigh?: string | null | undefined;
1001
+ max?: string | null | undefined;
1002
+ } | undefined;
1003
+ input?: ("image" | "text")[] | undefined;
1004
+ cost?: {
1005
+ input?: number | undefined;
1006
+ output?: number | undefined;
1007
+ cacheRead?: number | undefined;
1008
+ cacheWrite?: number | undefined;
1009
+ } | undefined;
1010
+ contextWindow?: number | undefined;
1011
+ maxTokens?: number | undefined;
1012
+ headers?: Record<string, string> | undefined;
1013
+ compat?: {
1014
+ supportsStore?: boolean | undefined;
1015
+ supportsDeveloperRole?: boolean | undefined;
1016
+ supportsReasoningEffort?: boolean | undefined;
1017
+ supportsUsageInStreaming?: boolean | undefined;
1018
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1019
+ requiresToolResultName?: boolean | undefined;
1020
+ requiresAssistantAfterToolResult?: boolean | undefined;
1021
+ requiresThinkingAsText?: boolean | undefined;
1022
+ requiresReasoningContentOnAssistantMessages?: boolean | undefined;
1023
+ thinkingFormat?: "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "together" | "zai" | undefined;
1024
+ cacheControlFormat?: "anthropic" | undefined;
1025
+ openRouterRouting?: {
1026
+ allow_fallbacks?: boolean | undefined;
1027
+ require_parameters?: boolean | undefined;
1028
+ data_collection?: "allow" | "deny" | undefined;
1029
+ zdr?: boolean | undefined;
1030
+ enforce_distillable_text?: boolean | undefined;
1031
+ order?: string[] | undefined;
1032
+ only?: string[] | undefined;
1033
+ ignore?: string[] | undefined;
1034
+ quantizations?: string[] | undefined;
1035
+ sort?: string | {
1036
+ by?: string | undefined;
1037
+ partition?: string | null | undefined;
1038
+ } | undefined;
1039
+ max_price?: {
1040
+ prompt?: string | number | undefined;
1041
+ completion?: string | number | undefined;
1042
+ image?: string | number | undefined;
1043
+ audio?: string | number | undefined;
1044
+ request?: string | number | undefined;
1045
+ } | undefined;
1046
+ preferred_min_throughput?: number | {
1047
+ p50?: number | undefined;
1048
+ p75?: number | undefined;
1049
+ p90?: number | undefined;
1050
+ p99?: number | undefined;
1051
+ } | undefined;
1052
+ preferred_max_latency?: number | {
1053
+ p50?: number | undefined;
1054
+ p75?: number | undefined;
1055
+ p90?: number | undefined;
1056
+ p99?: number | undefined;
1057
+ } | undefined;
1058
+ } | undefined;
1059
+ vercelGatewayRouting?: {
1060
+ only?: string[] | undefined;
1061
+ order?: string[] | undefined;
1062
+ } | undefined;
1063
+ supportsStrictMode?: boolean | undefined;
1064
+ supportsLongCacheRetention?: boolean | undefined;
1065
+ } | {
1066
+ sendSessionIdHeader?: boolean | undefined;
1067
+ supportsLongCacheRetention?: boolean | undefined;
1068
+ sendCodexTurnMetadata?: boolean | undefined;
1069
+ } | {
1070
+ supportsEagerToolInputStreaming?: boolean | undefined;
1071
+ supportsLongCacheRetention?: boolean | undefined;
1072
+ sendSessionAffinityHeaders?: boolean | undefined;
1073
+ supportsCacheControlOnTools?: boolean | undefined;
1074
+ forceAdaptiveThinking?: boolean | undefined;
1075
+ } | undefined;
1076
+ }> | undefined;
1077
+ }>;
1078
+ }>;
1079
+ export type ModelsConfig = Static<typeof ModelsConfigSchema>;
1080
+ export {};
1081
+ //# sourceMappingURL=model-registry-schema.d.ts.map