fix: align embedded session setup with sdk

This commit is contained in:
Peter Steinberger
2026-01-31 06:22:19 +00:00
parent ded95d5c70
commit d2a852b982
3 changed files with 16 additions and 33 deletions

View File

@@ -3,7 +3,6 @@ import os from "node:os";
import {
createAgentSession,
DefaultResourceLoader,
estimateTokens,
SessionManager,
SettingsManager,
@@ -384,19 +383,7 @@ export async function compactEmbeddedPiSessionDirect(
sandboxEnabled: !!sandbox?.enabled,
});
let session: Awaited<ReturnType<typeof createAgentSession>>["session"];
const resourceLoader = new DefaultResourceLoader({
cwd: resolvedWorkspace,
agentDir,
settingsManager,
additionalExtensionPaths,
noSkills: true,
systemPromptOverride: systemPrompt,
agentsFilesOverride: () => ({ agentsFiles: [] }),
});
await resourceLoader.reload();
({ session } = await createAgentSession({
const { session } = await createAgentSession({
cwd: resolvedWorkspace,
agentDir,
authStorage,
@@ -407,8 +394,11 @@ export async function compactEmbeddedPiSessionDirect(
customTools,
sessionManager,
settingsManager,
resourceLoader,
}));
additionalExtensionPaths,
skills: [],
contextFiles: [],
systemPrompt,
});
try {
const prior = await sanitizeSessionHistory({

View File

@@ -4,12 +4,7 @@ import os from "node:os";
import type { AgentMessage } from "@mariozechner/pi-agent-core";
import type { AssistantMessage, ImageContent } from "@mariozechner/pi-ai";
import { streamSimple } from "@mariozechner/pi-ai";
import {
createAgentSession,
DefaultResourceLoader,
SessionManager,
SettingsManager,
} from "@mariozechner/pi-coding-agent";
import { createAgentSession, SessionManager, SettingsManager } from "@mariozechner/pi-coding-agent";
import { resolveHeartbeatPrompt } from "../../../auto-reply/heartbeat.js";
import {
@@ -452,16 +447,6 @@ export async function runEmbeddedAttempt(
const allCustomTools = [...customTools, ...clientToolDefs];
const resourceLoader = new DefaultResourceLoader({
cwd: resolvedWorkspace,
agentDir,
settingsManager,
additionalExtensionPaths,
noSkills: true,
systemPromptOverride: systemPrompt,
agentsFilesOverride: () => ({ agentsFiles: [] }),
});
await resourceLoader.reload();
({ session } = await createAgentSession({
cwd: resolvedWorkspace,
agentDir,
@@ -473,7 +458,10 @@ export async function runEmbeddedAttempt(
customTools: allCustomTools,
sessionManager,
settingsManager,
resourceLoader,
additionalExtensionPaths,
skills: [],
contextFiles: [],
systemPrompt,
}));
if (!session) {
throw new Error("Embedded agent session missing");

View File

@@ -17,6 +17,11 @@ const modelRegistryState = {
models: [] as Array<Record<string, unknown>>,
available: [] as Array<Record<string, unknown>>,
};
const discoverAuthStorage = vi.fn().mockReturnValue({});
const discoverModels = vi.fn().mockReturnValue({
getAll: () => modelRegistryState.models,
getAvailable: () => modelRegistryState.available,
});
vi.mock("../config/config.js", () => ({
CONFIG_PATH: "/tmp/openclaw.json",