{ "name": "LSPRAG", "publisher": "LSPRAG", "displayName": "LSPRAG", "description": "LSPRAG is a powerful VS Code extension that revolutionizes unit test creation through Language Server Protocol (LSP)", "version": "0.2.3", "icon": "docs/assets/lsprag-logo-v1.png", "repository": { "type": "git", "url": "https://github.com/THU-WingTecher/LSPRAG.git" }, "homepage": "https://github.com/THU-WingTecher/LSPRAG#readme", "bugs": { "url": "https://github.com/THU-WingTecher/LSPRAG/issues" }, "engines": { "vscode": "^1.95.0" }, "categories": [ "Other" ], "activationEvents": [ "onStartupFinished" ], "main": "./out/extension.js", "contributes": { "commands": [ { "command": "extension.testLLM", "title": "LSPRAG: Test LLM" }, { "command": "extension.testLSP", "title": "LSPRAG: Test Language Server" }, { "command": "extension.generateUnitTest", "title": "LSPRAG: Generate Unit Test" }, { "command": "LSPRAG.showSettings", "title": "LSPRAG: Show Current Settings" } ], "menus": { "editor/context": [ { "command": "extension.generateUnitTest", "when": "editorTextFocus", "group": "navigation" } ] }, "configuration": { "title": "LSPRAG", "properties": { "LSPRAG.savePath": { "type": "string", "default": "lsprag-tests", "description": "Folder name to save the generated code in the current workspace" }, "LSPRAG.openaiApiKey": { "type": "string", "default": "", "description": "API key for OpenAI" }, "LSPRAG.deepseekApiKey": { "type": "string", "default": "", "description": "API key for Deepseek" }, "LSPRAG.localLLMUrl": { "type": "string", "default": "", "description": "Local LLM URL for API calls" }, "LSPRAG.provider": { "type": "string", "default": "deepseek", "description": "Provider of LLM", "enum": [ "deepseek", "openai", "ollama" ] }, "LSPRAG.model": { "type": "string", "default": "deepseek-chat", "description": "Model to use for code generation" }, "LSPRAG.promptType": { "type": "string", "default": "basic", "description": "Prompt type to use for code generation", "enum": [ "basic", "detailed", "concise", "fastest", "best" ] }, "LSPRAG.generationType": { "type": "string", "default": "original", "description": "Generation type to use for code generation", "enum": [ "naive", "original", "agent", "cfg", "experimental", "fastest", "best" ] }, "LSPRAG.maxRound": { "type": "number", "default": 3, "description": "Maximum number of rounds for code generation" } } } }, "scripts": { "vscode:prepublish": "npm run lightWeightBuild", "compile": "tsc -p ./", "watch": "tsc -watch -p ./", "pretest": "npm run compile && npm run lint", "lint": "eslint src", "lightWeightBuild": "node scripts/build.js", "build": "tsc", "test": "npm run compile && node ./out/test/runTest.js $TEST_FILE", "test:util": "node ./out/test/runTest.js util", "experiment": "npm run compile && node ./out/experiment/cli.js", "package": "vsce package", "publish:vsce": "vsce publish" }, "devDependencies": { "@eslint/js": "^9.13.0", "@stylistic/eslint-plugin": "^2.9.0", "@types/glob": "^8.1.0", "@types/ini": "^4.1.1", "@types/mocha": "^10.0.1", "@types/node": "^20", "@types/vscode": "^1.73.0", "@vscode/test-electron": "^2.4.1", "@vscode/vsce": "^2.32.0", "esbuild": "^0.25.2", "eslint": "^9.13.0", "glob": "^7.1.4", "mocha": "^10.2.0", "source-map-support": "^0.5.12", "tree-sitter-cpp": "^0.23.4", "tree-sitter-go": "^0.23.4", "tree-sitter-java": "^0.23.5", "tree-sitter-python": "^0.23.6", "ts-node": "^10.9.2", "typescript": "^5.3.3", "typescript-eslint": "^8.16.0" }, "dependencies": { "@github/copilot-language-server": "^1.293.0", "@langchain/core": "^0.3.26", "@langchain/openai": "^0.3.16", "@opencode-ai/sdk": "^0.15.14", "https-proxy-agent": "^7.0.5", "ini": "^5.0.0", "lru-cache": "^10.1.0", "minimatch": "^3.1.2", "node-fetch": "^3.3.2", "ollama": "^0.5.12", "openai": "^4.77.0", "temp-dir": "^3.0.0", "tree-sitter": "^0.22.4", "typescript": "^5.7.2", "vscode-jsonrpc": "^8.2.1", "vscode-languageserver-protocol": "^3.17.5", "web-tree-sitter": "^0.20.8" } }