@providerprotocol/ai 0.0.11 → 0.0.12

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 (63) hide show
  1. package/dist/index.js +3 -3
  2. package/dist/index.js.map +1 -1
  3. package/package.json +1 -10
  4. package/src/anthropic/index.ts +0 -3
  5. package/src/core/image.ts +0 -188
  6. package/src/core/llm.ts +0 -650
  7. package/src/core/provider.ts +0 -92
  8. package/src/google/index.ts +0 -3
  9. package/src/http/errors.ts +0 -112
  10. package/src/http/fetch.ts +0 -210
  11. package/src/http/index.ts +0 -31
  12. package/src/http/keys.ts +0 -136
  13. package/src/http/retry.ts +0 -205
  14. package/src/http/sse.ts +0 -136
  15. package/src/index.ts +0 -32
  16. package/src/ollama/index.ts +0 -3
  17. package/src/openai/index.ts +0 -39
  18. package/src/openrouter/index.ts +0 -11
  19. package/src/providers/anthropic/index.ts +0 -17
  20. package/src/providers/anthropic/llm.ts +0 -196
  21. package/src/providers/anthropic/transform.ts +0 -434
  22. package/src/providers/anthropic/types.ts +0 -213
  23. package/src/providers/google/index.ts +0 -17
  24. package/src/providers/google/llm.ts +0 -203
  25. package/src/providers/google/transform.ts +0 -447
  26. package/src/providers/google/types.ts +0 -214
  27. package/src/providers/ollama/index.ts +0 -43
  28. package/src/providers/ollama/llm.ts +0 -272
  29. package/src/providers/ollama/transform.ts +0 -434
  30. package/src/providers/ollama/types.ts +0 -260
  31. package/src/providers/openai/index.ts +0 -186
  32. package/src/providers/openai/llm.completions.ts +0 -201
  33. package/src/providers/openai/llm.responses.ts +0 -211
  34. package/src/providers/openai/transform.completions.ts +0 -561
  35. package/src/providers/openai/transform.responses.ts +0 -708
  36. package/src/providers/openai/types.ts +0 -1249
  37. package/src/providers/openrouter/index.ts +0 -177
  38. package/src/providers/openrouter/llm.completions.ts +0 -201
  39. package/src/providers/openrouter/llm.responses.ts +0 -211
  40. package/src/providers/openrouter/transform.completions.ts +0 -538
  41. package/src/providers/openrouter/transform.responses.ts +0 -742
  42. package/src/providers/openrouter/types.ts +0 -717
  43. package/src/providers/xai/index.ts +0 -223
  44. package/src/providers/xai/llm.completions.ts +0 -201
  45. package/src/providers/xai/llm.messages.ts +0 -195
  46. package/src/providers/xai/llm.responses.ts +0 -211
  47. package/src/providers/xai/transform.completions.ts +0 -565
  48. package/src/providers/xai/transform.messages.ts +0 -448
  49. package/src/providers/xai/transform.responses.ts +0 -678
  50. package/src/providers/xai/types.ts +0 -938
  51. package/src/types/content.ts +0 -133
  52. package/src/types/errors.ts +0 -85
  53. package/src/types/index.ts +0 -105
  54. package/src/types/llm.ts +0 -211
  55. package/src/types/messages.ts +0 -205
  56. package/src/types/provider.ts +0 -195
  57. package/src/types/schema.ts +0 -58
  58. package/src/types/stream.ts +0 -188
  59. package/src/types/thread.ts +0 -226
  60. package/src/types/tool.ts +0 -88
  61. package/src/types/turn.ts +0 -118
  62. package/src/utils/id.ts +0 -28
  63. package/src/xai/index.ts +0 -41
@@ -1,717 +0,0 @@
1
- /**
2
- * OpenRouter Chat Completions API parameters
3
- * These are passed through to the /api/v1/chat/completions endpoint
4
- */
5
- export interface OpenRouterCompletionsParams {
6
- /** Maximum number of tokens to generate */
7
- max_tokens?: number;
8
-
9
- /** Temperature for randomness (0.0 - 2.0) */
10
- temperature?: number;
11
-
12
- /** Top-p (nucleus) sampling (0.0 - 1.0) */
13
- top_p?: number;
14
-
15
- /** Top-k sampling (not available for OpenAI models) */
16
- top_k?: number;
17
-
18
- /** Frequency penalty (-2.0 - 2.0) */
19
- frequency_penalty?: number;
20
-
21
- /** Presence penalty (-2.0 - 2.0) */
22
- presence_penalty?: number;
23
-
24
- /** Repetition penalty (0.0 - 2.0) */
25
- repetition_penalty?: number;
26
-
27
- /** Custom stop sequences */
28
- stop?: string | string[];
29
-
30
- /** Seed for deterministic sampling */
31
- seed?: number;
32
-
33
- /** User identifier for abuse detection */
34
- user?: string;
35
-
36
- /** Enable logprobs */
37
- logprobs?: boolean;
38
-
39
- /** Number of top logprobs to return */
40
- top_logprobs?: number;
41
-
42
- /** Logit bias map */
43
- logit_bias?: Record<number, number>;
44
-
45
- /** Minimum probability threshold (0.0 - 1.0) */
46
- min_p?: number;
47
-
48
- /** Top-a sampling threshold (0.0 - 1.0) */
49
- top_a?: number;
50
-
51
- /** Whether to enable parallel tool calls */
52
- parallel_tool_calls?: boolean;
53
-
54
- /** Response format for structured output */
55
- response_format?: OpenRouterResponseFormat;
56
-
57
- /**
58
- * Prompt transforms to apply
59
- * See: https://openrouter.ai/docs/guides/features/message-transforms
60
- */
61
- transforms?: string[];
62
-
63
- /**
64
- * Multiple models for routing
65
- * See: https://openrouter.ai/docs/guides/features/model-routing
66
- */
67
- models?: string[];
68
-
69
- /**
70
- * Routing strategy (e.g., 'fallback')
71
- */
72
- route?: 'fallback';
73
-
74
- /**
75
- * Provider routing preferences
76
- * See: https://openrouter.ai/docs/guides/routing/provider-selection
77
- */
78
- provider?: OpenRouterProviderPreferences;
79
-
80
- /**
81
- * Predicted output for latency optimization
82
- */
83
- prediction?: {
84
- type: 'content';
85
- content: string;
86
- };
87
-
88
- /**
89
- * Debug options (streaming only)
90
- */
91
- debug?: {
92
- /** If true, returns the transformed request body sent to the provider */
93
- echo_upstream_body?: boolean;
94
- };
95
- }
96
-
97
- /**
98
- * OpenRouter Responses API parameters (Beta)
99
- * These are passed through to the /api/v1/responses endpoint
100
- */
101
- export interface OpenRouterResponsesParams {
102
- /** Maximum output tokens */
103
- max_output_tokens?: number;
104
-
105
- /** Temperature for randomness (0.0 - 2.0) */
106
- temperature?: number;
107
-
108
- /** Top-p (nucleus) sampling (0.0 - 1.0) */
109
- top_p?: number;
110
-
111
- /** Whether to enable parallel tool calls */
112
- parallel_tool_calls?: boolean;
113
-
114
- /**
115
- * Reasoning configuration
116
- */
117
- reasoning?: {
118
- effort?: 'low' | 'medium' | 'high';
119
- };
120
- }
121
-
122
- /**
123
- * API mode for OpenRouter provider
124
- */
125
- export type OpenRouterAPIMode = 'completions' | 'responses';
126
-
127
- /**
128
- * Model options when creating a model reference
129
- */
130
- export interface OpenRouterModelOptions {
131
- /** Which API to use */
132
- api?: OpenRouterAPIMode;
133
- }
134
-
135
- /**
136
- * Model reference with OpenRouter-specific options
137
- */
138
- export interface OpenRouterModelReference {
139
- modelId: string;
140
- options?: OpenRouterModelOptions;
141
- }
142
-
143
- /**
144
- * OpenRouter provider configuration
145
- */
146
- export interface OpenRouterConfig {
147
- /** Which API to use: 'completions' (default) or 'responses' (beta) */
148
- api?: 'completions' | 'responses';
149
- }
150
-
151
- /**
152
- * Provider routing preferences
153
- */
154
- export interface OpenRouterProviderPreferences {
155
- /** Allow fallback to other providers */
156
- allow_fallbacks?: boolean;
157
- /** Require specific parameters to be supported */
158
- require_parameters?: boolean;
159
- /** Data collection policy */
160
- data_collection?: 'allow' | 'deny';
161
- /** Order of provider preference */
162
- order?: string[];
163
- /** Ignore specific providers */
164
- ignore?: string[];
165
- /** Quantization preferences */
166
- quantizations?: string[];
167
- }
168
-
169
- // ============================================
170
- // Chat Completions API Types
171
- // ============================================
172
-
173
- /**
174
- * Chat Completions API request body
175
- */
176
- export interface OpenRouterCompletionsRequest {
177
- model: string;
178
- messages?: OpenRouterCompletionsMessage[];
179
- prompt?: string;
180
- temperature?: number;
181
- top_p?: number;
182
- top_k?: number;
183
- min_p?: number;
184
- top_a?: number;
185
- stream?: boolean;
186
- stream_options?: { include_usage?: boolean };
187
- stop?: string | string[];
188
- max_tokens?: number;
189
- presence_penalty?: number;
190
- frequency_penalty?: number;
191
- repetition_penalty?: number;
192
- logit_bias?: Record<number, number>;
193
- logprobs?: boolean;
194
- top_logprobs?: number;
195
- user?: string;
196
- seed?: number;
197
- tools?: OpenRouterCompletionsTool[];
198
- tool_choice?: OpenRouterToolChoice;
199
- parallel_tool_calls?: boolean;
200
- response_format?: OpenRouterResponseFormat;
201
- prediction?: {
202
- type: 'content';
203
- content: string;
204
- };
205
- // OpenRouter-specific
206
- transforms?: string[];
207
- models?: string[];
208
- route?: 'fallback';
209
- provider?: OpenRouterProviderPreferences;
210
- debug?: {
211
- echo_upstream_body?: boolean;
212
- };
213
- }
214
-
215
- /**
216
- * Chat Completions message format
217
- */
218
- export type OpenRouterCompletionsMessage =
219
- | OpenRouterSystemMessage
220
- | OpenRouterUserMessage
221
- | OpenRouterAssistantMessage
222
- | OpenRouterToolMessage;
223
-
224
- export interface OpenRouterSystemMessage {
225
- role: 'system';
226
- content: string;
227
- name?: string;
228
- }
229
-
230
- export interface OpenRouterUserMessage {
231
- role: 'user';
232
- content: string | OpenRouterUserContent[];
233
- name?: string;
234
- }
235
-
236
- export interface OpenRouterAssistantMessage {
237
- role: 'assistant';
238
- content?: string | null;
239
- name?: string;
240
- tool_calls?: OpenRouterToolCall[];
241
- }
242
-
243
- export interface OpenRouterToolMessage {
244
- role: 'tool';
245
- content: string;
246
- tool_call_id: string;
247
- name?: string;
248
- }
249
-
250
- /**
251
- * User content types
252
- */
253
- export type OpenRouterUserContent = OpenRouterTextContent | OpenRouterImageContent;
254
-
255
- export interface OpenRouterTextContent {
256
- type: 'text';
257
- text: string;
258
- }
259
-
260
- export interface OpenRouterImageContent {
261
- type: 'image_url';
262
- image_url: {
263
- url: string;
264
- detail?: 'auto' | 'low' | 'high';
265
- };
266
- }
267
-
268
- /**
269
- * Tool call format
270
- */
271
- export interface OpenRouterToolCall {
272
- id: string;
273
- type: 'function';
274
- function: {
275
- name: string;
276
- arguments: string;
277
- };
278
- }
279
-
280
- /**
281
- * Tool definition for Chat Completions
282
- */
283
- export interface OpenRouterCompletionsTool {
284
- type: 'function';
285
- function: {
286
- name: string;
287
- description: string;
288
- parameters: {
289
- type: 'object';
290
- properties: Record<string, unknown>;
291
- required?: string[];
292
- additionalProperties?: boolean;
293
- };
294
- };
295
- }
296
-
297
- /**
298
- * Tool choice options
299
- */
300
- export type OpenRouterToolChoice =
301
- | 'none'
302
- | 'auto'
303
- | { type: 'function'; function: { name: string } };
304
-
305
- /**
306
- * Response format
307
- */
308
- export type OpenRouterResponseFormat =
309
- | { type: 'text' }
310
- | { type: 'json_object' }
311
- | {
312
- type: 'json_schema';
313
- json_schema: {
314
- name: string;
315
- description?: string;
316
- schema: Record<string, unknown>;
317
- strict?: boolean;
318
- };
319
- };
320
-
321
- /**
322
- * Chat Completions response format
323
- */
324
- export interface OpenRouterCompletionsResponse {
325
- id: string;
326
- object: 'chat.completion';
327
- created: number;
328
- model: string;
329
- choices: OpenRouterCompletionsChoice[];
330
- usage: OpenRouterUsage;
331
- system_fingerprint?: string;
332
- }
333
-
334
- export interface OpenRouterCompletionsChoice {
335
- index: number;
336
- message: OpenRouterAssistantMessage;
337
- finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | null;
338
- logprobs?: OpenRouterLogprobs | null;
339
- }
340
-
341
- export interface OpenRouterLogprobs {
342
- content?: Array<{
343
- token: string;
344
- logprob: number;
345
- bytes?: number[];
346
- top_logprobs?: Array<{
347
- token: string;
348
- logprob: number;
349
- bytes?: number[];
350
- }>;
351
- }>;
352
- }
353
-
354
- export interface OpenRouterUsage {
355
- prompt_tokens: number;
356
- completion_tokens: number;
357
- total_tokens: number;
358
- }
359
-
360
- /**
361
- * Chat Completions streaming event types
362
- */
363
- export interface OpenRouterCompletionsStreamChunk {
364
- id: string;
365
- object: 'chat.completion.chunk';
366
- created: number;
367
- model: string;
368
- choices: OpenRouterCompletionsStreamChoice[];
369
- usage?: OpenRouterUsage | null;
370
- system_fingerprint?: string;
371
- }
372
-
373
- export interface OpenRouterCompletionsStreamChoice {
374
- index: number;
375
- delta: OpenRouterCompletionsStreamDelta;
376
- finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | null;
377
- logprobs?: OpenRouterLogprobs | null;
378
- }
379
-
380
- export interface OpenRouterCompletionsStreamDelta {
381
- role?: 'assistant';
382
- content?: string | null;
383
- tool_calls?: OpenRouterStreamToolCall[];
384
- }
385
-
386
- export interface OpenRouterStreamToolCall {
387
- index: number;
388
- id?: string;
389
- type?: 'function';
390
- function?: {
391
- name?: string;
392
- arguments?: string;
393
- };
394
- }
395
-
396
- // ============================================
397
- // Responses API Types (Beta)
398
- // ============================================
399
-
400
- /**
401
- * Responses API request body
402
- */
403
- export interface OpenRouterResponsesRequest {
404
- model: string;
405
- input: string | OpenRouterResponsesInputItem[];
406
- max_output_tokens?: number;
407
- temperature?: number;
408
- top_p?: number;
409
- stream?: boolean;
410
- tools?: OpenRouterResponsesTool[];
411
- tool_choice?: OpenRouterResponsesToolChoice;
412
- parallel_tool_calls?: boolean;
413
- text?: OpenRouterResponsesTextConfig;
414
- reasoning?: {
415
- effort?: 'low' | 'medium' | 'high';
416
- };
417
- }
418
-
419
- /**
420
- * Responses API input item
421
- */
422
- export type OpenRouterResponsesInputItem =
423
- | OpenRouterResponsesSystemItem
424
- | OpenRouterResponsesUserItem
425
- | OpenRouterResponsesAssistantItem
426
- | OpenRouterResponsesFunctionCallInputItem
427
- | OpenRouterResponsesToolResultItem;
428
-
429
- export interface OpenRouterResponsesSystemItem {
430
- type: 'message';
431
- role: 'system';
432
- content: string | OpenRouterResponsesContentPart[];
433
- }
434
-
435
- export interface OpenRouterResponsesUserItem {
436
- type: 'message';
437
- role: 'user';
438
- content: string | OpenRouterResponsesContentPart[];
439
- }
440
-
441
- export interface OpenRouterResponsesAssistantItem {
442
- type: 'message';
443
- role: 'assistant';
444
- id: string;
445
- status: 'completed' | 'in_progress';
446
- content: OpenRouterResponsesContentPart[];
447
- }
448
-
449
- export interface OpenRouterResponsesFunctionCallInputItem {
450
- type: 'function_call';
451
- id: string;
452
- call_id: string;
453
- name: string;
454
- arguments: string;
455
- }
456
-
457
- export interface OpenRouterResponsesToolResultItem {
458
- type: 'function_call_output';
459
- id: string;
460
- call_id: string;
461
- output: string;
462
- }
463
-
464
- /**
465
- * Content parts for Responses API
466
- */
467
- export type OpenRouterResponsesContentPart =
468
- | OpenRouterResponsesInputTextPart
469
- | OpenRouterResponsesOutputTextPart
470
- | OpenRouterResponsesImagePart
471
- | OpenRouterResponsesFunctionCallPart;
472
-
473
- /** @deprecated Use OpenRouterResponsesInputTextPart or OpenRouterResponsesOutputTextPart */
474
- export type OpenRouterResponsesTextPart = OpenRouterResponsesInputTextPart | OpenRouterResponsesOutputTextPart;
475
-
476
- export interface OpenRouterResponsesInputTextPart {
477
- type: 'input_text';
478
- text: string;
479
- }
480
-
481
- export interface OpenRouterResponsesOutputTextPart {
482
- type: 'output_text';
483
- text: string;
484
- annotations?: unknown[];
485
- }
486
-
487
- export interface OpenRouterResponsesImagePart {
488
- type: 'input_image';
489
- image_url?: string;
490
- image?: string; // base64
491
- detail?: 'auto' | 'low' | 'high';
492
- }
493
-
494
- export interface OpenRouterResponsesFunctionCallPart {
495
- type: 'function_call';
496
- id: string;
497
- call_id: string;
498
- name: string;
499
- arguments: string;
500
- }
501
-
502
- /**
503
- * Tool definition for Responses API
504
- */
505
- export interface OpenRouterResponsesTool {
506
- type: 'function';
507
- name: string;
508
- description: string;
509
- parameters: {
510
- type: 'object';
511
- properties: Record<string, unknown>;
512
- required?: string[];
513
- additionalProperties?: boolean;
514
- };
515
- }
516
-
517
- /**
518
- * Tool choice for Responses API
519
- */
520
- export type OpenRouterResponsesToolChoice =
521
- | 'none'
522
- | 'auto'
523
- | { type: 'function'; name: string };
524
-
525
- /**
526
- * Text configuration for structured output
527
- */
528
- export interface OpenRouterResponsesTextConfig {
529
- format?:
530
- | { type: 'text' }
531
- | { type: 'json_object' }
532
- | {
533
- type: 'json_schema';
534
- name: string;
535
- description?: string;
536
- schema: Record<string, unknown>;
537
- strict?: boolean;
538
- };
539
- }
540
-
541
- /**
542
- * Responses API response format
543
- */
544
- export interface OpenRouterResponsesResponse {
545
- id: string;
546
- object: 'response';
547
- created_at: number;
548
- model: string;
549
- output: OpenRouterResponsesOutputItem[];
550
- usage: OpenRouterResponsesUsage;
551
- status: 'completed' | 'failed' | 'incomplete' | 'in_progress';
552
- error?: {
553
- code: string;
554
- message: string;
555
- };
556
- incomplete_details?: {
557
- reason: string;
558
- };
559
- }
560
-
561
- export type OpenRouterResponsesOutputItem =
562
- | OpenRouterResponsesMessageOutput
563
- | OpenRouterResponsesFunctionCallOutput;
564
-
565
- export interface OpenRouterResponsesMessageOutput {
566
- type: 'message';
567
- id: string;
568
- role: 'assistant';
569
- content: OpenRouterResponsesOutputContent[];
570
- status: 'completed' | 'in_progress';
571
- }
572
-
573
- export interface OpenRouterResponsesFunctionCallOutput {
574
- type: 'function_call';
575
- id: string;
576
- call_id: string;
577
- name: string;
578
- arguments: string;
579
- status: 'completed' | 'in_progress';
580
- }
581
-
582
- export type OpenRouterResponsesOutputContent =
583
- | { type: 'output_text'; text: string; annotations?: unknown[] }
584
- | { type: 'refusal'; refusal: string };
585
-
586
- export interface OpenRouterResponsesUsage {
587
- input_tokens: number;
588
- output_tokens: number;
589
- total_tokens: number;
590
- }
591
-
592
- /**
593
- * Responses API streaming event types
594
- */
595
- export type OpenRouterResponsesStreamEvent =
596
- | OpenRouterResponseCreatedEvent
597
- | OpenRouterResponseInProgressEvent
598
- | OpenRouterResponseCompletedEvent
599
- | OpenRouterResponseFailedEvent
600
- | OpenRouterResponseOutputItemAddedEvent
601
- | OpenRouterResponseOutputItemDoneEvent
602
- | OpenRouterResponseContentPartAddedEvent
603
- | OpenRouterResponseContentPartDoneEvent
604
- | OpenRouterResponseTextDeltaEvent
605
- | OpenRouterResponseTextDoneEvent
606
- | OpenRouterResponseRefusalDeltaEvent
607
- | OpenRouterResponseRefusalDoneEvent
608
- | OpenRouterResponseFunctionCallArgumentsDeltaEvent
609
- | OpenRouterResponseFunctionCallArgumentsDoneEvent
610
- | OpenRouterResponseReasoningDeltaEvent
611
- | OpenRouterResponseErrorEvent;
612
-
613
- export interface OpenRouterResponseCreatedEvent {
614
- type: 'response.created';
615
- response: OpenRouterResponsesResponse;
616
- }
617
-
618
- export interface OpenRouterResponseInProgressEvent {
619
- type: 'response.in_progress';
620
- response: OpenRouterResponsesResponse;
621
- }
622
-
623
- export interface OpenRouterResponseCompletedEvent {
624
- type: 'response.completed' | 'response.done';
625
- response: OpenRouterResponsesResponse;
626
- }
627
-
628
- export interface OpenRouterResponseFailedEvent {
629
- type: 'response.failed';
630
- response: OpenRouterResponsesResponse;
631
- }
632
-
633
- export interface OpenRouterResponseOutputItemAddedEvent {
634
- type: 'response.output_item.added';
635
- output_index: number;
636
- item: OpenRouterResponsesOutputItem;
637
- }
638
-
639
- export interface OpenRouterResponseOutputItemDoneEvent {
640
- type: 'response.output_item.done';
641
- output_index: number;
642
- item: OpenRouterResponsesOutputItem;
643
- }
644
-
645
- export interface OpenRouterResponseContentPartAddedEvent {
646
- type: 'response.content_part.added';
647
- output_index: number;
648
- content_index: number;
649
- part: OpenRouterResponsesOutputContent;
650
- }
651
-
652
- export interface OpenRouterResponseContentPartDoneEvent {
653
- type: 'response.content_part.done';
654
- output_index: number;
655
- content_index: number;
656
- part: OpenRouterResponsesOutputContent;
657
- }
658
-
659
- export interface OpenRouterResponseTextDeltaEvent {
660
- type: 'response.content_part.delta' | 'response.output_text.delta';
661
- response_id?: string;
662
- output_index: number;
663
- content_index?: number;
664
- delta: string;
665
- }
666
-
667
- export interface OpenRouterResponseTextDoneEvent {
668
- type: 'response.output_text.done' | 'response.content_part.done';
669
- output_index: number;
670
- content_index?: number;
671
- text: string;
672
- }
673
-
674
- export interface OpenRouterResponseRefusalDeltaEvent {
675
- type: 'response.refusal.delta';
676
- output_index: number;
677
- content_index: number;
678
- delta: string;
679
- }
680
-
681
- export interface OpenRouterResponseRefusalDoneEvent {
682
- type: 'response.refusal.done';
683
- output_index: number;
684
- content_index: number;
685
- refusal: string;
686
- }
687
-
688
- export interface OpenRouterResponseFunctionCallArgumentsDeltaEvent {
689
- type: 'response.function_call_arguments.delta';
690
- output_index: number;
691
- item_id: string;
692
- delta: string;
693
- call_id?: string;
694
- }
695
-
696
- export interface OpenRouterResponseFunctionCallArgumentsDoneEvent {
697
- type: 'response.function_call_arguments.done';
698
- output_index: number;
699
- item_id: string;
700
- name: string;
701
- arguments: string;
702
- call_id?: string;
703
- }
704
-
705
- export interface OpenRouterResponseReasoningDeltaEvent {
706
- type: 'response.reasoning.delta';
707
- delta: string;
708
- }
709
-
710
- export interface OpenRouterResponseErrorEvent {
711
- type: 'error';
712
- error: {
713
- type: string;
714
- code?: string;
715
- message: string;
716
- };
717
- }