@yourgpt/llm-sdk 2.0.1 → 2.0.2-beta.2

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 (55) hide show
  1. package/dist/adapters/index.d.mts +27 -4
  2. package/dist/adapters/index.d.ts +27 -4
  3. package/dist/adapters/index.js +395 -25
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/adapters/index.mjs +395 -25
  6. package/dist/adapters/index.mjs.map +1 -1
  7. package/dist/index.d.mts +24 -5
  8. package/dist/index.d.ts +24 -5
  9. package/dist/index.js +20 -4
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +20 -4
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/providers/anthropic/index.d.mts +1 -2
  14. package/dist/providers/anthropic/index.d.ts +1 -2
  15. package/dist/providers/anthropic/index.js +108 -12
  16. package/dist/providers/anthropic/index.js.map +1 -1
  17. package/dist/providers/anthropic/index.mjs +108 -12
  18. package/dist/providers/anthropic/index.mjs.map +1 -1
  19. package/dist/providers/azure/index.d.mts +1 -2
  20. package/dist/providers/azure/index.d.ts +1 -2
  21. package/dist/providers/azure/index.js.map +1 -1
  22. package/dist/providers/azure/index.mjs.map +1 -1
  23. package/dist/providers/google/index.d.mts +1 -2
  24. package/dist/providers/google/index.d.ts +1 -2
  25. package/dist/providers/google/index.js +61 -2
  26. package/dist/providers/google/index.js.map +1 -1
  27. package/dist/providers/google/index.mjs +61 -2
  28. package/dist/providers/google/index.mjs.map +1 -1
  29. package/dist/providers/ollama/index.d.mts +8 -3
  30. package/dist/providers/ollama/index.d.ts +8 -3
  31. package/dist/providers/ollama/index.js +227 -17
  32. package/dist/providers/ollama/index.js.map +1 -1
  33. package/dist/providers/ollama/index.mjs +227 -17
  34. package/dist/providers/ollama/index.mjs.map +1 -1
  35. package/dist/providers/openai/index.d.mts +1 -2
  36. package/dist/providers/openai/index.d.ts +1 -2
  37. package/dist/providers/openai/index.js +57 -3
  38. package/dist/providers/openai/index.js.map +1 -1
  39. package/dist/providers/openai/index.mjs +57 -3
  40. package/dist/providers/openai/index.mjs.map +1 -1
  41. package/dist/providers/openrouter/index.d.mts +56 -3
  42. package/dist/providers/openrouter/index.d.ts +56 -3
  43. package/dist/providers/openrouter/index.js +90 -276
  44. package/dist/providers/openrouter/index.js.map +1 -1
  45. package/dist/providers/openrouter/index.mjs +89 -277
  46. package/dist/providers/openrouter/index.mjs.map +1 -1
  47. package/dist/providers/xai/index.d.mts +1 -2
  48. package/dist/providers/xai/index.d.ts +1 -2
  49. package/dist/providers/xai/index.js.map +1 -1
  50. package/dist/providers/xai/index.mjs.map +1 -1
  51. package/dist/{base-DdxolpKP.d.mts → types-C_f95PKp.d.mts} +434 -3
  52. package/dist/{base-DdxolpKP.d.ts → types-C_f95PKp.d.ts} +434 -3
  53. package/package.json +1 -1
  54. package/dist/types-Ck25ZYma.d.mts +0 -323
  55. package/dist/types-Dsz8SpdB.d.ts +0 -323
@@ -1,323 +0,0 @@
1
- import { L as LLMAdapter, d as ToolDefinition, W as UnifiedToolCall, X as UnifiedToolResult } from './base-DdxolpKP.mjs';
2
-
3
- /**
4
- * Provider Types
5
- *
6
- * Defines interfaces for:
7
- * 1. Provider Formatters (for tool transformations in agent loop)
8
- * 2. Multi-provider architecture (AIProvider, capabilities, configs)
9
- */
10
-
11
- /**
12
- * Provider formatter interface
13
- *
14
- * Each provider implements this interface to handle:
15
- * - Tool definition transformation
16
- * - Tool call parsing from responses
17
- * - Tool result formatting
18
- * - Stop reason detection
19
- */
20
- interface ProviderFormatter {
21
- /**
22
- * Transform unified tool definitions to provider format
23
- */
24
- transformTools(tools: ToolDefinition[]): unknown[];
25
- /**
26
- * Parse tool calls from provider response
27
- */
28
- parseToolCalls(response: unknown): UnifiedToolCall[];
29
- /**
30
- * Format tool results for provider
31
- */
32
- formatToolResults(results: UnifiedToolResult[]): unknown[];
33
- /**
34
- * Check if response indicates tool use is requested
35
- */
36
- isToolUseStop(response: unknown): boolean;
37
- /**
38
- * Check if response indicates end of turn
39
- */
40
- isEndTurnStop(response: unknown): boolean;
41
- /**
42
- * Get stop reason string from response
43
- */
44
- getStopReason(response: unknown): string;
45
- /**
46
- * Extract text content from response
47
- */
48
- extractTextContent(response: unknown): string;
49
- /**
50
- * Build assistant message with tool calls for conversation history
51
- */
52
- buildAssistantToolMessage(toolCalls: UnifiedToolCall[], textContent?: string): unknown;
53
- /**
54
- * Build user message with tool results for conversation history
55
- */
56
- buildToolResultMessage(results: UnifiedToolResult[]): unknown;
57
- }
58
- /**
59
- * Anthropic tool definition format
60
- */
61
- interface AnthropicTool {
62
- name: string;
63
- description: string;
64
- input_schema: {
65
- type: "object";
66
- properties: Record<string, unknown>;
67
- required?: string[];
68
- };
69
- }
70
- /**
71
- * Anthropic tool_use block from response
72
- */
73
- interface AnthropicToolUse {
74
- type: "tool_use";
75
- id: string;
76
- name: string;
77
- input: Record<string, unknown>;
78
- }
79
- /**
80
- * Anthropic tool_result block
81
- */
82
- interface AnthropicToolResult {
83
- type: "tool_result";
84
- tool_use_id: string;
85
- content: string;
86
- }
87
- /**
88
- * OpenAI tool definition format
89
- */
90
- interface OpenAITool {
91
- type: "function";
92
- function: {
93
- name: string;
94
- description: string;
95
- parameters: {
96
- type: "object";
97
- properties: Record<string, unknown>;
98
- required?: string[];
99
- };
100
- };
101
- }
102
- /**
103
- * OpenAI tool call from response
104
- */
105
- interface OpenAIToolCall {
106
- id: string;
107
- type: "function";
108
- function: {
109
- name: string;
110
- arguments: string;
111
- };
112
- }
113
- /**
114
- * OpenAI tool result message
115
- */
116
- interface OpenAIToolResult {
117
- role: "tool";
118
- tool_call_id: string;
119
- content: string;
120
- }
121
- /**
122
- * Google Gemini function declaration
123
- */
124
- interface GeminiFunctionDeclaration {
125
- name: string;
126
- description: string;
127
- parameters?: {
128
- type: "object";
129
- properties: Record<string, unknown>;
130
- required?: string[];
131
- };
132
- }
133
- /**
134
- * Gemini function call from response
135
- */
136
- interface GeminiFunctionCall {
137
- name: string;
138
- args: Record<string, unknown>;
139
- }
140
- /**
141
- * Gemini function response
142
- */
143
- interface GeminiFunctionResponse {
144
- name: string;
145
- response: Record<string, unknown>;
146
- }
147
- /**
148
- * Capabilities of a model for UI feature flags
149
- * UI components can use this to enable/disable features
150
- */
151
- interface ProviderCapabilities {
152
- /** Supports image inputs */
153
- supportsVision: boolean;
154
- /** Supports tool/function calling */
155
- supportsTools: boolean;
156
- /** Supports extended thinking (Claude, DeepSeek) */
157
- supportsThinking: boolean;
158
- /** Supports streaming responses */
159
- supportsStreaming: boolean;
160
- /** Supports PDF document inputs */
161
- supportsPDF: boolean;
162
- /** Supports audio inputs */
163
- supportsAudio: boolean;
164
- /** Supports video inputs */
165
- supportsVideo: boolean;
166
- /** Maximum context tokens */
167
- maxTokens: number;
168
- /** Supported image MIME types */
169
- supportedImageTypes: string[];
170
- /** Supported audio MIME types */
171
- supportedAudioTypes?: string[];
172
- /** Supported video MIME types */
173
- supportedVideoTypes?: string[];
174
- /** Supports JSON mode / structured output */
175
- supportsJsonMode?: boolean;
176
- /** Supports system messages */
177
- supportsSystemMessages?: boolean;
178
- }
179
- /**
180
- * AI Provider interface (object form)
181
- *
182
- * Wraps existing LLMAdapter with additional metadata:
183
- * - Supported models list
184
- * - Per-model capabilities
185
- * - Provider name
186
- */
187
- interface AIProviderObject {
188
- /** Provider name (e.g., 'openai', 'anthropic') */
189
- readonly name: string;
190
- /** List of supported model IDs */
191
- readonly supportedModels: string[];
192
- /**
193
- * Get a language model adapter for the given model ID
194
- * Returns the existing LLMAdapter interface - no breaking changes
195
- */
196
- languageModel(modelId: string): LLMAdapter;
197
- /**
198
- * Get capabilities for a specific model
199
- * UI components use this to enable/disable features
200
- */
201
- getCapabilities(modelId: string): ProviderCapabilities;
202
- /**
203
- * Optional: Get an embedding model (future expansion)
204
- */
205
- embeddingModel?(modelId: string): EmbeddingModel;
206
- }
207
- /**
208
- * Callable AI Provider (Vercel AI SDK style)
209
- *
210
- * A function that returns a LanguageModel when called with a model ID,
211
- * but also has properties for provider metadata and methods.
212
- *
213
- * @example
214
- * ```typescript
215
- * const openai = createOpenAI({ apiKey: '...' });
216
- *
217
- * // Callable - returns LanguageModel directly (Vercel AI SDK style)
218
- * const model = openai('gpt-4o');
219
- *
220
- * // Also supports method calls (backward compatible)
221
- * const model2 = openai.languageModel('gpt-4o');
222
- *
223
- * // Check capabilities
224
- * const caps = openai.getCapabilities('gpt-4o');
225
- * if (caps.supportsVision) {
226
- * // Show image upload button
227
- * }
228
- * ```
229
- */
230
- interface AIProvider extends AIProviderObject {
231
- /**
232
- * Call the provider directly with a model ID to get a LanguageModel
233
- * This is the Vercel AI SDK style pattern
234
- */
235
- (modelId: string): LLMAdapter;
236
- }
237
- /**
238
- * Embedding model interface (for future expansion)
239
- */
240
- interface EmbeddingModel {
241
- readonly provider: string;
242
- readonly modelId: string;
243
- embed(texts: string[]): Promise<number[][]>;
244
- }
245
- /**
246
- * Base provider configuration
247
- */
248
- interface BaseProviderConfig {
249
- /** API key (falls back to environment variable) */
250
- apiKey?: string;
251
- /** Custom base URL */
252
- baseUrl?: string;
253
- /** Request timeout in milliseconds */
254
- timeout?: number;
255
- /** Custom headers to include */
256
- headers?: Record<string, string>;
257
- }
258
- /**
259
- * OpenAI provider configuration
260
- */
261
- interface OpenAIProviderConfig extends BaseProviderConfig {
262
- /** OpenAI organization ID */
263
- organization?: string;
264
- /** OpenAI project ID */
265
- project?: string;
266
- /** Vision detail level for images */
267
- imageDetail?: "auto" | "low" | "high";
268
- }
269
- /**
270
- * Anthropic provider configuration
271
- */
272
- interface AnthropicProviderConfig extends BaseProviderConfig {
273
- /** Extended thinking budget in tokens (minimum 1024) */
274
- thinkingBudget?: number;
275
- /** Enable prompt caching */
276
- cacheControl?: boolean;
277
- }
278
- /**
279
- * Google provider configuration
280
- */
281
- interface GoogleProviderConfig extends BaseProviderConfig {
282
- /** Safety settings */
283
- safetySettings?: GoogleSafetySetting[];
284
- /** Grounding configuration (for web search) */
285
- groundingConfig?: GoogleGroundingConfig;
286
- }
287
- /**
288
- * Google safety setting
289
- */
290
- interface GoogleSafetySetting {
291
- category: "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
292
- threshold: "BLOCK_NONE" | "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_HIGH_AND_ABOVE";
293
- }
294
- /**
295
- * Google grounding configuration
296
- */
297
- interface GoogleGroundingConfig {
298
- /** Enable Google Search grounding */
299
- googleSearchRetrieval?: boolean;
300
- }
301
- /**
302
- * xAI provider configuration
303
- */
304
- interface XAIProviderConfig extends BaseProviderConfig {
305
- }
306
- /**
307
- * Azure OpenAI provider configuration
308
- */
309
- interface AzureProviderConfig extends BaseProviderConfig {
310
- /** Azure resource name */
311
- resourceName: string;
312
- /** Deployment name */
313
- deploymentName: string;
314
- /** API version (default: 2024-02-15-preview) */
315
- apiVersion?: string;
316
- }
317
- /**
318
- * Ollama provider configuration
319
- */
320
- interface OllamaProviderConfig extends BaseProviderConfig {
321
- }
322
-
323
- export type { AIProvider as A, BaseProviderConfig as B, GoogleProviderConfig as G, OpenAIProviderConfig as O, ProviderCapabilities as P, XAIProviderConfig as X, AnthropicProviderConfig as a, AzureProviderConfig as b, OllamaProviderConfig as c, ProviderFormatter as d, AnthropicTool as e, AnthropicToolUse as f, AnthropicToolResult as g, OpenAITool as h, OpenAIToolCall as i, OpenAIToolResult as j, GeminiFunctionDeclaration as k, GeminiFunctionCall as l, GeminiFunctionResponse as m };
@@ -1,323 +0,0 @@
1
- import { L as LLMAdapter, d as ToolDefinition, W as UnifiedToolCall, X as UnifiedToolResult } from './base-DdxolpKP.js';
2
-
3
- /**
4
- * Provider Types
5
- *
6
- * Defines interfaces for:
7
- * 1. Provider Formatters (for tool transformations in agent loop)
8
- * 2. Multi-provider architecture (AIProvider, capabilities, configs)
9
- */
10
-
11
- /**
12
- * Provider formatter interface
13
- *
14
- * Each provider implements this interface to handle:
15
- * - Tool definition transformation
16
- * - Tool call parsing from responses
17
- * - Tool result formatting
18
- * - Stop reason detection
19
- */
20
- interface ProviderFormatter {
21
- /**
22
- * Transform unified tool definitions to provider format
23
- */
24
- transformTools(tools: ToolDefinition[]): unknown[];
25
- /**
26
- * Parse tool calls from provider response
27
- */
28
- parseToolCalls(response: unknown): UnifiedToolCall[];
29
- /**
30
- * Format tool results for provider
31
- */
32
- formatToolResults(results: UnifiedToolResult[]): unknown[];
33
- /**
34
- * Check if response indicates tool use is requested
35
- */
36
- isToolUseStop(response: unknown): boolean;
37
- /**
38
- * Check if response indicates end of turn
39
- */
40
- isEndTurnStop(response: unknown): boolean;
41
- /**
42
- * Get stop reason string from response
43
- */
44
- getStopReason(response: unknown): string;
45
- /**
46
- * Extract text content from response
47
- */
48
- extractTextContent(response: unknown): string;
49
- /**
50
- * Build assistant message with tool calls for conversation history
51
- */
52
- buildAssistantToolMessage(toolCalls: UnifiedToolCall[], textContent?: string): unknown;
53
- /**
54
- * Build user message with tool results for conversation history
55
- */
56
- buildToolResultMessage(results: UnifiedToolResult[]): unknown;
57
- }
58
- /**
59
- * Anthropic tool definition format
60
- */
61
- interface AnthropicTool {
62
- name: string;
63
- description: string;
64
- input_schema: {
65
- type: "object";
66
- properties: Record<string, unknown>;
67
- required?: string[];
68
- };
69
- }
70
- /**
71
- * Anthropic tool_use block from response
72
- */
73
- interface AnthropicToolUse {
74
- type: "tool_use";
75
- id: string;
76
- name: string;
77
- input: Record<string, unknown>;
78
- }
79
- /**
80
- * Anthropic tool_result block
81
- */
82
- interface AnthropicToolResult {
83
- type: "tool_result";
84
- tool_use_id: string;
85
- content: string;
86
- }
87
- /**
88
- * OpenAI tool definition format
89
- */
90
- interface OpenAITool {
91
- type: "function";
92
- function: {
93
- name: string;
94
- description: string;
95
- parameters: {
96
- type: "object";
97
- properties: Record<string, unknown>;
98
- required?: string[];
99
- };
100
- };
101
- }
102
- /**
103
- * OpenAI tool call from response
104
- */
105
- interface OpenAIToolCall {
106
- id: string;
107
- type: "function";
108
- function: {
109
- name: string;
110
- arguments: string;
111
- };
112
- }
113
- /**
114
- * OpenAI tool result message
115
- */
116
- interface OpenAIToolResult {
117
- role: "tool";
118
- tool_call_id: string;
119
- content: string;
120
- }
121
- /**
122
- * Google Gemini function declaration
123
- */
124
- interface GeminiFunctionDeclaration {
125
- name: string;
126
- description: string;
127
- parameters?: {
128
- type: "object";
129
- properties: Record<string, unknown>;
130
- required?: string[];
131
- };
132
- }
133
- /**
134
- * Gemini function call from response
135
- */
136
- interface GeminiFunctionCall {
137
- name: string;
138
- args: Record<string, unknown>;
139
- }
140
- /**
141
- * Gemini function response
142
- */
143
- interface GeminiFunctionResponse {
144
- name: string;
145
- response: Record<string, unknown>;
146
- }
147
- /**
148
- * Capabilities of a model for UI feature flags
149
- * UI components can use this to enable/disable features
150
- */
151
- interface ProviderCapabilities {
152
- /** Supports image inputs */
153
- supportsVision: boolean;
154
- /** Supports tool/function calling */
155
- supportsTools: boolean;
156
- /** Supports extended thinking (Claude, DeepSeek) */
157
- supportsThinking: boolean;
158
- /** Supports streaming responses */
159
- supportsStreaming: boolean;
160
- /** Supports PDF document inputs */
161
- supportsPDF: boolean;
162
- /** Supports audio inputs */
163
- supportsAudio: boolean;
164
- /** Supports video inputs */
165
- supportsVideo: boolean;
166
- /** Maximum context tokens */
167
- maxTokens: number;
168
- /** Supported image MIME types */
169
- supportedImageTypes: string[];
170
- /** Supported audio MIME types */
171
- supportedAudioTypes?: string[];
172
- /** Supported video MIME types */
173
- supportedVideoTypes?: string[];
174
- /** Supports JSON mode / structured output */
175
- supportsJsonMode?: boolean;
176
- /** Supports system messages */
177
- supportsSystemMessages?: boolean;
178
- }
179
- /**
180
- * AI Provider interface (object form)
181
- *
182
- * Wraps existing LLMAdapter with additional metadata:
183
- * - Supported models list
184
- * - Per-model capabilities
185
- * - Provider name
186
- */
187
- interface AIProviderObject {
188
- /** Provider name (e.g., 'openai', 'anthropic') */
189
- readonly name: string;
190
- /** List of supported model IDs */
191
- readonly supportedModels: string[];
192
- /**
193
- * Get a language model adapter for the given model ID
194
- * Returns the existing LLMAdapter interface - no breaking changes
195
- */
196
- languageModel(modelId: string): LLMAdapter;
197
- /**
198
- * Get capabilities for a specific model
199
- * UI components use this to enable/disable features
200
- */
201
- getCapabilities(modelId: string): ProviderCapabilities;
202
- /**
203
- * Optional: Get an embedding model (future expansion)
204
- */
205
- embeddingModel?(modelId: string): EmbeddingModel;
206
- }
207
- /**
208
- * Callable AI Provider (Vercel AI SDK style)
209
- *
210
- * A function that returns a LanguageModel when called with a model ID,
211
- * but also has properties for provider metadata and methods.
212
- *
213
- * @example
214
- * ```typescript
215
- * const openai = createOpenAI({ apiKey: '...' });
216
- *
217
- * // Callable - returns LanguageModel directly (Vercel AI SDK style)
218
- * const model = openai('gpt-4o');
219
- *
220
- * // Also supports method calls (backward compatible)
221
- * const model2 = openai.languageModel('gpt-4o');
222
- *
223
- * // Check capabilities
224
- * const caps = openai.getCapabilities('gpt-4o');
225
- * if (caps.supportsVision) {
226
- * // Show image upload button
227
- * }
228
- * ```
229
- */
230
- interface AIProvider extends AIProviderObject {
231
- /**
232
- * Call the provider directly with a model ID to get a LanguageModel
233
- * This is the Vercel AI SDK style pattern
234
- */
235
- (modelId: string): LLMAdapter;
236
- }
237
- /**
238
- * Embedding model interface (for future expansion)
239
- */
240
- interface EmbeddingModel {
241
- readonly provider: string;
242
- readonly modelId: string;
243
- embed(texts: string[]): Promise<number[][]>;
244
- }
245
- /**
246
- * Base provider configuration
247
- */
248
- interface BaseProviderConfig {
249
- /** API key (falls back to environment variable) */
250
- apiKey?: string;
251
- /** Custom base URL */
252
- baseUrl?: string;
253
- /** Request timeout in milliseconds */
254
- timeout?: number;
255
- /** Custom headers to include */
256
- headers?: Record<string, string>;
257
- }
258
- /**
259
- * OpenAI provider configuration
260
- */
261
- interface OpenAIProviderConfig extends BaseProviderConfig {
262
- /** OpenAI organization ID */
263
- organization?: string;
264
- /** OpenAI project ID */
265
- project?: string;
266
- /** Vision detail level for images */
267
- imageDetail?: "auto" | "low" | "high";
268
- }
269
- /**
270
- * Anthropic provider configuration
271
- */
272
- interface AnthropicProviderConfig extends BaseProviderConfig {
273
- /** Extended thinking budget in tokens (minimum 1024) */
274
- thinkingBudget?: number;
275
- /** Enable prompt caching */
276
- cacheControl?: boolean;
277
- }
278
- /**
279
- * Google provider configuration
280
- */
281
- interface GoogleProviderConfig extends BaseProviderConfig {
282
- /** Safety settings */
283
- safetySettings?: GoogleSafetySetting[];
284
- /** Grounding configuration (for web search) */
285
- groundingConfig?: GoogleGroundingConfig;
286
- }
287
- /**
288
- * Google safety setting
289
- */
290
- interface GoogleSafetySetting {
291
- category: "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
292
- threshold: "BLOCK_NONE" | "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_HIGH_AND_ABOVE";
293
- }
294
- /**
295
- * Google grounding configuration
296
- */
297
- interface GoogleGroundingConfig {
298
- /** Enable Google Search grounding */
299
- googleSearchRetrieval?: boolean;
300
- }
301
- /**
302
- * xAI provider configuration
303
- */
304
- interface XAIProviderConfig extends BaseProviderConfig {
305
- }
306
- /**
307
- * Azure OpenAI provider configuration
308
- */
309
- interface AzureProviderConfig extends BaseProviderConfig {
310
- /** Azure resource name */
311
- resourceName: string;
312
- /** Deployment name */
313
- deploymentName: string;
314
- /** API version (default: 2024-02-15-preview) */
315
- apiVersion?: string;
316
- }
317
- /**
318
- * Ollama provider configuration
319
- */
320
- interface OllamaProviderConfig extends BaseProviderConfig {
321
- }
322
-
323
- export type { AIProvider as A, BaseProviderConfig as B, GoogleProviderConfig as G, OpenAIProviderConfig as O, ProviderCapabilities as P, XAIProviderConfig as X, AnthropicProviderConfig as a, AzureProviderConfig as b, OllamaProviderConfig as c, ProviderFormatter as d, AnthropicTool as e, AnthropicToolUse as f, AnthropicToolResult as g, OpenAITool as h, OpenAIToolCall as i, OpenAIToolResult as j, GeminiFunctionDeclaration as k, GeminiFunctionCall as l, GeminiFunctionResponse as m };