/** * SharedLedgerStore — file-backed cross-process backing for `OutputLedger` and * `ReadWorkspaceCache`, so subagents that genuinely share a conversation (a `fork`, which * inherits the parent's full context) don't independently re-read the same files or re-run * the same commands the parent already put in that shared context. * * OFF BY DEFAULT — opt in with `LEMMA_SHARED_LEDGER=1` (or `mcp.sharedLedger: true` in * lemma.config.json) AND a `LEMMA_AGENT_TREE_ID` env var identifying the fork tree. Both are * required on purpose: * * - Without a tree id, every process on the machine would share one ledger, and a plain * fresh subagent (no inherited context) would get told a file is "UNCHANGED" or a command * "IDENTICAL" for content it never actually received — suppressing content the model * never saw, which is the one thing these caches must never do. * - The tree id scopes sharing to processes an orchestrator has explicitly declared share a * context (i.e. `fork` subagents of the same parent), which is the only case where "another * process already has this" is actually true for THIS process too. * * TTL is short (30 min): a fork tree is a single task, not a persistent cache. */ export declare function isSharedLedgerEnabled(cwd?: string): boolean; /** Get a shared value for `key` (namespaced), or null if disabled, missing, or expired. */ export declare function getSharedEntry(cwd: string, namespace: "output-ledger" | "read-cache", key: string): string | null; /** Record a value under `key` (namespaced) for other trees-scoped processes to read. */ export declare function setSharedEntry(cwd: string, namespace: "output-ledger" | "read-cache", key: string, value: string): void; //# sourceMappingURL=SharedLedgerStore.d.ts.map