{"record":{"id":"74f01b1ac0667eac","repo":"HKUDS/DeepTutor","slug":"knowledge-base-not-found-kb-name","errorCode":null,"errorMessage":"Knowledge base not found: {kb_name}","messagePattern":"Knowledge base not found: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"deeptutor/knowledge/manager.py","lineNumber":1633,"sourceCode":"\n        return True\n\n    def link_folder(self, kb_name: str, folder_path: str) -> dict:\n        \"\"\"\n        Link a local folder to a knowledge base.\n\n        Args:\n            kb_name: Knowledge base name\n            folder_path: Path to local folder (supports ~, relative paths)\n\n        Returns:\n            Dict with folder info including id, path, and file count\n\n        Raises:\n            ValueError: If KB not found or folder doesn't exist\n        \"\"\"\n        if kb_name not in self.list_knowledge_bases():\n            raise ValueError(f\"Knowledge base not found: {kb_name}\")\n\n        # Normalize path (cross-platform: handles ~, relative paths, etc.)\n        folder = Path(folder_path).expanduser().resolve()\n\n        if not folder.exists():\n            raise ValueError(f\"Folder does not exist: {folder}\")\n        if not folder.is_dir():\n            raise ValueError(f\"Path is not a directory: {folder}\")\n\n        files = FileTypeRouter.collect_supported_files(folder, recursive=True)\n\n        # Generate folder ID\n\n        folder_id = hashlib.md5(  # noqa: S324\n            str(folder).encode(), usedforsecurity=False\n        ).hexdigest()[:8]\n\n        # Load existing linked folders from metadata","sourceCodeStart":1615,"sourceCodeEnd":1651,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/knowledge/manager.py#L1615-L1651","documentation":"Error \"Knowledge base not found: {kb_name}\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/knowledge/manager.py:1633 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e82f130422a813cdd73c10b21a44e9325f5821a","analyzedAt":"2026-08-27T06:57:25.364Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}