fix(agents): harden embedded pi project settings loading

This commit is contained in:
Peter Steinberger
2026-02-26 21:46:24 +01:00
parent 38b6cee020
commit 611dff985d
4 changed files with 159 additions and 10 deletions

View File

@@ -6,7 +6,6 @@ import {
DefaultResourceLoader,
estimateTokens,
SessionManager,
SettingsManager,
} from "@mariozechner/pi-coding-agent";
import { resolveHeartbeatPrompt } from "../../auto-reply/heartbeat.js";
import type { ReasoningLevel, ThinkLevel } from "../../auto-reply/thinking.js";
@@ -40,7 +39,7 @@ import {
validateAnthropicTurns,
validateGeminiTurns,
} from "../pi-embedded-helpers.js";
import { applyPiCompactionSettingsFromConfig } from "../pi-settings.js";
import { createPreparedEmbeddedPiSettingsManager } from "../pi-project-settings.js";
import { createOpenClawCodingTools } from "../pi-tools.js";
import { resolveSandboxContext } from "../sandbox.js";
import { repairSessionFileIfNeeded } from "../session-file-repair.js";
@@ -538,9 +537,9 @@ export async function compactEmbeddedPiSessionDirect(
allowedToolNames,
});
trackSessionManagerAccess(params.sessionFile);
const settingsManager = SettingsManager.create(effectiveWorkspace, agentDir);
applyPiCompactionSettingsFromConfig({
settingsManager,
const settingsManager = createPreparedEmbeddedPiSettingsManager({
cwd: effectiveWorkspace,
agentDir,
cfg: params.config,
});
// Sets compaction/pruning runtime state and returns extension factories

View File

@@ -6,7 +6,6 @@ import {
createAgentSession,
DefaultResourceLoader,
SessionManager,
SettingsManager,
} from "@mariozechner/pi-coding-agent";
import { resolveHeartbeatPrompt } from "../../../auto-reply/heartbeat.js";
import { resolveChannelCapabilities } from "../../../config/channel-capabilities.js";
@@ -52,7 +51,7 @@ import {
validateGeminiTurns,
} from "../../pi-embedded-helpers.js";
import { subscribeEmbeddedPiSession } from "../../pi-embedded-subscribe.js";
import { applyPiCompactionSettingsFromConfig } from "../../pi-settings.js";
import { createPreparedEmbeddedPiSettingsManager } from "../../pi-project-settings.js";
import { toClientToolDefinitions } from "../../pi-tool-definition-adapter.js";
import { createOpenClawCodingTools, resolveToolLoopDetectionConfig } from "../../pi-tools.js";
import { resolveSandboxContext } from "../../sandbox.js";
@@ -579,9 +578,9 @@ export async function runEmbeddedAttempt(
cwd: effectiveWorkspace,
});
const settingsManager = SettingsManager.create(effectiveWorkspace, agentDir);
applyPiCompactionSettingsFromConfig({
settingsManager,
const settingsManager = createPreparedEmbeddedPiSettingsManager({
cwd: effectiveWorkspace,
agentDir,
cfg: params.config,
});