This commit is contained in:
2026-03-27 15:45:05 -07:00
parent 37bb4ca685
commit 6ef5b645a8
6 changed files with 325 additions and 15 deletions

View File

@@ -2944,6 +2944,29 @@ class PipelineExecutor:
continue
cmd_fn = REGISTRY.get(cmd_name)
try:
mod = import_cmd_module(cmd_name, reload_loaded=True)
data = getattr(mod, "CMDLET", None) if mod else None
if data and hasattr(data, "exec") and callable(getattr(data, "exec")):
run_fn = getattr(data, "exec")
registered_names = set()
raw_name = getattr(data, "name", None)
if raw_name:
registered_names.add(str(raw_name).replace("_", "-").lower())
registered_names.add(str(cmd_name).replace("_", "-").lower())
for alias_attr in ("alias", "aliases"):
alias_values = getattr(data, alias_attr, None)
if alias_values:
for alias in alias_values:
alias_text = str(alias or "").replace("_", "-").lower().strip()
if alias_text:
registered_names.add(alias_text)
for registered_name in registered_names:
REGISTRY[registered_name] = run_fn
cmd_fn = run_fn
except Exception:
pass
if not cmd_fn:
try:
mod = import_cmd_module(cmd_name)