{"record":{"id":"fbd2f34e8c2a1544","repo":"OpenBMB/ChatDev","slug":"unsupported-memory-store-type-store-type","errorCode":null,"errorMessage":"unsupported memory store type '{store_type}'","messagePattern":"unsupported memory store type '(.+?)'","errorType":"validation","errorClass":"ConfigError","httpStatus":null,"severity":"error","filePath":"entity/configs/node/memory.py","lineNumber":365,"sourceCode":"        ),\n    }\n\n\n@dataclass\nclass MemoryStoreConfig(BaseConfig):\n    name: str\n    type: str\n    config: BaseConfig | None = None\n\n    @classmethod\n    def from_dict(cls, data: Mapping[str, Any], *, path: str) -> \"MemoryStoreConfig\":\n        mapping = require_mapping(data, path)\n        name = require_str(mapping, \"name\", path)\n        store_type = require_str(mapping, \"type\", path)\n        try:\n            schema = get_memory_store_schema(store_type)\n        except SchemaLookupError as exc:\n            raise ConfigError(f\"unsupported memory store type '{store_type}'\", extend_path(path, \"type\")) from exc\n\n        if \"config\" not in mapping or mapping[\"config\"] is None:\n            raise ConfigError(\"memory store requires config block\", extend_path(path, \"config\"))\n\n        config_obj = schema.config_cls.from_dict(mapping[\"config\"], path=extend_path(path, \"config\"))\n        return cls(name=name, type=store_type, config=config_obj, path=path)\n\n    def require_payload(self) -> BaseConfig:\n        if not self.config:\n            raise ConfigError(\"memory store payload missing\", extend_path(self.path, \"config\"))\n        return self.config\n\n    FIELD_SPECS = {\n        \"name\": ConfigFieldSpec(\n            name=\"name\",\n            display_name=\"Store Name\",\n            type_hint=\"str\",\n            required=True,","sourceCodeStart":347,"sourceCodeEnd":383,"githubUrl":"https://github.com/OpenBMB/ChatDev/blob/4fb2db0ea90375ce1059f44fe03ffbd191a7a169/entity/configs/node/memory.py#L347-L383","documentation":"Thrown by MemoryStoreConfig.from_dict when the memory store's 'type' string has no registered schema. The config loader looks up store types via get_memory_store_schema(); an unknown or misspelled type raises SchemaLookupError, which is wrapped into this ConfigError with the JSON path pointing at 'type'.","triggerScenarios":"Calling MemoryStoreConfig.from_dict (directly or via a node/graph config parse) with mapping['type'] set to a value that is not a registered memory store type, e.g. 'vectordb' instead of a supported store like 'redis' or 'in-memory'.","commonSituations":"Typos in YAML/JSON memory store configs, copy-pasting configs from an older/newer version where store type names changed, or referencing a store whose plugin/module registering the schema was never imported.","solutions":["Check the exact spelling and casing of the 'type' field in your memory store config block against the registered store types","Ensure any module that registers the memory store schema (calls the registration API for that store type) is imported before parsing config","Print available store types by inspecting the memory store registry to see what names are accepted","Upgrade/downgrade aligning config schema with the library version that introduced/renamed the store type"],"exampleFix":"# before\nmemory:\n  store:\n    name: my_store\n    type: vectordb   # not registered\n# after\nmemory:\n  store:\n    name: my_store\n    type: redis      # registered store type","handlingStrategy":"validation","validationCode":"from entity.configs.node.memory import get_memory_store_schema\ntry:\n    get_memory_store_schema(cfg['store']['type'])\nexcept SchemaLookupError:\n    # invalid type; fix before parsing\n    ...","typeGuard":null,"tryCatchPattern":"try:\n    store_cfg = MemoryStoreConfig.from_dict(data, path='store')\nexcept ConfigError as e:\n    if 'unsupported memory store type' in str(e):\n        # surface allowed types / fallback to default store\n        ...","preventionTips":["Keep a canonical list of supported store types in your config docs","Import store plugin modules before parsing configs","Add a CI schema validation step for config files"],"tags":["config","memory-store","registry","validation"],"backgroundTag":"unknown-config-type-registry","analyzedSha":"4fb2db0ea90375ce1059f44fe03ffbd191a7a169","analyzedAt":"2026-08-27T14:35:29.622Z","schemaVersion":2},"datasetVersion":"2026-08-27T19:17:21.184Z"}