ErrLookup › HKUDS/DeepTutor
HKUDS/DeepTutor
DeepTutor: Lifelong Personalized Tutoring. https://deeptutor.info/. · Python · 1,251 source files
Analyzed at 3e82f13042 on 2026-08-27. 501 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| Model not configured for agent {self.agent_name}. Please act | validation | error | file-type, validation, document-extraction |
| The model provider interrupted this response. Please retry. | exception | warning | empty-document, pdf, document-extraction |
| Unable to reach the model provider. Please retry. | exception | error | pdf, encryption, pymupdf, document-extraction |
| CodeGeneratorAgent generation prompts are not configured. | validation | error | pdf, missing-dependency, pymupdf, pypdf |
| CodeGeneratorAgent retry prompts are not configured. | validation | error | pdf, encryption, pypdf, document-extraction |
| ConceptAnalysisAgent prompts are not configured. | validation | error | pdf, encryption, pypdf, edge-case |
| ConceptDesignAgent prompts are not configured. | validation | error | pdf, corruption, pypdf, document-extraction |
| SummaryAgent prompts are not configured. | validation | error | docx, missing-dependency, empty-document, python-docx |
| VisualReviewAgent prompts are not configured. | validation | error | docx, corruption, legacy-format, document-extraction |
| math_animator requires optional dependencies. Install with ` | exception | error | xlsx, openpyxl, corruption, document-extraction |
| Image mode requires code blocks wrapped in ### YON_IMAGE_n_S | exception | error | pptx, python-pptx, corruption, document-extraction |
| Image mode code must only contain YON_IMAGE anchor blocks. | exception | warning | encoding, text-decode, defensive |
| Rendered {suffix} artifact not found. | exception | error | epub, zip-bomb, resource-limits, document-extraction |
| Generated code does not define a renderable Manim Scene clas | exception | error | epub, zip-bomb, resource-limits |
| Math animator config must be an object. | validation | error | epub, zip-bomb, resource-limits |
| Invalid math animator config: {details} | validation | error | epub, zip-bomb, security, compression-ratio |
| Visual quality review timed out after {int(self.review_timeo | exception | error | ooxml, zip, badzipfile, document-extraction |
| Code repair attempt #{attempt + 1} timed out after {int(self | exception | error | xml, defusedxml, ooxml, epub, parse-error |
| Render failed because local LaTeX is missing. Please avoid T | exception | error | upload, file-size, validation, limits |
| Rendered video artifact missing for visual review. | exception | error | |
| Failed to extract review frames: | exception | error | |
| Failed to inspect rendered video duration: | exception | error | |
| Rendered video duration could not be parsed for visual revie | exception | error | |
| Failed to extract questions from parsed exam | exception | error | |
| Question extraction output not found | exception | error | |
| Deep research requires an explicit config object. | validation | error | |
| Invalid deep research config: {details} | validation | error | |
| AnalysisAgent prompts are not configured. | validation | error | |
| CodeGeneratorAgent prompts are not configured. | validation | error | |
| ReviewAgent repair prompts are not configured. | validation | error | |
| Manim rendering requires optional dependencies. Install with | exception | error | |
| Attachment backend not servable | http | error | |
| Attachment not found | http | error | |
| Email cannot be empty | validation | error | |
| Enter a valid email address | validation | error | |
| Password must be at least 8 characters | validation | error | |
| Role must be 'admin' or 'user' | validation | error | |
| Avatar must be empty or 'icon:<name>:<color>' | validation | error | |
| Not authenticated | http | error | |
| Invalid or expired token | http | error | |
| Admin access required | http | error | |
| Incorrect email or password | http | error | |
| Incorrect username or password | http | error | |
| Auth is disabled — registration is not available. | http | error | |
| Self-registration is closed. Ask an administrator to create | http | error | |
| Registration failed — username or email may already be taken | http | error | |
| Username already taken | http | error | |
| Auth is disabled — profiles are not available. | http | error | |
| User not found | http | error | |
| Avatar upload is not available in PocketBase mode. | http | error | |
| Cannot store an avatar for this account. | http | error | |
| Avatar image is too large (max 1 MB). | http | error | |
| Avatar must be a PNG, JPEG or WebP image. | http | error | |
| Avatar not found | http | error | |
| Auth is disabled — user creation is not available. | http | error | |
| Failed to create user — username may already be taken. | http | error | |
| You cannot delete your own account | http | error | |
| You cannot change your own role | http | error | |
| Invalid capture status: {raw} | http | error | |
| Book not found | http | error | |
| Page not found | http | error | |
| source_text is required | http | error | |
| Learning capture not found | http | error | |
| Invalid state transition: {capture.status} -> {requested_sta | http | error | |
| Spine not found | http | error | |
| user_intent is required | http | error | |
| str(exc) | http | error | fastapi, http-500, book-engine, catch-all |
| Operation not found | http | warning | co-writer, http-404, not-found |
| Tool call not found | http | warning | co-writer, http-404, tool-calls, not-found |
| Document not found | http | warning | co-writer, http-404, validation, path-traversal, doc-id |
| Entry not found | http | warning | dashboard, http-404, session, not-found |
| Unsupported import source: {value!r} | validation | warning | imports, pydantic, validation, http-422 |
| No sessions to import | http | warning | imports, http-400, empty-payload |
| Too many sessions in one request (max {_MAX_SESSIONS_PER_REQ | http | warning | imports, http-413, payload-limit, batching |
| Archive '{sanitized_filename}' exceeds maximum size limit of | http | warning | knowledge-base, upload, zip, size-limit, http-400 |
| Rejected archive '{sanitized_filename}': {exc} | http | warning | knowledge-base, zip, zip-bomb, size-limit, http-400 |
| '{sanitized_filename}' is not a valid zip archive. | http | error | zip, upload, bad-file, http-400 |
| Archive '{sanitized_filename}' contained no supported files. | http | error | zip, upload, empty-result, http-400 |
| Invalid folder path | http | error | path-traversal, security, validation, http-400 |
| Access denied | http | error | path-traversal, security, symlink, http-403 |
| File '{sanitized_filename}' exceeds maximum size limit of {s | http | error | upload, size-limit, http-400 |
| Validation failed for file '{original_filename}': {format_ex | http | error | validation, upload, http-400 |
| Duplicate filename after sanitization: '{duplicate_key}'. Re | http | error | upload, filename-collision, sanitization, http-400 |
| PageIndex API key is not configured. Add it under Knowledge | http | error | pageindex, rag, missing-api-key, config, http-400 |
| PageIndex OSS preflight failed: {details} | http | error | pageindex, rag, preflight, environment, http-409 |
| GraphRAG is not installed. Run `pip install 'deeptutor[graph | http | error | graphrag, rag, missing-dependency, install, http-400 |
| GraphRAG preflight failed: {failure_details} | http | error | graphrag, rag, preflight, environment, http-409 |
| LightRAG is not installed. Run `pip install 'deeptutor[rag-l | http | error | lightrag, rag, missing-dependency, install, http-400 |
| PageIndex knowledge bases accept: {supported}. Unsupported: | http | error | pageindex, file-format, upload, http-400 |
| No default knowledge base is configured | http | error | knowledge-base, default, not-found, http-404 |
| Knowledge base '{requested}' not found | http | error | knowledge-base, not-found, http-404 |
| Knowledge base '{kb_name}' not found | http | error | knowledge-base, not-found, stale-state, http-404 |
| Knowledge base '{kb_name}' is connected to an external resou | http | error | knowledge-base, read-only, connected-kb, http-409 |
| Knowledge base '{kb_name}' uses legacy index format and need | http | error | knowledge-base, migration, reindex, legacy-format, http-409 |
| {str(e)} | http | error | rag, providers, http-500, unexpected-exception |
| Knowledge base '{kb_name}' already has a ready {current_prov | http | error | |
| Both name and vault_path are required. | http | error | |
| str(e) | http | error | |
| name is required. | http | error | |
| folder_path is required. | http | error | |
| Both name and folder_path are required. | http | error | |
| result.error or "Folder is not linkable." | http | error | |
| server_url is required. | http | warning | http-400, lightrag, validation, missing-field |
| Both name and server_url are required. | http | warning | http-400, lightrag, validation, missing-field |
| result.error or "Could not connect to the LightRAG server." | http | error | http-400, lightrag, probe, connection-refused |
| Client ID and API key are required. | http | warning | http-400, ima, tencent, credentials, validation |
| Knowledge base '{resolved_name}' is connected to an external | http | error | |
| File not found | http | error | |
| Folder name is required | http | error | |
| Source path is required | http | error | |
| Source not found | http | error | |
| Cannot move a folder into itself | http | error | |
| '{src.name}' already exists in the target folder | http | error | |
| str(exc) | http | error | |
| Failed to delete knowledge base | http | error | |
| Requested provider '{requested_provider}' does not match KB | http | error | |
| Knowledge base '{name}' already exists | http | error | |
| PageIndex OSS mode must be 'flash', 'standard', or omitted. | http | error | |
| KB '{kb_name}' has no `raw/` directory; cannot reindex. | exception | error | |
| KB '{kb_name}' has no source files in `raw/` to reindex. | exception | error | |
| Re-index found no valid documents to index in '{kb_name}'. | exception | error | |
| No embedding model is configured. Set up the embedding profi | http | error | embedding, rag, configuration, http-409, knowledge-base |
| Knowledge base '{resolved_name}' is not in an error state. U | http | warning | knowledge-base, http-409, state-machine, rag |
| Folder '{folder_id}' not found | http | warning | linked-folders, http-404, idempotency, knowledge-base |
| Linked folder '{folder_id}' not found | http | error | linked-folders, sync, http-404, knowledge-base |
| KB '{kb_name}' not found | http | error | github-source, knowledge-base, http-404 |
| Source '{source_id}' not found | http | warning | github-source, http-404, idempotency, knowledge-base |
| Module {mod.id!r} must contain at least one knowledge point | http | error | |
| Mastery path changed activity while the operation was starti | http | error | |
| Progress not found | http | error | |
| Objective not found | http | error | |
| No records provided | http | error | api, validation, notebook, bad-request |
| mcp.configure_command_or_url | http | error | mcp, config, validation, bad-request |
| mcp.server_error | http | error | mcp, url, validation, config, bad-request |
| {exc} | http | error | mcp, pydantic, validation, config, bad-request |
| mcp.configure_before_testing | http | warning | mcp, config, test, bad-request |
| {error} | http | warning | mcp, url, test, validation |
| unknown L3 slot {key!r} | http | error | |
| layer must be L2 or L3 | http | error | |
| unknown surface {surface!r} | http | error | |
| not a valid entry id | http | error | |
| entry not found in any L2 doc | http | error | |
| entry not found | http | error | |
| cancel the active run before resetting this doc | http | error | |
| reset failed: {exc} | http | error | |
| unknown mode {req.mode!r} | http | error | |
| preferences is written by the write_memory tool, not consoli | http | error | |
| {exc} | http | warning | memory, consolidation, http-409, conflict, run-manager |
| unknown run_id | http | error | memory, run-manager, http-404, not-found, run-id |
| not active | http | warning | memory, cancellation, http-409, run-manager, idempotency |
| {RunBusyError message} | http | warning | memory, undo, http-409, conflict, run-manager |
| nothing to undo | http | warning | memory, undo, http-409, empty-stack |
| day must be YYYY-MM-DD | http | error | memory, trace, http-400, date-validation, iso-date |
| no trace for that day | http | warning | memory, trace, http-404, cleanup, idempotency |
| {OSError message} | http | error | |
| {exception message} | http | error | |
| Notebook not found | http | error | |
| Record not found | http | warning | notebook, http-404, delete, fastapi |
| No fields to update | http | warning | notebook, http-400, validation, fastapi, pydantic |
| Record or target notebook not found | http | warning | notebook, http-404, copy, fastapi |
| t("api.partner_not_found_or_not_running") | http | error | http-404, partners, fastapi, lifecycle |
| t("api.partner_not_running") | http | error | http-404, partners, channels, fastapi |
| Failed to reload channels: {type(exc).__name__} | http | error | http-500, partners, channels, provider-error |
| Channel onboarding provider request failed ({type(exc).__nam | http | error | http-502, onboarding, network, partners |
| Channel config saved but failed to restart listeners ({type( | http | error | partners, onboarding, restart, http-500 |
| api.tool_not_found | http | error | |
| str(exc) | http | error | |
| str(e) | http | error | |
| Upsert failed | http | error | |
| Entry not found | http | error | |
| No fields to update | http | error | |
| Failed to add to category | http | error | |
| Link not found | http | error | |
| str(exc) | http | error | |
| Category not found | http | error | |
| The upload has no filename. | http | error | |
| {filename} exceeds the {MAX_MATERIAL_BYTES // (1024 * 1024)} | http | error | |
| {filename} is empty. | http | error | |
| material {material_id!r} not found | http | error | |
| {manifest.filename} has no stored original to render. | http | error | |
| annotation not found | http | error | |
| Session not found | http | error | |
| Cannot delete a message while its turn is running | http | error | |
| Message not found | http | error | |
| Quiz results are required | http | error | |
| Model configuration is managed by an administrator. | http | error | |
| A partner uses the Codex login of the account that owns it. | http | error | |
| base_url is required for this provider. | http | error | |
| Provider request failed: {exc} | http | error | |
| Tag already exists: {exc} | http | error | |
| {exc} | http | error | |
| Tag not found: {tag} | http | error | |
| Hub `{hub}` does not support browsing. | http | error | |
| Skill not found: {name} | http | error | |
| Skill is not assigned to you | http | error | |
| Skill already exists: {payload.name} | http | error | |
| Skill already exists: {exc} | http | error | |
| Unknown agent kind: {kind!r} | http | error | http-400, subagent, backend-registry, api |
| Both name and agent_kind are required. | http | error | http-400, validation, subagent, api |
| Unknown agent kind: {agent_kind!r} | http | error | http-400, subagent, backend-registry, api |
| A partner_id is required to connect a partner. | http | error | http-400, partners, subagent, api |
| No partner named {partner_id!r}. | http | error | http-400, partners, subagent, api |
| {exc} | http | error | http-400, path-validation, subagent, api |
| Unknown capability `{requested}`. Available: {available} | exception | error | capability, registry, validation, deeptutor |
| Capability not found: {resolved} | exception | error | capability, race-condition, registry, deeptutor |
| Prompt key '{key}' missing or empty in loaded book prompt bu | exception | error | i18n, prompts, configuration, yaml |
| AnimationGenerator requires the optional math-animator extra | exception | error | manim, optional-dependency, install, math-animator |
| animation generation failed: {exc} | exception | error | manim, generation, retry, llm-output |
| LLM did not return any code. | exception | error | llm-output, code-generation, empty-response |
| prompt leak detected in generated code. | exception | error | llm-output, prompt-leak, reasoning-model, sanitization |
| generated code does not parse: {syntax_error} | exception | error | syntax-error, code-generation, validation, retry |
| concept_graph payload missing from BlockContext.extra | exception | error | concept-graph, context, pipeline, validation |
| invalid concept_graph payload: {exc} | exception | error | pydantic, schema-validation, concept-graph |
| unexpected concept_graph payload type: {type(raw).__name__} | exception | error | concept-graph, pydantic, llm-output, generation |
| LLM returned no deep-dive suggestions. | exception | error | deep-dive, llm-output, empty-response, generation |
| figure generation failed: {exc} | exception | error | figure, llm-pipeline, wrapper-exception, generation |
| figure failed validation after repair: {residual_error} | exception | error | figure, validation, mermaid, svg, repair |
| LLM did not return any flashcards. | exception | error | flashcards, llm-output, empty-response, generation |
| interactive generation failed: {exc} | exception | error | interactive, llm-pipeline, wrapper-exception, generation |
| interactive html failed validation: {validation_error} | exception | error | interactive, html, validation, generation |
| quiz generation failed: {exc} | exception | error | quiz, llm-pipeline, wrapper-exception, generation |
| no questions generated | exception | error | quiz, extraction, empty-response, generation |
| SectionArchitect produced no subsections in outline pass. | exception | error | section, outline, llm-output, empty-response, generation |
| LLM did not return any timeline events. | exception | error | |
| Book {book_id} not found | exception | error | |
| No spine for book {book_id} | exception | error | |
| Cannot rebuild book – missing book/spine ({book_id}) | exception | error | |
| Cannot compile page – missing book/spine/page ({book_id}/{pa | exception | error | |
| Page {page_id} references unknown chapter {page.chapter_id} | exception | error | |
| Cannot mark KB drift as seen before all stale pages have bee | exception | error | |
| Cannot mark KB drift as seen before these pages are recompil | exception | error | |
| Invalid book id: {book_id!r} | validation | error | |
| media_id is required. | validation | error | |
| urls must be a list of strings. | validation | error | |
| At least one URL is required. | validation | error | |
| No mastery path {path_id!r} exists. Call mastery_paths for t | exception | error | |
| Mastery path {target!r} is being tutored in another conversa | exception | error | |
| mastery_quiz.options must be an array of non-empty strings. | validation | error | |
| mastery_quiz.options must contain only non-empty strings. | validation | error | |
| mastery_quiz.question_type must be one of: {allowed}. | validation | error | |
| mastery_quiz.options cannot be used with question_type={ques | validation | error | |
| Choice option labels must run A, B, C… with one option each; | validation | error | |
| Two or more choice options have the same answer ({duplicate! | validation | error | |
| Choice questions need full option bodies in mastery_quiz.opt | validation | error | |
| Choice option bodies must be unique; retry mastery_quiz with | validation | error | |
| Choice expected_answer must be an option label such as A/B/C | validation | error | |
| Note {path.name!r} is not valid UTF-8 (byte offset {exc.star | exception | error | |
| Path {rel!r} escapes the vault. | validation | error | |
| Note {ref!r} not found in the vault. | exception | error | |
| create_note needs a non-empty path. | exception | error | |
| Note {_with_md_suffix(rel_path)!r} already exists; use appen | exception | error | |
| Note {ref!r} not found; create it first. | exception | error | |
| set_property needs a non-empty key. | exception | error | |
| llm section must be a mapping | validation | error | |
| llm.model is required | validation | error | |
| LLM key rotation exhausted | exception | error | |
| Knowledge base does not exist: {kb_name} | exception | error | |
| Knowledge base '{kb_name}' uses legacy index format and requ | exception | error | |
| Knowledge base not initialized ({self.rag_provider}): {kb_na | exception | error | knowledge-base, rag, initialization, deeptutor |
| Failed to initialize index for KB '{kb_name}' from {len(sour | exception | error | rag, index-build, embedding, deeptutor |
| Knowledge base '{claimed_by}' already uses that MarginNote s | exception | error | |
| IMA Client ID and API Key must be given together. | validation | error | |
| IMA knowledge base ID is required. | validation | error | |
| No default knowledge base set | validation | error | |
| Linked folder is no longer available: {external} | validation | error | |
| Knowledge base not found: {name} | validation | error | |
| Index storage not found for knowledge base: {name or 'defaul | validation | error | |
| No knowledge base name provided and no default set | validation | error | |
| Knowledge base not found: {kb_name} | validation | error | |
| Folder does not exist: {folder} | validation | error | |
| Path is not a directory: {folder} | validation | error | |
| Linked folder not found: {folder_id} | validation | error | |
| Knowledge base name is required | validation | error | |
| Knowledge base name cannot be '.' or '..' | validation | error | |
| Knowledge base name is too long; maximum length is {_MAX_KB_ | validation | error | |
| Knowledge base name cannot contain control characters | validation | error | |
| Knowledge base name contains reserved characters: {joined}. | validation | error | |
| Unknown objective {pending.knowledge_point_id!r}; refresh ma | exception | error | |
| StaleInteractionError({interaction_id}, {active.interaction_ | exception | error | |
| StaleInteractionError({interaction_id}, {interaction.interac | exception | error | |
| StaleInteractionError({question_id}, {active.interaction_id} | exception | error | |
| No question is awaiting an answer | exception | error | |
| StaleInteractionError({question_id}, {interaction.interactio | exception | error | |
| The question was abandoned | exception | error | |
| Unknown objective {kp_id!r}; refresh mastery_status | exception | error | |
| Objective {kp.name!r} must be graded with mastery_quiz + mas | exception | error | |
| event_type must not be empty | validation | error | |
| interaction path_id does not match transaction path | validation | error | |
| interaction_id {interaction.interaction_id!r} already belong | validation | error | |
| Invalid mastery interaction transition: {current_status.valu | validation | error | |
| Invalid book_id: {book_id!r} | validation | error | |
| LearningConflictError(path_id, int(progress.version), 0) | error_code | error | |
| LearningConflictError(path_id, expected, actual) | error_code | error | |
| LearningConflictError(path_id, expected, int(current["revisi | error_code | error | |
| LearningConflictError(path_id, tx.base_revision, int(current | error_code | error | |
| session_id must not be empty | validation | error | |
| session_id and turn_id are required for a path lease | validation | error | |
| PathLeaseConflictError(existing) | error_code | error | |
| Unknown user id: {user_id} | validation | error | |
| Admin users use the main workspace and cannot receive assign | validation | error | |
| Grants must not contain secret/path field: {trail}.{key} | validation | error | |
| Unsupported avatar extension: {ext!r} | validation | error | |
| role must be 'admin' or 'user' | validation | error | |
| Knowledge base is not assigned to you | http | error | |
| Assigned admin knowledge bases are read-only | http | error | |
| Knowledge base '{name}' not found | http | error | knowledge-base, not-found, http-404, multi-user |
| No default knowledge base is configured | http | error | knowledge-base, default-config, http-404 |
| Knowledge base '{requested}' not found | http | error | knowledge-base, not-found, http-404 |
| This model is not assigned to your account. | exception | error | llm, permissions, model-access, multi-user |
| Partner is not assigned to you | http | error | partner, permissions, http-403, multi-user |
| You cannot manage this partner | http | error | partner, permissions, http-403, ownership |
| Slack Socket Mode WebSocket connect timed out | exception | error | |
| WeChat session paused, {remaining_min} min remaining (errcod | exception | error | |
| Node.js 20+ is required to run the source production build. | console | error | nodejs, launcher, frontend, missing-dependency, source-install |
| DeepTutor Web assets are not installed. Install the full app | console | error | frontend, packaging, missing-assets, install |
| {exc} | console | error | runtime-home, path-validation, startup, configuration |
| start.frontend_restart_failed | console | error | frontend, port-conflict, stale-process, launcher |
| Capability config must be an object. | validation | error | request-validation, json, api, config |
| Invalid {label} config: {details} | validation | error | pydantic, schema-validation, request-validation, api |
| Invalid role: {role!r}. Must be 'admin' or 'user'. | validation | error | auth, roles, validation, user-management |
| No active image-generation model is configured. Set it in Se | validation | error | config, image-generation, model-catalog |
| No active video-generation model is configured. Set it in Se | validation | error | config, video-generation, model-catalog |
| cron expressions need the 'croniter' package — use an 'every | exception | error | cron, optional-dependency, scheduling |
| invalid cron expression {schedule.expr!r}: {exc} | validation | error | cron, validation, scheduling |
| 'at' schedules need a time | validation | error | cron, validation, one-shot-schedule |
| 'at' time is in the past | validation | error | cron, validation, time, one-shot-schedule |
| 'every' interval must be at least 30 seconds | validation | error | cron, validation, rate-limit, scheduling |
| unknown timezone {schedule.tz!r} | validation | error | cron, timezone, zoneinfo, validation |
| cron expression {schedule.expr!r} never fires | validation | error | cron, validation, logic-error |
| unknown schedule kind {schedule.kind!r} | validation | error | cron, validation, enum |
| message is required | validation | error | cron, validation, required-field |
| The model returned an empty response. | exception | error | llm, diagnostics, empty-response, provider |
| Cohere v1 API does not support multimodal `contents`. Use em | validation | error | cohere, embeddings, multimodal, api-version |
| Cohere model '{model_name}' does not support multimodal `con | validation | error | cohere, embeddings, multimodal, model-capability |
| Cohere v2 does not support content type '{kind}' | validation | error | cohere, embeddings, multimodal, content-type |
| dashscope SDK not installed. Run `pip install dashscope` (or | exception | error | dashscope, optional-dependency, import-error, embeddings |
| DashScope MultiModalEmbedding call failed: status={status_co | exception | error | dashscope, api-error, embeddings, authentication |
| DashScope response missing `output` (request_id={getattr(res | exception | error | dashscope, response-parsing, embeddings, sdk |
| DashScope response parsed successfully but no embedding vect | exception | error | dashscope, response-parsing, embeddings, empty-result |
| Embedding provider returned error payload: {err} | exception | error | embeddings, openai-compatible, provider-error, http-200-with-error |
| Cannot parse embeddings from response JSON. Top-level keys={ | exception | error | embeddings, response-schema, base-url, json-parsing |
| OpenAI-compatible embedding model '{model}' does not support | validation | error | embeddings, multimodal, input-validation, model-mismatch |
| Embedding provider remained rate limited after key rotation | http | error | rate-limit, http-429, quota, retries-exhausted, embeddings |
| Embedding provider returned HTTP {response.status_code} | http | error | http-error, embeddings, provider-error, bad-request, auth |
| Embedding provider returned non-JSON response (content-type= | http | error | non-json-response, html-response, wrong-url, embeddings |
| Embedding response parsed successfully but no vectors were f | exception | error | empty-response, embeddings, validation |
| openai_sdk adapter does not support multimodal `contents`. P | validation | error | multimodal, embeddings, unsupported-operation, input-validation |
| OpenAI SDK request failed: {exc} | exception | error | openai-sdk, http-error, embeddings, auth, bad-request |
| OpenAI SDK connection error: {exc} | exception | error | network, connection-error, openai-sdk, embeddings, dns |
| No endpoint URL configured for image generation. | error_code | error | imagegen, configuration, missing-base-url |
| Image generation request error: {exc} | http | error | network, httpx, imagegen, timeout |
| Chat model returned no image. Check the model supports image | error_code | error | imagegen, model-capability, chat-completions |
| Image response had no image in the assistant message. | error_code | error | imagegen, response-parsing, chat-completions |
| Malformed image data URI. | validation | error | imagegen, data-uri, base64, malformed-payload |
| No endpoint URL configured for image generation. | error_code | error | imagegen, configuration, missing-base-url |
| Image generation request error: {exc} | http | error | network, httpx, imagegen, timeout |
| Image provider returned no images. | error_code | error | imagegen, response-parsing, openai-compat |
| Image response had no `data` array. | error_code | error | imagegen, openai-compat, response-parsing |
| Image item had neither `b64_json` nor `url`. | error_code | error | imagegen, openai-compat, response-parsing |
| KeyPool requires at least one non-empty key | validation | critical | keypool, configuration, validation, rate-limiting |
| Model is required for cloud LLM provider | error_code | error | llm, configuration, model-required, validation |
| OpenAI API error: {error_text} | http | error | llm, openai, http-error, api-error |
| Connection to {binding} API was forcibly closed. This may in | http | error | llm, network, connection-reset, aiohttp, transient |
| Network error connecting to {binding} API: {e} | http | error | llm, network, aiohttp, dns, connection-refused |
| Cloud completion failed: no valid configuration | error_code | error | llm, openai, empty-response, unexpected-payload |
| OpenAI stream error: {error_text} | http | error | llm, streaming, openai, http-error |
| Anthropic API key is missing from the active LLM profile. | error_code | error | llm, anthropic, authentication, api-key, configuration |
| Anthropic API error: {error_text} | http | error | llm, anthropic, http-error, rate-limit |
| Anthropic API error: unexpected response payload | http | error | llm, anthropic, unexpected-payload, schema |
| Anthropic stream error: {error_text} | http | error | llm, anthropic, streaming, http-error, rate-limit |
| Cohere API key is missing from the active LLM profile. | error_code | error | llm, cohere, authentication, api-key, configuration |
| Cohere API error: {error_text} | http | error | llm, cohere, http-error, rate-limit |
| Cohere API error: unexpected response payload | http | error | llm, cohere, unexpected-payload, schema |
| No active LLM model is configured. Please set it in Settings | error_code | critical | llm, configuration, model-required, bootstrap |
| No effective LLM endpoint resolved. Please configure base_ur | validation | critical | llm, configuration, base-url, endpoint |
| OpenAI API key is not configured. Set it in Settings > Catal | validation | critical | llm, openai, authentication, api-key, configuration |
| OpenAI API key is not configured. Set it in Settings > Catal | validation | error | llm, openai, sdk, authentication, api-key |
| base_url is required for local LLM provider | validation | error | config, local-llm, missing-url |
| Local LLM error: {error_text} | http | error | http-error, local-llm, upstream |
| Local LLM stream error: {error_text} | http | error | http-error, local-llm, streaming, upstream |
| Local LLM failed: streaming={e}, non-streaming={e2} | error_code | error | local-llm, fallback-failed, network |
| DISABLE_SSL_VERIFY is not allowed in production | validation | error | ssl, security, config, production-guard |
| Azure OpenAI api_key is required | validation | error | config, azure, missing-api-key |
| Azure OpenAI api_base is required | validation | error | config, azure, missing-endpoint |
| GitHub Copilot auth is unavailable. Validate local Copilot a | error_code | error | auth, github-copilot, login-required |
| GitHub Copilot token exchange returned no token. | error_code | error | auth, github-copilot, token-exchange |
| Codex transport request failed. | error_code | error | network, codex, transport, transient |
| OpenAI Codex is not logged in. Run `deeptutor provider login | error_code | error | auth, codex, login-required |
| {friendly_error(response.status_code)} | http | error | http-error, codex, upstream |
| OpenAI API key is not configured. Set it in Settings > Catal | validation | error | config, openai, missing-api-key |
| Response failed: {_response_error_detail(event)[:500]} | error_code | error | sse, openai-responses, streaming, upstream-failure |
| DISABLE_SSL_VERIFY is not allowed in production | validation | error | ssl, security, openai, production-guard |
| Model not configured for OpenAI provider | validation | error | config, openai, missing-model |
| API returned no choices in response | error_code | error | openai, chat-completions, empty-response, api |
| Model is required | validation | error | routing, config, missing-model, llm |
| codebuddy-agent-sdk is not installed. Install it with `pytho | error_code | error | codebuddy, optional-dependency, import, install |
| Installed codebuddy-agent-sdk does not expose query(). | error_code | error | codebuddy, version-mismatch, sdk, breaking-change |
| The installed codebuddy-agent-sdk does not accept the turn l | error_code | error | codebuddy, version-mismatch, constructor, options |
| CodeBuddy CLI is required to sync account models. | error_code | error | codebuddy, cli, path, missing-binary |
| {output.strip() or "CodeBuddy did not return an account mode | error_code | error | codebuddy, cli-parsing, auth, model-catalog |
| {_SIGN_IN_HINT} | error_code | error | codebuddy, auth, credentials, not-signed-in |
mcp.stdio_not_allowed A server you configure yourself must be a remote URL: a stdio server runs a comm | error_code | error | mcp, security, stdio, transport, config-validation |
mcp.no_transport Provide an http(s) URL for the server | error_code | error | mcp, transport, url, config-validation |
mcp.blocked_url error | error_code | error | mcp, url-validation, ssrf, security |
| preferences.md is not auto-consolidated | validation | error | memory, consolidation, guard-clause, deepseek-tutor |
| unknown layer {layer!r} | validation | error | memory, audit, dispatch, argument-validation |
| preferences.md is not audited automatically | validation | error | memory, audit, guard-clause, deepseek-tutor |
| unknown layer {layer!r} | validation | error | memory, dedup, dispatch, argument-validation |
| unknown layer {layer!r} | validation | error | memory, merge, dispatch, argument-validation |
| unknown layer {layer!r} | validation | error | memory, consolidation, dispatch, argument-validation |
| preferences.md is not auto-consolidated | validation | error | memory, consolidation, slot, guard-clause |
| a run is already in progress for {layer}/{key} | error_code | warning | concurrency, lock, memory, consolidation, busy |
| cancel the active run before undoing memory edits | error_code | error | undo, concurrency, memory, run-lifecycle |
| add: text length must be 1..{_MAX_TEXT_LEN} (got {len(op.tex | validation | error | validation, memory, ops, length-limit |
| add: invalid section {op.section!r} | validation | error | validation, memory, ops, section |
| add: refs must be non-empty | validation | error | validation, memory, ops, provenance |
| add: malformed ref {ref!r} | validation | error | validation, memory, ops, ref-format |
| edit: malformed target_id {op.target_id!r} | validation | error | validation, memory, ops, entry-id |
| edit: target_id {op.target_id} not found | validation | error | validation, memory, ops, stale-state, optimistic-concurrency |
| edit: text length must be 1..{_MAX_TEXT_LEN} (got {len(op.ne | validation | error | validation, memory, ops, length-limit |
| LiteParse failed to convert {source_path.name}: {exc} | exception | error | parsing, liteparse, document-conversion |
| markitdown failed to convert {Path(source_path).name}: {exc} | exception | error | parsing, markitdown, document-conversion |
| Configured MinerU CLI path is not an executable file: {probe | exception | error | mineru, pdf, configuration, cli-path |
| Local MinerU parsing failed. Ensure MinerU is installed (`pi | exception | error | mineru, pdf, subprocess, ocr |
| MinerU produced no output directory. | exception | error | mineru, pdf, filesystem |
| MinerU cloud mode is selected but no API token is configured | exception | error | mineru, cloud, api-key, configuration |
| PDF file not found: {pdf_path} | exception | error | mineru, cloud, file-not-found |
| MinerU API did not return an upload URL (missing batch_id/fi | exception | error | mineru, cloud, api-contract |
| Failed to upload PDF to MinerU: {exc} | exception | error | mineru, cloud, upload, network |
| MinerU reported done but returned no full_zip_url. | exception | error | mineru, cloud, polling, api-contract |
| MinerU failed to parse the document: {err} | exception | error | mineru, cloud, pdf, ocr |
| MinerU parsing timed out after {int(timeout)}s (last state: | exception | error | mineru, cloud, timeout |
| No API token configured. | exception | warning | mineru, cloud, api-key, validation |
| Failed to download MinerU result archive: {exc} | exception | error | mineru, cloud, download, network |
| _http_error_message(exc) | exception | error | mineru, cloud, http-status, api-key |
| MinerU API request failed: {exc} | exception | error | mineru, cloud, network, connection |
| MinerU API returned an unexpected (non-JSON) response. | exception | error | mineru, cloud, api-contract, json |
| MinerU API error (code {code}): {msg} | exception | error | mineru, cloud, api-error |
| MinerU archive has too many entries ({len(members)}). | exception | error | mineru, cloud, zip, zip-bomb, security |
| MinerU archive exceeds the size limit. | exception | error | mineru, zip-bomb, size-limit, parsing |
| Folder does not exist: {folder} | validation | error | filesystem, path-validation, linked-folders, rag |
| Not a directory: {folder} | validation | error | filesystem, path-validation, linked-folders, rag |
| This folder is outside the locations allowed for linking. | validation | error | security, allowlist, filesystem, linked-folders |
graphrag_model_output_truncated GraphRAG compatibility could not be verified because the model response reached | exception | error | graphrag, structured-output, token-limit, llm |
graphrag_model_incompatible The model did not accept or return the structured output required by GraphRAG. | exception | error | graphrag, structured-output, llm, schema-validation |
graphrag_embedding_provider_unsupported GraphRAG currently requires an OpenAI-compatible embedding endpoint. The active | exception | error | graphrag, embeddings, provider-config |
| No active chat model. Configure one under Settings → Catalog | exception | error | graphrag, configuration, missing-model |
| No active embedding model. Configure one under Settings → Ca | exception | error | graphrag, configuration, missing-model, embeddings |
| No active embedding model with a known dimension. Configure | exception | error | graphrag, embeddings, configuration, vector-dimension |
graphrag_model_incompatible GraphRAG structured response validation failed. | exception | error | graphrag, preflight, structured-output, llm |
graphrag_embedding_probe_failed GraphRAG embedding compatibility could not be verified because of an internal er | exception | error | graphrag, embeddings, probe, network |
graphrag_embedding_incompatible The active embedding model did not accept or return the vector response required | exception | error | graphrag, embeddings, response-format |
graphrag_embedding_dimension_mismatch The active embedding model returned {actual} dimensions, but DeepTutor is config | exception | error | graphrag, embeddings, vector-dimension |
| GraphRAG indexing failed: {detail} | exception | critical | graphrag, indexing, pipeline-failure |
graphrag_provider_unsupported GraphRAG cannot use this OAuth-only model provider. Choose an API-key profile. | exception | error | graphrag, oauth, provider-config, auth |
| At least one URL is required. | validation | error | ima, input-validation, urls |
| IMA accepts at most {MAX_IMPORT_URLS} URLs per call. | validation | error | ima, rate-limit, batch-size, input-validation |
| IMA accepts at most {MAX_DETAIL_IDS} knowledge base IDs per | validation | error | ima, batch-size, pagination, input-validation |
| Indexing made no progress for {stalled_for:.0f}s while embed | exception | error | rag, embedding, timeout, stall-detection, llamaindex |
| RAG index contains invalid embedding vectors. Re-index the k | validation | critical | rag, embeddings, index-corruption, vector-store, llamaindex |
| No existing FAISS index found at {persist_path}. | exception | error | faiss, vector-store, file-not-found, rag |
| This knowledge base was indexed with FAISS but the 'faiss-cp | error_code | error | faiss, missing-dependency, rag, vector-store |
| Select at most one PageIndex OSS knowledge base per request. | validation | error | pageindex, knowledge-base, validation, rag |
| PageIndex OSS needs an active LLM. Configure one under Setti | error_code | error | pageindex, configuration, llm, missing-model |
| PageIndex OSS indexing needs an API-key or local LLM profile | error_code | error | pageindex, oauth, api-key, llm, configuration |
| The active LLM transport is not supported by PageIndex OSS i | error_code | error | pageindex, llm, unsupported-backend, configuration |
| PageIndex submit_document returned no doc_id: {result!r} | error_code | error | pageindex, ingestion, api-response, sdk |
| PageIndex API key is not configured. Add it under Knowledge | error_code | error | pageindex, rag, api-key, configuration |
| PageIndex OSS requires a resolved Local Library path | error_code | error | pageindex, oss, storage, rag |
| {self.name}: unrecognised search response shape | http | error | hub, search, response-shape, api-contract |
| {self.name}: catalog returned invalid JSON | http | error | hub, catalog, invalid-json, network |
| {self.name}: unrecognised catalog response shape | http | error | hub, catalog, response-shape, api-contract |
| {self.name}: skill detail returned invalid JSON | http | error | hub, detail, invalid-json |
| {self.name}: unrecognised skill detail shape | http | error | hub, detail, response-shape |
| {self.name}: publish request failed: {exc} | http | error | publish, network, timeout, hub |
| {self.name}: publish failed (HTTP {response.status_code}): { | http | error | publish, http-4xx, version-conflict, hub |
| {self.name}: HTTP {response.status_code}: {response.text[:20 | http | error | hub, http-error, list-skills |
| {self.name}: invalid JSON listing skills | http | error | hub, invalid-json, list-skills |
| {self.name}: this hub does not support search. | validation | warning | command-hub, search, unsupported-operation |
| Unsupported STT adapter: {name!r} | exception | error | voice, stt, adapter-registry, configuration |
| No endpoint URL configured for this provider. | exception | error | voice, tts, openrouter, missing-config |
| No endpoint URL configured for TTS. | exception | error | voice, tts, missing-config, endpoint |
| TTS request error: {exc} | exception | error | voice, tts, network, timeout, httpx |
| {exc}{hint} | exception | error | voice, tts, openrouter, http-error |
| {action} failed with HTTP {status_code}: {detail} | http | error | voice, http-status, provider, tts, stt |
| TTS provider returned empty audio. | exception | error | voice, tts, empty-response, provider |
| TTS request error: {detail} | exception | error | voice, tts, openrouter, network, httpx |
| {exc}; original /audio/speech error: {original_error} | exception | error | voice, tts, openrouter, http-error, chained-error |
| OpenRouter chat audio returned no audio chunks; original /au | exception | error | voice, tts, openrouter, empty-response, sse |
| OpenRouter chat audio returned invalid base64. | exception | error | voice, tts, openrouter, base64, corrupt-response |
| OpenRouter chat audio returned empty audio. | exception | error | voice, tts, openrouter, empty-response |
| OpenRouter chat audio error: {message} | exception | error | voice, tts, openrouter, sse, stream-error |
| No endpoint URL configured for STT. | exception | error | voice, stt, missing-config, endpoint |
| No audio data to transcribe. | exception | error | voice, stt, empty-input, validation |
| STT request error: {exc} | exception | error | voice, stt, network, timeout, httpx |
| Transcription response had no `text` field. | exception | error | voice, stt, response-schema, parsing |
| No endpoint URL configured for this provider. | exception | error | voice, url-building, missing-config, tts, stt |
| module {__name__!r} has no attribute {name!r} | exception | error | python, import, lazy-loading, attribute-error |
| RAG requires an explicit kb_name. | validation | error | |
| Knowledge base '{kb_name}' is not accessible. | validation | error | |
| No model configured for reason tool | exception | error |