test(plugins): align release validation fixtures

This commit is contained in:
Peter Steinberger
2026-04-30 01:25:51 +01:00
parent 30a2b3049a
commit cf125c125a
6 changed files with 38 additions and 7 deletions

View File

@@ -177,10 +177,10 @@ describe("prepareAcpxCodexAuthConfig", () => {
});
const wrapper = await fs.readFile(generated.wrapperPath, "utf8");
expect(wrapper).toContain('"@agentclientprotocol/claude-agent-acp@0.31.0"');
expect(wrapper).toContain('"@agentclientprotocol/claude-agent-acp@0.31.1"');
expect(wrapper).toContain('"--", "claude-agent-acp"');
expect(wrapper).not.toContain("@agentclientprotocol/claude-agent-acp@^0.31.0");
expect(wrapper).not.toContain("@agentclientprotocol/claude-agent-acp@0.31.1");
expect(wrapper).not.toContain("@agentclientprotocol/claude-agent-acp@0.31.0");
});
it("uses the bundled Codex ACP dependency by default when it is installed", async () => {
@@ -379,7 +379,7 @@ describe("prepareAcpxCodexAuthConfig", () => {
rawConfig: {
agents: {
claude: {
command: "npx -y @agentclientprotocol/claude-agent-acp@0.31.0 --permission-mode bypass",
command: "npx -y @agentclientprotocol/claude-agent-acp@0.31.1 --permission-mode bypass",
},
},
},
@@ -425,7 +425,7 @@ describe("prepareAcpxCodexAuthConfig", () => {
const root = await makeTempDir();
const stateDir = path.join(root, "state");
const command =
"node ./custom-claude-wrapper.mjs @agentclientprotocol/claude-agent-acp@0.31.0 --flag";
"node ./custom-claude-wrapper.mjs @agentclientprotocol/claude-agent-acp@0.31.1 --flag";
const pluginConfig = resolveAcpxPluginConfig({
rawConfig: {
agents: {

View File

@@ -7,7 +7,7 @@ const CODEX_ACP_PACKAGE = "@zed-industries/codex-acp";
const CODEX_ACP_PACKAGE_RANGE = "^0.12.0";
const CODEX_ACP_BIN = "codex-acp";
const CLAUDE_ACP_PACKAGE = "@agentclientprotocol/claude-agent-acp";
const CLAUDE_ACP_PACKAGE_VERSION = "0.31.0";
const CLAUDE_ACP_PACKAGE_VERSION = "0.31.1";
const CLAUDE_ACP_BIN = "claude-agent-acp";
const RUN_CONFIGURED_COMMAND_SENTINEL = "--openclaw-run-configured";
const requireFromHere = createRequire(import.meta.url);

View File

@@ -19,7 +19,7 @@ describe("acpx package manifest", () => {
expect(packageJson.dependencies?.acpx).toBeDefined();
expect(packageJson.dependencies?.["@zed-industries/codex-acp"]).toBe("0.12.0");
expect(packageJson.dependencies?.["@agentclientprotocol/claude-agent-acp"]).toBe("0.31.0");
expect(packageJson.dependencies?.["@agentclientprotocol/claude-agent-acp"]).toBe("0.31.1");
expect(packageJson.devDependencies?.["@agentclientprotocol/claude-agent-acp"]).toBeUndefined();
expect(packageJson.openclaw?.bundle?.stageRuntimeDependencies).toBe(true);
});

View File

@@ -92,6 +92,7 @@ describe("broadcast dispatch", () => {
},
session: {
resolveStorePath: vi.fn(() => "/tmp/feishu-session-store.json"),
recordInboundSession: vi.fn().mockResolvedValue(undefined),
},
reply: {
resolveEnvelopeFormatOptions: resolveEnvelopeFormatOptionsMock,
@@ -109,6 +110,28 @@ describe("broadcast dispatch", () => {
media: {
saveMediaBuffer: mockSaveMediaBuffer,
},
turn: {
runPrepared: vi.fn(
async (turn: Parameters<PluginRuntime["channel"]["turn"]["runPrepared"]>[0]) => {
await turn.recordInboundSession({
storePath: turn.storePath,
sessionKey: turn.ctxPayload.SessionKey ?? turn.routeSessionKey,
ctx: turn.ctxPayload,
groupResolution: turn.record?.groupResolution,
createIfMissing: turn.record?.createIfMissing,
updateLastRoute: turn.record?.updateLastRoute,
onRecordError: turn.record?.onRecordError ?? (() => undefined),
});
return {
admission: { kind: "dispatch" as const },
dispatched: true,
ctxPayload: turn.ctxPayload,
routeSessionKey: turn.routeSessionKey,
dispatchResult: await turn.runDispatch(),
};
},
),
},
pairing: {
readAllowFromStore: vi.fn().mockResolvedValue([]),
upsertPairingRequest: vi.fn().mockResolvedValue({ code: "ABCDEFGH", created: false }),

View File

@@ -110,6 +110,14 @@ describe("Telegram direct session recreation after delete", () => {
},
sessionRuntime: null,
});
expect(context).not.toBeNull();
await context?.turn.recordInboundSession({
storePath: context.turn.storePath,
sessionKey: String(context.ctxPayload.SessionKey),
ctx: context.ctxPayload as never,
updateLastRoute: context.turn.record.updateLastRoute,
onRecordError: context.turn.record.onRecordError,
});
const store = loadSessionStore(storePath, { skipCache: true });
expect(context?.ctxPayload?.SessionKey).toBe(TELEGRAM_DIRECT_KEY);

View File

@@ -22,7 +22,7 @@ describe("tokenjuice package manifest", () => {
fs.readFileSync(new URL("./package.json", import.meta.url), "utf8"),
) as TokenjuicePackageManifest;
expect(packageJson.dependencies?.tokenjuice).toBe("0.6.4");
expect(packageJson.dependencies?.tokenjuice).toBe("0.7.0");
expect(packageJson.openclaw?.bundle?.stageRuntimeDependencies).toBe(true);
});