import type { ClientRequest } from "node:http";

// v0.1 only ships Anthropic; future versions plug OpenAI / DeepSeek / Qwen
// behind the same interface. Internal protocol = Anthropic Messages API;
// other providers translate at this layer.
export interface AiProvider {
  readonly name: string;

  /** Upstream base URL, e.g. https://api.anthropic.com */
  readonly baseUrl: string;

  /**
   * Mutate the in-flight proxy request: strip client credentials, inject the
   * real upstream credential, ensure provider-specific required headers.
   */
  applyToProxyReq(proxyReq: ClientRequest): void;
}
