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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/dist/cli.js +2027 -1396
  3. package/dist/types/advisor/advise-tool.d.ts +31 -19
  4. package/dist/types/autoresearch/tools/init-experiment.d.ts +13 -17
  5. package/dist/types/autoresearch/tools/log-experiment.d.ts +17 -19
  6. package/dist/types/autoresearch/tools/run-experiment.d.ts +3 -4
  7. package/dist/types/autoresearch/tools/update-notes.d.ts +4 -5
  8. package/dist/types/cli/args.d.ts +1 -0
  9. package/dist/types/cli/bench-cli.d.ts +6 -0
  10. package/dist/types/cli/ttsr-cli.d.ts +39 -0
  11. package/dist/types/commands/launch.d.ts +3 -0
  12. package/dist/types/commands/ttsr.d.ts +57 -0
  13. package/dist/types/commit/agentic/tools/analyze-file.d.ts +4 -5
  14. package/dist/types/commit/agentic/tools/git-file-diff.d.ts +4 -5
  15. package/dist/types/commit/agentic/tools/git-hunk.d.ts +5 -6
  16. package/dist/types/commit/agentic/tools/git-overview.d.ts +4 -5
  17. package/dist/types/commit/agentic/tools/propose-changelog.d.ts +23 -24
  18. package/dist/types/commit/agentic/tools/propose-commit.d.ts +11 -32
  19. package/dist/types/commit/agentic/tools/recent-commits.d.ts +3 -4
  20. package/dist/types/commit/agentic/tools/schemas.d.ts +6 -27
  21. package/dist/types/commit/agentic/tools/split-commit.d.ts +28 -49
  22. package/dist/types/commit/changelog/generate.d.ts +12 -13
  23. package/dist/types/commit/shared-llm.d.ts +10 -37
  24. package/dist/types/config/config-file.d.ts +4 -4
  25. package/dist/types/config/keybindings.d.ts +5 -0
  26. package/dist/types/config/models-config-schema.d.ts +625 -990
  27. package/dist/types/config/models-config.d.ts +229 -217
  28. package/dist/types/config/settings-schema.d.ts +144 -25
  29. package/dist/types/edit/hashline/params.d.ts +7 -11
  30. package/dist/types/edit/index.d.ts +2 -1
  31. package/dist/types/edit/modes/apply-patch.d.ts +4 -5
  32. package/dist/types/edit/modes/patch.d.ts +15 -24
  33. package/dist/types/edit/modes/replace.d.ts +16 -17
  34. package/dist/types/eval/js/index.d.ts +1 -0
  35. package/dist/types/extensibility/custom-commands/types.d.ts +6 -3
  36. package/dist/types/extensibility/custom-tools/types.d.ts +8 -5
  37. package/dist/types/extensibility/extensions/runner.d.ts +5 -2
  38. package/dist/types/extensibility/extensions/types.d.ts +14 -10
  39. package/dist/types/extensibility/hooks/types.d.ts +7 -4
  40. package/dist/types/extensibility/legacy-pi-ai-shim.d.ts +13 -5
  41. package/dist/types/extensibility/legacy-pi-coding-agent-shim.d.ts +17 -0
  42. package/dist/types/extensibility/shared-events.d.ts +22 -1
  43. package/dist/types/extensibility/typebox.d.ts +80 -58
  44. package/dist/types/goals/tools/goal-tool.d.ts +11 -24
  45. package/dist/types/index.d.ts +2 -0
  46. package/dist/types/lsp/index.d.ts +11 -26
  47. package/dist/types/lsp/types.d.ts +12 -28
  48. package/dist/types/main.d.ts +1 -0
  49. package/dist/types/mcp/client.d.ts +8 -0
  50. package/dist/types/modes/components/btw-panel.d.ts +1 -0
  51. package/dist/types/modes/components/custom-editor.d.ts +3 -1
  52. package/dist/types/modes/components/status-line/component.d.ts +1 -1
  53. package/dist/types/modes/components/status-line/context-thresholds.d.ts +0 -1
  54. package/dist/types/modes/controllers/btw-controller.d.ts +2 -0
  55. package/dist/types/modes/controllers/input-controller.d.ts +1 -0
  56. package/dist/types/modes/interactive-mode.d.ts +3 -0
  57. package/dist/types/modes/rpc/rpc-types.d.ts +1 -1
  58. package/dist/types/modes/setup-wizard/index.d.ts +1 -0
  59. package/dist/types/modes/setup-wizard/startup-splash.d.ts +7 -0
  60. package/dist/types/modes/theme/theme.d.ts +1 -1
  61. package/dist/types/modes/types.d.ts +3 -0
  62. package/dist/types/modes/utils/context-usage.d.ts +12 -0
  63. package/dist/types/sdk.d.ts +8 -1
  64. package/dist/types/session/agent-session.d.ts +24 -0
  65. package/dist/types/session/session-persistence.d.ts +4 -0
  66. package/dist/types/startup-splash.d.ts +12 -0
  67. package/dist/types/task/types.d.ts +47 -48
  68. package/dist/types/tools/ask.d.ts +26 -27
  69. package/dist/types/tools/ast-edit.d.ts +17 -17
  70. package/dist/types/tools/ast-grep.d.ts +12 -13
  71. package/dist/types/tools/bash.d.ts +20 -17
  72. package/dist/types/tools/browser.d.ts +46 -71
  73. package/dist/types/tools/checkpoint.d.ts +14 -15
  74. package/dist/types/tools/debug.d.ts +82 -145
  75. package/dist/types/tools/eval.d.ts +30 -40
  76. package/dist/types/tools/find.d.ts +17 -18
  77. package/dist/types/tools/gh.d.ts +49 -78
  78. package/dist/types/tools/image-gen.d.ts +20 -36
  79. package/dist/types/tools/inspect-image.d.ts +10 -11
  80. package/dist/types/tools/irc.d.ts +22 -33
  81. package/dist/types/tools/job.d.ts +11 -12
  82. package/dist/types/tools/learn.d.ts +21 -28
  83. package/dist/types/tools/manage-skill.d.ts +13 -22
  84. package/dist/types/tools/memory-edit.d.ts +15 -24
  85. package/dist/types/tools/memory-recall.d.ts +7 -8
  86. package/dist/types/tools/memory-reflect.d.ts +9 -10
  87. package/dist/types/tools/memory-retain.d.ts +13 -14
  88. package/dist/types/tools/read.d.ts +8 -8
  89. package/dist/types/tools/resolve.d.ts +11 -18
  90. package/dist/types/tools/review.d.ts +9 -15
  91. package/dist/types/tools/search-tool-bm25.d.ts +9 -10
  92. package/dist/types/tools/search.d.ts +16 -17
  93. package/dist/types/tools/ssh.d.ts +14 -15
  94. package/dist/types/tools/todo.d.ts +27 -43
  95. package/dist/types/tools/tts.d.ts +8 -9
  96. package/dist/types/tools/write.d.ts +9 -10
  97. package/dist/types/tui/code-cell.d.ts +2 -0
  98. package/dist/types/tui/index.d.ts +1 -0
  99. package/dist/types/tui/width-aware-text.d.ts +23 -0
  100. package/dist/types/utils/image-vision-fallback.d.ts +28 -0
  101. package/dist/types/utils/markit.d.ts +10 -1
  102. package/dist/types/web/search/index.d.ts +17 -28
  103. package/dist/types/web/search/providers/base.d.ts +1 -0
  104. package/dist/types/web/search/providers/gemini.d.ts +1 -0
  105. package/dist/types/web/search/providers/perplexity.d.ts +0 -2
  106. package/dist/types/web/search/types.d.ts +32 -26
  107. package/package.json +14 -13
  108. package/scripts/omp +1 -1
  109. package/src/advisor/__tests__/advisor.test.ts +103 -1
  110. package/src/advisor/advise-tool.ts +47 -11
  111. package/src/autoresearch/tools/init-experiment.ts +13 -16
  112. package/src/autoresearch/tools/log-experiment.ts +15 -18
  113. package/src/autoresearch/tools/run-experiment.ts +3 -3
  114. package/src/autoresearch/tools/update-notes.ts +4 -4
  115. package/src/cli/args.ts +1 -0
  116. package/src/cli/bench-cli.ts +30 -7
  117. package/src/cli/flag-tables.ts +8 -0
  118. package/src/cli/ttsr-cli.ts +995 -0
  119. package/src/cli-commands.ts +1 -0
  120. package/src/cli.ts +7 -1
  121. package/src/collab/host.ts +2 -2
  122. package/src/commands/launch.ts +3 -0
  123. package/src/commands/ttsr.ts +125 -0
  124. package/src/commit/agentic/tools/analyze-file.ts +4 -4
  125. package/src/commit/agentic/tools/git-file-diff.ts +4 -4
  126. package/src/commit/agentic/tools/git-hunk.ts +7 -5
  127. package/src/commit/agentic/tools/git-overview.ts +4 -4
  128. package/src/commit/agentic/tools/propose-changelog.ts +18 -15
  129. package/src/commit/agentic/tools/propose-commit.ts +6 -6
  130. package/src/commit/agentic/tools/recent-commits.ts +3 -3
  131. package/src/commit/agentic/tools/schemas.ts +8 -20
  132. package/src/commit/agentic/tools/split-commit.ts +19 -23
  133. package/src/commit/analysis/summary.ts +7 -5
  134. package/src/commit/changelog/generate.ts +15 -11
  135. package/src/commit/shared-llm.ts +17 -24
  136. package/src/config/config-file.ts +13 -15
  137. package/src/config/keybindings.ts +6 -0
  138. package/src/config/models-config-schema.ts +206 -179
  139. package/src/config/settings-schema.ts +118 -2
  140. package/src/discovery/builtin-rules/index.ts +2 -0
  141. package/src/discovery/builtin-rules/ts-import-type.md +2 -2
  142. package/src/discovery/builtin-rules/ts-no-any.md +11 -2
  143. package/src/discovery/builtin-rules/ts-no-inline-cast-access.md +55 -0
  144. package/src/edit/hashline/params.ts +12 -11
  145. package/src/edit/index.ts +5 -4
  146. package/src/edit/modes/apply-patch.ts +4 -4
  147. package/src/edit/modes/patch.ts +15 -18
  148. package/src/edit/modes/replace.ts +13 -17
  149. package/src/edit/renderer.ts +0 -1
  150. package/src/eval/agent-bridge.ts +11 -13
  151. package/src/eval/completion-bridge.ts +25 -17
  152. package/src/eval/js/context-manager.ts +17 -2
  153. package/src/eval/js/index.ts +1 -1
  154. package/src/eval/py/executor.ts +2 -2
  155. package/src/eval/py/runner.py +44 -0
  156. package/src/extensibility/custom-commands/loader.ts +5 -3
  157. package/src/extensibility/custom-commands/types.ts +6 -3
  158. package/src/extensibility/custom-tools/loader.ts +4 -2
  159. package/src/extensibility/custom-tools/types.ts +8 -5
  160. package/src/extensibility/extensions/loader.ts +4 -2
  161. package/src/extensibility/extensions/runner.ts +20 -2
  162. package/src/extensibility/extensions/types.ts +22 -8
  163. package/src/extensibility/hooks/loader.ts +5 -2
  164. package/src/extensibility/hooks/types.ts +7 -4
  165. package/src/extensibility/legacy-pi-ai-shim.ts +42 -5
  166. package/src/extensibility/legacy-pi-coding-agent-shim.ts +113 -0
  167. package/src/extensibility/plugins/legacy-pi-compat.ts +13 -13
  168. package/src/extensibility/shared-events.ts +24 -0
  169. package/src/extensibility/tool-proxy.ts +4 -1
  170. package/src/extensibility/typebox.ts +778 -251
  171. package/src/goals/guided-setup.ts +12 -3
  172. package/src/goals/tools/goal-tool.ts +6 -6
  173. package/src/index.ts +2 -0
  174. package/src/internal-urls/docs-index.generated.ts +15 -13
  175. package/src/lsp/types.ts +13 -27
  176. package/src/main.ts +29 -21
  177. package/src/mcp/client.ts +38 -13
  178. package/src/mcp/render.ts +102 -89
  179. package/src/modes/components/agent-hub.ts +11 -4
  180. package/src/modes/components/branch-summary-message.ts +1 -0
  181. package/src/modes/components/btw-panel.ts +5 -1
  182. package/src/modes/components/collab-prompt-message.ts +9 -7
  183. package/src/modes/components/compaction-summary-message.ts +1 -0
  184. package/src/modes/components/custom-editor.ts +18 -0
  185. package/src/modes/components/custom-message.ts +1 -0
  186. package/src/modes/components/footer.ts +6 -5
  187. package/src/modes/components/hook-message.ts +1 -0
  188. package/src/modes/components/read-tool-group.ts +9 -3
  189. package/src/modes/components/skill-message.ts +1 -0
  190. package/src/modes/components/status-line/component.ts +139 -15
  191. package/src/modes/components/status-line/context-thresholds.ts +0 -1
  192. package/src/modes/components/todo-reminder.ts +1 -0
  193. package/src/modes/components/tool-execution.ts +17 -10
  194. package/src/modes/components/ttsr-notification.ts +1 -0
  195. package/src/modes/components/user-message.ts +6 -6
  196. package/src/modes/controllers/btw-controller.ts +69 -1
  197. package/src/modes/controllers/event-controller.ts +2 -7
  198. package/src/modes/controllers/input-controller.ts +29 -0
  199. package/src/modes/controllers/selector-controller.ts +10 -3
  200. package/src/modes/interactive-mode.ts +42 -10
  201. package/src/modes/rpc/rpc-types.ts +1 -1
  202. package/src/modes/setup-wizard/index.ts +1 -0
  203. package/src/modes/setup-wizard/scenes/sign-in.ts +77 -5
  204. package/src/modes/setup-wizard/startup-splash.ts +107 -0
  205. package/src/modes/theme/theme.ts +133 -143
  206. package/src/modes/types.ts +3 -0
  207. package/src/modes/utils/context-usage.ts +37 -20
  208. package/src/modes/utils/hotkeys-markdown.ts +1 -0
  209. package/src/prompts/system/system-prompt.md +1 -0
  210. package/src/prompts/tools/image-attachment-describe-system.md +8 -0
  211. package/src/prompts/tools/image-attachment-describe.md +10 -0
  212. package/src/sdk.ts +35 -22
  213. package/src/session/agent-session.ts +715 -255
  214. package/src/session/session-history-format.ts +11 -2
  215. package/src/session/session-loader.ts +19 -32
  216. package/src/session/session-persistence.ts +27 -11
  217. package/src/session/snapcompact-inline.ts +1 -1
  218. package/src/slash-commands/builtin-registry.ts +4 -11
  219. package/src/ssh/connection-manager.ts +3 -2
  220. package/src/startup-splash.ts +19 -0
  221. package/src/task/executor.ts +12 -7
  222. package/src/task/types.ts +44 -41
  223. package/src/tool-discovery/tool-index.ts +17 -4
  224. package/src/tools/ask.ts +14 -14
  225. package/src/tools/ast-edit.ts +17 -14
  226. package/src/tools/ast-grep.ts +10 -9
  227. package/src/tools/bash.ts +15 -10
  228. package/src/tools/browser/launch.ts +13 -0
  229. package/src/tools/browser.ts +26 -32
  230. package/src/tools/checkpoint.ts +7 -7
  231. package/src/tools/debug.ts +72 -69
  232. package/src/tools/eval.ts +18 -19
  233. package/src/tools/find.ts +20 -13
  234. package/src/tools/gh.ts +29 -49
  235. package/src/tools/image-gen.ts +94 -57
  236. package/src/tools/inspect-image.ts +8 -9
  237. package/src/tools/irc.ts +12 -12
  238. package/src/tools/job.ts +6 -6
  239. package/src/tools/learn.ts +11 -14
  240. package/src/tools/manage-skill.ts +19 -23
  241. package/src/tools/memory-edit.ts +8 -8
  242. package/src/tools/memory-recall.ts +4 -4
  243. package/src/tools/memory-reflect.ts +5 -5
  244. package/src/tools/memory-retain.ts +9 -11
  245. package/src/tools/puppeteer/02_stealth_hairline.txt +1 -1
  246. package/src/tools/puppeteer/04_stealth_iframe.txt +4 -4
  247. package/src/tools/puppeteer/05_stealth_webgl.txt +1 -1
  248. package/src/tools/puppeteer/10_stealth_plugins.txt +6 -4
  249. package/src/tools/puppeteer/12_stealth_codecs.txt +2 -2
  250. package/src/tools/puppeteer/13_stealth_worker.txt +1 -1
  251. package/src/tools/read.ts +197 -19
  252. package/src/tools/report-tool-issue.ts +6 -6
  253. package/src/tools/resolve.ts +6 -6
  254. package/src/tools/review.ts +10 -12
  255. package/src/tools/search-tool-bm25.ts +5 -5
  256. package/src/tools/search.ts +20 -29
  257. package/src/tools/ssh.ts +8 -8
  258. package/src/tools/todo.ts +16 -19
  259. package/src/tools/tts.ts +16 -15
  260. package/src/tools/write.ts +5 -5
  261. package/src/tui/code-cell.ts +44 -3
  262. package/src/tui/index.ts +1 -0
  263. package/src/tui/width-aware-text.ts +58 -0
  264. package/src/utils/image-vision-fallback.ts +197 -0
  265. package/src/utils/markit.ts +17 -2
  266. package/src/web/search/index.ts +21 -9
  267. package/src/web/search/providers/base.ts +1 -0
  268. package/src/web/search/providers/gemini.ts +56 -18
  269. package/src/web/search/providers/perplexity.ts +373 -126
  270. package/src/web/search/types.ts +28 -48
@@ -27,142 +27,14 @@ export interface ProviderValidationConfig {
27
27
  }
28
28
  export declare function validateProviderConfiguration(providerName: string, config: ProviderValidationConfig, mode: ProviderValidationMode): void;
29
29
  export declare const ModelsConfigFile: ConfigFile<{
30
- providers?: Record<string, {
31
- baseUrl?: string | undefined;
32
- apiKey?: string | undefined;
33
- api?: "anthropic-messages" | "azure-openai-responses" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
34
- headers?: Record<string, string> | undefined;
35
- compat?: {
36
- supportsStore?: boolean | undefined;
37
- supportsDeveloperRole?: boolean | undefined;
38
- supportsMultipleSystemMessages?: boolean | undefined;
39
- supportsReasoningEffort?: boolean | undefined;
40
- reasoningEffortMap?: {
41
- minimal?: string | undefined;
42
- low?: string | undefined;
43
- medium?: string | undefined;
44
- high?: string | undefined;
45
- xhigh?: string | undefined;
46
- } | undefined;
47
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
48
- supportsUsageInStreaming?: boolean | undefined;
49
- requiresToolResultName?: boolean | undefined;
50
- requiresMistralToolIds?: boolean | undefined;
51
- requiresAssistantAfterToolResult?: boolean | undefined;
52
- requiresThinkingAsText?: boolean | undefined;
53
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
54
- requiresReasoningContentForToolCalls?: boolean | undefined;
55
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
56
- requiresAssistantContentForToolCalls?: boolean | undefined;
57
- supportsToolChoice?: boolean | undefined;
58
- supportsForcedToolChoice?: boolean | undefined;
59
- disableReasoningOnForcedToolChoice?: boolean | undefined;
60
- disableReasoningOnToolChoice?: boolean | undefined;
61
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
62
- openRouterRouting?: {
63
- only?: string[] | undefined;
64
- order?: string[] | undefined;
65
- } | undefined;
66
- vercelGatewayRouting?: {
67
- only?: string[] | undefined;
68
- order?: string[] | undefined;
69
- } | undefined;
70
- extraBody?: Record<string, unknown> | undefined;
71
- cacheControlFormat?: "anthropic" | undefined;
72
- supportsStrictMode?: boolean | undefined;
73
- toolStrictMode?: "all_strict" | "none" | undefined;
74
- streamIdleTimeoutMs?: number | undefined;
75
- supportsLongPromptCacheRetention?: boolean | undefined;
76
- supportsReasoningParams?: boolean | undefined;
77
- alwaysSendMaxTokens?: boolean | undefined;
78
- strictResponsesPairing?: boolean | undefined;
79
- requiresToolResultId?: boolean | undefined;
80
- replayUnsignedThinking?: boolean | undefined;
81
- whenThinking?: {
82
- supportsStore?: boolean | undefined;
83
- supportsDeveloperRole?: boolean | undefined;
84
- supportsMultipleSystemMessages?: boolean | undefined;
85
- supportsReasoningEffort?: boolean | undefined;
86
- reasoningEffortMap?: {
87
- minimal?: string | undefined;
88
- low?: string | undefined;
89
- medium?: string | undefined;
90
- high?: string | undefined;
91
- xhigh?: string | undefined;
92
- } | undefined;
93
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
94
- supportsUsageInStreaming?: boolean | undefined;
95
- requiresToolResultName?: boolean | undefined;
96
- requiresMistralToolIds?: boolean | undefined;
97
- requiresAssistantAfterToolResult?: boolean | undefined;
98
- requiresThinkingAsText?: boolean | undefined;
99
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
100
- requiresReasoningContentForToolCalls?: boolean | undefined;
101
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
102
- requiresAssistantContentForToolCalls?: boolean | undefined;
103
- supportsToolChoice?: boolean | undefined;
104
- supportsForcedToolChoice?: boolean | undefined;
105
- disableReasoningOnForcedToolChoice?: boolean | undefined;
106
- disableReasoningOnToolChoice?: boolean | undefined;
107
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
108
- openRouterRouting?: {
109
- only?: string[] | undefined;
110
- order?: string[] | undefined;
111
- } | undefined;
112
- vercelGatewayRouting?: {
113
- only?: string[] | undefined;
114
- order?: string[] | undefined;
115
- } | undefined;
116
- extraBody?: Record<string, unknown> | undefined;
117
- cacheControlFormat?: "anthropic" | undefined;
118
- supportsStrictMode?: boolean | undefined;
119
- toolStrictMode?: "all_strict" | "none" | undefined;
120
- streamIdleTimeoutMs?: number | undefined;
121
- supportsLongPromptCacheRetention?: boolean | undefined;
122
- supportsReasoningParams?: boolean | undefined;
123
- alwaysSendMaxTokens?: boolean | undefined;
124
- strictResponsesPairing?: boolean | undefined;
125
- requiresToolResultId?: boolean | undefined;
126
- replayUnsignedThinking?: boolean | undefined;
127
- } | undefined;
128
- } | undefined;
129
- authHeader?: boolean | undefined;
130
- auth?: "apiKey" | "none" | "oauth" | undefined;
131
- discovery?: {
132
- type: "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
133
- } | undefined;
134
- models?: {
135
- id: string;
136
- name?: string | undefined;
137
- api?: "anthropic-messages" | "azure-openai-responses" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
30
+ providers?: {
31
+ [x: string]: {
138
32
  baseUrl?: string | undefined;
139
- reasoning?: boolean | undefined;
140
- thinking?: {
141
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
142
- efforts: ("high" | "low" | "medium" | "minimal" | "xhigh")[];
143
- defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
144
- effortMap?: {
145
- minimal?: string | undefined;
146
- low?: string | undefined;
147
- medium?: string | undefined;
148
- high?: string | undefined;
149
- xhigh?: string | undefined;
150
- } | undefined;
151
- supportsDisplay?: boolean | undefined;
152
- } | undefined;
153
- input?: ("image" | "text")[] | undefined;
154
- supportsTools?: boolean | undefined;
155
- cost?: {
156
- input: number;
157
- output: number;
158
- cacheRead: number;
159
- cacheWrite: number;
33
+ apiKey?: string | undefined;
34
+ api?: "anthropic-messages" | "azure-openai-responses" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
35
+ headers?: {
36
+ [x: string]: string;
160
37
  } | undefined;
161
- premiumMultiplier?: number | undefined;
162
- contextWindow?: number | undefined;
163
- maxTokens?: number | undefined;
164
- omitMaxOutputTokens?: boolean | undefined;
165
- headers?: Record<string, string> | undefined;
166
38
  compat?: {
167
39
  supportsStore?: boolean | undefined;
168
40
  supportsDeveloperRole?: boolean | undefined;
@@ -198,7 +70,9 @@ export declare const ModelsConfigFile: ConfigFile<{
198
70
  only?: string[] | undefined;
199
71
  order?: string[] | undefined;
200
72
  } | undefined;
201
- extraBody?: Record<string, unknown> | undefined;
73
+ extraBody?: {
74
+ [x: string]: unknown;
75
+ } | undefined;
202
76
  cacheControlFormat?: "anthropic" | undefined;
203
77
  supportsStrictMode?: boolean | undefined;
204
78
  toolStrictMode?: "all_strict" | "none" | undefined;
@@ -244,7 +118,9 @@ export declare const ModelsConfigFile: ConfigFile<{
244
118
  only?: string[] | undefined;
245
119
  order?: string[] | undefined;
246
120
  } | undefined;
247
- extraBody?: Record<string, unknown> | undefined;
121
+ extraBody?: {
122
+ [x: string]: unknown;
123
+ } | undefined;
248
124
  cacheControlFormat?: "anthropic" | undefined;
249
125
  supportsStrictMode?: boolean | undefined;
250
126
  toolStrictMode?: "all_strict" | "none" | undefined;
@@ -257,84 +133,40 @@ export declare const ModelsConfigFile: ConfigFile<{
257
133
  replayUnsignedThinking?: boolean | undefined;
258
134
  } | undefined;
259
135
  } | undefined;
260
- contextPromotionTarget?: string | undefined;
261
- }[] | undefined;
262
- modelOverrides?: Record<string, {
263
- name?: string | undefined;
264
- reasoning?: boolean | undefined;
265
- thinking?: {
266
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
267
- efforts: ("high" | "low" | "medium" | "minimal" | "xhigh")[];
268
- defaultLevel?: "high" | "low" | "medium" | "minimal" | "xhigh" | undefined;
269
- effortMap?: {
270
- minimal?: string | undefined;
271
- low?: string | undefined;
272
- medium?: string | undefined;
273
- high?: string | undefined;
274
- xhigh?: string | undefined;
275
- } | undefined;
276
- supportsDisplay?: boolean | undefined;
277
- } | undefined;
278
- input?: ("image" | "text")[] | undefined;
279
- supportsTools?: boolean | undefined;
280
- cost?: {
281
- input?: number | undefined;
282
- output?: number | undefined;
283
- cacheRead?: number | undefined;
284
- cacheWrite?: number | undefined;
136
+ authHeader?: boolean | undefined;
137
+ auth?: "apiKey" | "none" | "oauth" | undefined;
138
+ discovery?: {
139
+ type: "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list" | "proxy";
285
140
  } | undefined;
286
- premiumMultiplier?: number | undefined;
287
- contextWindow?: number | undefined;
288
- maxTokens?: number | undefined;
289
- omitMaxOutputTokens?: boolean | undefined;
290
- headers?: Record<string, string> | undefined;
291
- compat?: {
292
- supportsStore?: boolean | undefined;
293
- supportsDeveloperRole?: boolean | undefined;
294
- supportsMultipleSystemMessages?: boolean | undefined;
295
- supportsReasoningEffort?: boolean | undefined;
296
- reasoningEffortMap?: {
297
- minimal?: string | undefined;
298
- low?: string | undefined;
299
- medium?: string | undefined;
300
- high?: string | undefined;
301
- xhigh?: string | undefined;
141
+ models?: {
142
+ id: string;
143
+ name?: string | undefined;
144
+ api?: "anthropic-messages" | "azure-openai-responses" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
145
+ baseUrl?: string | undefined;
146
+ reasoning?: boolean | undefined;
147
+ thinking?: {
148
+ mode: any;
149
+ efforts: any;
150
+ defaultLevel?: any;
151
+ effortMap?: any;
152
+ supportsDisplay?: any;
302
153
  } | undefined;
303
- maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
304
- supportsUsageInStreaming?: boolean | undefined;
305
- requiresToolResultName?: boolean | undefined;
306
- requiresMistralToolIds?: boolean | undefined;
307
- requiresAssistantAfterToolResult?: boolean | undefined;
308
- requiresThinkingAsText?: boolean | undefined;
309
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
310
- requiresReasoningContentForToolCalls?: boolean | undefined;
311
- allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
312
- requiresAssistantContentForToolCalls?: boolean | undefined;
313
- supportsToolChoice?: boolean | undefined;
314
- supportsForcedToolChoice?: boolean | undefined;
315
- disableReasoningOnForcedToolChoice?: boolean | undefined;
316
- disableReasoningOnToolChoice?: boolean | undefined;
317
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
318
- openRouterRouting?: {
319
- only?: string[] | undefined;
320
- order?: string[] | undefined;
154
+ input?: ("image" | "text")[] | undefined;
155
+ supportsTools?: boolean | undefined;
156
+ cost?: {
157
+ input: number;
158
+ output: number;
159
+ cacheRead: number;
160
+ cacheWrite: number;
321
161
  } | undefined;
322
- vercelGatewayRouting?: {
323
- only?: string[] | undefined;
324
- order?: string[] | undefined;
162
+ premiumMultiplier?: number | undefined;
163
+ contextWindow?: number | undefined;
164
+ maxTokens?: number | undefined;
165
+ omitMaxOutputTokens?: boolean | undefined;
166
+ headers?: {
167
+ [x: string]: string;
325
168
  } | undefined;
326
- extraBody?: Record<string, unknown> | undefined;
327
- cacheControlFormat?: "anthropic" | undefined;
328
- supportsStrictMode?: boolean | undefined;
329
- toolStrictMode?: "all_strict" | "none" | undefined;
330
- streamIdleTimeoutMs?: number | undefined;
331
- supportsLongPromptCacheRetention?: boolean | undefined;
332
- supportsReasoningParams?: boolean | undefined;
333
- alwaysSendMaxTokens?: boolean | undefined;
334
- strictResponsesPairing?: boolean | undefined;
335
- requiresToolResultId?: boolean | undefined;
336
- replayUnsignedThinking?: boolean | undefined;
337
- whenThinking?: {
169
+ compat?: {
338
170
  supportsStore?: boolean | undefined;
339
171
  supportsDeveloperRole?: boolean | undefined;
340
172
  supportsMultipleSystemMessages?: boolean | undefined;
@@ -369,7 +201,9 @@ export declare const ModelsConfigFile: ConfigFile<{
369
201
  only?: string[] | undefined;
370
202
  order?: string[] | undefined;
371
203
  } | undefined;
372
- extraBody?: Record<string, unknown> | undefined;
204
+ extraBody?: {
205
+ [x: string]: unknown;
206
+ } | undefined;
373
207
  cacheControlFormat?: "anthropic" | undefined;
374
208
  supportsStrictMode?: boolean | undefined;
375
209
  toolStrictMode?: "all_strict" | "none" | undefined;
@@ -380,15 +214,193 @@ export declare const ModelsConfigFile: ConfigFile<{
380
214
  strictResponsesPairing?: boolean | undefined;
381
215
  requiresToolResultId?: boolean | undefined;
382
216
  replayUnsignedThinking?: boolean | undefined;
217
+ whenThinking?: {
218
+ supportsStore?: boolean | undefined;
219
+ supportsDeveloperRole?: boolean | undefined;
220
+ supportsMultipleSystemMessages?: boolean | undefined;
221
+ supportsReasoningEffort?: boolean | undefined;
222
+ reasoningEffortMap?: {
223
+ minimal?: string | undefined;
224
+ low?: string | undefined;
225
+ medium?: string | undefined;
226
+ high?: string | undefined;
227
+ xhigh?: string | undefined;
228
+ } | undefined;
229
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
230
+ supportsUsageInStreaming?: boolean | undefined;
231
+ requiresToolResultName?: boolean | undefined;
232
+ requiresMistralToolIds?: boolean | undefined;
233
+ requiresAssistantAfterToolResult?: boolean | undefined;
234
+ requiresThinkingAsText?: boolean | undefined;
235
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
236
+ requiresReasoningContentForToolCalls?: boolean | undefined;
237
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
238
+ requiresAssistantContentForToolCalls?: boolean | undefined;
239
+ supportsToolChoice?: boolean | undefined;
240
+ supportsForcedToolChoice?: boolean | undefined;
241
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
242
+ disableReasoningOnToolChoice?: boolean | undefined;
243
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
244
+ openRouterRouting?: {
245
+ only?: string[] | undefined;
246
+ order?: string[] | undefined;
247
+ } | undefined;
248
+ vercelGatewayRouting?: {
249
+ only?: string[] | undefined;
250
+ order?: string[] | undefined;
251
+ } | undefined;
252
+ extraBody?: {
253
+ [x: string]: unknown;
254
+ } | undefined;
255
+ cacheControlFormat?: "anthropic" | undefined;
256
+ supportsStrictMode?: boolean | undefined;
257
+ toolStrictMode?: "all_strict" | "none" | undefined;
258
+ streamIdleTimeoutMs?: number | undefined;
259
+ supportsLongPromptCacheRetention?: boolean | undefined;
260
+ supportsReasoningParams?: boolean | undefined;
261
+ alwaysSendMaxTokens?: boolean | undefined;
262
+ strictResponsesPairing?: boolean | undefined;
263
+ requiresToolResultId?: boolean | undefined;
264
+ replayUnsignedThinking?: boolean | undefined;
265
+ } | undefined;
383
266
  } | undefined;
267
+ contextPromotionTarget?: string | undefined;
268
+ }[] | undefined;
269
+ modelOverrides?: {
270
+ [x: string]: {
271
+ name?: string | undefined;
272
+ reasoning?: boolean | undefined;
273
+ thinking?: {
274
+ mode: any;
275
+ efforts: any;
276
+ defaultLevel?: any;
277
+ effortMap?: any;
278
+ supportsDisplay?: any;
279
+ } | undefined;
280
+ input?: ("image" | "text")[] | undefined;
281
+ supportsTools?: boolean | undefined;
282
+ cost?: {
283
+ input?: number | undefined;
284
+ output?: number | undefined;
285
+ cacheRead?: number | undefined;
286
+ cacheWrite?: number | undefined;
287
+ } | undefined;
288
+ premiumMultiplier?: number | undefined;
289
+ contextWindow?: number | undefined;
290
+ maxTokens?: number | undefined;
291
+ omitMaxOutputTokens?: boolean | undefined;
292
+ headers?: {
293
+ [x: string]: string;
294
+ } | undefined;
295
+ compat?: {
296
+ supportsStore?: boolean | undefined;
297
+ supportsDeveloperRole?: boolean | undefined;
298
+ supportsMultipleSystemMessages?: boolean | undefined;
299
+ supportsReasoningEffort?: boolean | undefined;
300
+ reasoningEffortMap?: {
301
+ minimal?: string | undefined;
302
+ low?: string | undefined;
303
+ medium?: string | undefined;
304
+ high?: string | undefined;
305
+ xhigh?: string | undefined;
306
+ } | undefined;
307
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
308
+ supportsUsageInStreaming?: boolean | undefined;
309
+ requiresToolResultName?: boolean | undefined;
310
+ requiresMistralToolIds?: boolean | undefined;
311
+ requiresAssistantAfterToolResult?: boolean | undefined;
312
+ requiresThinkingAsText?: boolean | undefined;
313
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
314
+ requiresReasoningContentForToolCalls?: boolean | undefined;
315
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
316
+ requiresAssistantContentForToolCalls?: boolean | undefined;
317
+ supportsToolChoice?: boolean | undefined;
318
+ supportsForcedToolChoice?: boolean | undefined;
319
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
320
+ disableReasoningOnToolChoice?: boolean | undefined;
321
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
322
+ openRouterRouting?: {
323
+ only?: string[] | undefined;
324
+ order?: string[] | undefined;
325
+ } | undefined;
326
+ vercelGatewayRouting?: {
327
+ only?: string[] | undefined;
328
+ order?: string[] | undefined;
329
+ } | undefined;
330
+ extraBody?: {
331
+ [x: string]: unknown;
332
+ } | undefined;
333
+ cacheControlFormat?: "anthropic" | undefined;
334
+ supportsStrictMode?: boolean | undefined;
335
+ toolStrictMode?: "all_strict" | "none" | undefined;
336
+ streamIdleTimeoutMs?: number | undefined;
337
+ supportsLongPromptCacheRetention?: boolean | undefined;
338
+ supportsReasoningParams?: boolean | undefined;
339
+ alwaysSendMaxTokens?: boolean | undefined;
340
+ strictResponsesPairing?: boolean | undefined;
341
+ requiresToolResultId?: boolean | undefined;
342
+ replayUnsignedThinking?: boolean | undefined;
343
+ whenThinking?: {
344
+ supportsStore?: boolean | undefined;
345
+ supportsDeveloperRole?: boolean | undefined;
346
+ supportsMultipleSystemMessages?: boolean | undefined;
347
+ supportsReasoningEffort?: boolean | undefined;
348
+ reasoningEffortMap?: {
349
+ minimal?: string | undefined;
350
+ low?: string | undefined;
351
+ medium?: string | undefined;
352
+ high?: string | undefined;
353
+ xhigh?: string | undefined;
354
+ } | undefined;
355
+ maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
356
+ supportsUsageInStreaming?: boolean | undefined;
357
+ requiresToolResultName?: boolean | undefined;
358
+ requiresMistralToolIds?: boolean | undefined;
359
+ requiresAssistantAfterToolResult?: boolean | undefined;
360
+ requiresThinkingAsText?: boolean | undefined;
361
+ reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
362
+ requiresReasoningContentForToolCalls?: boolean | undefined;
363
+ allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
364
+ requiresAssistantContentForToolCalls?: boolean | undefined;
365
+ supportsToolChoice?: boolean | undefined;
366
+ supportsForcedToolChoice?: boolean | undefined;
367
+ disableReasoningOnForcedToolChoice?: boolean | undefined;
368
+ disableReasoningOnToolChoice?: boolean | undefined;
369
+ thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
370
+ openRouterRouting?: {
371
+ only?: string[] | undefined;
372
+ order?: string[] | undefined;
373
+ } | undefined;
374
+ vercelGatewayRouting?: {
375
+ only?: string[] | undefined;
376
+ order?: string[] | undefined;
377
+ } | undefined;
378
+ extraBody?: {
379
+ [x: string]: unknown;
380
+ } | undefined;
381
+ cacheControlFormat?: "anthropic" | undefined;
382
+ supportsStrictMode?: boolean | undefined;
383
+ toolStrictMode?: "all_strict" | "none" | undefined;
384
+ streamIdleTimeoutMs?: number | undefined;
385
+ supportsLongPromptCacheRetention?: boolean | undefined;
386
+ supportsReasoningParams?: boolean | undefined;
387
+ alwaysSendMaxTokens?: boolean | undefined;
388
+ strictResponsesPairing?: boolean | undefined;
389
+ requiresToolResultId?: boolean | undefined;
390
+ replayUnsignedThinking?: boolean | undefined;
391
+ } | undefined;
392
+ } | undefined;
393
+ contextPromotionTarget?: string | undefined;
394
+ };
384
395
  } | undefined;
385
- contextPromotionTarget?: string | undefined;
386
- }> | undefined;
387
- disableStrictTools?: boolean | undefined;
388
- transport?: "pi-native" | undefined;
389
- }> | undefined;
396
+ disableStrictTools?: boolean | undefined;
397
+ transport?: "pi-native" | undefined;
398
+ };
399
+ } | undefined;
390
400
  equivalence?: {
391
- overrides?: Record<string, string> | undefined;
401
+ overrides?: {
402
+ [x: string]: string;
403
+ } | undefined;
392
404
  exclude?: string[] | undefined;
393
405
  } | undefined;
394
406
  }>;