






























@@ -1527,35 +1527,42 @@ module.exports = {
15271527process.env.OPENCLAW_BUNDLED_PLUGINS_DIR = bundledDir;
15281528process.env.OPENCLAW_PLUGIN_STAGE_DIR = stageDir;
152915291530-const registry = loadOpenClawPlugins({
1531-cache: false,
1532-config: {
1533-plugins: {
1534-enabled: true,
1530+let registry: PluginRegistry | null = null;
1531+try {
1532+fs.chmodSync(bundledDir, 0o555);
1533+registry = loadOpenClawPlugins({
1534+cache: false,
1535+config: {
1536+plugins: {
1537+enabled: true,
1538+},
15351539},
1536-},
1537-bundledRuntimeDepsInstaller: ({ installRoot }) => {
1538-const depRoot = path.join(installRoot, "node_modules", "external-runtime");
1539-fs.mkdirSync(depRoot, { recursive: true });
1540-fs.writeFileSync(
1541-path.join(depRoot, "package.json"),
1542-JSON.stringify({
1543-name: "external-runtime",
1544-version: "1.0.0",
1545-type: "module",
1546-exports: "./index.js",
1547-}),
1548-"utf-8",
1549-);
1550-fs.writeFileSync(
1551-path.join(depRoot, "index.js"),
1552-"export default { marker: 'SDK-OK' };\n",
1553-"utf-8",
1554-);
1555-},
1556-});
1540+bundledRuntimeDepsInstaller: ({ installRoot }) => {
1541+const depRoot = path.join(installRoot, "node_modules", "external-runtime");
1542+fs.mkdirSync(depRoot, { recursive: true });
1543+fs.writeFileSync(
1544+path.join(depRoot, "package.json"),
1545+JSON.stringify({
1546+name: "external-runtime",
1547+version: "1.0.0",
1548+type: "module",
1549+exports: "./index.js",
1550+}),
1551+"utf-8",
1552+);
1553+fs.writeFileSync(
1554+path.join(depRoot, "index.js"),
1555+"export default { marker: 'SDK-OK' };\n",
1556+"utf-8",
1557+);
1558+},
1559+});
1560+} finally {
1561+fs.chmodSync(bundledDir, 0o755);
1562+}
155715631558-expect(registry.plugins.find((entry) => entry.id === "telegram")?.status).toBe("loaded");
1564+expect(registry?.plugins.find((entry) => entry.id === "telegram")?.status).toBe("loaded");
1565+expect(fs.existsSync(path.join(bundledDir, "node_modules", "openclaw"))).toBe(false);
15591566});
1560156715611568it("loads bundled plugins with plugin-sdk imports from a package dist root", () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。