Plugin SDK: trim legacy helper exports

This commit is contained in:
Vincent Koc 2026-03-17 23:31:28 -07:00
parent d1fe30b35f
commit d341d68180
16 changed files with 39 additions and 71 deletions

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/copilot-proxy"; export * from "../../src/plugin-sdk/copilot-proxy.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/device-pair"; export * from "../../src/plugin-sdk/device-pair.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/diagnostics-otel"; export * from "../../src/plugin-sdk/diagnostics-otel.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/diffs"; export * from "../../src/plugin-sdk/diffs.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/llm-task"; export * from "../../src/plugin-sdk/llm-task.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/memory-lancedb"; export * from "../../src/plugin-sdk/memory-lancedb.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/open-prose"; export * from "../../src/plugin-sdk/open-prose.js";

View File

@ -1,14 +1,14 @@
import fs from "node:fs/promises"; import fs from "node:fs/promises";
import os from "node:os"; import os from "node:os";
import path from "node:path"; import path from "node:path";
import { describe, expect, it, vi } from "vitest";
import { createTestPluginApi } from "../../test/helpers/extensions/plugin-api.js";
import registerPhoneControl from "./index.js";
import type { import type {
OpenClawPluginApi, OpenClawPluginApi,
OpenClawPluginCommandDefinition, OpenClawPluginCommandDefinition,
PluginCommandContext, PluginCommandContext,
} from "openclaw/plugin-sdk/phone-control"; } from "./runtime-api.js";
import { describe, expect, it, vi } from "vitest";
import { createTestPluginApi } from "../../test/helpers/extensions/plugin-api.js";
import registerPhoneControl from "./index.js";
function createApi(params: { function createApi(params: {
stateDir: string; stateDir: string;

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/phone-control"; export * from "../../src/plugin-sdk/phone-control.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/talk-voice"; export * from "../../src/plugin-sdk/talk-voice.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/thread-ownership"; export * from "../../src/plugin-sdk/thread-ownership.js";

View File

@ -1 +1 @@
export * from "openclaw/plugin-sdk/voice-call"; export * from "../../src/plugin-sdk/voice-call.js";

View File

@ -230,22 +230,6 @@
"types": "./dist/plugin-sdk/bluebubbles.d.ts", "types": "./dist/plugin-sdk/bluebubbles.d.ts",
"default": "./dist/plugin-sdk/bluebubbles.js" "default": "./dist/plugin-sdk/bluebubbles.js"
}, },
"./plugin-sdk/copilot-proxy": {
"types": "./dist/plugin-sdk/copilot-proxy.d.ts",
"default": "./dist/plugin-sdk/copilot-proxy.js"
},
"./plugin-sdk/device-pair": {
"types": "./dist/plugin-sdk/device-pair.d.ts",
"default": "./dist/plugin-sdk/device-pair.js"
},
"./plugin-sdk/diagnostics-otel": {
"types": "./dist/plugin-sdk/diagnostics-otel.d.ts",
"default": "./dist/plugin-sdk/diagnostics-otel.js"
},
"./plugin-sdk/diffs": {
"types": "./dist/plugin-sdk/diffs.d.ts",
"default": "./dist/plugin-sdk/diffs.js"
},
"./plugin-sdk/feishu": { "./plugin-sdk/feishu": {
"types": "./dist/plugin-sdk/feishu.d.ts", "types": "./dist/plugin-sdk/feishu.d.ts",
"default": "./dist/plugin-sdk/feishu.js" "default": "./dist/plugin-sdk/feishu.js"
@ -258,10 +242,6 @@
"types": "./dist/plugin-sdk/irc.d.ts", "types": "./dist/plugin-sdk/irc.d.ts",
"default": "./dist/plugin-sdk/irc.js" "default": "./dist/plugin-sdk/irc.js"
}, },
"./plugin-sdk/llm-task": {
"types": "./dist/plugin-sdk/llm-task.d.ts",
"default": "./dist/plugin-sdk/llm-task.js"
},
"./plugin-sdk/lobster": { "./plugin-sdk/lobster": {
"types": "./dist/plugin-sdk/lobster.d.ts", "types": "./dist/plugin-sdk/lobster.d.ts",
"default": "./dist/plugin-sdk/lobster.js" "default": "./dist/plugin-sdk/lobster.js"
@ -282,10 +262,6 @@
"types": "./dist/plugin-sdk/memory-core.d.ts", "types": "./dist/plugin-sdk/memory-core.d.ts",
"default": "./dist/plugin-sdk/memory-core.js" "default": "./dist/plugin-sdk/memory-core.js"
}, },
"./plugin-sdk/memory-lancedb": {
"types": "./dist/plugin-sdk/memory-lancedb.d.ts",
"default": "./dist/plugin-sdk/memory-lancedb.js"
},
"./plugin-sdk/minimax-portal-auth": { "./plugin-sdk/minimax-portal-auth": {
"types": "./dist/plugin-sdk/minimax-portal-auth.d.ts", "types": "./dist/plugin-sdk/minimax-portal-auth.d.ts",
"default": "./dist/plugin-sdk/minimax-portal-auth.js" "default": "./dist/plugin-sdk/minimax-portal-auth.js"
@ -298,14 +274,6 @@
"types": "./dist/plugin-sdk/nostr.d.ts", "types": "./dist/plugin-sdk/nostr.d.ts",
"default": "./dist/plugin-sdk/nostr.js" "default": "./dist/plugin-sdk/nostr.js"
}, },
"./plugin-sdk/open-prose": {
"types": "./dist/plugin-sdk/open-prose.d.ts",
"default": "./dist/plugin-sdk/open-prose.js"
},
"./plugin-sdk/phone-control": {
"types": "./dist/plugin-sdk/phone-control.d.ts",
"default": "./dist/plugin-sdk/phone-control.js"
},
"./plugin-sdk/qwen-portal-auth": { "./plugin-sdk/qwen-portal-auth": {
"types": "./dist/plugin-sdk/qwen-portal-auth.d.ts", "types": "./dist/plugin-sdk/qwen-portal-auth.d.ts",
"default": "./dist/plugin-sdk/qwen-portal-auth.js" "default": "./dist/plugin-sdk/qwen-portal-auth.js"
@ -314,10 +282,6 @@
"types": "./dist/plugin-sdk/synology-chat.d.ts", "types": "./dist/plugin-sdk/synology-chat.d.ts",
"default": "./dist/plugin-sdk/synology-chat.js" "default": "./dist/plugin-sdk/synology-chat.js"
}, },
"./plugin-sdk/talk-voice": {
"types": "./dist/plugin-sdk/talk-voice.d.ts",
"default": "./dist/plugin-sdk/talk-voice.js"
},
"./plugin-sdk/testing": { "./plugin-sdk/testing": {
"types": "./dist/plugin-sdk/testing.d.ts", "types": "./dist/plugin-sdk/testing.d.ts",
"default": "./dist/plugin-sdk/testing.js" "default": "./dist/plugin-sdk/testing.js"
@ -326,10 +290,6 @@
"types": "./dist/plugin-sdk/test-utils.d.ts", "types": "./dist/plugin-sdk/test-utils.d.ts",
"default": "./dist/plugin-sdk/test-utils.js" "default": "./dist/plugin-sdk/test-utils.js"
}, },
"./plugin-sdk/thread-ownership": {
"types": "./dist/plugin-sdk/thread-ownership.d.ts",
"default": "./dist/plugin-sdk/thread-ownership.js"
},
"./plugin-sdk/tlon": { "./plugin-sdk/tlon": {
"types": "./dist/plugin-sdk/tlon.d.ts", "types": "./dist/plugin-sdk/tlon.d.ts",
"default": "./dist/plugin-sdk/tlon.js" "default": "./dist/plugin-sdk/tlon.js"
@ -338,10 +298,6 @@
"types": "./dist/plugin-sdk/twitch.d.ts", "types": "./dist/plugin-sdk/twitch.d.ts",
"default": "./dist/plugin-sdk/twitch.js" "default": "./dist/plugin-sdk/twitch.js"
}, },
"./plugin-sdk/voice-call": {
"types": "./dist/plugin-sdk/voice-call.d.ts",
"default": "./dist/plugin-sdk/voice-call.js"
},
"./plugin-sdk/zalo": { "./plugin-sdk/zalo": {
"types": "./dist/plugin-sdk/zalo.d.ts", "types": "./dist/plugin-sdk/zalo.d.ts",
"default": "./dist/plugin-sdk/zalo.js" "default": "./dist/plugin-sdk/zalo.js"

View File

@ -47,34 +47,23 @@
"msteams", "msteams",
"acpx", "acpx",
"bluebubbles", "bluebubbles",
"copilot-proxy",
"device-pair",
"diagnostics-otel",
"diffs",
"feishu", "feishu",
"googlechat", "googlechat",
"irc", "irc",
"llm-task",
"lobster", "lobster",
"lazy-runtime", "lazy-runtime",
"matrix", "matrix",
"mattermost", "mattermost",
"memory-core", "memory-core",
"memory-lancedb",
"minimax-portal-auth", "minimax-portal-auth",
"nextcloud-talk", "nextcloud-talk",
"nostr", "nostr",
"open-prose",
"phone-control",
"qwen-portal-auth", "qwen-portal-auth",
"synology-chat", "synology-chat",
"talk-voice",
"testing", "testing",
"test-utils", "test-utils",
"thread-ownership",
"tlon", "tlon",
"twitch", "twitch",
"voice-call",
"zalo", "zalo",
"zalouser", "zalouser",
"account-helpers", "account-helpers",

View File

@ -42,6 +42,20 @@ const bundledExtensionSubpathLoaders = pluginSdkSubpaths.map((id: string) => ({
load: () => importPluginSdkSubpath(`openclaw/plugin-sdk/${id}`), load: () => importPluginSdkSubpath(`openclaw/plugin-sdk/${id}`),
})); }));
const trimmedLegacyExtensionSubpaths = [
"copilot-proxy",
"device-pair",
"diagnostics-otel",
"diffs",
"llm-task",
"memory-lancedb",
"open-prose",
"phone-control",
"talk-voice",
"thread-ownership",
"voice-call",
] as const;
const asExports = (mod: object) => mod as Record<string, unknown>; const asExports = (mod: object) => mod as Record<string, unknown>;
const ircSdk = await import("openclaw/plugin-sdk/irc"); const ircSdk = await import("openclaw/plugin-sdk/irc");
const feishuSdk = await import("openclaw/plugin-sdk/feishu"); const feishuSdk = await import("openclaw/plugin-sdk/feishu");
@ -312,6 +326,12 @@ describe("plugin-sdk subpath exports", () => {
} }
}); });
it("does not advertise trimmed legacy extension helper seams", () => {
for (const id of trimmedLegacyExtensionSubpaths) {
expect(pluginSdkSubpaths).not.toContain(id);
}
});
it("keeps the newly added bundled plugin-sdk contracts available", async () => { it("keeps the newly added bundled plugin-sdk contracts available", async () => {
expect(typeof bluebubblesSdk.parseFiniteNumber).toBe("function"); expect(typeof bluebubblesSdk.parseFiniteNumber).toBe("function");
expect(typeof matrixSdk.matrixSetupWizard).toBe("object"); expect(typeof matrixSdk.matrixSetupWizard).toBe("object");

View File

@ -33,4 +33,7 @@ export type { OpenClawPluginApi } from "../plugins/types.js";
export type { RuntimeEnv } from "../runtime.js"; export type { RuntimeEnv } from "../runtime.js";
export { formatDocsLink } from "../terminal/links.js"; export { formatDocsLink } from "../terminal/links.js";
export type { WizardPrompter } from "../wizard/prompts.js"; export type { WizardPrompter } from "../wizard/prompts.js";
export { twitchSetupAdapter, twitchSetupWizard } from "../../extensions/twitch/api.js"; export {
twitchSetupAdapter,
twitchSetupWizard,
} from "../../extensions/twitch/src/setup-surface.js";