Skip to content

Complete Phase 4 VS Code Deep Integration - #6

Merged
LonelyQuantum merged 42 commits into
mainfrom
dev/vscode-integration
May 31, 2026
Merged

LonelyQuantum merged 42 commits into
mainfrom
dev/vscode-integration

Conversation

@LonelyQuantum

Copy link
Copy Markdown
Owner

Complete Phase 4 VS Code Deep Integration

Summary

This PR completes the Phase 4 VS Code deep integration work for ProleCoder, moving the extension from the Phase 3 RPC foundation into a fuller editor experience with native VS Code chat, richer run control, approval UX, packaging smoke checks, and deterministic extension-host coverage.

It adds shared protocol support for provider capabilities, event batching, cancellation, run list/resume, FIM previews, persistent approvals, and hunk-level patch approvals, then wires those capabilities through the Rust RPC server, Agent Core, CLI, and VS Code extension.

What Changed

  • Added native VS Code integration paths:

    • @prole Chat Participant registration and turn runner
    • Sidebar Chat send/cancel flow against real agent.sendTurn / agent.cancel
    • Run List and agent.resume replay support
    • Context Capsule visualization in the sidebar
    • Problems diagnostics as agent.sendTurn.attachments
  • Expanded approval and tool-control behavior:

    • Terminal command approval payloads include command, cwd, risk, reasons, and output summaries
    • Session/workspace persistent approvals are supported in Core/RPC
    • Approval UI is simplified to Approve / Reject, with hunk selection preserved for patch approvals
    • apply_patch hunk-level approval metadata and filtering are implemented
  • Added model/provider integration:

    • Provider capability data contract in agent.initialize
    • DeepSeek FIM preview support
    • agent.previewFim RPC method and VS Code inline completion provider
    • Capability-driven FIM model selection without model-name inference
  • Improved RPC and event infrastructure:

    • High-frequency agent.eventBatch notification support
    • Protocol fixture alignment for event payloads
    • Protocol mismatch diagnostics
    • Typed RPC helpers for sendTurn, cancel, approve/reject, listRuns, resume, and previewFim
  • Added packaging and E2E validation:

    • VSIX dry-run packaging smoke script
    • Alpha/pre-release VSIX packaging script
    • @vscode/test-electron extension-host harness
    • Local JSON-RPC fixture server for deterministic VS Code integration tests
  • Updated documentation:

    • Phase 4 task tracking
    • VS Code extension docs
    • JSON-RPC protocol docs
    • approval model docs
    • release and testing docs
    • provider capability ADR

Testing

  • cargo test --workspace
  • pnpm -r typecheck
  • pnpm -r lint
  • pnpm -r test
  • pnpm run vscode:test-electron
  • pnpm run vsix:smoke
  • pnpm run vsix:alpha
  • git diff --check
  • sensitive information scan

Notes

  • Live DeepSeek execution still requires DEEPSEEK_API_KEY to be provided through the existing CLI/RPC environment path.
  • The generated VSIX is still treated as an alpha/pre-release artifact.
  • Hunk-level approval is currently scoped to apply_patch unified diff workflows.

@LonelyQuantum
LonelyQuantum merged commit f6fee36 into main May 31, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant