@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 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 v5
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 v4
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-v4
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-v4
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-v4
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. The provider exposes embeddings compatible with both AI SDK v5 and v4.
59
+ OpenRouter supports embedding models for semantic search, RAG pipelines, and vector-native features.
61
60
 
62
- ### AI SDK v5 (Recommended)
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 { LanguageModelV2, LanguageModelV2CallOptions, LanguageModelV2Content, LanguageModelV2FinishReason, LanguageModelV2Usage, LanguageModelV2CallWarning, LanguageModelV2ResponseMetadata, SharedV2Headers, LanguageModelV2StreamPart, EmbeddingModelV2, SharedV2ProviderMetadata, ProviderV2 } from '@ai-sdk/provider';
2
- export { LanguageModelV2, LanguageModelV2Prompt } from '@ai-sdk/provider';
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 LanguageModelV2 {
343
- readonly specificationVersion: "v2";
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: LanguageModelV2CallOptions): Promise<{
354
- content: Array<LanguageModelV2Content>;
355
- finishReason: LanguageModelV2FinishReason;
356
- usage: LanguageModelV2Usage;
357
- warnings: Array<LanguageModelV2CallWarning>;
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?: LanguageModelV2ResponseMetadata & {
369
- headers?: SharedV2Headers;
367
+ response?: LanguageModelV3ResponseMetadata & {
368
+ headers?: SharedV3Headers;
370
369
  body?: unknown;
371
370
  };
372
371
  }>;
373
- doStream(options: LanguageModelV2CallOptions): Promise<{
374
- stream: ReadableStream<LanguageModelV2StreamPart>;
375
- warnings: Array<LanguageModelV2CallWarning>;
372
+ doStream(options: LanguageModelV3CallOptions): Promise<{
373
+ stream: ReadableStream<LanguageModelV3StreamPart>;
374
+ warnings: Array<SharedV3Warning>;
376
375
  request?: {
377
376
  body?: unknown;
378
377
  };
379
- response?: LanguageModelV2ResponseMetadata & {
380
- headers?: SharedV2Headers;
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 LanguageModelV2 {
398
- readonly specificationVersion: "v2";
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: LanguageModelV2CallOptions): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>>;
409
- doStream(options: LanguageModelV2CallOptions): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>>;
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 EmbeddingModelV2<string> {
423
- readonly specificationVersion: "v2";
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?: SharedV2ProviderMetadata;
439
+ providerMetadata?: SharedV3ProviderMetadata;
441
440
  response?: {
442
- headers?: SharedV2Headers;
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 ProviderV2 {
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 { LanguageModelV2, LanguageModelV2CallOptions, LanguageModelV2Content, LanguageModelV2FinishReason, LanguageModelV2Usage, LanguageModelV2CallWarning, LanguageModelV2ResponseMetadata, SharedV2Headers, LanguageModelV2StreamPart, EmbeddingModelV2, SharedV2ProviderMetadata, ProviderV2 } from '@ai-sdk/provider';
2
- export { LanguageModelV2, LanguageModelV2Prompt } from '@ai-sdk/provider';
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 LanguageModelV2 {
343
- readonly specificationVersion: "v2";
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: LanguageModelV2CallOptions): Promise<{
354
- content: Array<LanguageModelV2Content>;
355
- finishReason: LanguageModelV2FinishReason;
356
- usage: LanguageModelV2Usage;
357
- warnings: Array<LanguageModelV2CallWarning>;
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?: LanguageModelV2ResponseMetadata & {
369
- headers?: SharedV2Headers;
367
+ response?: LanguageModelV3ResponseMetadata & {
368
+ headers?: SharedV3Headers;
370
369
  body?: unknown;
371
370
  };
372
371
  }>;
373
- doStream(options: LanguageModelV2CallOptions): Promise<{
374
- stream: ReadableStream<LanguageModelV2StreamPart>;
375
- warnings: Array<LanguageModelV2CallWarning>;
372
+ doStream(options: LanguageModelV3CallOptions): Promise<{
373
+ stream: ReadableStream<LanguageModelV3StreamPart>;
374
+ warnings: Array<SharedV3Warning>;
376
375
  request?: {
377
376
  body?: unknown;
378
377
  };
379
- response?: LanguageModelV2ResponseMetadata & {
380
- headers?: SharedV2Headers;
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 LanguageModelV2 {
398
- readonly specificationVersion: "v2";
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: LanguageModelV2CallOptions): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>>;
409
- doStream(options: LanguageModelV2CallOptions): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>>;
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 EmbeddingModelV2<string> {
423
- readonly specificationVersion: "v2";
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?: SharedV2ProviderMetadata;
439
+ providerMetadata?: SharedV3ProviderMetadata;
441
440
  response?: {
442
- headers?: SharedV2Headers;
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 ProviderV2 {
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 };