OpenBMB/ChatDev · error · RegistryError
Edge processor type '{processor_config.type}' does not provi
Error message
Edge processor type '{processor_config.type}' does not provide an implementation What it means
The edge processor type is registered but its registration lacks a processor_cls, so build_edge_processor cannot construct an EdgePayloadProcessor for an edge's processor_config.
Source
Thrown at runtime/edge/processors/registry.py:72
registration = entry.load()
if not isinstance(registration, EdgeProcessorRegistration):
raise RegistryError(f"Entry '{name}' is not an EdgeProcessorRegistration")
return registration
def iter_edge_processor_registrations() -> Dict[str, EdgeProcessorRegistration]:
_ensure_builtins_loaded()
return {name: entry.load() for name, entry in edge_processor_registry.items()}
def build_edge_processor(
processor_config: "EdgeProcessorConfig",
context: ProcessorFactoryContext,
) -> "EdgePayloadProcessor[Any]":
registration = get_edge_processor_registration(processor_config.type)
processor_cls = registration.processor_cls
if not processor_cls:
raise RegistryError(f"Edge processor type '{processor_config.type}' does not provide an implementation")
return processor_cls(processor_config.config, context)
__all__ = [
"register_edge_processor",
"get_edge_processor_registration",
"iter_edge_processor_registrations",
"build_edge_processor",
]
View on GitHub (pinned to 4fb2db0ea9)
Solutions
- Provide a concrete processor_cls implementing EdgePayloadProcessor when registering
- Remove the edge processor entry from your config or switch to a fully implemented builtin type
Example fix
# before
register_edge_processor('myproc', config_cls=C, processor_cls=None)
# after
class MyProc(EdgePayloadProcessor[MyProcConfig]):
...
register_edge_processor('myproc', config_cls=C, processor_cls=MyProc) Defensive patterns
Strategy: validation
Validate before calling
from runtime.edge.processors.registry import get_edge_processor_registration
reg = get_edge_processor_registration(cfg.type)
if reg.processor_cls is None:
raise ConfigError(f'{cfg.type} has no processor implementation') Prevention
- Validate edge processor configs before graph run
- Avoid config-only registrations
When it happens
Trigger: An edge processor config references type X whose registration was made with processor_cls=None/omitted; instantiating the graph/edge triggers build_edge_processor(processor_config, context).
Common situations: Config-only or placeholder processor registrations; copied registration calls missing the processor_cls argument; referencing an abstract processor type in edge configs.
Related errors
- Edge condition type '{condition.type}' does not provide a ma
- Edge processor type '{name}' already registered
- unsupported memory store type '{store_type}'
- unsupported node type '{node_type}'
- Entry '{name}' is not a BaseConfig subclass
AI-assisted analysis of OpenBMB/ChatDev@4fb2db0ea9 (2026-08-27).
Data as JSON: /api/errors/2bf1145c95b55524.
Report an issue: GitHub.