mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-28 10:22:32 +00:00
78 lines
2.4 KiB
TypeScript
78 lines
2.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import type { OpenClawConfig } from "../../config/config.js";
|
|
import { buildEmbeddedCompactionRuntimeContext } from "./compaction-runtime-context.js";
|
|
|
|
describe("buildEmbeddedCompactionRuntimeContext", () => {
|
|
it("preserves sender and current message routing for compaction", () => {
|
|
expect(
|
|
buildEmbeddedCompactionRuntimeContext({
|
|
sessionKey: "agent:main:thread:1",
|
|
messageChannel: "slack",
|
|
messageProvider: "slack",
|
|
agentAccountId: "acct-1",
|
|
currentChannelId: "C123",
|
|
currentThreadTs: "thread-9",
|
|
currentMessageId: "msg-42",
|
|
authProfileId: "openai:p1",
|
|
workspaceDir: "/tmp/workspace",
|
|
agentDir: "/tmp/agent",
|
|
config: {} as OpenClawConfig,
|
|
senderIsOwner: true,
|
|
senderId: "user-123",
|
|
provider: "openai-codex",
|
|
modelId: "gpt-5.4",
|
|
thinkLevel: "off",
|
|
reasoningLevel: "on",
|
|
extraSystemPrompt: "extra",
|
|
ownerNumbers: ["+15555550123"],
|
|
}),
|
|
).toMatchObject({
|
|
sessionKey: "agent:main:thread:1",
|
|
messageChannel: "slack",
|
|
messageProvider: "slack",
|
|
agentAccountId: "acct-1",
|
|
currentChannelId: "C123",
|
|
currentThreadTs: "thread-9",
|
|
currentMessageId: "msg-42",
|
|
authProfileId: "openai:p1",
|
|
workspaceDir: "/tmp/workspace",
|
|
agentDir: "/tmp/agent",
|
|
senderId: "user-123",
|
|
provider: "openai-codex",
|
|
model: "gpt-5.4",
|
|
});
|
|
});
|
|
|
|
it("normalizes nullable compaction routing fields to undefined", () => {
|
|
expect(
|
|
buildEmbeddedCompactionRuntimeContext({
|
|
sessionKey: null,
|
|
messageChannel: null,
|
|
messageProvider: null,
|
|
agentAccountId: null,
|
|
currentChannelId: null,
|
|
currentThreadTs: null,
|
|
currentMessageId: null,
|
|
authProfileId: null,
|
|
workspaceDir: "/tmp/workspace",
|
|
agentDir: "/tmp/agent",
|
|
senderId: null,
|
|
provider: null,
|
|
modelId: null,
|
|
}),
|
|
).toMatchObject({
|
|
sessionKey: undefined,
|
|
messageChannel: undefined,
|
|
messageProvider: undefined,
|
|
agentAccountId: undefined,
|
|
currentChannelId: undefined,
|
|
currentThreadTs: undefined,
|
|
currentMessageId: undefined,
|
|
authProfileId: undefined,
|
|
senderId: undefined,
|
|
provider: undefined,
|
|
model: undefined,
|
|
});
|
|
});
|
|
});
|