OpenRouterConfig
The OpenRouterConfig module lets a workflow temporarily customize the HTTP client used by generated OpenRouter request methods. OpenRouterClient reads this scoped transform when generated client operations execute, so callers can add middleware or instrumentation without rebuilding the client layer.
Configuration
withClientTransform
Added in v4.0.0
Source
Signature
declare const withClientTransform: { ( transform: (client: HttpClient) => HttpClient, ): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>; <A, E, R>(self: Effect<A, E, R>, transform: (client: HttpClient) => HttpClient): Effect<A, E, R>;};Other
OpenRouterConfig
Added in v4.0.0
Source
Types associated with the OpenRouterConfig context service.
Services
OpenRouterConfig
Added in v4.0.0
Source
Context service for scoped OpenRouter provider configuration used by client operations.
When to use
Use as the context service tag when manually providing or reading scoped OpenRouter provider configuration in an Effect context.
See
withClientTransformfor scoping an HTTP client transformation
Signature
declare class OpenRouterConfig extends Shape< "@effect/ai-openrouter/OpenRouterConfig", Service, this> { constructor(_: never); static readonly getOrUndefined: Effect<Service | undefined>;}
Provides a scoped transform for the OpenRouter HTTP client used by provider operations.
When to use
Use when you need temporary OpenRouter HTTP client customization for a single effect or workflow without rebuilding the client layer.
Details
Supports both data-first and data-last forms. The transform is stored in the scoped
OpenRouterConfigservice and read by generated OpenRouter request operations while running the supplied effect.Gotchas
If a transform is already present in the scoped config, this helper replaces it. Compose transforms manually when both should apply. Streaming chat completion requests are sent directly by
OpenRouterClient.makeand do not read this scoped transform.