@effect/ai-openrouter 4.0.0-beta.1 → 4.0.0-beta.100

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.
@@ -1,49 +1,32 @@
1
+ import * as Context from "effect/Context";
1
2
  import * as Effect from "effect/Effect";
2
3
  import * as Layer from "effect/Layer";
3
- import * as ServiceMap from "effect/ServiceMap";
4
+ import type * as Schema from "effect/Schema";
4
5
  import * as LanguageModel from "effect/unstable/ai/LanguageModel";
5
6
  import * as AiModel from "effect/unstable/ai/Model";
6
7
  import type * as Generated from "./Generated.ts";
7
8
  import { OpenRouterClient } from "./OpenRouterClient.ts";
8
- declare const Config_base: ServiceMap.ServiceClass<Config, "@effect/ai-openrouter/OpenRouterLanguageModel/Config", {
9
- readonly metadata?: {};
10
- readonly max_tokens?: number | null;
11
- readonly model?: string;
12
- readonly user?: string;
13
- readonly max_completion_tokens?: number | null;
14
- readonly temperature?: number | null;
15
- readonly top_p?: number | null;
16
- readonly frequency_penalty?: number | null;
17
- readonly presence_penalty?: number | null;
18
- readonly logit_bias?: {} | null;
19
- readonly logprobs?: boolean | null;
20
- readonly top_logprobs?: number | null;
21
- readonly seed?: number | null;
22
- readonly stop?: string | readonly string[] | null;
23
- readonly reasoning?: {
24
- readonly effort?: "high" | "low" | "medium" | "none" | "xhigh" | "minimal" | null;
25
- readonly summary?: "auto" | "concise" | "detailed" | null;
26
- };
9
+ declare const Config_base: Context.ServiceClass<Config, "@effect/ai-openrouter/OpenRouterLanguageModel/Config", {
27
10
  readonly provider?: {
28
- readonly sort?: "price" | "throughput" | "latency" | {
29
- readonly by?: "price" | "throughput" | "latency" | null;
30
- readonly partition?: "none" | "model" | null;
31
- } | null;
32
11
  readonly allow_fallbacks?: boolean | null;
33
12
  readonly require_parameters?: boolean | null;
34
- readonly data_collection?: "deny" | "allow" | null;
13
+ readonly data_collection?: "allow" | "deny" | null;
35
14
  readonly zdr?: boolean | null;
36
15
  readonly enforce_distillable_text?: boolean | null;
37
16
  readonly order?: readonly string[] | null;
38
17
  readonly only?: readonly string[] | null;
39
18
  readonly ignore?: readonly string[] | null;
40
- readonly quantizations?: readonly ("int4" | "int8" | "fp4" | "fp6" | "fp8" | "fp16" | "bf16" | "fp32" | "unknown")[] | null;
19
+ readonly quantizations?: readonly ("bf16" | "fp16" | "fp32" | "fp4" | "fp6" | "fp8" | "int4" | "int8" | "unknown")[] | null;
20
+ readonly sort?: "latency" | "price" | "throughput" | {
21
+ readonly by?: "latency" | "price" | "throughput" | null;
22
+ readonly partition?: "model" | "none" | null;
23
+ } | null;
41
24
  readonly max_price?: {
42
- readonly image?: unknown;
43
- readonly request?: unknown;
44
- readonly audio?: unknown;
45
25
  readonly prompt?: unknown;
46
26
  readonly completion?: unknown;
27
+ readonly image?: unknown;
28
+ readonly audio?: unknown;
29
+ readonly request?: unknown;
47
30
  };
48
31
  readonly preferred_min_throughput?: number | {
49
32
  readonly p50?: number | null;
@@ -58,60 +41,113 @@ declare const Config_base: ServiceMap.ServiceClass<Config, "@effect/ai-openroute
58
41
  readonly p99?: number | null;
59
42
  } | null;
60
43
  } | null;
61
- readonly plugins?: readonly ({
44
+ readonly plugins?: readonly (Schema.Struct.ReadonlySide<{
45
+ readonly id: Schema.Literal<"moderation">;
46
+ }, "Encoded"> | {
62
47
  readonly id: "auto-router";
63
48
  readonly enabled?: boolean;
64
49
  readonly allowed_models?: readonly string[];
65
- } | {
66
- readonly id: "moderation";
67
50
  } | {
68
51
  readonly id: "web";
69
52
  readonly enabled?: boolean;
70
- readonly engine?: "native" | "exa";
71
53
  readonly max_results?: number;
72
54
  readonly search_prompt?: string;
55
+ readonly engine?: "exa" | "native";
73
56
  } | {
74
57
  readonly id: "file-parser";
75
58
  readonly enabled?: boolean;
76
59
  readonly pdf?: {
77
- readonly engine?: "native" | "mistral-ocr" | "pdf-text";
60
+ readonly engine?: "mistral-ocr" | "native" | "pdf-text";
78
61
  };
79
62
  } | {
80
63
  readonly id: "response-healing";
81
64
  readonly enabled?: boolean;
82
65
  })[];
83
- readonly route?: "sort" | "fallback" | null;
66
+ readonly route?: "fallback" | "sort" | null;
67
+ readonly user?: string;
84
68
  readonly session_id?: string;
69
+ readonly trace?: {
70
+ readonly trace_id?: string;
71
+ readonly trace_name?: string;
72
+ readonly span_name?: string;
73
+ readonly generation_name?: string;
74
+ readonly parent_span_id?: string;
75
+ };
76
+ readonly model?: string;
85
77
  readonly models?: readonly string[];
86
- readonly image_config?: {};
87
- readonly modalities?: readonly ("text" | "image")[];
78
+ readonly frequency_penalty?: number | null;
79
+ readonly logit_bias?: Schema.Struct.ReadonlySide<{}, "Encoded"> | null;
80
+ readonly logprobs?: boolean | null;
81
+ readonly top_logprobs?: number | null;
82
+ readonly max_completion_tokens?: number | null;
83
+ readonly max_tokens?: number | null;
84
+ readonly metadata?: Schema.Struct.ReadonlySide<{}, "Encoded">;
85
+ readonly presence_penalty?: number | null;
86
+ readonly reasoning?: {
87
+ readonly effort?: "high" | "low" | "medium" | "minimal" | "none" | "xhigh" | null;
88
+ readonly summary?: "auto" | "concise" | "detailed" | null;
89
+ };
90
+ readonly seed?: number | null;
91
+ readonly stop?: string | readonly string[] | null;
92
+ readonly temperature?: number | null;
93
+ readonly parallel_tool_calls?: boolean | null;
94
+ readonly top_p?: number | null;
88
95
  readonly debug?: {
89
96
  readonly echo_upstream_body?: boolean;
90
97
  };
91
- readonly strictJsonSchema?: boolean | undefined | undefined;
98
+ readonly image_config?: Schema.Struct.ReadonlySide<{}, "Encoded">;
99
+ readonly modalities?: readonly ("image" | "text")[];
100
+ readonly strictJsonSchema?: boolean | undefined;
92
101
  }>;
93
102
  /**
94
- * Service definition for OpenRouter language model configuration.
103
+ * Context service for OpenRouter language model configuration.
104
+ *
105
+ * **When to use**
106
+ *
107
+ * Use to provide scoped OpenRouter chat completion defaults or per-operation
108
+ * overrides for an OpenRouter language model service.
109
+ *
110
+ * @see {@link withConfigOverride} for scoping language model request overrides
95
111
  *
96
- * @since 1.0.0
97
112
  * @category services
113
+ * @since 4.0.0
98
114
  */
99
115
  export declare class Config extends Config_base {
100
116
  }
101
117
  /**
102
- * @since 1.0.0
118
+ * OpenRouter assistant reasoning detail blocks preserved for multi-turn
119
+ * conversations.
120
+ *
103
121
  * @category models
122
+ * @since 4.0.0
104
123
  */
105
124
  export type ReasoningDetails = Exclude<typeof Generated.AssistantMessage.Encoded["reasoning_details"], undefined>;
106
125
  /**
107
- * @since 1.0.0
126
+ * File annotations emitted on OpenRouter assistant messages and exposed in
127
+ * finish metadata.
128
+ *
108
129
  * @category models
130
+ * @since 4.0.0
109
131
  */
110
132
  export type FileAnnotation = Extract<NonNullable<typeof Generated.AssistantMessage.fields.annotations.Type>[number], {
111
133
  type: "file";
112
134
  }>;
113
135
  declare module "effect/unstable/ai/Prompt" {
136
+ /**
137
+ * OpenRouter-specific options for system messages.
138
+ *
139
+ * **Details**
140
+ *
141
+ * These options are used when translating system instructions into
142
+ * OpenRouter chat messages.
143
+ *
144
+ * @category request
145
+ * @since 4.0.0
146
+ */
114
147
  interface SystemMessageOptions extends ProviderOptions {
148
+ /**
149
+ * Provider-specific options sent to OpenRouter for the system message.
150
+ */
115
151
  readonly openrouter?: {
116
152
  /**
117
153
  * A breakpoint which marks the end of reusable content eligible for caching.
@@ -119,7 +155,21 @@ declare module "effect/unstable/ai/Prompt" {
119
155
  readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
120
156
  } | null;
121
157
  }
158
+ /**
159
+ * OpenRouter-specific options for user messages.
160
+ *
161
+ * **Details**
162
+ *
163
+ * These options are used when translating user content into OpenRouter chat
164
+ * messages.
165
+ *
166
+ * @category request
167
+ * @since 4.0.0
168
+ */
122
169
  interface UserMessageOptions extends ProviderOptions {
170
+ /**
171
+ * Provider-specific options sent to OpenRouter for the user message.
172
+ */
123
173
  readonly openrouter?: {
124
174
  /**
125
175
  * A breakpoint which marks the end of reusable content eligible for caching.
@@ -127,7 +177,21 @@ declare module "effect/unstable/ai/Prompt" {
127
177
  readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
128
178
  } | null;
129
179
  }
180
+ /**
181
+ * OpenRouter-specific options for assistant messages.
182
+ *
183
+ * **Details**
184
+ *
185
+ * Preserves reasoning metadata when assistant messages are replayed in later
186
+ * OpenRouter requests.
187
+ *
188
+ * @category request
189
+ * @since 4.0.0
190
+ */
130
191
  interface AssistantMessageOptions extends ProviderOptions {
192
+ /**
193
+ * Provider-specific options sent to OpenRouter for the assistant message.
194
+ */
131
195
  readonly openrouter?: {
132
196
  /**
133
197
  * A breakpoint which marks the end of reusable content eligible for caching.
@@ -139,7 +203,21 @@ declare module "effect/unstable/ai/Prompt" {
139
203
  readonly reasoningDetails?: ReasoningDetails | null;
140
204
  } | null;
141
205
  }
206
+ /**
207
+ * OpenRouter-specific options for tool messages.
208
+ *
209
+ * **Details**
210
+ *
211
+ * These options are used when converting tool results into OpenRouter chat
212
+ * messages.
213
+ *
214
+ * @category request
215
+ * @since 4.0.0
216
+ */
142
217
  interface ToolMessageOptions extends ProviderOptions {
218
+ /**
219
+ * Provider-specific options sent to OpenRouter for the tool message.
220
+ */
143
221
  readonly openrouter?: {
144
222
  /**
145
223
  * A breakpoint which marks the end of reusable content eligible for caching.
@@ -147,7 +225,20 @@ declare module "effect/unstable/ai/Prompt" {
147
225
  readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
148
226
  } | null;
149
227
  }
228
+ /**
229
+ * OpenRouter-specific options for text prompt parts.
230
+ *
231
+ * **When to use**
232
+ *
233
+ * Use when you use these options to control how text content is sent to OpenRouter.
234
+ *
235
+ * @category request
236
+ * @since 4.0.0
237
+ */
150
238
  interface TextPartOptions extends ProviderOptions {
239
+ /**
240
+ * Provider-specific options sent to OpenRouter for the text part.
241
+ */
151
242
  readonly openrouter?: {
152
243
  /**
153
244
  * A breakpoint which marks the end of reusable content eligible for caching.
@@ -155,7 +246,21 @@ declare module "effect/unstable/ai/Prompt" {
155
246
  readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
156
247
  } | null;
157
248
  }
249
+ /**
250
+ * OpenRouter-specific options for reasoning prompt parts.
251
+ *
252
+ * **Details**
253
+ *
254
+ * Preserves provider reasoning blocks so reasoning-aware conversations can
255
+ * continue across OpenRouter requests.
256
+ *
257
+ * @category request
258
+ * @since 4.0.0
259
+ */
158
260
  interface ReasoningPartOptions extends ProviderOptions {
261
+ /**
262
+ * Provider-specific options sent to OpenRouter for the reasoning part.
263
+ */
159
264
  readonly openrouter?: {
160
265
  /**
161
266
  * A breakpoint which marks the end of reusable content eligible for caching.
@@ -167,7 +272,20 @@ declare module "effect/unstable/ai/Prompt" {
167
272
  readonly reasoningDetails?: ReasoningDetails | null;
168
273
  } | null;
169
274
  }
275
+ /**
276
+ * OpenRouter-specific options for file prompt parts.
277
+ *
278
+ * **Details**
279
+ *
280
+ * Controls file naming and prompt caching for files sent to OpenRouter.
281
+ *
282
+ * @category request
283
+ * @since 4.0.0
284
+ */
170
285
  interface FilePartOptions extends ProviderOptions {
286
+ /**
287
+ * Provider-specific options sent to OpenRouter for the file part.
288
+ */
171
289
  readonly openrouter?: {
172
290
  /**
173
291
  * The name to give to the file. Will be prioritized over the file name
@@ -180,7 +298,21 @@ declare module "effect/unstable/ai/Prompt" {
180
298
  readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
181
299
  } | null;
182
300
  }
301
+ /**
302
+ * OpenRouter-specific options for tool call prompt parts.
303
+ *
304
+ * **Details**
305
+ *
306
+ * Preserves reasoning details associated with tool calls when a conversation
307
+ * is sent back to OpenRouter.
308
+ *
309
+ * @category request
310
+ * @since 4.0.0
311
+ */
183
312
  interface ToolCallPartOptions extends ProviderOptions {
313
+ /**
314
+ * Provider-specific options sent to OpenRouter for the tool call part.
315
+ */
184
316
  readonly openrouter?: {
185
317
  /**
186
318
  * Reasoning details associated with the tool call part.
@@ -188,7 +320,20 @@ declare module "effect/unstable/ai/Prompt" {
188
320
  readonly reasoningDetails?: ReasoningDetails | null;
189
321
  } | null;
190
322
  }
323
+ /**
324
+ * OpenRouter-specific options for tool result prompt parts.
325
+ *
326
+ * **Details**
327
+ *
328
+ * Controls prompt caching for tool results sent to OpenRouter.
329
+ *
330
+ * @category request
331
+ * @since 4.0.0
332
+ */
191
333
  interface ToolResultPartOptions extends ProviderOptions {
334
+ /**
335
+ * Provider-specific options sent to OpenRouter for the tool result part.
336
+ */
192
337
  readonly openrouter?: {
193
338
  /**
194
339
  * A breakpoint which marks the end of reusable content eligible for caching.
@@ -198,52 +343,205 @@ declare module "effect/unstable/ai/Prompt" {
198
343
  }
199
344
  }
200
345
  declare module "effect/unstable/ai/Response" {
346
+ /**
347
+ * OpenRouter metadata attached to completed reasoning response parts.
348
+ *
349
+ * **Details**
350
+ *
351
+ * Preserves provider reasoning details that can be sent back in later turns.
352
+ *
353
+ * @category response
354
+ * @since 4.0.0
355
+ */
201
356
  interface ReasoningPartMetadata extends ProviderMetadata {
357
+ /**
358
+ * Provider-specific metadata returned for the reasoning part.
359
+ */
202
360
  readonly openrouter?: {
361
+ /**
362
+ * Reasoning details emitted by the underlying provider for this part.
363
+ */
203
364
  readonly reasoningDetails?: ReasoningDetails | null;
204
365
  } | null;
205
366
  }
367
+ /**
368
+ * OpenRouter metadata emitted when a streamed reasoning part starts.
369
+ *
370
+ * **Details**
371
+ *
372
+ * Carries the first reasoning detail chunk when OpenRouter exposes one.
373
+ *
374
+ * @category response
375
+ * @since 4.0.0
376
+ */
206
377
  interface ReasoningStartPartMetadata extends ProviderMetadata {
378
+ /**
379
+ * Provider-specific metadata returned for the streamed reasoning start.
380
+ */
207
381
  readonly openrouter?: {
382
+ /**
383
+ * Reasoning details emitted by the underlying provider for this part.
384
+ */
208
385
  readonly reasoningDetails?: ReasoningDetails | null;
209
386
  } | null;
210
387
  }
388
+ /**
389
+ * OpenRouter metadata emitted for streamed reasoning deltas.
390
+ *
391
+ * **Details**
392
+ *
393
+ * Carries provider reasoning detail chunks as they arrive from OpenRouter.
394
+ *
395
+ * @category response
396
+ * @since 4.0.0
397
+ */
211
398
  interface ReasoningDeltaPartMetadata extends ProviderMetadata {
399
+ /**
400
+ * Provider-specific metadata returned for the streamed reasoning delta.
401
+ */
212
402
  readonly openrouter?: {
403
+ /**
404
+ * Reasoning details emitted by the underlying provider for this delta.
405
+ */
213
406
  readonly reasoningDetails?: ReasoningDetails | null;
214
407
  } | null;
215
408
  }
409
+ /**
410
+ * OpenRouter metadata attached to tool-call response parts.
411
+ *
412
+ * **Details**
413
+ *
414
+ * Associates tool calls with provider reasoning details when the model emits
415
+ * reasoning and tool calls together.
416
+ *
417
+ * @category response
418
+ * @since 4.0.0
419
+ */
216
420
  interface ToolCallPartMetadata extends ProviderMetadata {
421
+ /**
422
+ * Provider-specific metadata returned for the tool call.
423
+ */
217
424
  readonly openrouter?: {
425
+ /**
426
+ * Reasoning details associated with this tool call.
427
+ */
218
428
  readonly reasoningDetails?: ReasoningDetails | null;
219
429
  } | null;
220
430
  }
431
+ /**
432
+ * OpenRouter metadata attached to URL source citations.
433
+ *
434
+ * **Details**
435
+ *
436
+ * Includes citation text and offsets returned by providers that support URL
437
+ * annotations.
438
+ *
439
+ * @category response
440
+ * @since 4.0.0
441
+ */
221
442
  interface UrlSourcePartMetadata extends ProviderMetadata {
443
+ /**
444
+ * Provider-specific citation metadata returned for the URL source.
445
+ */
222
446
  readonly openrouter?: {
447
+ /**
448
+ * The cited source content returned by the provider.
449
+ */
223
450
  readonly content?: string | null;
451
+ /**
452
+ * The zero-based start index of the citation in the generated text.
453
+ */
224
454
  readonly startIndex?: number | null;
455
+ /**
456
+ * The zero-based end index of the citation in the generated text.
457
+ */
225
458
  readonly endIndex?: number | null;
226
459
  } | null;
227
460
  }
461
+ /**
462
+ * OpenRouter metadata attached to finish response parts.
463
+ *
464
+ * **Details**
465
+ *
466
+ * Exposes provider response details that are not represented by the common
467
+ * Effect AI finish part fields.
468
+ *
469
+ * @category response
470
+ * @since 4.0.0
471
+ */
228
472
  interface FinishPartMetadata extends ProviderMetadata {
473
+ /**
474
+ * Provider-specific metadata returned when the OpenRouter response finishes.
475
+ */
229
476
  readonly openrouter?: {
477
+ /**
478
+ * Provider fingerprint for the backend configuration that served the request.
479
+ */
230
480
  readonly systemFingerprint?: string | null;
481
+ /**
482
+ * Raw token usage reported by OpenRouter.
483
+ */
231
484
  readonly usage?: typeof Generated.ChatGenerationTokenUsage.Encoded | null;
485
+ /**
486
+ * File annotations returned by the provider.
487
+ */
232
488
  readonly annotations?: ReadonlyArray<FileAnnotation> | null;
489
+ /**
490
+ * The OpenRouter provider that served the request, when reported.
491
+ */
233
492
  readonly provider?: string | null;
234
493
  } | null;
235
494
  }
236
495
  }
237
496
  /**
238
- * @since 1.0.0
497
+ * Creates an OpenRouter model descriptor that can be provided with
498
+ * `Effect.provide`.
499
+ *
500
+ * **When to use**
501
+ *
502
+ * Use when you want an OpenRouter language model value that carries provider
503
+ * and model metadata and can be supplied directly to an Effect program.
504
+ *
505
+ * **Details**
506
+ *
507
+ * The returned model requires `OpenRouterClient` and provides
508
+ * `LanguageModel.LanguageModel`.
509
+ *
510
+ * @see {@link layer} for creating a `LanguageModel.LanguageModel` layer directly
511
+ * @see {@link make} for constructing the language model service effectfully
512
+ * @see {@link withConfigOverride} for scoping OpenRouter request overrides
513
+ *
239
514
  * @category constructors
515
+ * @since 4.0.0
240
516
  */
241
517
  export declare const model: (model: string, config?: Omit<typeof Config.Service, "model">) => AiModel.Model<"openai", LanguageModel.LanguageModel, OpenRouterClient>;
242
518
  /**
243
- * Creates an OpenRouter language model service.
519
+ * Creates an OpenRouter `LanguageModel` service from a model identifier and
520
+ * optional request defaults.
521
+ *
522
+ * **When to use**
523
+ *
524
+ * Use when you need to construct a `LanguageModel.Service` value backed by
525
+ * `OpenRouterClient` inside an Effect.
526
+ *
527
+ * **Details**
528
+ *
529
+ * The returned effect requires `OpenRouterClient`. Request defaults from the
530
+ * `config` option are merged with any `Config` service in the context, with
531
+ * context values taking precedence. The service supports both `generateText`
532
+ * and `streamText`.
533
+ *
534
+ * **Gotchas**
535
+ *
536
+ * Provider-defined tools are not supported by this provider integration;
537
+ * requests that include them fail with an `InvalidUserInputError`.
538
+ *
539
+ * @see {@link layer} for providing the service as a `Layer`
540
+ * @see {@link model} for creating a model descriptor for `Effect.provide`
541
+ * @see {@link withConfigOverride} for scoping request defaults around operations
244
542
  *
245
- * @since 1.0.0
246
543
  * @category constructors
544
+ * @since 4.0.0
247
545
  */
248
546
  export declare const make: (args_0: {
249
547
  readonly model: string;
@@ -252,8 +550,17 @@ export declare const make: (args_0: {
252
550
  /**
253
551
  * Creates a layer for the OpenRouter language model.
254
552
  *
255
- * @since 1.0.0
553
+ * **When to use**
554
+ *
555
+ * Use when composing application layers and you want OpenRouter to satisfy
556
+ * `LanguageModel.LanguageModel` while supplying `OpenRouterClient` from another
557
+ * layer.
558
+ *
559
+ * @see {@link make} for constructing the language model service effectfully
560
+ * @see {@link model} for creating a model descriptor for `Effect.provide`
561
+ *
256
562
  * @category layers
563
+ * @since 4.0.0
257
564
  */
258
565
  export declare const layer: (options: {
259
566
  readonly model: string;
@@ -262,22 +569,64 @@ export declare const layer: (options: {
262
569
  /**
263
570
  * Provides config overrides for OpenRouter language model operations.
264
571
  *
265
- * @since 1.0.0
572
+ * **When to use**
573
+ *
574
+ * Use to apply OpenRouter request configuration to one effect without changing
575
+ * the model's default configuration.
576
+ *
577
+ * **Details**
578
+ *
579
+ * The overrides are merged with any existing `Config` service for the duration
580
+ * of the supplied effect. Fields in `overrides` take precedence over existing
581
+ * config, and the helper supports both pipe form and
582
+ * `withConfigOverride(effect, overrides)`.
583
+ *
584
+ * @see {@link Config} for available OpenRouter request configuration fields
585
+ *
266
586
  * @category configuration
587
+ * @since 4.0.0
267
588
  */
268
589
  export declare const withConfigOverride: {
269
590
  /**
270
591
  * Provides config overrides for OpenRouter language model operations.
271
592
  *
272
- * @since 1.0.0
593
+ * **When to use**
594
+ *
595
+ * Use to apply OpenRouter request configuration to one effect without changing
596
+ * the model's default configuration.
597
+ *
598
+ * **Details**
599
+ *
600
+ * The overrides are merged with any existing `Config` service for the duration
601
+ * of the supplied effect. Fields in `overrides` take precedence over existing
602
+ * config, and the helper supports both pipe form and
603
+ * `withConfigOverride(effect, overrides)`.
604
+ *
605
+ * @see {@link Config} for available OpenRouter request configuration fields
606
+ *
273
607
  * @category configuration
608
+ * @since 4.0.0
274
609
  */
275
610
  (overrides: typeof Config.Service): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Config>>;
276
611
  /**
277
612
  * Provides config overrides for OpenRouter language model operations.
278
613
  *
279
- * @since 1.0.0
614
+ * **When to use**
615
+ *
616
+ * Use to apply OpenRouter request configuration to one effect without changing
617
+ * the model's default configuration.
618
+ *
619
+ * **Details**
620
+ *
621
+ * The overrides are merged with any existing `Config` service for the duration
622
+ * of the supplied effect. Fields in `overrides` take precedence over existing
623
+ * config, and the helper supports both pipe form and
624
+ * `withConfigOverride(effect, overrides)`.
625
+ *
626
+ * @see {@link Config} for available OpenRouter request configuration fields
627
+ *
280
628
  * @category configuration
629
+ * @since 4.0.0
281
630
  */
282
631
  <A, E, R>(self: Effect.Effect<A, E, R>, overrides: typeof Config.Service): Effect.Effect<A, E, Exclude<R, Config>>;
283
632
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OpenRouterLanguageModel.d.ts","sourceRoot":"","sources":["../src/OpenRouterLanguageModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenRouterLanguageModel.d.ts","sourceRoot":"","sources":["../src/OpenRouterLanguageModel.ts"],"names":[],"mappings":"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"}