@earendil-works/pi-ai 1.1.0 → 1.3.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 (103) hide show
  1. package/README.md +5 -34
  2. package/dist/api/anthropic-messages.d.ts.map +1 -1
  3. package/dist/api/anthropic-messages.js +120 -74
  4. package/dist/api/anthropic-messages.js.map +1 -1
  5. package/dist/api/bedrock-converse-stream.js +16 -18
  6. package/dist/api/bedrock-converse-stream.js.map +1 -1
  7. package/dist/api/google-shared.d.ts.map +1 -1
  8. package/dist/api/google-shared.js +2 -0
  9. package/dist/api/google-shared.js.map +1 -1
  10. package/dist/api/mistral-conversations.d.ts.map +1 -1
  11. package/dist/api/mistral-conversations.js +31 -15
  12. package/dist/api/mistral-conversations.js.map +1 -1
  13. package/dist/api/openai-codex-responses.d.ts.map +1 -1
  14. package/dist/api/openai-codex-responses.js +2 -1
  15. package/dist/api/openai-codex-responses.js.map +1 -1
  16. package/dist/api/openai-completions.d.ts.map +1 -1
  17. package/dist/api/openai-completions.js +29 -27
  18. package/dist/api/openai-completions.js.map +1 -1
  19. package/dist/api/openai-responses-shared.d.ts +10 -0
  20. package/dist/api/openai-responses-shared.d.ts.map +1 -1
  21. package/dist/api/openai-responses-shared.js +15 -2
  22. package/dist/api/openai-responses-shared.js.map +1 -1
  23. package/dist/api/openai-responses.d.ts.map +1 -1
  24. package/dist/api/openai-responses.js +21 -4
  25. package/dist/api/openai-responses.js.map +1 -1
  26. package/dist/api/transform-messages.d.ts +16 -1
  27. package/dist/api/transform-messages.d.ts.map +1 -1
  28. package/dist/api/transform-messages.js +28 -15
  29. package/dist/api/transform-messages.js.map +1 -1
  30. package/dist/index.d.ts +0 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +0 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/models.d.ts +5 -0
  35. package/dist/models.d.ts.map +1 -1
  36. package/dist/models.js +1 -0
  37. package/dist/models.js.map +1 -1
  38. package/dist/providers/compat-schema.d.ts +341 -0
  39. package/dist/providers/compat-schema.d.ts.map +1 -0
  40. package/dist/providers/compat-schema.js +383 -0
  41. package/dist/providers/compat-schema.js.map +1 -0
  42. package/dist/providers/data/.manifest.json +1 -1
  43. package/dist/providers/data/amazon-bedrock.json +1 -1
  44. package/dist/providers/data/anthropic.json +1 -1
  45. package/dist/providers/data/baseten.json +1 -1
  46. package/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  47. package/dist/providers/data/cloudflare-workers-ai.json +1 -1
  48. package/dist/providers/data/github-copilot.json +1 -1
  49. package/dist/providers/data/google-vertex.json +1 -1
  50. package/dist/providers/data/google.json +1 -1
  51. package/dist/providers/data/huggingface.json +1 -1
  52. package/dist/providers/data/kimi-coding.json +1 -1
  53. package/dist/providers/data/meta.json +1 -1
  54. package/dist/providers/data/mistral.json +1 -1
  55. package/dist/providers/data/nvidia.json +1 -1
  56. package/dist/providers/data/openai-codex.json +1 -1
  57. package/dist/providers/data/openai.json +1 -1
  58. package/dist/providers/data/opencode-go.json +1 -1
  59. package/dist/providers/data/opencode.json +1 -1
  60. package/dist/providers/data/openrouter.json +1 -1
  61. package/dist/providers/data/radius.json +1 -1
  62. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  63. package/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
  64. package/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
  65. package/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
  66. package/dist/providers/data/xiaomi.json +1 -1
  67. package/dist/providers/kimi-coding.d.ts +1 -1
  68. package/dist/providers/kimi-coding.js +3 -3
  69. package/dist/providers/kimi-coding.js.map +1 -1
  70. package/dist/providers/model-schema.d.ts +91 -0
  71. package/dist/providers/model-schema.d.ts.map +1 -0
  72. package/dist/providers/model-schema.js +55 -0
  73. package/dist/providers/model-schema.js.map +1 -0
  74. package/dist/providers/opencode-go.d.ts +3 -1
  75. package/dist/providers/opencode-go.d.ts.map +1 -1
  76. package/dist/providers/opencode-go.js +2 -0
  77. package/dist/providers/opencode-go.js.map +1 -1
  78. package/dist/providers/openrouter-api.d.ts +40 -0
  79. package/dist/providers/openrouter-api.d.ts.map +1 -0
  80. package/dist/providers/openrouter-api.js +41 -0
  81. package/dist/providers/openrouter-api.js.map +1 -0
  82. package/dist/providers/openrouter.d.ts +11 -1
  83. package/dist/providers/openrouter.d.ts.map +1 -1
  84. package/dist/providers/openrouter.js +52 -1
  85. package/dist/providers/openrouter.js.map +1 -1
  86. package/dist/types.d.ts +10 -303
  87. package/dist/types.d.ts.map +1 -1
  88. package/dist/types.js.map +1 -1
  89. package/dist/utils/json-parse.d.ts +10 -0
  90. package/dist/utils/json-parse.d.ts.map +1 -1
  91. package/dist/utils/json-parse.js +26 -1
  92. package/dist/utils/json-parse.js.map +1 -1
  93. package/dist/utils/retry.d.ts.map +1 -1
  94. package/dist/utils/retry.js +8 -3
  95. package/dist/utils/retry.js.map +1 -1
  96. package/dist/utils/validation.d.ts.map +1 -1
  97. package/dist/utils/validation.js +3 -0
  98. package/dist/utils/validation.js.map +1 -1
  99. package/package.json +2 -2
  100. package/dist/utils/assistant-message-frame.d.ts +0 -77
  101. package/dist/utils/assistant-message-frame.d.ts.map +0 -1
  102. package/dist/utils/assistant-message-frame.js +0 -425
  103. package/dist/utils/assistant-message-frame.js.map +0 -1
@@ -0,0 +1,341 @@
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
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
145
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
146
+ }>;
147
+ export declare const AnthropicMessagesCompatSchema: Type.TObject<{
148
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
149
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
150
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
151
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
152
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
153
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
154
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
155
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
156
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
157
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
158
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
159
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
160
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
161
+ provider: Type.TString;
162
+ model: Type.TString;
163
+ cost: Type.TObject<{
164
+ input: Type.TNumber;
165
+ output: Type.TNumber;
166
+ cacheRead: Type.TNumber;
167
+ cacheWrite: Type.TNumber;
168
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
169
+ input: Type.TNumber;
170
+ output: Type.TNumber;
171
+ cacheRead: Type.TNumber;
172
+ cacheWrite: Type.TNumber;
173
+ inputTokensAbove: Type.TNumber;
174
+ }>>>;
175
+ }>;
176
+ }>>>;
177
+ }>;
178
+ export declare const BedrockCompatSchema: Type.TObject<{
179
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
180
+ }>;
181
+ export declare const MistralConversationsCompatSchema: Type.TObject<{
182
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
183
+ }>;
184
+ type UnionToIntersection<Union> = (Union extends unknown ? (value: Union) => void : never) extends (value: infer Intersection) => void ? Intersection : never;
185
+ type MergedCompatProperties<PropertyGroups extends readonly TProperties[], Overrides extends TProperties> = Omit<UnionToIntersection<PropertyGroups[number]>, keyof Overrides> & Overrides;
186
+ export declare const ProviderCompatSchema: Type.TObject<MergedCompatProperties<({
187
+ supportsStore: Type.TOptional<Type.TBoolean>;
188
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
189
+ supportsReasoningEffort: Type.TOptional<Type.TBoolean>;
190
+ supportsUsageInStreaming: Type.TOptional<Type.TBoolean>;
191
+ supportsFinishReason: Type.TOptional<Type.TBoolean>;
192
+ maxTokensField: Type.TOptional<Type.TUnion<[Type.TLiteral<"max_completion_tokens">, Type.TLiteral<"max_tokens">]>>;
193
+ requiresToolResultName: Type.TOptional<Type.TBoolean>;
194
+ requiresAssistantAfterToolResult: Type.TOptional<Type.TBoolean>;
195
+ requiresThinkingAsText: Type.TOptional<Type.TBoolean>;
196
+ requiresReasoningContentOnAssistantMessages: Type.TOptional<Type.TBoolean>;
197
+ 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">]>>;
198
+ chatTemplateKwargs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
199
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
200
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
201
+ }>]>>>;
202
+ chatTemplateArgs: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean, Type.TNull, Type.TObject<{
203
+ $var: Type.TUnion<[Type.TLiteral<"thinking.enabled">, Type.TLiteral<"thinking.effort">, Type.TLiteral<"thinking.budget">]>;
204
+ omitWhenOff: Type.TOptional<Type.TBoolean>;
205
+ }>]>>>;
206
+ openRouterRouting: Type.TOptional<Type.TObject<{
207
+ allow_fallbacks: Type.TOptional<Type.TBoolean>;
208
+ require_parameters: Type.TOptional<Type.TBoolean>;
209
+ data_collection: Type.TOptional<Type.TUnion<[Type.TLiteral<"deny">, Type.TLiteral<"allow">]>>;
210
+ zdr: Type.TOptional<Type.TBoolean>;
211
+ enforce_distillable_text: Type.TOptional<Type.TBoolean>;
212
+ order: Type.TOptional<Type.TArray<Type.TString>>;
213
+ only: Type.TOptional<Type.TArray<Type.TString>>;
214
+ ignore: Type.TOptional<Type.TArray<Type.TString>>;
215
+ quantizations: Type.TOptional<Type.TArray<Type.TString>>;
216
+ sort: Type.TOptional<Type.TUnion<[Type.TString, Type.TObject<{
217
+ by: Type.TOptional<Type.TString>;
218
+ partition: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
219
+ }>]>>;
220
+ max_price: Type.TOptional<Type.TObject<{
221
+ prompt: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
222
+ completion: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
223
+ image: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
224
+ audio: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
225
+ request: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TString]>>;
226
+ }>>;
227
+ preferred_min_throughput: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
228
+ p50: Type.TOptional<Type.TNumber>;
229
+ p75: Type.TOptional<Type.TNumber>;
230
+ p90: Type.TOptional<Type.TNumber>;
231
+ p99: Type.TOptional<Type.TNumber>;
232
+ }>]>>;
233
+ preferred_max_latency: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TObject<{
234
+ p50: Type.TOptional<Type.TNumber>;
235
+ p75: Type.TOptional<Type.TNumber>;
236
+ p90: Type.TOptional<Type.TNumber>;
237
+ p99: Type.TOptional<Type.TNumber>;
238
+ }>]>>;
239
+ }>>;
240
+ vercelGatewayRouting: Type.TOptional<Type.TObject<{
241
+ only: Type.TOptional<Type.TArray<Type.TString>>;
242
+ order: Type.TOptional<Type.TArray<Type.TString>>;
243
+ }>>;
244
+ zaiToolStream: Type.TOptional<Type.TBoolean>;
245
+ thinkingTokenBudgetField: Type.TOptional<Type.TUnion<[Type.TLiteral<"thinking_token_budget">, Type.TLiteral<"thinking_budget">, Type.TLiteral<"thinking_budget_tokens">]>>;
246
+ supportsThinkingTokenBudget: Type.TOptional<Type.TBoolean>;
247
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
248
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
249
+ supportsMidConvoToolAdditions: Type.TOptional<Type.TBoolean>;
250
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
251
+ cacheControlFormat: Type.TOptional<Type.TLiteral<"anthropic">>;
252
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
253
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
254
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
255
+ vllmPriority: Type.TOptional<Type.TNumber>;
256
+ } | {
257
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
258
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
259
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
260
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
261
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
262
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
263
+ supportsAdditionalTools: Type.TOptional<Type.TBoolean>;
264
+ supportsToolSearch: Type.TOptional<Type.TBoolean>;
265
+ supportsExplicitPromptCacheMode: Type.TOptional<Type.TBoolean>;
266
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
267
+ supportsMaxOutputTokens: Type.TOptional<Type.TBoolean>;
268
+ } | {
269
+ supportsEagerToolInputStreaming: Type.TOptional<Type.TBoolean>;
270
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
271
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
272
+ sessionAffinityFormat: Type.TOptional<Type.TLiteral<"openrouter">>;
273
+ supportsCacheControlOnTools: Type.TOptional<Type.TBoolean>;
274
+ supportsTemperature: Type.TOptional<Type.TBoolean>;
275
+ forceAdaptiveThinking: Type.TOptional<Type.TBoolean>;
276
+ allowEmptySignature: Type.TOptional<Type.TBoolean>;
277
+ supportsStrictTools: Type.TOptional<Type.TBoolean>;
278
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
279
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
280
+ supportsMidConvoToolChanges: Type.TOptional<Type.TBoolean>;
281
+ allowedFallbackModels: Type.TOptional<Type.TArray<Type.TObject<{
282
+ provider: Type.TString;
283
+ model: Type.TString;
284
+ cost: Type.TObject<{
285
+ input: Type.TNumber;
286
+ output: Type.TNumber;
287
+ cacheRead: Type.TNumber;
288
+ cacheWrite: Type.TNumber;
289
+ tiers: Type.TOptional<Type.TArray<Type.TObject<{
290
+ input: Type.TNumber;
291
+ output: Type.TNumber;
292
+ cacheRead: Type.TNumber;
293
+ cacheWrite: Type.TNumber;
294
+ inputTokensAbove: Type.TNumber;
295
+ }>>>;
296
+ }>;
297
+ }>>>;
298
+ } | {
299
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
300
+ } | {
301
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
302
+ })[], {
303
+ supportsDeveloperRole: Type.TOptional<Type.TBoolean>;
304
+ supportsMidConvoSystemMessages: Type.TOptional<Type.TBoolean>;
305
+ sessionAffinityFormat: Type.TOptional<Type.TUnion<[Type.TLiteral<"openai">, Type.TLiteral<"openai-nosession">, Type.TLiteral<"openrouter">]>>;
306
+ supportsMidConvoEffort: Type.TOptional<Type.TBoolean>;
307
+ supportsLongCacheRetention: Type.TOptional<Type.TBoolean>;
308
+ supportsStrictMode: Type.TOptional<Type.TBoolean>;
309
+ supportsOpenAIGrammarTools: Type.TOptional<Type.TBoolean>;
310
+ sendSessionAffinityHeaders: Type.TOptional<Type.TBoolean>;
311
+ }>>;
312
+ export type ChatTemplateKwargValue = Static<typeof ChatTemplateKwargValueSchema>;
313
+ /** Top-level request field used to cap reasoning tokens on OpenAI-compatible servers. */
314
+ export type ThinkingTokenBudgetField = Static<typeof ThinkingTokenBudgetFieldSchema>;
315
+ export type SessionAffinityFormat = Static<typeof SessionAffinityFormatSchema>;
316
+ /** OpenRouter provider routing preferences. */
317
+ export interface OpenRouterRouting extends Static<typeof OpenRouterRoutingSchema> {
318
+ }
319
+ /** Vercel AI Gateway routing preferences. */
320
+ export interface VercelGatewayRouting extends Static<typeof VercelGatewayRoutingSchema> {
321
+ }
322
+ /** An Anthropic server-side refusal fallback model with local pricing metadata. */
323
+ export interface AnthropicAllowedFallbackModel extends Static<typeof AnthropicAllowedFallbackModelSchema> {
324
+ }
325
+ /** Compatibility settings for OpenAI-compatible completions APIs. */
326
+ export interface OpenAICompletionsCompat extends Static<typeof OpenAICompletionsCompatSchema> {
327
+ }
328
+ /** Compatibility settings for OpenAI Responses APIs. */
329
+ export interface OpenAIResponsesCompat extends Static<typeof OpenAIResponsesCompatSchema> {
330
+ }
331
+ /** Compatibility settings for Anthropic Messages-compatible APIs. */
332
+ export interface AnthropicMessagesCompat extends Static<typeof AnthropicMessagesCompatSchema> {
333
+ }
334
+ /** Compatibility settings for Amazon Bedrock models. */
335
+ export interface BedrockCompat extends Static<typeof BedrockCompatSchema> {
336
+ }
337
+ /** Compatibility settings for the Mistral chat API. */
338
+ export interface MistralConversationsCompat extends Static<typeof MistralConversationsCompatSchema> {
339
+ }
340
+ export {};
341
+ //# 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;;;;;;;;;;;;EA8DvC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqFzC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;EAQ/B,CAAC;AAEF,eAAO,MAAM,gCAAgC;;EAS5C,CAAC;AAoCF,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"}