ExLLM.Adapters.Shared.Validation (ex_llm v0.5.0)

View Source

Shared validation functions for ExLLM adapters.

This module provides common validation patterns used across different adapters to ensure consistency and reduce code duplication.

Summary

Functions

Validates an API key is present and not empty.

Validates a base URL is properly formatted.

Functions

validate_api_key(arg1)

@spec validate_api_key(String.t() | nil) :: {:ok, :valid} | {:error, String.t()}

Validates an API key is present and not empty.

Examples

iex> Validation.validate_api_key("sk-1234567890")
{:ok, :valid}

iex> Validation.validate_api_key(nil)
{:error, "API key not configured"}

iex> Validation.validate_api_key("")
{:error, "API key not configured"}

validate_base_url(url)

@spec validate_base_url(String.t() | nil) :: {:ok, :valid} | {:error, String.t()}

Validates a base URL is properly formatted.

Examples

iex> Validation.validate_base_url("https://api.example.com")
{:ok, :valid}

iex> Validation.validate_base_url("not-a-url")
{:error, "Invalid base URL format"}