





















@@ -155,6 +155,7 @@ describe("runPluginPayloadSmokeCheck", () => {
155155await writePackage(dir, {
156156name: "@openclaw/brave-plugin",
157157openclaw: { extensions: ["./index.js", " "] },
158+main: "main.js",
158159});
159160await fs.writeFile(path.join(dir, "index.js"), "export default {};\n", "utf8");
160161const result = await runPluginPayloadSmokeCheck({
@@ -172,6 +173,50 @@ describe("runPluginPayloadSmokeCheck", () => {
172173]);
173174});
174175176+it("reports only extension-entry failure for an empty extensions list even if main is missing", async () => {
177+const dir = path.join(tmpRoot, "brave-empty");
178+await writePackage(dir, {
179+name: "@openclaw/brave-plugin",
180+openclaw: { extensions: [] },
181+main: "dist/index.js",
182+});
183+const result = await runPluginPayloadSmokeCheck({
184+records: { brave: { source: "npm", installPath: dir } },
185+env: {},
186+});
187+expect(result.failures).toStrictEqual([
188+{
189+pluginId: "brave",
190+installPath: dir,
191+reason: "missing-extension-entry",
192+detail:
193+"Plugin extension entry validation failed: package.json openclaw.extensions is empty",
194+},
195+]);
196+});
197+198+it("reports missing main entry when extension entries are valid", async () => {
199+const dir = path.join(tmpRoot, "brave");
200+await writePackage(dir, {
201+name: "@openclaw/brave-plugin",
202+openclaw: { extensions: ["./index.js"] },
203+main: "dist/index.js",
204+});
205+await fs.writeFile(path.join(dir, "index.js"), "export default {};\n", "utf8");
206+const result = await runPluginPayloadSmokeCheck({
207+records: { brave: { source: "npm", installPath: dir } },
208+env: {},
209+});
210+expect(result.failures).toStrictEqual([
211+{
212+pluginId: "brave",
213+installPath: dir,
214+reason: "missing-main-entry",
215+detail: `Plugin main entry "dist/index.js" not found at ${path.join(dir, "dist/index.js")}`,
216+},
217+]);
218+});
219+175220it("accepts a packaged TypeScript extension entry when compiled runtime output exists", async () => {
176221const dir = path.join(tmpRoot, "codex");
177222await writePackage(dir, {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。