UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

40 lines (39 loc) 1.35 kB
import { s as parseRegistryNpmSpec } from "./npm-registry-spec-DjR-Lha9.js"; import { t as buildNpmResolutionFields } from "./install-source-utils-Zb798u54.js"; //#region src/plugins/installs.ts /** Builds install record fields from resolved npm package metadata. */ function buildNpmResolutionInstallFields(resolution) { return buildNpmResolutionFields(resolution); } function isExactRegistryNpmSpec(spec) { return (spec ? parseRegistryNpmSpec(spec) : null)?.selectorKind === "exact-version"; } function resolveNpmInstallRecordSpec(params) { const resolvedSpec = params.resolution?.resolvedSpec; if (!params.pinResolvedRegistrySpec || !isExactRegistryNpmSpec(resolvedSpec)) return params.requestedSpec; return resolvedSpec; } /** Records or updates a plugin install record in OpenClaw config. */ function recordPluginInstall(cfg, update) { const { pluginId, ...record } = update; const installs = { ...cfg.plugins?.installs, [pluginId]: { ...cfg.plugins?.installs?.[pluginId], ...record, installedAt: record.installedAt ?? (/* @__PURE__ */ new Date()).toISOString() } }; return { ...cfg, plugins: { ...cfg.plugins, installs: { ...installs, [pluginId]: installs[pluginId] } } }; } //#endregion export { recordPluginInstall as n, resolveNpmInstallRecordSpec as r, buildNpmResolutionInstallFields as t };