HKUDS/nanobot · error · ValueError
ChannelPlugin.management runtime name '{runtime_name}' must
Error message
ChannelPlugin.management runtime name '{runtime_name}' must be scoped under '{channel_name}' What it means
Error "ChannelPlugin.management runtime name '{runtime_name}' must be scoped under '{channel_name}'" thrown in HKUDS/nanobot.
Source
Thrown at nanobot/channels/contracts.py:538
def refresh_channel_feature_metadata(
channel_cls: type[Any],
config_path: Path,
*,
instance_id: str = "default",
) -> bool:
return bool(channel_cls.refresh_feature_metadata(config_path, instance_id=instance_id))
def _validate_runtime_name(plugin: ChannelPlugin, runtime_name: Any) -> None:
channel_name = str(plugin.name).strip()
if not channel_name:
raise ValueError("ChannelPlugin.name must not be empty")
if not isinstance(runtime_name, str) or not runtime_name.strip():
raise ValueError(f"ChannelPlugin.management for '{plugin.name}' returned an empty runtime name")
if runtime_name != channel_name and not runtime_name.startswith(f"{channel_name}."):
raise ValueError(
f"ChannelPlugin.management runtime name '{runtime_name}' must be scoped under "
f"'{channel_name}'"
)
def channel_field_value(values: Any, field_path: str) -> Any:
current: Any = values
for part in field_path.split("."):
candidates = (part, _camel_to_snake(part))
if isinstance(current, dict):
for candidate in candidates:
if candidate in current:
current = cast(Any, current)[candidate]
break
else:
return None
continue
for candidate in candidates:View on GitHub (pinned to 42f37dc4c0)
When it happens
Trigger: Thrown at nanobot/channels/contracts.py:538 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HKUDS/nanobot@42f37dc4c0 (2026-08-26).
Data as JSON: /api/errors/3e89dd1ec032a113.
Report an issue: GitHub.