/** * Configuration Module for PraisonAI TypeScript SDK * * Python parity with praisonaiagents/config module * * Provides: * - Feature configuration interfaces (MemoryConfig, KnowledgeConfig, etc.) * - Preset registries (MEMORY_PRESETS, OUTPUT_PRESETS, etc.) * - Resolver functions (resolve_memory, resolve_output, etc.) * - Parse utilities (detect_url_scheme, is_path_like, etc.) */ /** * Memory storage backends. * Python parity: praisonaiagents/config/feature_configs.py:40-47 */ export declare enum MemoryBackend { FILE = "file", SQLITE = "sqlite", REDIS = "redis", POSTGRES = "postgres", MEM0 = "mem0", MONGODB = "mongodb" } /** * Chunking strategies for knowledge/RAG. * Python parity: praisonaiagents/config/feature_configs.py */ export declare enum ChunkingStrategy { FIXED = "fixed", SEMANTIC = "semantic", SENTENCE = "sentence", PARAGRAPH = "paragraph" } /** * Guardrail actions on failure. * Python parity: praisonaiagents/config/feature_configs.py */ export declare enum GuardrailAction { RAISE = "raise", SKIP = "skip", RETRY = "retry", WARN = "warn" } /** * Web search providers. * Python parity: praisonaiagents/config/feature_configs.py */ export declare enum WebSearchProvider { DUCKDUCKGO = "duckduckgo", TAVILY = "tavily", GOOGLE = "google", BING = "bing", SERPER = "serper" } /** * Output presets. * Python parity: praisonaiagents/config/feature_configs.py */ export declare enum OutputPreset { SILENT = "silent", STATUS = "status", TRACE = "trace", VERBOSE = "verbose", DEBUG = "debug", STREAM = "stream", JSON = "json" } /** * Execution presets. * Python parity: praisonaiagents/config/feature_configs.py */ export declare enum ExecutionPreset { FAST = "fast", BALANCED = "balanced", THOROUGH = "thorough", UNLIMITED = "unlimited" } /** * Array mode for parameter resolution. * Python parity: praisonaiagents/config/param_resolver.py */ export declare enum ArrayMode { FIRST = "first", LAST = "last", MERGE = "merge", ALL = "all" } /** * Memory configuration. * Python parity: praisonaiagents/config/feature_configs.py:117-180 */ export interface MemoryConfig { backend?: MemoryBackend | string; userId?: string; sessionId?: string; autoMemory?: boolean; history?: boolean; historyLimit?: number; learn?: boolean | LearnConfig; storePath?: string; } /** * Learn configuration for continuous learning. * Python parity: praisonaiagents/config/feature_configs.py:60-114 */ export interface LearnConfig { persona?: boolean; insights?: boolean; thread?: boolean; patterns?: boolean; decisions?: boolean; feedback?: boolean; improvements?: boolean; scope?: 'private' | 'shared'; storePath?: string; autoConsolidate?: boolean; retentionDays?: number; } /** * Knowledge/RAG configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface KnowledgeConfig { sources?: string[]; rerank?: boolean; topK?: number; chunkingStrategy?: ChunkingStrategy | string; chunkSize?: number; chunkOverlap?: number; } /** * Planning configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface PlanningConfig { reasoning?: boolean; autoApprove?: boolean; readOnly?: boolean; maxSteps?: number; } /** * Multi-agent planning configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface MultiAgentPlanningConfig extends PlanningConfig { sharedContext?: boolean; coordinationMode?: 'sequential' | 'parallel' | 'hierarchical'; } /** * Reflection configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface ReflectionConfig { minIterations?: number; maxIterations?: number; threshold?: number; } /** * Guardrail configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface GuardrailConfig { maxRetries?: number; onFail?: GuardrailAction | string; validators?: Array<(input: string) => boolean | Promise>; } /** * Web configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface WebConfig { search?: boolean; fetch?: boolean; searchProvider?: WebSearchProvider | string; maxResults?: number; } /** * Output configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface OutputConfig { verbose?: boolean; markdown?: boolean; stream?: boolean; metrics?: boolean; reasoningSteps?: boolean; actionsTrace?: boolean; statusTrace?: boolean; simpleOutput?: boolean; jsonOutput?: boolean; showParameters?: boolean; } /** * Execution configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface ExecutionConfig { maxIter?: number; maxRetryLimit?: number; maxRpm?: number; maxExecutionTime?: number; } /** * Template configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface TemplateConfig { systemPrompt?: string; userPromptTemplate?: string; responseFormat?: string; } /** * Caching configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface CachingConfig { enabled?: boolean; promptCaching?: boolean; ttl?: number; } /** * Hooks configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface HooksConfig { beforeTool?: Array<(toolName: string, args: any) => void | Promise>; afterTool?: Array<(toolName: string, result: any) => void | Promise>; beforeAgent?: Array<(agentName: string, input: string) => void | Promise>; afterAgent?: Array<(agentName: string, output: string) => void | Promise>; } /** * Skills configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface SkillsConfig { paths?: string[]; autoDiscover?: boolean; allowedTools?: string[]; } /** * Session configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface SessionConfig { sessionId?: string; userId?: string; metadata?: Record; ttl?: number; } /** * Defaults configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface DefaultsConfig { llm?: string; temperature?: number; maxTokens?: number; verbose?: boolean; } /** * Plugins configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface PluginsConfig { paths?: string[]; autoLoad?: boolean; disabled?: string[]; } /** * Praison configuration (main config). * Python parity: praisonaiagents/config/feature_configs.py */ export interface PraisonConfig { defaults?: DefaultsConfig; memory?: MemoryConfig; knowledge?: KnowledgeConfig; planning?: PlanningConfig; reflection?: ReflectionConfig; guardrails?: GuardrailConfig; web?: WebConfig; output?: OutputConfig; execution?: ExecutionConfig; caching?: CachingConfig; hooks?: HooksConfig; skills?: SkillsConfig; plugins?: PluginsConfig; } /** * Multi-agent execution configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface MultiAgentExecutionConfig { maxIter?: number; maxRetries?: number; } /** * Multi-agent hooks configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface MultiAgentHooksConfig extends HooksConfig { beforeHandoff?: Array<(from: string, to: string) => void | Promise>; afterHandoff?: Array<(from: string, to: string, result: any) => void | Promise>; } /** * Multi-agent memory configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface MultiAgentMemoryConfig extends MemoryConfig { sharedMemory?: boolean; isolatedSessions?: boolean; } /** * Multi-agent output configuration. * Python parity: praisonaiagents/config/feature_configs.py */ export interface MultiAgentOutputConfig { verbose?: number; stream?: boolean; } /** * Memory presets. * Python parity: praisonaiagents/config/presets.py:18-33 */ export declare const MEMORY_PRESETS: Record>; /** * Memory URL schemes. * Python parity: praisonaiagents/config/presets.py:35-43 */ export declare const MEMORY_URL_SCHEMES: Record; /** * Output presets. * Python parity: praisonaiagents/config/presets.py:60-185 */ export declare const OUTPUT_PRESETS: Record>; /** * Execution presets. * Python parity: praisonaiagents/config/presets.py:198-223 */ export declare const EXECUTION_PRESETS: Record>; /** * Web presets. * Python parity: praisonaiagents/config/presets.py:230-240 */ export declare const WEB_PRESETS: Record>; /** * Planning presets. * Python parity: praisonaiagents/config/presets.py:247-251 */ export declare const PLANNING_PRESETS: Record>; /** * Reflection presets. * Python parity: praisonaiagents/config/presets.py:258-262 */ export declare const REFLECTION_PRESETS: Record>; /** * Guardrail presets. * Python parity: praisonaiagents/config/presets.py:269-273 */ export declare const GUARDRAIL_PRESETS: Record>; /** * Context presets. * Python parity: praisonaiagents/config/presets.py:280-284 */ export declare const CONTEXT_PRESETS: Record>; /** * Autonomy presets. * Python parity: praisonaiagents/config/presets.py:291-295 */ export declare const AUTONOMY_PRESETS: Record>; /** * Caching presets. * Python parity: praisonaiagents/config/presets.py:302-306 */ export declare const CACHING_PRESETS: Record>; /** * Multi-agent output presets. * Python parity: praisonaiagents/config/presets.py:313-317 */ export declare const MULTI_AGENT_OUTPUT_PRESETS: Record>; /** * Multi-agent execution presets. * Python parity: praisonaiagents/config/presets.py:324-329 */ export declare const MULTI_AGENT_EXECUTION_PRESETS: Record>; /** * Knowledge presets. * Python parity: praisonaiagents/config/presets.py:355-357 */ export declare const KNOWLEDGE_PRESETS: Record>; /** * Resolve memory configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_memory(input: boolean | string | MemoryConfig | undefined): MemoryConfig | undefined; /** * Resolve output configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_output(input: boolean | string | OutputConfig | undefined): OutputConfig | undefined; /** * Resolve execution configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_execution(input: boolean | string | ExecutionConfig | undefined): ExecutionConfig | undefined; /** * Resolve web configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_web(input: boolean | string | WebConfig | undefined): WebConfig | undefined; /** * Resolve planning configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_planning(input: boolean | string | PlanningConfig | undefined): PlanningConfig | undefined; /** * Resolve reflection configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_reflection(input: boolean | string | ReflectionConfig | undefined): ReflectionConfig | undefined; /** * Resolve knowledge configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_knowledge(input: boolean | string | string[] | KnowledgeConfig | undefined): KnowledgeConfig | undefined; /** * Resolve context configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_context(input: boolean | string | Record | undefined): Record | undefined; /** * Resolve autonomy configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_autonomy(input: boolean | string | Record | undefined): Record | undefined; /** * Resolve caching configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_caching(input: boolean | string | CachingConfig | undefined): CachingConfig | undefined; /** * Resolve hooks configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_hooks(input: boolean | HooksConfig | undefined): HooksConfig | undefined; /** * Resolve skills configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_skills(input: boolean | string[] | SkillsConfig | undefined): SkillsConfig | undefined; /** * Resolve routing configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_routing(input: boolean | string | Record | undefined): Record | undefined; /** * Resolve guardrails configuration from various input types. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve_guardrails(input: boolean | string | GuardrailConfig | undefined): GuardrailConfig | undefined; /** * Unified resolver function. * Python parity: praisonaiagents/config/param_resolver.py */ export declare function resolve(type: string, input: any, presets?: Record): T | undefined; /** * Detect URL scheme from a connection string. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function detect_url_scheme(url: string): string | undefined; /** * Check if a string looks like a file path. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function is_path_like(value: string): boolean; /** * Suggest similar preset names for typos. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function suggest_similar(input: string, options: string[], maxDistance?: number): string[]; /** * Clean triple backticks from code blocks. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function clean_triple_backticks(text: string): string; /** * Check if a string is a policy string. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function is_policy_string(value: string): boolean; /** * Parse a policy string into structured format. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function parse_policy_string(value: string): { action: string; condition?: string; value?: string; } | undefined; /** * Validate configuration against schema. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function validate_config(config: Record, schema: Record): { valid: boolean; errors: string[]; }; /** * Apply default configuration values. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function apply_config_defaults>(config: Partial, defaults: T): T; /** * Get configuration from environment or defaults. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function get_config(key: string, defaultValue?: string): string | undefined; /** * Get configuration path. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function get_config_path(): string; /** * Get default value for a configuration key. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function get_default(key: string): any; /** * Get defaults configuration. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function get_defaults_config(): DefaultsConfig; /** * Get plugins configuration. * Python parity: praisonaiagents/config/parse_utils.py */ export declare function get_plugins_config(): PluginsConfig; /** * Configuration validation error. * Python parity: praisonaiagents/config */ export declare class ConfigValidationError extends Error { readonly field?: string | undefined; readonly value?: any | undefined; constructor(message: string, field?: string | undefined, value?: any | undefined); }