fix: align embedded session setup with sdk
This commit is contained in:
parent
ded95d5c70
commit
d2a852b982
3 changed files with 16 additions and 33 deletions
|
|
@ -3,7 +3,6 @@ import os from "node:os";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
createAgentSession,
|
createAgentSession,
|
||||||
DefaultResourceLoader,
|
|
||||||
estimateTokens,
|
estimateTokens,
|
||||||
SessionManager,
|
SessionManager,
|
||||||
SettingsManager,
|
SettingsManager,
|
||||||
|
|
@ -384,19 +383,7 @@ export async function compactEmbeddedPiSessionDirect(
|
||||||
sandboxEnabled: !!sandbox?.enabled,
|
sandboxEnabled: !!sandbox?.enabled,
|
||||||
});
|
});
|
||||||
|
|
||||||
let session: Awaited<ReturnType<typeof createAgentSession>>["session"];
|
const { session } = await createAgentSession({
|
||||||
const resourceLoader = new DefaultResourceLoader({
|
|
||||||
cwd: resolvedWorkspace,
|
|
||||||
agentDir,
|
|
||||||
settingsManager,
|
|
||||||
additionalExtensionPaths,
|
|
||||||
noSkills: true,
|
|
||||||
systemPromptOverride: systemPrompt,
|
|
||||||
agentsFilesOverride: () => ({ agentsFiles: [] }),
|
|
||||||
});
|
|
||||||
await resourceLoader.reload();
|
|
||||||
|
|
||||||
({ session } = await createAgentSession({
|
|
||||||
cwd: resolvedWorkspace,
|
cwd: resolvedWorkspace,
|
||||||
agentDir,
|
agentDir,
|
||||||
authStorage,
|
authStorage,
|
||||||
|
|
@ -407,8 +394,11 @@ export async function compactEmbeddedPiSessionDirect(
|
||||||
customTools,
|
customTools,
|
||||||
sessionManager,
|
sessionManager,
|
||||||
settingsManager,
|
settingsManager,
|
||||||
resourceLoader,
|
additionalExtensionPaths,
|
||||||
}));
|
skills: [],
|
||||||
|
contextFiles: [],
|
||||||
|
systemPrompt,
|
||||||
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const prior = await sanitizeSessionHistory({
|
const prior = await sanitizeSessionHistory({
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,7 @@ import os from "node:os";
|
||||||
import type { AgentMessage } from "@mariozechner/pi-agent-core";
|
import type { AgentMessage } from "@mariozechner/pi-agent-core";
|
||||||
import type { AssistantMessage, ImageContent } from "@mariozechner/pi-ai";
|
import type { AssistantMessage, ImageContent } from "@mariozechner/pi-ai";
|
||||||
import { streamSimple } from "@mariozechner/pi-ai";
|
import { streamSimple } from "@mariozechner/pi-ai";
|
||||||
import {
|
import { createAgentSession, SessionManager, SettingsManager } from "@mariozechner/pi-coding-agent";
|
||||||
createAgentSession,
|
|
||||||
DefaultResourceLoader,
|
|
||||||
SessionManager,
|
|
||||||
SettingsManager,
|
|
||||||
} from "@mariozechner/pi-coding-agent";
|
|
||||||
|
|
||||||
import { resolveHeartbeatPrompt } from "../../../auto-reply/heartbeat.js";
|
import { resolveHeartbeatPrompt } from "../../../auto-reply/heartbeat.js";
|
||||||
import {
|
import {
|
||||||
|
|
@ -452,16 +447,6 @@ export async function runEmbeddedAttempt(
|
||||||
|
|
||||||
const allCustomTools = [...customTools, ...clientToolDefs];
|
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({
|
({ session } = await createAgentSession({
|
||||||
cwd: resolvedWorkspace,
|
cwd: resolvedWorkspace,
|
||||||
agentDir,
|
agentDir,
|
||||||
|
|
@ -473,7 +458,10 @@ export async function runEmbeddedAttempt(
|
||||||
customTools: allCustomTools,
|
customTools: allCustomTools,
|
||||||
sessionManager,
|
sessionManager,
|
||||||
settingsManager,
|
settingsManager,
|
||||||
resourceLoader,
|
additionalExtensionPaths,
|
||||||
|
skills: [],
|
||||||
|
contextFiles: [],
|
||||||
|
systemPrompt,
|
||||||
}));
|
}));
|
||||||
if (!session) {
|
if (!session) {
|
||||||
throw new Error("Embedded agent session missing");
|
throw new Error("Embedded agent session missing");
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,11 @@ const modelRegistryState = {
|
||||||
models: [] as Array<Record<string, unknown>>,
|
models: [] as Array<Record<string, unknown>>,
|
||||||
available: [] 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", () => ({
|
vi.mock("../config/config.js", () => ({
|
||||||
CONFIG_PATH: "/tmp/openclaw.json",
|
CONFIG_PATH: "/tmp/openclaw.json",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue