UNPKG

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
{ "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 } }