
































@@ -1,10 +1,12 @@
11import type { OpenClawConfig } from "../config/types.openclaw.js";
2+import {
3+clearCurrentPluginMetadataSnapshotState,
4+getCurrentPluginMetadataSnapshotState,
5+setCurrentPluginMetadataSnapshotState,
6+} from "./current-plugin-metadata-state.js";
27import { resolveInstalledPluginIndexPolicyHash } from "./installed-plugin-index-policy.js";
38import type { PluginMetadataSnapshot } from "./plugin-metadata-snapshot.types.js";
495-let currentPluginMetadataSnapshot: PluginMetadataSnapshot | undefined;
6-let currentPluginMetadataSnapshotConfigFingerprint: string | undefined;
7-810function normalizeLoadPaths(config: OpenClawConfig | undefined): readonly string[] {
911const paths = config?.plugins?.load?.paths;
1012if (!Array.isArray(paths)) {
@@ -28,15 +30,14 @@ export function setCurrentPluginMetadataSnapshot(
2830snapshot: PluginMetadataSnapshot | undefined,
2931options: { config?: OpenClawConfig } = {},
3032): void {
31-currentPluginMetadataSnapshot = snapshot;
32-currentPluginMetadataSnapshotConfigFingerprint = snapshot
33- ? resolvePluginMetadataSnapshotConfigFingerprint(options.config)
34- : undefined;
33+setCurrentPluginMetadataSnapshotState(
34+ snapshot,
35+snapshot ? resolvePluginMetadataSnapshotConfigFingerprint(options.config) : undefined,
36+);
3537}
36383739export function clearCurrentPluginMetadataSnapshot(): void {
38-currentPluginMetadataSnapshot = undefined;
39-currentPluginMetadataSnapshotConfigFingerprint = undefined;
40+clearCurrentPluginMetadataSnapshotState();
4041}
41424243export function getCurrentPluginMetadataSnapshot(
@@ -45,7 +46,8 @@ export function getCurrentPluginMetadataSnapshot(
4546workspaceDir?: string;
4647} = {},
4748): PluginMetadataSnapshot | undefined {
48-const snapshot = currentPluginMetadataSnapshot;
49+const { snapshot: rawSnapshot, configFingerprint } = getCurrentPluginMetadataSnapshotState();
50+const snapshot = rawSnapshot as PluginMetadataSnapshot | undefined;
4951if (!snapshot) {
5052return undefined;
5153}
@@ -57,9 +59,8 @@ export function getCurrentPluginMetadataSnapshot(
5759}
5860if (
5961params.config &&
60-currentPluginMetadataSnapshotConfigFingerprint &&
61-currentPluginMetadataSnapshotConfigFingerprint !==
62-resolvePluginMetadataSnapshotConfigFingerprint(params.config)
62+configFingerprint &&
63+configFingerprint !== resolvePluginMetadataSnapshotConfigFingerprint(params.config)
6364) {
6465return undefined;
6566}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。