/** * Store-path resolution: where a harness files the transcript for a session, * resolved purely from descriptor template data - the tail reader in the * execution layer consumes this, it is never guessed at a call site. The * session id is shape-checked before it becomes a path segment (a traversal * id must never reach the filesystem), and replacements are literal - no * `$&` pattern semantics from String.replace. */ import type { HarnessDescriptor } from "../knowledge/descriptor.js"; export interface StorePathInputs { readonly home: string; readonly cwd: string; readonly sessionId: string; /** Store root the CLI resolved from rootEnv; absent means the * descriptor defaultRoot applies. Templates without {root} ignore it. */ readonly root?: string; } /** The store slug for a cwd under a descriptor's slugging rule. Exported * for the resume-last guard's per-cwd scope directory, which must name the * same directory the harness files sessions under. */ export declare const slugFor: (h: HarnessDescriptor, cwd: string) => string; /** Expand a root-table string (a `defaultRoot`, or a `rootEnv` suffix): * `{home}`, `{cwd}`, and `{cwdSlug}` under the descriptor's slug rule. */ export declare const expandRoot: (h: HarnessDescriptor, value: string, home: string, cwd: string) => string; export declare const storePath: (h: HarnessDescriptor, inputs: StorePathInputs) => string; //# sourceMappingURL=store.d.ts.map