{
  "name": "autodev",
  "displayName": "AutoDev Xiuper - 🧙the AI-powered coding wizard (KMP Edition).",
  "description": "🧙‍ AutoDev Xiuper: One Platform. All Phases. Every Device. AI-powered coding wizard with multilingual support 🌐, auto code generation 🏗️, based on Kotlin Multiplatform. Provides CodeLens, Chat, and powerful agent features! 🚀",
  "version": "0.6.1",
  "publisher": "Phodal",
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "https://github.com/unit-mesh/auto-dev"
  },
  "bugs": {
    "url": "https://github.com/unit-mesh/auto-dev/issues"
  },
  "homepage": "https://vscode.unitmesh.cc",
  "qna": "https://github.com/unit-mesh/auto-dev/issues/new/choose",
  "pricing": "Free",
  "icon": "media/pluginIcon.png",
  "engines": {
    "vscode": "^1.85.0"
  },
  "vsce": {
    "dependencies": true,
    "yarn": false
  },
  "categories": [
    "Programming Languages",
    "Education",
    "Machine Learning",
    "Snippets"
  ],
  "keywords": [
    "ai",
    "coding assistant",
    "llm",
    "xiuper",
    "autodev",
    "kotlin multiplatform",
    "kmp"
  ],
  "activationEvents": [
    "onLanguage:java",
    "onLanguage:javascript",
    "onLanguage:kotlin",
    "onLanguage:typescript",
    "onLanguage:typescriptreact",
    "onLanguage:python",
    "onLanguage:rust",
    "onLanguage:go",
    "onStartupFinished"
  ],
  "extensionKind": [
    "ui",
    "workspace"
  ],
  "main": "./dist/extension.js",
  "contributes": {
    "commands": [
      {
        "command": "autodev.chat",
        "title": "AutoDev: Open Chat"
      },
      {
        "command": "autodev.acceptDiff",
        "title": "AutoDev: Accept Diff"
      },
      {
        "command": "autodev.cancelDiff",
        "title": "AutoDev: Cancel Diff"
      },
      {
        "command": "autodev.runAgent",
        "title": "AutoDev: Run Coding Agent"
      },
      {
        "command": "autodev.codelens.quickChat",
        "title": "AutoDev: Quick Chat"
      },
      {
        "command": "autodev.codelens.explainCode",
        "title": "AutoDev: Explain Code"
      },
      {
        "command": "autodev.codelens.optimizeCode",
        "title": "AutoDev: Optimize Code"
      },
      {
        "command": "autodev.codelens.autoComment",
        "title": "AutoDev: Auto Comment"
      },
      {
        "command": "autodev.codelens.autoTest",
        "title": "AutoDev: Auto Test"
      },
      {
        "command": "autodev.codelens.autoMethod",
        "title": "AutoDev: Auto Method"
      },
      {
        "command": "autodev.codelens.showMenu",
        "title": "AutoDev: Show CodeLens Menu"
      }
    ],
    "viewsContainers": {
      "activitybar": [
        {
          "id": "autodev-sidebar",
          "title": "AutoDev",
          "icon": "resources/icon.svg"
        }
      ]
    },
    "views": {
      "autodev-sidebar": [
        {
          "type": "webview",
          "id": "autodev.chatView",
          "name": "Chat"
        }
      ]
    },
    "configuration": {
      "title": "AutoDev",
      "properties": {
        "autodev.provider": {
          "type": "string",
          "default": "openai",
          "enum": [
            "openai",
            "anthropic",
            "google",
            "deepseek",
            "ollama",
            "openrouter"
          ],
          "description": "LLM provider"
        },
        "autodev.model": {
          "type": "string",
          "default": "gpt-4",
          "description": "Model name"
        },
        "autodev.apiKey": {
          "type": "string",
          "default": "",
          "description": "API key for the LLM provider"
        },
        "autodev.baseUrl": {
          "type": "string",
          "default": "",
          "description": "Custom base URL for the LLM provider"
        },
        "autodev.ideServer.port": {
          "type": "number",
          "default": 23120,
          "description": "Port for the IDE server (MCP protocol)"
        },
        "autodev.codelens.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enable CodeLens to show AI actions above functions and classes"
        },
        "autodev.codelens.displayMode": {
          "type": "string",
          "default": "expand",
          "enum": [
            "expand",
            "collapse"
          ],
          "enumDescriptions": [
            "Show all actions separately",
            "Show a collapsed menu"
          ],
          "description": "CodeLens display mode"
        },
        "autodev.codelens.items": {
          "type": "array",
          "default": [
            "quickChat",
            "autoTest",
            "autoComment"
          ],
          "items": {
            "type": "string",
            "enum": [
              "quickChat",
              "explainCode",
              "optimizeCode",
              "autoComment",
              "autoTest",
              "autoMethod"
            ]
          },
          "description": "CodeLens items to display"
        }
      }
    },
    "keybindings": [
      {
        "command": "autodev.chat",
        "key": "ctrl+shift+a",
        "mac": "cmd+shift+a"
      }
    ],
    "languages": [
      {
        "id": "DevIns",
        "aliases": [
          "devins",
          "devin"
        ],
        "extensions": [
          ".devins",
          ".devin"
        ],
        "configuration": "syntaxes/language-configuration.json",
        "icon": {
          "light": "./resources/icon.svg",
          "dark": "./resources/icon.svg"
        }
      }
    ],
    "grammars": [
      {
        "language": "DevIns",
        "scopeName": "source.devins",
        "path": "syntaxes/DevIns.tmLanguage.json"
      }
    ]
  },
  "scripts": {
    "vscode:prepublish": "npm run build",
    "build": "npm run build:extension && npm run build:webview && npm run copy:wasm",
    "build:extension": "esbuild ./src/extension.ts --bundle --outfile=dist/extension.js --external:vscode --external:ws --external:web-tree-sitter --format=cjs --platform=node",
    "build:webview": "cd webview && npm install && npm run build",
    "copy:wasm": "node scripts/copy-wasm.js",
    "watch": "npm run build:extension -- --watch",
    "package": "vsce package",
    "lint": "eslint src --ext ts",
    "test": "vitest run",
    "test:watch": "vitest"
  },
  "devDependencies": {
    "@types/cors": "^2.8.17",
    "@types/express": "^4.17.21",
    "@types/node": "^20.10.0",
    "@types/vscode": "^1.85.0",
    "@typescript-eslint/eslint-plugin": "^6.13.0",
    "@typescript-eslint/parser": "^6.13.0",
    "@vscode/vsce": "^2.22.0",
    "esbuild": "^0.19.8",
    "eslint": "^8.54.0",
    "typescript": "^5.3.2",
    "vitest": "^1.0.0"
  },
  "dependencies": {
    "@xiuper/mpp-core": "^0.0.2",
    "@modelcontextprotocol/sdk": "^1.0.0",
    "@unit-mesh/treesitter-artifacts": "^1.7.7",
    "cors": "^2.8.5",
    "express": "^4.18.2",
    "web-tree-sitter": "^0.25.10",
    "yaml": "^2.8.2",
    "zod": "^3.22.4"
  }
}
