HKUDS/nanobot · error · TypeError
channel plugin management must be a ChannelManagementSpec
Error message
channel plugin management must be a ChannelManagementSpec
What it means
Error "channel plugin management must be a ChannelManagementSpec" thrown in HKUDS/nanobot.
Source
Thrown at nanobot/channels/plugin.py:55
dependencies: tuple[str, ...] = ()
default_enabled: bool = False
settings_visible: bool = True
capabilities: frozenset[str] = frozenset()
webui: str | None = None
def __post_init__(self) -> None:
if _CHANNEL_PACKAGE_NAME.fullmatch(self.name) is None:
raise ValueError(
"channel plugin name must start with a letter and contain only letters, "
"digits, or underscores"
)
_target_parts(self.runtime, label="runtime")
if self.connector is not None:
_target_parts(self.connector, label="connector")
if self.setup is not None and not isinstance(cast(object, self.setup), ChannelSetupSpec):
raise TypeError("channel plugin setup must be a ChannelSetupSpec or None")
if not isinstance(cast(object, self.management), ChannelManagementSpec):
raise TypeError("channel plugin management must be a ChannelManagementSpec")
if not isinstance(cast(object, self.dependencies), tuple) or not all(
isinstance(cast(object, requirement), str) and requirement.strip()
for requirement in self.dependencies
):
raise TypeError("channel plugin dependencies must be a tuple of requirements")
for dependency in self.dependencies:
try:
Requirement(dependency)
except InvalidRequirement as exc:
raise ValueError(
f"channel plugin dependency is not a valid requirement: {dependency}"
) from exc
if self.webui is not None:
webui = self.webui.replace("\\", "/")
if webui.startswith("/") or ".." in webui.split("/"):
raise ValueError("channel plugin webui entry must stay inside its package")
object.__setattr__(self, "webui", webui)
View on GitHub (pinned to 42f37dc4c0)
When it happens
Trigger: Thrown at nanobot/channels/plugin.py:55 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/36b7861e5ec5c39b.
Report an issue: GitHub.