@langchain/openrouter 0.1.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.
- package/LICENSE +21 -0
- package/README.md +174 -0
- package/dist/api-types.d.cts +368 -0
- package/dist/api-types.d.cts.map +1 -0
- package/dist/api-types.d.ts +368 -0
- package/dist/api-types.d.ts.map +1 -0
- package/dist/chat_models/index.cjs +401 -0
- package/dist/chat_models/index.cjs.map +1 -0
- package/dist/chat_models/index.d.cts +160 -0
- package/dist/chat_models/index.d.cts.map +1 -0
- package/dist/chat_models/index.d.ts +160 -0
- package/dist/chat_models/index.d.ts.map +1 -0
- package/dist/chat_models/index.js +401 -0
- package/dist/chat_models/index.js.map +1 -0
- package/dist/chat_models/types.d.cts +97 -0
- package/dist/chat_models/types.d.cts.map +1 -0
- package/dist/chat_models/types.d.ts +97 -0
- package/dist/chat_models/types.d.ts.map +1 -0
- package/dist/converters/messages.cjs +90 -0
- package/dist/converters/messages.cjs.map +1 -0
- package/dist/converters/messages.js +87 -0
- package/dist/converters/messages.js.map +1 -0
- package/dist/converters/tools.cjs +30 -0
- package/dist/converters/tools.cjs.map +1 -0
- package/dist/converters/tools.js +29 -0
- package/dist/converters/tools.js.map +1 -0
- package/dist/index.cjs +10 -0
- package/dist/index.d.cts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +5 -0
- package/dist/profiles.cjs +2570 -0
- package/dist/profiles.cjs.map +1 -0
- package/dist/profiles.d.cts +7 -0
- package/dist/profiles.d.cts.map +1 -0
- package/dist/profiles.d.ts +7 -0
- package/dist/profiles.d.ts.map +1 -0
- package/dist/profiles.js +2569 -0
- package/dist/profiles.js.map +1 -0
- package/dist/utils/errors.cjs +82 -0
- package/dist/utils/errors.cjs.map +1 -0
- package/dist/utils/errors.d.cts +68 -0
- package/dist/utils/errors.d.cts.map +1 -0
- package/dist/utils/errors.d.ts +68 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +80 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/stream.cjs +28 -0
- package/dist/utils/stream.cjs.map +1 -0
- package/dist/utils/stream.js +27 -0
- package/dist/utils/stream.js.map +1 -0
- package/dist/utils/structured_output.cjs +44 -0
- package/dist/utils/structured_output.cjs.map +1 -0
- package/dist/utils/structured_output.js +43 -0
- package/dist/utils/structured_output.js.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
//#region src/api-types.d.ts
|
|
2
|
+
declare namespace OpenRouter {
|
|
3
|
+
/** An OpenRouter model identifier, e.g. `"anthropic/claude-4-sonnet"`. */
|
|
4
|
+
export type ModelName = string;
|
|
5
|
+
/**
|
|
6
|
+
* A string that represents a large number (price per million tokens).
|
|
7
|
+
* Encoded as a string to avoid floating-point precision issues.
|
|
8
|
+
*/
|
|
9
|
+
export type BigNumberUnion = string;
|
|
10
|
+
export type ReasoningSummaryVerbosity = "auto" | "concise" | "detailed" | (string & {});
|
|
11
|
+
export type DataCollection = "deny" | "allow" | (string & {});
|
|
12
|
+
export type Quantization = "int4" | "int8" | "fp4" | "fp6" | "fp8" | "fp16" | "bf16" | "fp32" | "unknown" | (string & {});
|
|
13
|
+
export type ProviderSort = "price" | "throughput" | "latency" | (string & {});
|
|
14
|
+
export type ProviderName = "AI21" | "AionLabs" | "Alibaba" | "Ambient" | "Amazon Bedrock" | "Amazon Nova" | "Anthropic" | "Arcee AI" | "AtlasCloud" | "Avian" | "Azure" | "BaseTen" | "BytePlus" | "Black Forest Labs" | "Cerebras" | "Chutes" | "Cirrascale" | "Clarifai" | "Cloudflare" | "Cohere" | "Crusoe" | "DeepInfra" | "DeepSeek" | "Featherless" | "Fireworks" | "Friendli" | "GMICloud" | "Google" | "Google AI Studio" | "Groq" | "Hyperbolic" | "Inception" | "Inceptron" | "InferenceNet" | "Infermatic" | "Io Net" | "Inflection" | "Liquid" | "Mara" | "Mancer 2" | "Minimax" | "ModelRun" | "Mistral" | "Modular" | "Moonshot AI" | "Morph" | "NCompass" | "Nebius" | "NextBit" | "Novita" | "Nvidia" | "OpenAI" | "OpenInference" | "Parasail" | "Perplexity" | "Phala" | "Relace" | "SambaNova" | "Seed" | "SiliconFlow" | "Sourceful" | "StepFun" | "Stealth" | "StreamLake" | "Switchpoint" | "Together" | "Upstage" | "Venice" | "WandB" | "Xiaomi" | "xAI" | "Z.AI" | "FakeProvider" | (string & {});
|
|
15
|
+
export type ChatCompletionFinishReason = "tool_calls" | "stop" | "length" | "content_filter" | "error" | (string & {});
|
|
16
|
+
export type ReasoningDetailFormat = "unknown" | "openai-responses-v1" | "azure-openai-responses-v1" | "xai-responses-v1" | "anthropic-claude-v1" | "google-gemini-v1" | (string & {});
|
|
17
|
+
export interface ChatMessageContentItemCacheControl {
|
|
18
|
+
type: "ephemeral";
|
|
19
|
+
ttl?: "5m" | "1h" | (string & {});
|
|
20
|
+
}
|
|
21
|
+
export interface ChatMessageContentItemText {
|
|
22
|
+
type: "text";
|
|
23
|
+
text: string;
|
|
24
|
+
cache_control?: ChatMessageContentItemCacheControl;
|
|
25
|
+
}
|
|
26
|
+
export interface ChatMessageContentItemImage {
|
|
27
|
+
type: "image_url";
|
|
28
|
+
image_url: {
|
|
29
|
+
url: string;
|
|
30
|
+
detail?: "auto" | "low" | "high" | (string & {});
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface ChatMessageContentItemAudio {
|
|
34
|
+
type: "input_audio";
|
|
35
|
+
input_audio: {
|
|
36
|
+
data: string;
|
|
37
|
+
format: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export type ChatMessageContentItemVideo = {
|
|
41
|
+
type: "input_video";
|
|
42
|
+
video_url: {
|
|
43
|
+
url: string;
|
|
44
|
+
};
|
|
45
|
+
} | {
|
|
46
|
+
type: "video_url";
|
|
47
|
+
video_url: {
|
|
48
|
+
url: string;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
/** Discriminated union of all content part types (discriminant: `type`). */
|
|
52
|
+
export type ChatMessageContentItem = ChatMessageContentItemText | ChatMessageContentItemImage | ChatMessageContentItemAudio | ChatMessageContentItemVideo;
|
|
53
|
+
interface ReasoningDetailBase {
|
|
54
|
+
id?: string | null;
|
|
55
|
+
format?: ReasoningDetailFormat | null;
|
|
56
|
+
index?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface ReasoningSummaryDetail extends ReasoningDetailBase {
|
|
59
|
+
type: "reasoning.summary";
|
|
60
|
+
summary: string;
|
|
61
|
+
}
|
|
62
|
+
export interface ReasoningEncryptedDetail extends ReasoningDetailBase {
|
|
63
|
+
type: "reasoning.encrypted";
|
|
64
|
+
data: string;
|
|
65
|
+
}
|
|
66
|
+
export interface ReasoningTextDetail extends ReasoningDetailBase {
|
|
67
|
+
type: "reasoning.text";
|
|
68
|
+
text?: string | null;
|
|
69
|
+
signature?: string | null;
|
|
70
|
+
}
|
|
71
|
+
export type ReasoningDetail = ReasoningSummaryDetail | ReasoningEncryptedDetail | ReasoningTextDetail;
|
|
72
|
+
export interface SystemMessage {
|
|
73
|
+
role: "system";
|
|
74
|
+
content: string | ChatMessageContentItemText[];
|
|
75
|
+
name?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface UserMessage {
|
|
78
|
+
role: "user";
|
|
79
|
+
content: string | ChatMessageContentItem[];
|
|
80
|
+
name?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface DeveloperMessage {
|
|
83
|
+
role: "developer";
|
|
84
|
+
content: string | ChatMessageContentItemText[];
|
|
85
|
+
name?: string;
|
|
86
|
+
}
|
|
87
|
+
export interface AssistantMessage {
|
|
88
|
+
role: "assistant";
|
|
89
|
+
content?: string | ChatMessageContentItem[] | null;
|
|
90
|
+
name?: string;
|
|
91
|
+
tool_calls?: ChatMessageToolCall[];
|
|
92
|
+
refusal?: string | null;
|
|
93
|
+
reasoning?: string | null;
|
|
94
|
+
reasoning_details?: ReasoningDetail[];
|
|
95
|
+
images?: Array<{
|
|
96
|
+
image_url: {
|
|
97
|
+
url: string;
|
|
98
|
+
};
|
|
99
|
+
}>;
|
|
100
|
+
}
|
|
101
|
+
export interface ToolResponseMessage {
|
|
102
|
+
role: "tool";
|
|
103
|
+
content: string | ChatMessageContentItem[];
|
|
104
|
+
tool_call_id: string;
|
|
105
|
+
}
|
|
106
|
+
/** Discriminated union of all message types (discriminant: `role`). */
|
|
107
|
+
export type Message = SystemMessage | UserMessage | DeveloperMessage | AssistantMessage | ToolResponseMessage;
|
|
108
|
+
export interface ChatMessageToolCall {
|
|
109
|
+
id: string;
|
|
110
|
+
type: "function";
|
|
111
|
+
function: {
|
|
112
|
+
name: string;
|
|
113
|
+
arguments: string;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export interface ChatStreamingMessageToolCall {
|
|
117
|
+
index: number;
|
|
118
|
+
id?: string;
|
|
119
|
+
type?: "function";
|
|
120
|
+
function?: {
|
|
121
|
+
name?: string;
|
|
122
|
+
arguments?: string;
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export interface ToolDefinitionJson {
|
|
126
|
+
type: "function";
|
|
127
|
+
function: {
|
|
128
|
+
name: string;
|
|
129
|
+
description?: string;
|
|
130
|
+
parameters?: Record<string, unknown>;
|
|
131
|
+
strict?: boolean | null;
|
|
132
|
+
};
|
|
133
|
+
cache_control?: ChatMessageContentItemCacheControl;
|
|
134
|
+
}
|
|
135
|
+
export interface NamedToolChoice {
|
|
136
|
+
type: "function";
|
|
137
|
+
function: {
|
|
138
|
+
name: string;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
export type ToolChoiceOption = "none" | "auto" | "required" | NamedToolChoice;
|
|
142
|
+
export interface JSONSchemaConfig {
|
|
143
|
+
name: string;
|
|
144
|
+
description?: string;
|
|
145
|
+
schema?: Record<string, unknown>;
|
|
146
|
+
strict?: boolean | null;
|
|
147
|
+
}
|
|
148
|
+
export interface ResponseFormatJSONSchema {
|
|
149
|
+
type: "json_schema";
|
|
150
|
+
json_schema: JSONSchemaConfig;
|
|
151
|
+
}
|
|
152
|
+
export interface ResponseFormatTextGrammar {
|
|
153
|
+
type: "grammar";
|
|
154
|
+
grammar: string;
|
|
155
|
+
}
|
|
156
|
+
export interface ChatMessageTokenLogprob {
|
|
157
|
+
token: string;
|
|
158
|
+
logprob: number;
|
|
159
|
+
bytes: number[] | null;
|
|
160
|
+
top_logprobs: Array<{
|
|
161
|
+
token: string;
|
|
162
|
+
logprob: number;
|
|
163
|
+
bytes: number[] | null;
|
|
164
|
+
}>;
|
|
165
|
+
}
|
|
166
|
+
export interface ChatMessageTokenLogprobs {
|
|
167
|
+
content: ChatMessageTokenLogprob[] | null;
|
|
168
|
+
refusal: ChatMessageTokenLogprob[] | null;
|
|
169
|
+
}
|
|
170
|
+
export interface ChatGenerationTokenUsage {
|
|
171
|
+
completion_tokens: number;
|
|
172
|
+
prompt_tokens: number;
|
|
173
|
+
total_tokens: number;
|
|
174
|
+
completion_tokens_details?: {
|
|
175
|
+
reasoning_tokens?: number | null;
|
|
176
|
+
audio_tokens?: number | null;
|
|
177
|
+
accepted_prediction_tokens?: number | null;
|
|
178
|
+
rejected_prediction_tokens?: number | null;
|
|
179
|
+
} | null;
|
|
180
|
+
prompt_tokens_details?: {
|
|
181
|
+
cached_tokens?: number;
|
|
182
|
+
cache_write_tokens?: number;
|
|
183
|
+
audio_tokens?: number;
|
|
184
|
+
video_tokens?: number;
|
|
185
|
+
} | null;
|
|
186
|
+
}
|
|
187
|
+
export interface PercentileLatencyCutoffs {
|
|
188
|
+
p50?: number | null;
|
|
189
|
+
p75?: number | null;
|
|
190
|
+
p90?: number | null;
|
|
191
|
+
p99?: number | null;
|
|
192
|
+
}
|
|
193
|
+
export interface PercentileThroughputCutoffs {
|
|
194
|
+
p50?: number | null;
|
|
195
|
+
p75?: number | null;
|
|
196
|
+
p90?: number | null;
|
|
197
|
+
p99?: number | null;
|
|
198
|
+
}
|
|
199
|
+
export type PreferredMaxLatency = number | PercentileLatencyCutoffs;
|
|
200
|
+
export type PreferredMinThroughput = number | PercentileThroughputCutoffs;
|
|
201
|
+
export interface ProviderSortConfig {
|
|
202
|
+
by?: ProviderSort | null;
|
|
203
|
+
partition?: "model" | "none" | (string & {}) | null;
|
|
204
|
+
}
|
|
205
|
+
export type ProviderSortUnion = ProviderSort | ProviderSortConfig;
|
|
206
|
+
export interface ProviderPreferences {
|
|
207
|
+
allow_fallbacks?: boolean | null;
|
|
208
|
+
require_parameters?: boolean | null;
|
|
209
|
+
data_collection?: DataCollection;
|
|
210
|
+
zdr?: boolean | null;
|
|
211
|
+
enforce_distillable_text?: boolean | null;
|
|
212
|
+
order?: Array<ProviderName | string> | null;
|
|
213
|
+
only?: Array<ProviderName | string> | null;
|
|
214
|
+
ignore?: Array<ProviderName | string> | null;
|
|
215
|
+
quantizations?: Quantization[] | null;
|
|
216
|
+
sort?: ProviderSortUnion | null;
|
|
217
|
+
max_price?: {
|
|
218
|
+
prompt?: BigNumberUnion;
|
|
219
|
+
completion?: BigNumberUnion;
|
|
220
|
+
image?: BigNumberUnion;
|
|
221
|
+
audio?: BigNumberUnion;
|
|
222
|
+
request?: BigNumberUnion;
|
|
223
|
+
};
|
|
224
|
+
preferred_min_throughput?: PreferredMinThroughput;
|
|
225
|
+
preferred_max_latency?: PreferredMaxLatency;
|
|
226
|
+
}
|
|
227
|
+
export interface AutoRouterPlugin {
|
|
228
|
+
id: "auto-router";
|
|
229
|
+
enabled?: boolean;
|
|
230
|
+
allowed_models?: string[];
|
|
231
|
+
}
|
|
232
|
+
export interface ModerationPlugin {
|
|
233
|
+
id: "moderation";
|
|
234
|
+
}
|
|
235
|
+
export interface WebPlugin {
|
|
236
|
+
id: "web";
|
|
237
|
+
enabled?: boolean;
|
|
238
|
+
max_results?: number;
|
|
239
|
+
search_prompt?: string;
|
|
240
|
+
engine?: "native" | "exa" | (string & {});
|
|
241
|
+
}
|
|
242
|
+
export interface FileParserPlugin {
|
|
243
|
+
id: "file-parser";
|
|
244
|
+
enabled?: boolean;
|
|
245
|
+
pdf?: {
|
|
246
|
+
engine?: "mistral-ocr" | "pdf-text" | "native" | (string & {});
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
export interface ResponseHealingPlugin {
|
|
250
|
+
id: "response-healing";
|
|
251
|
+
enabled?: boolean;
|
|
252
|
+
}
|
|
253
|
+
export type PluginDefinition = AutoRouterPlugin | ModerationPlugin | WebPlugin | FileParserPlugin | ResponseHealingPlugin | {
|
|
254
|
+
id: string;
|
|
255
|
+
[key: string]: unknown;
|
|
256
|
+
};
|
|
257
|
+
export interface TraceConfig {
|
|
258
|
+
trace_id?: string;
|
|
259
|
+
trace_name?: string;
|
|
260
|
+
span_name?: string;
|
|
261
|
+
generation_name?: string;
|
|
262
|
+
parent_span_id?: string;
|
|
263
|
+
[key: string]: unknown;
|
|
264
|
+
}
|
|
265
|
+
export interface ChatStreamOptions {
|
|
266
|
+
include_usage?: boolean;
|
|
267
|
+
}
|
|
268
|
+
export interface ChatGenerationParams {
|
|
269
|
+
messages: Message[];
|
|
270
|
+
model?: ModelName;
|
|
271
|
+
models?: ModelName[];
|
|
272
|
+
provider?: ProviderPreferences | null;
|
|
273
|
+
plugins?: PluginDefinition[];
|
|
274
|
+
route?: "fallback" | "sort" | (string & {}) | null;
|
|
275
|
+
user?: string;
|
|
276
|
+
session_id?: string;
|
|
277
|
+
trace?: TraceConfig;
|
|
278
|
+
frequency_penalty?: number | null;
|
|
279
|
+
logit_bias?: Record<string, number> | null;
|
|
280
|
+
logprobs?: boolean | null;
|
|
281
|
+
top_logprobs?: number | null;
|
|
282
|
+
max_completion_tokens?: number | null;
|
|
283
|
+
max_tokens?: number | null;
|
|
284
|
+
metadata?: Record<string, string>;
|
|
285
|
+
presence_penalty?: number | null;
|
|
286
|
+
reasoning?: {
|
|
287
|
+
effort?: "xhigh" | "high" | "medium" | "low" | "minimal" | "none" | (string & {}) | null;
|
|
288
|
+
summary?: ReasoningSummaryVerbosity | null;
|
|
289
|
+
};
|
|
290
|
+
response_format?: {
|
|
291
|
+
type: "text";
|
|
292
|
+
} | {
|
|
293
|
+
type: "json_object";
|
|
294
|
+
} | ResponseFormatJSONSchema | ResponseFormatTextGrammar | {
|
|
295
|
+
type: "python";
|
|
296
|
+
};
|
|
297
|
+
seed?: number | null;
|
|
298
|
+
stop?: string | string[] | null;
|
|
299
|
+
stream?: boolean;
|
|
300
|
+
stream_options?: ChatStreamOptions | null;
|
|
301
|
+
temperature?: number | null;
|
|
302
|
+
parallel_tool_calls?: boolean | null;
|
|
303
|
+
tool_choice?: ToolChoiceOption;
|
|
304
|
+
tools?: ToolDefinitionJson[];
|
|
305
|
+
top_p?: number | null;
|
|
306
|
+
debug?: {
|
|
307
|
+
echo_upstream_body?: boolean;
|
|
308
|
+
};
|
|
309
|
+
image_config?: Record<string, string | number | unknown[]>;
|
|
310
|
+
modalities?: Array<"text" | "image" | (string & {})>;
|
|
311
|
+
}
|
|
312
|
+
export interface ChatResponseChoice {
|
|
313
|
+
finish_reason: ChatCompletionFinishReason | null;
|
|
314
|
+
index: number;
|
|
315
|
+
message: AssistantMessage;
|
|
316
|
+
logprobs?: ChatMessageTokenLogprobs | null;
|
|
317
|
+
}
|
|
318
|
+
export interface ChatResponse {
|
|
319
|
+
id: string;
|
|
320
|
+
choices: ChatResponseChoice[];
|
|
321
|
+
created: number;
|
|
322
|
+
model: string;
|
|
323
|
+
object: "chat.completion";
|
|
324
|
+
system_fingerprint?: string | null;
|
|
325
|
+
usage?: ChatGenerationTokenUsage;
|
|
326
|
+
}
|
|
327
|
+
export interface ChatStreamingMessageChunk {
|
|
328
|
+
role?: "assistant";
|
|
329
|
+
content?: string | null;
|
|
330
|
+
reasoning?: string | null;
|
|
331
|
+
refusal?: string | null;
|
|
332
|
+
tool_calls?: ChatStreamingMessageToolCall[];
|
|
333
|
+
reasoning_details?: ReasoningDetail[];
|
|
334
|
+
}
|
|
335
|
+
export interface ChatStreamingChoice {
|
|
336
|
+
delta: ChatStreamingMessageChunk;
|
|
337
|
+
finish_reason: ChatCompletionFinishReason | null;
|
|
338
|
+
index: number;
|
|
339
|
+
logprobs?: ChatMessageTokenLogprobs | null;
|
|
340
|
+
}
|
|
341
|
+
export interface ChatStreamingResponseChunk {
|
|
342
|
+
data: {
|
|
343
|
+
id: string;
|
|
344
|
+
choices: ChatStreamingChoice[];
|
|
345
|
+
created: number;
|
|
346
|
+
model: string;
|
|
347
|
+
object: "chat.completion.chunk";
|
|
348
|
+
system_fingerprint?: string | null;
|
|
349
|
+
error?: {
|
|
350
|
+
message: string;
|
|
351
|
+
code: number;
|
|
352
|
+
};
|
|
353
|
+
usage?: ChatGenerationTokenUsage;
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
export interface ChatError {
|
|
357
|
+
error: {
|
|
358
|
+
code: string | number | null;
|
|
359
|
+
message: string;
|
|
360
|
+
param?: string | null;
|
|
361
|
+
type?: string | null;
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
export {};
|
|
365
|
+
}
|
|
366
|
+
//#endregion
|
|
367
|
+
export { OpenRouter };
|
|
368
|
+
//# sourceMappingURL=api-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-types.d.ts","names":[],"sources":["../src/api-types.ts"],"mappings":"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"}
|