fix(build): keep externalized plugins out of root dist

This commit is contained in:
Vincent Koc
2026-05-14 15:17:07 +08:00
parent 1fc82347a7
commit 1b77553115
5 changed files with 17 additions and 4 deletions

View File

@@ -18,6 +18,7 @@ Docs: https://docs.openclaw.ai
### Fixes
- Build: keep externalized Slack, OpenShell sandbox, and Anthropic Vertex runtime dependency declarations out of the root dist artifact build.
- Auto-reply/Claude CLI: bridge CLI-runtime assistant text-delta agent events into the chat reasoning preview through `onReasoningStream`, mirroring the existing assistant-text (#76914) and tool-event (#80046) bridges and adding gating so non-CLI runtimes are unaffected. Thanks @anagnorisis2peripeteia and @pashpashpash.
- CLI/migrate: handle delayed Codex plugin marketplace responses so warnings, next-steps, and conflict states render with ⚠️ glyphs and post-install migration retries the marketplace fetch instead of silently skipping plugin items. (#81625) Thanks @sjf.
- Channels/Weixin: bump the bundled `@tencent-weixin/openclaw-weixin` external entry to `2.4.3` (from `2.4.1`) so onboarding and `openclaw channels add` install the current Tencent Weixin (personal WeChat) plugin release. (#81730) Thanks @scotthuang.

View File

@@ -27,7 +27,8 @@
"pluginApi": ">=2026.5.12-beta.1"
},
"build": {
"openclawVersion": "2026.5.12-beta.1"
"openclawVersion": "2026.5.12-beta.1",
"bundledDist": false
},
"release": {
"publishToClawHub": true,

View File

@@ -67,7 +67,8 @@
"pluginApi": ">=2026.5.12-beta.1"
},
"build": {
"openclawVersion": "2026.5.12-beta.1"
"openclawVersion": "2026.5.12-beta.1",
"bundledDist": false
},
"release": {
"publishToClawHub": true,

View File

@@ -126,6 +126,16 @@ describe("bundled plugin build entries", () => {
}
});
it("keeps externalized runtime-dependency plugins out of bundled dist entries", () => {
const entries = listBundledPluginBuildEntries();
const artifacts = listBundledPluginPackArtifacts();
for (const pluginId of ["openshell", "slack"]) {
expectNoPrefixMatches(Object.keys(entries), `extensions/${pluginId}/`);
expectNoPrefixMatches(artifacts, `dist/extensions/${pluginId}/`);
}
});
it("keeps bundled channel secret contracts on packed top-level sidecars", () => {
const artifacts = listBundledPluginPackArtifacts();
const excludedPackageDirs = collectRootPackageExcludedExtensionDirs();

View File

@@ -162,12 +162,12 @@ const bundledPluginFile = (pluginId: string, relativePath: string) =>
`${bundledPluginRoot(pluginId)}/${relativePath}`;
const explicitNeverBundleDependencies = [
"@anthropic-ai/vertex-sdk",
"@slack/bolt",
"@slack/web-api",
"@discordjs/voice",
"@lancedb/lancedb",
"@larksuiteoapi/node-sdk",
"@matrix-org/matrix-sdk-crypto-nodejs",
"@slack/bolt",
"@slack/web-api",
"@vitest/expect",
"matrix-js-sdk",
"prism-media",