## New Features - Implemented TSDoc extraction using TypeDoc API - Added API documentation indexing with LanceDB vector search - Created search_babylon_api MCP tool for querying API docs - Added 6 indexing and testing scripts ## API Indexing System - TSDocExtractor: Parses TypeScript source files and extracts documentation - ApiIndexer: Converts API docs to embeddings and stores in LanceDB - Support for all Babylon.js packages (core, gui, materials, loaders, etc.) - Successfully indexed 44,253 API entries from core package ## Bug Fixes - Fixed TypeScript strict mode errors with exactOptionalPropertyTypes - Fixed optional property handling in tsConfigPath and returns fields - Resolved EventEmitter MaxListeners warning in test suite - Updated all failing handler tests for real implementation ## Test Coverage Improvements - Added 27 new tests (92 → 119 tests passing) - Lines: 93.88% (was 82.53%, target 80%) ✓ - Functions: 100% (was 91.17%, target 80%) ✓ - Statements: 93.3% (was 81.58%, target 80%) ✓ - Branches: 69.72% (was 51.37%, target 75%) ## New Test Files - src/search/lancedb-search.test.ts (15 tests) - Enhanced handlers.test.ts with API search tests - Enhanced document-parser.test.ts with edge case tests ## Scripts Added - scripts/index-api.ts: Index all Babylon.js API documentation - scripts/test-api-indexing.ts: Test API indexing for core package - scripts/test-api-search.ts: Test API search functionality - scripts/get-api-details.ts: Display detailed API documentation - scripts/search-handmenu-api.ts: Search for HandMenu API examples ## Technical Details - TypeDoc integration for TSDoc extraction - Vector embeddings using Xenova/all-MiniLM-L6-v2 model - Semantic search across 11 Babylon.js packages - GitHub source links with line numbers in search results 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
46 lines
1.1 KiB
JSON
46 lines
1.1 KiB
JSON
{
|
|
"name": "babylon-mcp",
|
|
"version": "1.0.0",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"start": "node dist/mcp/index.js",
|
|
"dev": "tsx watch src/mcp/index.ts",
|
|
"clean": "rm -rf dist",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"test:run": "vitest run",
|
|
"test:coverage": "vitest run --coverage",
|
|
"index-docs": "tsx scripts/index-docs.ts",
|
|
"index-api": "tsx scripts/index-api.ts"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"description": "",
|
|
"dependencies": {
|
|
"@lancedb/lancedb": "^0.22.3",
|
|
"@modelcontextprotocol/sdk": "^1.22.0",
|
|
"@xenova/transformers": "^2.17.2",
|
|
"express": "^5.1.0",
|
|
"gray-matter": "^4.0.3",
|
|
"simple-git": "^3.30.0",
|
|
"zod": "^3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@types/express": "^5.0.5",
|
|
"@types/node": "^24.10.1",
|
|
"@types/supertest": "^6.0.3",
|
|
"@vitest/coverage-v8": "^4.0.13",
|
|
"nodemon": "^3.1.11",
|
|
"supertest": "^7.1.4",
|
|
"ts-node": "^10.9.2",
|
|
"tsx": "^4.20.6",
|
|
"typedoc": "^0.28.14",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.0.13"
|
|
}
|
|
}
|