Skip to content

v0.3.0

Latest

Choose a tag to compare

@V0ightt V0ightt released this 26 Mar 18:58
b71a86f

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 write and write_batch tools
  • 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
  • OpenAICompatibleAdapter base 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 /settings route 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.tsx from 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 limit
  • src/lib/chat-tools.ts - Tool definitions and execution
  • src/lib/file-store.ts - IndexedDB wrapper
  • src/lib/model-settings.ts - Settings persistence
  • src/lib/llm/catalog.ts - Provider metadata and validation
  • src/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