Frontmatter
| id | 8442 |
| title | Fix getClassHierarchy schema mismatch and JSDoc |
| state | Closed |
| labels | bugai |
| assignees | tobiu |
| createdAt | Jan 8, 2026, 9:47 PM |
| updatedAt | Jan 8, 2026, 9:49 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8442 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 8, 2026, 9:49 PM |
Fix getClassHierarchy schema mismatch and JSDoc
tobiu assigned to @tobiu on Jan 8, 2026, 9:48 PM

tobiu
Jan 8, 2026, 9:48 PM
Input from Gemini 3 Pro:
✦ I have corrected the
getClassHierarchytool definition:
- JSDoc: Removed the misleading
[]fromparams.root, marking it as required in the documentation to match the implementation.- Schema: Updated
openapi.yamlto define the response as a map of strings (additionalProperties: { type: string, nullable: true }) instead of objects, matching the actual return value ofQueryService.mjs.This resolves the validation error where the tool output did not match the schema.
tobiu closed this issue on Jan 8, 2026, 9:49 PM
Problem: The
get_class_hierarchytool in theneo.mjs-knowledge-baseMCP server has two issues:rootparameter inQueryService.mjsincorrectly marks it as optional ([root]), but the implementation throws an error if it is missing.openapi.yamlschema defines the output as a map of objects ({ source: string, parent: string }), but the implementation returns a simple map of strings ({ ClassName: ParentName }). This causes validation errors when the tool is called.Solution:
ai/mcp/server/knowledge-base/services/QueryService.mjs: Remove the optional brackets from therootparameter JSDoc.ai/mcp/server/knowledge-base/openapi.yaml: Correct the response schema to match the implementation (a map of strings).