Repository navigation
Release Notes: v0.3.0
v0.3.0 - Major Refactor
Released: March 2025
This release represents a significant architectural overhaul with 67 files changed and ~10,900 lines added.
Added
Agent Mode
- Chat can now modify the canvas directly via
writeandwrite_batchtools - Supports adding/editing/deleting nodes and edges through natural language
- Operations are transactional - failed mutations don't degrade to prose responses
- Streamed tool activity with live status updates
- Single-step undo for entire AI-generated batches
Multi-Provider LLM Support
- OpenAI, Anthropic, Google, and Ollama adapters alongside DeepSeek
OpenAICompatibleAdapterbase class for easy provider additions- Provider catalog with live API validation
- Model selector in chat interface
VS Code-Style Interface
- Activity Bar with Projects, File Explorer, and Settings panels
- Tab system for Canvas and file viewers
- Resizable left panel with localStorage persistence
- File Explorer with tree view, search, and bulk fetch
Project Management
- Multiple project support with instant switching
- Three creation modes: GitHub URL, Empty Project, JSON Import
- Per-project file caching via IndexedDB
- Canvas sync snapshots for accurate AI context
Canvas Features
- Multi-select via Shift+click or rubber-band selection
- Copy/paste nodes with Ctrl+C/V (preserves internal edges)
- Undo/redo stack (10 snapshots)
- Inline editing via double-click
- Batch category changes for multiple nodes
Settings Page
- Dedicated
/settingsroute for AI configuration - Enable/disable individual models
- Temperature and max tokens controls
- Live provider validation before enabling
Code Viewer
- Syntax highlighting for all supported languages
- Virtualized rendering for large files
- Line numbers and file metadata display
Changed
- Refactored
page.tsxfrom monolithic component to thin orchestration shell - Extracted logic into dedicated hooks:
useProjects,useCanvasHistory,useClipboard,useCanvasShortcuts,useResizablePane,useFileExplorer,useEditorTabs - Chat streaming now uses NDJSON format with structured events (
status,text,write,error,done) - Chat history sanitized and capped at 20 messages
- File context uses type-aware summarization instead of prefix truncation
- Removed top-center URL input bar in favor of Projects sidebar workflow
Fixed
- Streaming abort handling
- Triple redundancy in data sources eliminated
- Session-scoped message updates prevent cross-chat interference
- Stale closure issues in edge label dragging
Technical Details
New Files:
src/lib/chat-agent.ts- Agent orchestration with 25-step planning limitsrc/lib/chat-tools.ts- Tool definitions and executionsrc/lib/file-store.ts- IndexedDB wrappersrc/lib/model-settings.ts- Settings persistencesrc/lib/llm/catalog.ts- Provider metadata and validationsrc/lib/llm/providers/OpenAICompatibleAdapter.ts- Base adapter class
Dependencies:
- No new runtime dependencies added
Migration Notes
- Existing localStorage data (
repoAgent_projects) is compatible - Environment variables unchanged; new optional keys:
OPENAI_API_KEY,ANTHROPIC_API_KEY,GOOGLE_API_KEY,OLLAMA_API_KEY
Full Changelog: 408ffd4...b71a86f