mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-17 20:21:13 +00:00
refactor: remove plugin sdk facade generator
This commit is contained in:
@@ -240,17 +240,6 @@ async function readPackedRootPackageJson(archivePath: string): Promise<{
|
||||
}
|
||||
}
|
||||
|
||||
function readGeneratedFacadeTypeMap(): string {
|
||||
return readFileSync(
|
||||
resolve(REPO_ROOT, "src/generated/plugin-sdk-facade-type-map.generated.ts"),
|
||||
"utf8",
|
||||
);
|
||||
}
|
||||
|
||||
function buildLegacyPluginSourceAlias(): string {
|
||||
return ["openclaw", ["plugin", "source"].join("-")].join("/") + "/";
|
||||
}
|
||||
|
||||
function collectExtensionFiles(dir: string): string[] {
|
||||
const entries = readdirSync(dir, { withFileTypes: true });
|
||||
const files: string[] = [];
|
||||
@@ -398,11 +387,6 @@ describe("plugin-sdk package contract guardrails", () => {
|
||||
}
|
||||
});
|
||||
|
||||
it("keeps generated facade types on package-style module specifiers", () => {
|
||||
expect(readGeneratedFacadeTypeMap()).not.toContain("../../extensions/");
|
||||
expect(readGeneratedFacadeTypeMap()).not.toContain(buildLegacyPluginSourceAlias());
|
||||
});
|
||||
|
||||
it("keeps extension sources on public sdk or local package seams", () => {
|
||||
expect(collectExtensionCoreImportLeaks()).toEqual([]);
|
||||
});
|
||||
|
||||
@@ -165,7 +165,7 @@ function expectSourceOmitsImportPattern(subpath: string, specifier: string) {
|
||||
function isGeneratedBundledFacadeSubpath(subpath: string): boolean {
|
||||
const source = readPluginSdkSource(subpath);
|
||||
return (
|
||||
source.startsWith("// Generated by scripts/generate-plugin-sdk-facades.mjs.") &&
|
||||
source.startsWith("// Manual facade.") &&
|
||||
sourceMentionsIdentifier(source, "loadBundledPluginPublicSurfaceModuleSync")
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import { resolveStateDir } from "../../config/paths.js";
|
||||
import { loadBundledPluginPublicSurfaceModuleSync } from "../../plugin-sdk/facade-runtime.js";
|
||||
import {
|
||||
generateImage as generateRuntimeImage,
|
||||
listRuntimeImageGenerationProviders,
|
||||
} from "../../image-generation/runtime.js";
|
||||
import { resolveGlobalSingleton } from "../../shared/global-singleton.js";
|
||||
import {
|
||||
createLazyRuntimeMethod,
|
||||
@@ -56,26 +59,10 @@ function createRuntimeMediaUnderstandingFacade(): PluginRuntime["mediaUnderstand
|
||||
};
|
||||
}
|
||||
|
||||
type RuntimeImageGenerationModule = Pick<
|
||||
typeof import("../../plugin-sdk/image-generation-runtime.js"),
|
||||
"generateImage" | "listRuntimeImageGenerationProviders"
|
||||
>;
|
||||
let cachedRuntimeImageGenerationModule: RuntimeImageGenerationModule | null = null;
|
||||
|
||||
function loadRuntimeImageGenerationModule(): RuntimeImageGenerationModule {
|
||||
cachedRuntimeImageGenerationModule ??=
|
||||
loadBundledPluginPublicSurfaceModuleSync<RuntimeImageGenerationModule>({
|
||||
dirName: "image-generation-core",
|
||||
artifactBasename: "runtime-api.js",
|
||||
});
|
||||
return cachedRuntimeImageGenerationModule;
|
||||
}
|
||||
|
||||
function createRuntimeImageGeneration(): PluginRuntime["imageGeneration"] {
|
||||
return {
|
||||
generate: (params) => loadRuntimeImageGenerationModule().generateImage(params),
|
||||
listProviders: (params) =>
|
||||
loadRuntimeImageGenerationModule().listRuntimeImageGenerationProviders(params),
|
||||
generate: (params) => generateRuntimeImage(params),
|
||||
listProviders: (params) => listRuntimeImageGenerationProviders(params),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -79,8 +79,8 @@ export type PluginRuntimeCore = {
|
||||
transcribeAudioFile: typeof import("../../media-understanding/runtime.js").transcribeAudioFile;
|
||||
};
|
||||
imageGeneration: {
|
||||
generate: typeof import("../../plugin-sdk/image-generation-runtime.js").generateImage;
|
||||
listProviders: typeof import("../../plugin-sdk/image-generation-runtime.js").listRuntimeImageGenerationProviders;
|
||||
generate: typeof import("../../image-generation/runtime.js").generateImage;
|
||||
listProviders: typeof import("../../image-generation/runtime.js").listRuntimeImageGenerationProviders;
|
||||
};
|
||||
videoGeneration: {
|
||||
generate: typeof import("../../video-generation/runtime.js").generateVideo;
|
||||
|
||||
Reference in New Issue
Block a user