mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 10:00:42 +00:00
fix(plugins): persist clawhub artifact metadata
This commit is contained in:
@@ -130,6 +130,11 @@ describe("plugins cli list", () => {
|
||||
version: "2026.5.1",
|
||||
clawhubPackage: "openclaw-mem0",
|
||||
clawhubChannel: "official",
|
||||
artifactKind: "npm-pack",
|
||||
artifactFormat: "tgz",
|
||||
npmIntegrity: "sha512-clawpack",
|
||||
npmShasum: "1".repeat(40),
|
||||
npmTarballName: "openclaw-mem0-2026.5.1.tgz",
|
||||
clawpackSha256: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
clawpackSpecVersion: 1,
|
||||
clawpackManifestSha256: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
||||
@@ -175,6 +180,8 @@ describe("plugins cli list", () => {
|
||||
expect(runtimeLogs.join("\n")).toContain("Policy");
|
||||
expect(runtimeLogs.join("\n")).toContain("allowConversationAccess: true");
|
||||
expect(runtimeLogs.join("\n")).toContain("ClawHub package: openclaw-mem0");
|
||||
expect(runtimeLogs.join("\n")).toContain("Artifact kind: npm-pack");
|
||||
expect(runtimeLogs.join("\n")).toContain("Npm integrity: sha512-clawpack");
|
||||
expect(runtimeLogs.join("\n")).toContain(
|
||||
"ClawPack sha256: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
);
|
||||
|
||||
@@ -77,6 +77,21 @@ function formatInstallLines(install: PluginInstallRecord | undefined): string[]
|
||||
if (install.clawhubChannel) {
|
||||
lines.push(`ClawHub channel: ${install.clawhubChannel}`);
|
||||
}
|
||||
if (install.artifactKind) {
|
||||
lines.push(`Artifact kind: ${install.artifactKind}`);
|
||||
}
|
||||
if (install.artifactFormat) {
|
||||
lines.push(`Artifact format: ${install.artifactFormat}`);
|
||||
}
|
||||
if (install.npmIntegrity) {
|
||||
lines.push(`Npm integrity: ${install.npmIntegrity}`);
|
||||
}
|
||||
if (install.npmShasum) {
|
||||
lines.push(`Npm shasum: ${install.npmShasum}`);
|
||||
}
|
||||
if (install.npmTarballName) {
|
||||
lines.push(`Npm tarball: ${install.npmTarballName}`);
|
||||
}
|
||||
if (install.clawpackSha256) {
|
||||
lines.push(`ClawPack sha256: ${install.clawpackSha256}`);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import { resolveArchiveKind } from "../infra/archive.js";
|
||||
import { parseClawHubPluginSpec } from "../infra/clawhub.js";
|
||||
import { formatErrorMessage } from "../infra/errors.js";
|
||||
import { type BundledPluginSource, findBundledPluginSource } from "../plugins/bundled-sources.js";
|
||||
import { buildClawHubPluginInstallRecordFields } from "../plugins/clawhub-install-records.js";
|
||||
import { installPluginFromClawHub } from "../plugins/clawhub.js";
|
||||
import { installPluginFromGitSpec, parseGitPluginSpec } from "../plugins/git-install.js";
|
||||
import { resolveDefaultPluginExtensionsDir } from "../plugins/install-paths.js";
|
||||
@@ -766,20 +767,9 @@ export async function runPluginInstallCommand(params: {
|
||||
snapshot,
|
||||
pluginId: result.pluginId,
|
||||
install: {
|
||||
source: "clawhub",
|
||||
...buildClawHubPluginInstallRecordFields(result.clawhub),
|
||||
spec: raw,
|
||||
installPath: result.targetDir,
|
||||
version: result.version,
|
||||
integrity: result.clawhub.integrity,
|
||||
resolvedAt: result.clawhub.resolvedAt,
|
||||
clawhubUrl: result.clawhub.clawhubUrl,
|
||||
clawhubPackage: result.clawhub.clawhubPackage,
|
||||
clawhubFamily: result.clawhub.clawhubFamily,
|
||||
clawhubChannel: result.clawhub.clawhubChannel,
|
||||
clawpackSha256: result.clawhub.clawpackSha256,
|
||||
clawpackSpecVersion: result.clawhub.clawpackSpecVersion,
|
||||
clawpackManifestSha256: result.clawhub.clawpackManifestSha256,
|
||||
clawpackSize: result.clawhub.clawpackSize,
|
||||
},
|
||||
runtime,
|
||||
});
|
||||
@@ -800,20 +790,9 @@ export async function runPluginInstallCommand(params: {
|
||||
snapshot,
|
||||
pluginId: clawhubResult.pluginId,
|
||||
install: {
|
||||
source: "clawhub",
|
||||
...buildClawHubPluginInstallRecordFields(clawhubResult.clawhub),
|
||||
spec: preferredClawHubSpec,
|
||||
installPath: clawhubResult.targetDir,
|
||||
version: clawhubResult.version,
|
||||
integrity: clawhubResult.clawhub.integrity,
|
||||
resolvedAt: clawhubResult.clawhub.resolvedAt,
|
||||
clawhubUrl: clawhubResult.clawhub.clawhubUrl,
|
||||
clawhubPackage: clawhubResult.clawhub.clawhubPackage,
|
||||
clawhubFamily: clawhubResult.clawhub.clawhubFamily,
|
||||
clawhubChannel: clawhubResult.clawhub.clawhubChannel,
|
||||
clawpackSha256: clawhubResult.clawhub.clawpackSha256,
|
||||
clawpackSpecVersion: clawhubResult.clawhub.clawpackSpecVersion,
|
||||
clawpackManifestSha256: clawhubResult.clawhub.clawpackManifestSha256,
|
||||
clawpackSize: clawhubResult.clawhub.clawpackSize,
|
||||
},
|
||||
runtime,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user