/** * Where Claude Code keeps its sessions inside a home. * * A home holds `projects//.jsonl`. The encoding and the * default home are facts about the installed version, not assumptions: the live boundary test * T-CC-16 lands a real session and compares it with what this file computes. */ import type { HomePath, SessionId } from "./contract.js"; /** Session files live one directory per repository, under this directory of the home. */ export declare const PROJECTS_DIR = "projects"; export declare const SESSION_FILE_SUFFIX = ".jsonl"; /** Claude Code reads this before falling back to ~/.claude. It is how `~/.claude-team` is named. */ export declare const CONFIG_DIR_ENV = "CLAUDE_CONFIG_DIR"; export declare const DEFAULT_HOME_BASENAME = ".claude"; /** The home used when the user names none (FR-3). Absolute, resolved. */ export declare function resolveDefaultHome(env?: Record, userHome?: string): HomePath; /** * The project directory name of a repository: the absolute path with every character that is * not a letter or a digit replaced by a dash. */ export declare function encodeProjectPath(repoPath: string): string; export declare function projectsDir(home: HomePath): string; export declare function projectDir(home: HomePath, repoPath: string): string; export declare function sessionFilePath(home: HomePath, repoPath: string, id: SessionId): string; export declare function sessionIdOf(filePath: string): SessionId; /** Every session file of a home, across all of its project directories. */ export declare function listSessionFiles(home: HomePath): Promise; /** The file of one session id, or null when the home does not hold it. */ export declare function findSessionFile(home: HomePath, id: SessionId): Promise;