fix(plugin-sdk): remove relative extension boundary escapes (#51939)

* fix(plugin-sdk): remove relative extension boundary escapes

* Gate new plugin-sdk subpaths on host version

* Add changelog entry for #51939

* Fix local staging for plugin-sdk host version gate

* Raise host floor for line and googlechat plugins

---------

Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
This commit is contained in:
Vincent Koc
2026-03-21 18:03:18 -07:00
committed by GitHub
parent daa042c9a0
commit 2b4c3c2057
47 changed files with 495 additions and 142 deletions

View File

@@ -6,6 +6,17 @@
"dependencies": {
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

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

View File

@@ -5,7 +5,7 @@ import {
type ParsedChatTarget,
resolveServicePrefixedAllowTarget,
resolveServicePrefixedTarget,
} from "../../imessage/api.js";
} from "openclaw/plugin-sdk/imessage-core";
export type BlueBubblesService = "imessage" | "sms" | "auto";

View File

@@ -10,6 +10,17 @@
"https-proxy-agent": "^8.0.0",
"opusscript": "^0.1.1"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -4,7 +4,7 @@ export {
PAIRING_APPROVED_MESSAGE,
projectCredentialSnapshotFields,
resolveConfiguredFromCredentialStatuses,
} from "../../../src/plugin-sdk/discord.js";
} from "openclaw/plugin-sdk/discord";
export {
buildChannelConfigSchema,
getChatChannelMeta,
@@ -19,15 +19,15 @@ export {
type DiscordActionConfig,
type DiscordConfig,
type OpenClawConfig,
} from "../../../src/plugin-sdk/discord-core.js";
export { DiscordConfigSchema } from "../../../src/plugin-sdk/discord-core.js";
} from "openclaw/plugin-sdk/discord-core";
export { DiscordConfigSchema } from "openclaw/plugin-sdk/discord-core";
export { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
export {
assertMediaNotDataUrl,
parseAvailableTags,
readReactionParams,
withNormalizedTimestamp,
} from "../../../src/plugin-sdk/discord-core.js";
} from "openclaw/plugin-sdk/discord-core";
export {
createHybridChannelConfigAdapter,
createScopedChannelConfigAdapter,

View File

@@ -9,6 +9,17 @@
"https-proxy-agent": "^8.0.0",
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Feishu extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/feishu.js";
export * from "openclaw/plugin-sdk/feishu";

View File

@@ -7,8 +7,11 @@
"dependencies": {
"google-auth-library": "^10.6.2"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.11"
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Google Chat extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/googlechat.js";
export * from "openclaw/plugin-sdk/googlechat";

View File

@@ -13,7 +13,7 @@ export {
IMessageConfigSchema,
type ChannelPlugin,
type IMessageAccountConfig,
} from "../../src/plugin-sdk/imessage.js";
} from "openclaw/plugin-sdk/imessage";
export {
resolveIMessageGroupRequireMention,
resolveIMessageGroupToolPolicy,

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled IRC extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../../src/plugin-sdk/irc.js";
export * from "openclaw/plugin-sdk/irc";

View File

@@ -4,6 +4,17 @@
"private": true,
"description": "OpenClaw LINE channel plugin",
"type": "module",
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,7 +1,7 @@
// Private runtime barrel for the bundled LINE extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/line.js";
export * from "openclaw/plugin-sdk/line";
export {
DEFAULT_ACCOUNT_ID,
formatDocsLink,
@@ -10,4 +10,4 @@ export {
splitSetupEntries,
type ChannelSetupDmPolicy,
type ChannelSetupWizard,
} from "../../src/plugin-sdk/line-core.js";
} from "openclaw/plugin-sdk/line-core";

View File

@@ -14,6 +14,14 @@
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -16,7 +16,7 @@ export {
setMatrixThreadBindingIdleTimeoutBySessionKey,
setMatrixThreadBindingMaxAgeBySessionKey,
} from "./thread-bindings-runtime.js";
export { writeJsonFileAtomically } from "../../src/plugin-sdk/json-store.js";
export { writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store";
export type {
ChannelDirectoryEntry,
ChannelMessageActionContext,
@@ -25,5 +25,5 @@ export type {
RuntimeLogger,
RuntimeEnv,
WizardPrompter,
} from "../../src/plugin-sdk/matrix.js";
export { formatZonedTimestamp } from "../../src/plugin-sdk/matrix.js";
} from "openclaw/plugin-sdk/matrix";
export { formatZonedTimestamp } from "openclaw/plugin-sdk/matrix";

View File

@@ -1,4 +1,4 @@
export * from "../../../src/plugin-sdk/matrix.js";
export * from "openclaw/plugin-sdk/matrix";
export {
assertHttpUrlTargetsPrivateNetwork,
closeDispatcher,

View File

@@ -7,6 +7,17 @@
"ws": "^8.19.0",
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Mattermost extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/mattermost.js";
export * from "openclaw/plugin-sdk/mattermost";

View File

@@ -8,6 +8,17 @@
"express": "^5.2.1",
"uuid": "^11.1.0"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Microsoft Teams extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/msteams.js";
export * from "openclaw/plugin-sdk/msteams";

View File

@@ -6,6 +6,17 @@
"dependencies": {
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Nextcloud Talk extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/nextcloud-talk.js";
export * from "openclaw/plugin-sdk/nextcloud-talk";

View File

@@ -7,6 +7,17 @@
"nostr-tools": "^2.23.3",
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Nostr extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/nostr.js";
export * from "openclaw/plugin-sdk/nostr";

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Signal extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../../src/plugin-sdk/signal.js";
export * from "openclaw/plugin-sdk/signal";

View File

@@ -9,7 +9,7 @@ export {
type ChannelPlugin,
type OpenClawConfig,
type SlackAccountConfig,
} from "../../../src/plugin-sdk/slack.js";
} from "openclaw/plugin-sdk/slack";
export {
listSlackDirectoryGroupsFromConfig,
listSlackDirectoryPeersFromConfig,
@@ -25,5 +25,5 @@ export {
readStringParam,
SlackConfigSchema,
withNormalizedTimestamp,
} from "../../../src/plugin-sdk/slack-core.js";
} from "openclaw/plugin-sdk/slack-core";
export { isSlackInteractiveRepliesEnabled } from "./interactive-replies.js";

View File

@@ -7,7 +7,7 @@ export type {
TelegramAccountConfig,
TelegramActionConfig,
TelegramNetworkConfig,
} from "../../src/plugin-sdk/telegram.js";
} from "openclaw/plugin-sdk/telegram";
export type {
OpenClawPluginService,
OpenClawPluginServiceContext,
@@ -37,7 +37,7 @@ export {
projectCredentialSnapshotFields,
resolveConfiguredFromCredentialStatuses,
resolveTelegramPollVisibility,
} from "../../src/plugin-sdk/telegram.js";
} from "openclaw/plugin-sdk/telegram";
export {
buildChannelConfigSchema,
getChatChannelMeta,
@@ -49,7 +49,7 @@ export {
readStringParam,
resolvePollMaxSelections,
TelegramConfigSchema,
} from "../../src/plugin-sdk/telegram-core.js";
} from "openclaw/plugin-sdk/telegram-core";
export type { TelegramProbe } from "./src/probe.js";
export { auditTelegramGroupMembership, collectTelegramUnmentionedGroupIds } from "./src/audit.js";
export { telegramMessageActions } from "./src/channel-actions.js";

View File

@@ -10,6 +10,17 @@
"@urbit/aura": "^3.0.0",
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Tlon extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/tlon.js";
export * from "openclaw/plugin-sdk/tlon";

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Twitch extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/twitch.js";
export * from "openclaw/plugin-sdk/twitch";

View File

@@ -9,6 +9,17 @@
"ws": "^8.19.0",
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Voice Call extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/voice-call.js";
export * from "openclaw/plugin-sdk/voice-call";

View File

@@ -6,6 +6,17 @@
"dependencies": {
"@whiskeysockets/baileys": "7.0.0-rc.9"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -16,7 +16,7 @@ export {
WhatsAppConfigSchema,
type ChannelPlugin,
type OpenClawConfig,
} from "../../../src/plugin-sdk/whatsapp-core.js";
} from "openclaw/plugin-sdk/whatsapp-core";
export {
createWhatsAppOutboundBase,
@@ -31,6 +31,6 @@ export {
type DmPolicy,
type GroupPolicy,
type WhatsAppAccountConfig,
} from "../../../src/plugin-sdk/whatsapp-shared.js";
} from "openclaw/plugin-sdk/whatsapp-shared";
export { monitorWebChannel } from "./channel.runtime.js";

View File

@@ -7,6 +7,17 @@
"undici": "7.24.4",
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Zalo extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/zalo.js";
export * from "openclaw/plugin-sdk/zalo";

View File

@@ -8,6 +8,17 @@
"zca-js": "2.1.2",
"zod": "^4.3.6"
},
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.3.14"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -1,4 +1,4 @@
// Private runtime barrel for the bundled Zalo Personal extension.
// Keep this barrel thin and aligned with the local extension surface.
export * from "../../src/plugin-sdk/zalouser.js";
export * from "openclaw/plugin-sdk/zalouser";