diff --git a/src/plugin-sdk/compat.ts b/src/plugin-sdk/compat.ts index ad8d9ff5293..c87e2767d12 100644 --- a/src/plugin-sdk/compat.ts +++ b/src/plugin-sdk/compat.ts @@ -19,6 +19,7 @@ if (shouldWarnCompatImport) { export { emptyPluginConfigSchema } from "../plugins/config-schema.js"; export { resolveControlCommandGate } from "../channels/command-gating.js"; +export { delegateCompactionToRuntime } from "../context-engine/delegate.js"; export { createAccountStatusSink } from "./channel-lifecycle.js"; export { createPluginRuntimeStore } from "./runtime-store.js"; diff --git a/src/plugin-sdk/root-alias.test.ts b/src/plugin-sdk/root-alias.test.ts index 3c30dbee6be..6767ca773e3 100644 --- a/src/plugin-sdk/root-alias.test.ts +++ b/src/plugin-sdk/root-alias.test.ts @@ -127,6 +127,20 @@ describe("plugin-sdk root alias", () => { expect(Object.getOwnPropertyDescriptor(lazyRootSdk, "slowHelper")).toBeDefined(); }); + it("forwards delegateCompactionToRuntime through the compat-backed root alias", () => { + const delegateCompactionToRuntime = () => "delegated"; + const lazyModule = loadRootAliasWithStubs({ + monolithicExports: { + delegateCompactionToRuntime, + }, + }); + const lazyRootSdk = lazyModule.moduleExports; + + expect(typeof lazyRootSdk.delegateCompactionToRuntime).toBe("function"); + expect(lazyRootSdk.delegateCompactionToRuntime).toBe(delegateCompactionToRuntime); + expect("delegateCompactionToRuntime" in lazyRootSdk).toBe(true); + }); + it("loads legacy root exports through the merged root wrapper", { timeout: 240_000 }, () => { expect(typeof rootSdk.resolveControlCommandGate).toBe("function"); expect(typeof rootSdk.default).toBe("object");