From ed04d38becf27056873062ed2d16d56eb9000217 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 16 Apr 2026 23:59:10 +0100 Subject: [PATCH] build: restore qa channel updater sidecar --- scripts/postinstall-bundled-plugins.mjs | 6 ++--- .../postinstall-bundled-plugins.test.ts | 22 ++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/scripts/postinstall-bundled-plugins.mjs b/scripts/postinstall-bundled-plugins.mjs index 228c9288b39..61fc18041a6 100644 --- a/scripts/postinstall-bundled-plugins.mjs +++ b/scripts/postinstall-bundled-plugins.mjs @@ -36,10 +36,10 @@ const DISABLE_POSTINSTALL_ENV = "OPENCLAW_DISABLE_BUNDLED_PLUGIN_POSTINSTALL"; const DIST_INVENTORY_PATH = "dist/postinstall-inventory.json"; const LEGACY_UPDATE_COMPAT_SIDECARS = [ { - path: "dist/extensions/qa-lab/runtime-api.js", - removedPrefix: "dist/extensions/qa-lab/", + path: "dist/extensions/qa-channel/runtime-api.js", + removedPrefix: "dist/extensions/qa-channel/", content: - "// Compatibility stub for older OpenClaw updaters. QA Lab is not packaged.\nexport {};\n", + "// Compatibility stub for older OpenClaw updaters. The QA channel implementation is not packaged.\nexport {};\n", }, ]; const BAILEYS_MEDIA_FILE = join( diff --git a/test/scripts/postinstall-bundled-plugins.test.ts b/test/scripts/postinstall-bundled-plugins.test.ts index e6b6f0b616f..ff8b44bd658 100644 --- a/test/scripts/postinstall-bundled-plugins.test.ts +++ b/test/scripts/postinstall-bundled-plugins.test.ts @@ -241,11 +241,14 @@ describe("bundled plugin postinstall", () => { await expect(fs.stat(stalePackage)).rejects.toMatchObject({ code: "ENOENT" }); await expect(fs.stat(staleManifest)).rejects.toMatchObject({ code: "ENOENT" }); await expect( - fs.readFile(path.join(packageRoot, "dist", "extensions", "qa-lab", "runtime-api.js"), "utf8"), - ).resolves.toContain("QA Lab is not packaged"); + fs.readFile( + path.join(packageRoot, "dist", "extensions", "qa-channel", "runtime-api.js"), + "utf8", + ), + ).resolves.toContain("QA channel implementation is not packaged"); }); - it("creates only an empty QA lab compat sidecar for fresh installs", async () => { + it("creates only an empty QA channel compat sidecar for fresh installs", async () => { const packageRoot = await createTempDirAsync("openclaw-packaged-install-no-qa-compat-"); await fs.mkdir(path.join(packageRoot, "dist"), { recursive: true }); await fs.writeFile(path.join(packageRoot, "dist", "entry.js"), "export {};\n"); @@ -257,18 +260,21 @@ describe("bundled plugin postinstall", () => { removedFiles: ["dist/entry-old.js"], log: { log: vi.fn(), warn: vi.fn() }, }), - ).toEqual(["dist/extensions/qa-lab/runtime-api.js"]); + ).toEqual(["dist/extensions/qa-channel/runtime-api.js"]); await expect( - fs.readFile(path.join(packageRoot, "dist", "extensions", "qa-lab", "runtime-api.js"), "utf8"), + fs.readFile( + path.join(packageRoot, "dist", "extensions", "qa-channel", "runtime-api.js"), + "utf8", + ), ).resolves.toBe( - "// Compatibility stub for older OpenClaw updaters. QA Lab is not packaged.\nexport {};\n", + "// Compatibility stub for older OpenClaw updaters. The QA channel implementation is not packaged.\nexport {};\n", ); await expect( - fs.stat(path.join(packageRoot, "dist", "extensions", "qa-lab", "package.json")), + fs.stat(path.join(packageRoot, "dist", "extensions", "qa-channel", "package.json")), ).rejects.toMatchObject({ code: "ENOENT" }); await expect( - fs.stat(path.join(packageRoot, "dist", "extensions", "qa-lab", "openclaw.plugin.json")), + fs.stat(path.join(packageRoot, "dist", "extensions", "qa-channel", "openclaw.plugin.json")), ).rejects.toMatchObject({ code: "ENOENT" }); });