@nuvin/agent-core 0.0.0-rc.2 → 0.0.0-rc.3

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.
@@ -1,344 +1,646 @@
1
- import { P as ProviderSessionResolver, p as ResolvedProviderSession, q as ProviderRequestMutator, i as ModelRequest, r as PreparedRequest, j as ChatRequest, s as ProviderCredential, t as EngineChatModel, u as ReasoningConfig, v as ChatResponseChunk, l as ChatResponse, w as ModelExecutionOptions, B as BaseChatModelOptions, x as ModelInfo } from '../types-QPBW5jHO.js';
2
- export { y as ProviderCredentialKind, z as ProviderEndpoints } from '../types-QPBW5jHO.js';
3
- import { t as toOpenAiResponsesRequest } from '../provider-adapters-Cb5hUJoD.js';
1
+ // Generated by dts-bundle-generator v9.5.1
4
2
 
5
- interface PrepareProviderRequestOptions {
6
- sessionManager?: ProviderSessionManager;
7
- requestMutators?: ProviderRequestMutator[];
8
- signal?: AbortSignal;
9
- }
10
- declare class ProviderSessionManager {
11
- private readonly resolver;
12
- private cached?;
13
- constructor(resolver: ProviderSessionResolver);
14
- resolve(signal?: AbortSignal): Promise<ResolvedProviderSession>;
15
- invalidate(): void;
16
- }
17
- declare function prepareProviderRequest(request: ModelRequest, options?: PrepareProviderRequestOptions): Promise<PreparedRequest>;
18
-
19
- type RoutedModelMode = "complete" | "stream";
20
- interface ModelSurfaceRouter {
21
- selectSurface(request: ChatRequest, options: {
22
- mode: RoutedModelMode;
23
- }): Promise<string> | string;
24
- }
25
- declare class StaticModelSurfaceRouter implements ModelSurfaceRouter {
26
- private readonly completeSurface;
27
- private readonly streamSurface;
28
- constructor(options: {
29
- complete: string;
30
- stream: string;
31
- });
32
- selectSurface(_request: ChatRequest, options: {
33
- mode: RoutedModelMode;
34
- }): string;
3
+ export type JsonPrimitive = boolean | number | string | null;
4
+ export interface JsonObject {
5
+ [key: string]: JsonValue;
35
6
  }
36
-
37
- interface ModelWebSocket {
38
- readonly readyState: number;
39
- addEventListener(type: "close" | "error" | "message" | "open", listener: EventListenerOrEventListenerObject): void;
40
- close(code?: number, reason?: string): void;
41
- removeEventListener(type: "close" | "error" | "message" | "open", listener: EventListenerOrEventListenerObject): void;
42
- send(data: string): void;
43
- }
44
- type WebSocketFactory = (options: {
45
- headers: Record<string, string>;
46
- url: string;
7
+ export type JsonValue = JsonObject | JsonPrimitive | JsonValue[];
8
+ export interface JsonSchemaString {
9
+ type: "string";
10
+ }
11
+ export interface JsonSchemaNumber {
12
+ type: "number";
13
+ }
14
+ export interface JsonSchemaBoolean {
15
+ type: "boolean";
16
+ }
17
+ export interface JsonSchemaArray<TItem extends JsonSchema = JsonSchema> {
18
+ type: "array";
19
+ items: TItem;
20
+ }
21
+ export interface JsonSchemaObject<TProperties extends Record<string, JsonSchema> = Record<string, JsonSchema>, TRequired extends readonly string[] | undefined = readonly string[] | undefined> {
22
+ type: "object";
23
+ properties: TProperties;
24
+ required?: TRequired;
25
+ }
26
+ export type JsonSchema = JsonSchemaArray | JsonSchemaBoolean | JsonSchemaNumber | JsonSchemaObject | JsonSchemaString;
27
+ export interface TextBlock {
28
+ type: "text";
29
+ text: string;
30
+ }
31
+ export type ImageMediaType = "image/gif" | "image/jpeg" | "image/png" | "image/webp";
32
+ export interface ImageBlock {
33
+ type: "image";
34
+ source: {
35
+ type: "base64";
36
+ media_type: ImageMediaType;
37
+ data: string;
38
+ };
39
+ }
40
+ export type ToolResultContentBlock = ImageBlock | TextBlock;
41
+ export type ToolResultContent = string | ToolResultContentBlock[];
42
+ export interface AnthropicThinkingBlock {
43
+ type: "anthropic_thinking";
44
+ thinking: string;
45
+ signature: string;
46
+ }
47
+ export interface AnthropicRedactedThinkingBlock {
48
+ type: "anthropic_redacted_thinking";
49
+ data: string;
50
+ }
51
+ export interface OpenAiReasoningSummaryText {
52
+ type: "summary_text";
53
+ text: string;
54
+ }
55
+ export interface OpenAiReasoningBlock {
56
+ type: "openai_reasoning";
57
+ encryptedContent?: string;
58
+ id?: string;
59
+ summary: OpenAiReasoningSummaryText[];
60
+ text?: string;
61
+ }
62
+ export interface ToolUseBlock {
63
+ type: "tool_use";
64
+ id: string;
65
+ name: string;
66
+ input: JsonValue;
67
+ }
68
+ export interface ToolResultBlock {
69
+ type: "tool_result";
70
+ tool_use_id: string;
71
+ content: ToolResultContent;
72
+ is_error: boolean;
73
+ }
74
+ export interface AnthropicThinkingWireBlock {
75
+ type: "thinking";
76
+ thinking: string;
77
+ signature: string;
78
+ }
79
+ export interface AnthropicRedactedThinkingWireBlock {
80
+ type: "redacted_thinking";
81
+ data: string;
82
+ }
83
+ export type AnthropicAssistantContentBlock = AnthropicRedactedThinkingWireBlock | AnthropicThinkingWireBlock | TextBlock | ToolUseBlock;
84
+ export type ReasoningVisibility = "continuity-only" | "user-visible";
85
+ export type AutoReasoningEffort = "low" | "medium" | "high";
86
+ export interface AutoReasoningConfig {
87
+ effort: AutoReasoningEffort;
88
+ }
89
+ export type AnthropicThinkingDisplay = "omitted" | "summarized";
90
+ export type AnthropicThinkingEffort = "low" | "medium" | "high";
91
+ export interface AnthropicEnabledThinkingConfig {
92
+ type: "enabled";
93
+ budgetTokens: number;
94
+ display?: AnthropicThinkingDisplay;
95
+ interleaved?: boolean;
96
+ }
97
+ export interface AnthropicAdaptiveThinkingConfig {
98
+ type: "adaptive";
99
+ display?: AnthropicThinkingDisplay;
100
+ effort?: AnthropicThinkingEffort;
101
+ interleaved?: boolean;
102
+ }
103
+ export interface AnthropicDisabledThinkingConfig {
104
+ type: "disabled";
105
+ }
106
+ export type AnthropicThinkingConfig = AnthropicAdaptiveThinkingConfig | AnthropicDisabledThinkingConfig | AnthropicEnabledThinkingConfig;
107
+ export type OpenAiReasoningEffort = "high" | "low" | "medium" | "minimal" | "none" | "xhigh";
108
+ export type OpenAiReasoningSummary = "auto" | "concise" | "detailed";
109
+ export interface OpenAiReasoningConfig {
110
+ effort?: OpenAiReasoningEffort;
111
+ includeEncryptedContent?: boolean;
112
+ summary?: OpenAiReasoningSummary;
113
+ }
114
+ export interface ReasoningConfig {
115
+ auto?: AutoReasoningConfig;
116
+ anthropic?: AnthropicThinkingConfig;
117
+ openai?: OpenAiReasoningConfig;
118
+ visibility?: ReasoningVisibility;
119
+ }
120
+ export interface MessageProviderState {
121
+ anthropicAssistantContent?: AnthropicAssistantContentBlock[];
122
+ openaiResponsesOutput?: OpenAiResponsesOutputItem[];
123
+ openaiResponsesResponseId?: string;
124
+ }
125
+ export type AssistantContentBlock = AnthropicRedactedThinkingBlock | AnthropicThinkingBlock | OpenAiReasoningBlock | TextBlock | ToolUseBlock;
126
+ export type ContentBlock = AssistantContentBlock | ToolResultBlock;
127
+ export type MessageRole = "assistant" | "user";
128
+ export interface Message {
129
+ id?: string;
130
+ role: MessageRole;
131
+ content: ContentBlock[];
132
+ providerState?: MessageProviderState;
133
+ }
134
+ export interface ToolSchema {
135
+ name: string;
136
+ description: string;
137
+ input_schema: JsonSchemaObject;
138
+ }
139
+ export interface ModelRequest {
140
+ model: string;
141
+ max_tokens: number;
142
+ reasoning?: ReasoningConfig;
143
+ system: TextBlock[];
144
+ messages: Message[];
145
+ tools: ToolSchema[];
146
+ metadata: {
147
+ session_id: string;
148
+ turn_id: string;
149
+ };
150
+ }
151
+ export interface ChatRequest {
152
+ model: string;
153
+ maxTokens: number;
154
+ reasoning?: ReasoningConfig;
155
+ system: TextBlock[];
156
+ messages: Message[];
157
+ tools: ToolSchema[];
158
+ metadata: {
159
+ sessionId: string;
160
+ turnId: string;
161
+ };
162
+ }
163
+ export interface ChatResponse {
164
+ id: string;
165
+ content: AssistantContentBlock[];
166
+ stopReason: "end_turn" | "tool_use";
167
+ usage: {
168
+ inputTokens: number;
169
+ outputTokens: number;
170
+ reasoningTokens?: number;
171
+ };
172
+ providerState?: MessageProviderState;
173
+ }
174
+ export interface ChatResponseChunk {
175
+ type: "anthropic_signature_delta" | "anthropic_thinking_delta" | "content_delta" | "done" | "openai_reasoning_delta" | "openai_reasoning_summary_delta" | "tool_use_delta";
176
+ contentIndex?: number;
177
+ delta?: string;
178
+ index?: number;
179
+ itemId?: string;
180
+ outputIndex?: number;
181
+ signature?: string;
182
+ summaryIndex?: number;
183
+ text?: string;
184
+ thinking?: string;
185
+ inputDelta?: string;
186
+ name?: string;
187
+ id?: string;
188
+ response?: ChatResponse;
189
+ }
190
+ export interface ModelLimits {
191
+ contextWindow?: number;
192
+ maxOutput?: number;
193
+ }
194
+ export interface ModelInfo {
195
+ id: string;
196
+ name: string;
197
+ limits?: ModelLimits;
198
+ supportedEndpoints?: string[];
199
+ }
200
+ export type ProviderCredentialKind = "api-key" | "oauth-token" | "session-token";
201
+ export interface ProviderCredential {
202
+ kind: ProviderCredentialKind;
203
+ value: string;
204
+ }
205
+ export interface ProviderEndpoints {
206
+ api?: string;
207
+ originTracker?: string;
208
+ proxy?: string;
209
+ telemetry?: string;
210
+ }
211
+ export interface ResolvedProviderSession {
212
+ credential: ProviderCredential;
213
+ endpoints?: ProviderEndpoints;
214
+ metadata?: Record<string, string>;
215
+ }
216
+ export interface ProviderSessionResolver {
217
+ resolve(signal?: AbortSignal): Promise<ResolvedProviderSession>;
218
+ }
219
+ export interface PreparedRequest {
220
+ request: ModelRequest;
221
+ session?: ResolvedProviderSession;
222
+ }
223
+ export type ProviderRequestMutator = (preparedRequest: PreparedRequest) => PreparedRequest | Promise<PreparedRequest>;
224
+ export interface ModelExecutionOptions {
225
+ signal?: AbortSignal;
226
+ }
227
+ export interface EngineChatModel {
228
+ model: string;
229
+ maxTokens?: number;
230
+ complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
231
+ stream?(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
232
+ getModels?(signal?: AbortSignal): Promise<ModelInfo[]>;
233
+ }
234
+ export interface BaseChatModelOptions {
235
+ model: string;
236
+ maxTokens?: number;
237
+ reasoning?: ReasoningConfig;
238
+ providerSessionResolver?: ProviderSessionResolver;
239
+ requestMutators?: ProviderRequestMutator[];
240
+ }
241
+ export interface OpenAiInputText {
242
+ type: "input_text";
243
+ text: string;
244
+ }
245
+ export interface OpenAiInputImage {
246
+ type: "input_image";
247
+ image_url: string;
248
+ detail?: string;
249
+ }
250
+ export interface OpenAiInputMessage {
251
+ type: "message";
252
+ role: MessageRole;
253
+ content: Array<OpenAiInputImage | OpenAiInputText>;
254
+ }
255
+ export interface OpenAiFunctionCall {
256
+ type: "function_call";
257
+ call_id: string;
258
+ name: string;
259
+ arguments: string;
260
+ }
261
+ export interface OpenAiFunctionCallOutput {
262
+ type: "function_call_output";
263
+ call_id: string;
264
+ output: string;
265
+ }
266
+ export interface OpenAiOutputTextPart {
267
+ type: "output_text";
268
+ text: string;
269
+ }
270
+ export interface OpenAiRefusalPart {
271
+ type: "refusal";
272
+ refusal: string;
273
+ }
274
+ export interface OpenAiOutputMessage {
275
+ type: "message";
276
+ content?: Array<OpenAiOutputTextPart | OpenAiRefusalPart>;
277
+ role?: string;
278
+ status?: string;
279
+ }
280
+ export interface OpenAiReasoningOutputItem {
281
+ type: "reasoning";
282
+ content?: Array<{
283
+ text?: string;
284
+ type?: string;
285
+ }>;
286
+ encrypted_content?: string;
287
+ id?: string;
288
+ status?: string;
289
+ summary?: OpenAiReasoningSummaryText[];
290
+ text?: string;
291
+ }
292
+ export type OpenAiResponsesOutputItem = JsonObject | OpenAiFunctionCall | OpenAiOutputMessage | OpenAiReasoningOutputItem;
293
+ export interface OpenAiResponsesReasoningParam {
294
+ effort?: OpenAiReasoningEffort;
295
+ generate_summary?: OpenAiReasoningSummary;
296
+ summary?: OpenAiReasoningSummary;
297
+ }
298
+ export interface OpenAiFunctionTool {
299
+ type: "function";
300
+ name: string;
301
+ description: string;
302
+ parameters: JsonSchemaObject;
303
+ }
304
+ export interface OpenAiResponsesRequest {
305
+ include?: string[];
306
+ model: string;
307
+ instructions: string;
308
+ input: Array<OpenAiFunctionCall | OpenAiFunctionCallOutput | OpenAiInputMessage | OpenAiResponsesOutputItem>;
309
+ max_output_tokens?: number;
310
+ reasoning?: OpenAiResponsesReasoningParam;
311
+ tools: OpenAiFunctionTool[];
312
+ }
313
+ export interface PrepareProviderRequestOptions {
314
+ sessionManager?: ProviderSessionManager;
315
+ requestMutators?: ProviderRequestMutator[];
316
+ signal?: AbortSignal;
317
+ }
318
+ export declare class ProviderSessionManager {
319
+ private readonly resolver;
320
+ private cached?;
321
+ constructor(resolver: ProviderSessionResolver);
322
+ resolve(signal?: AbortSignal): Promise<ResolvedProviderSession>;
323
+ invalidate(): void;
324
+ }
325
+ export declare function prepareProviderRequest(request: ModelRequest, options?: PrepareProviderRequestOptions): Promise<PreparedRequest>;
326
+ export type RoutedModelMode = "complete" | "stream";
327
+ export interface ModelSurfaceRouter {
328
+ selectSurface(request: ChatRequest, options: {
329
+ mode: RoutedModelMode;
330
+ }): Promise<string> | string;
331
+ }
332
+ export declare class StaticModelSurfaceRouter implements ModelSurfaceRouter {
333
+ private readonly completeSurface;
334
+ private readonly streamSurface;
335
+ constructor(options: {
336
+ complete: string;
337
+ stream: string;
338
+ });
339
+ selectSurface(_request: ChatRequest, options: {
340
+ mode: RoutedModelMode;
341
+ }): string;
342
+ }
343
+ export interface ModelWebSocket {
344
+ readonly readyState: number;
345
+ addEventListener(type: "close" | "error" | "message" | "open", listener: EventListenerOrEventListenerObject): void;
346
+ close(code?: number, reason?: string): void;
347
+ removeEventListener(type: "close" | "error" | "message" | "open", listener: EventListenerOrEventListenerObject): void;
348
+ send(data: string): void;
349
+ }
350
+ export type WebSocketFactory = (options: {
351
+ headers: Record<string, string>;
352
+ url: string;
47
353
  }) => ModelWebSocket;
48
- declare function createDefaultWebSocketFactory(): WebSocketFactory;
49
- declare function iterateSseEvents(response: Response, signal?: AbortSignal): AsyncGenerator<string>;
50
- declare function waitForWebSocketOpen(socket: ModelWebSocket, signal?: AbortSignal): Promise<void>;
51
- declare function iterateWebSocketMessages(socket: ModelWebSocket, signal?: AbortSignal): AsyncIterable<Record<string, unknown>>;
52
- declare function toWebSocketUrl(baseUrl: string, path: string): string;
53
-
54
- interface ProviderHeaderContext {
55
- request?: ChatRequest;
56
- body?: unknown;
57
- credential: ProviderCredential;
58
- session?: ResolvedProviderSession;
59
- stream: boolean;
60
- }
61
- interface ProviderAdapter {
62
- createHeaders(context: ProviderHeaderContext, options: {
63
- accept: string;
64
- includeContentType?: boolean;
65
- }): Headers | Promise<Headers>;
66
- createMissingCredentialError(): Error;
67
- mapApiError(error: Error): Error;
68
- resolveBaseUrl(defaultBaseUrl: string, session: ResolvedProviderSession | undefined): string;
69
- resolveCredential(apiKey: string | undefined, session: ResolvedProviderSession | undefined): ProviderCredential | undefined;
70
- toApiError(response: Response): Promise<Error>;
71
- }
72
- declare function trimTrailingSlashes(value: string): string;
73
- declare function resolveApiCredential(apiKey: string | undefined, session: ResolvedProviderSession | undefined): ProviderCredential | undefined;
74
- declare function resolveSessionBaseUrl(defaultBaseUrl: string, session: ResolvedProviderSession | undefined): string;
75
-
76
- interface RoutedModelStreamParser {
77
- consumeSseEvent?(rawEvent: string): ChatResponseChunk[];
78
- consumeWebSocketEvent?(event: Record<string, unknown>): ChatResponseChunk[];
79
- finish(): ChatResponse;
80
- isDone?(): boolean;
81
- }
82
- interface RoutedModelSurfaceRequest {
83
- accept?: string;
84
- body?: unknown;
85
- headers?: Record<string, string>;
86
- initialEvent?: unknown;
87
- path?: string;
88
- url?: string;
89
- }
90
- interface RoutedModelSurface {
91
- id: string;
92
- transport: "http-json" | "http-sse" | "websocket";
93
- createRequest(request: ChatRequest): RoutedModelSurfaceRequest;
94
- createStreamParser?(request: ChatRequest): RoutedModelStreamParser;
95
- parseResponse?(payload: unknown, request: ChatRequest): ChatResponse;
96
- }
97
- interface RoutedModelOptions {
98
- apiKey?: string;
99
- baseUrl: string;
100
- fetch?: typeof globalThis.fetch;
101
- model: string;
102
- maxTokens?: number;
103
- reasoning?: ReasoningConfig;
104
- providerAdapter: ProviderAdapter;
105
- providerSessionResolver?: ProviderSessionResolver;
106
- requestMutators?: ProviderRequestMutator[];
107
- router: ModelSurfaceRouter;
108
- sessionManager?: ProviderSessionManager;
109
- surfaces: RoutedModelSurface[];
110
- webSocketFactory?: WebSocketFactory;
111
- }
112
- declare class RoutedModel implements EngineChatModel {
113
- readonly model: string;
114
- readonly maxTokens: number;
115
- protected readonly reasoning?: ReasoningConfig;
116
- protected readonly apiKey?: string;
117
- protected readonly baseUrl: string;
118
- protected readonly fetchImpl: typeof globalThis.fetch;
119
- protected readonly providerAdapter: ProviderAdapter;
120
- protected readonly requestMutators: ProviderRequestMutator[];
121
- protected readonly router: ModelSurfaceRouter;
122
- protected readonly sessionManager?: ProviderSessionManager;
123
- protected readonly webSocketFactory: WebSocketFactory;
124
- private readonly surfaces;
125
- constructor(options: RoutedModelOptions);
126
- complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
127
- stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
128
- protected completeViaRouter(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
129
- protected streamViaRouter(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
130
- protected completeViaSurface(request: ChatRequest, surfaceId: string, options?: ModelExecutionOptions): Promise<ChatResponse>;
131
- protected streamViaSurface(request: ChatRequest, surfaceId: string, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
132
- protected sendRawRequest(options: {
133
- accept?: string;
134
- body?: unknown;
135
- method: "GET" | "POST";
136
- path: string;
137
- signal?: AbortSignal;
138
- }): Promise<Response>;
139
- protected createMissingCredentialError(): Error;
140
- protected createHeaders(context: ProviderHeaderContext, options: {
141
- accept: string;
142
- includeContentType?: boolean;
143
- }): Promise<Headers>;
144
- protected mapApiError(error: Error): Error;
145
- protected toApiError(response: Response): Promise<Error>;
146
- private getSurface;
147
- private prepareChatRequest;
148
- protected applyModelDefaults(request: ChatRequest): ChatRequest;
149
- private sendHttpSurfaceRequest;
150
- private streamHttpSurface;
151
- private streamWebSocketSurface;
354
+ export declare function createDefaultWebSocketFactory(): WebSocketFactory;
355
+ export declare function iterateSseEvents(response: Response, signal?: AbortSignal): AsyncGenerator<string>;
356
+ export declare function waitForWebSocketOpen(socket: ModelWebSocket, signal?: AbortSignal): Promise<void>;
357
+ export declare function iterateWebSocketMessages(socket: ModelWebSocket, signal?: AbortSignal): AsyncIterable<Record<string, unknown>>;
358
+ export declare function toWebSocketUrl(baseUrl: string, path: string): string;
359
+ export interface ProviderHeaderContext {
360
+ request?: ChatRequest;
361
+ body?: unknown;
362
+ credential: ProviderCredential;
363
+ session?: ResolvedProviderSession;
364
+ stream: boolean;
152
365
  }
153
-
154
- interface AnthropicModelOptions extends Partial<BaseChatModelOptions> {
155
- apiKey?: string;
156
- baseUrl?: string;
157
- protocolVersion?: string;
158
- authScheme?: "bearer" | "x-api-key";
159
- fetch?: typeof globalThis.fetch;
160
- providerSessionResolver?: ProviderSessionResolver;
161
- requestMutators?: ProviderRequestMutator[];
162
- headerResolver?: AnthropicHeaderResolver;
163
- }
164
- interface AnthropicRequestHeadersContext {
165
- request?: ChatRequest;
166
- body: unknown;
167
- credential: ProviderCredential;
168
- session?: ResolvedProviderSession;
169
- stream: boolean;
170
- }
171
- type AnthropicHeaderResolver = (context: AnthropicRequestHeadersContext) => Promise<Record<string, string>> | Record<string, string>;
172
- declare class AnthropicModel extends RoutedModel {
173
- constructor(options?: AnthropicModelOptions);
174
- complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
175
- stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
366
+ export interface ProviderAdapter {
367
+ createHeaders(context: ProviderHeaderContext, options: {
368
+ accept: string;
369
+ includeContentType?: boolean;
370
+ }): Headers | Promise<Headers>;
371
+ createMissingCredentialError(): Error;
372
+ mapApiError(error: Error): Error;
373
+ resolveBaseUrl(defaultBaseUrl: string, session: ResolvedProviderSession | undefined): string;
374
+ resolveCredential(apiKey: string | undefined, session: ResolvedProviderSession | undefined): ProviderCredential | undefined;
375
+ toApiError(response: Response): Promise<Error>;
176
376
  }
177
-
178
- declare const ANTHROPIC_MESSAGES_SURFACE = "anthropic-messages";
179
- declare const ANTHROPIC_MESSAGES_STREAM_SURFACE = "anthropic-messages-stream";
180
- declare function createAnthropicSurfaces(): RoutedModelSurface[];
181
-
182
- declare const OPENAI_CHAT_COMPLETIONS_SURFACE = "openai-chat-completions";
183
- declare const OPENAI_CHAT_COMPLETIONS_STREAM_SURFACE = "openai-chat-completions-stream";
184
- declare const OPENAI_RESPONSES_SURFACE = "openai-responses";
185
- declare const OPENAI_RESPONSES_STREAM_SURFACE = "openai-responses-stream";
186
- declare const OPENAI_RESPONSES_WEBSOCKET_SURFACE = "openai-responses-ws";
187
- declare class OpenAiApiError extends Error {
188
- readonly status: number;
189
- readonly body: string;
190
- constructor(status: number, body: string, message: string);
191
- }
192
- declare class OpenAiResponsesStreamError extends Error {
193
- readonly code?: string;
194
- readonly status?: number;
195
- constructor(message: string, options?: {
196
- code?: string;
197
- status?: number;
198
- });
199
- }
200
- declare function createOpenAiResponsesWebSocketEvent(request: ChatRequest, options?: {
201
- input?: ReturnType<typeof toOpenAiResponsesRequest>["input"];
202
- previousResponseId?: string;
377
+ export declare function trimTrailingSlashes(value: string): string;
378
+ export declare function resolveApiCredential(apiKey: string | undefined, session: ResolvedProviderSession | undefined): ProviderCredential | undefined;
379
+ export declare function resolveSessionBaseUrl(defaultBaseUrl: string, session: ResolvedProviderSession | undefined): string;
380
+ export interface RoutedModelStreamParser {
381
+ consumeSseEvent?(rawEvent: string): ChatResponseChunk[];
382
+ consumeWebSocketEvent?(event: Record<string, unknown>): ChatResponseChunk[];
383
+ finish(): ChatResponse;
384
+ isDone?(): boolean;
385
+ }
386
+ export interface RoutedModelSurfaceRequest {
387
+ accept?: string;
388
+ body?: unknown;
389
+ headers?: Record<string, string>;
390
+ initialEvent?: unknown;
391
+ path?: string;
392
+ url?: string;
393
+ }
394
+ export interface RoutedModelSurface {
395
+ id: string;
396
+ transport: "http-json" | "http-sse" | "websocket";
397
+ createRequest(request: ChatRequest): RoutedModelSurfaceRequest;
398
+ createStreamParser?(request: ChatRequest): RoutedModelStreamParser;
399
+ parseResponse?(payload: unknown, request: ChatRequest): ChatResponse;
400
+ }
401
+ export interface RoutedModelOptions {
402
+ apiKey?: string;
403
+ baseUrl: string;
404
+ fetch?: typeof globalThis.fetch;
405
+ model: string;
406
+ maxTokens?: number;
407
+ reasoning?: ReasoningConfig;
408
+ providerAdapter: ProviderAdapter;
409
+ providerSessionResolver?: ProviderSessionResolver;
410
+ requestMutators?: ProviderRequestMutator[];
411
+ router: ModelSurfaceRouter;
412
+ sessionManager?: ProviderSessionManager;
413
+ surfaces: RoutedModelSurface[];
414
+ webSocketFactory?: WebSocketFactory;
415
+ }
416
+ export declare class RoutedModel implements EngineChatModel {
417
+ readonly model: string;
418
+ readonly maxTokens: number;
419
+ protected readonly reasoning?: ReasoningConfig;
420
+ protected readonly apiKey?: string;
421
+ protected readonly baseUrl: string;
422
+ protected readonly fetchImpl: typeof globalThis.fetch;
423
+ protected readonly providerAdapter: ProviderAdapter;
424
+ protected readonly requestMutators: ProviderRequestMutator[];
425
+ protected readonly router: ModelSurfaceRouter;
426
+ protected readonly sessionManager?: ProviderSessionManager;
427
+ protected readonly webSocketFactory: WebSocketFactory;
428
+ private readonly surfaces;
429
+ constructor(options: RoutedModelOptions);
430
+ complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
431
+ stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
432
+ protected completeViaRouter(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
433
+ protected streamViaRouter(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
434
+ protected completeViaSurface(request: ChatRequest, surfaceId: string, options?: ModelExecutionOptions): Promise<ChatResponse>;
435
+ protected streamViaSurface(request: ChatRequest, surfaceId: string, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
436
+ protected sendRawRequest(options: {
437
+ accept?: string;
438
+ body?: unknown;
439
+ method: "GET" | "POST";
440
+ path: string;
441
+ signal?: AbortSignal;
442
+ }): Promise<Response>;
443
+ protected createMissingCredentialError(): Error;
444
+ protected createHeaders(context: ProviderHeaderContext, options: {
445
+ accept: string;
446
+ includeContentType?: boolean;
447
+ }): Promise<Headers>;
448
+ protected mapApiError(error: Error): Error;
449
+ protected toApiError(response: Response): Promise<Error>;
450
+ private getSurface;
451
+ private prepareChatRequest;
452
+ protected applyModelDefaults(request: ChatRequest): ChatRequest;
453
+ private sendHttpSurfaceRequest;
454
+ private streamHttpSurface;
455
+ private streamWebSocketSurface;
456
+ }
457
+ export interface AnthropicModelOptions extends Partial<BaseChatModelOptions> {
458
+ apiKey?: string;
459
+ baseUrl?: string;
460
+ protocolVersion?: string;
461
+ authScheme?: "bearer" | "x-api-key";
462
+ fetch?: typeof globalThis.fetch;
463
+ providerSessionResolver?: ProviderSessionResolver;
464
+ requestMutators?: ProviderRequestMutator[];
465
+ headerResolver?: AnthropicHeaderResolver;
466
+ }
467
+ export interface AnthropicRequestHeadersContext {
468
+ request?: ChatRequest;
469
+ body: unknown;
470
+ credential: ProviderCredential;
471
+ session?: ResolvedProviderSession;
472
+ stream: boolean;
473
+ }
474
+ export type AnthropicHeaderResolver = (context: AnthropicRequestHeadersContext) => Promise<Record<string, string>> | Record<string, string>;
475
+ export declare class AnthropicModel extends RoutedModel {
476
+ constructor(options?: AnthropicModelOptions);
477
+ complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
478
+ stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
479
+ }
480
+ export declare const ANTHROPIC_MESSAGES_SURFACE = "anthropic-messages";
481
+ export declare const ANTHROPIC_MESSAGES_STREAM_SURFACE = "anthropic-messages-stream";
482
+ export declare function createAnthropicSurfaces(): RoutedModelSurface[];
483
+ declare function toOpenAiResponsesRequest(request: ChatRequest): OpenAiResponsesRequest;
484
+ export declare const OPENAI_CHAT_COMPLETIONS_SURFACE = "openai-chat-completions";
485
+ export declare const OPENAI_CHAT_COMPLETIONS_STREAM_SURFACE = "openai-chat-completions-stream";
486
+ export declare const OPENAI_RESPONSES_SURFACE = "openai-responses";
487
+ export declare const OPENAI_RESPONSES_STREAM_SURFACE = "openai-responses-stream";
488
+ export declare const OPENAI_RESPONSES_WEBSOCKET_SURFACE = "openai-responses-ws";
489
+ export declare class OpenAiApiError extends Error {
490
+ readonly status: number;
491
+ readonly body: string;
492
+ constructor(status: number, body: string, message: string);
493
+ }
494
+ export declare class OpenAiResponsesStreamError extends Error {
495
+ readonly code?: string;
496
+ readonly status?: number;
497
+ constructor(message: string, options?: {
498
+ code?: string;
499
+ status?: number;
500
+ });
501
+ }
502
+ export declare function createOpenAiResponsesWebSocketEvent(request: ChatRequest, options?: {
503
+ input?: ReturnType<typeof toOpenAiResponsesRequest>["input"];
504
+ previousResponseId?: string;
203
505
  }): Record<string, unknown>;
204
- declare function createOpenAiApiError(response: Response): Promise<OpenAiApiError>;
205
- declare function createOpenAiResponsesStreamParser(request: ChatRequest): RoutedModelStreamParser;
206
- declare function createOpenAiSurfaces(options?: {
207
- chatCompletionsPath?: string;
208
- responsesPath?: string;
506
+ export declare function createOpenAiApiError(response: Response): Promise<OpenAiApiError>;
507
+ export declare function createOpenAiResponsesStreamParser(request: ChatRequest): RoutedModelStreamParser;
508
+ export declare function createOpenAiSurfaces(options?: {
509
+ chatCompletionsPath?: string;
510
+ responsesPath?: string;
209
511
  }): RoutedModelSurface[];
210
-
211
- interface OpenAiRequestHeadersContext {
212
- request?: ChatRequest;
213
- body: unknown;
214
- credential: ProviderCredential;
215
- session?: ResolvedProviderSession;
216
- stream: boolean;
217
- }
218
- type OpenAiHeaderResolver = (context: OpenAiRequestHeadersContext) => Promise<Record<string, string>> | Record<string, string>;
219
- interface OpenAiModelOptions extends Partial<BaseChatModelOptions> {
220
- apiKey?: string;
221
- baseUrl?: string;
222
- chatCompletionsPath?: string;
223
- responsesPath?: string;
224
- fetch?: typeof globalThis.fetch;
225
- providerSessionResolver?: ProviderSessionResolver;
226
- requestMutators?: ProviderRequestMutator[];
227
- headerResolver?: OpenAiHeaderResolver;
228
- sessionManager?: ProviderSessionManager;
229
- webSocketFactory?: WebSocketFactory;
230
- }
231
- declare class OpenAiModel extends RoutedModel {
232
- private static readonly sharedResponsesSocketSessions;
233
- protected readonly chatCompletionsPath: string;
234
- protected readonly responsesPath: string;
235
- constructor(options?: OpenAiModelOptions);
236
- protected completeViaChatCompletionsSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
237
- protected completeViaResponsesSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
238
- protected completeViaResponsesWebSocketSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
239
- protected streamViaChatCompletionsSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
240
- protected streamViaResponsesSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
241
- protected streamViaResponsesWebSocketSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
242
- chatComplete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
243
- response(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
244
- responseSocket(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
245
- chatStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
246
- responseStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
247
- responseSocketStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
248
- complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
249
- stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
250
- private getResponsesSocketSessionState;
251
- private getResponsesSocketSessionKey;
252
- private acquireResponsesSocketLock;
253
- private prepareResponsesSocketRequest;
254
- private buildResponsesSocketEvent;
255
- private findResponsesSocketCheckpoint;
256
- private shouldRetryResponsesSocketRequest;
257
- private invalidateResponsesSocketSession;
258
- private getOrCreateResponsesSocket;
259
- private streamViaPersistentResponsesSocket;
260
- private streamViaResponsesSocketAttempt;
512
+ export interface OpenAiRequestHeadersContext {
513
+ request?: ChatRequest;
514
+ body: unknown;
515
+ credential: ProviderCredential;
516
+ session?: ResolvedProviderSession;
517
+ stream: boolean;
261
518
  }
262
-
263
- declare const AVAILABLE_CHAT_MODEL_SURFACES: readonly ["anthropic-messages", "openai-chat-completions", "openai-responses", "openai-responses-ws"];
264
- type ChatModelSurface = (typeof AVAILABLE_CHAT_MODEL_SURFACES)[number];
265
- type ChatModelAuthScheme = NonNullable<AnthropicModelOptions["authScheme"]>;
266
- interface ChatModelOptions extends Partial<BaseChatModelOptions> {
267
- apiKey?: string;
268
- baseUrl?: string;
269
- surface?: ChatModelSurface;
270
- authScheme?: ChatModelAuthScheme;
271
- fetch?: typeof globalThis.fetch;
272
- providerSessionResolver?: ProviderSessionResolver;
273
- requestMutators?: ProviderRequestMutator[];
274
- headerResolver?: OpenAiHeaderResolver;
275
- webSocketFactory?: WebSocketFactory;
276
- }
277
- declare class ChatModel implements EngineChatModel {
278
- readonly model: string;
279
- readonly maxTokens: number;
280
- readonly surface: ChatModelSurface;
281
- private readonly anthropicDelegate?;
282
- private readonly openAiDelegate?;
283
- constructor(options?: ChatModelOptions);
284
- private getAnthropicDelegate;
285
- private getOpenAiDelegate;
286
- complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
287
- stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
519
+ export type OpenAiHeaderResolver = (context: OpenAiRequestHeadersContext) => Promise<Record<string, string>> | Record<string, string>;
520
+ export interface OpenAiModelOptions extends Partial<BaseChatModelOptions> {
521
+ apiKey?: string;
522
+ baseUrl?: string;
523
+ chatCompletionsPath?: string;
524
+ responsesPath?: string;
525
+ fetch?: typeof globalThis.fetch;
526
+ providerSessionResolver?: ProviderSessionResolver;
527
+ requestMutators?: ProviderRequestMutator[];
528
+ headerResolver?: OpenAiHeaderResolver;
529
+ sessionManager?: ProviderSessionManager;
530
+ webSocketFactory?: WebSocketFactory;
288
531
  }
289
-
290
- type GitHubModelSurface = "auto" | "anthropic-messages" | "openai-chat-completions" | "openai-responses" | "openai-responses-ws";
291
- interface GitHubModelOptions extends Partial<BaseChatModelOptions> {
292
- apiKey?: string;
293
- accessToken?: string;
294
- baseUrl?: string;
295
- surface?: GitHubModelSurface;
296
- githubApiUrl?: string;
297
- fetch?: typeof globalThis.fetch;
298
- editorVersion?: string;
299
- editorPluginVersion?: string;
300
- tokenExchangeApiVersion?: string;
301
- providerSessionResolver?: ProviderSessionResolver;
302
- }
303
- declare class GitHubModel extends OpenAiModel {
304
- private readonly anthropicDelegate;
305
- private readonly modelEndpointCache;
306
- private readonly surface;
307
- constructor(options?: GitHubModelOptions);
308
- protected createMissingCredentialError(): Error;
309
- private usesResponsesApi;
310
- private shouldPreferResponsesApi;
311
- private markModelAsResponsesOnly;
312
- protected mapApiError(error: Error): Error;
313
- private completeViaConfiguredSurface;
314
- private streamViaConfiguredSurface;
315
- complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
316
- stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
317
- getModels(signal?: AbortSignal): Promise<ModelInfo[]>;
532
+ export declare class OpenAiModel extends RoutedModel {
533
+ private static readonly sharedResponsesSocketSessions;
534
+ protected readonly chatCompletionsPath: string;
535
+ protected readonly responsesPath: string;
536
+ constructor(options?: OpenAiModelOptions);
537
+ protected completeViaChatCompletionsSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
538
+ protected completeViaResponsesSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
539
+ protected completeViaResponsesWebSocketSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
540
+ protected streamViaChatCompletionsSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
541
+ protected streamViaResponsesSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
542
+ protected streamViaResponsesWebSocketSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
543
+ chatComplete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
544
+ response(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
545
+ responseSocket(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
546
+ chatStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
547
+ responseStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
548
+ responseSocketStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
549
+ complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
550
+ stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
551
+ private getResponsesSocketSessionState;
552
+ private getResponsesSocketSessionKey;
553
+ private acquireResponsesSocketLock;
554
+ private prepareResponsesSocketRequest;
555
+ private buildResponsesSocketEvent;
556
+ private findResponsesSocketCheckpoint;
557
+ private shouldRetryResponsesSocketRequest;
558
+ private invalidateResponsesSocketSession;
559
+ private getOrCreateResponsesSocket;
560
+ private streamViaPersistentResponsesSocket;
561
+ private streamViaResponsesSocketAttempt;
318
562
  }
319
-
320
- interface FetchJsonOptions {
321
- url: string;
322
- body: unknown;
323
- headers: Record<string, string>;
324
- fetch?: typeof globalThis.fetch;
325
- signal?: AbortSignal;
326
- }
327
- declare function fetchRawResponse(options: FetchJsonOptions): Promise<Response>;
328
- declare function fetchJsonResponse<T>(options: FetchJsonOptions): Promise<T>;
329
-
330
- interface MockModelOptions {
331
- model?: string;
332
- maxTokens?: number;
333
- reasoning?: ReasoningConfig;
334
- }
335
- declare class MockModel implements EngineChatModel {
336
- readonly model: string;
337
- readonly maxTokens: number;
338
- readonly requests: ChatRequest[];
339
- private readonly reasoning?;
340
- constructor(options?: MockModelOptions);
341
- complete(request: ChatRequest, _options?: ModelExecutionOptions): Promise<ChatResponse>;
563
+ export declare const AVAILABLE_CHAT_MODEL_SURFACES: readonly [
564
+ "anthropic-messages",
565
+ "openai-chat-completions",
566
+ "openai-responses",
567
+ "openai-responses-ws"
568
+ ];
569
+ export type ChatModelSurface = (typeof AVAILABLE_CHAT_MODEL_SURFACES)[number];
570
+ export type ChatModelAuthScheme = NonNullable<AnthropicModelOptions["authScheme"]>;
571
+ export interface ChatModelOptions extends Partial<BaseChatModelOptions> {
572
+ apiKey?: string;
573
+ baseUrl?: string;
574
+ surface?: ChatModelSurface;
575
+ authScheme?: ChatModelAuthScheme;
576
+ fetch?: typeof globalThis.fetch;
577
+ providerSessionResolver?: ProviderSessionResolver;
578
+ requestMutators?: ProviderRequestMutator[];
579
+ headerResolver?: OpenAiHeaderResolver;
580
+ webSocketFactory?: WebSocketFactory;
581
+ }
582
+ export declare class ChatModel implements EngineChatModel {
583
+ readonly model: string;
584
+ readonly maxTokens: number;
585
+ readonly surface: ChatModelSurface;
586
+ private readonly anthropicDelegate?;
587
+ private readonly openAiDelegate?;
588
+ constructor(options?: ChatModelOptions);
589
+ private getAnthropicDelegate;
590
+ private getOpenAiDelegate;
591
+ complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
592
+ stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
593
+ }
594
+ export type GitHubModelSurface = "auto" | "anthropic-messages" | "openai-chat-completions" | "openai-responses" | "openai-responses-ws";
595
+ export interface GitHubModelOptions extends Partial<BaseChatModelOptions> {
596
+ apiKey?: string;
597
+ accessToken?: string;
598
+ baseUrl?: string;
599
+ surface?: GitHubModelSurface;
600
+ githubApiUrl?: string;
601
+ fetch?: typeof globalThis.fetch;
602
+ editorVersion?: string;
603
+ editorPluginVersion?: string;
604
+ tokenExchangeApiVersion?: string;
605
+ providerSessionResolver?: ProviderSessionResolver;
606
+ }
607
+ export declare class GitHubModel extends OpenAiModel {
608
+ private readonly anthropicDelegate;
609
+ private readonly modelEndpointCache;
610
+ private readonly surface;
611
+ constructor(options?: GitHubModelOptions);
612
+ protected createMissingCredentialError(): Error;
613
+ private usesResponsesApi;
614
+ private shouldPreferResponsesApi;
615
+ private markModelAsResponsesOnly;
616
+ protected mapApiError(error: Error): Error;
617
+ private completeViaConfiguredSurface;
618
+ private streamViaConfiguredSurface;
619
+ complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
620
+ stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
621
+ getModels(signal?: AbortSignal): Promise<ModelInfo[]>;
622
+ }
623
+ export interface FetchJsonOptions {
624
+ url: string;
625
+ body: unknown;
626
+ headers: Record<string, string>;
627
+ fetch?: typeof globalThis.fetch;
628
+ signal?: AbortSignal;
629
+ }
630
+ export declare function fetchRawResponse(options: FetchJsonOptions): Promise<Response>;
631
+ export declare function fetchJsonResponse<T>(options: FetchJsonOptions): Promise<T>;
632
+ export interface MockModelOptions {
633
+ model?: string;
634
+ maxTokens?: number;
635
+ reasoning?: ReasoningConfig;
636
+ }
637
+ export declare class MockModel implements EngineChatModel {
638
+ readonly model: string;
639
+ readonly maxTokens: number;
640
+ readonly requests: ChatRequest[];
641
+ private readonly reasoning?;
642
+ constructor(options?: MockModelOptions);
643
+ complete(request: ChatRequest, _options?: ModelExecutionOptions): Promise<ChatResponse>;
342
644
  }
343
645
 
344
- export { ANTHROPIC_MESSAGES_STREAM_SURFACE, ANTHROPIC_MESSAGES_SURFACE, AVAILABLE_CHAT_MODEL_SURFACES, type AnthropicHeaderResolver, AnthropicModel, type AnthropicModelOptions, type AnthropicRequestHeadersContext, ChatModel, type ChatModelAuthScheme, type ChatModelOptions, type ChatModelSurface, type FetchJsonOptions, GitHubModel, type GitHubModelOptions, type GitHubModelSurface, MockModel, type MockModelOptions, type ModelSurfaceRouter, type ModelWebSocket, OPENAI_CHAT_COMPLETIONS_STREAM_SURFACE, OPENAI_CHAT_COMPLETIONS_SURFACE, OPENAI_RESPONSES_STREAM_SURFACE, OPENAI_RESPONSES_SURFACE, OPENAI_RESPONSES_WEBSOCKET_SURFACE, OpenAiApiError, type OpenAiHeaderResolver, OpenAiModel, type OpenAiModelOptions, type OpenAiRequestHeadersContext, OpenAiResponsesStreamError, type PrepareProviderRequestOptions, type ProviderAdapter, ProviderCredential, type ProviderHeaderContext, ProviderRequestMutator, ProviderSessionManager, ProviderSessionResolver, ResolvedProviderSession, RoutedModel, type RoutedModelMode, type RoutedModelOptions, type RoutedModelStreamParser, type RoutedModelSurface, type RoutedModelSurfaceRequest, StaticModelSurfaceRouter, type WebSocketFactory, createAnthropicSurfaces, createDefaultWebSocketFactory, createOpenAiApiError, createOpenAiResponsesStreamParser, createOpenAiResponsesWebSocketEvent, createOpenAiSurfaces, fetchJsonResponse, fetchRawResponse, iterateSseEvents, iterateWebSocketMessages, prepareProviderRequest, resolveApiCredential, resolveSessionBaseUrl, toWebSocketUrl, trimTrailingSlashes, waitForWebSocketOpen };
646
+ export {};