/**
 * Runtime AI configuration read by any module that needs to call an LLM.
 * This is the shared port — concrete implementations live in the owning
 * module (currently `admin`) so we avoid cross-module application-layer
 * coupling (A-09).
 */
export interface AiRuntimeConfig {
  apiUrl: string;
  apiKey: string | null;
  model: string;
}

export interface IAIConfigProvider {
  /**
   * Return the currently configured runtime AI settings. Implementations
   * should resolve secrets server-side and MUST never expose the raw key
   * over HTTP — this port is intended for backend runtime use only.
   */
  getAiConfig(): Promise<AiRuntimeConfig>;
}

export const AI_CONFIG_PROVIDER = Symbol('AI_CONFIG_PROVIDER');
