import { DomainError, ErrorCodes } from '@/common/errors/domain-error';
import { LlmProvider, LlmRequest, LlmResponse } from './llm.provider';

/**
 * Installed when AI_PROVIDER=disabled (default). Every LLM-backed feature
 * fails fast with AI_DISABLED; deterministic analytics keep working.
 */
export class DisabledProvider implements LlmProvider {
  readonly name = 'disabled';
  readonly model = 'none';

  async complete(_req: LlmRequest): Promise<LlmResponse> {
    throw new DomainError(ErrorCodes.AI_DISABLED, 'AI provider is not configured on this server (AI_PROVIDER=disabled). Deterministic analytics remain available.', 503);
  }
}
