agentvasya
Version:
Autonomous coding agent CLI - capable of creating/editing files, running commands, using the browser, and more
554 lines (553 loc) • 18.9 kB
JSON
{
"name": "agentvasya",
"displayName": "AgentVasya",
"description": "Autonomous coding agent right in your IDE, capable of creating/editing files, running commands, using the browser, and more with your permission every step of the way.",
"version": "3.34.0",
"icon": "assets/icons/icon.png",
"engines": {
"vscode": "^1.84.0"
},
"author": {
"name": "AgentVasya Bot Inc."
},
"license": "Apache-2.0",
"publisher": "agentvasya",
"repository": {
"type": "git",
"url": "https://github.com/akiparuk/agentvasya"
},
"homepage": "https://agentvasya.com",
"categories": [
"AI",
"Chat",
"Programming Languages",
"Education",
"Snippets",
"Testing"
],
"keywords": [
"agentvasya",
"claude",
"dev",
"mcp",
"openrouter",
"coding",
"agent",
"autonomous",
"chatgpt",
"sonnet",
"ai",
"llama"
],
"activationEvents": [
"onLanguage",
"onStartupFinished",
"workspaceContains:evals.env"
],
"main": "./dist/extension.js",
"contributes": {
"walkthroughs": [
{
"id": "AgentVasyaWalkthrough",
"title": "Meet AgentVasya, your new coding partner",
"description": "AgentVasya codes like a developer because it thinks like one. Here are 5 ways to put it to work:",
"steps": [
{
"id": "welcome",
"title": "Start with a Goal, Not Just a Prompt",
"description": "Tell AgentVasya what you want to achieve. It plans, asks, and then codes, like a true partner.",
"media": {
"markdown": "walkthrough/step1.md"
}
},
{
"id": "learn",
"title": "Let AgentVasya Learn Your Codebase",
"description": "Point AgentVasya to your project. It builds understanding to make smart, context-aware changes.",
"media": {
"markdown": "walkthrough/step2.md"
}
},
{
"id": "advanced-features",
"title": "Always Use the Best AI Models",
"description": "AgentVasya empowers you with State-of-the-Art AI, connecting to top models (Anthropic, Gemini, OpenAI & more).",
"media": {
"markdown": "walkthrough/step3.md"
}
},
{
"id": "mcp",
"title": "Extend with Powerful Tools (MCP)",
"description": "Connect to databases, APIs, or discover new capabilities in the MCP Marketplace.",
"media": {
"markdown": "walkthrough/step4.md"
}
},
{
"id": "getting-started",
"title": "You're Always in Control",
"description": "Review AgentVasya's plans and diffs. Approve changes before they happen. No surprises.",
"media": {
"markdown": "walkthrough/step5.md"
},
"content": {
"path": "walkthrough/step5.md"
}
}
]
}
],
"viewsContainers": {
"activitybar": [
{
"id": "agentvasya-ActivityBar",
"title": "AgentVasya",
"icon": "assets/icons/icon.svg"
}
]
},
"views": {
"agentvasya-ActivityBar": [
{
"type": "webview",
"id": "agentvasya.SidebarProvider",
"name": "",
"icon": "assets/icons/icon.svg"
}
]
},
"commands": [
{
"command": "agentvasya.plusButtonClicked",
"title": "New Task",
"icon": "$(add)"
},
{
"command": "agentvasya.mcpButtonClicked",
"title": "MCP Servers",
"icon": "$(server)"
},
{
"command": "agentvasya.historyButtonClicked",
"title": "History",
"icon": "$(history)"
},
{
"command": "agentvasya.accountButtonClicked",
"title": "Account",
"icon": "$(account)"
},
{
"command": "agentvasya.settingsButtonClicked",
"title": "Settings",
"icon": "$(settings-gear)"
},
{
"command": "agentvasya.dev.createTestTasks",
"title": "Create Test Tasks",
"category": "AgentVasya",
"when": "agentvasya.isDevMode"
},
{
"command": "agentvasya.addToChat",
"title": "Add to AgentVasya",
"category": "AgentVasya"
},
{
"command": "agentvasya.addTerminalOutputToChat",
"title": "Add to AgentVasya",
"category": "AgentVasya"
},
{
"command": "agentvasya.focusChatInput",
"title": "Jump to Chat Input",
"category": "AgentVasya"
},
{
"command": "agentvasya.generateGitCommitMessage",
"title": "Generate Commit Message with AgentVasya",
"category": "AgentVasya",
"icon": {
"light": "assets/icons/robot_panel_light.png",
"dark": "assets/icons/robot_panel_dark.png"
}
},
{
"command": "agentvasya.abortGitCommitMessage",
"title": "Generate Commit Message with AgentVasya - Stop",
"category": "AgentVasya",
"icon": "$(debug-stop)"
},
{
"command": "agentvasya.explainCode",
"title": "Explain with AgentVasya",
"category": "AgentVasya"
},
{
"command": "agentvasya.improveCode",
"title": "Improve with AgentVasya",
"category": "AgentVasya"
},
{
"command": "agentvasya.openWalkthrough",
"title": "Open Walkthrough",
"category": "AgentVasya"
},
{
"command": "agentvasya.reconstructTaskHistory",
"title": "Reconstruct Task History",
"category": "AgentVasya"
},
{
"command": "agentvasya.gcloudLogin",
"title": "Google Cloud: Login",
"category": "AgentVasya"
},
{
"command": "agentvasya.gcloudLogout",
"title": "Google Cloud: Logout",
"category": "AgentVasya"
},
{
"command": "agentvasya.gcloudConfigure",
"title": "Google Cloud: Configure Project & Region",
"category": "AgentVasya"
},
{
"command": "agentvasya.gcloudStatus",
"title": "Google Cloud: Show Status",
"category": "AgentVasya"
}
],
"keybindings": [
{
"command": "agentvasya.addToChat",
"key": "cmd+'",
"mac": "cmd+'",
"win": "ctrl+'",
"linux": "ctrl+'",
"when": "editorHasSelection"
},
{
"command": "agentvasya.generateGitCommitMessage",
"when": "config.git.enabled && scmProvider == git"
},
{
"command": "agentvasya.focusChatInput",
"key": "cmd+'",
"mac": "cmd+'",
"win": "ctrl+'",
"linux": "ctrl+'",
"when": "!editorHasSelection"
}
],
"menus": {
"view/title": [
{
"command": "agentvasya.plusButtonClicked",
"group": "navigation@1",
"when": "view == agentvasya.SidebarProvider"
},
{
"command": "agentvasya.mcpButtonClicked",
"group": "navigation@2",
"when": "view == agentvasya.SidebarProvider"
},
{
"command": "agentvasya.historyButtonClicked",
"group": "navigation@3",
"when": "view == agentvasya.SidebarProvider"
},
{
"command": "agentvasya.accountButtonClicked",
"group": "navigation@5",
"when": "view == agentvasya.SidebarProvider"
},
{
"command": "agentvasya.settingsButtonClicked",
"group": "navigation@6",
"when": "view == agentvasya.SidebarProvider"
}
],
"editor/context": [
{
"command": "agentvasya.addToChat",
"group": "navigation",
"when": "editorHasSelection"
}
],
"terminal/context": [
{
"command": "agentvasya.addTerminalOutputToChat",
"group": "navigation"
}
],
"scm/title": [
{
"command": "agentvasya.generateGitCommitMessage",
"group": "navigation",
"when": "config.git.enabled && scmProvider == git && !agentvasya.isGeneratingCommit"
},
{
"command": "agentvasya.abortGitCommitMessage",
"group": "navigation",
"when": "config.git.enabled && scmProvider == git && agentvasya.isGeneratingCommit"
}
],
"commandPalette": [
{
"command": "agentvasya.generateGitCommitMessage",
"when": "config.git.enabled && scmProvider == git && !agentvasya.isGeneratingCommit"
},
{
"command": "agentvasya.abortGitCommitMessage",
"when": "config.git.enabled && scmProvider == git && agentvasya.isGeneratingCommit"
}
]
},
"configuration": {
"title": "AgentVasya",
"properties": {}
}
},
"scripts": {
"compile": "npm run check-types && npm run lint && node esbuild.mjs",
"compile-standalone": "npm run check-types && npm run lint && node esbuild.mjs --standalone",
"compile-standalone-npm": "npm run protos && npm run protos-go && npm run check-types && npm run lint && node esbuild.mjs --standalone",
"compile-cli": "scripts/build-cli.sh",
"compile-cli-all-platforms": "scripts/build-cli-all-platforms.sh",
"compile-cli-man-page": "pandoc cli/man/agentvasya.1.md -s -t man -o cli/man/agentvasya.1",
"build:npm": "scripts/build-npm-package.sh",
"test:install": "bash scripts/test-install.sh",
"dev:cli:watch": "node scripts/dev-cli-watch.mjs",
"postcompile-standalone": "node scripts/package-standalone.mjs",
"postcompile-standalone-npm": "node scripts/package-standalone.mjs --target=npm",
"watch": "npm-run-all -p watch:*",
"watch:esbuild": "node esbuild.mjs --watch",
"watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
"package": "npm run check-types && npm run build:webview && npm run lint && node esbuild.mjs --production",
"protos": "node scripts/build-proto.mjs",
"protos-go": "node scripts/build-go-proto.mjs",
"cli-providers": "node scripts/cli-providers.mjs",
"download-ripgrep": "node scripts/download-ripgrep.mjs",
"postprotos": "biome format src/shared/proto src/core/controller src/hosts/ webview-ui/src/services src/generated --write --no-errors-on-unmatched",
"clean:build": "rimraf dist dist-standalone webview-ui/build src/generated out/",
"clean:deps": "rimraf node_modules webview-ui/node_modules",
"clean:all": "npm run clean:build && npm run clean:deps",
"compile-tests": "node ./scripts/build-tests.js",
"watch-tests": "tsc -p . -w --outDir out",
"check-types": "npm run protos && npx tsc --noEmit && cd webview-ui && npx tsc -b --noEmit",
"lint": "biome lint --no-errors-on-unmatched --files-ignore-unknown=true --diagnostic-level=error && npm run lint:proto",
"lint:proto": "bash ./scripts/proto-lint.sh",
"format": "biome format --changed --no-errors-on-unmatched --files-ignore-unknown=true --diagnostic-level=error",
"format:fix": "biome check --changed --no-errors-on-unmatched --files-ignore-unknown=true --write",
"fix:all": "biome check --no-errors-on-unmatched --files-ignore-unknown=true --write --diagnostic-level=error --unsafe",
"ci:check-all": "npm-run-all -p check-types lint format",
"ci:build": "npm run protos && npm run build:webview && node esbuild.mjs && npm run compile-tests",
"pretest": "npm run compile && npm run compile-tests && npm run compile-standalone && npm run lint",
"test": "npm-run-all test:unit test:integration",
"test:integration": "vscode-test",
"test:unit": "cross-env TS_NODE_PROJECT=./tsconfig.unit-test.json mocha",
"test:coverage": "vscode-test --coverage",
"test:sca-server": "npx tsx watch scripts/test-standalone-core-api-server.ts",
"test:tp-orchestrator": "npx tsx scripts/testing-platform-orchestrator.ts",
"e2e": "playwright test -c playwright.config.ts",
"test:e2e:build": "vsce package --allow-package-secrets sendgrid --out dist/e2e.vsix",
"test:e2e": "playwright install && npm run test:e2e:build && node src/test/e2e/utils/build.mjs && playwright test",
"test:e2e:optimal": "npm run test:e2e:build && node src/test/e2e/utils/build.mjs && playwright test",
"test:e2e:ui": "npx tsx scripts/interactive-playwright.ts",
"install:all": "npm install && cd webview-ui && npm install",
"dev:webview": "cd webview-ui && npm run dev",
"build:webview": "cd webview-ui && npm run build",
"test:webview": "cd webview-ui && npm run test",
"publish:marketplace": "vsce publish --allow-package-secrets sendgrid && ovsx publish",
"publish:marketplace:prerelease": "vsce publish --allow-package-secrets sendgrid --pre-release && ovsx publish --pre-release",
"publish:marketplace:nightly": "node ./scripts/publish-nightly.mjs",
"prepare": "husky",
"changeset": "changeset",
"version-packages": "changeset version",
"docs": "cd docs && npm run dev",
"docs:check-links": "cd docs && npm run check",
"docs:rename-file": "cd docs && npm run rename",
"report-issue": "node scripts/report-issue.js"
},
"lint-staged": {
"*": [
"biome check --write --staged --no-errors-on-unmatched --files-ignore-unknown=true"
]
},
"devDependencies": {
"@biomejs/biome": "^2.1.4",
"@bufbuild/buf": "^1.54.0",
"@changesets/cli": "^2.27.12",
"@types/better-sqlite3": "^7.6.13",
"@types/chai": "^5.0.1",
"@types/clone-deep": "^4.0.4",
"@types/diff": "^5.2.1",
"@types/get-folder-size": "^3.0.4",
"@types/mocha": "^10.0.7",
"@types/node": "20.x",
"@types/pdf-parse": "^1.1.4",
"@types/proxyquire": "^1.3.31",
"@types/should": "^11.2.0",
"@types/sinon": "^17.0.4",
"@types/turndown": "^5.0.5",
"@types/vscode": "1.84.0",
"@vscode/test-cli": "^0.0.10",
"@vscode/test-electron": "^2.5.2",
"@vscode/vsce": "^3.6.0",
"c8": "^10.1.3",
"chai": "^4.3.10",
"chalk": "5.6.2",
"cross-env": "^10.1.0",
"esbuild": "^0.25.0",
"grpc-tools": "^1.13.0",
"husky": "^9.1.7",
"lint-staged": "^16.1.0",
"minimatch": "^3.0.3",
"npm-run-all": "^4.1.5",
"nyc": "^17.1.0",
"prebuild-install": "^7.1.3",
"protoc-gen-ts": "^0.8.7",
"proxyquire": "^2.1.3",
"rimraf": "^6.0.1",
"should": "^13.2.3",
"sinon": "^19.0.2",
"tree-kill": "^1.2.2",
"ts-node": "^10.9.2",
"ts-proto": "^2.6.1",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.4.5"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.37.0",
"@anthropic-ai/vertex-sdk": "^0.6.4",
"@aws-sdk/client-bedrock-runtime": "^3.840.0",
"@aws-sdk/credential-providers": "^3.840.0",
"@bufbuild/protobuf": "^2.2.5",
"@cerebras/cerebras_cloud_sdk": "^1.35.0",
"@google-cloud/vertexai": "^1.9.3",
"@google/genai": "^1.11.0",
"@grpc/grpc-js": "^1.9.15",
"@grpc/reflection": "^1.0.4",
"@mistralai/mistralai": "^1.5.0",
"@modelcontextprotocol/sdk": "^1.11.1",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/core": "^2.1.0",
"@opentelemetry/exporter-logs-otlp-grpc": "^0.56.0",
"@opentelemetry/exporter-logs-otlp-http": "^0.56.0",
"@opentelemetry/exporter-logs-otlp-proto": "^0.56.0",
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.56.0",
"@opentelemetry/exporter-metrics-otlp-http": "^0.56.0",
"@opentelemetry/exporter-metrics-otlp-proto": "^0.56.0",
"@opentelemetry/exporter-prometheus": "^0.56.0",
"@opentelemetry/exporter-trace-otlp-http": "^0.56.0",
"@opentelemetry/instrumentation": "^0.205.0",
"@opentelemetry/instrumentation-http": "^0.205.0",
"@opentelemetry/resources": "^1.30.1",
"@opentelemetry/sdk-logs": "^0.56.0",
"@opentelemetry/sdk-metrics": "^1.30.1",
"@opentelemetry/sdk-node": "^0.56.0",
"@opentelemetry/sdk-trace-base": "^2.1.0",
"@opentelemetry/sdk-trace-node": "^1.30.1",
"@opentelemetry/semantic-conventions": "^1.37.0",
"@playwright/test": "^1.55.1",
"@sap-ai-sdk/ai-api": "^1.17.0",
"@sap-ai-sdk/orchestration": "^1.17.0",
"@sentry/browser": "^9.12.0",
"@streamparser/json": "^0.0.22",
"@supabase/supabase-js": "^2.76.1",
"@types/uuid": "^10.0.0",
"@vscode/codicons": "^0.0.36",
"archiver": "^7.0.1",
"axios": "^1.12.0",
"better-sqlite3": "^12.4.1",
"cheerio": "^1.0.0",
"chokidar": "^4.0.1",
"chrome-launcher": "^1.1.2",
"clone-deep": "^4.0.1",
"default-shell": "^2.2.0",
"diff": "^5.2.0",
"exceljs": "^4.4.0",
"execa": "^9.5.2",
"fast-deep-equal": "^3.1.3",
"firebase": "^11.2.0",
"fzf": "^0.5.2",
"get-folder-size": "^5.0.0",
"globby": "^14.0.2",
"grpc-health-check": "^2.0.2",
"https-proxy-agent": "^7.0.6",
"iconv-lite": "^0.6.3",
"ignore": "^7.0.3",
"image-size": "^2.0.2",
"isbinaryfile": "^5.0.2",
"jschardet": "^3.1.4",
"jwt-decode": "^4.0.0",
"mammoth": "^1.11.0",
"nice-grpc": "^2.1.12",
"node-machine-id": "^1.1.12",
"ollama": "^0.5.13",
"open": "^10.1.2",
"open-graph-scraper": "^6.9.0",
"openai": "^4.83.0",
"os-name": "^6.0.0",
"p-timeout": "^6.1.4",
"p-wait-for": "^5.0.2",
"pdf-parse": "^1.1.1",
"posthog-node": "^5.8.0",
"puppeteer-chromium-resolver": "^23.0.0",
"puppeteer-core": "^23.4.0",
"reconnecting-eventsource": "^1.6.4",
"serialize-error": "^11.0.3",
"simple-git": "^3.27.0",
"strip-ansi": "^7.1.2",
"stripe": "^19.1.0",
"tree-sitter-wasms": "^0.1.11",
"ts-morph": "^25.0.1",
"turndown": "^7.2.0",
"ulid": "^2.4.0",
"uuid": "^11.1.0",
"vscode-uri": "^3.1.0",
"web-tree-sitter": "^0.22.6",
"zod": "^3.24.2"
},
"overrides": {
"tar-fs": ">=3.1.1"
},
"c8": {
"reporter": [
"lcov",
"html"
],
"exclude": [
"**/testing-platform/**",
"**/webview-ui/**",
"**/.vscode-test/**",
"**/node_modules/**",
"node_modules",
"**/dist-standalone/src/**",
"**/dist-standalone/vsce-extension/https:/**",
"**/dist-standalone/vsce-extension/**",
"**/dist-standalone/https:/**",
"**/dist-standalone/LIB/src/**",
"**/dist-standalone/pdfjs-dist/**",
"**/*.d.ts",
"**/*.{test,spec}.{js,jsx,ts,tsx,mjs,cjs}",
"**/__tests__/**",
"**/test/**",
"**/tests/**",
"**/.nyc_output/**",
"**/tests-results/**",
"src/test/**",
"**/src/xml/**",
"**/standalone/**",
"**/src/generated/**",
"**/evals/cli/dist/**",
"**/evals/cli/src/**",
"dist"
],
"all": true,
"exclude-after-remap": true
}
}