export const pluginSdkEntrypoints = [ "index", "core", "compat", "telegram", "discord", "slack", "signal", "imessage", "whatsapp", "line", "msteams", "acpx", "bluebubbles", "copilot-proxy", "device-pair", "diagnostics-otel", "diffs", "feishu", "googlechat", "irc", "llm-task", "lobster", "matrix", "mattermost", "memory-core", "memory-lancedb", "minimax-portal-auth", "nextcloud-talk", "nostr", "open-prose", "phone-control", "qwen-portal-auth", "synology-chat", "talk-voice", "test-utils", "thread-ownership", "tlon", "twitch", "voice-call", "zalo", "zalouser", "account-id", "keyed-async-queue", ]; export const pluginSdkSubpaths = pluginSdkEntrypoints.filter((entry) => entry !== "index"); export function buildPluginSdkEntrySources() { return Object.fromEntries( pluginSdkEntrypoints.map((entry) => [entry, `src/plugin-sdk/${entry}.ts`]), ); } export function buildPluginSdkSpecifiers() { return pluginSdkEntrypoints.map((entry) => entry === "index" ? "openclaw/plugin-sdk" : `openclaw/plugin-sdk/${entry}`, ); } export function buildPluginSdkPackageExports() { return Object.fromEntries( pluginSdkEntrypoints.map((entry) => [ entry === "index" ? "./plugin-sdk" : `./plugin-sdk/${entry}`, { types: `./dist/plugin-sdk/${entry}.d.ts`, default: `./dist/plugin-sdk/${entry}.js`, }, ]), ); } export function listPluginSdkDistArtifacts() { return pluginSdkEntrypoints.flatMap((entry) => [ `dist/plugin-sdk/${entry}.js`, `dist/plugin-sdk/${entry}.d.ts`, ]); }