From df18f4c517bb09810dc56869a4860c17dc98d28d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 3 Apr 2026 19:18:17 +0100 Subject: [PATCH] refactor(matrix): move legacy migrations behind doctor --- extensions/matrix/src/doctor.test.ts | 6 +++--- extensions/matrix/src/doctor.ts | 2 +- extensions/matrix/src/exec-approvals.ts | 2 -- extensions/matrix/src/matrix-migration.runtime.ts | 9 +++++++++ .../src/matrix/client/migration-snapshot.runtime.ts | 2 +- extensions/matrix/src/runtime-api.ts | 7 ------- extensions/matrix/src/startup-maintenance.ts | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 extensions/matrix/src/matrix-migration.runtime.ts diff --git a/extensions/matrix/src/doctor.test.ts b/extensions/matrix/src/doctor.test.ts index 0bb2a3bfcec..57c8b7864d3 100644 --- a/extensions/matrix/src/doctor.test.ts +++ b/extensions/matrix/src/doctor.test.ts @@ -11,8 +11,8 @@ import { runMatrixDoctorSequence, } from "./doctor.js"; -vi.mock("./runtime-api.js", async (importOriginal) => { - const actual = await importOriginal(); +vi.mock("./matrix-migration.runtime.js", async (importOriginal) => { + const actual = await importOriginal(); return { ...actual, hasActionableMatrixMigration: vi.fn(() => false), @@ -89,7 +89,7 @@ describe("matrix doctor", () => { }); it("surfaces matrix sequence warnings and repair changes", async () => { - const runtimeApi = await import("./runtime-api.js"); + const runtimeApi = await import("./matrix-migration.runtime.js"); vi.mocked(runtimeApi.hasActionableMatrixMigration).mockReturnValue(true); vi.mocked(runtimeApi.maybeCreateMatrixMigrationSnapshot).mockResolvedValue({ archivePath: "/tmp/matrix-backup.tgz", diff --git a/extensions/matrix/src/doctor.ts b/extensions/matrix/src/doctor.ts index 30997a9aac1..cf1019f6bac 100644 --- a/extensions/matrix/src/doctor.ts +++ b/extensions/matrix/src/doctor.ts @@ -13,7 +13,7 @@ import { hasActionableMatrixMigration, hasPendingMatrixMigration, maybeCreateMatrixMigrationSnapshot, -} from "./runtime-api.js"; +} from "./matrix-migration.runtime.js"; function isRecord(value: unknown): value is Record { return Boolean(value) && typeof value === "object" && !Array.isArray(value); diff --git a/extensions/matrix/src/exec-approvals.ts b/extensions/matrix/src/exec-approvals.ts index 4f05f8fb717..2fea05824d9 100644 --- a/extensions/matrix/src/exec-approvals.ts +++ b/extensions/matrix/src/exec-approvals.ts @@ -70,8 +70,6 @@ function countMatrixExecApprovalEligibleAccounts(params: { }) && matchesApprovalRequestFilters({ request: params.request.request, - agentFilter: config?.agentFilter, - sessionFilter: config?.sessionFilter, agentFilter: filters.agentFilter, sessionFilter: filters.sessionFilter, }) diff --git a/extensions/matrix/src/matrix-migration.runtime.ts b/extensions/matrix/src/matrix-migration.runtime.ts new file mode 100644 index 00000000000..d15f4456f7d --- /dev/null +++ b/extensions/matrix/src/matrix-migration.runtime.ts @@ -0,0 +1,9 @@ +export { + autoMigrateLegacyMatrixState, + autoPrepareLegacyMatrixCrypto, + detectLegacyMatrixCrypto, + detectLegacyMatrixState, + hasActionableMatrixMigration, + hasPendingMatrixMigration, + maybeCreateMatrixMigrationSnapshot, +} from "openclaw/plugin-sdk/matrix-runtime-heavy"; diff --git a/extensions/matrix/src/matrix/client/migration-snapshot.runtime.ts b/extensions/matrix/src/matrix/client/migration-snapshot.runtime.ts index 0e7a2b8ded3..de6ed99eec4 100644 --- a/extensions/matrix/src/matrix/client/migration-snapshot.runtime.ts +++ b/extensions/matrix/src/matrix/client/migration-snapshot.runtime.ts @@ -1 +1 @@ -export { maybeCreateMatrixMigrationSnapshot } from "openclaw/plugin-sdk/matrix-runtime-heavy"; +export { maybeCreateMatrixMigrationSnapshot } from "../../matrix-migration.runtime.js"; diff --git a/extensions/matrix/src/runtime-api.ts b/extensions/matrix/src/runtime-api.ts index be7d644b146..6e004104686 100644 --- a/extensions/matrix/src/runtime-api.ts +++ b/extensions/matrix/src/runtime-api.ts @@ -27,15 +27,8 @@ export { type SsrFPolicy, } from "openclaw/plugin-sdk/ssrf-runtime"; export { - autoMigrateLegacyMatrixState, - autoPrepareLegacyMatrixCrypto, - detectLegacyMatrixCrypto, - detectLegacyMatrixState, dispatchReplyFromConfigWithSettledDispatcher, ensureConfiguredAcpBindingReady, - hasActionableMatrixMigration, - hasPendingMatrixMigration, - maybeCreateMatrixMigrationSnapshot, resolveConfiguredAcpBindingRecord, } from "openclaw/plugin-sdk/matrix-runtime-heavy"; // resolveMatrixAccountStringValues already comes from plugin-sdk/matrix. diff --git a/extensions/matrix/src/startup-maintenance.ts b/extensions/matrix/src/startup-maintenance.ts index cb52b5a01a8..eaee1315ab4 100644 --- a/extensions/matrix/src/startup-maintenance.ts +++ b/extensions/matrix/src/startup-maintenance.ts @@ -5,7 +5,7 @@ import { hasActionableMatrixMigration, hasPendingMatrixMigration, maybeCreateMatrixMigrationSnapshot, -} from "openclaw/plugin-sdk/matrix-runtime-heavy"; +} from "./matrix-migration.runtime.js"; type MatrixStartupLogger = { info?: (message: string) => void;