/** pi's own per-project directory. Ours is a subdirectory of it. */ export declare const PI_PROJECT_DIR = ".pi"; export declare const PROJECT_STATE_DIRNAME = "pi-daddy"; export declare function piProjectDir(cwd: string): string; /** `/.pi/pi-daddy` — every project-scoped file this package writes. */ export declare function projectStateDir(cwd: string): string; export declare const PROJECT_FILES: Readonly<{ settings: "settings.json"; gitignore: ".gitignore"; ledger: "grants.jsonl"; activityTimeline: "activity.jsonl"; }>; export declare const projectSettingsPath: (cwd: string) => string; export declare const projectGitignorePath: (cwd: string) => string; export declare const projectLedgerPath: (cwd: string) => string; export declare const activityTimelinePath: (cwd: string) => string; /** The `.gitignore` init writes inside the project state directory: settings is committable, nothing else is. */ export declare const PROJECT_GITIGNORE_CONTENT = "# Written by pi-daddy init. Only settings.json is meant to be committed; the rest is private runtime state.\n*\n!.gitignore\n!settings.json\n"; /** Is this path inside pi's per-project directory of any project? The private controller journals refuse such paths. */ export declare function isUnderPiProjectDir(path: string): boolean; /** `$PI_CODING_AGENT_DIR`, or pi's default `~/.pi/agent`. */ export declare function agentDir(env?: NodeJS.ProcessEnv): string; /** `/pi-daddy` — every user-scoped file this package writes. */ export declare function userStateDir(env?: NodeJS.ProcessEnv): string; export declare const USER_DIRS: Readonly<{ grants: "grants"; approvals: "approvals"; workspaceLeases: "workspace-leases"; /** ADR-0042 follow-up: which registry ids this operator has accepted. Keyed by REGISTRY, not by project. */ workspaces: "workspaces"; }>; /** * `-<16 hex>.json`: the basename keeps the directory legible, the hash makes it unambiguous, since two * checkouts can share a basename. 64 bits, not the 24 this once shipped with (R-41). */ export declare function projectFileName(cwd: string): string; export declare const grantStorePath: (cwd: string, env?: NodeJS.ProcessEnv) => string; export declare const approvalsPath: (cwd: string, env?: NodeJS.ProcessEnv) => string; /** * Where the accepted id set for one registry lives. * * Keyed by the registry path rather than by `cwd`, because accepting an id is a statement about the * OPERATOR'S registry and not about a project: two checkouts sharing a registry share the decision, and * re-accepting per project would be a prompt with no new information in it. */ export declare const acceptedWorkspacesPath: (registryPath: string, env?: NodeJS.ProcessEnv) => string; export declare const workspaceLeasesDir: (env?: NodeJS.ProcessEnv) => string; /** Where the same stores lived before ADR-0076 PR 3c. Reported when found, never read (ADR-0020 precedent). */ export declare const legacyUserGrantStorePath: (cwd: string, env?: NodeJS.ProcessEnv) => string; export declare const legacyUserApprovalsPath: (cwd: string, env?: NodeJS.ProcessEnv) => string; export declare const legacyProjectLedgerPath: (cwd: string) => string; export declare const legacyGrantEnvPath: (cwd: string) => string; //# sourceMappingURL=project-paths.d.ts.map