effect-io-ai

Package: @effect/ai-openrouter
Module: OpenRouterClient

OpenRouterClient.Service

The OpenRouter client service interface.

Details

Provides methods for interacting with OpenRouter’s Chat Completions API, including both synchronous and streaming message creation.

Signature

export interface Service {
  readonly client: Generated.OpenRouterClient

  readonly createChatCompletion: (
    options: typeof Generated.ChatRequest.Encoded
  ) => Effect.Effect<
    [body: typeof Generated.SendChatCompletionRequest200.Type, response: HttpClientResponse.HttpClientResponse],
    AiError.AiError
  >

  readonly createChatCompletionStream: (
    options: Omit<typeof Generated.ChatRequest.Encoded, "stream" | "stream_options">
  ) => Effect.Effect<
    [
      response: HttpClientResponse.HttpClientResponse,
      stream: Stream.Stream<ChatStreamingResponseChunkData, AiError.AiError>
    ],
    AiError.AiError
  >
}

Source

Since v4.0.0