@aeye/openrouter 0.4.1 → 0.5.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 (33) hide show
  1. package/README.md +152 -65
  2. package/aeye-openrouter.md +175 -161
  3. package/dist/__integration__/openrouter.integration.test.js +6 -6
  4. package/dist/__integration__/openrouter.integration.test.js.map +1 -1
  5. package/dist/__tests__/batch.test.d.ts +5 -0
  6. package/dist/__tests__/batch.test.d.ts.map +1 -0
  7. package/dist/__tests__/batch.test.js +41 -0
  8. package/dist/__tests__/batch.test.js.map +1 -0
  9. package/dist/__tests__/features.test.d.ts +5 -0
  10. package/dist/__tests__/features.test.d.ts.map +1 -0
  11. package/dist/__tests__/features.test.js +206 -0
  12. package/dist/__tests__/features.test.js.map +1 -0
  13. package/dist/__tests__/openrouter.test.js +38 -1
  14. package/dist/__tests__/openrouter.test.js.map +1 -1
  15. package/dist/__tests__/rerank-decide.test.d.ts +5 -0
  16. package/dist/__tests__/rerank-decide.test.d.ts.map +1 -0
  17. package/dist/__tests__/rerank-decide.test.js +75 -0
  18. package/dist/__tests__/rerank-decide.test.js.map +1 -0
  19. package/dist/__tests__/schema-rejection.test.d.ts +6 -0
  20. package/dist/__tests__/schema-rejection.test.d.ts.map +1 -0
  21. package/dist/__tests__/schema-rejection.test.js +39 -0
  22. package/dist/__tests__/schema-rejection.test.js.map +1 -0
  23. package/dist/openrouter.d.ts +100 -41
  24. package/dist/openrouter.d.ts.map +1 -1
  25. package/dist/openrouter.js +390 -211
  26. package/dist/openrouter.js.map +1 -1
  27. package/dist/source.d.ts +9 -4
  28. package/dist/source.d.ts.map +1 -1
  29. package/dist/source.js +45 -28
  30. package/dist/source.js.map +1 -1
  31. package/dist/types.d.ts +244 -81
  32. package/dist/types.d.ts.map +1 -1
  33. package/package.json +71 -71
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"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"}
package/dist/source.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * with comprehensive model metadata (pricing, capabilities, ZDR support).
6
6
  */
7
7
  import type { ModelInfo, ModelSource } from '@aeye/ai';
8
- import { OpenRouterModel } from './types';
8
+ import type { OpenRouterMetrics, OpenRouterModel } from './types';
9
9
  /**
10
10
  * Configuration for OpenRouter model source
11
11
  */
@@ -18,10 +18,15 @@ export interface OpenRouterSourceConfig {
18
18
  */
19
19
  export declare function fetchZDRModels(apiKey?: string): Promise<Set<string>>;
20
20
  /**
21
- * Fetch all OpenRouter models
22
- * @returns
21
+ * Fetch all OpenRouter models: chat, and also image, speech, transcription,
22
+ * and embedding models, which the default listing leaves out.
23
23
  */
24
24
  export declare function fetchModels(apiKey?: string): Promise<OpenRouterModel[]>;
25
+ /**
26
+ * Fetch a model's live performance: the best of each metric across the
27
+ * providers serving it, since routing favors the better endpoints.
28
+ */
29
+ export declare function fetchEndpointMetrics(modelId: string, apiKey?: string): Promise<OpenRouterMetrics | null>;
25
30
  /**
26
31
  * OpenRouter model source implementation
27
32
  */
@@ -29,6 +34,6 @@ export declare class OpenRouterModelSource implements ModelSource {
29
34
  readonly name = "openrouter";
30
35
  private config;
31
36
  constructor(config?: OpenRouterSourceConfig);
32
- fetchModels(config?: Record<string, unknown>): Promise<ModelInfo[]>;
37
+ fetchModels(config?: OpenRouterSourceConfig): Promise<ModelInfo[]>;
33
38
  }
34
39
  //# sourceMappingURL=source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAY,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAsB1E;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAa7E;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,WAAW;IACvD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,MAAM,CAAyB;gBAE3B,MAAM,GAAE,sBAA2B;IAIzC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAiB1E"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,KAAK,EAAsB,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAItF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAeD;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAa1E;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAM7E;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAe9G;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,WAAW;IACvD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,MAAM,CAAyB;gBAE3B,MAAM,GAAE,sBAA2B;IAIzC,WAAW,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAezE"}
package/dist/source.js CHANGED
@@ -5,25 +5,31 @@
5
5
  * with comprehensive model metadata (pricing, capabilities, ZDR support).
6
6
  */
7
7
  import { convertOpenRouterModel } from './openrouter';
8
+ const API = 'https://openrouter.ai/api/v1';
9
+ /**
10
+ * GET an OpenRouter API path, authenticated when a key is available, and
11
+ * read its JSON body as the documented shape. Undefined when the request
12
+ * fails.
13
+ */
14
+ async function get(path, apiKey) {
15
+ const key = apiKey ?? process.env.OPENROUTER_API_KEY;
16
+ const response = await fetch(`${API}${path}`, {
17
+ headers: key ? { Authorization: `Bearer ${key}` } : {},
18
+ });
19
+ return response.ok ? JSON.parse(await response.text()) : undefined;
20
+ }
8
21
  /**
9
22
  * Fetch ZDR (Zero Data Retention) compliant models
10
23
  */
11
24
  export async function fetchZDRModels(apiKey) {
12
25
  try {
13
- const effectiveKey = apiKey ?? process.env.OPENROUTER_API_KEY;
14
- const response = await fetch('https://openrouter.ai/api/v1/endpoints/zdr', {
15
- headers: {
16
- 'Content-Type': 'application/json',
17
- 'Authorization': effectiveKey ? `Bearer ${effectiveKey}` : undefined,
18
- },
19
- });
20
- if (!response.ok) {
26
+ const body = await get('/endpoints/zdr', apiKey);
27
+ if (!body) {
21
28
  console.warn('Failed to fetch ZDR models from OpenRouter');
22
29
  return new Set();
23
30
  }
24
- const data = (await response.json());
25
31
  // The model_name field contains the model ID in provider/model format
26
- return new Set(data.data.map((model) => model.model_name));
32
+ return new Set(body.data.map((model) => model.model_name));
27
33
  }
28
34
  catch (error) {
29
35
  console.warn('Error fetching ZDR models:', error);
@@ -31,22 +37,35 @@ export async function fetchZDRModels(apiKey) {
31
37
  }
32
38
  }
33
39
  /**
34
- * Fetch all OpenRouter models
35
- * @returns
40
+ * Fetch all OpenRouter models: chat, and also image, speech, transcription,
41
+ * and embedding models, which the default listing leaves out.
36
42
  */
37
43
  export async function fetchModels(apiKey) {
38
- const effectiveKey = apiKey ?? process.env.OPENROUTER_API_KEY;
39
- const response = await fetch('https://openrouter.ai/api/v1/models', {
40
- headers: {
41
- 'Content-Type': 'application/json',
42
- 'Authorization': effectiveKey ? `Bearer ${effectiveKey}` : undefined,
43
- },
44
- });
45
- if (!response.ok) {
46
- throw new Error(`Failed to fetch models: ${response.statusText}`);
44
+ const body = await get('/models?output_modalities=all', apiKey);
45
+ if (!body) {
46
+ throw new Error('Failed to fetch OpenRouter models');
47
+ }
48
+ return body.data;
49
+ }
50
+ /**
51
+ * Fetch a model's live performance: the best of each metric across the
52
+ * providers serving it, since routing favors the better endpoints.
53
+ */
54
+ export async function fetchEndpointMetrics(modelId, apiKey) {
55
+ const body = await get(`/models/${modelId}/endpoints`, apiKey);
56
+ if (!body) {
57
+ return null;
47
58
  }
48
- const data = (await response.json());
49
- return data.data;
59
+ const best = (values, pick) => {
60
+ const known = values.filter((value) => typeof value === 'number');
61
+ return known.length ? pick(...known) : undefined;
62
+ };
63
+ const endpoints = body.data.endpoints;
64
+ return {
65
+ latency: best(endpoints.map(e => e.latency_last_30m?.p50), Math.min),
66
+ throughput: best(endpoints.map(e => e.throughput_last_30m?.p50), Math.max),
67
+ uptime: best(endpoints.map(e => e.uptime_last_30m), Math.max),
68
+ };
50
69
  }
51
70
  /**
52
71
  * OpenRouter model source implementation
@@ -58,14 +77,12 @@ export class OpenRouterModelSource {
58
77
  this.config = config;
59
78
  }
60
79
  async fetchModels(config) {
61
- const effectiveConfig = { ...this.config, ...config };
80
+ const { apiKey, includeZDR } = { ...this.config, ...config };
62
81
  try {
63
- // Fetch both models and ZDR models in parallel if ZDR is enabled
64
82
  const [models, zdrModels] = await Promise.all([
65
- fetchModels(effectiveConfig.apiKey),
66
- effectiveConfig.includeZDR !== false ? fetchZDRModels(effectiveConfig.apiKey) : Promise.resolve(new Set()),
83
+ fetchModels(apiKey),
84
+ includeZDR !== false ? fetchZDRModels(apiKey) : new Set(),
67
85
  ]);
68
- // Convert models and update ZDR support
69
86
  return models.map((model) => convertOpenRouterModel(model, zdrModels));
70
87
  }
71
88
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,31 +1,32 @@
1
+ import type { BatchStatus, ModelTokenizer } from '@aeye/ai';
2
+ import type { BatchOutputLine } from '@aeye/openai';
3
+ import type { ReasoningDetail, ReasoningEffort } from '@aeye/core';
1
4
  import OpenAI from "openai";
2
5
  /**
3
- * OpenRouter modalities
4
- */
5
- export type OpenRouterModality = 'text->text' | 'text+image->text' | 'text+image->text+image';
6
- /**
7
6
  * OpenRouter input modalities
8
7
  */
9
- export type OpenRouterInput = 'audio' | 'file' | 'image' | 'text';
8
+ export type OpenRouterInput = 'audio' | 'file' | 'image' | 'text' | 'video';
10
9
  /**
11
10
  * OpenRouter output modalities
12
11
  */
13
- export type OpenRouterOutput = 'image' | 'text';
12
+ export type OpenRouterOutput = 'audio' | 'decisions' | 'embeddings' | 'image' | 'rerank' | 'speech' | 'text' | 'transcription' | 'video';
14
13
  /**
15
14
  * OpenRouter tokenizer types
16
15
  */
17
- export type OpenRouterTokenize = 'Other' | 'GPT' | 'Mistral' | 'Llama3' | 'Qwen3' | 'Qwen' | 'Gemini' | 'DeepSeek' | 'Claude' | 'Grok' | 'Llama4' | 'Llama2' | 'Cohere' | 'Nova' | 'Router';
16
+ export type OpenRouterTokenize = ModelTokenizer;
18
17
  /**
19
18
  * OpenRouter supported parameters
20
19
  */
21
- export type OpenRouterSupportedParameter = 'max_tokens' | 'temperature' | 'top_p' | 'stop' | 'seed' | 'presence_penalty' | 'frequency_penalty' | 'response_format' | 'top_k' | 'tools' | 'structured_outputs' | 'tool_choice' | 'repetition_penalty' | 'reasoning' | 'include_reasoning' | 'min_p' | 'logit_bias' | 'logprobs' | 'top_a' | 'top_logprobs' | 'web_search_options';
20
+ export type OpenRouterSupportedParameter = 'frequency_penalty' | 'include_reasoning' | 'logit_bias' | 'logprobs' | 'max_completion_tokens' | 'max_tokens' | 'min_p' | 'parallel_tool_calls' | 'prediction' | 'presence_penalty' | 'reasoning' | 'reasoning_effort' | 'repetition_penalty' | 'response_format' | 'seed' | 'stop' | 'structured_outputs' | 'temperature' | 'tool_choice' | 'tools' | 'top_a' | 'top_k' | 'top_logprobs' | 'top_p' | 'verbosity' | 'web_search_options';
22
21
  /**
23
- * OpenRouter model response from API
22
+ * OpenRouter model response from API. Prices are dollar strings per token,
23
+ * except `request` (per request), `image` (per input image), and
24
+ * `web_search` (per search).
24
25
  */
25
26
  export interface OpenRouterModel {
26
27
  id: string;
27
28
  canonical_slug: string;
28
- hugging_face_id: string;
29
+ hugging_face_id: string | null;
29
30
  name: string;
30
31
  created: number;
31
32
  description?: string;
@@ -38,31 +39,55 @@ export interface OpenRouterModel {
38
39
  instruct_type: string | null;
39
40
  };
40
41
  pricing: {
41
- prompt: string;
42
- completion: string;
43
- image?: string;
42
+ prompt?: string;
43
+ completion?: string;
44
44
  request?: string;
45
+ image?: string;
46
+ image_token?: string;
47
+ image_output?: string;
48
+ audio?: string;
49
+ audio_output?: string;
45
50
  web_search?: string;
46
51
  internal_reasoning?: string;
47
52
  input_cache_read?: string;
48
53
  input_cache_write?: string;
54
+ input_cache_write_1h?: string;
49
55
  };
50
56
  top_provider: {
51
- context_length: number;
57
+ context_length: number | null;
52
58
  max_completion_tokens: number | null;
53
59
  is_moderated: boolean;
54
60
  };
55
61
  supported_parameters: OpenRouterSupportedParameter[];
56
62
  default_parameters: {
57
- frequency_penalty: number;
58
- temperature: number;
59
- top_p: number;
60
- };
63
+ frequency_penalty?: number | null;
64
+ temperature?: number | null;
65
+ top_p?: number | null;
66
+ } | null;
67
+ reasoning?: {
68
+ mandatory?: boolean;
69
+ default_enabled?: boolean;
70
+ supported_efforts?: ReasoningEffort[];
71
+ default_effort?: ReasoningEffort;
72
+ } | null;
73
+ supported_voices?: string[] | null;
74
+ expiration_date?: string | null;
75
+ knowledge_cutoff?: string | null;
76
+ }
77
+ /**
78
+ * Percentiles of a performance measure.
79
+ */
80
+ export interface OpenRouterPercentiles {
81
+ p50: number;
82
+ p75: number;
83
+ p90: number;
84
+ p99: number;
61
85
  }
62
86
  /**
63
- * ZDR model info from OpenRouter ZDR endpoint
87
+ * One provider's endpoint for a model, as `/models/{id}/endpoints` and
88
+ * `/endpoints/zdr` report it.
64
89
  */
65
- export interface ZDRModel {
90
+ export interface OpenRouterEndpoint {
66
91
  name: string;
67
92
  model_name: string;
68
93
  context_length: number;
@@ -80,85 +105,177 @@ export interface ZDRModel {
80
105
  supported_parameters: OpenRouterSupportedParameter[];
81
106
  status: number;
82
107
  uptime_last_30m: number | null;
108
+ latency_last_30m?: OpenRouterPercentiles | null;
109
+ throughput_last_30m?: OpenRouterPercentiles | null;
83
110
  supports_implicit_caching: boolean;
84
111
  }
112
+ /**
113
+ * @deprecated Use OpenRouterEndpoint.
114
+ */
115
+ export type ZDRModel = OpenRouterEndpoint;
116
+ /**
117
+ * Live performance of a model across the providers serving it.
118
+ */
119
+ export interface OpenRouterMetrics {
120
+ latency?: number;
121
+ throughput?: number;
122
+ uptime?: number;
123
+ }
124
+ /**
125
+ * Model quantizations OpenRouter can route by.
126
+ */
127
+ export type OpenRouterQuantization = 'int4' | 'int8' | 'fp4' | 'mxfp4' | 'nvfp4' | 'fp6' | 'fp8' | 'mxfp8' | 'fp16' | 'bf16' | 'fp32' | 'unknown';
128
+ /**
129
+ * What OpenRouter sorts providers by. `exacto` prefers providers with the
130
+ * best tool-calling accuracy.
131
+ */
132
+ export type OpenRouterSort = 'price' | 'throughput' | 'latency' | 'exacto';
133
+ /**
134
+ * Provider routing preferences, as sent on the wire.
135
+ */
136
+ export interface OpenRouterProviderPreferences {
137
+ order?: string[];
138
+ allow_fallbacks?: boolean;
139
+ require_parameters?: boolean;
140
+ data_collection?: 'deny' | 'allow';
141
+ zdr?: boolean;
142
+ enforce_distillable_text?: boolean;
143
+ only?: string[];
144
+ ignore?: string[];
145
+ quantizations?: OpenRouterQuantization[];
146
+ sort?: OpenRouterSort | {
147
+ by: OpenRouterSort;
148
+ partition?: 'model' | 'none';
149
+ };
150
+ preferred_min_throughput?: number;
151
+ preferred_max_latency?: number;
152
+ max_price?: {
153
+ prompt?: number;
154
+ completion?: number;
155
+ image?: number;
156
+ audio?: number;
157
+ request?: number;
158
+ };
159
+ }
160
+ /**
161
+ * Plugins that change how OpenRouter handles a request.
162
+ *
163
+ * - `file-parser`: how PDFs are read, for models without native PDF input
164
+ * - `response-healing`: repairs malformed JSON in non-streamed responses
165
+ * - `context-compression`: drops the middle of prompts that overflow the
166
+ * context window (replaces the `middle-out` transform)
167
+ */
168
+ export type OpenRouterPlugin = {
169
+ id: 'file-parser';
170
+ pdf?: {
171
+ engine?: string;
172
+ };
173
+ } | {
174
+ id: 'response-healing';
175
+ } | {
176
+ id: 'context-compression';
177
+ engine?: 'middle-out';
178
+ };
179
+ /**
180
+ * A tool OpenRouter runs itself, between model turns.
181
+ */
182
+ export interface OpenRouterServerTool {
183
+ type: `openrouter:${string}`;
184
+ parameters?: {
185
+ max_results?: number;
186
+ allowed_domains?: string[];
187
+ excluded_domains?: string[];
188
+ };
189
+ }
190
+ /**
191
+ * OpenRouter reasoning information
192
+ */
193
+ export type OpenRouterReasoning = {
194
+ reasoning?: string;
195
+ reasoning_details?: ReasoningDetail[];
196
+ };
197
+ /**
198
+ * A content part with an Anthropic-style cache marker, which OpenRouter
199
+ * translates for every provider with explicit prompt caching.
200
+ */
201
+ export type OpenRouterContentPart = OpenAI.Chat.Completions.ChatCompletionContentPart & {
202
+ cache_control?: {
203
+ type: 'ephemeral';
204
+ };
205
+ };
85
206
  /**
86
207
  * OpenRouter chat request with extensions
87
208
  */
88
- export type OpenRouterChatRequest = OpenAI.Chat.ChatCompletionCreateParams & {
209
+ export type OpenRouterChatRequest = Omit<OpenAI.Chat.ChatCompletionCreateParams, 'tools' | 'modalities'> & {
210
+ stream?: boolean | null;
211
+ tools?: Array<OpenAI.Chat.ChatCompletionTool | OpenRouterServerTool>;
212
+ modalities?: Array<'text' | 'image' | 'audio'> | null;
89
213
  reasoning?: {
90
- enabled: boolean;
91
- effort?: 'low' | 'medium' | 'high';
214
+ enabled?: boolean;
215
+ effort?: ReasoningEffort;
92
216
  max_tokens?: number;
217
+ exclude?: boolean;
218
+ summary?: 'auto' | 'concise' | 'detailed';
219
+ mode?: 'pro';
220
+ context?: 'auto' | 'all_turns' | 'current_turn';
93
221
  };
94
- provider?: {
95
- order?: string[];
96
- allow_fallbacks?: boolean;
97
- require_parameters?: boolean;
98
- data_collection?: 'deny' | 'allow';
99
- zdr?: boolean;
100
- only?: string[];
101
- ignore?: string[];
102
- quantizations?: ('int4' | 'int8' | 'fp4' | 'fp6' | 'fp8' | 'fp16' | 'bf16' | 'fp32' | 'unknown')[];
103
- sort?: 'price' | 'throughput' | 'latency';
104
- max_price?: {
105
- prompt?: number;
106
- completion?: number;
107
- image?: number;
108
- };
222
+ provider?: OpenRouterProviderPreferences;
223
+ plugins?: OpenRouterPlugin[];
224
+ image_config?: {
225
+ aspect_ratio?: string;
109
226
  };
110
- transforms?: string[];
111
227
  user?: string;
112
228
  models?: string[];
113
229
  };
114
230
  /**
115
- * OpenRouter's extended usage information
231
+ * An image a chat model produced, as a data URL.
232
+ */
233
+ export interface OpenRouterImage {
234
+ type: 'image_url';
235
+ image_url: {
236
+ url: string;
237
+ };
238
+ }
239
+ /**
240
+ * OpenRouter's extended usage information. With BYOK, `cost` is only
241
+ * OpenRouter's fee and the provider bills `upstream_inference_cost`.
116
242
  */
117
243
  export type OpenRouterUsage = OpenAI.CompletionUsage & {
118
- completion_tokens?: number;
119
- completion_tokens_details?: {
120
- reasoning_tokens?: number;
121
- };
122
244
  cost?: number;
245
+ is_byok?: boolean;
123
246
  cost_details?: {
124
- upstream_inference_cost?: number;
125
- };
126
- prompt_tokens?: number;
127
- prompt_tokens_details?: {
128
- cached_tokens?: number;
129
- audio_tokens?: number;
247
+ upstream_inference_cost?: number | null;
130
248
  };
131
- total_tokens?: number;
132
- };
133
- /**
134
- * OpenRouter reasoning information
135
- */
136
- export type OpenRouterReasoning = {
137
- reasoning?: string;
138
- reasoning_details?: OpenRouterReasoningDetails[];
139
- };
140
- /**
141
- * OpenRouter reasoning detail
142
- */
143
- export type OpenRouterReasoningDetails = {
144
- id: string | null;
145
- type: 'reasoning.encrypted' | 'reasoning.summary' | 'reasoning.text';
146
- format: 'unknown' | 'openai-responses-v1' | 'xai-responses-v1' | 'anthropic-claude-v1';
147
- index?: number;
148
- summary?: string;
149
- text?: string;
150
- signature?: string;
151
- data?: string;
249
+ server_tool_use_details?: Record<string, number>;
152
250
  };
153
251
  /**
154
252
  * OpenRouter chunk with extended usage info
155
253
  */
156
254
  export type OpenRouterChatChunk = OpenAI.Chat.Completions.ChatCompletionChunk & {
157
255
  usage?: OpenRouterUsage | null;
158
- choices?: Array<OpenAI.Chat.Completions.ChatCompletionChunk.Choice & {
159
- delta: OpenAI.Chat.Completions.ChatCompletionChunk.Choice.Delta & OpenRouterReasoning;
256
+ choices: Array<OpenAI.Chat.Completions.ChatCompletionChunk.Choice & {
257
+ delta: OpenAI.Chat.Completions.ChatCompletionChunk.Choice.Delta & OpenRouterReasoning & {
258
+ images?: OpenRouterImage[];
259
+ };
160
260
  }>;
161
261
  };
262
+ /**
263
+ * OpenRouter message parameter with reasoning info
264
+ */
265
+ export type OpenRouterRequestMessage = OpenAI.Chat.Completions.ChatCompletionMessageParam & OpenRouterReasoning;
266
+ /**
267
+ * OpenRouter message with reasoning info and generated images
268
+ */
269
+ export type OpenRouterMessage = OpenAI.Chat.Completions.ChatCompletionMessage & OpenRouterReasoning & {
270
+ images?: OpenRouterImage[];
271
+ };
272
+ /**
273
+ * OpenRouter choice with reasoning info
274
+ */
275
+ export type OpenRouterChoice = OpenAI.ChatCompletion.Choice & {
276
+ native_finish_reason?: string;
277
+ message: OpenRouterMessage;
278
+ };
162
279
  /**
163
280
  * OpenRouter response with extended usage info
164
281
  */
@@ -167,18 +284,64 @@ export type OpenRouterChatResponse = OpenAI.Chat.ChatCompletion & {
167
284
  usage?: OpenRouterUsage;
168
285
  };
169
286
  /**
170
- * OpenRouter message parameter with reasoning info
287
+ * A batch as OpenRouter reports it. Results arrive inline once it completes.
171
288
  */
172
- export type OpenRouterRequestMessage = OpenAI.Chat.Completions.ChatCompletionMessageParam & OpenRouterReasoning;
289
+ export interface OpenRouterBatch {
290
+ id: string;
291
+ status: BatchStatus;
292
+ request_counts: {
293
+ total: number;
294
+ completed: number;
295
+ failed: number;
296
+ };
297
+ error: {
298
+ message: string;
299
+ } | null;
300
+ usage: OpenRouterUsage | null;
301
+ results: BatchOutputLine[] | null;
302
+ }
173
303
  /**
174
- * OpenRouter message with reasoning info
304
+ * Documents by relevance, as OpenRouter's rerank endpoint returns them.
175
305
  */
176
- export type OpenRouterMessage = OpenAI.Chat.Completions.ChatCompletionMessage & OpenRouterReasoning;
306
+ export interface OpenRouterRerank {
307
+ model: string;
308
+ results: Array<{
309
+ index: number;
310
+ relevance_score: number;
311
+ }>;
312
+ usage?: {
313
+ search_units?: number;
314
+ cost?: number;
315
+ };
316
+ }
177
317
  /**
178
- * OpenRouter choice with reasoning info
318
+ * An answer as OpenRouter's decisions endpoint returns it. Score
319
+ * probabilities are keyed by level index.
179
320
  */
180
- export type OpenRouterChoice = OpenAI.ChatCompletion.Choice & {
181
- native_finish_reason?: string;
182
- message: OpenRouterMessage;
321
+ export type OpenRouterDecisionAnswer = {
322
+ type: 'noul';
323
+ noul: number;
324
+ } | {
325
+ type: 'choice';
326
+ choice: string;
327
+ probabilities: Record<string, number>;
328
+ confidence: number;
329
+ } | {
330
+ type: 'score';
331
+ score: number;
332
+ probabilities: Record<string, number>;
333
+ confidence: number;
183
334
  };
335
+ /**
336
+ * A decision as OpenRouter's decisions endpoint returns it.
337
+ */
338
+ export interface OpenRouterDecision {
339
+ model: string;
340
+ answers: Record<string, OpenRouterDecisionAnswer>;
341
+ usage: {
342
+ input_tokens: number;
343
+ output_tokens: number;
344
+ cost?: number;
345
+ };
346
+ }
184
347
  //# sourceMappingURL=types.d.ts.map