Changelog
Release history across all Vstorm OSS projects
Todo sync fix & Model object support
Fixed deps.todos not synchronized with todo tools — create_todo_toolset() created isolated storage. Fixed Model objects (e.g. TestModel(), AnthropicModel()) being silently discarded for subagents.
Model objects & ask_parent async fix
Subagent configuration now accepts Model objects (not just strings). Fixed ask_parent tool broken in async mode — state injection and Future-based coordination replaced message bus Q&A.
LangSmith observability & CLI improvements
LangSmith integration for LangChain, LangGraph and DeepAgents frameworks. CLI runs interactive wizard by default. Fixed unconditional logfire imports, frontend chat cleanup, and 3 missing framework choices.
Repository renamed to full-stack-ai-agent-template
Repository renamed from full-stack-fastapi-nextjs-llm-template. Marked as GitHub Template — users can click 'Use this template' to create a new repo directly.
Custom commands, diff viewer & tool descriptions
User-triggered slash commands from .md files (/commit, /pr, /review, /test). Colored unified diffs for file approvals. Tool guidance moved from system prompt to tool descriptions. Removed Textual TUI.
Switched to pydantic-ai-slim dependency
Replaced pydantic-ai dependency with pydantic-ai-slim to reduce dependency bloat and avoid pulling unnecessary model provider SDKs.
DaytonaSandbox — cloud sandbox backend
New cloud sandbox powered by Daytona ephemeral sandboxes. Sub-90ms startup, no Docker daemon required. Native file APIs for efficient binary and large file handling.
Compression callbacks, persistence & auto-detection
on_before_compress and on_after_compress callbacks for history archival. Continuous message persistence via messages_path. Auto-detection of model context window from genai-prices. Manual compact() method for CLI commands.
Hashline edit format — +5 to +64pp accuracy
Alternative to str_replace that tags each line with a 2-char content hash. Models reference lines by number:hash pairs, eliminating whitespace-matching errors and reducing output tokens. Based on Can Boluk's hashline research.
Checkpointing, Teams, Hooks, Memory & Plan Mode
Major release: checkpoint/rewind/fork sessions, multi-agent teams with shared TODOs, Claude Code-style hooks, persistent agent memory (MEMORY.md), context file discovery, eviction processor, output styles, and plan mode with planner subagent.
Cost Tracking Middleware
CostTrackingMiddleware for automatic token usage and USD cost monitoring. Budget limits with BudgetExceededError. Uses genai-prices library for cost calculation.
Chains, Parallel, Guardrails & Permissions
Major release: MiddlewareChain for composable pipelines, ParallelMiddleware with 4 aggregation strategies, AsyncGuardrailMiddleware with 3 timing modes, Permission Decision Protocol (ALLOW/DENY/ASK), context sharing between hooks, config loaders (JSON/YAML), and on_tool_error hook.
Configurable retries & llms.txt support
New retries parameter for create_deep_agent() (default: 3) — controls max retries for tool calls across all toolsets. Fixed write_file tool exceeding max retries of 1. Added llms.txt generation for documentation.
SQL Toolset — Initial release
SQLite and PostgreSQL backends with 5 tools: list_tables, get_schema, describe_table, explain_query, query. Read-only mode, multi-statement prevention, query timeout, and row limit enforcement. 100% test coverage.
MkDocs documentation site
Full documentation site with Material theme: installation guide, architecture overview with Mermaid diagrams, step-by-step guides, and configuration reference. Auto-deployed via GitHub Actions.
Modular extraction — external packages
Extracted processors to summarization-pydantic-ai and subagents to subagents-pydantic-ai as standalone PyPI packages. Added dual-mode subagent execution (sync/async), auto mode, task management tools, and dynamic agent creation.
Fine-grained permission system
Pattern-based access control with ALLOW/DENY/ASK actions. 4 presets: DEFAULT, PERMISSIVE, READONLY, STRICT. Glob pattern matching for file operations and shell execution. Async callback support for interactive prompts.
DeepAgents framework & Human-in-the-Loop
DeepAgents as 5th AI framework with built-in file ops, code execution, and task management tools. Human-in-the-Loop tool approval workflow with frontend dialog for approve/edit/reject decisions. WebSocket protocol for interrupt handling.
Todo IDs, subtasks, events & PostgreSQL
Auto-generated hex IDs, atomic CRUD operations, async storage protocol. Task hierarchy with subtasks and dependency cycle detection. Event system with 5 event types. PostgreSQL backend with multi-tenancy.
Backend 0.1 — LocalBackend & Console Toolset
Unified LocalBackend replacing FilesystemBackend and LocalSandbox. Console Toolset with 7 tools: ls, read_file, write_file, edit_file, glob, grep, execute. Write/execute approval flows and full MkDocs documentation.
Subagents — Initial release
Multi-agent delegation toolset for Pydantic AI. Dual-mode execution (sync/async) with auto-mode selection. Parent-child Q&A, soft/hard task cancellation, pluggable message bus, and dynamic agent registry. 100% test coverage.
Comprehensive configuration validation
11 new validation rules preventing invalid option combinations (WebSocket auth, admin panel, conversation persistence, webhooks, background tasks). Dynamic integration prompts with context-aware options. 290+ new test lines.
LangGraph ReAct Agent support
LangGraph as 3rd AI framework with ReAct (Reasoning + Acting) agent pattern. Graph-based architecture with conditional edges, memory-based checkpointing, and full WebSocket streaming via astream().
Backend Toolset — Initial release
Extracted from pydantic-deepagents. StateBackend, FilesystemBackend, CompositeBackend, DockerSandbox with SessionManager, 5 built-in runtimes. Ripgrep integration, PDF reading, and encoding detection.
Nginx reverse proxy support
Nginx as alternative to Traefik with two modes: included in docker-compose or external config template. SSL/TLS configuration, security headers, WebSocket support, and Let's Encrypt ACME.
SQLModel ORM support
Optional SQLModel as alternative to SQLAlchemy for PostgreSQL and SQLite. Simplified syntax combining SQLAlchemy and Pydantic. Full Alembic and SQLAdmin compatibility maintained.
Multi-LLM providers, CLI & presets
OpenAI, Anthropic, and OpenRouter providers. Comprehensive CLI with 20+ flags. Configuration presets: production (Redis, Sentry, K8s) and ai-agent (WebSocket streaming, conversation persistence). Generator version metadata.
Middleware — Initial release
AgentMiddleware base class with 6 lifecycle hooks: before_run, after_run, before_model_request, before_tool_call, after_tool_call, on_error. MiddlewareAgent wrapper, decorator-based creation, and custom exceptions. 100% test coverage.
Summarization — Initial release
SummarizationProcessor with LLM-based intelligent summarization and SlidingWindowProcessor for zero-cost message trimming. Configurable triggers (message count, tokens, fraction), safe cutoff detection that preserves tool call pairs.
Ready to build your first production AI agent?
Open-source tools, battle-tested patterns, zero boilerplate. Configure your stack and ship in minutes — not months.