Skip to content

Releases

v1.8.3 — Tool Use + Semantic Context (Phase 3)

Choose a tag to compare

@Zafer83 Zafer83 released this 19 Apr 02:32

Typed Tools + BM25 Semantic Context

Phase 3 of the multi-agent architecture. Both features are opt-in — existing Phase 1/2 behaviour is unchanged by default.


Agentic Tool Use (vertexAgent.toolUseEnabled)

When enabled, Orchestrator sub-agents enter a multi-turn loop where they call typed tools instead of generating code blocks:

Tool Description
read_file Read workspace file; path traversal blocked
write_file Write file + create dirs; DELETE keyword removes file
list_files Glob pattern match (VS Code API + pure-Node fallback)
grep Regex search across source files
git_diff Unstaged or staged diff
run_tests Whitelisted test runners only (npm/pytest/jest/cargo/…)
run_bash Strict allowlist (ls, cat, head, grep, git status/log/diff, node tests/…)

Each role gets a curated subset:

  • Coder: read, write, list, grep
  • Security Auditor: read, list, grep, git_diff
  • Test Writer: read, write, list, run_tests
  • Refactor Expert: read, write, list, grep, git_diff

Provider support: OpenAI (native), Claude (native), Gemini (functionDeclarations), Ollama (JSON-schema-in-system-prompt fallback).


Semantic Context Ranking (vertexAgent.semanticContextEnabled)

When enabled, replaces random file sampling with BM25 ranking — the workspace files most relevant to the current query are selected instead of arbitrary ones.

  • Pure JavaScript — no SQLite, no native modules, no external API calls
  • Tokeniser handles camelCase/PascalCase (getUserById → get, user, id)
  • Stop-word filtering, IDF weighting
  • Background indexing on activation + incremental updates on file save

New settings

Setting Default Description
vertexAgent.toolUseEnabled false Enable agentic tool-use loop for Orchestrator sub-agents
vertexAgent.semanticContextEnabled false Enable BM25 semantic file ranking

Tests

  • tool-registry.test.js — 85 assertions: tool completeness, schema, role subsets, allowlists, path traversal, DELETE detection
  • semantic-index.test.js — 36 assertions: tokeniser, BM25 scoring, topK, edge cases, IDF weighting

344 total unit test assertions across 10 test files — all passing.

v1.8.1 — Orchestrator + Specialized Agents (Phase 2)

Choose a tag to compare

@Zafer83 Zafer83 released this 17 Apr 18:17

Orchestrator — Master/Sub-Agent Pipeline

Phase 2 of the multi-agent architecture. For highly complex tasks (classifier score ≥ 4), VertexAgent now runs a full Planner → parallel Coders → Security Auditor → Test Writer → Judge pipeline. The single-call path is preserved unchanged for simple and trivial tasks.

What's new

Orchestrator (src/agent/orchestrator.ts)

  • Planner LLM decomposes the task into a structured JSON plan with roles, target files, and per-step prompts. Falls back to a single coder step on any parse error — the flow is never blocked.
  • Up to maxSubAgents (default: 3) Coder sub-agents run in parallel via Promise.all, each receiving only its relevant file context.
  • Edit conflicts resolved by last-write-wins per filepath.

Implicit Security Audit

  • When the prompt contains keywords like auth, password, jwt, encrypt, sql, xss, a security_auditor step is automatically appended even if the Planner didn't include it.

Test Writer

  • When autoWriteTests is enabled (default: true), a test_writer step is added for tasks that create new modules or classes.

Mixed-Provider Routing (src/ai/providerRouter.ts)

  • vertexAgent.plannerProvider: route Planner calls to Claude/Gemini while coding with your main (cheaper) model.
  • vertexAgent.judgeApiKey: separate API key for the judge provider.

Sub-Agent Progress

  • Real-time status in chat: 🗺 Planning task… → ⚡ Coding N file(s) in parallel… → 🔒 Security audit… → 🧪 Writing tests… → 🔍 Reviewing edits…

Role-Specific Prompts (src/ai/prompts.ts)

  • Each sub-agent role receives a focused, token-efficient English system prompt.

New settings

Setting Default Description
vertexAgent.orchestratorEnabled true Enable Orchestrator for score ≥ 4 tasks
vertexAgent.plannerProvider "same" Provider for Planner sub-agent
vertexAgent.maxSubAgents 3 Max parallel Coder sub-agents (1–6)
vertexAgent.autoWriteTests true Auto-add Test Writer step for new modules

Tests

  • orchestrator-planning.test.js — 45 assertions: plan parsing, fallback scenarios, role sanitization, maxSubAgents capping, code block extraction, path traversal blocking, edit deduplication, security keyword detection
  • orchestrator-routing.test.js — 28 assertions: all provider combinations, judgeApiKey fallback, access token propagation

223 total unit test assertions across 8 test files — all passing.

Bug fix

  • Removed duplicate multiAgentForOllama variable declaration in aiClient.ts that caused a compile error.

v1.7.96 — Phase 1: LLM-as-Judge + Task Classifier + Token Optimization

Choose a tag to compare

@Zafer83 Zafer83 released this 17 Apr 14:42

What's New in v1.7.96

Phase 1: Multi-Agent Architecture

LLM-as-Judge Quality Gate
A second LLM call independently reviews proposed code edits before writing them to disk. The judge checks for:

  • Syntax errors and missing imports
  • Hardcoded secrets or eval() usage
  • Incomplete task fulfilment
  • + markers or line numbers leaking into file content

If the judge rejects edits with sufficient confidence (≥ 0.7 by default), the agent retries once with the judge's issues as explicit constraints.

Task Complexity Classifier
Zero-token regex classifier routes every request to the right pipeline tier:

  • trivial — deterministic path, no LLM (mkdir/delete)
  • simple — lean 400-token prompt, no judge
  • complex — full 1400-token prompt + judge gate

Token Optimization

  • Simple tasks now use ~400 tokens system prompt instead of ~1400 (saves ~1000 tokens/request)
  • Claude: cache_control: ephemeral on system prompt for complex tasks (~90% savings on repeat calls)
  • Gemini: fixed systemInstruction field separation

Mixed-Provider Judge
Route judge calls to a stronger model (Claude Sonnet, Gemini) even when the main coder is a local Ollama model. Configure vertexAgent.judgeProvider.

Claude Streaming
Claude provider now streams token-by-token via Anthropic SSE format.

English System Prompts
All system prompts rewritten in English for better cross-model compatibility (user-facing explanations remain in German).

New Settings

Setting Default Description
vertexAgent.judgeEnabled true Enable/disable judge quality gate
vertexAgent.judgeProvider "same" Provider for judge calls (same, claude, gemini, openai, ollama)
vertexAgent.judgeApiKey — API key for judge provider (when different from main)
vertexAgent.judgeMinConfidence 0.7 Minimum confidence to trigger retry
vertexAgent.multiAgentForOllama false Allow judge when main provider is Ollama

Tests

  • tests/unit/task-classifier.test.js — 52 assertions
  • tests/unit/judge-gating.test.js — 37 assertions
  • tests/unit/bugfix-regression.test.js — 61 assertions (unchanged, all pass)

Total: 150 unit test assertions

v1.7.94 — Diff Engine Fixes & Deduplication

Choose a tag to compare

@Zafer83 Zafer83 released this 01 Apr 17:09

Highlights

  • Diff-Engine vollständig überarbeitet: +-Marker werden korrekt aus neuen Dateien entfernt, kein führendes Leerzeichen mehr
  • Doppelte Code-Blöcke (LLM gibt denselben Diff-Block zweimal aus) werden jetzt unterdrückt — im Chat UND beim Schreiben
  • 61 Regressionstests sichern alle bisherigen Fixes ab
  • README, README_DE und CHANGELOG vollständig aktualisiert mit Roadmap, Security-Backlog und Vergleichstabelle

Fixed

  • Duplicate code block execution — same diff applied twice
  • + prefix written literally into new files
  • Leading whitespace from "+ text".slice(1) → fixed to slice(2)
  • LLM not generating diff format → concrete per-filename diff template in prompt
  • Line numbers (1:, 2:) in diff lines not stripped correctly

Added

  • deduplicateChatCodeBlocks() — removes identical LLM output blocks before display and file writing
  • FileEditEngine edit deduplication by filePath + content key
  • Regression test suite: tests/unit/bugfix-regression.test.js (61 assertions)
  • Auto version bump on npm run compile

Docs

  • README rewritten with feature comparison table, security model, full roadmap with open/closed TODOs
  • README_DE fully synced (German)
  • CHANGELOG updated for v1.7.80–v1.7.94

v1.7.83 - Nested Fence Parser, MD Language Fix, DELETE Intent Hardening

Choose a tag to compare

@Zafer83 Zafer83 released this 01 Apr 07:47

Fixes

  • Nested Code Fence Parser — Markdown files with code examples no longer get split into broken blocks
  • MD Language Detection — .md files now render as MARKDOWN, not PYTHON
  • DELETE vs Line-Edit (Round 2) — System prompt hardened with explicit diff examples for line removal
  • False-Positive Deletion — Version numbers and content-edit patterns no longer trigger file deletion
  • Stateful Fence Parser — Both UI and edit extraction use nest-level tracking

Previous (v1.7.80)

  • HTML artifact leakage fix (placeholder tokenizer)
  • Token merging / keyword spacing fix (display:block)
  • Destructive diff logic fix (applyDiffPatch)
  • Auto file context injection (resolveFileContext)

Full changelog: https://github.com/Zafer83/vertex-agent/blob/main/CHANGELOG.md

v1.7.81

Choose a tag to compare

@Zafer83 Zafer83 released this 31 Mar 21:01

VertexAgent v1.7.81

  • Fixed API key security: vertexAgent.apiKey and vertexAgent.accessToken now use secret: true for OS keychain storage instead of plaintext in settings.json.
  • Fixed version drift: removed bump-version.js from compile script so version bumps only happen during vscode:prepublish.
  • Added CLAUDE.md project documentation with directory structure, build commands, provider overview, conventions, and common tasks.
    Included asset: vertex-agent-1.7.81.vsix

VertexAgent v1.6.0

Choose a tag to compare

@Zafer83 Zafer83 released this 31 Mar 11:37

Changelog

  • Added real-time streaming support with formatted live rendering.
  • Added syntax highlighting in chat code blocks.
  • Improved file write pipeline (plan -> folders -> files -> write per file).
  • Improved status UX (localized randomized messages and stable bottom placement).
  • Hardened edit extraction and file-write reliability.
  • Synced README_DE with the current English README scope.

Build

  • Included asset: vertex-agent-1.6.0.vsix

VertexAgent v1.5.13

Choose a tag to compare

@Zafer83 Zafer83 released this 31 Mar 02:14

Changelog

  • Restored marketplace logo by re-adding root icon in package.json (icon: media/icon.png).

Build

  • Included asset: vertex-agent-1.5.13.vsix

VertexAgent v1.5.12

Choose a tag to compare

@Zafer83 Zafer83 released this 31 Mar 02:07

Changelog

  • Chat panel now opens in right split view beside code (ViewColumn.Beside).
  • Removed unstable auto-docking fallback commands for consistent placement.

Build

  • Included asset: vertex-agent-1.5.12.vsix

v1.5.11

Choose a tag to compare

@Zafer83 Zafer83 released this 31 Mar 02:00

Full Changelog: v1.5.9...v1.5.11