UNPKG

erosolar-cli

Version:

Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning

131 lines 3.73 kB
/** * Centralized agent schema loader. * * This module provides type-safe loading and validation of the centralized * agent configuration schema from src/contracts/agent-schemas.json. * All agent-related configuration should be loaded through this module * to ensure consistency across the application. */ import type { ProviderId } from './types.js'; import type { AgentProfileEntry } from '../contracts/v1/agentProfileManifest.js'; /** * Provider configuration from centralized schema */ export interface ProviderConfig { id: ProviderId; label: string; description?: string; envVars?: { apiKey?: string; }; capabilities?: string[]; metadata?: Record<string, unknown>; } /** * Model configuration from centralized schema */ export interface ModelConfig { id: string; label: string; provider: ProviderId; description?: string; reasoningEffort?: 'low' | 'medium' | 'high'; temperature?: number; maxTokens?: number; capabilities?: string[]; metadata?: Record<string, unknown>; } /** * Slash command configuration */ export interface SlashCommandConfig { command: string; description: string; category?: 'configuration' | 'diagnostics' | 'workspace' | 'other'; metadata?: Record<string, unknown>; } /** * Capability definition */ export interface CapabilityConfig { id: string; label: string; description?: string; metadata?: Record<string, unknown>; } /** * The complete centralized agent schema */ export interface AgentSchemasManifest { contractVersion: string; version: string; label?: string; description?: string; providers: ProviderConfig[]; models: ModelConfig[]; profiles: AgentProfileEntry[]; slashCommands?: SlashCommandConfig[]; capabilities?: CapabilityConfig[]; metadata?: Record<string, unknown>; } /** * Load the centralized agent schemas manifest. * Results are cached for performance. * * @returns The complete agent schemas manifest * @throws Error if the schema file cannot be read or parsed */ export declare function getAgentSchemas(): AgentSchemasManifest; /** * Get all provider configurations */ export declare function getProviders(): ProviderConfig[]; /** * Get a specific provider by ID */ export declare function getProvider(providerId: ProviderId): ProviderConfig | undefined; /** * Get all model configurations (includes both static and discovered models) */ export declare function getModels(): ModelConfig[]; /** * Get models for a specific provider */ export declare function getModelsByProvider(providerId: ProviderId): ModelConfig[]; /** * Get a specific model by ID */ export declare function getModel(modelId: string): ModelConfig | undefined; /** * Get all agent profiles */ export declare function getProfiles(): AgentProfileEntry[]; /** * Get a specific profile by name */ export declare function getProfile(profileName: string): AgentProfileEntry | undefined; /** * Get all slash commands */ export declare function getSlashCommands(): SlashCommandConfig[]; /** * Get all capabilities */ export declare function getCapabilities(): CapabilityConfig[]; /** * Clear the cached schema (useful for testing) */ export declare function clearSchemaCache(): void; /** * Validate that a provider ID exists in the schema */ export declare function isValidProvider(providerId: string): providerId is ProviderId; /** * Validate that a model ID exists in the schema */ export declare function isValidModel(modelId: string): boolean; /** * Validate that a profile name exists in the schema */ export declare function isValidProfile(profileName: string): boolean; //# sourceMappingURL=agentSchemaLoader.d.ts.map