Download src/agents/embedded-agent-runner/compact.runtime-generation.test.ts from SaylorTwift/openclaw: direct link, hf CLI and curl.
- Browser
- Download file 4.18 kB
-
https://huggingface.co/SaylorTwift/openclaw/resolve/main/src/agents/embedded-agent-runner/compact.runtime-generation.test.ts
- Command line
-
hf download hf://SaylorTwift/openclaw/src/agents/embedded-agent-runner/compact.runtime-generation.test.ts
-
curl -L -o compact.runtime-generation.test.ts https://huggingface.co/SaylorTwift/openclaw/resolve/main/src/agents/embedded-agent-runner/compact.runtime-generation.test.ts
4.18 kB
| import { realpath } from "node:fs/promises"; | |
| import { join } from "node:path"; | |
| import { expectDefined } from "@openclaw/normalization-core"; | |
| import { afterEach, expect, it } from "vitest"; | |
| import { useAutoCleanupTempDirTracker } from "../../../test/helpers/temp-dir.js"; | |
| import { | |
| acquireAgentRunPreparedModelRuntimeMock, | |
| contextEngineCompactMock, | |
| loadCompactHooksHarness, | |
| resetCompactHooksHarnessMocks, | |
| resolveContextEngineMock, | |
| resolveModelAsyncMock, | |
| } from "./compact.hooks.harness.js"; | |
| const { compactEmbeddedAgentSession } = await loadCompactHooksHarness(); | |
| const { AsyncWorkScope } = await import("../../shared/async-work-scope.js"); | |
| const [{ upsertSessionEntryCore }, { closeOpenClawAgentDatabasesForTest }] = await Promise.all([ | |
| import("../../config/sessions/session-accessor.js"), | |
| import("../../state/openclaw-agent-db.js"), | |
| ]); | |
| const tempDirs = useAutoCleanupTempDirTracker((cleanup) => | |
| afterEach(() => { | |
| closeOpenClawAgentDatabasesForTest(); | |
| cleanup(); | |
| }), | |
| ); | |
| it("uses the admitted config and agent storage throughout queued compaction", async () => { | |
| const workspaceDir = await realpath(tempDirs.make("openclaw-compaction-generation-")); | |
| resetCompactHooksHarnessMocks(workspaceDir); | |
| const sessionTarget = { | |
| agentId: "main", | |
| sessionId: "compaction-generation", | |
| sessionKey: "agent:main:compaction-generation", | |
| storePath: join(workspaceDir, "sessions.sqlite"), | |
| }; | |
| await upsertSessionEntryCore(sessionTarget, { sessionId: sessionTarget.sessionId, updatedAt: 1 }); | |
| const admittedAgentDir = join(workspaceDir, "admitted-agent"); | |
| const requestedConfig = { | |
| agents: { defaults: { compaction: { model: "openai/requested-model" } } }, | |
| }; | |
| const admittedConfig = { | |
| agents: { defaults: { compaction: { model: "openai/admitted-model" } } }, | |
| }; | |
| const acquire = expectDefined( | |
| acquireAgentRunPreparedModelRuntimeMock.getMockImplementation(), | |
| "prepared runtime acquisition", | |
| ); | |
| acquireAgentRunPreparedModelRuntimeMock.mockImplementationOnce(async (input) => | |
| acquire({ ...input, config: admittedConfig, agentDir: admittedAgentDir }), | |
| ); | |
| const parent = new AsyncWorkScope(); | |
| let result: Awaited<ReturnType<typeof compactEmbeddedAgentSession>>; | |
| try { | |
| result = await parent.run(() => | |
| compactEmbeddedAgentSession({ | |
| ...sessionTarget, | |
| sessionTarget, | |
| sessionFile: sessionTarget.sessionKey, | |
| workspaceDir, | |
| allowGatewaySubagentBinding: true, | |
| provider: "openai", | |
| model: "gpt-5.6-luna", | |
| config: requestedConfig, | |
| enqueue: async (task) => await task(), | |
| }), | |
| ); | |
| } finally { | |
| await AsyncWorkScope.runWhenAllIdle( | |
| () => [parent], | |
| () => parent.drain(), | |
| ); | |
| } | |
| expect(result).toMatchObject({ ok: true, compacted: true }); | |
| const { snapshot, [Symbol.asyncDispose]: release } = await expectDefined( | |
| acquireAgentRunPreparedModelRuntimeMock.mock.results[0]?.value, | |
| "admitted runtime lease", | |
| ); | |
| const derive = expectDefined( | |
| acquireAgentRunPreparedModelRuntimeMock.mock.calls[0]?.[1]?.deriveRuntimePluginSelections, | |
| "admitted compaction selection recipe", | |
| ); | |
| expect( | |
| derive({ config: admittedConfig, metadataSnapshot: snapshot.metadataSnapshot }), | |
| ).toMatchObject([{ provider: "openai", modelId: "admitted-model", agentId: "main" }]); | |
| expect(resolveContextEngineMock).toHaveBeenCalledWith(admittedConfig, { | |
| agentDir: admittedAgentDir, | |
| workspaceDir, | |
| }); | |
| expect(resolveModelAsyncMock).toHaveBeenCalledWith( | |
| "openai", | |
| "admitted-model", | |
| admittedAgentDir, | |
| admittedConfig, | |
| expect.objectContaining({ preparedModelRuntime: snapshot, skipAgentDiscovery: true }), | |
| ); | |
| expect(contextEngineCompactMock).toHaveBeenCalledWith( | |
| expect.objectContaining({ | |
| runtimeContext: expect.objectContaining({ | |
| config: admittedConfig, | |
| agentDir: admittedAgentDir, | |
| workspaceDir, | |
| provider: "openai", | |
| model: "admitted-model", | |
| sessionTarget, | |
| }), | |
| }), | |
| ); | |
| expect(release).toHaveBeenCalledOnce(); | |
| expect(requestedConfig.agents.defaults.compaction.model).toBe("openai/requested-model"); | |
| }); | |