@earendil-works/pi-ai 1.0.4 → 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 (121) hide show
  1. package/README.md +14 -3
  2. package/dist/api/anthropic-messages.d.ts.map +1 -1
  3. package/dist/api/anthropic-messages.js +63 -22
  4. package/dist/api/anthropic-messages.js.map +1 -1
  5. package/dist/api/bedrock-converse-stream.js +33 -2
  6. package/dist/api/bedrock-converse-stream.js.map +1 -1
  7. package/dist/api/classifier-shared.d.ts +21 -0
  8. package/dist/api/classifier-shared.d.ts.map +1 -0
  9. package/dist/api/classifier-shared.js +98 -0
  10. package/dist/api/classifier-shared.js.map +1 -0
  11. package/dist/api/cloudflare-workers-ai-system-one.d.ts.map +1 -1
  12. package/dist/api/cloudflare-workers-ai-system-one.js +2 -1
  13. package/dist/api/cloudflare-workers-ai-system-one.js.map +1 -1
  14. package/dist/api/lazy.d.ts.map +1 -1
  15. package/dist/api/lazy.js +4 -3
  16. package/dist/api/lazy.js.map +1 -1
  17. package/dist/api/llama-cpp-classify.d.ts.map +1 -1
  18. package/dist/api/llama-cpp-classify.js +2 -0
  19. package/dist/api/llama-cpp-classify.js.map +1 -1
  20. package/dist/api/mistral-conversations.d.ts.map +1 -1
  21. package/dist/api/mistral-conversations.js +31 -14
  22. package/dist/api/mistral-conversations.js.map +1 -1
  23. package/dist/api/openai-codex-responses.d.ts.map +1 -1
  24. package/dist/api/openai-codex-responses.js +7 -4
  25. package/dist/api/openai-codex-responses.js.map +1 -1
  26. package/dist/api/openai-decisions.d.ts +4 -0
  27. package/dist/api/openai-decisions.d.ts.map +1 -0
  28. package/dist/api/openai-decisions.js +162 -0
  29. package/dist/api/openai-decisions.js.map +1 -0
  30. package/dist/api/openai-decisions.lazy.d.ts +3 -0
  31. package/dist/api/openai-decisions.lazy.d.ts.map +1 -0
  32. package/dist/api/openai-decisions.lazy.js +4 -0
  33. package/dist/api/openai-decisions.lazy.js.map +1 -0
  34. package/dist/api/system-one-shared.d.ts +0 -1
  35. package/dist/api/system-one-shared.d.ts.map +1 -1
  36. package/dist/api/system-one-shared.js +5 -89
  37. package/dist/api/system-one-shared.js.map +1 -1
  38. package/dist/api/typesafe-system-one.d.ts.map +1 -1
  39. package/dist/api/typesafe-system-one.js +2 -1
  40. package/dist/api/typesafe-system-one.js.map +1 -1
  41. package/dist/auth/oauth/anthropic.d.ts.map +1 -1
  42. package/dist/auth/oauth/anthropic.js +14 -6
  43. package/dist/auth/oauth/anthropic.js.map +1 -1
  44. package/dist/auth/oauth/openai-chatgpt.js +1 -1
  45. package/dist/auth/oauth/openai-chatgpt.js.map +1 -1
  46. package/dist/auth/oauth/openai-codex.d.ts.map +1 -1
  47. package/dist/auth/oauth/openai-codex.js +4 -4
  48. package/dist/auth/oauth/openai-codex.js.map +1 -1
  49. package/dist/auth/types.d.ts +5 -0
  50. package/dist/auth/types.d.ts.map +1 -1
  51. package/dist/auth/types.js.map +1 -1
  52. package/dist/models.d.ts +5 -0
  53. package/dist/models.d.ts.map +1 -1
  54. package/dist/models.js +3 -1
  55. package/dist/models.js.map +1 -1
  56. package/dist/providers/compat-schema.d.ts +338 -0
  57. package/dist/providers/compat-schema.d.ts.map +1 -0
  58. package/dist/providers/compat-schema.js +375 -0
  59. package/dist/providers/compat-schema.js.map +1 -0
  60. package/dist/providers/data/.manifest.json +1 -1
  61. package/dist/providers/data/amazon-bedrock.json +1 -1
  62. package/dist/providers/data/anthropic.json +1 -1
  63. package/dist/providers/data/baseten.json +1 -1
  64. package/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  65. package/dist/providers/data/cloudflare-workers-ai.json +1 -1
  66. package/dist/providers/data/github-copilot.json +1 -1
  67. package/dist/providers/data/google-vertex.json +1 -1
  68. package/dist/providers/data/google.json +1 -1
  69. package/dist/providers/data/huggingface.json +1 -1
  70. package/dist/providers/data/meta.json +1 -1
  71. package/dist/providers/data/minimax-cn.json +1 -1
  72. package/dist/providers/data/minimax.json +1 -1
  73. package/dist/providers/data/mistral.json +1 -1
  74. package/dist/providers/data/openai.json +1 -1
  75. package/dist/providers/data/opencode-go.json +1 -1
  76. package/dist/providers/data/opencode.json +1 -1
  77. package/dist/providers/data/openrouter.json +1 -1
  78. package/dist/providers/data/radius.json +1 -1
  79. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  80. package/dist/providers/faux.d.ts.map +1 -1
  81. package/dist/providers/faux.js +25 -8
  82. package/dist/providers/faux.js.map +1 -1
  83. package/dist/providers/model-schema.d.ts +91 -0
  84. package/dist/providers/model-schema.d.ts.map +1 -0
  85. package/dist/providers/model-schema.js +55 -0
  86. package/dist/providers/model-schema.js.map +1 -0
  87. package/dist/providers/openai.d.ts.map +1 -1
  88. package/dist/providers/openai.js +12 -3
  89. package/dist/providers/openai.js.map +1 -1
  90. package/dist/providers/openrouter-api.d.ts +40 -0
  91. package/dist/providers/openrouter-api.d.ts.map +1 -0
  92. package/dist/providers/openrouter-api.js +41 -0
  93. package/dist/providers/openrouter-api.js.map +1 -0
  94. package/dist/providers/openrouter.d.ts +11 -1
  95. package/dist/providers/openrouter.d.ts.map +1 -1
  96. package/dist/providers/openrouter.js +52 -1
  97. package/dist/providers/openrouter.js.map +1 -1
  98. package/dist/providers/radius.d.ts.map +1 -1
  99. package/dist/providers/radius.js +4 -12
  100. package/dist/providers/radius.js.map +1 -1
  101. package/dist/types.d.ts +21 -304
  102. package/dist/types.d.ts.map +1 -1
  103. package/dist/types.js.map +1 -1
  104. package/dist/utils/estimate.js +1 -1
  105. package/dist/utils/estimate.js.map +1 -1
  106. package/dist/utils/event-stream.d.ts +10 -1
  107. package/dist/utils/event-stream.d.ts.map +1 -1
  108. package/dist/utils/event-stream.js +25 -0
  109. package/dist/utils/event-stream.js.map +1 -1
  110. package/dist/utils/model-operations.d.ts +3 -1
  111. package/dist/utils/model-operations.d.ts.map +1 -1
  112. package/dist/utils/model-operations.js +6 -0
  113. package/dist/utils/model-operations.js.map +1 -1
  114. package/dist/utils/provider-retry.d.ts +2 -0
  115. package/dist/utils/provider-retry.d.ts.map +1 -1
  116. package/dist/utils/provider-retry.js +2 -0
  117. package/dist/utils/provider-retry.js.map +1 -1
  118. package/dist/utils/retry.d.ts.map +1 -1
  119. package/dist/utils/retry.js +5 -2
  120. package/dist/utils/retry.js.map +1 -1
  121. 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"}