Files
openclaw/src/plugins/loader.ts
T
Peter Steinberger 6c9b38862d refactor(plugins): root-owned bundle installation with scoped registry handles (#117587)
* refactor(plugins): root-owned bundle installation with scoped registry handles

* refactor(plugins): root-owned bundle installation with scoped registry handles

* test(gateway): expect gateway-binding fact in reload rewarm

* fix(agents): reuse gateway prepared runtime generations

* test(agents): isolate runtime handle fixtures

* test(agents): align runtime owner fixtures

* test(cron): mock run-owned registry loading
2026-08-01 16:17:30 -07:00

28 lines
1.1 KiB
TypeScript

/** Stable public facade for plugin loading and runtime-registry resolution. */
export {
clearPluginRegistryLoadCache,
isPluginRegistryLoadInFlight,
resolvePluginRegistryLoadCacheKey,
} from "./loader-cache.js";
export { loadOpenClawPluginCliRegistry } from "./loader-cli-registry.js";
export {
getRuntimePluginRegistryForLoadOptions,
resolveCompatibleRuntimePluginRegistry,
resolveRuntimePluginRegistry,
} from "./loader-runtime-registry.js";
import { loadOpenClawPlugins } from "./loader-runtime-load.js";
import type { PluginLoadOptions } from "./loader-types.js";
/** Loads a caller-owned registry value without changing the process-wide active registry. */
export function loadPluginRegistryHandle(options: PluginLoadOptions = {}) {
return loadOpenClawPlugins({ ...options, activate: false });
}
/** Loads and installs the registry owned by a process composition root. */
export function loadAndActivateRootPluginRegistry(options: PluginLoadOptions = {}) {
return loadOpenClawPlugins({ ...options, activate: true });
}
export { loadOpenClawPlugins };
export type { PluginLoadOptions };