Files
openclaw/src/plugins/plugin-metadata-lifecycle.ts
Peter Steinberger 6ac11fbf6a fix(plugins): prevent bundled discovery loss and out-of-scope activation (#114547)
* fix(plugins): prevent missing and out-of-scope plugin activation

* fix(plugins): clear complete metadata on lifecycle invalidation

* fix(plugins): clear metadata without lifecycle import cycles

* test(agents): preserve plugin metadata lifecycle in model mock

* test(agents): align Ollama auth with the installed plugin index

* test(auto-reply): preserve plugin metadata lifecycle in model mock

* test(auto-reply): keep plugin metadata mock within lint limit

* test(auto-reply): align plugin metadata fixture with lint and format
2026-07-27 10:00:39 -04:00

20 lines
747 B
TypeScript

/** Coordinates plugin metadata snapshot and process memo cache lifecycle resets. */
import { clearCurrentPluginMetadataSnapshot } from "./current-plugin-metadata-state.js";
const pluginMetadataProcessMemoClears = new Set<() => void>();
/** Registers a process-local plugin metadata memo clear hook. */
export function registerPluginMetadataProcessMemoLifecycleClear(
clearProcessMemo: () => void,
): void {
pluginMetadataProcessMemoClears.add(clearProcessMemo);
}
/** Clears plugin metadata snapshots and registered process memo caches. */
export function clearPluginMetadataLifecycleCaches(): void {
clearCurrentPluginMetadataSnapshot();
for (const clearProcessMemo of pluginMetadataProcessMemoClears) {
clearProcessMemo();
}
}