GitNexus/gitnexus/package.json
Jim Park 530b4be9ee fix: prevent uncatchable native crash when CUDA libs present but ORT lacks CUDA provider
onnxruntime-node versions before 1.24.0 are CPU-only and do not ship
libonnxruntime_providers_cuda.so. When system CUDA libraries (e.g.
libcublasLt.so.12) are detected, isCudaAvailable() returns true and
the embedder requests the CUDA execution provider. Since the provider
binary doesn't exist in the package, ONNX Runtime crashes at the native
level (provider_bridge_ort.cc), which is uncatchable by the JS try/catch
fallback — killing the entire process.

This commit:
- Adds onnxruntime-node ^1.24.0 as an explicit dependency (first version
  to ship CUDA provider binaries for Linux x64)
- Adds hasOrtCudaProvider() check that verifies the CUDA provider .so
  exists in the onnxruntime-node package before attempting CUDA, so
  the embedder gracefully falls back to CPU on older ORT versions

Fixes the crash at 92% "Loading embedding model..." on Linux systems
with CUDA toolkit installed. Also related to #165.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 14:22:22 -07:00

98 lines
2.6 KiB
JSON

{
"name": "gitnexus",
"version": "1.4.0",
"description": "Graph-powered code intelligence for AI agents. Index any codebase, query via MCP or CLI.",
"author": "Abhigyan Patwari",
"license": "PolyForm-Noncommercial-1.0.0",
"homepage": "https://github.com/abhigyanpatwari/GitNexus#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/abhigyanpatwari/GitNexus.git",
"directory": "gitnexus"
},
"bugs": {
"url": "https://github.com/abhigyanpatwari/GitNexus/issues"
},
"keywords": [
"mcp",
"model-context-protocol",
"code-intelligence",
"knowledge-graph",
"cursor",
"claude",
"ai-agent",
"gitnexus",
"static-analysis",
"codebase-indexing"
],
"type": "module",
"bin": {
"gitnexus": "dist/cli/index.js"
},
"files": [
"dist",
"hooks",
"scripts",
"skills",
"vendor"
],
"scripts": {
"build": "tsc",
"dev": "tsx watch src/cli/index.ts",
"test": "vitest run test/unit",
"test:integration": "vitest run test/integration",
"test:all": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"prepare": "npm run build",
"postinstall": "node scripts/patch-tree-sitter-swift.cjs"
},
"dependencies": {
"@huggingface/transformers": "^3.0.0",
"onnxruntime-node": "^1.24.0",
"@modelcontextprotocol/sdk": "^1.0.0",
"cli-progress": "^3.12.0",
"commander": "^12.0.0",
"cors": "^2.8.5",
"express": "^4.19.2",
"glob": "^11.0.0",
"graphology": "^0.25.4",
"graphology-indices": "^0.17.0",
"graphology-utils": "^2.3.0",
"@ladybugdb/core": "^0.15.1",
"lru-cache": "^11.0.0",
"mnemonist": "^0.39.0",
"pandemonium": "^2.4.0",
"tree-sitter": "^0.21.0",
"tree-sitter-c": "^0.21.0",
"tree-sitter-c-sharp": "^0.21.0",
"tree-sitter-cpp": "^0.22.0",
"tree-sitter-go": "^0.21.0",
"tree-sitter-java": "^0.21.0",
"tree-sitter-javascript": "^0.21.0",
"tree-sitter-php": "^0.23.12",
"tree-sitter-python": "^0.21.0",
"tree-sitter-ruby": "^0.23.1",
"tree-sitter-rust": "^0.21.0",
"tree-sitter-typescript": "^0.21.0",
"uuid": "^13.0.0"
},
"optionalDependencies": {
"tree-sitter-kotlin": "^0.3.8",
"tree-sitter-swift": "^0.6.0"
},
"devDependencies": {
"@types/cli-progress": "^3.11.6",
"@types/cors": "^2.8.17",
"@types/express": "^4.17.21",
"@types/node": "^20.0.0",
"@types/uuid": "^10.0.0",
"@vitest/coverage-v8": "^4.0.18",
"tsx": "^4.0.0",
"typescript": "^5.4.5",
"vitest": "^4.0.18"
},
"engines": {
"node": ">=18.0.0"
}
}