@oh-my-pi/pi-coding-agent 17.2.5 → 17.2.7

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 (201) hide show
  1. package/CHANGELOG.md +35 -1
  2. package/dist/{CHANGELOG-q2w43aw3.md → CHANGELOG-1p8yvde7.md} +35 -1
  3. package/dist/cli.js +3340 -3339
  4. package/dist/types/advisor/advise-tool.d.ts +10 -4
  5. package/dist/types/autoresearch/tools/init-experiment.d.ts +19 -7
  6. package/dist/types/autoresearch/tools/log-experiment.d.ts +19 -11
  7. package/dist/types/autoresearch/tools/run-experiment.d.ts +4 -2
  8. package/dist/types/autoresearch/tools/update-notes.d.ts +5 -2
  9. package/dist/types/cli/gc-cli.d.ts +1 -0
  10. package/dist/types/commit/agentic/tools/analyze-file.d.ts +5 -2
  11. package/dist/types/commit/agentic/tools/git-file-diff.d.ts +5 -2
  12. package/dist/types/commit/agentic/tools/git-hunk.d.ts +6 -2
  13. package/dist/types/commit/agentic/tools/git-overview.d.ts +5 -2
  14. package/dist/types/commit/agentic/tools/propose-changelog.d.ts +29 -7
  15. package/dist/types/commit/agentic/tools/propose-commit.d.ts +14 -4
  16. package/dist/types/commit/agentic/tools/recent-commits.d.ts +4 -2
  17. package/dist/types/commit/agentic/tools/schemas.d.ts +7 -3
  18. package/dist/types/commit/agentic/tools/split-commit.d.ts +37 -10
  19. package/dist/types/commit/changelog/generate.d.ts +13 -3
  20. package/dist/types/commit/shared-llm.d.ts +13 -4
  21. package/dist/types/config/config-file.d.ts +1 -1
  22. package/dist/types/config/models-config-schema-bundle.d.ts +1992 -981
  23. package/dist/types/config/models-config-schema.d.ts +1201 -580
  24. package/dist/types/config/models-config.d.ts +355 -371
  25. package/dist/types/edit/hashline/params.d.ts +4 -2
  26. package/dist/types/edit/modes/apply-patch.d.ts +4 -2
  27. package/dist/types/edit/modes/patch.d.ts +16 -5
  28. package/dist/types/edit/modes/replace.d.ts +8 -3
  29. package/dist/types/eval/bridge-timeout.d.ts +5 -2
  30. package/dist/types/eval/completion-bridge.d.ts +13 -0
  31. package/dist/types/eval/py/tool-bridge.d.ts +12 -0
  32. package/dist/types/extensibility/custom-commands/types.d.ts +4 -4
  33. package/dist/types/extensibility/custom-tools/types.d.ts +4 -4
  34. package/dist/types/extensibility/extensions/types.d.ts +4 -4
  35. package/dist/types/extensibility/hooks/types.d.ts +4 -4
  36. package/dist/types/extensibility/legacy-pi-ai-shim.d.ts +1 -1
  37. package/dist/types/extensibility/legacy-pi-coding-agent-shim.d.ts +1 -1
  38. package/dist/types/extensibility/legacy-typebox.d.ts +8 -0
  39. package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +6 -13
  40. package/dist/types/goals/tools/goal-tool.d.ts +12 -4
  41. package/dist/types/launch/client.d.ts +9 -1
  42. package/dist/types/launch/protocol.d.ts +17 -0
  43. package/dist/types/lsp/index.d.ts +15 -5
  44. package/dist/types/lsp/types.d.ts +15 -5
  45. package/dist/types/modes/components/btw-panel.d.ts +3 -0
  46. package/dist/types/modes/controllers/btw-controller.d.ts +2 -0
  47. package/dist/types/modes/controllers/command-controller.d.ts +1 -0
  48. package/dist/types/modes/interactive-mode.d.ts +4 -1
  49. package/dist/types/modes/types.d.ts +3 -1
  50. package/dist/types/security/contracts/schemas.d.ts +1115 -537
  51. package/dist/types/security/publication.d.ts +92 -34
  52. package/dist/types/session/agent-session-types.d.ts +5 -0
  53. package/dist/types/session/agent-session.d.ts +26 -2
  54. package/dist/types/session/launch-completion.d.ts +10 -0
  55. package/dist/types/session/session-entries.d.ts +15 -1
  56. package/dist/types/session/session-manager.d.ts +7 -0
  57. package/dist/types/session/yield-queue.d.ts +6 -1
  58. package/dist/types/task/types.d.ts +63 -18
  59. package/dist/types/tools/ask.d.ts +34 -8
  60. package/dist/types/tools/ast-edit.d.ts +16 -4
  61. package/dist/types/tools/ast-grep.d.ts +12 -4
  62. package/dist/types/tools/bash.d.ts +20 -11
  63. package/dist/types/tools/browser.d.ts +64 -20
  64. package/dist/types/tools/checkpoint.d.ts +16 -8
  65. package/dist/types/tools/computer.d.ts +1 -1
  66. package/dist/types/tools/debug.d.ts +118 -48
  67. package/dist/types/tools/eval.d.ts +11 -5
  68. package/dist/types/tools/gh.d.ts +74 -26
  69. package/dist/types/tools/glob.d.ts +16 -6
  70. package/dist/types/tools/grep.d.ts +18 -6
  71. package/dist/types/tools/hub/index.d.ts +116 -46
  72. package/dist/types/tools/image-gen.d.ts +25 -8
  73. package/dist/types/tools/index.d.ts +9 -0
  74. package/dist/types/tools/inspect-image.d.ts +10 -4
  75. package/dist/types/tools/learn.d.ts +26 -8
  76. package/dist/types/tools/manage-skill.d.ts +16 -6
  77. package/dist/types/tools/memory-edit.d.ts +18 -6
  78. package/dist/types/tools/memory-recall.d.ts +8 -4
  79. package/dist/types/tools/memory-reflect.d.ts +10 -4
  80. package/dist/types/tools/memory-retain.d.ts +14 -4
  81. package/dist/types/tools/read.d.ts +8 -4
  82. package/dist/types/tools/security-scan.d.ts +82 -30
  83. package/dist/types/tools/todo.d.ts +30 -10
  84. package/dist/types/tools/tts.d.ts +12 -5
  85. package/dist/types/tools/vibe.d.ts +42 -18
  86. package/dist/types/tools/write.d.ts +10 -4
  87. package/dist/types/web/search/index.d.ts +20 -6
  88. package/package.json +13 -13
  89. package/scripts/legacy-pi-virtual-module.ts +2 -2
  90. package/src/advisor/advise-tool.ts +1 -1
  91. package/src/advisor/config.ts +1 -1
  92. package/src/autoresearch/tools/init-experiment.ts +1 -2
  93. package/src/autoresearch/tools/log-experiment.ts +1 -2
  94. package/src/autoresearch/tools/run-experiment.ts +1 -1
  95. package/src/autoresearch/tools/update-notes.ts +1 -1
  96. package/src/cli/gc-cli.ts +641 -21
  97. package/src/commit/agentic/tools/analyze-file.ts +1 -1
  98. package/src/commit/agentic/tools/git-file-diff.ts +1 -1
  99. package/src/commit/agentic/tools/git-hunk.ts +1 -1
  100. package/src/commit/agentic/tools/git-overview.ts +1 -1
  101. package/src/commit/agentic/tools/propose-changelog.ts +1 -1
  102. package/src/commit/agentic/tools/propose-commit.ts +1 -1
  103. package/src/commit/agentic/tools/recent-commits.ts +1 -1
  104. package/src/commit/agentic/tools/schemas.ts +1 -1
  105. package/src/commit/agentic/tools/split-commit.ts +1 -1
  106. package/src/commit/analysis/summary.ts +1 -1
  107. package/src/commit/changelog/generate.ts +1 -1
  108. package/src/config/config-file.ts +2 -2
  109. package/src/config/model-discovery.ts +14 -14
  110. package/src/config/model-registry.ts +10 -8
  111. package/src/config/models-config-schema-bundle.ts +1 -8
  112. package/src/config/settings.ts +1 -1
  113. package/src/discovery/codex.ts +22 -9
  114. package/src/edit/hashline/params.ts +1 -1
  115. package/src/edit/modes/apply-patch.ts +1 -1
  116. package/src/edit/modes/patch.ts +1 -1
  117. package/src/edit/modes/replace.ts +2 -1
  118. package/src/eval/agent-bridge.ts +4 -2
  119. package/src/eval/bridge-timeout.ts +5 -2
  120. package/src/eval/completion-bridge.ts +3 -2
  121. package/src/eval/executor-base.ts +20 -1
  122. package/src/eval/js/context-manager.ts +94 -6
  123. package/src/eval/py/tool-bridge.ts +29 -9
  124. package/src/export/html/index.ts +10 -3
  125. package/src/export/share.ts +4 -0
  126. package/src/extensibility/custom-commands/loader.ts +3 -3
  127. package/src/extensibility/custom-commands/types.ts +4 -4
  128. package/src/extensibility/custom-tools/loader.ts +3 -3
  129. package/src/extensibility/custom-tools/types.ts +5 -4
  130. package/src/extensibility/extensions/loader.ts +3 -3
  131. package/src/extensibility/extensions/types.ts +5 -4
  132. package/src/extensibility/hooks/loader.ts +3 -3
  133. package/src/extensibility/hooks/types.ts +4 -4
  134. package/src/extensibility/legacy-pi-ai-shim.ts +1 -1
  135. package/src/extensibility/legacy-pi-coding-agent-shim.ts +2 -2
  136. package/src/extensibility/legacy-typebox.ts +101 -0
  137. package/src/extensibility/plugins/legacy-pi-compat.ts +13 -22
  138. package/src/goals/tools/goal-tool.ts +1 -1
  139. package/src/launch/broker.ts +222 -6
  140. package/src/launch/client.ts +161 -9
  141. package/src/launch/protocol.ts +52 -0
  142. package/src/lsp/types.ts +1 -1
  143. package/src/main.ts +13 -6
  144. package/src/mcp/config-writer.ts +1 -1
  145. package/src/modes/components/btw-panel.ts +41 -4
  146. package/src/modes/controllers/btw-controller.ts +55 -7
  147. package/src/modes/controllers/command-controller.ts +31 -0
  148. package/src/modes/controllers/input-controller.ts +24 -7
  149. package/src/modes/interactive-mode.ts +16 -2
  150. package/src/modes/theme/theme.ts +3 -3
  151. package/src/modes/types.ts +8 -1
  152. package/src/prompts/session/launch-completion.md +1 -0
  153. package/src/sdk.ts +15 -0
  154. package/src/security/contracts/schemas.ts +202 -184
  155. package/src/security/contracts/validation.ts +6 -2
  156. package/src/security/publication.ts +1 -1
  157. package/src/security/store.ts +2 -2
  158. package/src/session/agent-session-types.ts +6 -0
  159. package/src/session/agent-session.ts +190 -14
  160. package/src/session/launch-completion.ts +37 -0
  161. package/src/session/session-context.ts +26 -0
  162. package/src/session/session-entries.ts +17 -1
  163. package/src/session/session-manager.ts +21 -0
  164. package/src/session/yield-queue.ts +121 -16
  165. package/src/slash-commands/builtin-registry.ts +10 -1
  166. package/src/task/types.ts +1 -1
  167. package/src/tools/ask.ts +1 -1
  168. package/src/tools/ast-edit.ts +1 -1
  169. package/src/tools/ast-grep.ts +1 -1
  170. package/src/tools/bash.ts +61 -3
  171. package/src/tools/browser/cmux/cmux-tab.ts +92 -4
  172. package/src/tools/browser.ts +1 -1
  173. package/src/tools/checkpoint.ts +1 -1
  174. package/src/tools/computer.ts +1 -1
  175. package/src/tools/debug.ts +1 -1
  176. package/src/tools/eval.ts +1 -1
  177. package/src/tools/gh.ts +1 -2
  178. package/src/tools/glob.ts +1 -1
  179. package/src/tools/grep.ts +1 -1
  180. package/src/tools/hub/index.ts +1 -1
  181. package/src/tools/hub/launch.ts +122 -6
  182. package/src/tools/image-gen.ts +1 -1
  183. package/src/tools/index.ts +9 -0
  184. package/src/tools/inspect-image.ts +1 -1
  185. package/src/tools/learn.ts +1 -1
  186. package/src/tools/manage-skill.ts +1 -1
  187. package/src/tools/memory-edit.ts +1 -1
  188. package/src/tools/memory-recall.ts +1 -1
  189. package/src/tools/memory-reflect.ts +1 -1
  190. package/src/tools/memory-retain.ts +1 -1
  191. package/src/tools/read.ts +1 -1
  192. package/src/tools/security-scan.ts +1 -1
  193. package/src/tools/todo.ts +1 -1
  194. package/src/tools/tts.ts +1 -1
  195. package/src/tools/vibe.ts +2 -1
  196. package/src/tools/write.ts +1 -1
  197. package/src/web/search/index.ts +2 -1
  198. package/dist/types/config/file-lock.d.ts +0 -29
  199. package/dist/types/extensibility/typebox.d.ts +0 -181
  200. package/src/config/file-lock.ts +0 -164
  201. package/src/extensibility/typebox.ts +0 -958
@@ -1,1209 +1,2220 @@
1
1
  export declare const getModelsConfigSchemaBundle: () => {
2
- OpenAICompatSchema: import("arktype/internal/variants/object.ts").ObjectType<{
3
- supportsStore?: boolean | undefined;
4
- supportsDeveloperRole?: boolean | undefined;
5
- supportsMultipleSystemMessages?: boolean | undefined;
6
- supportsReasoningEffort?: boolean | undefined;
2
+ OpenAICompatSchema: import("@oh-my-pi/omptype").FluentType<{
3
+ allowAnthropicHeaderOverrides?: boolean | undefined;
4
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
5
+ alwaysSendMaxTokens?: boolean | undefined;
6
+ cacheControlFormat?: "anthropic" | undefined;
7
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
8
+ disableReasoningOnToolChoice?: boolean | undefined;
9
+ extraBody?: Record<string, unknown> | undefined;
10
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
11
+ openRouterRouting?: {
12
+ only?: string[] | undefined;
13
+ order?: string[] | undefined;
14
+ } | undefined;
15
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
7
16
  reasoningEffortMap?: {
8
- minimal?: string | undefined;
17
+ high?: string | undefined;
9
18
  low?: string | undefined;
19
+ max?: string | undefined;
10
20
  medium?: string | undefined;
11
- high?: string | undefined;
21
+ minimal?: string | undefined;
12
22
  xhigh?: string | undefined;
13
- max?: string | undefined;
14
23
  } | undefined;
15
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
16
- supportsUsageInStreaming?: boolean | undefined;
17
- requiresToolResultName?: boolean | undefined;
18
- requiresMistralToolIds?: boolean | undefined;
24
+ replayUnsignedThinking?: boolean | undefined;
19
25
  requiresAssistantAfterToolResult?: boolean | undefined;
20
- requiresThinkingAsText?: boolean | undefined;
21
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
22
- requiresReasoningContentForToolCalls?: boolean | undefined;
23
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
24
26
  requiresAssistantContentForToolCalls?: boolean | undefined;
25
- supportsToolChoice?: boolean | undefined;
27
+ requiresMistralToolIds?: boolean | undefined;
28
+ requiresReasoningContentForToolCalls?: boolean | undefined;
29
+ requiresThinkingAsText?: boolean | undefined;
30
+ requiresToolResultId?: boolean | undefined;
31
+ requiresToolResultName?: boolean | undefined;
32
+ streamIdleTimeoutMs?: number | undefined;
33
+ strictResponsesPairing?: boolean | undefined;
34
+ supportsDeveloperRole?: boolean | undefined;
35
+ supportsEagerToolInputStreaming?: boolean | undefined;
26
36
  supportsForcedToolChoice?: boolean | undefined;
27
- disableReasoningOnForcedToolChoice?: boolean | undefined;
28
- disableReasoningOnToolChoice?: boolean | undefined;
37
+ supportsImageDetailOriginal?: boolean | undefined;
38
+ supportsLongPromptCacheRetention?: boolean | undefined;
39
+ supportsMultipleSystemMessages?: boolean | undefined;
40
+ supportsReasoningEffort?: boolean | undefined;
41
+ supportsReasoningParams?: boolean | undefined;
42
+ supportsStore?: boolean | undefined;
43
+ supportsStrictMode?: boolean | undefined;
44
+ supportsToolChoice?: boolean | undefined;
45
+ supportsUsageInStreaming?: boolean | undefined;
29
46
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
30
- openRouterRouting?: {
47
+ toolStrictMode?: "all_strict" | "none" | undefined;
48
+ vercelGatewayRouting?: {
31
49
  only?: string[] | undefined;
32
50
  order?: string[] | undefined;
33
51
  } | undefined;
34
- vercelGatewayRouting?: {
52
+ whenThinking?: {
53
+ allowAnthropicHeaderOverrides?: boolean | undefined;
54
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
55
+ alwaysSendMaxTokens?: boolean | undefined;
56
+ cacheControlFormat?: "anthropic" | undefined;
57
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
58
+ disableReasoningOnToolChoice?: boolean | undefined;
59
+ extraBody?: Record<string, unknown> | undefined;
60
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
61
+ openRouterRouting?: {
62
+ only?: string[] | undefined;
63
+ order?: string[] | undefined;
64
+ } | undefined;
65
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
66
+ reasoningEffortMap?: {
67
+ high?: string | undefined;
68
+ low?: string | undefined;
69
+ max?: string | undefined;
70
+ medium?: string | undefined;
71
+ minimal?: string | undefined;
72
+ xhigh?: string | undefined;
73
+ } | undefined;
74
+ replayUnsignedThinking?: boolean | undefined;
75
+ requiresAssistantAfterToolResult?: boolean | undefined;
76
+ requiresAssistantContentForToolCalls?: boolean | undefined;
77
+ requiresMistralToolIds?: boolean | undefined;
78
+ requiresReasoningContentForToolCalls?: boolean | undefined;
79
+ requiresThinkingAsText?: boolean | undefined;
80
+ requiresToolResultId?: boolean | undefined;
81
+ requiresToolResultName?: boolean | undefined;
82
+ streamIdleTimeoutMs?: number | undefined;
83
+ strictResponsesPairing?: boolean | undefined;
84
+ supportsDeveloperRole?: boolean | undefined;
85
+ supportsEagerToolInputStreaming?: boolean | undefined;
86
+ supportsForcedToolChoice?: boolean | undefined;
87
+ supportsImageDetailOriginal?: boolean | undefined;
88
+ supportsLongPromptCacheRetention?: boolean | undefined;
89
+ supportsMultipleSystemMessages?: boolean | undefined;
90
+ supportsReasoningEffort?: boolean | undefined;
91
+ supportsReasoningParams?: boolean | undefined;
92
+ supportsStore?: boolean | undefined;
93
+ supportsStrictMode?: boolean | undefined;
94
+ supportsToolChoice?: boolean | undefined;
95
+ supportsUsageInStreaming?: boolean | undefined;
96
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
97
+ toolStrictMode?: "all_strict" | "none" | undefined;
98
+ vercelGatewayRouting?: {
99
+ only?: string[] | undefined;
100
+ order?: string[] | undefined;
101
+ } | undefined;
102
+ } | undefined;
103
+ }, {
104
+ allowAnthropicHeaderOverrides?: boolean | undefined;
105
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
106
+ alwaysSendMaxTokens?: boolean | undefined;
107
+ cacheControlFormat?: "anthropic" | undefined;
108
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
109
+ disableReasoningOnToolChoice?: boolean | undefined;
110
+ extraBody?: Record<string, unknown> | undefined;
111
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
112
+ openRouterRouting?: {
35
113
  only?: string[] | undefined;
36
114
  order?: string[] | undefined;
37
115
  } | undefined;
38
- extraBody?: {
39
- [x: string]: unknown;
116
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
117
+ reasoningEffortMap?: {
118
+ high?: string | undefined;
119
+ low?: string | undefined;
120
+ max?: string | undefined;
121
+ medium?: string | undefined;
122
+ minimal?: string | undefined;
123
+ xhigh?: string | undefined;
40
124
  } | undefined;
41
- cacheControlFormat?: "anthropic" | undefined;
42
- supportsStrictMode?: boolean | undefined;
43
- toolStrictMode?: "all_strict" | "none" | undefined;
125
+ replayUnsignedThinking?: boolean | undefined;
126
+ requiresAssistantAfterToolResult?: boolean | undefined;
127
+ requiresAssistantContentForToolCalls?: boolean | undefined;
128
+ requiresMistralToolIds?: boolean | undefined;
129
+ requiresReasoningContentForToolCalls?: boolean | undefined;
130
+ requiresThinkingAsText?: boolean | undefined;
131
+ requiresToolResultId?: boolean | undefined;
132
+ requiresToolResultName?: boolean | undefined;
44
133
  streamIdleTimeoutMs?: number | undefined;
45
- supportsLongPromptCacheRetention?: boolean | undefined;
46
- supportsReasoningParams?: boolean | undefined;
47
- alwaysSendMaxTokens?: boolean | undefined;
48
134
  strictResponsesPairing?: boolean | undefined;
49
- supportsImageDetailOriginal?: boolean | undefined;
135
+ supportsDeveloperRole?: boolean | undefined;
50
136
  supportsEagerToolInputStreaming?: boolean | undefined;
51
- allowAnthropicHeaderOverrides?: boolean | undefined;
52
- requiresToolResultId?: boolean | undefined;
53
- replayUnsignedThinking?: boolean | undefined;
137
+ supportsForcedToolChoice?: boolean | undefined;
138
+ supportsImageDetailOriginal?: boolean | undefined;
139
+ supportsLongPromptCacheRetention?: boolean | undefined;
140
+ supportsMultipleSystemMessages?: boolean | undefined;
141
+ supportsReasoningEffort?: boolean | undefined;
142
+ supportsReasoningParams?: boolean | undefined;
143
+ supportsStore?: boolean | undefined;
144
+ supportsStrictMode?: boolean | undefined;
145
+ supportsToolChoice?: boolean | undefined;
146
+ supportsUsageInStreaming?: boolean | undefined;
147
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
148
+ toolStrictMode?: "all_strict" | "none" | undefined;
149
+ vercelGatewayRouting?: {
150
+ only?: string[] | undefined;
151
+ order?: string[] | undefined;
152
+ } | undefined;
54
153
  whenThinking?: {
55
- supportsStore?: boolean | undefined;
56
- supportsDeveloperRole?: boolean | undefined;
57
- supportsMultipleSystemMessages?: boolean | undefined;
58
- supportsReasoningEffort?: boolean | undefined;
154
+ allowAnthropicHeaderOverrides?: boolean | undefined;
155
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
156
+ alwaysSendMaxTokens?: boolean | undefined;
157
+ cacheControlFormat?: "anthropic" | undefined;
158
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
159
+ disableReasoningOnToolChoice?: boolean | undefined;
160
+ extraBody?: Record<string, unknown> | undefined;
161
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
162
+ openRouterRouting?: {
163
+ only?: string[] | undefined;
164
+ order?: string[] | undefined;
165
+ } | undefined;
166
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
59
167
  reasoningEffortMap?: {
60
- minimal?: string | undefined;
168
+ high?: string | undefined;
61
169
  low?: string | undefined;
170
+ max?: string | undefined;
62
171
  medium?: string | undefined;
63
- high?: string | undefined;
172
+ minimal?: string | undefined;
64
173
  xhigh?: string | undefined;
65
- max?: string | undefined;
66
174
  } | undefined;
67
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
68
- supportsUsageInStreaming?: boolean | undefined;
69
- requiresToolResultName?: boolean | undefined;
70
- requiresMistralToolIds?: boolean | undefined;
175
+ replayUnsignedThinking?: boolean | undefined;
71
176
  requiresAssistantAfterToolResult?: boolean | undefined;
72
- requiresThinkingAsText?: boolean | undefined;
73
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
74
- requiresReasoningContentForToolCalls?: boolean | undefined;
75
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
76
177
  requiresAssistantContentForToolCalls?: boolean | undefined;
77
- supportsToolChoice?: boolean | undefined;
178
+ requiresMistralToolIds?: boolean | undefined;
179
+ requiresReasoningContentForToolCalls?: boolean | undefined;
180
+ requiresThinkingAsText?: boolean | undefined;
181
+ requiresToolResultId?: boolean | undefined;
182
+ requiresToolResultName?: boolean | undefined;
183
+ streamIdleTimeoutMs?: number | undefined;
184
+ strictResponsesPairing?: boolean | undefined;
185
+ supportsDeveloperRole?: boolean | undefined;
186
+ supportsEagerToolInputStreaming?: boolean | undefined;
78
187
  supportsForcedToolChoice?: boolean | undefined;
79
- disableReasoningOnForcedToolChoice?: boolean | undefined;
80
- disableReasoningOnToolChoice?: boolean | undefined;
188
+ supportsImageDetailOriginal?: boolean | undefined;
189
+ supportsLongPromptCacheRetention?: boolean | undefined;
190
+ supportsMultipleSystemMessages?: boolean | undefined;
191
+ supportsReasoningEffort?: boolean | undefined;
192
+ supportsReasoningParams?: boolean | undefined;
193
+ supportsStore?: boolean | undefined;
194
+ supportsStrictMode?: boolean | undefined;
195
+ supportsToolChoice?: boolean | undefined;
196
+ supportsUsageInStreaming?: boolean | undefined;
81
197
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
82
- openRouterRouting?: {
198
+ toolStrictMode?: "all_strict" | "none" | undefined;
199
+ vercelGatewayRouting?: {
83
200
  only?: string[] | undefined;
84
201
  order?: string[] | undefined;
85
202
  } | undefined;
86
- vercelGatewayRouting?: {
203
+ } | undefined;
204
+ }>;
205
+ ModelOverrideSchema: import("@oh-my-pi/omptype").FluentType<{
206
+ compactionModel?: string | undefined;
207
+ compat?: ({
208
+ allowAnthropicHeaderOverrides?: boolean | undefined;
209
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
210
+ alwaysSendMaxTokens?: boolean | undefined;
211
+ cacheControlFormat?: "anthropic" | undefined;
212
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
213
+ disableReasoningOnToolChoice?: boolean | undefined;
214
+ extraBody?: Record<string, unknown> | undefined;
215
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
216
+ openRouterRouting?: {
87
217
  only?: string[] | undefined;
88
218
  order?: string[] | undefined;
89
219
  } | undefined;
90
- extraBody?: {
91
- [x: string]: unknown;
92
- } | undefined;
93
- cacheControlFormat?: "anthropic" | undefined;
94
- supportsStrictMode?: boolean | undefined;
95
- toolStrictMode?: "all_strict" | "none" | undefined;
96
- streamIdleTimeoutMs?: number | undefined;
97
- supportsLongPromptCacheRetention?: boolean | undefined;
98
- supportsReasoningParams?: boolean | undefined;
99
- alwaysSendMaxTokens?: boolean | undefined;
100
- strictResponsesPairing?: boolean | undefined;
101
- supportsImageDetailOriginal?: boolean | undefined;
102
- supportsEagerToolInputStreaming?: boolean | undefined;
103
- allowAnthropicHeaderOverrides?: boolean | undefined;
104
- requiresToolResultId?: boolean | undefined;
105
- replayUnsignedThinking?: boolean | undefined;
106
- } | undefined;
107
- }, {}>;
108
- ModelOverrideSchema: import("arktype/internal/variants/object.ts").ObjectType<{
109
- name?: string | undefined;
110
- reasoning?: boolean | undefined;
111
- thinking?: ((In: {
112
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
113
- efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
114
- defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
115
- effortMap?: {
116
- minimal?: string | undefined;
220
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
221
+ reasoningEffortMap?: {
222
+ high?: string | undefined;
117
223
  low?: string | undefined;
224
+ max?: string | undefined;
118
225
  medium?: string | undefined;
119
- high?: string | undefined;
226
+ minimal?: string | undefined;
120
227
  xhigh?: string | undefined;
121
- max?: string | undefined;
122
228
  } | undefined;
123
- supportsDisplay?: boolean | undefined;
124
- minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
125
- maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
126
- levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
127
- }) => import("arktype").Out<{
128
- mode: any;
129
- efforts: any;
130
- defaultLevel?: any;
131
- effortMap?: any;
132
- supportsDisplay?: any;
133
- }>) | undefined;
134
- input?: ("image" | "text")[] | undefined;
135
- supportsTools?: boolean | undefined;
229
+ replayUnsignedThinking?: boolean | undefined;
230
+ requiresAssistantAfterToolResult?: boolean | undefined;
231
+ requiresAssistantContentForToolCalls?: boolean | undefined;
232
+ requiresMistralToolIds?: boolean | undefined;
233
+ requiresReasoningContentForToolCalls?: boolean | undefined;
234
+ requiresThinkingAsText?: boolean | undefined;
235
+ requiresToolResultId?: boolean | undefined;
236
+ requiresToolResultName?: boolean | undefined;
237
+ streamIdleTimeoutMs?: number | undefined;
238
+ strictResponsesPairing?: boolean | undefined;
239
+ supportsDeveloperRole?: boolean | undefined;
240
+ supportsEagerToolInputStreaming?: boolean | undefined;
241
+ supportsForcedToolChoice?: boolean | undefined;
242
+ supportsImageDetailOriginal?: boolean | undefined;
243
+ supportsLongPromptCacheRetention?: boolean | undefined;
244
+ supportsMultipleSystemMessages?: boolean | undefined;
245
+ supportsReasoningEffort?: boolean | undefined;
246
+ supportsReasoningParams?: boolean | undefined;
247
+ supportsStore?: boolean | undefined;
248
+ supportsStrictMode?: boolean | undefined;
249
+ supportsToolChoice?: boolean | undefined;
250
+ supportsUsageInStreaming?: boolean | undefined;
251
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
252
+ toolStrictMode?: "all_strict" | "none" | undefined;
253
+ vercelGatewayRouting?: {
254
+ only?: string[] | undefined;
255
+ order?: string[] | undefined;
256
+ } | undefined;
257
+ whenThinking?: {
258
+ allowAnthropicHeaderOverrides?: boolean | undefined;
259
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
260
+ alwaysSendMaxTokens?: boolean | undefined;
261
+ cacheControlFormat?: "anthropic" | undefined;
262
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
263
+ disableReasoningOnToolChoice?: boolean | undefined;
264
+ extraBody?: Record<string, unknown> | undefined;
265
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
266
+ openRouterRouting?: {
267
+ only?: string[] | undefined;
268
+ order?: string[] | undefined;
269
+ } | undefined;
270
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
271
+ reasoningEffortMap?: {
272
+ high?: string | undefined;
273
+ low?: string | undefined;
274
+ max?: string | undefined;
275
+ medium?: string | undefined;
276
+ minimal?: string | undefined;
277
+ xhigh?: string | undefined;
278
+ } | undefined;
279
+ replayUnsignedThinking?: boolean | undefined;
280
+ requiresAssistantAfterToolResult?: boolean | undefined;
281
+ requiresAssistantContentForToolCalls?: boolean | undefined;
282
+ requiresMistralToolIds?: boolean | undefined;
283
+ requiresReasoningContentForToolCalls?: boolean | undefined;
284
+ requiresThinkingAsText?: boolean | undefined;
285
+ requiresToolResultId?: boolean | undefined;
286
+ requiresToolResultName?: boolean | undefined;
287
+ streamIdleTimeoutMs?: number | undefined;
288
+ strictResponsesPairing?: boolean | undefined;
289
+ supportsDeveloperRole?: boolean | undefined;
290
+ supportsEagerToolInputStreaming?: boolean | undefined;
291
+ supportsForcedToolChoice?: boolean | undefined;
292
+ supportsImageDetailOriginal?: boolean | undefined;
293
+ supportsLongPromptCacheRetention?: boolean | undefined;
294
+ supportsMultipleSystemMessages?: boolean | undefined;
295
+ supportsReasoningEffort?: boolean | undefined;
296
+ supportsReasoningParams?: boolean | undefined;
297
+ supportsStore?: boolean | undefined;
298
+ supportsStrictMode?: boolean | undefined;
299
+ supportsToolChoice?: boolean | undefined;
300
+ supportsUsageInStreaming?: boolean | undefined;
301
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
302
+ toolStrictMode?: "all_strict" | "none" | undefined;
303
+ vercelGatewayRouting?: {
304
+ only?: string[] | undefined;
305
+ order?: string[] | undefined;
306
+ } | undefined;
307
+ } | undefined;
308
+ } & {
309
+ promptCacheMaximumCheckpoints?: number | undefined;
310
+ promptCacheMinimumTokens?: number | undefined;
311
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
312
+ supportsLongPromptCacheRetention?: boolean | undefined;
313
+ }) | undefined;
314
+ contextPromotionTarget?: string | undefined;
315
+ contextWindow?: number | undefined;
136
316
  cost?: {
137
- input?: number | undefined;
138
- output?: number | undefined;
139
317
  cacheRead?: number | undefined;
140
318
  cacheWrite?: number | undefined;
319
+ input?: number | undefined;
320
+ output?: number | undefined;
141
321
  } | undefined;
142
- premiumMultiplier?: number | undefined;
143
- contextWindow?: number | undefined;
322
+ headers?: Record<string, string> | undefined;
323
+ input?: ("image" | "text")[] | undefined;
144
324
  maxTokens?: number | undefined;
325
+ name?: string | undefined;
145
326
  omitMaxOutputTokens?: boolean | undefined;
146
- headers?: {
147
- [x: string]: string;
327
+ premiumMultiplier?: number | undefined;
328
+ reasoning?: boolean | undefined;
329
+ remoteCompaction?: {
330
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
331
+ enabled?: boolean | undefined;
332
+ endpoint?: string | undefined;
333
+ model?: string | undefined;
334
+ streamingEndpoint?: string | undefined;
335
+ v2Endpoint?: string | undefined;
336
+ v2StreamingEnabled?: boolean | undefined;
148
337
  } | undefined;
149
- compat?: {
150
- supportsStore?: boolean | undefined;
151
- supportsDeveloperRole?: boolean | undefined;
152
- supportsMultipleSystemMessages?: boolean | undefined;
153
- supportsReasoningEffort?: boolean | undefined;
338
+ supportsTools?: boolean | undefined;
339
+ thinking?: {
340
+ mode: any;
341
+ efforts: any;
342
+ defaultLevel?: any;
343
+ effortMap?: any;
344
+ supportsDisplay?: any;
345
+ } | undefined;
346
+ }, {
347
+ compactionModel?: string | undefined;
348
+ compat?: ({
349
+ allowAnthropicHeaderOverrides?: boolean | undefined;
350
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
351
+ alwaysSendMaxTokens?: boolean | undefined;
352
+ cacheControlFormat?: "anthropic" | undefined;
353
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
354
+ disableReasoningOnToolChoice?: boolean | undefined;
355
+ extraBody?: Record<string, unknown> | undefined;
356
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
357
+ openRouterRouting?: {
358
+ only?: string[] | undefined;
359
+ order?: string[] | undefined;
360
+ } | undefined;
361
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
154
362
  reasoningEffortMap?: {
155
- minimal?: string | undefined;
363
+ high?: string | undefined;
156
364
  low?: string | undefined;
365
+ max?: string | undefined;
157
366
  medium?: string | undefined;
158
- high?: string | undefined;
367
+ minimal?: string | undefined;
159
368
  xhigh?: string | undefined;
160
- max?: string | undefined;
161
369
  } | undefined;
162
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
163
- supportsUsageInStreaming?: boolean | undefined;
164
- requiresToolResultName?: boolean | undefined;
165
- requiresMistralToolIds?: boolean | undefined;
370
+ replayUnsignedThinking?: boolean | undefined;
166
371
  requiresAssistantAfterToolResult?: boolean | undefined;
167
- requiresThinkingAsText?: boolean | undefined;
168
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
169
- requiresReasoningContentForToolCalls?: boolean | undefined;
170
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
171
372
  requiresAssistantContentForToolCalls?: boolean | undefined;
172
- supportsToolChoice?: boolean | undefined;
373
+ requiresMistralToolIds?: boolean | undefined;
374
+ requiresReasoningContentForToolCalls?: boolean | undefined;
375
+ requiresThinkingAsText?: boolean | undefined;
376
+ requiresToolResultId?: boolean | undefined;
377
+ requiresToolResultName?: boolean | undefined;
378
+ streamIdleTimeoutMs?: number | undefined;
379
+ strictResponsesPairing?: boolean | undefined;
380
+ supportsDeveloperRole?: boolean | undefined;
381
+ supportsEagerToolInputStreaming?: boolean | undefined;
173
382
  supportsForcedToolChoice?: boolean | undefined;
174
- disableReasoningOnForcedToolChoice?: boolean | undefined;
175
- disableReasoningOnToolChoice?: boolean | undefined;
383
+ supportsImageDetailOriginal?: boolean | undefined;
384
+ supportsLongPromptCacheRetention?: boolean | undefined;
385
+ supportsMultipleSystemMessages?: boolean | undefined;
386
+ supportsReasoningEffort?: boolean | undefined;
387
+ supportsReasoningParams?: boolean | undefined;
388
+ supportsStore?: boolean | undefined;
389
+ supportsStrictMode?: boolean | undefined;
390
+ supportsToolChoice?: boolean | undefined;
391
+ supportsUsageInStreaming?: boolean | undefined;
176
392
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
177
- openRouterRouting?: {
178
- only?: string[] | undefined;
179
- order?: string[] | undefined;
180
- } | undefined;
393
+ toolStrictMode?: "all_strict" | "none" | undefined;
181
394
  vercelGatewayRouting?: {
182
395
  only?: string[] | undefined;
183
396
  order?: string[] | undefined;
184
397
  } | undefined;
185
- extraBody?: {
186
- [x: string]: unknown;
187
- } | undefined;
188
- cacheControlFormat?: "anthropic" | undefined;
189
- supportsStrictMode?: boolean | undefined;
190
- toolStrictMode?: "all_strict" | "none" | undefined;
191
- streamIdleTimeoutMs?: number | undefined;
192
- supportsLongPromptCacheRetention?: boolean | undefined;
193
- supportsReasoningParams?: boolean | undefined;
194
- alwaysSendMaxTokens?: boolean | undefined;
195
- strictResponsesPairing?: boolean | undefined;
196
- supportsImageDetailOriginal?: boolean | undefined;
197
- supportsEagerToolInputStreaming?: boolean | undefined;
198
- allowAnthropicHeaderOverrides?: boolean | undefined;
199
- requiresToolResultId?: boolean | undefined;
200
- replayUnsignedThinking?: boolean | undefined;
201
398
  whenThinking?: {
202
- supportsStore?: boolean | undefined;
203
- supportsDeveloperRole?: boolean | undefined;
204
- supportsMultipleSystemMessages?: boolean | undefined;
205
- supportsReasoningEffort?: boolean | undefined;
399
+ allowAnthropicHeaderOverrides?: boolean | undefined;
400
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
401
+ alwaysSendMaxTokens?: boolean | undefined;
402
+ cacheControlFormat?: "anthropic" | undefined;
403
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
404
+ disableReasoningOnToolChoice?: boolean | undefined;
405
+ extraBody?: Record<string, unknown> | undefined;
406
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
407
+ openRouterRouting?: {
408
+ only?: string[] | undefined;
409
+ order?: string[] | undefined;
410
+ } | undefined;
411
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
206
412
  reasoningEffortMap?: {
207
- minimal?: string | undefined;
413
+ high?: string | undefined;
208
414
  low?: string | undefined;
415
+ max?: string | undefined;
209
416
  medium?: string | undefined;
210
- high?: string | undefined;
417
+ minimal?: string | undefined;
211
418
  xhigh?: string | undefined;
212
- max?: string | undefined;
213
419
  } | undefined;
214
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
215
- supportsUsageInStreaming?: boolean | undefined;
216
- requiresToolResultName?: boolean | undefined;
217
- requiresMistralToolIds?: boolean | undefined;
420
+ replayUnsignedThinking?: boolean | undefined;
218
421
  requiresAssistantAfterToolResult?: boolean | undefined;
219
- requiresThinkingAsText?: boolean | undefined;
220
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
221
- requiresReasoningContentForToolCalls?: boolean | undefined;
222
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
223
422
  requiresAssistantContentForToolCalls?: boolean | undefined;
224
- supportsToolChoice?: boolean | undefined;
423
+ requiresMistralToolIds?: boolean | undefined;
424
+ requiresReasoningContentForToolCalls?: boolean | undefined;
425
+ requiresThinkingAsText?: boolean | undefined;
426
+ requiresToolResultId?: boolean | undefined;
427
+ requiresToolResultName?: boolean | undefined;
428
+ streamIdleTimeoutMs?: number | undefined;
429
+ strictResponsesPairing?: boolean | undefined;
430
+ supportsDeveloperRole?: boolean | undefined;
431
+ supportsEagerToolInputStreaming?: boolean | undefined;
225
432
  supportsForcedToolChoice?: boolean | undefined;
226
- disableReasoningOnForcedToolChoice?: boolean | undefined;
227
- disableReasoningOnToolChoice?: boolean | undefined;
433
+ supportsImageDetailOriginal?: boolean | undefined;
434
+ supportsLongPromptCacheRetention?: boolean | undefined;
435
+ supportsMultipleSystemMessages?: boolean | undefined;
436
+ supportsReasoningEffort?: boolean | undefined;
437
+ supportsReasoningParams?: boolean | undefined;
438
+ supportsStore?: boolean | undefined;
439
+ supportsStrictMode?: boolean | undefined;
440
+ supportsToolChoice?: boolean | undefined;
441
+ supportsUsageInStreaming?: boolean | undefined;
228
442
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
229
- openRouterRouting?: {
230
- only?: string[] | undefined;
231
- order?: string[] | undefined;
232
- } | undefined;
443
+ toolStrictMode?: "all_strict" | "none" | undefined;
233
444
  vercelGatewayRouting?: {
234
445
  only?: string[] | undefined;
235
446
  order?: string[] | undefined;
236
447
  } | undefined;
237
- extraBody?: {
238
- [x: string]: unknown;
239
- } | undefined;
240
- cacheControlFormat?: "anthropic" | undefined;
241
- supportsStrictMode?: boolean | undefined;
242
- toolStrictMode?: "all_strict" | "none" | undefined;
243
- streamIdleTimeoutMs?: number | undefined;
244
- supportsLongPromptCacheRetention?: boolean | undefined;
245
- supportsReasoningParams?: boolean | undefined;
246
- alwaysSendMaxTokens?: boolean | undefined;
247
- strictResponsesPairing?: boolean | undefined;
248
- supportsImageDetailOriginal?: boolean | undefined;
249
- supportsEagerToolInputStreaming?: boolean | undefined;
250
- allowAnthropicHeaderOverrides?: boolean | undefined;
251
- requiresToolResultId?: boolean | undefined;
252
- replayUnsignedThinking?: boolean | undefined;
253
448
  } | undefined;
254
- promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
255
- promptCacheMinimumTokens?: number | undefined;
449
+ } & {
256
450
  promptCacheMaximumCheckpoints?: number | undefined;
257
- } | undefined;
451
+ promptCacheMinimumTokens?: number | undefined;
452
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
453
+ supportsLongPromptCacheRetention?: boolean | undefined;
454
+ }) | undefined;
258
455
  contextPromotionTarget?: string | undefined;
259
- compactionModel?: string | undefined;
456
+ contextWindow?: number | undefined;
457
+ cost?: {
458
+ cacheRead?: number | undefined;
459
+ cacheWrite?: number | undefined;
460
+ input?: number | undefined;
461
+ output?: number | undefined;
462
+ } | undefined;
463
+ headers?: Record<string, string> | undefined;
464
+ input?: ("image" | "text")[] | undefined;
465
+ maxTokens?: number | undefined;
466
+ name?: string | undefined;
467
+ omitMaxOutputTokens?: boolean | undefined;
468
+ premiumMultiplier?: number | undefined;
469
+ reasoning?: boolean | undefined;
260
470
  remoteCompaction?: {
261
- enabled?: boolean | undefined;
262
471
  api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
472
+ enabled?: boolean | undefined;
263
473
  endpoint?: string | undefined;
264
474
  model?: string | undefined;
265
- v2StreamingEnabled?: boolean | undefined;
266
- v2Endpoint?: string | undefined;
267
475
  streamingEndpoint?: string | undefined;
476
+ v2Endpoint?: string | undefined;
477
+ v2StreamingEnabled?: boolean | undefined;
478
+ } | undefined;
479
+ supportsTools?: boolean | undefined;
480
+ thinking?: {
481
+ defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
482
+ effortMap?: {
483
+ high?: string | undefined;
484
+ low?: string | undefined;
485
+ max?: string | undefined;
486
+ medium?: string | undefined;
487
+ minimal?: string | undefined;
488
+ xhigh?: string | undefined;
489
+ } | undefined;
490
+ efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
491
+ levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
492
+ maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
493
+ minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
494
+ mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
495
+ supportsDisplay?: boolean | undefined;
268
496
  } | undefined;
269
- }, {}>;
270
- ProviderDiscoverySchema: import("arktype/internal/variants/object.ts").ObjectType<{
497
+ }>;
498
+ ProviderDiscoverySchema: import("@oh-my-pi/omptype").FluentType<{
499
+ timeoutMs?: number | undefined;
271
500
  type: "litellm" | "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
501
+ }, {
272
502
  timeoutMs?: number | undefined;
273
- }, {}>;
274
- ProviderAuthSchema: import("arktype/internal/variants/string.ts").StringType<"apiKey" | "none" | "oauth", {}>;
275
- ModelsConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
276
- providers?: {
277
- [x: string]: {
278
- baseUrl?: string | undefined;
279
- apiKey?: string | undefined;
280
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
281
- headers?: {
282
- [x: string]: string;
503
+ type: "litellm" | "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
504
+ }>;
505
+ ProviderAuthSchema: import("@oh-my-pi/omptype").FluentType<"apiKey" | "none" | "oauth", "apiKey" | "none" | "oauth">;
506
+ ModelsConfigSchema: import("@oh-my-pi/omptype").FluentType<{
507
+ providers?: Record<string, {
508
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
509
+ apiKey?: string | undefined;
510
+ auth?: "apiKey" | "none" | "oauth" | undefined;
511
+ authHeader?: boolean | undefined;
512
+ baseUrl?: string | undefined;
513
+ compat?: ({
514
+ allowAnthropicHeaderOverrides?: boolean | undefined;
515
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
516
+ alwaysSendMaxTokens?: boolean | undefined;
517
+ cacheControlFormat?: "anthropic" | undefined;
518
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
519
+ disableReasoningOnToolChoice?: boolean | undefined;
520
+ extraBody?: Record<string, unknown> | undefined;
521
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
522
+ openRouterRouting?: {
523
+ only?: string[] | undefined;
524
+ order?: string[] | undefined;
283
525
  } | undefined;
284
- compat?: {
285
- supportsStore?: boolean | undefined;
286
- supportsDeveloperRole?: boolean | undefined;
287
- supportsMultipleSystemMessages?: boolean | undefined;
288
- supportsReasoningEffort?: boolean | undefined;
526
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
527
+ reasoningEffortMap?: {
528
+ high?: string | undefined;
529
+ low?: string | undefined;
530
+ max?: string | undefined;
531
+ medium?: string | undefined;
532
+ minimal?: string | undefined;
533
+ xhigh?: string | undefined;
534
+ } | undefined;
535
+ replayUnsignedThinking?: boolean | undefined;
536
+ requiresAssistantAfterToolResult?: boolean | undefined;
537
+ requiresAssistantContentForToolCalls?: boolean | undefined;
538
+ requiresMistralToolIds?: boolean | undefined;
539
+ requiresReasoningContentForToolCalls?: boolean | undefined;
540
+ requiresThinkingAsText?: boolean | undefined;
541
+ requiresToolResultId?: boolean | undefined;
542
+ requiresToolResultName?: boolean | undefined;
543
+ streamIdleTimeoutMs?: number | undefined;
544
+ strictResponsesPairing?: boolean | undefined;
545
+ supportsDeveloperRole?: boolean | undefined;
546
+ supportsEagerToolInputStreaming?: boolean | undefined;
547
+ supportsForcedToolChoice?: boolean | undefined;
548
+ supportsImageDetailOriginal?: boolean | undefined;
549
+ supportsLongPromptCacheRetention?: boolean | undefined;
550
+ supportsMultipleSystemMessages?: boolean | undefined;
551
+ supportsReasoningEffort?: boolean | undefined;
552
+ supportsReasoningParams?: boolean | undefined;
553
+ supportsStore?: boolean | undefined;
554
+ supportsStrictMode?: boolean | undefined;
555
+ supportsToolChoice?: boolean | undefined;
556
+ supportsUsageInStreaming?: boolean | undefined;
557
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
558
+ toolStrictMode?: "all_strict" | "none" | undefined;
559
+ vercelGatewayRouting?: {
560
+ only?: string[] | undefined;
561
+ order?: string[] | undefined;
562
+ } | undefined;
563
+ whenThinking?: {
564
+ allowAnthropicHeaderOverrides?: boolean | undefined;
565
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
566
+ alwaysSendMaxTokens?: boolean | undefined;
567
+ cacheControlFormat?: "anthropic" | undefined;
568
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
569
+ disableReasoningOnToolChoice?: boolean | undefined;
570
+ extraBody?: Record<string, unknown> | undefined;
571
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
572
+ openRouterRouting?: {
573
+ only?: string[] | undefined;
574
+ order?: string[] | undefined;
575
+ } | undefined;
576
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
289
577
  reasoningEffortMap?: {
290
- minimal?: string | undefined;
578
+ high?: string | undefined;
291
579
  low?: string | undefined;
580
+ max?: string | undefined;
292
581
  medium?: string | undefined;
293
- high?: string | undefined;
582
+ minimal?: string | undefined;
294
583
  xhigh?: string | undefined;
295
- max?: string | undefined;
296
584
  } | undefined;
297
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
298
- supportsUsageInStreaming?: boolean | undefined;
299
- requiresToolResultName?: boolean | undefined;
300
- requiresMistralToolIds?: boolean | undefined;
585
+ replayUnsignedThinking?: boolean | undefined;
301
586
  requiresAssistantAfterToolResult?: boolean | undefined;
302
- requiresThinkingAsText?: boolean | undefined;
303
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
304
- requiresReasoningContentForToolCalls?: boolean | undefined;
305
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
306
587
  requiresAssistantContentForToolCalls?: boolean | undefined;
307
- supportsToolChoice?: boolean | undefined;
588
+ requiresMistralToolIds?: boolean | undefined;
589
+ requiresReasoningContentForToolCalls?: boolean | undefined;
590
+ requiresThinkingAsText?: boolean | undefined;
591
+ requiresToolResultId?: boolean | undefined;
592
+ requiresToolResultName?: boolean | undefined;
593
+ streamIdleTimeoutMs?: number | undefined;
594
+ strictResponsesPairing?: boolean | undefined;
595
+ supportsDeveloperRole?: boolean | undefined;
596
+ supportsEagerToolInputStreaming?: boolean | undefined;
308
597
  supportsForcedToolChoice?: boolean | undefined;
309
- disableReasoningOnForcedToolChoice?: boolean | undefined;
310
- disableReasoningOnToolChoice?: boolean | undefined;
598
+ supportsImageDetailOriginal?: boolean | undefined;
599
+ supportsLongPromptCacheRetention?: boolean | undefined;
600
+ supportsMultipleSystemMessages?: boolean | undefined;
601
+ supportsReasoningEffort?: boolean | undefined;
602
+ supportsReasoningParams?: boolean | undefined;
603
+ supportsStore?: boolean | undefined;
604
+ supportsStrictMode?: boolean | undefined;
605
+ supportsToolChoice?: boolean | undefined;
606
+ supportsUsageInStreaming?: boolean | undefined;
311
607
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
312
- openRouterRouting?: {
608
+ toolStrictMode?: "all_strict" | "none" | undefined;
609
+ vercelGatewayRouting?: {
313
610
  only?: string[] | undefined;
314
611
  order?: string[] | undefined;
315
612
  } | undefined;
316
- vercelGatewayRouting?: {
613
+ } | undefined;
614
+ } & {
615
+ promptCacheMaximumCheckpoints?: number | undefined;
616
+ promptCacheMinimumTokens?: number | undefined;
617
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
618
+ supportsLongPromptCacheRetention?: boolean | undefined;
619
+ }) | undefined;
620
+ disableStrictTools?: boolean | undefined;
621
+ discovery?: {
622
+ timeoutMs?: number | undefined;
623
+ type: "litellm" | "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
624
+ } | undefined;
625
+ headers?: Record<string, string> | undefined;
626
+ modelOverrides?: Record<string, {
627
+ compactionModel?: string | undefined;
628
+ compat?: ({
629
+ allowAnthropicHeaderOverrides?: boolean | undefined;
630
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
631
+ alwaysSendMaxTokens?: boolean | undefined;
632
+ cacheControlFormat?: "anthropic" | undefined;
633
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
634
+ disableReasoningOnToolChoice?: boolean | undefined;
635
+ extraBody?: Record<string, unknown> | undefined;
636
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
637
+ openRouterRouting?: {
317
638
  only?: string[] | undefined;
318
639
  order?: string[] | undefined;
319
640
  } | undefined;
320
- extraBody?: {
321
- [x: string]: unknown;
641
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
642
+ reasoningEffortMap?: {
643
+ high?: string | undefined;
644
+ low?: string | undefined;
645
+ max?: string | undefined;
646
+ medium?: string | undefined;
647
+ minimal?: string | undefined;
648
+ xhigh?: string | undefined;
322
649
  } | undefined;
323
- cacheControlFormat?: "anthropic" | undefined;
324
- supportsStrictMode?: boolean | undefined;
325
- toolStrictMode?: "all_strict" | "none" | undefined;
650
+ replayUnsignedThinking?: boolean | undefined;
651
+ requiresAssistantAfterToolResult?: boolean | undefined;
652
+ requiresAssistantContentForToolCalls?: boolean | undefined;
653
+ requiresMistralToolIds?: boolean | undefined;
654
+ requiresReasoningContentForToolCalls?: boolean | undefined;
655
+ requiresThinkingAsText?: boolean | undefined;
656
+ requiresToolResultId?: boolean | undefined;
657
+ requiresToolResultName?: boolean | undefined;
326
658
  streamIdleTimeoutMs?: number | undefined;
327
- supportsLongPromptCacheRetention?: boolean | undefined;
328
- supportsReasoningParams?: boolean | undefined;
329
- alwaysSendMaxTokens?: boolean | undefined;
330
659
  strictResponsesPairing?: boolean | undefined;
331
- supportsImageDetailOriginal?: boolean | undefined;
660
+ supportsDeveloperRole?: boolean | undefined;
332
661
  supportsEagerToolInputStreaming?: boolean | undefined;
333
- allowAnthropicHeaderOverrides?: boolean | undefined;
334
- requiresToolResultId?: boolean | undefined;
335
- replayUnsignedThinking?: boolean | undefined;
662
+ supportsForcedToolChoice?: boolean | undefined;
663
+ supportsImageDetailOriginal?: boolean | undefined;
664
+ supportsLongPromptCacheRetention?: boolean | undefined;
665
+ supportsMultipleSystemMessages?: boolean | undefined;
666
+ supportsReasoningEffort?: boolean | undefined;
667
+ supportsReasoningParams?: boolean | undefined;
668
+ supportsStore?: boolean | undefined;
669
+ supportsStrictMode?: boolean | undefined;
670
+ supportsToolChoice?: boolean | undefined;
671
+ supportsUsageInStreaming?: boolean | undefined;
672
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
673
+ toolStrictMode?: "all_strict" | "none" | undefined;
674
+ vercelGatewayRouting?: {
675
+ only?: string[] | undefined;
676
+ order?: string[] | undefined;
677
+ } | undefined;
336
678
  whenThinking?: {
337
- supportsStore?: boolean | undefined;
338
- supportsDeveloperRole?: boolean | undefined;
339
- supportsMultipleSystemMessages?: boolean | undefined;
340
- supportsReasoningEffort?: boolean | undefined;
341
- reasoningEffortMap?: {
342
- minimal?: string | undefined;
343
- low?: string | undefined;
344
- medium?: string | undefined;
345
- high?: string | undefined;
346
- xhigh?: string | undefined;
347
- max?: string | undefined;
348
- } | undefined;
349
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
350
- supportsUsageInStreaming?: boolean | undefined;
351
- requiresToolResultName?: boolean | undefined;
352
- requiresMistralToolIds?: boolean | undefined;
353
- requiresAssistantAfterToolResult?: boolean | undefined;
354
- requiresThinkingAsText?: boolean | undefined;
355
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
356
- requiresReasoningContentForToolCalls?: boolean | undefined;
679
+ allowAnthropicHeaderOverrides?: boolean | undefined;
357
680
  allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
358
- requiresAssistantContentForToolCalls?: boolean | undefined;
359
- supportsToolChoice?: boolean | undefined;
360
- supportsForcedToolChoice?: boolean | undefined;
681
+ alwaysSendMaxTokens?: boolean | undefined;
682
+ cacheControlFormat?: "anthropic" | undefined;
361
683
  disableReasoningOnForcedToolChoice?: boolean | undefined;
362
684
  disableReasoningOnToolChoice?: boolean | undefined;
363
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
685
+ extraBody?: Record<string, unknown> | undefined;
686
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
364
687
  openRouterRouting?: {
365
688
  only?: string[] | undefined;
366
689
  order?: string[] | undefined;
367
690
  } | undefined;
368
- vercelGatewayRouting?: {
369
- only?: string[] | undefined;
370
- order?: string[] | undefined;
371
- } | undefined;
372
- extraBody?: {
373
- [x: string]: unknown;
374
- } | undefined;
375
- cacheControlFormat?: "anthropic" | undefined;
376
- supportsStrictMode?: boolean | undefined;
377
- toolStrictMode?: "all_strict" | "none" | undefined;
691
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
692
+ reasoningEffortMap?: {
693
+ high?: string | undefined;
694
+ low?: string | undefined;
695
+ max?: string | undefined;
696
+ medium?: string | undefined;
697
+ minimal?: string | undefined;
698
+ xhigh?: string | undefined;
699
+ } | undefined;
700
+ replayUnsignedThinking?: boolean | undefined;
701
+ requiresAssistantAfterToolResult?: boolean | undefined;
702
+ requiresAssistantContentForToolCalls?: boolean | undefined;
703
+ requiresMistralToolIds?: boolean | undefined;
704
+ requiresReasoningContentForToolCalls?: boolean | undefined;
705
+ requiresThinkingAsText?: boolean | undefined;
706
+ requiresToolResultId?: boolean | undefined;
707
+ requiresToolResultName?: boolean | undefined;
378
708
  streamIdleTimeoutMs?: number | undefined;
379
- supportsLongPromptCacheRetention?: boolean | undefined;
380
- supportsReasoningParams?: boolean | undefined;
381
- alwaysSendMaxTokens?: boolean | undefined;
382
709
  strictResponsesPairing?: boolean | undefined;
383
- supportsImageDetailOriginal?: boolean | undefined;
710
+ supportsDeveloperRole?: boolean | undefined;
384
711
  supportsEagerToolInputStreaming?: boolean | undefined;
385
- allowAnthropicHeaderOverrides?: boolean | undefined;
386
- requiresToolResultId?: boolean | undefined;
387
- replayUnsignedThinking?: boolean | undefined;
712
+ supportsForcedToolChoice?: boolean | undefined;
713
+ supportsImageDetailOriginal?: boolean | undefined;
714
+ supportsLongPromptCacheRetention?: boolean | undefined;
715
+ supportsMultipleSystemMessages?: boolean | undefined;
716
+ supportsReasoningEffort?: boolean | undefined;
717
+ supportsReasoningParams?: boolean | undefined;
718
+ supportsStore?: boolean | undefined;
719
+ supportsStrictMode?: boolean | undefined;
720
+ supportsToolChoice?: boolean | undefined;
721
+ supportsUsageInStreaming?: boolean | undefined;
722
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
723
+ toolStrictMode?: "all_strict" | "none" | undefined;
724
+ vercelGatewayRouting?: {
725
+ only?: string[] | undefined;
726
+ order?: string[] | undefined;
727
+ } | undefined;
388
728
  } | undefined;
389
- promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
390
- promptCacheMinimumTokens?: number | undefined;
729
+ } & {
391
730
  promptCacheMaximumCheckpoints?: number | undefined;
731
+ promptCacheMinimumTokens?: number | undefined;
732
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
733
+ supportsLongPromptCacheRetention?: boolean | undefined;
734
+ }) | undefined;
735
+ contextPromotionTarget?: string | undefined;
736
+ contextWindow?: number | undefined;
737
+ cost?: {
738
+ cacheRead?: number | undefined;
739
+ cacheWrite?: number | undefined;
740
+ input?: number | undefined;
741
+ output?: number | undefined;
392
742
  } | undefined;
743
+ headers?: Record<string, string> | undefined;
744
+ input?: ("image" | "text")[] | undefined;
745
+ maxTokens?: number | undefined;
746
+ name?: string | undefined;
747
+ omitMaxOutputTokens?: boolean | undefined;
748
+ premiumMultiplier?: number | undefined;
749
+ reasoning?: boolean | undefined;
393
750
  remoteCompaction?: {
394
- enabled?: boolean | undefined;
395
751
  api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
752
+ enabled?: boolean | undefined;
396
753
  endpoint?: string | undefined;
397
754
  model?: string | undefined;
398
- v2StreamingEnabled?: boolean | undefined;
399
- v2Endpoint?: string | undefined;
400
755
  streamingEndpoint?: string | undefined;
756
+ v2Endpoint?: string | undefined;
757
+ v2StreamingEnabled?: boolean | undefined;
401
758
  } | undefined;
402
- authHeader?: boolean | undefined;
403
- auth?: "apiKey" | "none" | "oauth" | undefined;
404
- discovery?: {
405
- type: "litellm" | "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
406
- timeoutMs?: number | undefined;
759
+ supportsTools?: boolean | undefined;
760
+ thinking?: {
761
+ mode: any;
762
+ efforts: any;
763
+ defaultLevel?: any;
764
+ effortMap?: any;
765
+ supportsDisplay?: any;
407
766
  } | undefined;
408
- models?: {
409
- id: string;
410
- name?: string | undefined;
411
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
412
- baseUrl?: string | undefined;
413
- reasoning?: boolean | undefined;
414
- thinking?: ((In: {
415
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
416
- efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
417
- defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
418
- effortMap?: {
419
- minimal?: string | undefined;
420
- low?: string | undefined;
421
- medium?: string | undefined;
422
- high?: string | undefined;
423
- xhigh?: string | undefined;
424
- max?: string | undefined;
425
- } | undefined;
426
- supportsDisplay?: boolean | undefined;
427
- minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
428
- maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
429
- levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
430
- }) => import("arktype").Out<{
431
- mode: any;
432
- efforts: any;
433
- defaultLevel?: any;
434
- effortMap?: any;
435
- supportsDisplay?: any;
436
- }>) | undefined;
437
- input?: ("image" | "text")[] | undefined;
438
- supportsTools?: boolean | undefined;
439
- cost?: {
440
- input: number;
441
- output: number;
442
- cacheRead: number;
443
- cacheWrite: number;
767
+ }> | undefined;
768
+ models?: {
769
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
770
+ baseUrl?: string | undefined;
771
+ compactionModel?: string | undefined;
772
+ compat?: ({
773
+ allowAnthropicHeaderOverrides?: boolean | undefined;
774
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
775
+ alwaysSendMaxTokens?: boolean | undefined;
776
+ cacheControlFormat?: "anthropic" | undefined;
777
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
778
+ disableReasoningOnToolChoice?: boolean | undefined;
779
+ extraBody?: Record<string, unknown> | undefined;
780
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
781
+ openRouterRouting?: {
782
+ only?: string[] | undefined;
783
+ order?: string[] | undefined;
444
784
  } | undefined;
445
- premiumMultiplier?: number | undefined;
446
- contextWindow?: number | undefined;
447
- maxTokens?: number | undefined;
448
- omitMaxOutputTokens?: boolean | undefined;
449
- headers?: {
450
- [x: string]: string;
785
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
786
+ reasoningEffortMap?: {
787
+ high?: string | undefined;
788
+ low?: string | undefined;
789
+ max?: string | undefined;
790
+ medium?: string | undefined;
791
+ minimal?: string | undefined;
792
+ xhigh?: string | undefined;
451
793
  } | undefined;
452
- compat?: {
453
- supportsStore?: boolean | undefined;
454
- supportsDeveloperRole?: boolean | undefined;
455
- supportsMultipleSystemMessages?: boolean | undefined;
456
- supportsReasoningEffort?: boolean | undefined;
794
+ replayUnsignedThinking?: boolean | undefined;
795
+ requiresAssistantAfterToolResult?: boolean | undefined;
796
+ requiresAssistantContentForToolCalls?: boolean | undefined;
797
+ requiresMistralToolIds?: boolean | undefined;
798
+ requiresReasoningContentForToolCalls?: boolean | undefined;
799
+ requiresThinkingAsText?: boolean | undefined;
800
+ requiresToolResultId?: boolean | undefined;
801
+ requiresToolResultName?: boolean | undefined;
802
+ streamIdleTimeoutMs?: number | undefined;
803
+ strictResponsesPairing?: boolean | undefined;
804
+ supportsDeveloperRole?: boolean | undefined;
805
+ supportsEagerToolInputStreaming?: boolean | undefined;
806
+ supportsForcedToolChoice?: boolean | undefined;
807
+ supportsImageDetailOriginal?: boolean | undefined;
808
+ supportsLongPromptCacheRetention?: boolean | undefined;
809
+ supportsMultipleSystemMessages?: boolean | undefined;
810
+ supportsReasoningEffort?: boolean | undefined;
811
+ supportsReasoningParams?: boolean | undefined;
812
+ supportsStore?: boolean | undefined;
813
+ supportsStrictMode?: boolean | undefined;
814
+ supportsToolChoice?: boolean | undefined;
815
+ supportsUsageInStreaming?: boolean | undefined;
816
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
817
+ toolStrictMode?: "all_strict" | "none" | undefined;
818
+ vercelGatewayRouting?: {
819
+ only?: string[] | undefined;
820
+ order?: string[] | undefined;
821
+ } | undefined;
822
+ whenThinking?: {
823
+ allowAnthropicHeaderOverrides?: boolean | undefined;
824
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
825
+ alwaysSendMaxTokens?: boolean | undefined;
826
+ cacheControlFormat?: "anthropic" | undefined;
827
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
828
+ disableReasoningOnToolChoice?: boolean | undefined;
829
+ extraBody?: Record<string, unknown> | undefined;
830
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
831
+ openRouterRouting?: {
832
+ only?: string[] | undefined;
833
+ order?: string[] | undefined;
834
+ } | undefined;
835
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
457
836
  reasoningEffortMap?: {
458
- minimal?: string | undefined;
837
+ high?: string | undefined;
459
838
  low?: string | undefined;
839
+ max?: string | undefined;
460
840
  medium?: string | undefined;
461
- high?: string | undefined;
841
+ minimal?: string | undefined;
462
842
  xhigh?: string | undefined;
463
- max?: string | undefined;
464
843
  } | undefined;
465
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
466
- supportsUsageInStreaming?: boolean | undefined;
467
- requiresToolResultName?: boolean | undefined;
468
- requiresMistralToolIds?: boolean | undefined;
844
+ replayUnsignedThinking?: boolean | undefined;
469
845
  requiresAssistantAfterToolResult?: boolean | undefined;
470
- requiresThinkingAsText?: boolean | undefined;
471
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
472
- requiresReasoningContentForToolCalls?: boolean | undefined;
473
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
474
846
  requiresAssistantContentForToolCalls?: boolean | undefined;
475
- supportsToolChoice?: boolean | undefined;
847
+ requiresMistralToolIds?: boolean | undefined;
848
+ requiresReasoningContentForToolCalls?: boolean | undefined;
849
+ requiresThinkingAsText?: boolean | undefined;
850
+ requiresToolResultId?: boolean | undefined;
851
+ requiresToolResultName?: boolean | undefined;
852
+ streamIdleTimeoutMs?: number | undefined;
853
+ strictResponsesPairing?: boolean | undefined;
854
+ supportsDeveloperRole?: boolean | undefined;
855
+ supportsEagerToolInputStreaming?: boolean | undefined;
476
856
  supportsForcedToolChoice?: boolean | undefined;
477
- disableReasoningOnForcedToolChoice?: boolean | undefined;
478
- disableReasoningOnToolChoice?: boolean | undefined;
857
+ supportsImageDetailOriginal?: boolean | undefined;
858
+ supportsLongPromptCacheRetention?: boolean | undefined;
859
+ supportsMultipleSystemMessages?: boolean | undefined;
860
+ supportsReasoningEffort?: boolean | undefined;
861
+ supportsReasoningParams?: boolean | undefined;
862
+ supportsStore?: boolean | undefined;
863
+ supportsStrictMode?: boolean | undefined;
864
+ supportsToolChoice?: boolean | undefined;
865
+ supportsUsageInStreaming?: boolean | undefined;
479
866
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
480
- openRouterRouting?: {
481
- only?: string[] | undefined;
482
- order?: string[] | undefined;
483
- } | undefined;
867
+ toolStrictMode?: "all_strict" | "none" | undefined;
484
868
  vercelGatewayRouting?: {
485
869
  only?: string[] | undefined;
486
870
  order?: string[] | undefined;
487
871
  } | undefined;
488
- extraBody?: {
489
- [x: string]: unknown;
490
- } | undefined;
491
- cacheControlFormat?: "anthropic" | undefined;
492
- supportsStrictMode?: boolean | undefined;
493
- toolStrictMode?: "all_strict" | "none" | undefined;
494
- streamIdleTimeoutMs?: number | undefined;
495
- supportsLongPromptCacheRetention?: boolean | undefined;
496
- supportsReasoningParams?: boolean | undefined;
497
- alwaysSendMaxTokens?: boolean | undefined;
498
- strictResponsesPairing?: boolean | undefined;
499
- supportsImageDetailOriginal?: boolean | undefined;
500
- supportsEagerToolInputStreaming?: boolean | undefined;
501
- allowAnthropicHeaderOverrides?: boolean | undefined;
502
- requiresToolResultId?: boolean | undefined;
503
- replayUnsignedThinking?: boolean | undefined;
504
- whenThinking?: {
505
- supportsStore?: boolean | undefined;
506
- supportsDeveloperRole?: boolean | undefined;
507
- supportsMultipleSystemMessages?: boolean | undefined;
508
- supportsReasoningEffort?: boolean | undefined;
509
- reasoningEffortMap?: {
510
- minimal?: string | undefined;
511
- low?: string | undefined;
512
- medium?: string | undefined;
513
- high?: string | undefined;
514
- xhigh?: string | undefined;
515
- max?: string | undefined;
516
- } | undefined;
517
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
518
- supportsUsageInStreaming?: boolean | undefined;
519
- requiresToolResultName?: boolean | undefined;
520
- requiresMistralToolIds?: boolean | undefined;
521
- requiresAssistantAfterToolResult?: boolean | undefined;
522
- requiresThinkingAsText?: boolean | undefined;
523
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
524
- requiresReasoningContentForToolCalls?: boolean | undefined;
525
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
526
- requiresAssistantContentForToolCalls?: boolean | undefined;
527
- supportsToolChoice?: boolean | undefined;
528
- supportsForcedToolChoice?: boolean | undefined;
529
- disableReasoningOnForcedToolChoice?: boolean | undefined;
530
- disableReasoningOnToolChoice?: boolean | undefined;
531
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
532
- openRouterRouting?: {
533
- only?: string[] | undefined;
534
- order?: string[] | undefined;
535
- } | undefined;
536
- vercelGatewayRouting?: {
537
- only?: string[] | undefined;
538
- order?: string[] | undefined;
539
- } | undefined;
540
- extraBody?: {
541
- [x: string]: unknown;
542
- } | undefined;
543
- cacheControlFormat?: "anthropic" | undefined;
544
- supportsStrictMode?: boolean | undefined;
545
- toolStrictMode?: "all_strict" | "none" | undefined;
546
- streamIdleTimeoutMs?: number | undefined;
547
- supportsLongPromptCacheRetention?: boolean | undefined;
548
- supportsReasoningParams?: boolean | undefined;
549
- alwaysSendMaxTokens?: boolean | undefined;
550
- strictResponsesPairing?: boolean | undefined;
551
- supportsImageDetailOriginal?: boolean | undefined;
552
- supportsEagerToolInputStreaming?: boolean | undefined;
553
- allowAnthropicHeaderOverrides?: boolean | undefined;
554
- requiresToolResultId?: boolean | undefined;
555
- replayUnsignedThinking?: boolean | undefined;
556
- } | undefined;
557
- promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
558
- promptCacheMinimumTokens?: number | undefined;
559
- promptCacheMaximumCheckpoints?: number | undefined;
560
- } | undefined;
561
- contextPromotionTarget?: string | undefined;
562
- compactionModel?: string | undefined;
563
- remoteCompaction?: {
564
- enabled?: boolean | undefined;
565
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
566
- endpoint?: string | undefined;
567
- model?: string | undefined;
568
- v2StreamingEnabled?: boolean | undefined;
569
- v2Endpoint?: string | undefined;
570
- streamingEndpoint?: string | undefined;
571
872
  } | undefined;
572
- }[] | undefined;
573
- modelOverrides?: {
574
- [x: string]: {
575
- name?: string | undefined;
576
- reasoning?: boolean | undefined;
577
- thinking?: ((In: {
578
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
579
- efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
580
- defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
581
- effortMap?: {
582
- minimal?: string | undefined;
583
- low?: string | undefined;
584
- medium?: string | undefined;
585
- high?: string | undefined;
586
- xhigh?: string | undefined;
587
- max?: string | undefined;
588
- } | undefined;
589
- supportsDisplay?: boolean | undefined;
590
- minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
591
- maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
592
- levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
593
- }) => import("arktype").Out<{
594
- mode: any;
595
- efforts: any;
596
- defaultLevel?: any;
597
- effortMap?: any;
598
- supportsDisplay?: any;
599
- }>) | undefined;
600
- input?: ("image" | "text")[] | undefined;
601
- supportsTools?: boolean | undefined;
602
- cost?: {
603
- input?: number | undefined;
604
- output?: number | undefined;
605
- cacheRead?: number | undefined;
606
- cacheWrite?: number | undefined;
607
- } | undefined;
608
- premiumMultiplier?: number | undefined;
609
- contextWindow?: number | undefined;
610
- maxTokens?: number | undefined;
611
- omitMaxOutputTokens?: boolean | undefined;
612
- headers?: {
613
- [x: string]: string;
614
- } | undefined;
615
- compat?: {
616
- supportsStore?: boolean | undefined;
617
- supportsDeveloperRole?: boolean | undefined;
618
- supportsMultipleSystemMessages?: boolean | undefined;
619
- supportsReasoningEffort?: boolean | undefined;
620
- reasoningEffortMap?: {
621
- minimal?: string | undefined;
622
- low?: string | undefined;
623
- medium?: string | undefined;
624
- high?: string | undefined;
625
- xhigh?: string | undefined;
626
- max?: string | undefined;
627
- } | undefined;
628
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
629
- supportsUsageInStreaming?: boolean | undefined;
630
- requiresToolResultName?: boolean | undefined;
631
- requiresMistralToolIds?: boolean | undefined;
632
- requiresAssistantAfterToolResult?: boolean | undefined;
633
- requiresThinkingAsText?: boolean | undefined;
634
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
635
- requiresReasoningContentForToolCalls?: boolean | undefined;
636
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
637
- requiresAssistantContentForToolCalls?: boolean | undefined;
638
- supportsToolChoice?: boolean | undefined;
639
- supportsForcedToolChoice?: boolean | undefined;
640
- disableReasoningOnForcedToolChoice?: boolean | undefined;
641
- disableReasoningOnToolChoice?: boolean | undefined;
642
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
643
- openRouterRouting?: {
644
- only?: string[] | undefined;
645
- order?: string[] | undefined;
646
- } | undefined;
647
- vercelGatewayRouting?: {
648
- only?: string[] | undefined;
649
- order?: string[] | undefined;
650
- } | undefined;
651
- extraBody?: {
652
- [x: string]: unknown;
653
- } | undefined;
654
- cacheControlFormat?: "anthropic" | undefined;
655
- supportsStrictMode?: boolean | undefined;
656
- toolStrictMode?: "all_strict" | "none" | undefined;
657
- streamIdleTimeoutMs?: number | undefined;
658
- supportsLongPromptCacheRetention?: boolean | undefined;
659
- supportsReasoningParams?: boolean | undefined;
660
- alwaysSendMaxTokens?: boolean | undefined;
661
- strictResponsesPairing?: boolean | undefined;
662
- supportsImageDetailOriginal?: boolean | undefined;
663
- supportsEagerToolInputStreaming?: boolean | undefined;
664
- allowAnthropicHeaderOverrides?: boolean | undefined;
665
- requiresToolResultId?: boolean | undefined;
666
- replayUnsignedThinking?: boolean | undefined;
667
- whenThinking?: {
668
- supportsStore?: boolean | undefined;
669
- supportsDeveloperRole?: boolean | undefined;
670
- supportsMultipleSystemMessages?: boolean | undefined;
671
- supportsReasoningEffort?: boolean | undefined;
672
- reasoningEffortMap?: {
673
- minimal?: string | undefined;
674
- low?: string | undefined;
675
- medium?: string | undefined;
676
- high?: string | undefined;
677
- xhigh?: string | undefined;
678
- max?: string | undefined;
679
- } | undefined;
680
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
681
- supportsUsageInStreaming?: boolean | undefined;
682
- requiresToolResultName?: boolean | undefined;
683
- requiresMistralToolIds?: boolean | undefined;
684
- requiresAssistantAfterToolResult?: boolean | undefined;
685
- requiresThinkingAsText?: boolean | undefined;
686
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
687
- requiresReasoningContentForToolCalls?: boolean | undefined;
688
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
689
- requiresAssistantContentForToolCalls?: boolean | undefined;
690
- supportsToolChoice?: boolean | undefined;
691
- supportsForcedToolChoice?: boolean | undefined;
692
- disableReasoningOnForcedToolChoice?: boolean | undefined;
693
- disableReasoningOnToolChoice?: boolean | undefined;
694
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
695
- openRouterRouting?: {
696
- only?: string[] | undefined;
697
- order?: string[] | undefined;
698
- } | undefined;
699
- vercelGatewayRouting?: {
700
- only?: string[] | undefined;
701
- order?: string[] | undefined;
702
- } | undefined;
703
- extraBody?: {
704
- [x: string]: unknown;
705
- } | undefined;
706
- cacheControlFormat?: "anthropic" | undefined;
707
- supportsStrictMode?: boolean | undefined;
708
- toolStrictMode?: "all_strict" | "none" | undefined;
709
- streamIdleTimeoutMs?: number | undefined;
710
- supportsLongPromptCacheRetention?: boolean | undefined;
711
- supportsReasoningParams?: boolean | undefined;
712
- alwaysSendMaxTokens?: boolean | undefined;
713
- strictResponsesPairing?: boolean | undefined;
714
- supportsImageDetailOriginal?: boolean | undefined;
715
- supportsEagerToolInputStreaming?: boolean | undefined;
716
- allowAnthropicHeaderOverrides?: boolean | undefined;
717
- requiresToolResultId?: boolean | undefined;
718
- replayUnsignedThinking?: boolean | undefined;
719
- } | undefined;
720
- promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
721
- promptCacheMinimumTokens?: number | undefined;
722
- promptCacheMaximumCheckpoints?: number | undefined;
723
- } | undefined;
724
- contextPromotionTarget?: string | undefined;
725
- compactionModel?: string | undefined;
726
- remoteCompaction?: {
727
- enabled?: boolean | undefined;
728
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
729
- endpoint?: string | undefined;
730
- model?: string | undefined;
731
- v2StreamingEnabled?: boolean | undefined;
732
- v2Endpoint?: string | undefined;
733
- streamingEndpoint?: string | undefined;
734
- } | undefined;
735
- };
873
+ } & {
874
+ promptCacheMaximumCheckpoints?: number | undefined;
875
+ promptCacheMinimumTokens?: number | undefined;
876
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
877
+ supportsLongPromptCacheRetention?: boolean | undefined;
878
+ }) | undefined;
879
+ contextPromotionTarget?: string | undefined;
880
+ contextWindow?: number | undefined;
881
+ cost?: {
882
+ cacheRead: number;
883
+ cacheWrite: number;
884
+ input: number;
885
+ output: number;
736
886
  } | undefined;
737
- disableStrictTools?: boolean | undefined;
738
- transport?: "pi-native" | undefined;
739
- };
740
- } | undefined;
741
- }, {}>;
742
- };
743
- export declare const getModelsConfigSchema: () => import("arktype/internal/variants/object.ts").ObjectType<{
744
- providers?: {
745
- [x: string]: {
746
- baseUrl?: string | undefined;
747
- apiKey?: string | undefined;
748
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
749
- headers?: {
750
- [x: string]: string;
751
- } | undefined;
752
- compat?: {
753
- supportsStore?: boolean | undefined;
754
- supportsDeveloperRole?: boolean | undefined;
755
- supportsMultipleSystemMessages?: boolean | undefined;
756
- supportsReasoningEffort?: boolean | undefined;
757
- reasoningEffortMap?: {
758
- minimal?: string | undefined;
759
- low?: string | undefined;
760
- medium?: string | undefined;
761
- high?: string | undefined;
762
- xhigh?: string | undefined;
763
- max?: string | undefined;
887
+ headers?: Record<string, string> | undefined;
888
+ id: string;
889
+ input?: ("image" | "text")[] | undefined;
890
+ maxTokens?: number | undefined;
891
+ name?: string | undefined;
892
+ omitMaxOutputTokens?: boolean | undefined;
893
+ premiumMultiplier?: number | undefined;
894
+ reasoning?: boolean | undefined;
895
+ remoteCompaction?: {
896
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
897
+ enabled?: boolean | undefined;
898
+ endpoint?: string | undefined;
899
+ model?: string | undefined;
900
+ streamingEndpoint?: string | undefined;
901
+ v2Endpoint?: string | undefined;
902
+ v2StreamingEnabled?: boolean | undefined;
764
903
  } | undefined;
765
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
766
- supportsUsageInStreaming?: boolean | undefined;
767
- requiresToolResultName?: boolean | undefined;
768
- requiresMistralToolIds?: boolean | undefined;
769
- requiresAssistantAfterToolResult?: boolean | undefined;
770
- requiresThinkingAsText?: boolean | undefined;
771
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
772
- requiresReasoningContentForToolCalls?: boolean | undefined;
773
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
774
- requiresAssistantContentForToolCalls?: boolean | undefined;
775
- supportsToolChoice?: boolean | undefined;
776
- supportsForcedToolChoice?: boolean | undefined;
904
+ supportsTools?: boolean | undefined;
905
+ thinking?: {
906
+ mode: any;
907
+ efforts: any;
908
+ defaultLevel?: any;
909
+ effortMap?: any;
910
+ supportsDisplay?: any;
911
+ } | undefined;
912
+ }[] | undefined;
913
+ remoteCompaction?: {
914
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
915
+ enabled?: boolean | undefined;
916
+ endpoint?: string | undefined;
917
+ model?: string | undefined;
918
+ streamingEndpoint?: string | undefined;
919
+ v2Endpoint?: string | undefined;
920
+ v2StreamingEnabled?: boolean | undefined;
921
+ } | undefined;
922
+ transport?: "pi-native" | undefined;
923
+ }> | undefined;
924
+ }, {
925
+ providers?: Record<string, {
926
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
927
+ apiKey?: string | undefined;
928
+ auth?: "apiKey" | "none" | "oauth" | undefined;
929
+ authHeader?: boolean | undefined;
930
+ baseUrl?: string | undefined;
931
+ compat?: ({
932
+ allowAnthropicHeaderOverrides?: boolean | undefined;
933
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
934
+ alwaysSendMaxTokens?: boolean | undefined;
935
+ cacheControlFormat?: "anthropic" | undefined;
777
936
  disableReasoningOnForcedToolChoice?: boolean | undefined;
778
937
  disableReasoningOnToolChoice?: boolean | undefined;
779
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
938
+ extraBody?: Record<string, unknown> | undefined;
939
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
780
940
  openRouterRouting?: {
781
941
  only?: string[] | undefined;
782
942
  order?: string[] | undefined;
783
943
  } | undefined;
784
- vercelGatewayRouting?: {
785
- only?: string[] | undefined;
786
- order?: string[] | undefined;
787
- } | undefined;
788
- extraBody?: {
789
- [x: string]: unknown;
944
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
945
+ reasoningEffortMap?: {
946
+ high?: string | undefined;
947
+ low?: string | undefined;
948
+ max?: string | undefined;
949
+ medium?: string | undefined;
950
+ minimal?: string | undefined;
951
+ xhigh?: string | undefined;
790
952
  } | undefined;
791
- cacheControlFormat?: "anthropic" | undefined;
792
- supportsStrictMode?: boolean | undefined;
793
- toolStrictMode?: "all_strict" | "none" | undefined;
953
+ replayUnsignedThinking?: boolean | undefined;
954
+ requiresAssistantAfterToolResult?: boolean | undefined;
955
+ requiresAssistantContentForToolCalls?: boolean | undefined;
956
+ requiresMistralToolIds?: boolean | undefined;
957
+ requiresReasoningContentForToolCalls?: boolean | undefined;
958
+ requiresThinkingAsText?: boolean | undefined;
959
+ requiresToolResultId?: boolean | undefined;
960
+ requiresToolResultName?: boolean | undefined;
794
961
  streamIdleTimeoutMs?: number | undefined;
795
- supportsLongPromptCacheRetention?: boolean | undefined;
796
- supportsReasoningParams?: boolean | undefined;
797
- alwaysSendMaxTokens?: boolean | undefined;
798
962
  strictResponsesPairing?: boolean | undefined;
799
- supportsImageDetailOriginal?: boolean | undefined;
963
+ supportsDeveloperRole?: boolean | undefined;
800
964
  supportsEagerToolInputStreaming?: boolean | undefined;
801
- allowAnthropicHeaderOverrides?: boolean | undefined;
802
- requiresToolResultId?: boolean | undefined;
803
- replayUnsignedThinking?: boolean | undefined;
965
+ supportsForcedToolChoice?: boolean | undefined;
966
+ supportsImageDetailOriginal?: boolean | undefined;
967
+ supportsLongPromptCacheRetention?: boolean | undefined;
968
+ supportsMultipleSystemMessages?: boolean | undefined;
969
+ supportsReasoningEffort?: boolean | undefined;
970
+ supportsReasoningParams?: boolean | undefined;
971
+ supportsStore?: boolean | undefined;
972
+ supportsStrictMode?: boolean | undefined;
973
+ supportsToolChoice?: boolean | undefined;
974
+ supportsUsageInStreaming?: boolean | undefined;
975
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
976
+ toolStrictMode?: "all_strict" | "none" | undefined;
977
+ vercelGatewayRouting?: {
978
+ only?: string[] | undefined;
979
+ order?: string[] | undefined;
980
+ } | undefined;
804
981
  whenThinking?: {
805
- supportsStore?: boolean | undefined;
806
- supportsDeveloperRole?: boolean | undefined;
807
- supportsMultipleSystemMessages?: boolean | undefined;
808
- supportsReasoningEffort?: boolean | undefined;
982
+ allowAnthropicHeaderOverrides?: boolean | undefined;
983
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
984
+ alwaysSendMaxTokens?: boolean | undefined;
985
+ cacheControlFormat?: "anthropic" | undefined;
986
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
987
+ disableReasoningOnToolChoice?: boolean | undefined;
988
+ extraBody?: Record<string, unknown> | undefined;
989
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
990
+ openRouterRouting?: {
991
+ only?: string[] | undefined;
992
+ order?: string[] | undefined;
993
+ } | undefined;
994
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
809
995
  reasoningEffortMap?: {
810
- minimal?: string | undefined;
996
+ high?: string | undefined;
811
997
  low?: string | undefined;
998
+ max?: string | undefined;
812
999
  medium?: string | undefined;
813
- high?: string | undefined;
1000
+ minimal?: string | undefined;
814
1001
  xhigh?: string | undefined;
815
- max?: string | undefined;
816
1002
  } | undefined;
817
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
818
- supportsUsageInStreaming?: boolean | undefined;
819
- requiresToolResultName?: boolean | undefined;
820
- requiresMistralToolIds?: boolean | undefined;
1003
+ replayUnsignedThinking?: boolean | undefined;
821
1004
  requiresAssistantAfterToolResult?: boolean | undefined;
822
- requiresThinkingAsText?: boolean | undefined;
823
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
824
- requiresReasoningContentForToolCalls?: boolean | undefined;
825
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
826
1005
  requiresAssistantContentForToolCalls?: boolean | undefined;
827
- supportsToolChoice?: boolean | undefined;
1006
+ requiresMistralToolIds?: boolean | undefined;
1007
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1008
+ requiresThinkingAsText?: boolean | undefined;
1009
+ requiresToolResultId?: boolean | undefined;
1010
+ requiresToolResultName?: boolean | undefined;
1011
+ streamIdleTimeoutMs?: number | undefined;
1012
+ strictResponsesPairing?: boolean | undefined;
1013
+ supportsDeveloperRole?: boolean | undefined;
1014
+ supportsEagerToolInputStreaming?: boolean | undefined;
828
1015
  supportsForcedToolChoice?: boolean | undefined;
829
- disableReasoningOnForcedToolChoice?: boolean | undefined;
830
- disableReasoningOnToolChoice?: boolean | undefined;
1016
+ supportsImageDetailOriginal?: boolean | undefined;
1017
+ supportsLongPromptCacheRetention?: boolean | undefined;
1018
+ supportsMultipleSystemMessages?: boolean | undefined;
1019
+ supportsReasoningEffort?: boolean | undefined;
1020
+ supportsReasoningParams?: boolean | undefined;
1021
+ supportsStore?: boolean | undefined;
1022
+ supportsStrictMode?: boolean | undefined;
1023
+ supportsToolChoice?: boolean | undefined;
1024
+ supportsUsageInStreaming?: boolean | undefined;
831
1025
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
832
- openRouterRouting?: {
833
- only?: string[] | undefined;
834
- order?: string[] | undefined;
835
- } | undefined;
1026
+ toolStrictMode?: "all_strict" | "none" | undefined;
836
1027
  vercelGatewayRouting?: {
837
1028
  only?: string[] | undefined;
838
1029
  order?: string[] | undefined;
839
1030
  } | undefined;
840
- extraBody?: {
841
- [x: string]: unknown;
842
- } | undefined;
843
- cacheControlFormat?: "anthropic" | undefined;
844
- supportsStrictMode?: boolean | undefined;
845
- toolStrictMode?: "all_strict" | "none" | undefined;
846
- streamIdleTimeoutMs?: number | undefined;
847
- supportsLongPromptCacheRetention?: boolean | undefined;
848
- supportsReasoningParams?: boolean | undefined;
849
- alwaysSendMaxTokens?: boolean | undefined;
850
- strictResponsesPairing?: boolean | undefined;
851
- supportsImageDetailOriginal?: boolean | undefined;
852
- supportsEagerToolInputStreaming?: boolean | undefined;
853
- allowAnthropicHeaderOverrides?: boolean | undefined;
854
- requiresToolResultId?: boolean | undefined;
855
- replayUnsignedThinking?: boolean | undefined;
856
1031
  } | undefined;
857
- promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
858
- promptCacheMinimumTokens?: number | undefined;
1032
+ } & {
859
1033
  promptCacheMaximumCheckpoints?: number | undefined;
860
- } | undefined;
861
- remoteCompaction?: {
862
- enabled?: boolean | undefined;
863
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
864
- endpoint?: string | undefined;
865
- model?: string | undefined;
866
- v2StreamingEnabled?: boolean | undefined;
867
- v2Endpoint?: string | undefined;
868
- streamingEndpoint?: string | undefined;
869
- } | undefined;
870
- authHeader?: boolean | undefined;
871
- auth?: "apiKey" | "none" | "oauth" | undefined;
1034
+ promptCacheMinimumTokens?: number | undefined;
1035
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1036
+ supportsLongPromptCacheRetention?: boolean | undefined;
1037
+ }) | undefined;
1038
+ disableStrictTools?: boolean | undefined;
872
1039
  discovery?: {
873
- type: "litellm" | "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
874
1040
  timeoutMs?: number | undefined;
1041
+ type: "litellm" | "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
875
1042
  } | undefined;
876
- models?: {
877
- id: string;
878
- name?: string | undefined;
879
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
880
- baseUrl?: string | undefined;
881
- reasoning?: boolean | undefined;
882
- thinking?: ((In: {
883
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
884
- efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
885
- defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
886
- effortMap?: {
887
- minimal?: string | undefined;
888
- low?: string | undefined;
889
- medium?: string | undefined;
890
- high?: string | undefined;
891
- xhigh?: string | undefined;
892
- max?: string | undefined;
1043
+ headers?: Record<string, string> | undefined;
1044
+ modelOverrides?: Record<string, {
1045
+ compactionModel?: string | undefined;
1046
+ compat?: ({
1047
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1048
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1049
+ alwaysSendMaxTokens?: boolean | undefined;
1050
+ cacheControlFormat?: "anthropic" | undefined;
1051
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1052
+ disableReasoningOnToolChoice?: boolean | undefined;
1053
+ extraBody?: Record<string, unknown> | undefined;
1054
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1055
+ openRouterRouting?: {
1056
+ only?: string[] | undefined;
1057
+ order?: string[] | undefined;
893
1058
  } | undefined;
894
- supportsDisplay?: boolean | undefined;
895
- minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
896
- maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
897
- levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
898
- }) => import("arktype").Out<{
899
- mode: any;
900
- efforts: any;
901
- defaultLevel?: any;
902
- effortMap?: any;
903
- supportsDisplay?: any;
904
- }>) | undefined;
905
- input?: ("image" | "text")[] | undefined;
906
- supportsTools?: boolean | undefined;
907
- cost?: {
908
- input: number;
909
- output: number;
910
- cacheRead: number;
911
- cacheWrite: number;
912
- } | undefined;
913
- premiumMultiplier?: number | undefined;
914
- contextWindow?: number | undefined;
915
- maxTokens?: number | undefined;
916
- omitMaxOutputTokens?: boolean | undefined;
917
- headers?: {
918
- [x: string]: string;
919
- } | undefined;
920
- compat?: {
921
- supportsStore?: boolean | undefined;
922
- supportsDeveloperRole?: boolean | undefined;
923
- supportsMultipleSystemMessages?: boolean | undefined;
924
- supportsReasoningEffort?: boolean | undefined;
1059
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
925
1060
  reasoningEffortMap?: {
926
- minimal?: string | undefined;
1061
+ high?: string | undefined;
927
1062
  low?: string | undefined;
1063
+ max?: string | undefined;
928
1064
  medium?: string | undefined;
929
- high?: string | undefined;
1065
+ minimal?: string | undefined;
930
1066
  xhigh?: string | undefined;
931
- max?: string | undefined;
932
1067
  } | undefined;
933
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
934
- supportsUsageInStreaming?: boolean | undefined;
935
- requiresToolResultName?: boolean | undefined;
936
- requiresMistralToolIds?: boolean | undefined;
1068
+ replayUnsignedThinking?: boolean | undefined;
937
1069
  requiresAssistantAfterToolResult?: boolean | undefined;
938
- requiresThinkingAsText?: boolean | undefined;
939
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
940
- requiresReasoningContentForToolCalls?: boolean | undefined;
941
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
942
1070
  requiresAssistantContentForToolCalls?: boolean | undefined;
943
- supportsToolChoice?: boolean | undefined;
1071
+ requiresMistralToolIds?: boolean | undefined;
1072
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1073
+ requiresThinkingAsText?: boolean | undefined;
1074
+ requiresToolResultId?: boolean | undefined;
1075
+ requiresToolResultName?: boolean | undefined;
1076
+ streamIdleTimeoutMs?: number | undefined;
1077
+ strictResponsesPairing?: boolean | undefined;
1078
+ supportsDeveloperRole?: boolean | undefined;
1079
+ supportsEagerToolInputStreaming?: boolean | undefined;
944
1080
  supportsForcedToolChoice?: boolean | undefined;
945
- disableReasoningOnForcedToolChoice?: boolean | undefined;
946
- disableReasoningOnToolChoice?: boolean | undefined;
947
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
948
- openRouterRouting?: {
949
- only?: string[] | undefined;
950
- order?: string[] | undefined;
951
- } | undefined;
1081
+ supportsImageDetailOriginal?: boolean | undefined;
1082
+ supportsLongPromptCacheRetention?: boolean | undefined;
1083
+ supportsMultipleSystemMessages?: boolean | undefined;
1084
+ supportsReasoningEffort?: boolean | undefined;
1085
+ supportsReasoningParams?: boolean | undefined;
1086
+ supportsStore?: boolean | undefined;
1087
+ supportsStrictMode?: boolean | undefined;
1088
+ supportsToolChoice?: boolean | undefined;
1089
+ supportsUsageInStreaming?: boolean | undefined;
1090
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1091
+ toolStrictMode?: "all_strict" | "none" | undefined;
952
1092
  vercelGatewayRouting?: {
953
1093
  only?: string[] | undefined;
954
1094
  order?: string[] | undefined;
955
1095
  } | undefined;
956
- extraBody?: {
957
- [x: string]: unknown;
958
- } | undefined;
959
- cacheControlFormat?: "anthropic" | undefined;
960
- supportsStrictMode?: boolean | undefined;
961
- toolStrictMode?: "all_strict" | "none" | undefined;
962
- streamIdleTimeoutMs?: number | undefined;
963
- supportsLongPromptCacheRetention?: boolean | undefined;
964
- supportsReasoningParams?: boolean | undefined;
965
- alwaysSendMaxTokens?: boolean | undefined;
966
- strictResponsesPairing?: boolean | undefined;
967
- supportsImageDetailOriginal?: boolean | undefined;
968
- supportsEagerToolInputStreaming?: boolean | undefined;
969
- allowAnthropicHeaderOverrides?: boolean | undefined;
970
- requiresToolResultId?: boolean | undefined;
971
- replayUnsignedThinking?: boolean | undefined;
972
1096
  whenThinking?: {
973
- supportsStore?: boolean | undefined;
974
- supportsDeveloperRole?: boolean | undefined;
975
- supportsMultipleSystemMessages?: boolean | undefined;
976
- supportsReasoningEffort?: boolean | undefined;
1097
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1098
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1099
+ alwaysSendMaxTokens?: boolean | undefined;
1100
+ cacheControlFormat?: "anthropic" | undefined;
1101
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1102
+ disableReasoningOnToolChoice?: boolean | undefined;
1103
+ extraBody?: Record<string, unknown> | undefined;
1104
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1105
+ openRouterRouting?: {
1106
+ only?: string[] | undefined;
1107
+ order?: string[] | undefined;
1108
+ } | undefined;
1109
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
977
1110
  reasoningEffortMap?: {
978
- minimal?: string | undefined;
1111
+ high?: string | undefined;
979
1112
  low?: string | undefined;
1113
+ max?: string | undefined;
980
1114
  medium?: string | undefined;
981
- high?: string | undefined;
1115
+ minimal?: string | undefined;
982
1116
  xhigh?: string | undefined;
983
- max?: string | undefined;
984
1117
  } | undefined;
985
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
986
- supportsUsageInStreaming?: boolean | undefined;
987
- requiresToolResultName?: boolean | undefined;
988
- requiresMistralToolIds?: boolean | undefined;
1118
+ replayUnsignedThinking?: boolean | undefined;
989
1119
  requiresAssistantAfterToolResult?: boolean | undefined;
990
- requiresThinkingAsText?: boolean | undefined;
991
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
992
- requiresReasoningContentForToolCalls?: boolean | undefined;
993
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
994
1120
  requiresAssistantContentForToolCalls?: boolean | undefined;
995
- supportsToolChoice?: boolean | undefined;
1121
+ requiresMistralToolIds?: boolean | undefined;
1122
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1123
+ requiresThinkingAsText?: boolean | undefined;
1124
+ requiresToolResultId?: boolean | undefined;
1125
+ requiresToolResultName?: boolean | undefined;
1126
+ streamIdleTimeoutMs?: number | undefined;
1127
+ strictResponsesPairing?: boolean | undefined;
1128
+ supportsDeveloperRole?: boolean | undefined;
1129
+ supportsEagerToolInputStreaming?: boolean | undefined;
996
1130
  supportsForcedToolChoice?: boolean | undefined;
997
- disableReasoningOnForcedToolChoice?: boolean | undefined;
998
- disableReasoningOnToolChoice?: boolean | undefined;
1131
+ supportsImageDetailOriginal?: boolean | undefined;
1132
+ supportsLongPromptCacheRetention?: boolean | undefined;
1133
+ supportsMultipleSystemMessages?: boolean | undefined;
1134
+ supportsReasoningEffort?: boolean | undefined;
1135
+ supportsReasoningParams?: boolean | undefined;
1136
+ supportsStore?: boolean | undefined;
1137
+ supportsStrictMode?: boolean | undefined;
1138
+ supportsToolChoice?: boolean | undefined;
1139
+ supportsUsageInStreaming?: boolean | undefined;
999
1140
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1000
- openRouterRouting?: {
1001
- only?: string[] | undefined;
1002
- order?: string[] | undefined;
1003
- } | undefined;
1141
+ toolStrictMode?: "all_strict" | "none" | undefined;
1004
1142
  vercelGatewayRouting?: {
1005
1143
  only?: string[] | undefined;
1006
1144
  order?: string[] | undefined;
1007
1145
  } | undefined;
1008
- extraBody?: {
1009
- [x: string]: unknown;
1010
- } | undefined;
1011
- cacheControlFormat?: "anthropic" | undefined;
1012
- supportsStrictMode?: boolean | undefined;
1013
- toolStrictMode?: "all_strict" | "none" | undefined;
1014
- streamIdleTimeoutMs?: number | undefined;
1015
- supportsLongPromptCacheRetention?: boolean | undefined;
1016
- supportsReasoningParams?: boolean | undefined;
1017
- alwaysSendMaxTokens?: boolean | undefined;
1018
- strictResponsesPairing?: boolean | undefined;
1019
- supportsImageDetailOriginal?: boolean | undefined;
1020
- supportsEagerToolInputStreaming?: boolean | undefined;
1021
- allowAnthropicHeaderOverrides?: boolean | undefined;
1022
- requiresToolResultId?: boolean | undefined;
1023
- replayUnsignedThinking?: boolean | undefined;
1024
1146
  } | undefined;
1025
- promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1026
- promptCacheMinimumTokens?: number | undefined;
1147
+ } & {
1027
1148
  promptCacheMaximumCheckpoints?: number | undefined;
1028
- } | undefined;
1149
+ promptCacheMinimumTokens?: number | undefined;
1150
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1151
+ supportsLongPromptCacheRetention?: boolean | undefined;
1152
+ }) | undefined;
1029
1153
  contextPromotionTarget?: string | undefined;
1030
- compactionModel?: string | undefined;
1154
+ contextWindow?: number | undefined;
1155
+ cost?: {
1156
+ cacheRead?: number | undefined;
1157
+ cacheWrite?: number | undefined;
1158
+ input?: number | undefined;
1159
+ output?: number | undefined;
1160
+ } | undefined;
1161
+ headers?: Record<string, string> | undefined;
1162
+ input?: ("image" | "text")[] | undefined;
1163
+ maxTokens?: number | undefined;
1164
+ name?: string | undefined;
1165
+ omitMaxOutputTokens?: boolean | undefined;
1166
+ premiumMultiplier?: number | undefined;
1167
+ reasoning?: boolean | undefined;
1031
1168
  remoteCompaction?: {
1032
- enabled?: boolean | undefined;
1033
1169
  api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1170
+ enabled?: boolean | undefined;
1034
1171
  endpoint?: string | undefined;
1035
1172
  model?: string | undefined;
1036
- v2StreamingEnabled?: boolean | undefined;
1037
- v2Endpoint?: string | undefined;
1038
1173
  streamingEndpoint?: string | undefined;
1174
+ v2Endpoint?: string | undefined;
1175
+ v2StreamingEnabled?: boolean | undefined;
1039
1176
  } | undefined;
1040
- }[] | undefined;
1041
- modelOverrides?: {
1042
- [x: string]: {
1043
- name?: string | undefined;
1044
- reasoning?: boolean | undefined;
1045
- thinking?: ((In: {
1046
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
1047
- efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
1048
- defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1049
- effortMap?: {
1050
- minimal?: string | undefined;
1051
- low?: string | undefined;
1052
- medium?: string | undefined;
1053
- high?: string | undefined;
1054
- xhigh?: string | undefined;
1055
- max?: string | undefined;
1056
- } | undefined;
1057
- supportsDisplay?: boolean | undefined;
1058
- minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1059
- maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1060
- levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
1061
- }) => import("arktype").Out<{
1062
- mode: any;
1063
- efforts: any;
1064
- defaultLevel?: any;
1065
- effortMap?: any;
1066
- supportsDisplay?: any;
1067
- }>) | undefined;
1068
- input?: ("image" | "text")[] | undefined;
1069
- supportsTools?: boolean | undefined;
1070
- cost?: {
1071
- input?: number | undefined;
1072
- output?: number | undefined;
1073
- cacheRead?: number | undefined;
1074
- cacheWrite?: number | undefined;
1177
+ supportsTools?: boolean | undefined;
1178
+ thinking?: {
1179
+ defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1180
+ effortMap?: {
1181
+ high?: string | undefined;
1182
+ low?: string | undefined;
1183
+ max?: string | undefined;
1184
+ medium?: string | undefined;
1185
+ minimal?: string | undefined;
1186
+ xhigh?: string | undefined;
1075
1187
  } | undefined;
1076
- premiumMultiplier?: number | undefined;
1077
- contextWindow?: number | undefined;
1078
- maxTokens?: number | undefined;
1079
- omitMaxOutputTokens?: boolean | undefined;
1080
- headers?: {
1081
- [x: string]: string;
1188
+ efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
1189
+ levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
1190
+ maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1191
+ minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1192
+ mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
1193
+ supportsDisplay?: boolean | undefined;
1194
+ } | undefined;
1195
+ }> | undefined;
1196
+ models?: {
1197
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1198
+ baseUrl?: string | undefined;
1199
+ compactionModel?: string | undefined;
1200
+ compat?: ({
1201
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1202
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1203
+ alwaysSendMaxTokens?: boolean | undefined;
1204
+ cacheControlFormat?: "anthropic" | undefined;
1205
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1206
+ disableReasoningOnToolChoice?: boolean | undefined;
1207
+ extraBody?: Record<string, unknown> | undefined;
1208
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1209
+ openRouterRouting?: {
1210
+ only?: string[] | undefined;
1211
+ order?: string[] | undefined;
1082
1212
  } | undefined;
1083
- compat?: {
1084
- supportsStore?: boolean | undefined;
1085
- supportsDeveloperRole?: boolean | undefined;
1086
- supportsMultipleSystemMessages?: boolean | undefined;
1087
- supportsReasoningEffort?: boolean | undefined;
1213
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1214
+ reasoningEffortMap?: {
1215
+ high?: string | undefined;
1216
+ low?: string | undefined;
1217
+ max?: string | undefined;
1218
+ medium?: string | undefined;
1219
+ minimal?: string | undefined;
1220
+ xhigh?: string | undefined;
1221
+ } | undefined;
1222
+ replayUnsignedThinking?: boolean | undefined;
1223
+ requiresAssistantAfterToolResult?: boolean | undefined;
1224
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1225
+ requiresMistralToolIds?: boolean | undefined;
1226
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1227
+ requiresThinkingAsText?: boolean | undefined;
1228
+ requiresToolResultId?: boolean | undefined;
1229
+ requiresToolResultName?: boolean | undefined;
1230
+ streamIdleTimeoutMs?: number | undefined;
1231
+ strictResponsesPairing?: boolean | undefined;
1232
+ supportsDeveloperRole?: boolean | undefined;
1233
+ supportsEagerToolInputStreaming?: boolean | undefined;
1234
+ supportsForcedToolChoice?: boolean | undefined;
1235
+ supportsImageDetailOriginal?: boolean | undefined;
1236
+ supportsLongPromptCacheRetention?: boolean | undefined;
1237
+ supportsMultipleSystemMessages?: boolean | undefined;
1238
+ supportsReasoningEffort?: boolean | undefined;
1239
+ supportsReasoningParams?: boolean | undefined;
1240
+ supportsStore?: boolean | undefined;
1241
+ supportsStrictMode?: boolean | undefined;
1242
+ supportsToolChoice?: boolean | undefined;
1243
+ supportsUsageInStreaming?: boolean | undefined;
1244
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1245
+ toolStrictMode?: "all_strict" | "none" | undefined;
1246
+ vercelGatewayRouting?: {
1247
+ only?: string[] | undefined;
1248
+ order?: string[] | undefined;
1249
+ } | undefined;
1250
+ whenThinking?: {
1251
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1252
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1253
+ alwaysSendMaxTokens?: boolean | undefined;
1254
+ cacheControlFormat?: "anthropic" | undefined;
1255
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1256
+ disableReasoningOnToolChoice?: boolean | undefined;
1257
+ extraBody?: Record<string, unknown> | undefined;
1258
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1259
+ openRouterRouting?: {
1260
+ only?: string[] | undefined;
1261
+ order?: string[] | undefined;
1262
+ } | undefined;
1263
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1088
1264
  reasoningEffortMap?: {
1089
- minimal?: string | undefined;
1265
+ high?: string | undefined;
1090
1266
  low?: string | undefined;
1267
+ max?: string | undefined;
1091
1268
  medium?: string | undefined;
1092
- high?: string | undefined;
1269
+ minimal?: string | undefined;
1093
1270
  xhigh?: string | undefined;
1094
- max?: string | undefined;
1095
1271
  } | undefined;
1096
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1097
- supportsUsageInStreaming?: boolean | undefined;
1098
- requiresToolResultName?: boolean | undefined;
1099
- requiresMistralToolIds?: boolean | undefined;
1272
+ replayUnsignedThinking?: boolean | undefined;
1100
1273
  requiresAssistantAfterToolResult?: boolean | undefined;
1101
- requiresThinkingAsText?: boolean | undefined;
1102
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1103
- requiresReasoningContentForToolCalls?: boolean | undefined;
1104
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1105
1274
  requiresAssistantContentForToolCalls?: boolean | undefined;
1106
- supportsToolChoice?: boolean | undefined;
1275
+ requiresMistralToolIds?: boolean | undefined;
1276
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1277
+ requiresThinkingAsText?: boolean | undefined;
1278
+ requiresToolResultId?: boolean | undefined;
1279
+ requiresToolResultName?: boolean | undefined;
1280
+ streamIdleTimeoutMs?: number | undefined;
1281
+ strictResponsesPairing?: boolean | undefined;
1282
+ supportsDeveloperRole?: boolean | undefined;
1283
+ supportsEagerToolInputStreaming?: boolean | undefined;
1107
1284
  supportsForcedToolChoice?: boolean | undefined;
1108
- disableReasoningOnForcedToolChoice?: boolean | undefined;
1109
- disableReasoningOnToolChoice?: boolean | undefined;
1285
+ supportsImageDetailOriginal?: boolean | undefined;
1286
+ supportsLongPromptCacheRetention?: boolean | undefined;
1287
+ supportsMultipleSystemMessages?: boolean | undefined;
1288
+ supportsReasoningEffort?: boolean | undefined;
1289
+ supportsReasoningParams?: boolean | undefined;
1290
+ supportsStore?: boolean | undefined;
1291
+ supportsStrictMode?: boolean | undefined;
1292
+ supportsToolChoice?: boolean | undefined;
1293
+ supportsUsageInStreaming?: boolean | undefined;
1110
1294
  thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1111
- openRouterRouting?: {
1112
- only?: string[] | undefined;
1113
- order?: string[] | undefined;
1114
- } | undefined;
1295
+ toolStrictMode?: "all_strict" | "none" | undefined;
1115
1296
  vercelGatewayRouting?: {
1116
1297
  only?: string[] | undefined;
1117
1298
  order?: string[] | undefined;
1118
1299
  } | undefined;
1119
- extraBody?: {
1120
- [x: string]: unknown;
1121
- } | undefined;
1122
- cacheControlFormat?: "anthropic" | undefined;
1123
- supportsStrictMode?: boolean | undefined;
1124
- toolStrictMode?: "all_strict" | "none" | undefined;
1125
- streamIdleTimeoutMs?: number | undefined;
1126
- supportsLongPromptCacheRetention?: boolean | undefined;
1127
- supportsReasoningParams?: boolean | undefined;
1128
- alwaysSendMaxTokens?: boolean | undefined;
1129
- strictResponsesPairing?: boolean | undefined;
1130
- supportsImageDetailOriginal?: boolean | undefined;
1131
- supportsEagerToolInputStreaming?: boolean | undefined;
1132
- allowAnthropicHeaderOverrides?: boolean | undefined;
1133
- requiresToolResultId?: boolean | undefined;
1134
- replayUnsignedThinking?: boolean | undefined;
1135
- whenThinking?: {
1136
- supportsStore?: boolean | undefined;
1137
- supportsDeveloperRole?: boolean | undefined;
1138
- supportsMultipleSystemMessages?: boolean | undefined;
1139
- supportsReasoningEffort?: boolean | undefined;
1140
- reasoningEffortMap?: {
1141
- minimal?: string | undefined;
1142
- low?: string | undefined;
1143
- medium?: string | undefined;
1144
- high?: string | undefined;
1145
- xhigh?: string | undefined;
1146
- max?: string | undefined;
1147
- } | undefined;
1148
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1149
- supportsUsageInStreaming?: boolean | undefined;
1150
- requiresToolResultName?: boolean | undefined;
1151
- requiresMistralToolIds?: boolean | undefined;
1152
- requiresAssistantAfterToolResult?: boolean | undefined;
1153
- requiresThinkingAsText?: boolean | undefined;
1154
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1155
- requiresReasoningContentForToolCalls?: boolean | undefined;
1156
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1157
- requiresAssistantContentForToolCalls?: boolean | undefined;
1158
- supportsToolChoice?: boolean | undefined;
1159
- supportsForcedToolChoice?: boolean | undefined;
1160
- disableReasoningOnForcedToolChoice?: boolean | undefined;
1161
- disableReasoningOnToolChoice?: boolean | undefined;
1162
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1163
- openRouterRouting?: {
1164
- only?: string[] | undefined;
1165
- order?: string[] | undefined;
1166
- } | undefined;
1167
- vercelGatewayRouting?: {
1168
- only?: string[] | undefined;
1169
- order?: string[] | undefined;
1170
- } | undefined;
1171
- extraBody?: {
1172
- [x: string]: unknown;
1173
- } | undefined;
1174
- cacheControlFormat?: "anthropic" | undefined;
1175
- supportsStrictMode?: boolean | undefined;
1176
- toolStrictMode?: "all_strict" | "none" | undefined;
1177
- streamIdleTimeoutMs?: number | undefined;
1178
- supportsLongPromptCacheRetention?: boolean | undefined;
1179
- supportsReasoningParams?: boolean | undefined;
1180
- alwaysSendMaxTokens?: boolean | undefined;
1181
- strictResponsesPairing?: boolean | undefined;
1182
- supportsImageDetailOriginal?: boolean | undefined;
1183
- supportsEagerToolInputStreaming?: boolean | undefined;
1184
- allowAnthropicHeaderOverrides?: boolean | undefined;
1185
- requiresToolResultId?: boolean | undefined;
1186
- replayUnsignedThinking?: boolean | undefined;
1187
- } | undefined;
1188
- promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1189
- promptCacheMinimumTokens?: number | undefined;
1190
- promptCacheMaximumCheckpoints?: number | undefined;
1191
1300
  } | undefined;
1192
- contextPromotionTarget?: string | undefined;
1193
- compactionModel?: string | undefined;
1194
- remoteCompaction?: {
1195
- enabled?: boolean | undefined;
1196
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1197
- endpoint?: string | undefined;
1198
- model?: string | undefined;
1199
- v2StreamingEnabled?: boolean | undefined;
1200
- v2Endpoint?: string | undefined;
1201
- streamingEndpoint?: string | undefined;
1301
+ } & {
1302
+ promptCacheMaximumCheckpoints?: number | undefined;
1303
+ promptCacheMinimumTokens?: number | undefined;
1304
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1305
+ supportsLongPromptCacheRetention?: boolean | undefined;
1306
+ }) | undefined;
1307
+ contextPromotionTarget?: string | undefined;
1308
+ contextWindow?: number | undefined;
1309
+ cost?: {
1310
+ cacheRead: number;
1311
+ cacheWrite: number;
1312
+ input: number;
1313
+ output: number;
1314
+ } | undefined;
1315
+ headers?: Record<string, string> | undefined;
1316
+ id: string;
1317
+ input?: ("image" | "text")[] | undefined;
1318
+ maxTokens?: number | undefined;
1319
+ name?: string | undefined;
1320
+ omitMaxOutputTokens?: boolean | undefined;
1321
+ premiumMultiplier?: number | undefined;
1322
+ reasoning?: boolean | undefined;
1323
+ remoteCompaction?: {
1324
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1325
+ enabled?: boolean | undefined;
1326
+ endpoint?: string | undefined;
1327
+ model?: string | undefined;
1328
+ streamingEndpoint?: string | undefined;
1329
+ v2Endpoint?: string | undefined;
1330
+ v2StreamingEnabled?: boolean | undefined;
1331
+ } | undefined;
1332
+ supportsTools?: boolean | undefined;
1333
+ thinking?: {
1334
+ defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1335
+ effortMap?: {
1336
+ high?: string | undefined;
1337
+ low?: string | undefined;
1338
+ max?: string | undefined;
1339
+ medium?: string | undefined;
1340
+ minimal?: string | undefined;
1341
+ xhigh?: string | undefined;
1202
1342
  } | undefined;
1203
- };
1343
+ efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
1344
+ levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
1345
+ maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1346
+ minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
1347
+ mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
1348
+ supportsDisplay?: boolean | undefined;
1349
+ } | undefined;
1350
+ }[] | undefined;
1351
+ remoteCompaction?: {
1352
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1353
+ enabled?: boolean | undefined;
1354
+ endpoint?: string | undefined;
1355
+ model?: string | undefined;
1356
+ streamingEndpoint?: string | undefined;
1357
+ v2Endpoint?: string | undefined;
1358
+ v2StreamingEnabled?: boolean | undefined;
1204
1359
  } | undefined;
1205
- disableStrictTools?: boolean | undefined;
1206
1360
  transport?: "pi-native" | undefined;
1207
- };
1208
- } | undefined;
1209
- }, {}>;
1361
+ }> | undefined;
1362
+ }>;
1363
+ };
1364
+ export declare const getModelsConfigSchema: () => import("@oh-my-pi/omptype").FluentType<{
1365
+ providers?: Record<string, {
1366
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1367
+ apiKey?: string | undefined;
1368
+ auth?: "apiKey" | "none" | "oauth" | undefined;
1369
+ authHeader?: boolean | undefined;
1370
+ baseUrl?: string | undefined;
1371
+ compat?: ({
1372
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1373
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1374
+ alwaysSendMaxTokens?: boolean | undefined;
1375
+ cacheControlFormat?: "anthropic" | undefined;
1376
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1377
+ disableReasoningOnToolChoice?: boolean | undefined;
1378
+ extraBody?: Record<string, unknown> | undefined;
1379
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1380
+ openRouterRouting?: {
1381
+ only?: string[] | undefined;
1382
+ order?: string[] | undefined;
1383
+ } | undefined;
1384
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1385
+ reasoningEffortMap?: {
1386
+ high?: string | undefined;
1387
+ low?: string | undefined;
1388
+ max?: string | undefined;
1389
+ medium?: string | undefined;
1390
+ minimal?: string | undefined;
1391
+ xhigh?: string | undefined;
1392
+ } | undefined;
1393
+ replayUnsignedThinking?: boolean | undefined;
1394
+ requiresAssistantAfterToolResult?: boolean | undefined;
1395
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1396
+ requiresMistralToolIds?: boolean | undefined;
1397
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1398
+ requiresThinkingAsText?: boolean | undefined;
1399
+ requiresToolResultId?: boolean | undefined;
1400
+ requiresToolResultName?: boolean | undefined;
1401
+ streamIdleTimeoutMs?: number | undefined;
1402
+ strictResponsesPairing?: boolean | undefined;
1403
+ supportsDeveloperRole?: boolean | undefined;
1404
+ supportsEagerToolInputStreaming?: boolean | undefined;
1405
+ supportsForcedToolChoice?: boolean | undefined;
1406
+ supportsImageDetailOriginal?: boolean | undefined;
1407
+ supportsLongPromptCacheRetention?: boolean | undefined;
1408
+ supportsMultipleSystemMessages?: boolean | undefined;
1409
+ supportsReasoningEffort?: boolean | undefined;
1410
+ supportsReasoningParams?: boolean | undefined;
1411
+ supportsStore?: boolean | undefined;
1412
+ supportsStrictMode?: boolean | undefined;
1413
+ supportsToolChoice?: boolean | undefined;
1414
+ supportsUsageInStreaming?: boolean | undefined;
1415
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1416
+ toolStrictMode?: "all_strict" | "none" | undefined;
1417
+ vercelGatewayRouting?: {
1418
+ only?: string[] | undefined;
1419
+ order?: string[] | undefined;
1420
+ } | undefined;
1421
+ whenThinking?: {
1422
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1423
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1424
+ alwaysSendMaxTokens?: boolean | undefined;
1425
+ cacheControlFormat?: "anthropic" | undefined;
1426
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1427
+ disableReasoningOnToolChoice?: boolean | undefined;
1428
+ extraBody?: Record<string, unknown> | undefined;
1429
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1430
+ openRouterRouting?: {
1431
+ only?: string[] | undefined;
1432
+ order?: string[] | undefined;
1433
+ } | undefined;
1434
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1435
+ reasoningEffortMap?: {
1436
+ high?: string | undefined;
1437
+ low?: string | undefined;
1438
+ max?: string | undefined;
1439
+ medium?: string | undefined;
1440
+ minimal?: string | undefined;
1441
+ xhigh?: string | undefined;
1442
+ } | undefined;
1443
+ replayUnsignedThinking?: boolean | undefined;
1444
+ requiresAssistantAfterToolResult?: boolean | undefined;
1445
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1446
+ requiresMistralToolIds?: boolean | undefined;
1447
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1448
+ requiresThinkingAsText?: boolean | undefined;
1449
+ requiresToolResultId?: boolean | undefined;
1450
+ requiresToolResultName?: boolean | undefined;
1451
+ streamIdleTimeoutMs?: number | undefined;
1452
+ strictResponsesPairing?: boolean | undefined;
1453
+ supportsDeveloperRole?: boolean | undefined;
1454
+ supportsEagerToolInputStreaming?: boolean | undefined;
1455
+ supportsForcedToolChoice?: boolean | undefined;
1456
+ supportsImageDetailOriginal?: boolean | undefined;
1457
+ supportsLongPromptCacheRetention?: boolean | undefined;
1458
+ supportsMultipleSystemMessages?: boolean | undefined;
1459
+ supportsReasoningEffort?: boolean | undefined;
1460
+ supportsReasoningParams?: boolean | undefined;
1461
+ supportsStore?: boolean | undefined;
1462
+ supportsStrictMode?: boolean | undefined;
1463
+ supportsToolChoice?: boolean | undefined;
1464
+ supportsUsageInStreaming?: boolean | undefined;
1465
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1466
+ toolStrictMode?: "all_strict" | "none" | undefined;
1467
+ vercelGatewayRouting?: {
1468
+ only?: string[] | undefined;
1469
+ order?: string[] | undefined;
1470
+ } | undefined;
1471
+ } | undefined;
1472
+ } & {
1473
+ promptCacheMaximumCheckpoints?: number | undefined;
1474
+ promptCacheMinimumTokens?: number | undefined;
1475
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1476
+ supportsLongPromptCacheRetention?: boolean | undefined;
1477
+ }) | undefined;
1478
+ disableStrictTools?: boolean | undefined;
1479
+ discovery?: {
1480
+ timeoutMs?: number | undefined;
1481
+ type: "litellm" | "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
1482
+ } | undefined;
1483
+ headers?: Record<string, string> | undefined;
1484
+ modelOverrides?: Record<string, {
1485
+ compactionModel?: string | undefined;
1486
+ compat?: ({
1487
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1488
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1489
+ alwaysSendMaxTokens?: boolean | undefined;
1490
+ cacheControlFormat?: "anthropic" | undefined;
1491
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1492
+ disableReasoningOnToolChoice?: boolean | undefined;
1493
+ extraBody?: Record<string, unknown> | undefined;
1494
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1495
+ openRouterRouting?: {
1496
+ only?: string[] | undefined;
1497
+ order?: string[] | undefined;
1498
+ } | undefined;
1499
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1500
+ reasoningEffortMap?: {
1501
+ high?: string | undefined;
1502
+ low?: string | undefined;
1503
+ max?: string | undefined;
1504
+ medium?: string | undefined;
1505
+ minimal?: string | undefined;
1506
+ xhigh?: string | undefined;
1507
+ } | undefined;
1508
+ replayUnsignedThinking?: boolean | undefined;
1509
+ requiresAssistantAfterToolResult?: boolean | undefined;
1510
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1511
+ requiresMistralToolIds?: boolean | undefined;
1512
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1513
+ requiresThinkingAsText?: boolean | undefined;
1514
+ requiresToolResultId?: boolean | undefined;
1515
+ requiresToolResultName?: boolean | undefined;
1516
+ streamIdleTimeoutMs?: number | undefined;
1517
+ strictResponsesPairing?: boolean | undefined;
1518
+ supportsDeveloperRole?: boolean | undefined;
1519
+ supportsEagerToolInputStreaming?: boolean | undefined;
1520
+ supportsForcedToolChoice?: boolean | undefined;
1521
+ supportsImageDetailOriginal?: boolean | undefined;
1522
+ supportsLongPromptCacheRetention?: boolean | undefined;
1523
+ supportsMultipleSystemMessages?: boolean | undefined;
1524
+ supportsReasoningEffort?: boolean | undefined;
1525
+ supportsReasoningParams?: boolean | undefined;
1526
+ supportsStore?: boolean | undefined;
1527
+ supportsStrictMode?: boolean | undefined;
1528
+ supportsToolChoice?: boolean | undefined;
1529
+ supportsUsageInStreaming?: boolean | undefined;
1530
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1531
+ toolStrictMode?: "all_strict" | "none" | undefined;
1532
+ vercelGatewayRouting?: {
1533
+ only?: string[] | undefined;
1534
+ order?: string[] | undefined;
1535
+ } | undefined;
1536
+ whenThinking?: {
1537
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1538
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1539
+ alwaysSendMaxTokens?: boolean | undefined;
1540
+ cacheControlFormat?: "anthropic" | undefined;
1541
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1542
+ disableReasoningOnToolChoice?: boolean | undefined;
1543
+ extraBody?: Record<string, unknown> | undefined;
1544
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1545
+ openRouterRouting?: {
1546
+ only?: string[] | undefined;
1547
+ order?: string[] | undefined;
1548
+ } | undefined;
1549
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1550
+ reasoningEffortMap?: {
1551
+ high?: string | undefined;
1552
+ low?: string | undefined;
1553
+ max?: string | undefined;
1554
+ medium?: string | undefined;
1555
+ minimal?: string | undefined;
1556
+ xhigh?: string | undefined;
1557
+ } | undefined;
1558
+ replayUnsignedThinking?: boolean | undefined;
1559
+ requiresAssistantAfterToolResult?: boolean | undefined;
1560
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1561
+ requiresMistralToolIds?: boolean | undefined;
1562
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1563
+ requiresThinkingAsText?: boolean | undefined;
1564
+ requiresToolResultId?: boolean | undefined;
1565
+ requiresToolResultName?: boolean | undefined;
1566
+ streamIdleTimeoutMs?: number | undefined;
1567
+ strictResponsesPairing?: boolean | undefined;
1568
+ supportsDeveloperRole?: boolean | undefined;
1569
+ supportsEagerToolInputStreaming?: boolean | undefined;
1570
+ supportsForcedToolChoice?: boolean | undefined;
1571
+ supportsImageDetailOriginal?: boolean | undefined;
1572
+ supportsLongPromptCacheRetention?: boolean | undefined;
1573
+ supportsMultipleSystemMessages?: boolean | undefined;
1574
+ supportsReasoningEffort?: boolean | undefined;
1575
+ supportsReasoningParams?: boolean | undefined;
1576
+ supportsStore?: boolean | undefined;
1577
+ supportsStrictMode?: boolean | undefined;
1578
+ supportsToolChoice?: boolean | undefined;
1579
+ supportsUsageInStreaming?: boolean | undefined;
1580
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1581
+ toolStrictMode?: "all_strict" | "none" | undefined;
1582
+ vercelGatewayRouting?: {
1583
+ only?: string[] | undefined;
1584
+ order?: string[] | undefined;
1585
+ } | undefined;
1586
+ } | undefined;
1587
+ } & {
1588
+ promptCacheMaximumCheckpoints?: number | undefined;
1589
+ promptCacheMinimumTokens?: number | undefined;
1590
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1591
+ supportsLongPromptCacheRetention?: boolean | undefined;
1592
+ }) | undefined;
1593
+ contextPromotionTarget?: string | undefined;
1594
+ contextWindow?: number | undefined;
1595
+ cost?: {
1596
+ cacheRead?: number | undefined;
1597
+ cacheWrite?: number | undefined;
1598
+ input?: number | undefined;
1599
+ output?: number | undefined;
1600
+ } | undefined;
1601
+ headers?: Record<string, string> | undefined;
1602
+ input?: ("image" | "text")[] | undefined;
1603
+ maxTokens?: number | undefined;
1604
+ name?: string | undefined;
1605
+ omitMaxOutputTokens?: boolean | undefined;
1606
+ premiumMultiplier?: number | undefined;
1607
+ reasoning?: boolean | undefined;
1608
+ remoteCompaction?: {
1609
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1610
+ enabled?: boolean | undefined;
1611
+ endpoint?: string | undefined;
1612
+ model?: string | undefined;
1613
+ streamingEndpoint?: string | undefined;
1614
+ v2Endpoint?: string | undefined;
1615
+ v2StreamingEnabled?: boolean | undefined;
1616
+ } | undefined;
1617
+ supportsTools?: boolean | undefined;
1618
+ thinking?: {
1619
+ mode: any;
1620
+ efforts: any;
1621
+ defaultLevel?: any;
1622
+ effortMap?: any;
1623
+ supportsDisplay?: any;
1624
+ } | undefined;
1625
+ }> | undefined;
1626
+ models?: {
1627
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1628
+ baseUrl?: string | undefined;
1629
+ compactionModel?: string | undefined;
1630
+ compat?: ({
1631
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1632
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1633
+ alwaysSendMaxTokens?: boolean | undefined;
1634
+ cacheControlFormat?: "anthropic" | undefined;
1635
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1636
+ disableReasoningOnToolChoice?: boolean | undefined;
1637
+ extraBody?: Record<string, unknown> | undefined;
1638
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1639
+ openRouterRouting?: {
1640
+ only?: string[] | undefined;
1641
+ order?: string[] | undefined;
1642
+ } | undefined;
1643
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1644
+ reasoningEffortMap?: {
1645
+ high?: string | undefined;
1646
+ low?: string | undefined;
1647
+ max?: string | undefined;
1648
+ medium?: string | undefined;
1649
+ minimal?: string | undefined;
1650
+ xhigh?: string | undefined;
1651
+ } | undefined;
1652
+ replayUnsignedThinking?: boolean | undefined;
1653
+ requiresAssistantAfterToolResult?: boolean | undefined;
1654
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1655
+ requiresMistralToolIds?: boolean | undefined;
1656
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1657
+ requiresThinkingAsText?: boolean | undefined;
1658
+ requiresToolResultId?: boolean | undefined;
1659
+ requiresToolResultName?: boolean | undefined;
1660
+ streamIdleTimeoutMs?: number | undefined;
1661
+ strictResponsesPairing?: boolean | undefined;
1662
+ supportsDeveloperRole?: boolean | undefined;
1663
+ supportsEagerToolInputStreaming?: boolean | undefined;
1664
+ supportsForcedToolChoice?: boolean | undefined;
1665
+ supportsImageDetailOriginal?: boolean | undefined;
1666
+ supportsLongPromptCacheRetention?: boolean | undefined;
1667
+ supportsMultipleSystemMessages?: boolean | undefined;
1668
+ supportsReasoningEffort?: boolean | undefined;
1669
+ supportsReasoningParams?: boolean | undefined;
1670
+ supportsStore?: boolean | undefined;
1671
+ supportsStrictMode?: boolean | undefined;
1672
+ supportsToolChoice?: boolean | undefined;
1673
+ supportsUsageInStreaming?: boolean | undefined;
1674
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1675
+ toolStrictMode?: "all_strict" | "none" | undefined;
1676
+ vercelGatewayRouting?: {
1677
+ only?: string[] | undefined;
1678
+ order?: string[] | undefined;
1679
+ } | undefined;
1680
+ whenThinking?: {
1681
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1682
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1683
+ alwaysSendMaxTokens?: boolean | undefined;
1684
+ cacheControlFormat?: "anthropic" | undefined;
1685
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1686
+ disableReasoningOnToolChoice?: boolean | undefined;
1687
+ extraBody?: Record<string, unknown> | undefined;
1688
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1689
+ openRouterRouting?: {
1690
+ only?: string[] | undefined;
1691
+ order?: string[] | undefined;
1692
+ } | undefined;
1693
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1694
+ reasoningEffortMap?: {
1695
+ high?: string | undefined;
1696
+ low?: string | undefined;
1697
+ max?: string | undefined;
1698
+ medium?: string | undefined;
1699
+ minimal?: string | undefined;
1700
+ xhigh?: string | undefined;
1701
+ } | undefined;
1702
+ replayUnsignedThinking?: boolean | undefined;
1703
+ requiresAssistantAfterToolResult?: boolean | undefined;
1704
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1705
+ requiresMistralToolIds?: boolean | undefined;
1706
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1707
+ requiresThinkingAsText?: boolean | undefined;
1708
+ requiresToolResultId?: boolean | undefined;
1709
+ requiresToolResultName?: boolean | undefined;
1710
+ streamIdleTimeoutMs?: number | undefined;
1711
+ strictResponsesPairing?: boolean | undefined;
1712
+ supportsDeveloperRole?: boolean | undefined;
1713
+ supportsEagerToolInputStreaming?: boolean | undefined;
1714
+ supportsForcedToolChoice?: boolean | undefined;
1715
+ supportsImageDetailOriginal?: boolean | undefined;
1716
+ supportsLongPromptCacheRetention?: boolean | undefined;
1717
+ supportsMultipleSystemMessages?: boolean | undefined;
1718
+ supportsReasoningEffort?: boolean | undefined;
1719
+ supportsReasoningParams?: boolean | undefined;
1720
+ supportsStore?: boolean | undefined;
1721
+ supportsStrictMode?: boolean | undefined;
1722
+ supportsToolChoice?: boolean | undefined;
1723
+ supportsUsageInStreaming?: boolean | undefined;
1724
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1725
+ toolStrictMode?: "all_strict" | "none" | undefined;
1726
+ vercelGatewayRouting?: {
1727
+ only?: string[] | undefined;
1728
+ order?: string[] | undefined;
1729
+ } | undefined;
1730
+ } | undefined;
1731
+ } & {
1732
+ promptCacheMaximumCheckpoints?: number | undefined;
1733
+ promptCacheMinimumTokens?: number | undefined;
1734
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1735
+ supportsLongPromptCacheRetention?: boolean | undefined;
1736
+ }) | undefined;
1737
+ contextPromotionTarget?: string | undefined;
1738
+ contextWindow?: number | undefined;
1739
+ cost?: {
1740
+ cacheRead: number;
1741
+ cacheWrite: number;
1742
+ input: number;
1743
+ output: number;
1744
+ } | undefined;
1745
+ headers?: Record<string, string> | undefined;
1746
+ id: string;
1747
+ input?: ("image" | "text")[] | undefined;
1748
+ maxTokens?: number | undefined;
1749
+ name?: string | undefined;
1750
+ omitMaxOutputTokens?: boolean | undefined;
1751
+ premiumMultiplier?: number | undefined;
1752
+ reasoning?: boolean | undefined;
1753
+ remoteCompaction?: {
1754
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1755
+ enabled?: boolean | undefined;
1756
+ endpoint?: string | undefined;
1757
+ model?: string | undefined;
1758
+ streamingEndpoint?: string | undefined;
1759
+ v2Endpoint?: string | undefined;
1760
+ v2StreamingEnabled?: boolean | undefined;
1761
+ } | undefined;
1762
+ supportsTools?: boolean | undefined;
1763
+ thinking?: {
1764
+ mode: any;
1765
+ efforts: any;
1766
+ defaultLevel?: any;
1767
+ effortMap?: any;
1768
+ supportsDisplay?: any;
1769
+ } | undefined;
1770
+ }[] | undefined;
1771
+ remoteCompaction?: {
1772
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1773
+ enabled?: boolean | undefined;
1774
+ endpoint?: string | undefined;
1775
+ model?: string | undefined;
1776
+ streamingEndpoint?: string | undefined;
1777
+ v2Endpoint?: string | undefined;
1778
+ v2StreamingEnabled?: boolean | undefined;
1779
+ } | undefined;
1780
+ transport?: "pi-native" | undefined;
1781
+ }> | undefined;
1782
+ }, {
1783
+ providers?: Record<string, {
1784
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
1785
+ apiKey?: string | undefined;
1786
+ auth?: "apiKey" | "none" | "oauth" | undefined;
1787
+ authHeader?: boolean | undefined;
1788
+ baseUrl?: string | undefined;
1789
+ compat?: ({
1790
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1791
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1792
+ alwaysSendMaxTokens?: boolean | undefined;
1793
+ cacheControlFormat?: "anthropic" | undefined;
1794
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1795
+ disableReasoningOnToolChoice?: boolean | undefined;
1796
+ extraBody?: Record<string, unknown> | undefined;
1797
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1798
+ openRouterRouting?: {
1799
+ only?: string[] | undefined;
1800
+ order?: string[] | undefined;
1801
+ } | undefined;
1802
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1803
+ reasoningEffortMap?: {
1804
+ high?: string | undefined;
1805
+ low?: string | undefined;
1806
+ max?: string | undefined;
1807
+ medium?: string | undefined;
1808
+ minimal?: string | undefined;
1809
+ xhigh?: string | undefined;
1810
+ } | undefined;
1811
+ replayUnsignedThinking?: boolean | undefined;
1812
+ requiresAssistantAfterToolResult?: boolean | undefined;
1813
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1814
+ requiresMistralToolIds?: boolean | undefined;
1815
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1816
+ requiresThinkingAsText?: boolean | undefined;
1817
+ requiresToolResultId?: boolean | undefined;
1818
+ requiresToolResultName?: boolean | undefined;
1819
+ streamIdleTimeoutMs?: number | undefined;
1820
+ strictResponsesPairing?: boolean | undefined;
1821
+ supportsDeveloperRole?: boolean | undefined;
1822
+ supportsEagerToolInputStreaming?: boolean | undefined;
1823
+ supportsForcedToolChoice?: boolean | undefined;
1824
+ supportsImageDetailOriginal?: boolean | undefined;
1825
+ supportsLongPromptCacheRetention?: boolean | undefined;
1826
+ supportsMultipleSystemMessages?: boolean | undefined;
1827
+ supportsReasoningEffort?: boolean | undefined;
1828
+ supportsReasoningParams?: boolean | undefined;
1829
+ supportsStore?: boolean | undefined;
1830
+ supportsStrictMode?: boolean | undefined;
1831
+ supportsToolChoice?: boolean | undefined;
1832
+ supportsUsageInStreaming?: boolean | undefined;
1833
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1834
+ toolStrictMode?: "all_strict" | "none" | undefined;
1835
+ vercelGatewayRouting?: {
1836
+ only?: string[] | undefined;
1837
+ order?: string[] | undefined;
1838
+ } | undefined;
1839
+ whenThinking?: {
1840
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1841
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1842
+ alwaysSendMaxTokens?: boolean | undefined;
1843
+ cacheControlFormat?: "anthropic" | undefined;
1844
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1845
+ disableReasoningOnToolChoice?: boolean | undefined;
1846
+ extraBody?: Record<string, unknown> | undefined;
1847
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1848
+ openRouterRouting?: {
1849
+ only?: string[] | undefined;
1850
+ order?: string[] | undefined;
1851
+ } | undefined;
1852
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1853
+ reasoningEffortMap?: {
1854
+ high?: string | undefined;
1855
+ low?: string | undefined;
1856
+ max?: string | undefined;
1857
+ medium?: string | undefined;
1858
+ minimal?: string | undefined;
1859
+ xhigh?: string | undefined;
1860
+ } | undefined;
1861
+ replayUnsignedThinking?: boolean | undefined;
1862
+ requiresAssistantAfterToolResult?: boolean | undefined;
1863
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1864
+ requiresMistralToolIds?: boolean | undefined;
1865
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1866
+ requiresThinkingAsText?: boolean | undefined;
1867
+ requiresToolResultId?: boolean | undefined;
1868
+ requiresToolResultName?: boolean | undefined;
1869
+ streamIdleTimeoutMs?: number | undefined;
1870
+ strictResponsesPairing?: boolean | undefined;
1871
+ supportsDeveloperRole?: boolean | undefined;
1872
+ supportsEagerToolInputStreaming?: boolean | undefined;
1873
+ supportsForcedToolChoice?: boolean | undefined;
1874
+ supportsImageDetailOriginal?: boolean | undefined;
1875
+ supportsLongPromptCacheRetention?: boolean | undefined;
1876
+ supportsMultipleSystemMessages?: boolean | undefined;
1877
+ supportsReasoningEffort?: boolean | undefined;
1878
+ supportsReasoningParams?: boolean | undefined;
1879
+ supportsStore?: boolean | undefined;
1880
+ supportsStrictMode?: boolean | undefined;
1881
+ supportsToolChoice?: boolean | undefined;
1882
+ supportsUsageInStreaming?: boolean | undefined;
1883
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1884
+ toolStrictMode?: "all_strict" | "none" | undefined;
1885
+ vercelGatewayRouting?: {
1886
+ only?: string[] | undefined;
1887
+ order?: string[] | undefined;
1888
+ } | undefined;
1889
+ } | undefined;
1890
+ } & {
1891
+ promptCacheMaximumCheckpoints?: number | undefined;
1892
+ promptCacheMinimumTokens?: number | undefined;
1893
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
1894
+ supportsLongPromptCacheRetention?: boolean | undefined;
1895
+ }) | undefined;
1896
+ disableStrictTools?: boolean | undefined;
1897
+ discovery?: {
1898
+ timeoutMs?: number | undefined;
1899
+ type: "litellm" | "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
1900
+ } | undefined;
1901
+ headers?: Record<string, string> | undefined;
1902
+ modelOverrides?: Record<string, {
1903
+ compactionModel?: string | undefined;
1904
+ compat?: ({
1905
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1906
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1907
+ alwaysSendMaxTokens?: boolean | undefined;
1908
+ cacheControlFormat?: "anthropic" | undefined;
1909
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1910
+ disableReasoningOnToolChoice?: boolean | undefined;
1911
+ extraBody?: Record<string, unknown> | undefined;
1912
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1913
+ openRouterRouting?: {
1914
+ only?: string[] | undefined;
1915
+ order?: string[] | undefined;
1916
+ } | undefined;
1917
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1918
+ reasoningEffortMap?: {
1919
+ high?: string | undefined;
1920
+ low?: string | undefined;
1921
+ max?: string | undefined;
1922
+ medium?: string | undefined;
1923
+ minimal?: string | undefined;
1924
+ xhigh?: string | undefined;
1925
+ } | undefined;
1926
+ replayUnsignedThinking?: boolean | undefined;
1927
+ requiresAssistantAfterToolResult?: boolean | undefined;
1928
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1929
+ requiresMistralToolIds?: boolean | undefined;
1930
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1931
+ requiresThinkingAsText?: boolean | undefined;
1932
+ requiresToolResultId?: boolean | undefined;
1933
+ requiresToolResultName?: boolean | undefined;
1934
+ streamIdleTimeoutMs?: number | undefined;
1935
+ strictResponsesPairing?: boolean | undefined;
1936
+ supportsDeveloperRole?: boolean | undefined;
1937
+ supportsEagerToolInputStreaming?: boolean | undefined;
1938
+ supportsForcedToolChoice?: boolean | undefined;
1939
+ supportsImageDetailOriginal?: boolean | undefined;
1940
+ supportsLongPromptCacheRetention?: boolean | undefined;
1941
+ supportsMultipleSystemMessages?: boolean | undefined;
1942
+ supportsReasoningEffort?: boolean | undefined;
1943
+ supportsReasoningParams?: boolean | undefined;
1944
+ supportsStore?: boolean | undefined;
1945
+ supportsStrictMode?: boolean | undefined;
1946
+ supportsToolChoice?: boolean | undefined;
1947
+ supportsUsageInStreaming?: boolean | undefined;
1948
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1949
+ toolStrictMode?: "all_strict" | "none" | undefined;
1950
+ vercelGatewayRouting?: {
1951
+ only?: string[] | undefined;
1952
+ order?: string[] | undefined;
1953
+ } | undefined;
1954
+ whenThinking?: {
1955
+ allowAnthropicHeaderOverrides?: boolean | undefined;
1956
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
1957
+ alwaysSendMaxTokens?: boolean | undefined;
1958
+ cacheControlFormat?: "anthropic" | undefined;
1959
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
1960
+ disableReasoningOnToolChoice?: boolean | undefined;
1961
+ extraBody?: Record<string, unknown> | undefined;
1962
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
1963
+ openRouterRouting?: {
1964
+ only?: string[] | undefined;
1965
+ order?: string[] | undefined;
1966
+ } | undefined;
1967
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
1968
+ reasoningEffortMap?: {
1969
+ high?: string | undefined;
1970
+ low?: string | undefined;
1971
+ max?: string | undefined;
1972
+ medium?: string | undefined;
1973
+ minimal?: string | undefined;
1974
+ xhigh?: string | undefined;
1975
+ } | undefined;
1976
+ replayUnsignedThinking?: boolean | undefined;
1977
+ requiresAssistantAfterToolResult?: boolean | undefined;
1978
+ requiresAssistantContentForToolCalls?: boolean | undefined;
1979
+ requiresMistralToolIds?: boolean | undefined;
1980
+ requiresReasoningContentForToolCalls?: boolean | undefined;
1981
+ requiresThinkingAsText?: boolean | undefined;
1982
+ requiresToolResultId?: boolean | undefined;
1983
+ requiresToolResultName?: boolean | undefined;
1984
+ streamIdleTimeoutMs?: number | undefined;
1985
+ strictResponsesPairing?: boolean | undefined;
1986
+ supportsDeveloperRole?: boolean | undefined;
1987
+ supportsEagerToolInputStreaming?: boolean | undefined;
1988
+ supportsForcedToolChoice?: boolean | undefined;
1989
+ supportsImageDetailOriginal?: boolean | undefined;
1990
+ supportsLongPromptCacheRetention?: boolean | undefined;
1991
+ supportsMultipleSystemMessages?: boolean | undefined;
1992
+ supportsReasoningEffort?: boolean | undefined;
1993
+ supportsReasoningParams?: boolean | undefined;
1994
+ supportsStore?: boolean | undefined;
1995
+ supportsStrictMode?: boolean | undefined;
1996
+ supportsToolChoice?: boolean | undefined;
1997
+ supportsUsageInStreaming?: boolean | undefined;
1998
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
1999
+ toolStrictMode?: "all_strict" | "none" | undefined;
2000
+ vercelGatewayRouting?: {
2001
+ only?: string[] | undefined;
2002
+ order?: string[] | undefined;
2003
+ } | undefined;
2004
+ } | undefined;
2005
+ } & {
2006
+ promptCacheMaximumCheckpoints?: number | undefined;
2007
+ promptCacheMinimumTokens?: number | undefined;
2008
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
2009
+ supportsLongPromptCacheRetention?: boolean | undefined;
2010
+ }) | undefined;
2011
+ contextPromotionTarget?: string | undefined;
2012
+ contextWindow?: number | undefined;
2013
+ cost?: {
2014
+ cacheRead?: number | undefined;
2015
+ cacheWrite?: number | undefined;
2016
+ input?: number | undefined;
2017
+ output?: number | undefined;
2018
+ } | undefined;
2019
+ headers?: Record<string, string> | undefined;
2020
+ input?: ("image" | "text")[] | undefined;
2021
+ maxTokens?: number | undefined;
2022
+ name?: string | undefined;
2023
+ omitMaxOutputTokens?: boolean | undefined;
2024
+ premiumMultiplier?: number | undefined;
2025
+ reasoning?: boolean | undefined;
2026
+ remoteCompaction?: {
2027
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
2028
+ enabled?: boolean | undefined;
2029
+ endpoint?: string | undefined;
2030
+ model?: string | undefined;
2031
+ streamingEndpoint?: string | undefined;
2032
+ v2Endpoint?: string | undefined;
2033
+ v2StreamingEnabled?: boolean | undefined;
2034
+ } | undefined;
2035
+ supportsTools?: boolean | undefined;
2036
+ thinking?: {
2037
+ defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
2038
+ effortMap?: {
2039
+ high?: string | undefined;
2040
+ low?: string | undefined;
2041
+ max?: string | undefined;
2042
+ medium?: string | undefined;
2043
+ minimal?: string | undefined;
2044
+ xhigh?: string | undefined;
2045
+ } | undefined;
2046
+ efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
2047
+ levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
2048
+ maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
2049
+ minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
2050
+ mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
2051
+ supportsDisplay?: boolean | undefined;
2052
+ } | undefined;
2053
+ }> | undefined;
2054
+ models?: {
2055
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
2056
+ baseUrl?: string | undefined;
2057
+ compactionModel?: string | undefined;
2058
+ compat?: ({
2059
+ allowAnthropicHeaderOverrides?: boolean | undefined;
2060
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
2061
+ alwaysSendMaxTokens?: boolean | undefined;
2062
+ cacheControlFormat?: "anthropic" | undefined;
2063
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
2064
+ disableReasoningOnToolChoice?: boolean | undefined;
2065
+ extraBody?: Record<string, unknown> | undefined;
2066
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
2067
+ openRouterRouting?: {
2068
+ only?: string[] | undefined;
2069
+ order?: string[] | undefined;
2070
+ } | undefined;
2071
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
2072
+ reasoningEffortMap?: {
2073
+ high?: string | undefined;
2074
+ low?: string | undefined;
2075
+ max?: string | undefined;
2076
+ medium?: string | undefined;
2077
+ minimal?: string | undefined;
2078
+ xhigh?: string | undefined;
2079
+ } | undefined;
2080
+ replayUnsignedThinking?: boolean | undefined;
2081
+ requiresAssistantAfterToolResult?: boolean | undefined;
2082
+ requiresAssistantContentForToolCalls?: boolean | undefined;
2083
+ requiresMistralToolIds?: boolean | undefined;
2084
+ requiresReasoningContentForToolCalls?: boolean | undefined;
2085
+ requiresThinkingAsText?: boolean | undefined;
2086
+ requiresToolResultId?: boolean | undefined;
2087
+ requiresToolResultName?: boolean | undefined;
2088
+ streamIdleTimeoutMs?: number | undefined;
2089
+ strictResponsesPairing?: boolean | undefined;
2090
+ supportsDeveloperRole?: boolean | undefined;
2091
+ supportsEagerToolInputStreaming?: boolean | undefined;
2092
+ supportsForcedToolChoice?: boolean | undefined;
2093
+ supportsImageDetailOriginal?: boolean | undefined;
2094
+ supportsLongPromptCacheRetention?: boolean | undefined;
2095
+ supportsMultipleSystemMessages?: boolean | undefined;
2096
+ supportsReasoningEffort?: boolean | undefined;
2097
+ supportsReasoningParams?: boolean | undefined;
2098
+ supportsStore?: boolean | undefined;
2099
+ supportsStrictMode?: boolean | undefined;
2100
+ supportsToolChoice?: boolean | undefined;
2101
+ supportsUsageInStreaming?: boolean | undefined;
2102
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
2103
+ toolStrictMode?: "all_strict" | "none" | undefined;
2104
+ vercelGatewayRouting?: {
2105
+ only?: string[] | undefined;
2106
+ order?: string[] | undefined;
2107
+ } | undefined;
2108
+ whenThinking?: {
2109
+ allowAnthropicHeaderOverrides?: boolean | undefined;
2110
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
2111
+ alwaysSendMaxTokens?: boolean | undefined;
2112
+ cacheControlFormat?: "anthropic" | undefined;
2113
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
2114
+ disableReasoningOnToolChoice?: boolean | undefined;
2115
+ extraBody?: Record<string, unknown> | undefined;
2116
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
2117
+ openRouterRouting?: {
2118
+ only?: string[] | undefined;
2119
+ order?: string[] | undefined;
2120
+ } | undefined;
2121
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
2122
+ reasoningEffortMap?: {
2123
+ high?: string | undefined;
2124
+ low?: string | undefined;
2125
+ max?: string | undefined;
2126
+ medium?: string | undefined;
2127
+ minimal?: string | undefined;
2128
+ xhigh?: string | undefined;
2129
+ } | undefined;
2130
+ replayUnsignedThinking?: boolean | undefined;
2131
+ requiresAssistantAfterToolResult?: boolean | undefined;
2132
+ requiresAssistantContentForToolCalls?: boolean | undefined;
2133
+ requiresMistralToolIds?: boolean | undefined;
2134
+ requiresReasoningContentForToolCalls?: boolean | undefined;
2135
+ requiresThinkingAsText?: boolean | undefined;
2136
+ requiresToolResultId?: boolean | undefined;
2137
+ requiresToolResultName?: boolean | undefined;
2138
+ streamIdleTimeoutMs?: number | undefined;
2139
+ strictResponsesPairing?: boolean | undefined;
2140
+ supportsDeveloperRole?: boolean | undefined;
2141
+ supportsEagerToolInputStreaming?: boolean | undefined;
2142
+ supportsForcedToolChoice?: boolean | undefined;
2143
+ supportsImageDetailOriginal?: boolean | undefined;
2144
+ supportsLongPromptCacheRetention?: boolean | undefined;
2145
+ supportsMultipleSystemMessages?: boolean | undefined;
2146
+ supportsReasoningEffort?: boolean | undefined;
2147
+ supportsReasoningParams?: boolean | undefined;
2148
+ supportsStore?: boolean | undefined;
2149
+ supportsStrictMode?: boolean | undefined;
2150
+ supportsToolChoice?: boolean | undefined;
2151
+ supportsUsageInStreaming?: boolean | undefined;
2152
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
2153
+ toolStrictMode?: "all_strict" | "none" | undefined;
2154
+ vercelGatewayRouting?: {
2155
+ only?: string[] | undefined;
2156
+ order?: string[] | undefined;
2157
+ } | undefined;
2158
+ } | undefined;
2159
+ } & {
2160
+ promptCacheMaximumCheckpoints?: number | undefined;
2161
+ promptCacheMinimumTokens?: number | undefined;
2162
+ promptCacheMode?: "automatic" | "explicit" | "none" | undefined;
2163
+ supportsLongPromptCacheRetention?: boolean | undefined;
2164
+ }) | undefined;
2165
+ contextPromotionTarget?: string | undefined;
2166
+ contextWindow?: number | undefined;
2167
+ cost?: {
2168
+ cacheRead: number;
2169
+ cacheWrite: number;
2170
+ input: number;
2171
+ output: number;
2172
+ } | undefined;
2173
+ headers?: Record<string, string> | undefined;
2174
+ id: string;
2175
+ input?: ("image" | "text")[] | undefined;
2176
+ maxTokens?: number | undefined;
2177
+ name?: string | undefined;
2178
+ omitMaxOutputTokens?: boolean | undefined;
2179
+ premiumMultiplier?: number | undefined;
2180
+ reasoning?: boolean | undefined;
2181
+ remoteCompaction?: {
2182
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
2183
+ enabled?: boolean | undefined;
2184
+ endpoint?: string | undefined;
2185
+ model?: string | undefined;
2186
+ streamingEndpoint?: string | undefined;
2187
+ v2Endpoint?: string | undefined;
2188
+ v2StreamingEnabled?: boolean | undefined;
2189
+ } | undefined;
2190
+ supportsTools?: boolean | undefined;
2191
+ thinking?: {
2192
+ defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
2193
+ effortMap?: {
2194
+ high?: string | undefined;
2195
+ low?: string | undefined;
2196
+ max?: string | undefined;
2197
+ medium?: string | undefined;
2198
+ minimal?: string | undefined;
2199
+ xhigh?: string | undefined;
2200
+ } | undefined;
2201
+ efforts?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
2202
+ levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
2203
+ maxLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
2204
+ minLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
2205
+ mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
2206
+ supportsDisplay?: boolean | undefined;
2207
+ } | undefined;
2208
+ }[] | undefined;
2209
+ remoteCompaction?: {
2210
+ api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
2211
+ enabled?: boolean | undefined;
2212
+ endpoint?: string | undefined;
2213
+ model?: string | undefined;
2214
+ streamingEndpoint?: string | undefined;
2215
+ v2Endpoint?: string | undefined;
2216
+ v2StreamingEnabled?: boolean | undefined;
2217
+ } | undefined;
2218
+ transport?: "pi-native" | undefined;
2219
+ }> | undefined;
2220
+ }>;