module Clacky::ClackyEnv

def default_anthropic_format

Get default model anthropic_format flag
def default_anthropic_format
  return true if ENV[ENV_ANTHROPIC_FORMAT].nil? || ENV[ENV_ANTHROPIC_FORMAT].empty?
  ENV[ENV_ANTHROPIC_FORMAT].downcase == "true"
end

def default_api_key

Get default model API key
def default_api_key
  ENV[ENV_API_KEY] if ENV[ENV_API_KEY] && !ENV[ENV_API_KEY].empty?
end

def default_base_url

Get default model base URL (no default, must be explicitly set)
def default_base_url
  ENV[ENV_BASE_URL] if ENV[ENV_BASE_URL] && !ENV[ENV_BASE_URL].empty?
end

def default_configured?

Check if default model is configured via environment variables
def default_configured?
  !default_api_key.nil? && !default_api_key.empty?
end

def default_model

Get default model name
def default_model
  ENV[ENV_MODEL] && !ENV[ENV_MODEL].empty? ? ENV[ENV_MODEL] : DEFAULT_MODEL
end

def default_model_config

Get default model configuration as a hash
def default_model_config
  {
    "type" => "default",
    "api_key" => default_api_key,
    "base_url" => default_base_url,
    "model" => default_model,
    "anthropic_format" => default_anthropic_format
  }.compact
end

def lite_anthropic_format

Get lite model anthropic_format flag
def lite_anthropic_format
  return true if ENV[ENV_LITE_ANTHROPIC_FORMAT].nil? || ENV[ENV_LITE_ANTHROPIC_FORMAT].empty?
  ENV[ENV_LITE_ANTHROPIC_FORMAT].downcase == "true"
end

def lite_api_key

Get lite model API key
def lite_api_key
  ENV[ENV_LITE_API_KEY] if ENV[ENV_LITE_API_KEY] && !ENV[ENV_LITE_API_KEY].empty?
end

def lite_base_url

Get lite model base URL (no default, must be explicitly set)
def lite_base_url
  ENV[ENV_LITE_BASE_URL] if ENV[ENV_LITE_BASE_URL] && !ENV[ENV_LITE_BASE_URL].empty?
end

def lite_configured?

Check if lite model is configured via environment variables
def lite_configured?
  !lite_api_key.nil? && !lite_api_key.empty?
end

def lite_model

Get lite model name
def lite_model
  ENV[ENV_LITE_MODEL] && !ENV[ENV_LITE_MODEL].empty? ? ENV[ENV_LITE_MODEL] : "claude-haiku-4"
end

def lite_model_config

Get lite model configuration as a hash
def lite_model_config
  {
    "type" => "lite",
    "api_key" => lite_api_key,
    "base_url" => lite_base_url,
    "model" => lite_model,
    "anthropic_format" => lite_anthropic_format
  }.compact
end