/** * Real on-disk locations for the project config file and memory database, * as actually written by `monomind init` (see init/write-runtime-config.ts * and commands/init.ts) and verified by `doctor`'s checkConfigFile()/ * checkMemoryDatabase() (commands/doctor-project-checks.ts and * commands/doctor-memory-checks.ts). Each array is a * list of candidate paths relative to a project root, in priority order — * callers are responsible for resolving them against whatever base directory * is appropriate for their context (doctor checks them relative to * process.cwd(); MCP tools join them against getProjectCwd()). * * Shared here so doctor and the system_health MCP tool check the same real * paths and can't drift apart again (see #239, where system_health checked * `.monomind/config.json`/`.monomind/memory/store.json`, neither of which * `monomind init` ever creates, while doctor already checked the paths below * and passed). */ export declare const CONFIG_JSON_CANDIDATE_PATHS: string[]; export declare const CONFIG_YAML_CANDIDATE_PATHS: string[]; export declare const MEMORY_DB_CANDIDATE_PATHS: string[]; /** * Returns the effective project working directory. * Prefers MONOMIND_CWD (set by the install script for global/MCP installs * where process.cwd() may resolve to '/') over the real process.cwd(). */ export declare function getProjectCwd(): string; export declare function getMonomindDataRoot(cwd?: string): string; /** * One-time migration for the agent/task/hive/swarm stores that historically lived * under `/.monomind/` (via getProjectCwd()) before being * consolidated onto the canonical getMonomindDataRoot() location (typically * `/.git/monomind/`). Several MCP tool files (agent-tools.ts, * hive-mind-tools.ts, swarm-tools.ts, system-tools.ts) used to read/write the * legacy path directly, causing the same logical store to physically split from * task-tools.ts/session-tools.ts, which always used getMonomindDataRoot(). * * If the canonical file is missing but the legacy file exists, copy (never move, * for safety) the legacy file into place so pre-existing data isn't silently * orphaned. Best-effort and idempotent — never throws, and it's a no-op once the * canonical file exists or when the two paths already coincide (e.g. no .git). * * @param canonicalPath Absolute path under getMonomindDataRoot() the tool now reads from. * @param legacySubpath Path relative to `.monomind/` that the tool used to read from * (e.g. `join('agents', 'store.json')`). * @param cwd Optional project cwd override (defaults to getProjectCwd()). */ export declare function migrateLegacyStoreFile(canonicalPath: string, legacySubpath: string, cwd?: string): void; //# sourceMappingURL=paths.d.ts.map