Revert "test(ci): cover matrix binding contract and smoke deps"

This reverts commit 925e03931665deeccdcbf01c14f9bc8f3e33c3b1.
This commit is contained in:
MaxxxDong 2026-03-20 00:04:59 +08:00
parent 9b3124e000
commit e7a736f513
3 changed files with 5 additions and 104 deletions

View File

@ -85,7 +85,7 @@ jobs:
node -e "
const Module = require(\"node:module\");
const requireFromMatrix = Module.createRequire(\"/app/extensions/matrix/package.json\");
requireFromMatrix.resolve(\"matrix-js-sdk/package.json\");
requireFromMatrix.resolve(\"@vector-im/matrix-bot-sdk/package.json\");
requireFromMatrix.resolve(\"@matrix-org/matrix-sdk-crypto-nodejs/package.json\");
const { spawnSync } = require(\"node:child_process\");
const run = spawnSync(\"openclaw\", [\"plugins\", \"list\", \"--json\"], { encoding: \"utf8\" });

View File

@ -1,6 +1,3 @@
import fs from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import { expect, vi } from "vitest";
import {
__testing as discordThreadBindingTesting,
@ -129,7 +126,7 @@ type DirectoryContractEntry = {
type SessionBindingContractEntry = {
id: string;
expectedCapabilities: SessionBindingCapabilities;
getCapabilities: () => SessionBindingCapabilities | Promise<SessionBindingCapabilities>;
getCapabilities: () => SessionBindingCapabilities;
bindAndResolve: () => Promise<SessionBindingRecord>;
unbindAndVerify: (binding: SessionBindingRecord) => Promise<void>;
cleanup: () => Promise<void> | void;
@ -592,50 +589,6 @@ const baseSessionBindingCfg = {
session: { mainKey: "main", scope: "per-sender" },
} satisfies OpenClawConfig;
const matrixSessionBindingAuth = {
accountId: "default",
homeserver: "https://matrix.example.org",
userId: "@bot:example.org",
accessToken: "token",
} as const;
let matrixSessionBindingStateDir: string | null = null;
async function loadMatrixThreadBindingsModule() {
return await import("../../../../extensions/matrix/src/matrix/thread-bindings.js");
}
async function loadMatrixRuntimeModule() {
return await import("../../../../extensions/matrix/src/runtime.js");
}
async function ensureMatrixSessionBindingManager() {
const [{ createMatrixThreadBindingManager }, { setMatrixRuntime }] = await Promise.all([
loadMatrixThreadBindingsModule(),
loadMatrixRuntimeModule(),
]);
if (!matrixSessionBindingStateDir) {
matrixSessionBindingStateDir = await fs.mkdtemp(
path.join(os.tmpdir(), "matrix-session-binding-contract-"),
);
}
setMatrixRuntime({
state: {
resolveStateDir: () => matrixSessionBindingStateDir as string,
},
} as never);
return await createMatrixThreadBindingManager({
accountId: "default",
auth: matrixSessionBindingAuth,
client: {
sendMessage: vi.fn(async () => "$matrix-event"),
} as never,
idleTimeoutMs: 24 * 60 * 60 * 1000,
maxAgeMs: 0,
enableSweeper: false,
});
}
export const sessionBindingContractRegistry: SessionBindingContractEntry[] = [
{
id: "discord",
@ -755,58 +708,6 @@ export const sessionBindingContractRegistry: SessionBindingContractEntry[] = [
});
},
},
{
id: "matrix",
expectedCapabilities: {
adapterAvailable: true,
bindSupported: true,
unbindSupported: true,
placements: ["current", "child"],
},
getCapabilities: async () => {
await ensureMatrixSessionBindingManager();
return getSessionBindingService().getCapabilities({
channel: "matrix",
accountId: "default",
});
},
bindAndResolve: async () => {
await ensureMatrixSessionBindingManager();
const service = getSessionBindingService();
const binding = await service.bind({
targetSessionKey: "agent:matrix:subagent:thread-1",
targetKind: "subagent",
conversation: {
channel: "matrix",
accountId: "default",
conversationId: "$matrix-event",
parentConversationId: "!room:example",
},
placement: "current",
metadata: {
introText: "matrix binding active",
label: "matrix-main",
},
});
expectResolvedSessionBinding({
channel: "matrix",
accountId: "default",
conversationId: "$matrix-event",
targetSessionKey: "agent:matrix:subagent:thread-1",
});
return binding;
},
unbindAndVerify: unbindAndExpectClearedSessionBinding,
cleanup: async () => {
const { resetMatrixThreadBindingsForTests } = await loadMatrixThreadBindingsModule();
resetMatrixThreadBindingsForTests();
expectClearedSessionBinding({
channel: "matrix",
accountId: "default",
conversationId: "$matrix-event",
});
},
},
{
id: "telegram",
expectedCapabilities: {

View File

@ -478,14 +478,14 @@ export function installChannelDirectoryContractSuite(params: {
}
export function installSessionBindingContractSuite(params: {
getCapabilities: () => SessionBindingCapabilities | Promise<SessionBindingCapabilities>;
getCapabilities: () => SessionBindingCapabilities;
bindAndResolve: () => Promise<SessionBindingRecord>;
unbindAndVerify: (binding: SessionBindingRecord) => Promise<void>;
cleanup: () => Promise<void> | void;
expectedCapabilities: SessionBindingCapabilities;
}) {
it("registers the expected session binding capabilities", async () => {
await expect(params.getCapabilities()).resolves.toEqual(params.expectedCapabilities);
it("registers the expected session binding capabilities", () => {
expect(params.getCapabilities()).toEqual(params.expectedCapabilities);
});
it("binds and resolves a session binding through the shared service", async () => {