MCPcopy
hub / github.com/HKUDS/OpenHarness / load_plugins

Function load_plugins

src/openharness/plugins/loader.py:107–123  ·  view source on GitHub ↗

Load plugins from disk.

(settings, cwd: str | Path, extra_roots: Iterable[str | Path] | None = None)

Source from the content-addressed store, hash-verified

105
106
107def load_plugins(settings, cwd: str | Path, extra_roots: Iterable[str | Path] | None = None) -> list[LoadedPlugin]:
108 """Load plugins from disk."""
109 project_plugins_dir = get_project_plugins_dir(cwd)
110 if not getattr(settings, "allow_project_plugins", False) and any(
111 path.is_dir() and _find_manifest(path) is not None for path in sorted(project_plugins_dir.iterdir())
112 ):
113 logger.warning(
114 "Found project-local plugins in %s, but they are disabled by default. "
115 "Set allow_project_plugins=true if you trust this workspace.",
116 project_plugins_dir,
117 )
118 plugins: list[LoadedPlugin] = []
119 for path in discover_plugin_paths_for_settings(settings, cwd, extra_roots=extra_roots):
120 plugin = load_plugin(path, settings.enabled_plugins)
121 if plugin is not None:
122 plugins.append(plugin)
123 return plugins
124
125
126def load_plugin(path: Path, enabled_plugins: dict[str, bool]) -> LoadedPlugin | None:

Callers 15

_build_dry_run_previewFunction · 0.90
mcp_listFunction · 0.90
plugin_listFunction · 0.90
_reload_plugins_handlerFunction · 0.90
_plugin_handlerFunction · 0.90
current_pluginsMethod · 0.90
build_runtimeFunction · 0.90
load_skill_registryFunction · 0.90
_run_plugin_flowFunction · 0.90
test_real_plugins_loadedFunction · 0.90

Calls 4

get_project_plugins_dirFunction · 0.85
_find_manifestFunction · 0.85
load_pluginFunction · 0.85