@earendil-works/pi-ai 1.1.0 → 1.2.0

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 (52) hide show
  1. package/dist/api/anthropic-messages.d.ts.map +1 -1
  2. package/dist/api/anthropic-messages.js +63 -22
  3. package/dist/api/anthropic-messages.js.map +1 -1
  4. package/dist/api/mistral-conversations.d.ts.map +1 -1
  5. package/dist/api/mistral-conversations.js +29 -13
  6. package/dist/api/mistral-conversations.js.map +1 -1
  7. package/dist/api/openai-codex-responses.d.ts.map +1 -1
  8. package/dist/api/openai-codex-responses.js +2 -1
  9. package/dist/api/openai-codex-responses.js.map +1 -1
  10. package/dist/models.d.ts +5 -0
  11. package/dist/models.d.ts.map +1 -1
  12. package/dist/models.js +1 -0
  13. package/dist/models.js.map +1 -1
  14. package/dist/providers/compat-schema.d.ts +338 -0
  15. package/dist/providers/compat-schema.d.ts.map +1 -0
  16. package/dist/providers/compat-schema.js +375 -0
  17. package/dist/providers/compat-schema.js.map +1 -0
  18. package/dist/providers/data/.manifest.json +1 -1
  19. package/dist/providers/data/amazon-bedrock.json +1 -1
  20. package/dist/providers/data/anthropic.json +1 -1
  21. package/dist/providers/data/baseten.json +1 -1
  22. package/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  23. package/dist/providers/data/cloudflare-workers-ai.json +1 -1
  24. package/dist/providers/data/github-copilot.json +1 -1
  25. package/dist/providers/data/google-vertex.json +1 -1
  26. package/dist/providers/data/huggingface.json +1 -1
  27. package/dist/providers/data/meta.json +1 -1
  28. package/dist/providers/data/mistral.json +1 -1
  29. package/dist/providers/data/opencode-go.json +1 -1
  30. package/dist/providers/data/opencode.json +1 -1
  31. package/dist/providers/data/openrouter.json +1 -1
  32. package/dist/providers/data/radius.json +1 -1
  33. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  34. package/dist/providers/model-schema.d.ts +91 -0
  35. package/dist/providers/model-schema.d.ts.map +1 -0
  36. package/dist/providers/model-schema.js +55 -0
  37. package/dist/providers/model-schema.js.map +1 -0
  38. package/dist/providers/openrouter-api.d.ts +40 -0
  39. package/dist/providers/openrouter-api.d.ts.map +1 -0
  40. package/dist/providers/openrouter-api.js +41 -0
  41. package/dist/providers/openrouter-api.js.map +1 -0
  42. package/dist/providers/openrouter.d.ts +11 -1
  43. package/dist/providers/openrouter.d.ts.map +1 -1
  44. package/dist/providers/openrouter.js +52 -1
  45. package/dist/providers/openrouter.js.map +1 -1
  46. package/dist/types.d.ts +5 -303
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/types.js.map +1 -1
  49. package/dist/utils/retry.d.ts.map +1 -1
  50. package/dist/utils/retry.js +3 -2
  51. package/dist/utils/retry.js.map +1 -1
  52. package/package.json +2 -2
@@ -0,0 +1,338 @@
1
+ import { type Static, type TProperties, Type } from "typebox";
2
+ export declare const SessionAffinityFormatSchema: Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>;
3
+ export declare const ThinkingTokenBudgetFieldSchema: Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>;
4
+ export declare const ChatTemplateKwargValueSchema: Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
5
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
6
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
7
+ }>]>;
8
+ export declare const OpenRouterRoutingSchema: Type.TObject<{
9
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
10
+ require_parameters: Type.TOptional<Type.TBoolean>;
11
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
12
+ zdr: Type.TOptional<Type.TBoolean>;
13
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
14
+ order: Type.TOptional<Type.TArray<Type.TString>>;
15
+ only: Type.TOptional<Type.TArray<Type.TString>>;
16
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
17
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
18
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
19
+ by: Type.TOptional<Type.TString>;
20
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
21
+ }>]>>;
22
+ max_price: Type.TOptional<Type.TObject<{
23
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
24
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
25
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
26
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
27
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
28
+ }>>;
29
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
30
+ p50: Type.TOptional<Type.TNumber>;
31
+ p75: Type.TOptional<Type.TNumber>;
32
+ p90: Type.TOptional<Type.TNumber>;
33
+ p99: Type.TOptional<Type.TNumber>;
34
+ }>]>>;
35
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
36
+ p50: Type.TOptional<Type.TNumber>;
37
+ p75: Type.TOptional<Type.TNumber>;
38
+ p90: Type.TOptional<Type.TNumber>;
39
+ p99: Type.TOptional<Type.TNumber>;
40
+ }>]>>;
41
+ }>;
42
+ export declare const VercelGatewayRoutingSchema: Type.TObject<{
43
+ only: Type.TOptional<Type.TArray<Type.TString>>;
44
+ order: Type.TOptional<Type.TArray<Type.TString>>;
45
+ }>;
46
+ export declare const AnthropicAllowedFallbackModelSchema: Type.TObject<{
47
+ provider: Type.TString;
48
+ model: Type.TString;
49
+ cost: Type.TObject<{
50
+ input: Type.TNumber;
51
+ output: Type.TNumber;
52
+ cacheRead: Type.TNumber;
53
+ cacheWrite: Type.TNumber;
54
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
55
+ input: Type.TNumber;
56
+ output: Type.TNumber;
57
+ cacheRead: Type.TNumber;
58
+ cacheWrite: Type.TNumber;
59
+ inputTokensAbove: Type.TNumber;
60
+ }>>>;
61
+ }>;
62
+ }>;
63
+ export declare const OpenAICompletionsCompatSchema: Type.TObject<{
64
+ supportsStore: Type.TOptional<Type.TBoolean>;
65
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
66
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
67
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
68
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
69
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
70
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
71
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
72
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
73
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
74
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
75
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
76
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
77
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
78
+ }>]>>>;
79
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
80
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
81
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
82
+ }>]>>>;
83
+ openRouterRouting: Type.TOptional<Type.TObject<{
84
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
85
+ require_parameters: Type.TOptional<Type.TBoolean>;
86
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
87
+ zdr: Type.TOptional<Type.TBoolean>;
88
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
89
+ order: Type.TOptional<Type.TArray<Type.TString>>;
90
+ only: Type.TOptional<Type.TArray<Type.TString>>;
91
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
92
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
93
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
94
+ by: Type.TOptional<Type.TString>;
95
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
96
+ }>]>>;
97
+ max_price: Type.TOptional<Type.TObject<{
98
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
99
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
100
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
101
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
102
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
103
+ }>>;
104
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
105
+ p50: Type.TOptional<Type.TNumber>;
106
+ p75: Type.TOptional<Type.TNumber>;
107
+ p90: Type.TOptional<Type.TNumber>;
108
+ p99: Type.TOptional<Type.TNumber>;
109
+ }>]>>;
110
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
111
+ p50: Type.TOptional<Type.TNumber>;
112
+ p75: Type.TOptional<Type.TNumber>;
113
+ p90: Type.TOptional<Type.TNumber>;
114
+ p99: Type.TOptional<Type.TNumber>;
115
+ }>]>>;
116
+ }>>;
117
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
118
+ only: Type.TOptional<Type.TArray<Type.TString>>;
119
+ order: Type.TOptional<Type.TArray<Type.TString>>;
120
+ }>>;
121
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
122
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
123
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
124
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
125
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
126
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
127
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
128
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
129
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
130
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
131
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
132
+ vllmPriority: Type.TOptional<Type.TNumber>;
133
+ }>;
134
+ export declare const OpenAIResponsesCompatSchema: Type.TObject<{
135
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
136
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
137
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
138
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
139
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
140
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
141
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
142
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
143
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
144
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
145
+ }>;
146
+ export declare const AnthropicMessagesCompatSchema: Type.TObject<{
147
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
148
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
149
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
150
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
151
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
152
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
153
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
154
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
155
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
156
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
157
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
158
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
159
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
160
+ provider: Type.TString;
161
+ model: Type.TString;
162
+ cost: Type.TObject<{
163
+ input: Type.TNumber;
164
+ output: Type.TNumber;
165
+ cacheRead: Type.TNumber;
166
+ cacheWrite: Type.TNumber;
167
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
168
+ input: Type.TNumber;
169
+ output: Type.TNumber;
170
+ cacheRead: Type.TNumber;
171
+ cacheWrite: Type.TNumber;
172
+ inputTokensAbove: Type.TNumber;
173
+ }>>>;
174
+ }>;
175
+ }>>>;
176
+ }>;
177
+ export declare const BedrockCompatSchema: Type.TObject<{
178
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
179
+ }>;
180
+ export declare const MistralConversationsCompatSchema: Type.TObject<{
181
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
182
+ }>;
183
+ type UnionToIntersection<Union> = (Union extends unknown ? (value: Union) => void : never) extends (value: infer Intersection) => void ? Intersection : never;
184
+ type MergedCompatProperties<PropertyGroups extends readonly TProperties[], Overrides extends TProperties> = Omit<UnionToIntersection<PropertyGroups[number]>, keyof Overrides> & Overrides;
185
+ export declare const ProviderCompatSchema: Type.TObject<MergedCompatProperties<({
186
+ supportsStore: Type.TOptional<Type.TBoolean>;
187
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
188
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
189
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
190
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
191
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
192
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
193
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
194
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
195
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
196
+ thinkingFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openrouter">, Type.TLiteral<"deepseek">, Type.TLiteral<"together">, Type.TLiteral<"baseten">, Type.TLiteral<"zai">, Type.TLiteral<"qwen">, Type.TLiteral<"chat-template">, Type.TLiteral<"qwen-chat-template">, Type.TLiteral<"string-thinking">, Type.TLiteral<"ant-ling">]>>;
197
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
198
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
199
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
200
+ }>]>>>;
201
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
202
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
203
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
204
+ }>]>>>;
205
+ openRouterRouting: Type.TOptional<Type.TObject<{
206
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
207
+ require_parameters: Type.TOptional<Type.TBoolean>;
208
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
209
+ zdr: Type.TOptional<Type.TBoolean>;
210
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
211
+ order: Type.TOptional<Type.TArray<Type.TString>>;
212
+ only: Type.TOptional<Type.TArray<Type.TString>>;
213
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
214
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
215
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
216
+ by: Type.TOptional<Type.TString>;
217
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
218
+ }>]>>;
219
+ max_price: Type.TOptional<Type.TObject<{
220
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
221
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
222
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
223
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
224
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
225
+ }>>;
226
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
227
+ p50: Type.TOptional<Type.TNumber>;
228
+ p75: Type.TOptional<Type.TNumber>;
229
+ p90: Type.TOptional<Type.TNumber>;
230
+ p99: Type.TOptional<Type.TNumber>;
231
+ }>]>>;
232
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
233
+ p50: Type.TOptional<Type.TNumber>;
234
+ p75: Type.TOptional<Type.TNumber>;
235
+ p90: Type.TOptional<Type.TNumber>;
236
+ p99: Type.TOptional<Type.TNumber>;
237
+ }>]>>;
238
+ }>>;
239
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
240
+ only: Type.TOptional<Type.TArray<Type.TString>>;
241
+ order: Type.TOptional<Type.TArray<Type.TString>>;
242
+ }>>;
243
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
244
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
245
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
246
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
247
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
248
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
249
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
250
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
251
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
252
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
253
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
254
+ vllmPriority: Type.TOptional<Type.TNumber>;
255
+ } | {
256
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
257
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
258
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
259
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
260
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
261
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
262
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
263
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
264
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
265
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
266
+ } | {
267
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
268
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
269
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
270
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
271
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
272
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
273
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
274
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
275
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
276
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
277
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
278
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
279
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
280
+ provider: Type.TString;
281
+ model: Type.TString;
282
+ cost: Type.TObject<{
283
+ input: Type.TNumber;
284
+ output: Type.TNumber;
285
+ cacheRead: Type.TNumber;
286
+ cacheWrite: Type.TNumber;
287
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
288
+ input: Type.TNumber;
289
+ output: Type.TNumber;
290
+ cacheRead: Type.TNumber;
291
+ cacheWrite: Type.TNumber;
292
+ inputTokensAbove: Type.TNumber;
293
+ }>>>;
294
+ }>;
295
+ }>>>;
296
+ } | {
297
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
298
+ } | {
299
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
300
+ })[], {
301
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
302
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
303
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
304
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
305
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
306
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
307
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
308
+ }>>;
309
+ export type ChatTemplateKwargValue = Static<typeof ChatTemplateKwargValueSchema>;
310
+ /** Top-level request field used to cap reasoning tokens on OpenAI-compatible servers. */
311
+ export type ThinkingTokenBudgetField = Static<typeof ThinkingTokenBudgetFieldSchema>;
312
+ export type SessionAffinityFormat = Static<typeof SessionAffinityFormatSchema>;
313
+ /** OpenRouter provider routing preferences. */
314
+ export interface OpenRouterRouting extends Static<typeof OpenRouterRoutingSchema> {
315
+ }
316
+ /** Vercel AI Gateway routing preferences. */
317
+ export interface VercelGatewayRouting extends Static<typeof VercelGatewayRoutingSchema> {
318
+ }
319
+ /** An Anthropic server-side refusal fallback model with local pricing metadata. */
320
+ export interface AnthropicAllowedFallbackModel extends Static<typeof AnthropicAllowedFallbackModelSchema> {
321
+ }
322
+ /** Compatibility settings for OpenAI-compatible completions APIs. */
323
+ export interface OpenAICompletionsCompat extends Static<typeof OpenAICompletionsCompatSchema> {
324
+ }
325
+ /** Compatibility settings for OpenAI Responses APIs. */
326
+ export interface OpenAIResponsesCompat extends Static<typeof OpenAIResponsesCompatSchema> {
327
+ }
328
+ /** Compatibility settings for Anthropic Messages-compatible APIs. */
329
+ export interface AnthropicMessagesCompat extends Static<typeof AnthropicMessagesCompatSchema> {
330
+ }
331
+ /** Compatibility settings for Amazon Bedrock models. */
332
+ export interface BedrockCompat extends Static<typeof BedrockCompatSchema> {
333
+ }
334
+ /** Compatibility settings for the Mistral chat API. */
335
+ export interface MistralConversationsCompat extends Static<typeof MistralConversationsCompatSchema> {
336
+ }
337
+ export {};
338
+ //# sourceMappingURL=compat-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat-schema.d.ts","sourceRoot":"","sources":["../../src/providers/compat-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAuB,IAAI,EAAE,MAAM,SAAS,CAAC;AAOnF,eAAO,MAAM,2BAA2B,wGAEtC,CAAC;AASH,eAAO,MAAM,8BAA8B,kIAGzC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;IAavC,CAAC;AAWH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqGnC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;EAkBtC,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;EAO/C,CAAC;AAUF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkKzC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;EAuDvC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqFzC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;EAQ/B,CAAC;AAEF,eAAO,MAAM,gCAAgC;;EAS5C,CAAC;AA+BF,KAAK,mBAAmB,CAAC,KAAK,IAAI,CAAC,KAAK,SAAS,OAAO,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAClG,KAAK,EAAE,MAAM,YAAY,KACrB,IAAI,GACN,YAAY,GACZ,KAAK,CAAC;AAET,KAAK,sBAAsB,CAAC,cAAc,SAAS,SAAS,WAAW,EAAE,EAAE,SAAS,SAAS,WAAW,IAAI,IAAI,CAC/G,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAC3C,MAAM,SAAS,CACf,GACA,SAAS,CAAC;AAgDX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG/B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACjF,yFAAyF;AACzF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACrF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAC/E,+CAA+C;AAC/C,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,OAAO,uBAAuB,CAAC;CAAG;AACpF,6CAA6C;AAC7C,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,OAAO,0BAA0B,CAAC;CAAG;AAC1F,mFAAmF;AACnF,MAAM,WAAW,6BAA8B,SAAQ,MAAM,CAAC,OAAO,mCAAmC,CAAC;CAAG;AAE5G,qEAAqE;AACrE,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,OAAO,6BAA6B,CAAC;CAAG;AAChG,wDAAwD;AACxD,MAAM,WAAW,qBAAsB,SAAQ,MAAM,CAAC,OAAO,2BAA2B,CAAC;CAAG;AAC5F,qEAAqE;AACrE,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,OAAO,6BAA6B,CAAC;CAAG;AAChG,wDAAwD;AACxD,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,OAAO,mBAAmB,CAAC;CAAG;AAC5E,uDAAuD;AACvD,MAAM,WAAW,0BAA2B,SAAQ,MAAM,CAAC,OAAO,gCAAgC,CAAC;CAAG"}