import type { FrameworkConfig, ProviderPackConfig, ToolPoliciesConfig, MCPGlobalServerConfig } from './types'; import type { Intent } from '../intent/intent'; import type { AgentConfig } from '../agent/agent'; import type { PipelineConfigV2 } from '../pipeline/pipeline'; import type { Tool } from '../tool/tool'; import type { Workflow } from '../workflow/manager'; import type { ProviderConfig } from '../platform/provider'; /** * Register a function for use in config-defined pipelines. * Must be called before loading config that references this function. */ export declare function registerPipelineFunction(id: string, fn: (ctx: any) => unknown | Promise): void; /** * Clear all registered pipeline functions. */ export declare function clearPipelineFunctions(): void; /** * Load configuration from a file */ export declare function loadConfig(filePath: string): FrameworkConfig; /** * Validate config structure */ export declare function validateConfig(config: FrameworkConfig): void; /** * Extract intents from config */ export declare function extractIntents(config: FrameworkConfig): Intent[]; /** * Extract agents from config * @param config - Framework configuration * @param basePath - Optional base path for resolving relative prompt file paths (usually config file path) */ export declare function extractAgents(config: FrameworkConfig, basePath?: string): AgentConfig[]; /** * Validate that config-defined agents do not reference markdown files that also contain * YAML frontmatter, which would be ambiguous with standalone agent definition files. */ export declare function validateNoAmbiguousPromptFiles(configAgents: AgentConfig[], basePath?: string): void; /** * Extract tools from config (without execute functions) * * Config-loaded tools only have metadata (JSON Schema) - no Effect Schema. * They become fully typed tools when execute functions are registered at runtime. */ export declare function extractTools(config: FrameworkConfig): Omit[]; /** * Extract tool access policies from config. */ export declare function extractToolPolicies(config: FrameworkConfig): ToolPoliciesConfig | undefined; /** * Extract workflows from config */ export declare function extractWorkflows(config: FrameworkConfig): Workflow[]; /** * Validate providers configuration with Effect Schema. * Returns empty array if providers is null/undefined. * Throws ParseError if validation fails. */ export declare function validateProvidersConfig(providers: unknown): ProviderPackConfig[]; /** * Extracted provider ready for runtime registration. */ export interface ExtractedProvider { /** Provider ID (e.g., 'openai', 'anthropic') */ id: string; /** Package name - either explicit or defaults to id for built-ins */ package: string; /** Runtime configuration for the provider */ config: ProviderConfig; } /** * Extract provider registrations from config. * Validates with Effect Schema, then converts ProviderPackConfig[] to ExtractedProvider[] for runtime use. */ export declare function extractProviders(config: FrameworkConfig): ExtractedProvider[]; /** * Extract extended pipelines from config. */ export declare function extractPipelinesV2(config: FrameworkConfig): PipelineConfigV2[]; /** * Extract MCP server configurations from framework config. * Resolves ${ENV_VAR} patterns in string values and returns array with server IDs. * * @param config - Framework configuration * @returns Array of MCP server configs with resolved env vars and id field */ export declare function extractMCPServers(config: FrameworkConfig): Array; /** * Extract observability configuration from config. * Reads from config.observability and applies environment variable overrides. * * Environment variables: * - FRED_OTEL_ENDPOINT: OTLP endpoint URL * - FRED_OTEL_HEADERS: JSON object of headers (e.g., '{"Authorization":"Bearer token"}') * - FRED_LOG_LEVEL: Minimum log level (trace|debug|info|warning|error|fatal) * - FRED_SAMPLE_RATE: Success sampling rate (0.0 to 1.0) * - FRED_SLOW_THRESHOLD_MS: Slow threshold in milliseconds * - FRED_DEBUG: Debug mode (true/false) * * @param config - Framework configuration * @returns Observability configuration with environment overrides applied */ export declare function extractObservability(config: FrameworkConfig): import('./types').ObservabilityConfig; //# sourceMappingURL=loader.d.ts.map