@openrouter/ai-sdk-provider 1.5.3 → 2.0.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/README.md +8 -24
- package/dist/index.d.mts +28 -108
- package/dist/index.d.ts +28 -108
- package/dist/index.js +1516 -218
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1516 -214
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +20 -20
- package/dist/internal/index.d.ts +20 -20
- package/dist/internal/index.js +1510 -180
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +1510 -178
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +9 -15
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The [OpenRouter](https://openrouter.ai/) provider for the [Vercel AI SDK](https://sdk.vercel.ai/docs) gives access to over 300 large language models on the OpenRouter chat and completion APIs.
|
|
4
4
|
|
|
5
|
-
## Setup for AI SDK
|
|
5
|
+
## Setup for AI SDK v6
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# For pnpm
|
|
@@ -15,18 +15,17 @@ npm install @openrouter/ai-sdk-provider
|
|
|
15
15
|
yarn add @openrouter/ai-sdk-provider
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
## (LEGACY) Setup for AI SDK
|
|
18
|
+
## (LEGACY) Setup for AI SDK v5
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
21
|
# For pnpm
|
|
22
|
-
pnpm add @openrouter/ai-sdk-provider@ai-sdk-
|
|
22
|
+
pnpm add @openrouter/ai-sdk-provider@ai-sdk-v5
|
|
23
23
|
|
|
24
24
|
# For npm
|
|
25
|
-
npm install @openrouter/ai-sdk-provider@ai-sdk-
|
|
25
|
+
npm install @openrouter/ai-sdk-provider@ai-sdk-v5
|
|
26
26
|
|
|
27
27
|
# For yarn
|
|
28
|
-
yarn add @openrouter/ai-sdk-provider@ai-sdk-
|
|
29
|
-
|
|
28
|
+
yarn add @openrouter/ai-sdk-provider@ai-sdk-v5
|
|
30
29
|
```
|
|
31
30
|
|
|
32
31
|
## Provider Instance
|
|
@@ -57,9 +56,9 @@ You can find the latest list of tool-supported models supported by OpenRouter [h
|
|
|
57
56
|
|
|
58
57
|
## Embeddings
|
|
59
58
|
|
|
60
|
-
OpenRouter supports embedding models for semantic search, RAG pipelines, and vector-native features.
|
|
59
|
+
OpenRouter supports embedding models for semantic search, RAG pipelines, and vector-native features.
|
|
61
60
|
|
|
62
|
-
###
|
|
61
|
+
### Basic Usage
|
|
63
62
|
|
|
64
63
|
```ts
|
|
65
64
|
import { embed } from 'ai';
|
|
@@ -91,20 +90,6 @@ const { embeddings } = await embedMany({
|
|
|
91
90
|
console.log(embeddings); // Array of embedding arrays
|
|
92
91
|
```
|
|
93
92
|
|
|
94
|
-
### AI SDK v4 (Deprecated)
|
|
95
|
-
|
|
96
|
-
For backwards compatibility, the `embedding` method is also available:
|
|
97
|
-
|
|
98
|
-
```ts
|
|
99
|
-
import { embed } from 'ai';
|
|
100
|
-
import { openrouter } from '@openrouter/ai-sdk-provider';
|
|
101
|
-
|
|
102
|
-
const { embedding } = await embed({
|
|
103
|
-
model: openrouter.embedding('openai/text-embedding-3-small'),
|
|
104
|
-
value: 'sunny day at the beach',
|
|
105
|
-
});
|
|
106
|
-
```
|
|
107
|
-
|
|
108
93
|
### Supported Embedding Models
|
|
109
94
|
|
|
110
95
|
OpenRouter supports various embedding models including:
|
|
@@ -225,6 +210,7 @@ await streamText({
|
|
|
225
210
|
],
|
|
226
211
|
});
|
|
227
212
|
```
|
|
213
|
+
|
|
228
214
|
## Anthropic Beta Features
|
|
229
215
|
|
|
230
216
|
You can enable Anthropic beta features by passing custom headers through the OpenRouter SDK.
|
|
@@ -319,8 +305,6 @@ for await (const partialComponent of result.partialObjectStream) {
|
|
|
319
305
|
}
|
|
320
306
|
```
|
|
321
307
|
|
|
322
|
-
|
|
323
|
-
|
|
324
308
|
## Use Cases
|
|
325
309
|
|
|
326
310
|
### Debugging API Requests
|
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import * as _ai_sdk_provider from '@ai-sdk/provider';
|
|
2
|
+
import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3Content, LanguageModelV3FinishReason, LanguageModelV3Usage, SharedV3Warning, LanguageModelV3ResponseMetadata, SharedV3Headers, LanguageModelV3StreamPart, EmbeddingModelV3, SharedV3ProviderMetadata, ProviderV3 } from '@ai-sdk/provider';
|
|
3
|
+
export { LanguageModelV3, LanguageModelV3Prompt } from '@ai-sdk/provider';
|
|
3
4
|
import * as models from '@openrouter/sdk/models';
|
|
4
5
|
import { z } from 'zod/v4';
|
|
5
|
-
import { EncodeOptions, DecodeOptions, JsonValue } from '@toon-format/toon';
|
|
6
|
-
export { DecodeOptions, EncodeOptions, JsonValue } from '@toon-format/toon';
|
|
7
6
|
|
|
8
7
|
type OpenRouterChatModelId = string;
|
|
9
8
|
type OpenRouterChatSettings = {
|
|
@@ -339,8 +338,8 @@ type OpenRouterChatConfig = {
|
|
|
339
338
|
fetch?: typeof fetch;
|
|
340
339
|
extraBody?: Record<string, unknown>;
|
|
341
340
|
};
|
|
342
|
-
declare class OpenRouterChatLanguageModel implements
|
|
343
|
-
readonly specificationVersion: "
|
|
341
|
+
declare class OpenRouterChatLanguageModel implements LanguageModelV3 {
|
|
342
|
+
readonly specificationVersion: "v3";
|
|
344
343
|
readonly provider = "openrouter";
|
|
345
344
|
readonly defaultObjectGenerationMode: "tool";
|
|
346
345
|
readonly modelId: OpenRouterChatModelId;
|
|
@@ -350,11 +349,11 @@ declare class OpenRouterChatLanguageModel implements LanguageModelV2 {
|
|
|
350
349
|
private readonly config;
|
|
351
350
|
constructor(modelId: OpenRouterChatModelId, settings: OpenRouterChatSettings, config: OpenRouterChatConfig);
|
|
352
351
|
private getArgs;
|
|
353
|
-
doGenerate(options:
|
|
354
|
-
content: Array<
|
|
355
|
-
finishReason:
|
|
356
|
-
usage:
|
|
357
|
-
warnings: Array<
|
|
352
|
+
doGenerate(options: LanguageModelV3CallOptions): Promise<{
|
|
353
|
+
content: Array<LanguageModelV3Content>;
|
|
354
|
+
finishReason: LanguageModelV3FinishReason;
|
|
355
|
+
usage: LanguageModelV3Usage;
|
|
356
|
+
warnings: Array<SharedV3Warning>;
|
|
358
357
|
providerMetadata?: {
|
|
359
358
|
openrouter: {
|
|
360
359
|
provider: string;
|
|
@@ -365,19 +364,19 @@ declare class OpenRouterChatLanguageModel implements LanguageModelV2 {
|
|
|
365
364
|
request?: {
|
|
366
365
|
body?: unknown;
|
|
367
366
|
};
|
|
368
|
-
response?:
|
|
369
|
-
headers?:
|
|
367
|
+
response?: LanguageModelV3ResponseMetadata & {
|
|
368
|
+
headers?: SharedV3Headers;
|
|
370
369
|
body?: unknown;
|
|
371
370
|
};
|
|
372
371
|
}>;
|
|
373
|
-
doStream(options:
|
|
374
|
-
stream: ReadableStream<
|
|
375
|
-
warnings: Array<
|
|
372
|
+
doStream(options: LanguageModelV3CallOptions): Promise<{
|
|
373
|
+
stream: ReadableStream<LanguageModelV3StreamPart>;
|
|
374
|
+
warnings: Array<SharedV3Warning>;
|
|
376
375
|
request?: {
|
|
377
376
|
body?: unknown;
|
|
378
377
|
};
|
|
379
|
-
response?:
|
|
380
|
-
headers?:
|
|
378
|
+
response?: LanguageModelV3ResponseMetadata & {
|
|
379
|
+
headers?: SharedV3Headers;
|
|
381
380
|
body?: unknown;
|
|
382
381
|
};
|
|
383
382
|
}>;
|
|
@@ -394,8 +393,8 @@ type OpenRouterCompletionConfig = {
|
|
|
394
393
|
fetch?: typeof fetch;
|
|
395
394
|
extraBody?: Record<string, unknown>;
|
|
396
395
|
};
|
|
397
|
-
declare class OpenRouterCompletionLanguageModel implements
|
|
398
|
-
readonly specificationVersion: "
|
|
396
|
+
declare class OpenRouterCompletionLanguageModel implements LanguageModelV3 {
|
|
397
|
+
readonly specificationVersion: "v3";
|
|
399
398
|
readonly provider = "openrouter";
|
|
400
399
|
readonly modelId: OpenRouterCompletionModelId;
|
|
401
400
|
readonly supportsImageUrls = true;
|
|
@@ -405,8 +404,8 @@ declare class OpenRouterCompletionLanguageModel implements LanguageModelV2 {
|
|
|
405
404
|
private readonly config;
|
|
406
405
|
constructor(modelId: OpenRouterCompletionModelId, settings: OpenRouterCompletionSettings, config: OpenRouterCompletionConfig);
|
|
407
406
|
private getArgs;
|
|
408
|
-
doGenerate(options:
|
|
409
|
-
doStream(options:
|
|
407
|
+
doGenerate(options: LanguageModelV3CallOptions): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
|
|
408
|
+
doStream(options: LanguageModelV3CallOptions): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
|
|
410
409
|
}
|
|
411
410
|
|
|
412
411
|
type OpenRouterEmbeddingConfig = {
|
|
@@ -419,8 +418,8 @@ type OpenRouterEmbeddingConfig = {
|
|
|
419
418
|
fetch?: typeof fetch;
|
|
420
419
|
extraBody?: Record<string, unknown>;
|
|
421
420
|
};
|
|
422
|
-
declare class OpenRouterEmbeddingModel implements
|
|
423
|
-
readonly specificationVersion: "
|
|
421
|
+
declare class OpenRouterEmbeddingModel implements EmbeddingModelV3 {
|
|
422
|
+
readonly specificationVersion: "v3";
|
|
424
423
|
readonly provider = "openrouter";
|
|
425
424
|
readonly modelId: OpenRouterEmbeddingModelId;
|
|
426
425
|
readonly settings: OpenRouterEmbeddingSettings;
|
|
@@ -437,15 +436,16 @@ declare class OpenRouterEmbeddingModel implements EmbeddingModelV2<string> {
|
|
|
437
436
|
usage?: {
|
|
438
437
|
tokens: number;
|
|
439
438
|
};
|
|
440
|
-
providerMetadata?:
|
|
439
|
+
providerMetadata?: SharedV3ProviderMetadata;
|
|
441
440
|
response?: {
|
|
442
|
-
headers?:
|
|
441
|
+
headers?: SharedV3Headers;
|
|
443
442
|
body?: unknown;
|
|
444
443
|
};
|
|
444
|
+
warnings: Array<_ai_sdk_provider.SharedV3Warning>;
|
|
445
445
|
}>;
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
-
interface OpenRouterProvider extends
|
|
448
|
+
interface OpenRouterProvider extends ProviderV3 {
|
|
449
449
|
(modelId: OpenRouterChatModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
|
|
450
450
|
(modelId: OpenRouterChatModelId, settings?: OpenRouterChatSettings): OpenRouterChatLanguageModel;
|
|
451
451
|
languageModel(modelId: OpenRouterChatModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
|
|
@@ -551,84 +551,4 @@ declare class OpenRouter {
|
|
|
551
551
|
embedding(modelId: OpenRouterEmbeddingModelId, settings?: OpenRouterEmbeddingSettings): OpenRouterEmbeddingModel;
|
|
552
552
|
}
|
|
553
553
|
|
|
554
|
-
|
|
555
|
-
* TOON (Token-Oriented Object Notation) helper utilities for token-efficient
|
|
556
|
-
* data encoding in LLM prompts.
|
|
557
|
-
*
|
|
558
|
-
* TOON achieves ~40% token reduction vs JSON for tabular data while maintaining
|
|
559
|
-
* high LLM comprehension accuracy.
|
|
560
|
-
*
|
|
561
|
-
* @see https://toonformat.dev
|
|
562
|
-
* @see https://github.com/toon-format/toon
|
|
563
|
-
*
|
|
564
|
-
* @example
|
|
565
|
-
* ```ts
|
|
566
|
-
* import { encodeToon, decodeToon } from '@openrouter/ai-sdk-provider';
|
|
567
|
-
*
|
|
568
|
-
* // Encode data to TOON format
|
|
569
|
-
* const toon = await encodeToon([
|
|
570
|
-
* { id: 1, name: 'Alice', score: 95 },
|
|
571
|
-
* { id: 2, name: 'Bob', score: 87 },
|
|
572
|
-
* ]);
|
|
573
|
-
* // Result: [2]{id,name,score}: 1,Alice,95 2,Bob,87
|
|
574
|
-
*
|
|
575
|
-
* // Decode TOON back to JSON
|
|
576
|
-
* const data = await decodeToon(toon);
|
|
577
|
-
* ```
|
|
578
|
-
*/
|
|
579
|
-
|
|
580
|
-
type ToonEncodeOptions = EncodeOptions;
|
|
581
|
-
type ToonDecodeOptions = DecodeOptions;
|
|
582
|
-
/**
|
|
583
|
-
* Encodes a JavaScript value into TOON format string.
|
|
584
|
-
*
|
|
585
|
-
* TOON is particularly efficient for uniform arrays of objects (tabular data),
|
|
586
|
-
* achieving CSV-like compactness while preserving explicit structure.
|
|
587
|
-
*
|
|
588
|
-
* @param value - Any JavaScript value (objects, arrays, primitives)
|
|
589
|
-
* @param options - Optional encoding configuration
|
|
590
|
-
* @returns Promise resolving to TOON formatted string
|
|
591
|
-
*
|
|
592
|
-
* @example
|
|
593
|
-
* ```ts
|
|
594
|
-
* // Simple object
|
|
595
|
-
* await encodeToon({ name: 'Alice', age: 30 });
|
|
596
|
-
* // name: Alice
|
|
597
|
-
* // age: 30
|
|
598
|
-
*
|
|
599
|
-
* // Tabular array (most efficient)
|
|
600
|
-
* await encodeToon([
|
|
601
|
-
* { id: 1, name: 'Alice' },
|
|
602
|
-
* { id: 2, name: 'Bob' },
|
|
603
|
-
* ]);
|
|
604
|
-
* // [2]{id,name}: 1,Alice 2,Bob
|
|
605
|
-
*
|
|
606
|
-
* // With options
|
|
607
|
-
* await encodeToon(data, { indent: 4, keyFolding: 'safe' });
|
|
608
|
-
* ```
|
|
609
|
-
*/
|
|
610
|
-
declare function encodeToon(value: unknown, options?: ToonEncodeOptions): Promise<string>;
|
|
611
|
-
/**
|
|
612
|
-
* Decodes a TOON format string into a JavaScript value.
|
|
613
|
-
*
|
|
614
|
-
* @param input - TOON formatted string
|
|
615
|
-
* @param options - Optional decoding configuration
|
|
616
|
-
* @returns Promise resolving to parsed JavaScript value
|
|
617
|
-
*
|
|
618
|
-
* @example
|
|
619
|
-
* ```ts
|
|
620
|
-
* // Decode simple object
|
|
621
|
-
* await decodeToon('name: Alice\nage: 30');
|
|
622
|
-
* // { name: 'Alice', age: 30 }
|
|
623
|
-
*
|
|
624
|
-
* // Decode tabular array
|
|
625
|
-
* await decodeToon('[2]{id,name}: 1,Alice 2,Bob');
|
|
626
|
-
* // [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]
|
|
627
|
-
*
|
|
628
|
-
* // With options
|
|
629
|
-
* await decodeToon(toonString, { strict: false, expandPaths: 'safe' });
|
|
630
|
-
* ```
|
|
631
|
-
*/
|
|
632
|
-
declare function decodeToon(input: string, options?: ToonDecodeOptions): Promise<JsonValue>;
|
|
633
|
-
|
|
634
|
-
export { OpenRouter, type OpenRouterChatSettings, type OpenRouterCompletionSettings, type OpenRouterEmbeddingModelId, type OpenRouterEmbeddingSettings, type OpenRouterProvider, type OpenRouterProviderOptions, type OpenRouterProviderSettings, type OpenRouterSharedSettings, type OpenRouterUsageAccounting, type ToonDecodeOptions, type ToonEncodeOptions, createOpenRouter, decodeToon, encodeToon, openrouter };
|
|
554
|
+
export { OpenRouter, type OpenRouterChatSettings, type OpenRouterCompletionSettings, type OpenRouterEmbeddingModelId, type OpenRouterEmbeddingSettings, type OpenRouterProvider, type OpenRouterProviderOptions, type OpenRouterProviderSettings, type OpenRouterSharedSettings, type OpenRouterUsageAccounting, createOpenRouter, openrouter };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import * as _ai_sdk_provider from '@ai-sdk/provider';
|
|
2
|
+
import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3Content, LanguageModelV3FinishReason, LanguageModelV3Usage, SharedV3Warning, LanguageModelV3ResponseMetadata, SharedV3Headers, LanguageModelV3StreamPart, EmbeddingModelV3, SharedV3ProviderMetadata, ProviderV3 } from '@ai-sdk/provider';
|
|
3
|
+
export { LanguageModelV3, LanguageModelV3Prompt } from '@ai-sdk/provider';
|
|
3
4
|
import * as models from '@openrouter/sdk/models';
|
|
4
5
|
import { z } from 'zod/v4';
|
|
5
|
-
import { EncodeOptions, DecodeOptions, JsonValue } from '@toon-format/toon';
|
|
6
|
-
export { DecodeOptions, EncodeOptions, JsonValue } from '@toon-format/toon';
|
|
7
6
|
|
|
8
7
|
type OpenRouterChatModelId = string;
|
|
9
8
|
type OpenRouterChatSettings = {
|
|
@@ -339,8 +338,8 @@ type OpenRouterChatConfig = {
|
|
|
339
338
|
fetch?: typeof fetch;
|
|
340
339
|
extraBody?: Record<string, unknown>;
|
|
341
340
|
};
|
|
342
|
-
declare class OpenRouterChatLanguageModel implements
|
|
343
|
-
readonly specificationVersion: "
|
|
341
|
+
declare class OpenRouterChatLanguageModel implements LanguageModelV3 {
|
|
342
|
+
readonly specificationVersion: "v3";
|
|
344
343
|
readonly provider = "openrouter";
|
|
345
344
|
readonly defaultObjectGenerationMode: "tool";
|
|
346
345
|
readonly modelId: OpenRouterChatModelId;
|
|
@@ -350,11 +349,11 @@ declare class OpenRouterChatLanguageModel implements LanguageModelV2 {
|
|
|
350
349
|
private readonly config;
|
|
351
350
|
constructor(modelId: OpenRouterChatModelId, settings: OpenRouterChatSettings, config: OpenRouterChatConfig);
|
|
352
351
|
private getArgs;
|
|
353
|
-
doGenerate(options:
|
|
354
|
-
content: Array<
|
|
355
|
-
finishReason:
|
|
356
|
-
usage:
|
|
357
|
-
warnings: Array<
|
|
352
|
+
doGenerate(options: LanguageModelV3CallOptions): Promise<{
|
|
353
|
+
content: Array<LanguageModelV3Content>;
|
|
354
|
+
finishReason: LanguageModelV3FinishReason;
|
|
355
|
+
usage: LanguageModelV3Usage;
|
|
356
|
+
warnings: Array<SharedV3Warning>;
|
|
358
357
|
providerMetadata?: {
|
|
359
358
|
openrouter: {
|
|
360
359
|
provider: string;
|
|
@@ -365,19 +364,19 @@ declare class OpenRouterChatLanguageModel implements LanguageModelV2 {
|
|
|
365
364
|
request?: {
|
|
366
365
|
body?: unknown;
|
|
367
366
|
};
|
|
368
|
-
response?:
|
|
369
|
-
headers?:
|
|
367
|
+
response?: LanguageModelV3ResponseMetadata & {
|
|
368
|
+
headers?: SharedV3Headers;
|
|
370
369
|
body?: unknown;
|
|
371
370
|
};
|
|
372
371
|
}>;
|
|
373
|
-
doStream(options:
|
|
374
|
-
stream: ReadableStream<
|
|
375
|
-
warnings: Array<
|
|
372
|
+
doStream(options: LanguageModelV3CallOptions): Promise<{
|
|
373
|
+
stream: ReadableStream<LanguageModelV3StreamPart>;
|
|
374
|
+
warnings: Array<SharedV3Warning>;
|
|
376
375
|
request?: {
|
|
377
376
|
body?: unknown;
|
|
378
377
|
};
|
|
379
|
-
response?:
|
|
380
|
-
headers?:
|
|
378
|
+
response?: LanguageModelV3ResponseMetadata & {
|
|
379
|
+
headers?: SharedV3Headers;
|
|
381
380
|
body?: unknown;
|
|
382
381
|
};
|
|
383
382
|
}>;
|
|
@@ -394,8 +393,8 @@ type OpenRouterCompletionConfig = {
|
|
|
394
393
|
fetch?: typeof fetch;
|
|
395
394
|
extraBody?: Record<string, unknown>;
|
|
396
395
|
};
|
|
397
|
-
declare class OpenRouterCompletionLanguageModel implements
|
|
398
|
-
readonly specificationVersion: "
|
|
396
|
+
declare class OpenRouterCompletionLanguageModel implements LanguageModelV3 {
|
|
397
|
+
readonly specificationVersion: "v3";
|
|
399
398
|
readonly provider = "openrouter";
|
|
400
399
|
readonly modelId: OpenRouterCompletionModelId;
|
|
401
400
|
readonly supportsImageUrls = true;
|
|
@@ -405,8 +404,8 @@ declare class OpenRouterCompletionLanguageModel implements LanguageModelV2 {
|
|
|
405
404
|
private readonly config;
|
|
406
405
|
constructor(modelId: OpenRouterCompletionModelId, settings: OpenRouterCompletionSettings, config: OpenRouterCompletionConfig);
|
|
407
406
|
private getArgs;
|
|
408
|
-
doGenerate(options:
|
|
409
|
-
doStream(options:
|
|
407
|
+
doGenerate(options: LanguageModelV3CallOptions): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
|
|
408
|
+
doStream(options: LanguageModelV3CallOptions): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
|
|
410
409
|
}
|
|
411
410
|
|
|
412
411
|
type OpenRouterEmbeddingConfig = {
|
|
@@ -419,8 +418,8 @@ type OpenRouterEmbeddingConfig = {
|
|
|
419
418
|
fetch?: typeof fetch;
|
|
420
419
|
extraBody?: Record<string, unknown>;
|
|
421
420
|
};
|
|
422
|
-
declare class OpenRouterEmbeddingModel implements
|
|
423
|
-
readonly specificationVersion: "
|
|
421
|
+
declare class OpenRouterEmbeddingModel implements EmbeddingModelV3 {
|
|
422
|
+
readonly specificationVersion: "v3";
|
|
424
423
|
readonly provider = "openrouter";
|
|
425
424
|
readonly modelId: OpenRouterEmbeddingModelId;
|
|
426
425
|
readonly settings: OpenRouterEmbeddingSettings;
|
|
@@ -437,15 +436,16 @@ declare class OpenRouterEmbeddingModel implements EmbeddingModelV2<string> {
|
|
|
437
436
|
usage?: {
|
|
438
437
|
tokens: number;
|
|
439
438
|
};
|
|
440
|
-
providerMetadata?:
|
|
439
|
+
providerMetadata?: SharedV3ProviderMetadata;
|
|
441
440
|
response?: {
|
|
442
|
-
headers?:
|
|
441
|
+
headers?: SharedV3Headers;
|
|
443
442
|
body?: unknown;
|
|
444
443
|
};
|
|
444
|
+
warnings: Array<_ai_sdk_provider.SharedV3Warning>;
|
|
445
445
|
}>;
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
-
interface OpenRouterProvider extends
|
|
448
|
+
interface OpenRouterProvider extends ProviderV3 {
|
|
449
449
|
(modelId: OpenRouterChatModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
|
|
450
450
|
(modelId: OpenRouterChatModelId, settings?: OpenRouterChatSettings): OpenRouterChatLanguageModel;
|
|
451
451
|
languageModel(modelId: OpenRouterChatModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
|
|
@@ -551,84 +551,4 @@ declare class OpenRouter {
|
|
|
551
551
|
embedding(modelId: OpenRouterEmbeddingModelId, settings?: OpenRouterEmbeddingSettings): OpenRouterEmbeddingModel;
|
|
552
552
|
}
|
|
553
553
|
|
|
554
|
-
|
|
555
|
-
* TOON (Token-Oriented Object Notation) helper utilities for token-efficient
|
|
556
|
-
* data encoding in LLM prompts.
|
|
557
|
-
*
|
|
558
|
-
* TOON achieves ~40% token reduction vs JSON for tabular data while maintaining
|
|
559
|
-
* high LLM comprehension accuracy.
|
|
560
|
-
*
|
|
561
|
-
* @see https://toonformat.dev
|
|
562
|
-
* @see https://github.com/toon-format/toon
|
|
563
|
-
*
|
|
564
|
-
* @example
|
|
565
|
-
* ```ts
|
|
566
|
-
* import { encodeToon, decodeToon } from '@openrouter/ai-sdk-provider';
|
|
567
|
-
*
|
|
568
|
-
* // Encode data to TOON format
|
|
569
|
-
* const toon = await encodeToon([
|
|
570
|
-
* { id: 1, name: 'Alice', score: 95 },
|
|
571
|
-
* { id: 2, name: 'Bob', score: 87 },
|
|
572
|
-
* ]);
|
|
573
|
-
* // Result: [2]{id,name,score}: 1,Alice,95 2,Bob,87
|
|
574
|
-
*
|
|
575
|
-
* // Decode TOON back to JSON
|
|
576
|
-
* const data = await decodeToon(toon);
|
|
577
|
-
* ```
|
|
578
|
-
*/
|
|
579
|
-
|
|
580
|
-
type ToonEncodeOptions = EncodeOptions;
|
|
581
|
-
type ToonDecodeOptions = DecodeOptions;
|
|
582
|
-
/**
|
|
583
|
-
* Encodes a JavaScript value into TOON format string.
|
|
584
|
-
*
|
|
585
|
-
* TOON is particularly efficient for uniform arrays of objects (tabular data),
|
|
586
|
-
* achieving CSV-like compactness while preserving explicit structure.
|
|
587
|
-
*
|
|
588
|
-
* @param value - Any JavaScript value (objects, arrays, primitives)
|
|
589
|
-
* @param options - Optional encoding configuration
|
|
590
|
-
* @returns Promise resolving to TOON formatted string
|
|
591
|
-
*
|
|
592
|
-
* @example
|
|
593
|
-
* ```ts
|
|
594
|
-
* // Simple object
|
|
595
|
-
* await encodeToon({ name: 'Alice', age: 30 });
|
|
596
|
-
* // name: Alice
|
|
597
|
-
* // age: 30
|
|
598
|
-
*
|
|
599
|
-
* // Tabular array (most efficient)
|
|
600
|
-
* await encodeToon([
|
|
601
|
-
* { id: 1, name: 'Alice' },
|
|
602
|
-
* { id: 2, name: 'Bob' },
|
|
603
|
-
* ]);
|
|
604
|
-
* // [2]{id,name}: 1,Alice 2,Bob
|
|
605
|
-
*
|
|
606
|
-
* // With options
|
|
607
|
-
* await encodeToon(data, { indent: 4, keyFolding: 'safe' });
|
|
608
|
-
* ```
|
|
609
|
-
*/
|
|
610
|
-
declare function encodeToon(value: unknown, options?: ToonEncodeOptions): Promise<string>;
|
|
611
|
-
/**
|
|
612
|
-
* Decodes a TOON format string into a JavaScript value.
|
|
613
|
-
*
|
|
614
|
-
* @param input - TOON formatted string
|
|
615
|
-
* @param options - Optional decoding configuration
|
|
616
|
-
* @returns Promise resolving to parsed JavaScript value
|
|
617
|
-
*
|
|
618
|
-
* @example
|
|
619
|
-
* ```ts
|
|
620
|
-
* // Decode simple object
|
|
621
|
-
* await decodeToon('name: Alice\nage: 30');
|
|
622
|
-
* // { name: 'Alice', age: 30 }
|
|
623
|
-
*
|
|
624
|
-
* // Decode tabular array
|
|
625
|
-
* await decodeToon('[2]{id,name}: 1,Alice 2,Bob');
|
|
626
|
-
* // [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]
|
|
627
|
-
*
|
|
628
|
-
* // With options
|
|
629
|
-
* await decodeToon(toonString, { strict: false, expandPaths: 'safe' });
|
|
630
|
-
* ```
|
|
631
|
-
*/
|
|
632
|
-
declare function decodeToon(input: string, options?: ToonDecodeOptions): Promise<JsonValue>;
|
|
633
|
-
|
|
634
|
-
export { OpenRouter, type OpenRouterChatSettings, type OpenRouterCompletionSettings, type OpenRouterEmbeddingModelId, type OpenRouterEmbeddingSettings, type OpenRouterProvider, type OpenRouterProviderOptions, type OpenRouterProviderSettings, type OpenRouterSharedSettings, type OpenRouterUsageAccounting, type ToonDecodeOptions, type ToonEncodeOptions, createOpenRouter, decodeToon, encodeToon, openrouter };
|
|
554
|
+
export { OpenRouter, type OpenRouterChatSettings, type OpenRouterCompletionSettings, type OpenRouterEmbeddingModelId, type OpenRouterEmbeddingSettings, type OpenRouterProvider, type OpenRouterProviderOptions, type OpenRouterProviderSettings, type OpenRouterSharedSettings, type OpenRouterUsageAccounting, createOpenRouter, openrouter };
|