Skip to main content

Configuration

Centralized configuration management with environment validation. Load settings from .env files, validate required values, and access configuration throughout your application.

What Problem Does This Solve?

Problem: Config scattered, validation missing, errors at runtime Solution: Centralized, validated configuration

Basic Usage

import { loadConfig } from 'clear-ai-v2/shared';

const config = loadConfig();

console.log(config.llm.provider); // 'openai'
console.log(config.llm.model); // 'gpt-3.5-turbo'
console.log(config.memory.enabled); // true
console.log(config.tools.api_base_url); // 'http://localhost:4000'

Configuration Structure

interface Config {
env: 'development' | 'production' | 'test';
llm: {
provider: string;
model: string;
temperature: number;
max_tokens: number;
fallbackProviders?: string[];
};
memory: {
enabled: boolean;
neo4j?: { uri, user, password };
pinecone?: { apiKey, index };
embedding: { provider, model, dimensions };
};
tokens: {
maxTokens: number;
budgetPerOperation: number;
};
tools: {
api_base_url: string;
};
observability?: {
langfuse?: { publicKey, secretKey };
};
}

Environment Variables

See Environment Setup Guide for complete list.

Validation

Config is validated on load:

try {
const config = loadConfig();
} catch (error) {
console.error('Invalid configuration:', error.message);
// Required fields missing or invalid
}

Testing

yarn test loader.test.ts  # 18 tests

Next: Observability