@oh-my-pi/pi-coding-agent 16.0.5 → 16.0.6

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 (223) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/cli.js +1927 -1376
  3. package/dist/types/advisor/advise-tool.d.ts +22 -19
  4. package/dist/types/autoresearch/tools/init-experiment.d.ts +13 -17
  5. package/dist/types/autoresearch/tools/log-experiment.d.ts +17 -19
  6. package/dist/types/autoresearch/tools/run-experiment.d.ts +3 -4
  7. package/dist/types/autoresearch/tools/update-notes.d.ts +4 -5
  8. package/dist/types/cli/ttsr-cli.d.ts +39 -0
  9. package/dist/types/commands/ttsr.d.ts +57 -0
  10. package/dist/types/commit/agentic/tools/analyze-file.d.ts +4 -5
  11. package/dist/types/commit/agentic/tools/git-file-diff.d.ts +4 -5
  12. package/dist/types/commit/agentic/tools/git-hunk.d.ts +5 -6
  13. package/dist/types/commit/agentic/tools/git-overview.d.ts +4 -5
  14. package/dist/types/commit/agentic/tools/propose-changelog.d.ts +23 -24
  15. package/dist/types/commit/agentic/tools/propose-commit.d.ts +11 -32
  16. package/dist/types/commit/agentic/tools/recent-commits.d.ts +3 -4
  17. package/dist/types/commit/agentic/tools/schemas.d.ts +6 -27
  18. package/dist/types/commit/agentic/tools/split-commit.d.ts +28 -49
  19. package/dist/types/commit/changelog/generate.d.ts +12 -13
  20. package/dist/types/commit/shared-llm.d.ts +10 -37
  21. package/dist/types/config/config-file.d.ts +4 -4
  22. package/dist/types/config/keybindings.d.ts +5 -0
  23. package/dist/types/config/models-config-schema.d.ts +625 -990
  24. package/dist/types/config/models-config.d.ts +229 -217
  25. package/dist/types/config/settings-schema.d.ts +53 -23
  26. package/dist/types/edit/hashline/params.d.ts +7 -11
  27. package/dist/types/edit/index.d.ts +2 -1
  28. package/dist/types/edit/modes/apply-patch.d.ts +4 -5
  29. package/dist/types/edit/modes/patch.d.ts +15 -24
  30. package/dist/types/edit/modes/replace.d.ts +16 -17
  31. package/dist/types/eval/js/index.d.ts +1 -0
  32. package/dist/types/extensibility/custom-commands/types.d.ts +6 -3
  33. package/dist/types/extensibility/custom-tools/types.d.ts +8 -5
  34. package/dist/types/extensibility/extensions/types.d.ts +6 -3
  35. package/dist/types/extensibility/hooks/types.d.ts +7 -4
  36. package/dist/types/extensibility/legacy-pi-ai-shim.d.ts +13 -5
  37. package/dist/types/extensibility/legacy-pi-coding-agent-shim.d.ts +17 -0
  38. package/dist/types/extensibility/typebox.d.ts +80 -58
  39. package/dist/types/goals/tools/goal-tool.d.ts +11 -24
  40. package/dist/types/index.d.ts +2 -0
  41. package/dist/types/lsp/index.d.ts +11 -26
  42. package/dist/types/lsp/types.d.ts +12 -28
  43. package/dist/types/mcp/client.d.ts +8 -0
  44. package/dist/types/modes/components/btw-panel.d.ts +1 -0
  45. package/dist/types/modes/components/custom-editor.d.ts +3 -1
  46. package/dist/types/modes/controllers/btw-controller.d.ts +2 -0
  47. package/dist/types/modes/controllers/input-controller.d.ts +1 -0
  48. package/dist/types/modes/interactive-mode.d.ts +3 -0
  49. package/dist/types/modes/setup-wizard/index.d.ts +1 -0
  50. package/dist/types/modes/setup-wizard/startup-splash.d.ts +7 -0
  51. package/dist/types/modes/theme/theme.d.ts +1 -1
  52. package/dist/types/modes/types.d.ts +3 -0
  53. package/dist/types/sdk.d.ts +5 -0
  54. package/dist/types/session/agent-session.d.ts +4 -0
  55. package/dist/types/startup-splash.d.ts +12 -0
  56. package/dist/types/task/types.d.ts +47 -48
  57. package/dist/types/tools/ask.d.ts +26 -27
  58. package/dist/types/tools/ast-edit.d.ts +17 -17
  59. package/dist/types/tools/ast-grep.d.ts +12 -13
  60. package/dist/types/tools/bash.d.ts +20 -17
  61. package/dist/types/tools/browser.d.ts +46 -71
  62. package/dist/types/tools/checkpoint.d.ts +14 -15
  63. package/dist/types/tools/debug.d.ts +82 -145
  64. package/dist/types/tools/eval.d.ts +30 -40
  65. package/dist/types/tools/find.d.ts +17 -18
  66. package/dist/types/tools/gh.d.ts +49 -78
  67. package/dist/types/tools/image-gen.d.ts +20 -36
  68. package/dist/types/tools/inspect-image.d.ts +10 -11
  69. package/dist/types/tools/irc.d.ts +22 -33
  70. package/dist/types/tools/job.d.ts +11 -12
  71. package/dist/types/tools/learn.d.ts +21 -28
  72. package/dist/types/tools/manage-skill.d.ts +13 -22
  73. package/dist/types/tools/memory-edit.d.ts +15 -24
  74. package/dist/types/tools/memory-recall.d.ts +7 -8
  75. package/dist/types/tools/memory-reflect.d.ts +9 -10
  76. package/dist/types/tools/memory-retain.d.ts +13 -14
  77. package/dist/types/tools/read.d.ts +7 -8
  78. package/dist/types/tools/resolve.d.ts +11 -18
  79. package/dist/types/tools/review.d.ts +9 -15
  80. package/dist/types/tools/search-tool-bm25.d.ts +9 -10
  81. package/dist/types/tools/search.d.ts +16 -17
  82. package/dist/types/tools/ssh.d.ts +14 -15
  83. package/dist/types/tools/todo.d.ts +27 -43
  84. package/dist/types/tools/tts.d.ts +8 -9
  85. package/dist/types/tools/write.d.ts +9 -10
  86. package/dist/types/tui/index.d.ts +1 -0
  87. package/dist/types/tui/width-aware-text.d.ts +23 -0
  88. package/dist/types/utils/markit.d.ts +10 -1
  89. package/dist/types/web/search/index.d.ts +17 -28
  90. package/dist/types/web/search/providers/perplexity.d.ts +0 -2
  91. package/dist/types/web/search/types.d.ts +32 -26
  92. package/package.json +14 -13
  93. package/scripts/omp +1 -1
  94. package/src/advisor/__tests__/advisor.test.ts +44 -1
  95. package/src/advisor/advise-tool.ts +34 -11
  96. package/src/autoresearch/tools/init-experiment.ts +13 -16
  97. package/src/autoresearch/tools/log-experiment.ts +15 -18
  98. package/src/autoresearch/tools/run-experiment.ts +3 -3
  99. package/src/autoresearch/tools/update-notes.ts +4 -4
  100. package/src/cli/ttsr-cli.ts +995 -0
  101. package/src/cli-commands.ts +1 -0
  102. package/src/cli.ts +7 -1
  103. package/src/commands/ttsr.ts +125 -0
  104. package/src/commit/agentic/tools/analyze-file.ts +4 -4
  105. package/src/commit/agentic/tools/git-file-diff.ts +4 -4
  106. package/src/commit/agentic/tools/git-hunk.ts +7 -5
  107. package/src/commit/agentic/tools/git-overview.ts +4 -4
  108. package/src/commit/agentic/tools/propose-changelog.ts +18 -15
  109. package/src/commit/agentic/tools/propose-commit.ts +6 -6
  110. package/src/commit/agentic/tools/recent-commits.ts +3 -3
  111. package/src/commit/agentic/tools/schemas.ts +8 -20
  112. package/src/commit/agentic/tools/split-commit.ts +19 -23
  113. package/src/commit/analysis/summary.ts +7 -5
  114. package/src/commit/changelog/generate.ts +15 -11
  115. package/src/commit/shared-llm.ts +17 -24
  116. package/src/config/config-file.ts +13 -15
  117. package/src/config/keybindings.ts +6 -0
  118. package/src/config/models-config-schema.ts +206 -179
  119. package/src/config/settings-schema.ts +34 -0
  120. package/src/discovery/builtin-rules/index.ts +2 -0
  121. package/src/discovery/builtin-rules/ts-import-type.md +2 -2
  122. package/src/discovery/builtin-rules/ts-no-any.md +11 -2
  123. package/src/discovery/builtin-rules/ts-no-inline-cast-access.md +55 -0
  124. package/src/edit/hashline/params.ts +12 -11
  125. package/src/edit/index.ts +5 -4
  126. package/src/edit/modes/apply-patch.ts +4 -4
  127. package/src/edit/modes/patch.ts +15 -18
  128. package/src/edit/modes/replace.ts +13 -17
  129. package/src/edit/renderer.ts +0 -1
  130. package/src/eval/agent-bridge.ts +11 -13
  131. package/src/eval/completion-bridge.ts +25 -17
  132. package/src/eval/js/context-manager.ts +17 -2
  133. package/src/eval/js/index.ts +1 -1
  134. package/src/eval/py/executor.ts +2 -2
  135. package/src/extensibility/custom-commands/loader.ts +5 -3
  136. package/src/extensibility/custom-commands/types.ts +6 -3
  137. package/src/extensibility/custom-tools/loader.ts +4 -2
  138. package/src/extensibility/custom-tools/types.ts +8 -5
  139. package/src/extensibility/extensions/loader.ts +4 -2
  140. package/src/extensibility/extensions/types.ts +6 -3
  141. package/src/extensibility/hooks/loader.ts +5 -2
  142. package/src/extensibility/hooks/types.ts +7 -4
  143. package/src/extensibility/legacy-pi-ai-shim.ts +42 -5
  144. package/src/extensibility/legacy-pi-coding-agent-shim.ts +113 -0
  145. package/src/extensibility/plugins/legacy-pi-compat.ts +13 -13
  146. package/src/extensibility/tool-proxy.ts +4 -1
  147. package/src/extensibility/typebox.ts +778 -251
  148. package/src/goals/guided-setup.ts +12 -3
  149. package/src/goals/tools/goal-tool.ts +6 -6
  150. package/src/index.ts +2 -0
  151. package/src/internal-urls/docs-index.generated.ts +11 -9
  152. package/src/lsp/types.ts +13 -27
  153. package/src/main.ts +19 -18
  154. package/src/mcp/client.ts +38 -13
  155. package/src/mcp/render.ts +102 -89
  156. package/src/modes/components/agent-hub.ts +11 -4
  157. package/src/modes/components/btw-panel.ts +5 -1
  158. package/src/modes/components/custom-editor.ts +18 -0
  159. package/src/modes/components/status-line/component.ts +8 -1
  160. package/src/modes/components/tool-execution.ts +17 -10
  161. package/src/modes/controllers/btw-controller.ts +69 -1
  162. package/src/modes/controllers/input-controller.ts +29 -0
  163. package/src/modes/interactive-mode.ts +38 -8
  164. package/src/modes/setup-wizard/index.ts +1 -0
  165. package/src/modes/setup-wizard/scenes/sign-in.ts +77 -5
  166. package/src/modes/setup-wizard/startup-splash.ts +107 -0
  167. package/src/modes/theme/theme.ts +133 -143
  168. package/src/modes/types.ts +3 -0
  169. package/src/modes/utils/context-usage.ts +9 -5
  170. package/src/modes/utils/hotkeys-markdown.ts +1 -0
  171. package/src/prompts/system/system-prompt.md +1 -0
  172. package/src/sdk.ts +21 -4
  173. package/src/session/agent-session.ts +160 -33
  174. package/src/session/session-history-format.ts +11 -2
  175. package/src/session/snapcompact-inline.ts +1 -1
  176. package/src/slash-commands/builtin-registry.ts +4 -11
  177. package/src/startup-splash.ts +19 -0
  178. package/src/task/executor.ts +11 -6
  179. package/src/task/types.ts +44 -41
  180. package/src/tool-discovery/tool-index.ts +17 -4
  181. package/src/tools/ask.ts +14 -14
  182. package/src/tools/ast-edit.ts +17 -14
  183. package/src/tools/ast-grep.ts +10 -9
  184. package/src/tools/bash.ts +15 -10
  185. package/src/tools/browser/launch.ts +13 -0
  186. package/src/tools/browser.ts +26 -32
  187. package/src/tools/checkpoint.ts +7 -7
  188. package/src/tools/debug.ts +72 -69
  189. package/src/tools/eval.ts +18 -19
  190. package/src/tools/find.ts +20 -13
  191. package/src/tools/gh.ts +29 -49
  192. package/src/tools/image-gen.ts +27 -32
  193. package/src/tools/inspect-image.ts +8 -9
  194. package/src/tools/irc.ts +12 -12
  195. package/src/tools/job.ts +6 -6
  196. package/src/tools/learn.ts +11 -14
  197. package/src/tools/manage-skill.ts +19 -23
  198. package/src/tools/memory-edit.ts +8 -8
  199. package/src/tools/memory-recall.ts +4 -4
  200. package/src/tools/memory-reflect.ts +5 -5
  201. package/src/tools/memory-retain.ts +9 -11
  202. package/src/tools/puppeteer/02_stealth_hairline.txt +1 -1
  203. package/src/tools/puppeteer/04_stealth_iframe.txt +4 -4
  204. package/src/tools/puppeteer/05_stealth_webgl.txt +1 -1
  205. package/src/tools/puppeteer/10_stealth_plugins.txt +6 -4
  206. package/src/tools/puppeteer/12_stealth_codecs.txt +2 -2
  207. package/src/tools/puppeteer/13_stealth_worker.txt +1 -1
  208. package/src/tools/read.ts +169 -13
  209. package/src/tools/report-tool-issue.ts +6 -6
  210. package/src/tools/resolve.ts +6 -6
  211. package/src/tools/review.ts +10 -12
  212. package/src/tools/search-tool-bm25.ts +5 -5
  213. package/src/tools/search.ts +20 -29
  214. package/src/tools/ssh.ts +8 -8
  215. package/src/tools/todo.ts +16 -19
  216. package/src/tools/tts.ts +16 -15
  217. package/src/tools/write.ts +5 -5
  218. package/src/tui/index.ts +1 -0
  219. package/src/tui/width-aware-text.ts +58 -0
  220. package/src/utils/markit.ts +17 -2
  221. package/src/web/search/index.ts +9 -9
  222. package/src/web/search/providers/perplexity.ts +373 -126
  223. package/src/web/search/types.ts +28 -48
@@ -1,201 +1,105 @@
1
- import { z } from "zod/v4";
2
- export declare const OpenAICompatSchema: z.ZodObject<{
3
- supportsStore: z.ZodOptional<z.ZodBoolean>;
4
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
5
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
6
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
7
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
8
- minimal: z.ZodOptional<z.ZodString>;
9
- low: z.ZodOptional<z.ZodString>;
10
- medium: z.ZodOptional<z.ZodString>;
11
- high: z.ZodOptional<z.ZodString>;
12
- xhigh: z.ZodOptional<z.ZodString>;
13
- }, z.core.$strip>>;
14
- maxTokensField: z.ZodOptional<z.ZodEnum<{
15
- max_completion_tokens: "max_completion_tokens";
16
- max_tokens: "max_tokens";
17
- }>>;
18
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
19
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
20
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
21
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
22
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
23
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
24
- reasoning: "reasoning";
25
- reasoning_content: "reasoning_content";
26
- reasoning_text: "reasoning_text";
27
- }>>;
28
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
29
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
30
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
31
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
32
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
33
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
34
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
35
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
36
- openai: "openai";
37
- openrouter: "openrouter";
38
- qwen: "qwen";
39
- "qwen-chat-template": "qwen-chat-template";
40
- zai: "zai";
41
- }>>;
42
- openRouterRouting: z.ZodOptional<z.ZodObject<{
43
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
44
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
45
- }, z.core.$strip>>;
46
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
47
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
48
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
49
- }, z.core.$strip>>;
50
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
51
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
52
- anthropic: "anthropic";
53
- }>>;
54
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
55
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
56
- all_strict: "all_strict";
57
- none: "none";
58
- }>>;
59
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
60
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
61
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
62
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
63
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
64
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
65
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
66
- whenThinking: z.ZodOptional<z.ZodObject<{
67
- supportsStore: z.ZodOptional<z.ZodBoolean>;
68
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
69
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
70
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
71
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
72
- minimal: z.ZodOptional<z.ZodString>;
73
- low: z.ZodOptional<z.ZodString>;
74
- medium: z.ZodOptional<z.ZodString>;
75
- high: z.ZodOptional<z.ZodString>;
76
- xhigh: z.ZodOptional<z.ZodString>;
77
- }, z.core.$strip>>;
78
- maxTokensField: z.ZodOptional<z.ZodEnum<{
79
- max_completion_tokens: "max_completion_tokens";
80
- max_tokens: "max_tokens";
81
- }>>;
82
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
83
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
84
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
85
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
86
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
87
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
88
- reasoning: "reasoning";
89
- reasoning_content: "reasoning_content";
90
- reasoning_text: "reasoning_text";
91
- }>>;
92
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
93
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
94
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
95
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
96
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
97
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
98
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
99
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
100
- openai: "openai";
101
- openrouter: "openrouter";
102
- qwen: "qwen";
103
- "qwen-chat-template": "qwen-chat-template";
104
- zai: "zai";
105
- }>>;
106
- openRouterRouting: z.ZodOptional<z.ZodObject<{
107
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
108
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
109
- }, z.core.$strip>>;
110
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
111
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
112
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
113
- }, z.core.$strip>>;
114
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
115
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
116
- anthropic: "anthropic";
117
- }>>;
118
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
119
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
120
- all_strict: "all_strict";
121
- none: "none";
122
- }>>;
123
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
124
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
125
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
126
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
127
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
128
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
129
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
130
- }, z.core.$strip>>;
131
- }, z.core.$strip>;
132
- export declare const ModelOverrideSchema: z.ZodObject<{
133
- name: z.ZodOptional<z.ZodString>;
134
- reasoning: z.ZodOptional<z.ZodBoolean>;
135
- thinking: z.ZodOptional<z.ZodPipe<z.ZodObject<{
136
- mode: z.ZodEnum<{
137
- "anthropic-adaptive": "anthropic-adaptive";
138
- "anthropic-budget-effort": "anthropic-budget-effort";
139
- budget: "budget";
140
- effort: "effort";
141
- "google-level": "google-level";
142
- }>;
143
- efforts: z.ZodOptional<z.ZodArray<z.ZodEnum<{
144
- high: "high";
145
- low: "low";
146
- medium: "medium";
147
- minimal: "minimal";
148
- xhigh: "xhigh";
149
- }>>>;
150
- defaultLevel: z.ZodOptional<z.ZodEnum<{
151
- high: "high";
152
- low: "low";
153
- medium: "medium";
154
- minimal: "minimal";
155
- xhigh: "xhigh";
156
- }>>;
157
- effortMap: z.ZodOptional<z.ZodObject<{
158
- minimal: z.ZodOptional<z.ZodString>;
159
- low: z.ZodOptional<z.ZodString>;
160
- medium: z.ZodOptional<z.ZodString>;
161
- high: z.ZodOptional<z.ZodString>;
162
- xhigh: z.ZodOptional<z.ZodString>;
163
- }, z.core.$strip>>;
164
- supportsDisplay: z.ZodOptional<z.ZodBoolean>;
165
- minLevel: z.ZodOptional<z.ZodEnum<{
166
- high: "high";
167
- low: "low";
168
- medium: "medium";
169
- minimal: "minimal";
170
- xhigh: "xhigh";
171
- }>>;
172
- maxLevel: z.ZodOptional<z.ZodEnum<{
173
- high: "high";
174
- low: "low";
175
- medium: "medium";
176
- minimal: "minimal";
177
- xhigh: "xhigh";
178
- }>>;
179
- levels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
180
- high: "high";
181
- low: "low";
182
- medium: "medium";
183
- minimal: "minimal";
184
- xhigh: "xhigh";
185
- }>>>;
186
- }, z.core.$strip>, z.ZodTransform<{
187
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
188
- efforts: ("high" | "low" | "medium" | "minimal" | "xhigh")[];
189
- defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
190
- effortMap?: {
1
+ export declare const OpenAICompatSchema: import("arktype/internal/variants/object.ts").ObjectType<{
2
+ supportsStore?: boolean | undefined;
3
+ supportsDeveloperRole?: boolean | undefined;
4
+ supportsMultipleSystemMessages?: boolean | undefined;
5
+ supportsReasoningEffort?: boolean | undefined;
6
+ reasoningEffortMap?: {
7
+ minimal?: string | undefined;
8
+ low?: string | undefined;
9
+ medium?: string | undefined;
10
+ high?: string | undefined;
11
+ xhigh?: string | undefined;
12
+ } | undefined;
13
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
14
+ supportsUsageInStreaming?: boolean | undefined;
15
+ requiresToolResultName?: boolean | undefined;
16
+ requiresMistralToolIds?: boolean | undefined;
17
+ requiresAssistantAfterToolResult?: boolean | undefined;
18
+ requiresThinkingAsText?: boolean | undefined;
19
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
20
+ requiresReasoningContentForToolCalls?: boolean | undefined;
21
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
22
+ requiresAssistantContentForToolCalls?: boolean | undefined;
23
+ supportsToolChoice?: boolean | undefined;
24
+ supportsForcedToolChoice?: boolean | undefined;
25
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
26
+ disableReasoningOnToolChoice?: boolean | undefined;
27
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
28
+ openRouterRouting?: {
29
+ only?: string[] | undefined;
30
+ order?: string[] | undefined;
31
+ } | undefined;
32
+ vercelGatewayRouting?: {
33
+ only?: string[] | undefined;
34
+ order?: string[] | undefined;
35
+ } | undefined;
36
+ extraBody?: {
37
+ [x: string]: unknown;
38
+ } | undefined;
39
+ cacheControlFormat?: "anthropic" | undefined;
40
+ supportsStrictMode?: boolean | undefined;
41
+ toolStrictMode?: "all_strict" | "none" | undefined;
42
+ streamIdleTimeoutMs?: number | undefined;
43
+ supportsLongPromptCacheRetention?: boolean | undefined;
44
+ supportsReasoningParams?: boolean | undefined;
45
+ alwaysSendMaxTokens?: boolean | undefined;
46
+ strictResponsesPairing?: boolean | undefined;
47
+ requiresToolResultId?: boolean | undefined;
48
+ replayUnsignedThinking?: boolean | undefined;
49
+ whenThinking?: {
50
+ supportsStore?: boolean | undefined;
51
+ supportsDeveloperRole?: boolean | undefined;
52
+ supportsMultipleSystemMessages?: boolean | undefined;
53
+ supportsReasoningEffort?: boolean | undefined;
54
+ reasoningEffortMap?: {
191
55
  minimal?: string | undefined;
192
56
  low?: string | undefined;
193
57
  medium?: string | undefined;
194
58
  high?: string | undefined;
195
59
  xhigh?: string | undefined;
196
60
  } | undefined;
197
- supportsDisplay?: boolean | undefined;
198
- }, {
61
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
62
+ supportsUsageInStreaming?: boolean | undefined;
63
+ requiresToolResultName?: boolean | undefined;
64
+ requiresMistralToolIds?: boolean | undefined;
65
+ requiresAssistantAfterToolResult?: boolean | undefined;
66
+ requiresThinkingAsText?: boolean | undefined;
67
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
68
+ requiresReasoningContentForToolCalls?: boolean | undefined;
69
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
70
+ requiresAssistantContentForToolCalls?: boolean | undefined;
71
+ supportsToolChoice?: boolean | undefined;
72
+ supportsForcedToolChoice?: boolean | undefined;
73
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
74
+ disableReasoningOnToolChoice?: boolean | undefined;
75
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
76
+ openRouterRouting?: {
77
+ only?: string[] | undefined;
78
+ order?: string[] | undefined;
79
+ } | undefined;
80
+ vercelGatewayRouting?: {
81
+ only?: string[] | undefined;
82
+ order?: string[] | undefined;
83
+ } | undefined;
84
+ extraBody?: {
85
+ [x: string]: unknown;
86
+ } | undefined;
87
+ cacheControlFormat?: "anthropic" | undefined;
88
+ supportsStrictMode?: boolean | undefined;
89
+ toolStrictMode?: "all_strict" | "none" | undefined;
90
+ streamIdleTimeoutMs?: number | undefined;
91
+ supportsLongPromptCacheRetention?: boolean | undefined;
92
+ supportsReasoningParams?: boolean | undefined;
93
+ alwaysSendMaxTokens?: boolean | undefined;
94
+ strictResponsesPairing?: boolean | undefined;
95
+ requiresToolResultId?: boolean | undefined;
96
+ replayUnsignedThinking?: boolean | undefined;
97
+ } | undefined;
98
+ }, {}>;
99
+ export declare const ModelOverrideSchema: import("arktype/internal/variants/object.ts").ObjectType<{
100
+ name?: string | undefined;
101
+ reasoning?: boolean | undefined;
102
+ thinking?: ((In: {
199
103
  mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
200
104
  efforts?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
201
105
  defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
@@ -210,810 +114,541 @@ export declare const ModelOverrideSchema: z.ZodObject<{
210
114
  minLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
211
115
  maxLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
212
116
  levels?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
213
- }>>>;
214
- input: z.ZodOptional<z.ZodArray<z.ZodEnum<{
215
- image: "image";
216
- text: "text";
217
- }>>>;
218
- supportsTools: z.ZodOptional<z.ZodBoolean>;
219
- cost: z.ZodOptional<z.ZodObject<{
220
- input: z.ZodOptional<z.ZodNumber>;
221
- output: z.ZodOptional<z.ZodNumber>;
222
- cacheRead: z.ZodOptional<z.ZodNumber>;
223
- cacheWrite: z.ZodOptional<z.ZodNumber>;
224
- }, z.core.$strip>>;
225
- premiumMultiplier: z.ZodOptional<z.ZodNumber>;
226
- contextWindow: z.ZodOptional<z.ZodNumber>;
227
- maxTokens: z.ZodOptional<z.ZodNumber>;
228
- omitMaxOutputTokens: z.ZodOptional<z.ZodBoolean>;
229
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
230
- compat: z.ZodOptional<z.ZodObject<{
231
- supportsStore: z.ZodOptional<z.ZodBoolean>;
232
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
233
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
234
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
235
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
236
- minimal: z.ZodOptional<z.ZodString>;
237
- low: z.ZodOptional<z.ZodString>;
238
- medium: z.ZodOptional<z.ZodString>;
239
- high: z.ZodOptional<z.ZodString>;
240
- xhigh: z.ZodOptional<z.ZodString>;
241
- }, z.core.$strip>>;
242
- maxTokensField: z.ZodOptional<z.ZodEnum<{
243
- max_completion_tokens: "max_completion_tokens";
244
- max_tokens: "max_tokens";
245
- }>>;
246
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
247
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
248
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
249
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
250
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
251
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
252
- reasoning: "reasoning";
253
- reasoning_content: "reasoning_content";
254
- reasoning_text: "reasoning_text";
255
- }>>;
256
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
257
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
258
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
259
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
260
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
261
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
262
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
263
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
264
- openai: "openai";
265
- openrouter: "openrouter";
266
- qwen: "qwen";
267
- "qwen-chat-template": "qwen-chat-template";
268
- zai: "zai";
269
- }>>;
270
- openRouterRouting: z.ZodOptional<z.ZodObject<{
271
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
272
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
273
- }, z.core.$strip>>;
274
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
275
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
276
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
277
- }, z.core.$strip>>;
278
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
279
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
280
- anthropic: "anthropic";
281
- }>>;
282
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
283
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
284
- all_strict: "all_strict";
285
- none: "none";
286
- }>>;
287
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
288
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
289
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
290
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
291
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
292
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
293
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
294
- whenThinking: z.ZodOptional<z.ZodObject<{
295
- supportsStore: z.ZodOptional<z.ZodBoolean>;
296
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
297
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
298
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
299
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
300
- minimal: z.ZodOptional<z.ZodString>;
301
- low: z.ZodOptional<z.ZodString>;
302
- medium: z.ZodOptional<z.ZodString>;
303
- high: z.ZodOptional<z.ZodString>;
304
- xhigh: z.ZodOptional<z.ZodString>;
305
- }, z.core.$strip>>;
306
- maxTokensField: z.ZodOptional<z.ZodEnum<{
307
- max_completion_tokens: "max_completion_tokens";
308
- max_tokens: "max_tokens";
309
- }>>;
310
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
311
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
312
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
313
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
314
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
315
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
316
- reasoning: "reasoning";
317
- reasoning_content: "reasoning_content";
318
- reasoning_text: "reasoning_text";
319
- }>>;
320
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
321
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
322
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
323
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
324
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
325
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
326
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
327
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
328
- openai: "openai";
329
- openrouter: "openrouter";
330
- qwen: "qwen";
331
- "qwen-chat-template": "qwen-chat-template";
332
- zai: "zai";
333
- }>>;
334
- openRouterRouting: z.ZodOptional<z.ZodObject<{
335
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
336
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
337
- }, z.core.$strip>>;
338
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
339
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
340
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
341
- }, z.core.$strip>>;
342
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
343
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
344
- anthropic: "anthropic";
345
- }>>;
346
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
347
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
348
- all_strict: "all_strict";
349
- none: "none";
350
- }>>;
351
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
352
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
353
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
354
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
355
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
356
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
357
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
358
- }, z.core.$strip>>;
359
- }, z.core.$strip>>;
360
- contextPromotionTarget: z.ZodOptional<z.ZodString>;
361
- }, z.core.$strip>;
362
- export type ModelOverride = z.infer<typeof ModelOverrideSchema>;
363
- export declare const ProviderDiscoverySchema: z.ZodObject<{
364
- type: z.ZodEnum<{
365
- "llama.cpp": "llama.cpp";
366
- "lm-studio": "lm-studio";
367
- ollama: "ollama";
368
- "openai-models-list": "openai-models-list";
369
- proxy: "proxy";
370
- }>;
371
- }, z.core.$strip>;
372
- export declare const ProviderAuthSchema: z.ZodEnum<{
373
- apiKey: "apiKey";
374
- none: "none";
375
- oauth: "oauth";
376
- }>;
377
- export type ProviderAuthMode = z.infer<typeof ProviderAuthSchema>;
378
- export type ProviderDiscovery = z.infer<typeof ProviderDiscoverySchema>;
379
- export declare const ModelsConfigSchema: z.ZodObject<{
380
- providers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
381
- baseUrl: z.ZodOptional<z.ZodString>;
382
- apiKey: z.ZodOptional<z.ZodString>;
383
- api: z.ZodOptional<z.ZodEnum<{
384
- "anthropic-messages": "anthropic-messages";
385
- "azure-openai-responses": "azure-openai-responses";
386
- "google-gemini-cli": "google-gemini-cli";
387
- "google-generative-ai": "google-generative-ai";
388
- "google-vertex": "google-vertex";
389
- "openai-codex-responses": "openai-codex-responses";
390
- "openai-completions": "openai-completions";
391
- "openai-responses": "openai-responses";
392
- }>>;
393
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
394
- compat: z.ZodOptional<z.ZodObject<{
395
- supportsStore: z.ZodOptional<z.ZodBoolean>;
396
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
397
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
398
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
399
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
400
- minimal: z.ZodOptional<z.ZodString>;
401
- low: z.ZodOptional<z.ZodString>;
402
- medium: z.ZodOptional<z.ZodString>;
403
- high: z.ZodOptional<z.ZodString>;
404
- xhigh: z.ZodOptional<z.ZodString>;
405
- }, z.core.$strip>>;
406
- maxTokensField: z.ZodOptional<z.ZodEnum<{
407
- max_completion_tokens: "max_completion_tokens";
408
- max_tokens: "max_tokens";
409
- }>>;
410
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
411
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
412
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
413
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
414
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
415
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
416
- reasoning: "reasoning";
417
- reasoning_content: "reasoning_content";
418
- reasoning_text: "reasoning_text";
419
- }>>;
420
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
421
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
422
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
423
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
424
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
425
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
426
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
427
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
428
- openai: "openai";
429
- openrouter: "openrouter";
430
- qwen: "qwen";
431
- "qwen-chat-template": "qwen-chat-template";
432
- zai: "zai";
433
- }>>;
434
- openRouterRouting: z.ZodOptional<z.ZodObject<{
435
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
436
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
437
- }, z.core.$strip>>;
438
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
439
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
440
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
441
- }, z.core.$strip>>;
442
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
443
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
444
- anthropic: "anthropic";
445
- }>>;
446
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
447
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
448
- all_strict: "all_strict";
449
- none: "none";
450
- }>>;
451
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
452
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
453
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
454
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
455
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
456
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
457
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
458
- whenThinking: z.ZodOptional<z.ZodObject<{
459
- supportsStore: z.ZodOptional<z.ZodBoolean>;
460
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
461
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
462
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
463
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
464
- minimal: z.ZodOptional<z.ZodString>;
465
- low: z.ZodOptional<z.ZodString>;
466
- medium: z.ZodOptional<z.ZodString>;
467
- high: z.ZodOptional<z.ZodString>;
468
- xhigh: z.ZodOptional<z.ZodString>;
469
- }, z.core.$strip>>;
470
- maxTokensField: z.ZodOptional<z.ZodEnum<{
471
- max_completion_tokens: "max_completion_tokens";
472
- max_tokens: "max_tokens";
473
- }>>;
474
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
475
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
476
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
477
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
478
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
479
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
480
- reasoning: "reasoning";
481
- reasoning_content: "reasoning_content";
482
- reasoning_text: "reasoning_text";
483
- }>>;
484
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
485
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
486
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
487
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
488
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
489
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
490
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
491
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
492
- openai: "openai";
493
- openrouter: "openrouter";
494
- qwen: "qwen";
495
- "qwen-chat-template": "qwen-chat-template";
496
- zai: "zai";
497
- }>>;
498
- openRouterRouting: z.ZodOptional<z.ZodObject<{
499
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
500
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
501
- }, z.core.$strip>>;
502
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
503
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
504
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
505
- }, z.core.$strip>>;
506
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
507
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
508
- anthropic: "anthropic";
509
- }>>;
510
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
511
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
512
- all_strict: "all_strict";
513
- none: "none";
514
- }>>;
515
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
516
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
517
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
518
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
519
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
520
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
521
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
522
- }, z.core.$strip>>;
523
- }, z.core.$strip>>;
524
- authHeader: z.ZodOptional<z.ZodBoolean>;
525
- auth: z.ZodOptional<z.ZodEnum<{
526
- apiKey: "apiKey";
527
- none: "none";
528
- oauth: "oauth";
529
- }>>;
530
- discovery: z.ZodOptional<z.ZodObject<{
531
- type: z.ZodEnum<{
532
- "llama.cpp": "llama.cpp";
533
- "lm-studio": "lm-studio";
534
- ollama: "ollama";
535
- "openai-models-list": "openai-models-list";
536
- proxy: "proxy";
537
- }>;
538
- }, z.core.$strip>>;
539
- models: z.ZodOptional<z.ZodArray<z.ZodObject<{
540
- id: z.ZodString;
541
- name: z.ZodOptional<z.ZodString>;
542
- api: z.ZodOptional<z.ZodEnum<{
543
- "anthropic-messages": "anthropic-messages";
544
- "azure-openai-responses": "azure-openai-responses";
545
- "google-gemini-cli": "google-gemini-cli";
546
- "google-generative-ai": "google-generative-ai";
547
- "google-vertex": "google-vertex";
548
- "openai-codex-responses": "openai-codex-responses";
549
- "openai-completions": "openai-completions";
550
- "openai-responses": "openai-responses";
551
- }>>;
552
- baseUrl: z.ZodOptional<z.ZodString>;
553
- reasoning: z.ZodOptional<z.ZodBoolean>;
554
- thinking: z.ZodOptional<z.ZodPipe<z.ZodObject<{
555
- mode: z.ZodEnum<{
556
- "anthropic-adaptive": "anthropic-adaptive";
557
- "anthropic-budget-effort": "anthropic-budget-effort";
558
- budget: "budget";
559
- effort: "effort";
560
- "google-level": "google-level";
561
- }>;
562
- efforts: z.ZodOptional<z.ZodArray<z.ZodEnum<{
563
- high: "high";
564
- low: "low";
565
- medium: "medium";
566
- minimal: "minimal";
567
- xhigh: "xhigh";
568
- }>>>;
569
- defaultLevel: z.ZodOptional<z.ZodEnum<{
570
- high: "high";
571
- low: "low";
572
- medium: "medium";
573
- minimal: "minimal";
574
- xhigh: "xhigh";
575
- }>>;
576
- effortMap: z.ZodOptional<z.ZodObject<{
577
- minimal: z.ZodOptional<z.ZodString>;
578
- low: z.ZodOptional<z.ZodString>;
579
- medium: z.ZodOptional<z.ZodString>;
580
- high: z.ZodOptional<z.ZodString>;
581
- xhigh: z.ZodOptional<z.ZodString>;
582
- }, z.core.$strip>>;
583
- supportsDisplay: z.ZodOptional<z.ZodBoolean>;
584
- minLevel: z.ZodOptional<z.ZodEnum<{
585
- high: "high";
586
- low: "low";
587
- medium: "medium";
588
- minimal: "minimal";
589
- xhigh: "xhigh";
590
- }>>;
591
- maxLevel: z.ZodOptional<z.ZodEnum<{
592
- high: "high";
593
- low: "low";
594
- medium: "medium";
595
- minimal: "minimal";
596
- xhigh: "xhigh";
597
- }>>;
598
- levels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
599
- high: "high";
600
- low: "low";
601
- medium: "medium";
602
- minimal: "minimal";
603
- xhigh: "xhigh";
604
- }>>>;
605
- }, z.core.$strip>, z.ZodTransform<{
606
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
607
- efforts: ("high" | "low" | "medium" | "minimal" | "xhigh")[];
608
- defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
609
- effortMap?: {
117
+ }) => import("arktype").Out<{
118
+ mode: any;
119
+ efforts: any;
120
+ defaultLevel?: any;
121
+ effortMap?: any;
122
+ supportsDisplay?: any;
123
+ }>) | undefined;
124
+ input?: ("image" | "text")[] | undefined;
125
+ supportsTools?: boolean | undefined;
126
+ cost?: {
127
+ input?: number | undefined;
128
+ output?: number | undefined;
129
+ cacheRead?: number | undefined;
130
+ cacheWrite?: number | undefined;
131
+ } | undefined;
132
+ premiumMultiplier?: number | undefined;
133
+ contextWindow?: number | undefined;
134
+ maxTokens?: number | undefined;
135
+ omitMaxOutputTokens?: boolean | undefined;
136
+ headers?: {
137
+ [x: string]: string;
138
+ } | undefined;
139
+ compat?: {
140
+ supportsStore?: boolean | undefined;
141
+ supportsDeveloperRole?: boolean | undefined;
142
+ supportsMultipleSystemMessages?: boolean | undefined;
143
+ supportsReasoningEffort?: boolean | undefined;
144
+ reasoningEffortMap?: {
145
+ minimal?: string | undefined;
146
+ low?: string | undefined;
147
+ medium?: string | undefined;
148
+ high?: string | undefined;
149
+ xhigh?: string | undefined;
150
+ } | undefined;
151
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
152
+ supportsUsageInStreaming?: boolean | undefined;
153
+ requiresToolResultName?: boolean | undefined;
154
+ requiresMistralToolIds?: boolean | undefined;
155
+ requiresAssistantAfterToolResult?: boolean | undefined;
156
+ requiresThinkingAsText?: boolean | undefined;
157
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
158
+ requiresReasoningContentForToolCalls?: boolean | undefined;
159
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
160
+ requiresAssistantContentForToolCalls?: boolean | undefined;
161
+ supportsToolChoice?: boolean | undefined;
162
+ supportsForcedToolChoice?: boolean | undefined;
163
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
164
+ disableReasoningOnToolChoice?: boolean | undefined;
165
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
166
+ openRouterRouting?: {
167
+ only?: string[] | undefined;
168
+ order?: string[] | undefined;
169
+ } | undefined;
170
+ vercelGatewayRouting?: {
171
+ only?: string[] | undefined;
172
+ order?: string[] | undefined;
173
+ } | undefined;
174
+ extraBody?: {
175
+ [x: string]: unknown;
176
+ } | undefined;
177
+ cacheControlFormat?: "anthropic" | undefined;
178
+ supportsStrictMode?: boolean | undefined;
179
+ toolStrictMode?: "all_strict" | "none" | undefined;
180
+ streamIdleTimeoutMs?: number | undefined;
181
+ supportsLongPromptCacheRetention?: boolean | undefined;
182
+ supportsReasoningParams?: boolean | undefined;
183
+ alwaysSendMaxTokens?: boolean | undefined;
184
+ strictResponsesPairing?: boolean | undefined;
185
+ requiresToolResultId?: boolean | undefined;
186
+ replayUnsignedThinking?: boolean | undefined;
187
+ whenThinking?: {
188
+ supportsStore?: boolean | undefined;
189
+ supportsDeveloperRole?: boolean | undefined;
190
+ supportsMultipleSystemMessages?: boolean | undefined;
191
+ supportsReasoningEffort?: boolean | undefined;
192
+ reasoningEffortMap?: {
193
+ minimal?: string | undefined;
194
+ low?: string | undefined;
195
+ medium?: string | undefined;
196
+ high?: string | undefined;
197
+ xhigh?: string | undefined;
198
+ } | undefined;
199
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
200
+ supportsUsageInStreaming?: boolean | undefined;
201
+ requiresToolResultName?: boolean | undefined;
202
+ requiresMistralToolIds?: boolean | undefined;
203
+ requiresAssistantAfterToolResult?: boolean | undefined;
204
+ requiresThinkingAsText?: boolean | undefined;
205
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
206
+ requiresReasoningContentForToolCalls?: boolean | undefined;
207
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
208
+ requiresAssistantContentForToolCalls?: boolean | undefined;
209
+ supportsToolChoice?: boolean | undefined;
210
+ supportsForcedToolChoice?: boolean | undefined;
211
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
212
+ disableReasoningOnToolChoice?: boolean | undefined;
213
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
214
+ openRouterRouting?: {
215
+ only?: string[] | undefined;
216
+ order?: string[] | undefined;
217
+ } | undefined;
218
+ vercelGatewayRouting?: {
219
+ only?: string[] | undefined;
220
+ order?: string[] | undefined;
221
+ } | undefined;
222
+ extraBody?: {
223
+ [x: string]: unknown;
224
+ } | undefined;
225
+ cacheControlFormat?: "anthropic" | undefined;
226
+ supportsStrictMode?: boolean | undefined;
227
+ toolStrictMode?: "all_strict" | "none" | undefined;
228
+ streamIdleTimeoutMs?: number | undefined;
229
+ supportsLongPromptCacheRetention?: boolean | undefined;
230
+ supportsReasoningParams?: boolean | undefined;
231
+ alwaysSendMaxTokens?: boolean | undefined;
232
+ strictResponsesPairing?: boolean | undefined;
233
+ requiresToolResultId?: boolean | undefined;
234
+ replayUnsignedThinking?: boolean | undefined;
235
+ } | undefined;
236
+ } | undefined;
237
+ contextPromotionTarget?: string | undefined;
238
+ }, {}>;
239
+ export type ModelOverride = typeof ModelOverrideSchema.infer;
240
+ export declare const ProviderDiscoverySchema: import("arktype/internal/variants/object.ts").ObjectType<{
241
+ type: "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
242
+ }, {}>;
243
+ export declare const ProviderAuthSchema: import("arktype/internal/variants/string.ts").StringType<"apiKey" | "none" | "oauth", {}>;
244
+ export type ProviderAuthMode = typeof ProviderAuthSchema.infer;
245
+ export type ProviderDiscovery = typeof ProviderDiscoverySchema.infer;
246
+ export declare const ModelsConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
247
+ providers?: {
248
+ [x: string]: {
249
+ baseUrl?: string | undefined;
250
+ apiKey?: string | undefined;
251
+ api?: "anthropic-messages" | "azure-openai-responses" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
252
+ headers?: {
253
+ [x: string]: string;
254
+ } | undefined;
255
+ compat?: {
256
+ supportsStore?: boolean | undefined;
257
+ supportsDeveloperRole?: boolean | undefined;
258
+ supportsMultipleSystemMessages?: boolean | undefined;
259
+ supportsReasoningEffort?: boolean | undefined;
260
+ reasoningEffortMap?: {
610
261
  minimal?: string | undefined;
611
262
  low?: string | undefined;
612
263
  medium?: string | undefined;
613
264
  high?: string | undefined;
614
265
  xhigh?: string | undefined;
615
266
  } | undefined;
616
- supportsDisplay?: boolean | undefined;
617
- }, {
618
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
619
- efforts?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
620
- defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
621
- effortMap?: {
622
- minimal?: string | undefined;
623
- low?: string | undefined;
624
- medium?: string | undefined;
625
- high?: string | undefined;
626
- xhigh?: string | undefined;
267
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
268
+ supportsUsageInStreaming?: boolean | undefined;
269
+ requiresToolResultName?: boolean | undefined;
270
+ requiresMistralToolIds?: boolean | undefined;
271
+ requiresAssistantAfterToolResult?: boolean | undefined;
272
+ requiresThinkingAsText?: boolean | undefined;
273
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
274
+ requiresReasoningContentForToolCalls?: boolean | undefined;
275
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
276
+ requiresAssistantContentForToolCalls?: boolean | undefined;
277
+ supportsToolChoice?: boolean | undefined;
278
+ supportsForcedToolChoice?: boolean | undefined;
279
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
280
+ disableReasoningOnToolChoice?: boolean | undefined;
281
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
282
+ openRouterRouting?: {
283
+ only?: string[] | undefined;
284
+ order?: string[] | undefined;
627
285
  } | undefined;
628
- supportsDisplay?: boolean | undefined;
629
- minLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
630
- maxLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
631
- levels?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
632
- }>>>;
633
- input: z.ZodOptional<z.ZodArray<z.ZodEnum<{
634
- image: "image";
635
- text: "text";
636
- }>>>;
637
- supportsTools: z.ZodOptional<z.ZodBoolean>;
638
- cost: z.ZodOptional<z.ZodObject<{
639
- input: z.ZodNumber;
640
- output: z.ZodNumber;
641
- cacheRead: z.ZodNumber;
642
- cacheWrite: z.ZodNumber;
643
- }, z.core.$strip>>;
644
- premiumMultiplier: z.ZodOptional<z.ZodNumber>;
645
- contextWindow: z.ZodOptional<z.ZodNumber>;
646
- maxTokens: z.ZodOptional<z.ZodNumber>;
647
- omitMaxOutputTokens: z.ZodOptional<z.ZodBoolean>;
648
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
649
- compat: z.ZodOptional<z.ZodObject<{
650
- supportsStore: z.ZodOptional<z.ZodBoolean>;
651
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
652
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
653
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
654
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
655
- minimal: z.ZodOptional<z.ZodString>;
656
- low: z.ZodOptional<z.ZodString>;
657
- medium: z.ZodOptional<z.ZodString>;
658
- high: z.ZodOptional<z.ZodString>;
659
- xhigh: z.ZodOptional<z.ZodString>;
660
- }, z.core.$strip>>;
661
- maxTokensField: z.ZodOptional<z.ZodEnum<{
662
- max_completion_tokens: "max_completion_tokens";
663
- max_tokens: "max_tokens";
664
- }>>;
665
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
666
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
667
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
668
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
669
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
670
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
671
- reasoning: "reasoning";
672
- reasoning_content: "reasoning_content";
673
- reasoning_text: "reasoning_text";
674
- }>>;
675
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
676
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
677
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
678
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
679
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
680
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
681
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
682
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
683
- openai: "openai";
684
- openrouter: "openrouter";
685
- qwen: "qwen";
686
- "qwen-chat-template": "qwen-chat-template";
687
- zai: "zai";
688
- }>>;
689
- openRouterRouting: z.ZodOptional<z.ZodObject<{
690
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
691
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
692
- }, z.core.$strip>>;
693
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
694
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
695
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
696
- }, z.core.$strip>>;
697
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
698
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
699
- anthropic: "anthropic";
700
- }>>;
701
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
702
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
703
- all_strict: "all_strict";
704
- none: "none";
705
- }>>;
706
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
707
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
708
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
709
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
710
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
711
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
712
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
713
- whenThinking: z.ZodOptional<z.ZodObject<{
714
- supportsStore: z.ZodOptional<z.ZodBoolean>;
715
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
716
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
717
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
718
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
719
- minimal: z.ZodOptional<z.ZodString>;
720
- low: z.ZodOptional<z.ZodString>;
721
- medium: z.ZodOptional<z.ZodString>;
722
- high: z.ZodOptional<z.ZodString>;
723
- xhigh: z.ZodOptional<z.ZodString>;
724
- }, z.core.$strip>>;
725
- maxTokensField: z.ZodOptional<z.ZodEnum<{
726
- max_completion_tokens: "max_completion_tokens";
727
- max_tokens: "max_tokens";
728
- }>>;
729
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
730
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
731
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
732
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
733
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
734
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
735
- reasoning: "reasoning";
736
- reasoning_content: "reasoning_content";
737
- reasoning_text: "reasoning_text";
738
- }>>;
739
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
740
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
741
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
742
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
743
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
744
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
745
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
746
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
747
- openai: "openai";
748
- openrouter: "openrouter";
749
- qwen: "qwen";
750
- "qwen-chat-template": "qwen-chat-template";
751
- zai: "zai";
752
- }>>;
753
- openRouterRouting: z.ZodOptional<z.ZodObject<{
754
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
755
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
756
- }, z.core.$strip>>;
757
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
758
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
759
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
760
- }, z.core.$strip>>;
761
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
762
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
763
- anthropic: "anthropic";
764
- }>>;
765
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
766
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
767
- all_strict: "all_strict";
768
- none: "none";
769
- }>>;
770
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
771
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
772
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
773
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
774
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
775
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
776
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
777
- }, z.core.$strip>>;
778
- }, z.core.$strip>>;
779
- contextPromotionTarget: z.ZodOptional<z.ZodString>;
780
- }, z.core.$strip>>>;
781
- modelOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
782
- name: z.ZodOptional<z.ZodString>;
783
- reasoning: z.ZodOptional<z.ZodBoolean>;
784
- thinking: z.ZodOptional<z.ZodPipe<z.ZodObject<{
785
- mode: z.ZodEnum<{
786
- "anthropic-adaptive": "anthropic-adaptive";
787
- "anthropic-budget-effort": "anthropic-budget-effort";
788
- budget: "budget";
789
- effort: "effort";
790
- "google-level": "google-level";
791
- }>;
792
- efforts: z.ZodOptional<z.ZodArray<z.ZodEnum<{
793
- high: "high";
794
- low: "low";
795
- medium: "medium";
796
- minimal: "minimal";
797
- xhigh: "xhigh";
798
- }>>>;
799
- defaultLevel: z.ZodOptional<z.ZodEnum<{
800
- high: "high";
801
- low: "low";
802
- medium: "medium";
803
- minimal: "minimal";
804
- xhigh: "xhigh";
805
- }>>;
806
- effortMap: z.ZodOptional<z.ZodObject<{
807
- minimal: z.ZodOptional<z.ZodString>;
808
- low: z.ZodOptional<z.ZodString>;
809
- medium: z.ZodOptional<z.ZodString>;
810
- high: z.ZodOptional<z.ZodString>;
811
- xhigh: z.ZodOptional<z.ZodString>;
812
- }, z.core.$strip>>;
813
- supportsDisplay: z.ZodOptional<z.ZodBoolean>;
814
- minLevel: z.ZodOptional<z.ZodEnum<{
815
- high: "high";
816
- low: "low";
817
- medium: "medium";
818
- minimal: "minimal";
819
- xhigh: "xhigh";
820
- }>>;
821
- maxLevel: z.ZodOptional<z.ZodEnum<{
822
- high: "high";
823
- low: "low";
824
- medium: "medium";
825
- minimal: "minimal";
826
- xhigh: "xhigh";
827
- }>>;
828
- levels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
829
- high: "high";
830
- low: "low";
831
- medium: "medium";
832
- minimal: "minimal";
833
- xhigh: "xhigh";
834
- }>>>;
835
- }, z.core.$strip>, z.ZodTransform<{
836
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
837
- efforts: ("high" | "low" | "medium" | "minimal" | "xhigh")[];
838
- defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
839
- effortMap?: {
840
- minimal?: string | undefined;
841
- low?: string | undefined;
842
- medium?: string | undefined;
843
- high?: string | undefined;
844
- xhigh?: string | undefined;
286
+ vercelGatewayRouting?: {
287
+ only?: string[] | undefined;
288
+ order?: string[] | undefined;
845
289
  } | undefined;
846
- supportsDisplay?: boolean | undefined;
847
- }, {
848
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
849
- efforts?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
850
- defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
851
- effortMap?: {
852
- minimal?: string | undefined;
853
- low?: string | undefined;
854
- medium?: string | undefined;
855
- high?: string | undefined;
856
- xhigh?: string | undefined;
290
+ extraBody?: {
291
+ [x: string]: unknown;
292
+ } | undefined;
293
+ cacheControlFormat?: "anthropic" | undefined;
294
+ supportsStrictMode?: boolean | undefined;
295
+ toolStrictMode?: "all_strict" | "none" | undefined;
296
+ streamIdleTimeoutMs?: number | undefined;
297
+ supportsLongPromptCacheRetention?: boolean | undefined;
298
+ supportsReasoningParams?: boolean | undefined;
299
+ alwaysSendMaxTokens?: boolean | undefined;
300
+ strictResponsesPairing?: boolean | undefined;
301
+ requiresToolResultId?: boolean | undefined;
302
+ replayUnsignedThinking?: boolean | undefined;
303
+ whenThinking?: {
304
+ supportsStore?: boolean | undefined;
305
+ supportsDeveloperRole?: boolean | undefined;
306
+ supportsMultipleSystemMessages?: boolean | undefined;
307
+ supportsReasoningEffort?: boolean | undefined;
308
+ reasoningEffortMap?: {
309
+ minimal?: string | undefined;
310
+ low?: string | undefined;
311
+ medium?: string | undefined;
312
+ high?: string | undefined;
313
+ xhigh?: string | undefined;
314
+ } | undefined;
315
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
316
+ supportsUsageInStreaming?: boolean | undefined;
317
+ requiresToolResultName?: boolean | undefined;
318
+ requiresMistralToolIds?: boolean | undefined;
319
+ requiresAssistantAfterToolResult?: boolean | undefined;
320
+ requiresThinkingAsText?: boolean | undefined;
321
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
322
+ requiresReasoningContentForToolCalls?: boolean | undefined;
323
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
324
+ requiresAssistantContentForToolCalls?: boolean | undefined;
325
+ supportsToolChoice?: boolean | undefined;
326
+ supportsForcedToolChoice?: boolean | undefined;
327
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
328
+ disableReasoningOnToolChoice?: boolean | undefined;
329
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
330
+ openRouterRouting?: {
331
+ only?: string[] | undefined;
332
+ order?: string[] | undefined;
333
+ } | undefined;
334
+ vercelGatewayRouting?: {
335
+ only?: string[] | undefined;
336
+ order?: string[] | undefined;
337
+ } | undefined;
338
+ extraBody?: {
339
+ [x: string]: unknown;
340
+ } | undefined;
341
+ cacheControlFormat?: "anthropic" | undefined;
342
+ supportsStrictMode?: boolean | undefined;
343
+ toolStrictMode?: "all_strict" | "none" | undefined;
344
+ streamIdleTimeoutMs?: number | undefined;
345
+ supportsLongPromptCacheRetention?: boolean | undefined;
346
+ supportsReasoningParams?: boolean | undefined;
347
+ alwaysSendMaxTokens?: boolean | undefined;
348
+ strictResponsesPairing?: boolean | undefined;
349
+ requiresToolResultId?: boolean | undefined;
350
+ replayUnsignedThinking?: boolean | undefined;
857
351
  } | undefined;
858
- supportsDisplay?: boolean | undefined;
859
- minLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
860
- maxLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
861
- levels?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
862
- }>>>;
863
- input: z.ZodOptional<z.ZodArray<z.ZodEnum<{
864
- image: "image";
865
- text: "text";
866
- }>>>;
867
- supportsTools: z.ZodOptional<z.ZodBoolean>;
868
- cost: z.ZodOptional<z.ZodObject<{
869
- input: z.ZodOptional<z.ZodNumber>;
870
- output: z.ZodOptional<z.ZodNumber>;
871
- cacheRead: z.ZodOptional<z.ZodNumber>;
872
- cacheWrite: z.ZodOptional<z.ZodNumber>;
873
- }, z.core.$strip>>;
874
- premiumMultiplier: z.ZodOptional<z.ZodNumber>;
875
- contextWindow: z.ZodOptional<z.ZodNumber>;
876
- maxTokens: z.ZodOptional<z.ZodNumber>;
877
- omitMaxOutputTokens: z.ZodOptional<z.ZodBoolean>;
878
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
879
- compat: z.ZodOptional<z.ZodObject<{
880
- supportsStore: z.ZodOptional<z.ZodBoolean>;
881
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
882
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
883
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
884
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
885
- minimal: z.ZodOptional<z.ZodString>;
886
- low: z.ZodOptional<z.ZodString>;
887
- medium: z.ZodOptional<z.ZodString>;
888
- high: z.ZodOptional<z.ZodString>;
889
- xhigh: z.ZodOptional<z.ZodString>;
890
- }, z.core.$strip>>;
891
- maxTokensField: z.ZodOptional<z.ZodEnum<{
892
- max_completion_tokens: "max_completion_tokens";
893
- max_tokens: "max_tokens";
894
- }>>;
895
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
896
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
897
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
898
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
899
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
900
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
901
- reasoning: "reasoning";
902
- reasoning_content: "reasoning_content";
903
- reasoning_text: "reasoning_text";
904
- }>>;
905
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
906
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
907
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
908
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
909
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
910
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
911
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
912
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
913
- openai: "openai";
914
- openrouter: "openrouter";
915
- qwen: "qwen";
916
- "qwen-chat-template": "qwen-chat-template";
917
- zai: "zai";
918
- }>>;
919
- openRouterRouting: z.ZodOptional<z.ZodObject<{
920
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
921
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
922
- }, z.core.$strip>>;
923
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
924
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
925
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
926
- }, z.core.$strip>>;
927
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
928
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
929
- anthropic: "anthropic";
930
- }>>;
931
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
932
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
933
- all_strict: "all_strict";
934
- none: "none";
935
- }>>;
936
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
937
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
938
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
939
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
940
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
941
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
942
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
943
- whenThinking: z.ZodOptional<z.ZodObject<{
944
- supportsStore: z.ZodOptional<z.ZodBoolean>;
945
- supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>;
946
- supportsMultipleSystemMessages: z.ZodOptional<z.ZodBoolean>;
947
- supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>;
948
- reasoningEffortMap: z.ZodOptional<z.ZodObject<{
949
- minimal: z.ZodOptional<z.ZodString>;
950
- low: z.ZodOptional<z.ZodString>;
951
- medium: z.ZodOptional<z.ZodString>;
952
- high: z.ZodOptional<z.ZodString>;
953
- xhigh: z.ZodOptional<z.ZodString>;
954
- }, z.core.$strip>>;
955
- maxTokensField: z.ZodOptional<z.ZodEnum<{
956
- max_completion_tokens: "max_completion_tokens";
957
- max_tokens: "max_tokens";
958
- }>>;
959
- supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>;
960
- requiresToolResultName: z.ZodOptional<z.ZodBoolean>;
961
- requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>;
962
- requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>;
963
- requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>;
964
- reasoningContentField: z.ZodOptional<z.ZodEnum<{
965
- reasoning: "reasoning";
966
- reasoning_content: "reasoning_content";
967
- reasoning_text: "reasoning_text";
968
- }>>;
969
- requiresReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
970
- allowsSyntheticReasoningContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
971
- requiresAssistantContentForToolCalls: z.ZodOptional<z.ZodBoolean>;
972
- supportsToolChoice: z.ZodOptional<z.ZodBoolean>;
973
- supportsForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
974
- disableReasoningOnForcedToolChoice: z.ZodOptional<z.ZodBoolean>;
975
- disableReasoningOnToolChoice: z.ZodOptional<z.ZodBoolean>;
976
- thinkingFormat: z.ZodOptional<z.ZodEnum<{
977
- openai: "openai";
978
- openrouter: "openrouter";
979
- qwen: "qwen";
980
- "qwen-chat-template": "qwen-chat-template";
981
- zai: "zai";
982
- }>>;
983
- openRouterRouting: z.ZodOptional<z.ZodObject<{
984
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
985
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
986
- }, z.core.$strip>>;
987
- vercelGatewayRouting: z.ZodOptional<z.ZodObject<{
988
- only: z.ZodOptional<z.ZodArray<z.ZodString>>;
989
- order: z.ZodOptional<z.ZodArray<z.ZodString>>;
990
- }, z.core.$strip>>;
991
- extraBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
992
- cacheControlFormat: z.ZodOptional<z.ZodEnum<{
993
- anthropic: "anthropic";
994
- }>>;
995
- supportsStrictMode: z.ZodOptional<z.ZodBoolean>;
996
- toolStrictMode: z.ZodOptional<z.ZodEnum<{
997
- all_strict: "all_strict";
998
- none: "none";
999
- }>>;
1000
- streamIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
1001
- supportsLongPromptCacheRetention: z.ZodOptional<z.ZodBoolean>;
1002
- supportsReasoningParams: z.ZodOptional<z.ZodBoolean>;
1003
- alwaysSendMaxTokens: z.ZodOptional<z.ZodBoolean>;
1004
- strictResponsesPairing: z.ZodOptional<z.ZodBoolean>;
1005
- requiresToolResultId: z.ZodOptional<z.ZodBoolean>;
1006
- replayUnsignedThinking: z.ZodOptional<z.ZodBoolean>;
1007
- }, z.core.$strip>>;
1008
- }, z.core.$strip>>;
1009
- contextPromotionTarget: z.ZodOptional<z.ZodString>;
1010
- }, z.core.$strip>>>;
1011
- disableStrictTools: z.ZodOptional<z.ZodBoolean>;
1012
- transport: z.ZodOptional<z.ZodLiteral<"pi-native">>;
1013
- }, z.core.$strip>>>;
1014
- equivalence: z.ZodOptional<z.ZodObject<{
1015
- overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1016
- exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1017
- }, z.core.$strip>>;
1018
- }, z.core.$strip>;
1019
- export type ModelsConfig = z.infer<typeof ModelsConfigSchema>;
352
+ } | undefined;
353
+ authHeader?: boolean | undefined;
354
+ auth?: "apiKey" | "none" | "oauth" | undefined;
355
+ discovery?: {
356
+ type: "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
357
+ } | undefined;
358
+ models?: {
359
+ id: string;
360
+ name?: string | undefined;
361
+ api?: "anthropic-messages" | "azure-openai-responses" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
362
+ baseUrl?: string | undefined;
363
+ reasoning?: boolean | undefined;
364
+ thinking?: ((In: {
365
+ mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
366
+ efforts?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
367
+ defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
368
+ effortMap?: {
369
+ minimal?: string | undefined;
370
+ low?: string | undefined;
371
+ medium?: string | undefined;
372
+ high?: string | undefined;
373
+ xhigh?: string | undefined;
374
+ } | undefined;
375
+ supportsDisplay?: boolean | undefined;
376
+ minLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
377
+ maxLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
378
+ levels?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
379
+ }) => import("arktype").Out<{
380
+ mode: any;
381
+ efforts: any;
382
+ defaultLevel?: any;
383
+ effortMap?: any;
384
+ supportsDisplay?: any;
385
+ }>) | undefined;
386
+ input?: ("image" | "text")[] | undefined;
387
+ supportsTools?: boolean | undefined;
388
+ cost?: {
389
+ input: number;
390
+ output: number;
391
+ cacheRead: number;
392
+ cacheWrite: number;
393
+ } | undefined;
394
+ premiumMultiplier?: number | undefined;
395
+ contextWindow?: number | undefined;
396
+ maxTokens?: number | undefined;
397
+ omitMaxOutputTokens?: boolean | undefined;
398
+ headers?: {
399
+ [x: string]: string;
400
+ } | undefined;
401
+ compat?: {
402
+ supportsStore?: boolean | undefined;
403
+ supportsDeveloperRole?: boolean | undefined;
404
+ supportsMultipleSystemMessages?: boolean | undefined;
405
+ supportsReasoningEffort?: boolean | undefined;
406
+ reasoningEffortMap?: {
407
+ minimal?: string | undefined;
408
+ low?: string | undefined;
409
+ medium?: string | undefined;
410
+ high?: string | undefined;
411
+ xhigh?: string | undefined;
412
+ } | undefined;
413
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
414
+ supportsUsageInStreaming?: boolean | undefined;
415
+ requiresToolResultName?: boolean | undefined;
416
+ requiresMistralToolIds?: boolean | undefined;
417
+ requiresAssistantAfterToolResult?: boolean | undefined;
418
+ requiresThinkingAsText?: boolean | undefined;
419
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
420
+ requiresReasoningContentForToolCalls?: boolean | undefined;
421
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
422
+ requiresAssistantContentForToolCalls?: boolean | undefined;
423
+ supportsToolChoice?: boolean | undefined;
424
+ supportsForcedToolChoice?: boolean | undefined;
425
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
426
+ disableReasoningOnToolChoice?: boolean | undefined;
427
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
428
+ openRouterRouting?: {
429
+ only?: string[] | undefined;
430
+ order?: string[] | undefined;
431
+ } | undefined;
432
+ vercelGatewayRouting?: {
433
+ only?: string[] | undefined;
434
+ order?: string[] | undefined;
435
+ } | undefined;
436
+ extraBody?: {
437
+ [x: string]: unknown;
438
+ } | undefined;
439
+ cacheControlFormat?: "anthropic" | undefined;
440
+ supportsStrictMode?: boolean | undefined;
441
+ toolStrictMode?: "all_strict" | "none" | undefined;
442
+ streamIdleTimeoutMs?: number | undefined;
443
+ supportsLongPromptCacheRetention?: boolean | undefined;
444
+ supportsReasoningParams?: boolean | undefined;
445
+ alwaysSendMaxTokens?: boolean | undefined;
446
+ strictResponsesPairing?: boolean | undefined;
447
+ requiresToolResultId?: boolean | undefined;
448
+ replayUnsignedThinking?: boolean | undefined;
449
+ whenThinking?: {
450
+ supportsStore?: boolean | undefined;
451
+ supportsDeveloperRole?: boolean | undefined;
452
+ supportsMultipleSystemMessages?: boolean | undefined;
453
+ supportsReasoningEffort?: boolean | undefined;
454
+ reasoningEffortMap?: {
455
+ minimal?: string | undefined;
456
+ low?: string | undefined;
457
+ medium?: string | undefined;
458
+ high?: string | undefined;
459
+ xhigh?: string | undefined;
460
+ } | undefined;
461
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
462
+ supportsUsageInStreaming?: boolean | undefined;
463
+ requiresToolResultName?: boolean | undefined;
464
+ requiresMistralToolIds?: boolean | undefined;
465
+ requiresAssistantAfterToolResult?: boolean | undefined;
466
+ requiresThinkingAsText?: boolean | undefined;
467
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
468
+ requiresReasoningContentForToolCalls?: boolean | undefined;
469
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
470
+ requiresAssistantContentForToolCalls?: boolean | undefined;
471
+ supportsToolChoice?: boolean | undefined;
472
+ supportsForcedToolChoice?: boolean | undefined;
473
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
474
+ disableReasoningOnToolChoice?: boolean | undefined;
475
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
476
+ openRouterRouting?: {
477
+ only?: string[] | undefined;
478
+ order?: string[] | undefined;
479
+ } | undefined;
480
+ vercelGatewayRouting?: {
481
+ only?: string[] | undefined;
482
+ order?: string[] | undefined;
483
+ } | undefined;
484
+ extraBody?: {
485
+ [x: string]: unknown;
486
+ } | undefined;
487
+ cacheControlFormat?: "anthropic" | undefined;
488
+ supportsStrictMode?: boolean | undefined;
489
+ toolStrictMode?: "all_strict" | "none" | undefined;
490
+ streamIdleTimeoutMs?: number | undefined;
491
+ supportsLongPromptCacheRetention?: boolean | undefined;
492
+ supportsReasoningParams?: boolean | undefined;
493
+ alwaysSendMaxTokens?: boolean | undefined;
494
+ strictResponsesPairing?: boolean | undefined;
495
+ requiresToolResultId?: boolean | undefined;
496
+ replayUnsignedThinking?: boolean | undefined;
497
+ } | undefined;
498
+ } | undefined;
499
+ contextPromotionTarget?: string | undefined;
500
+ }[] | undefined;
501
+ modelOverrides?: {
502
+ [x: string]: {
503
+ name?: string | undefined;
504
+ reasoning?: boolean | undefined;
505
+ thinking?: ((In: {
506
+ mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
507
+ efforts?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
508
+ defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
509
+ effortMap?: {
510
+ minimal?: string | undefined;
511
+ low?: string | undefined;
512
+ medium?: string | undefined;
513
+ high?: string | undefined;
514
+ xhigh?: string | undefined;
515
+ } | undefined;
516
+ supportsDisplay?: boolean | undefined;
517
+ minLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
518
+ maxLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
519
+ levels?: ("high" | "low" | "medium" | "minimal" | "xhigh")[] | undefined;
520
+ }) => import("arktype").Out<{
521
+ mode: any;
522
+ efforts: any;
523
+ defaultLevel?: any;
524
+ effortMap?: any;
525
+ supportsDisplay?: any;
526
+ }>) | undefined;
527
+ input?: ("image" | "text")[] | undefined;
528
+ supportsTools?: boolean | undefined;
529
+ cost?: {
530
+ input?: number | undefined;
531
+ output?: number | undefined;
532
+ cacheRead?: number | undefined;
533
+ cacheWrite?: number | undefined;
534
+ } | undefined;
535
+ premiumMultiplier?: number | undefined;
536
+ contextWindow?: number | undefined;
537
+ maxTokens?: number | undefined;
538
+ omitMaxOutputTokens?: boolean | undefined;
539
+ headers?: {
540
+ [x: string]: string;
541
+ } | undefined;
542
+ compat?: {
543
+ supportsStore?: boolean | undefined;
544
+ supportsDeveloperRole?: boolean | undefined;
545
+ supportsMultipleSystemMessages?: boolean | undefined;
546
+ supportsReasoningEffort?: boolean | undefined;
547
+ reasoningEffortMap?: {
548
+ minimal?: string | undefined;
549
+ low?: string | undefined;
550
+ medium?: string | undefined;
551
+ high?: string | undefined;
552
+ xhigh?: string | undefined;
553
+ } | undefined;
554
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
555
+ supportsUsageInStreaming?: boolean | undefined;
556
+ requiresToolResultName?: boolean | undefined;
557
+ requiresMistralToolIds?: boolean | undefined;
558
+ requiresAssistantAfterToolResult?: boolean | undefined;
559
+ requiresThinkingAsText?: boolean | undefined;
560
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
561
+ requiresReasoningContentForToolCalls?: boolean | undefined;
562
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
563
+ requiresAssistantContentForToolCalls?: boolean | undefined;
564
+ supportsToolChoice?: boolean | undefined;
565
+ supportsForcedToolChoice?: boolean | undefined;
566
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
567
+ disableReasoningOnToolChoice?: boolean | undefined;
568
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
569
+ openRouterRouting?: {
570
+ only?: string[] | undefined;
571
+ order?: string[] | undefined;
572
+ } | undefined;
573
+ vercelGatewayRouting?: {
574
+ only?: string[] | undefined;
575
+ order?: string[] | undefined;
576
+ } | undefined;
577
+ extraBody?: {
578
+ [x: string]: unknown;
579
+ } | undefined;
580
+ cacheControlFormat?: "anthropic" | undefined;
581
+ supportsStrictMode?: boolean | undefined;
582
+ toolStrictMode?: "all_strict" | "none" | undefined;
583
+ streamIdleTimeoutMs?: number | undefined;
584
+ supportsLongPromptCacheRetention?: boolean | undefined;
585
+ supportsReasoningParams?: boolean | undefined;
586
+ alwaysSendMaxTokens?: boolean | undefined;
587
+ strictResponsesPairing?: boolean | undefined;
588
+ requiresToolResultId?: boolean | undefined;
589
+ replayUnsignedThinking?: boolean | undefined;
590
+ whenThinking?: {
591
+ supportsStore?: boolean | undefined;
592
+ supportsDeveloperRole?: boolean | undefined;
593
+ supportsMultipleSystemMessages?: boolean | undefined;
594
+ supportsReasoningEffort?: boolean | undefined;
595
+ reasoningEffortMap?: {
596
+ minimal?: string | undefined;
597
+ low?: string | undefined;
598
+ medium?: string | undefined;
599
+ high?: string | undefined;
600
+ xhigh?: string | undefined;
601
+ } | undefined;
602
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
603
+ supportsUsageInStreaming?: boolean | undefined;
604
+ requiresToolResultName?: boolean | undefined;
605
+ requiresMistralToolIds?: boolean | undefined;
606
+ requiresAssistantAfterToolResult?: boolean | undefined;
607
+ requiresThinkingAsText?: boolean | undefined;
608
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
609
+ requiresReasoningContentForToolCalls?: boolean | undefined;
610
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
611
+ requiresAssistantContentForToolCalls?: boolean | undefined;
612
+ supportsToolChoice?: boolean | undefined;
613
+ supportsForcedToolChoice?: boolean | undefined;
614
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
615
+ disableReasoningOnToolChoice?: boolean | undefined;
616
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
617
+ openRouterRouting?: {
618
+ only?: string[] | undefined;
619
+ order?: string[] | undefined;
620
+ } | undefined;
621
+ vercelGatewayRouting?: {
622
+ only?: string[] | undefined;
623
+ order?: string[] | undefined;
624
+ } | undefined;
625
+ extraBody?: {
626
+ [x: string]: unknown;
627
+ } | undefined;
628
+ cacheControlFormat?: "anthropic" | undefined;
629
+ supportsStrictMode?: boolean | undefined;
630
+ toolStrictMode?: "all_strict" | "none" | undefined;
631
+ streamIdleTimeoutMs?: number | undefined;
632
+ supportsLongPromptCacheRetention?: boolean | undefined;
633
+ supportsReasoningParams?: boolean | undefined;
634
+ alwaysSendMaxTokens?: boolean | undefined;
635
+ strictResponsesPairing?: boolean | undefined;
636
+ requiresToolResultId?: boolean | undefined;
637
+ replayUnsignedThinking?: boolean | undefined;
638
+ } | undefined;
639
+ } | undefined;
640
+ contextPromotionTarget?: string | undefined;
641
+ };
642
+ } | undefined;
643
+ disableStrictTools?: boolean | undefined;
644
+ transport?: "pi-native" | undefined;
645
+ };
646
+ } | undefined;
647
+ equivalence?: {
648
+ overrides?: {
649
+ [x: string]: string;
650
+ } | undefined;
651
+ exclude?: string[] | undefined;
652
+ } | undefined;
653
+ }, {}>;
654
+ export type ModelsConfig = typeof ModelsConfigSchema.infer;