fix(agents): cache bootstrap snapshots per session key

Co-authored-by: Isis Anisoptera <github@lotuswind.net>
This commit is contained in:
Peter Steinberger
2026-02-23 19:04:54 +00:00
parent 8b3eee71ec
commit 40db3fef49
5 changed files with 136 additions and 4 deletions

View File

@@ -1,4 +1,5 @@
import type { OpenClawConfig } from "../config/config.js";
import { getOrLoadBootstrapFiles } from "./bootstrap-cache.js";
import { applyBootstrapHookOverrides } from "./bootstrap-hooks.js";
import type { EmbeddedContextFile } from "./pi-embedded-helpers.js";
import {
@@ -49,10 +50,13 @@ export async function resolveBootstrapFilesForRun(params: {
warn?: (message: string) => void;
}): Promise<WorkspaceBootstrapFile[]> {
const sessionKey = params.sessionKey ?? params.sessionId;
const bootstrapFiles = filterBootstrapFilesForSession(
await loadWorkspaceBootstrapFiles(params.workspaceDir),
sessionKey,
);
const rawFiles = params.sessionKey
? await getOrLoadBootstrapFiles({
workspaceDir: params.workspaceDir,
sessionKey: params.sessionKey,
})
: await loadWorkspaceBootstrapFiles(params.workspaceDir);
const bootstrapFiles = filterBootstrapFilesForSession(rawFiles, sessionKey);
const updated = await applyBootstrapHookOverrides({
files: bootstrapFiles,