




























@@ -980,11 +980,11 @@ describe("repairMissingConfiguredPluginInstalls", () => {
980980981981expect(mocks.updateNpmInstalledPlugins).toHaveBeenCalledTimes(1);
982982expect(result.warnings).toEqual([]);
983-expect(result.changes).toEqual(
984- expect.arrayContaining([
985- expect.stringContaining('Repaired missing configured plugin "discord"'),
986-]),
987-);
983+expect(result.changes[0]).toBe('Repaired missing configured plugin "discord".');
984+expectRecordFields(result.records.discord, {
985+source: "npm",
986+installPath: "/repaired/discord",
987+});
988988});
989989990990it("defers channel-selected external payload repair during the package update doctor pass", async () => {
@@ -1352,12 +1352,22 @@ describe("repairMissingConfiguredPluginInstalls", () => {
13521352expect(mockCallArg(mocks.writePersistedInstalledPluginIndexInstallRecords, 0, 1)).toEqual({
13531353 env,
13541354});
1355-expect(result).toMatchObject({
1356-changes: [
1357-`Installed missing configured plugin "codex" from ${expectedNpmInstallSpec("@openclaw/codex")}.`,
1358-],
1359-warnings: [],
1355+expect(result.changes).toEqual([
1356+`Installed missing configured plugin "codex" from ${expectedNpmInstallSpec("@openclaw/codex")}.`,
1357+]);
1358+expect(result.warnings).toEqual([]);
1359+expect(Object.keys(result.records)).toEqual(["codex"]);
1360+expectRecordFields(result.records.codex, {
1361+source: "npm",
1362+spec: "@openclaw/codex",
1363+installPath: "/tmp/openclaw-plugins/codex",
1364+version: "2026.5.2",
1365+resolvedName: "@openclaw/codex",
1366+resolvedSpec: "@openclaw/codex@2026.5.2",
1367+integrity: "sha512-codex",
1368+resolvedAt: "2026-05-01T00:00:00.000Z",
13601369});
1370+expect(typeof result.records.codex?.installedAt).toBe("string");
13611371});
1362137213631373it.each([
@@ -2026,9 +2036,16 @@ describe("repairMissingConfiguredPluginInstalls", () => {
20262036expect(mockCallArg(mocks.writePersistedInstalledPluginIndexInstallRecords, 0, 1)).toEqual({
20272037env: {},
20282038});
2029-expect(result).toMatchObject({
2039+expect(result).toEqual({
20302040changes: ['Repaired missing configured plugin "discord".'],
20312041warnings: [],
2042+records: {
2043+discord: {
2044+source: "npm",
2045+spec: "@openclaw/discord",
2046+installPath: process.cwd(),
2047+},
2048+},
20322049});
20332050});
20342051此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。