/** * Darwin — Agent Definition & Config * * Factory functions for creating validated agent definitions * and merging config with sensible defaults. */ import type { AgentDefinition, DarwinConfig } from '../types.js'; /** * Define and validate an agent definition. * Returns the definition with defaults applied for optional fields. * * @example * ```ts * const researcher = defineAgent({ * name: 'researcher', * role: 'Deep Research Agent', * description: 'Researches topics with web sources', * systemPrompt: 'You are a research agent...', * mcp: ['tavily', 'memory'], * tools: ['Read', 'Glob', 'Grep'], * }); * ``` */ export declare function defineAgent(def: AgentDefinition): AgentDefinition; /** * Define a Darwin configuration by merging partial overrides with defaults. * * @example * ```ts * const config = defineConfig({ * memory: 'postgres', * postgresUrl: 'postgresql://...', * evolution: { enabled: true }, * }); * ``` */ export declare function defineConfig(config: Partial): DarwinConfig; /** * Load config from darwin.config.ts in the current working directory. * Falls back to defaults if no config file is found. * * Also checks for DARWIN_POSTGRES_URL env var and auto-sets * memory: 'postgres' + postgresUrl when present. */ export declare function loadConfig(): Promise; /** * Synchronous config loader — returns defaults only. * Used by callers that cannot await (kept for backward compatibility). * * @deprecated Use loadConfig() (async) instead. */ export declare function loadConfigSync(): DarwinConfig; //# sourceMappingURL=agent.d.ts.map