/** * [WHO]: isSoulEnabled(), toSoulContext(), createSoulManager() * [FROM]: Depends on soul-options-contract, node:path, node:fs, node:url, node:os, node:module * [TO]: Consumed by core/runtime/agent-session.ts * [HERE]: core/soul-integration.ts - bridges Soul and Catui */ import type { SoulOptionsContract } from "./soul-options-contract.js"; import { type AgentDirContext } from "./agent-dir/agent-dir-context.js"; type SoulManagerType = any; /** * Default Soul configuration for Catui * @param ctx Agent directory context. */ export declare function getSoulConfig(ctx?: AgentDirContext): { soulDir: string; evolution: { natural: number; reflection: number; feedback: number; crisis: number; }; personalityLimits: { maxDelta: number; min: number; max: number; }; valueLimits: { maxDelta: number; min: number; max: number; }; speakingStyleLimits: { maxDelta: number; min: number; max: number; }; memoryRetention: { successes: number; failures: number; patterns: number; decisions: number; }; }; /** * Create a SoulManager instance for Catui * Returns null if nanosoul is not installed * @param ctx Agent directory context. */ export declare function createSoulManager(ctx?: AgentDirContext): Promise; /** * Check if Soul is available */ export declare function isSoulAvailable(): boolean; /** * Convert Catui context to Soul InteractionContext */ export declare function toSoulContext(project: string, tags: string[], complexity: number, toolUsage: Record, userFeedback?: { rating?: number; comment?: string; }): any; /** * Check if Soul should be enabled based on options */ export declare function isSoulEnabled(options: SoulOptionsContract): boolean; /** * Extract rich context from recent session messages for Soul injection. * Scans tool calls for tool usage counts and infers tags from file extensions and tool names. */ export declare function extractSessionContext(messages: Array<{ role: string; content: any; }>, cwd: string): { tags: string[]; complexity: number; toolUsage: Record; }; export {};