# @dexto/core ## 1.5.6 ### Patch Changes - 042f4f0: ### CLI Improvements - Add `/export` command to export conversations as Markdown or JSON - Add `Ctrl+T` toggle for task list visibility during processing - Improve task list UI with collapsible view near the processing message - Fix race condition causing duplicate rendering (mainly visible with explore tool) - Don't truncate `pattern` and `question` args in tool output display ### Bug Fixes - Fix build script to preserve `.dexto` storage (conversations, logs) during clean builds - Fix `@dexto/tools-todo` versioning - add to fixed version group in changeset config ### Configuration Changes - Remove approval timeout defaults - now waits indefinitely (better UX for CLI) - Add package versioning guidelines to AGENTS.md ## 1.5.5 ### Patch Changes - 63fa083: Session and context management fixes: - Remove continuation session logic after compaction, now sticks to same session - `/clear` continues same session and resets context (frees up AI context window) - `/new` command creates new session with fresh context and clears screen - Add context tokens remaining to footer, align context calculations everywhere - Fix context calculation logic by including cache read tokens Other improvements: - Fix code block syntax highlighting in terminal (uses cli-highlight) - Make terminal the default mode during onboarding - Reduce OTEL dependency bloat by replacing auto-instrumentation with specific packages (47 MB saved: 65 MB → 18 MB) - 6df3ca9: Updated readme. Removed stale filesystem and process tool from dexto/core. ## 1.5.4 ### Patch Changes - 0016cd3: Bug fixes and updates for compaction. Also added UI enhancements for compaction. - 499b890: Fix model override persistence after compaction and improve context token tracking **Bug Fixes:** - Fix model override resetting to config model after compaction (now respects session overrides) **Context Tracking Improvements:** - New algorithm uses actual `input_tokens` and `output_tokens` from LLM responses as source of truth - Self-correcting estimates: inaccuracies auto-correct when next LLM response arrives - Handles pruning automatically (next response's input_tokens reflects pruned state) - `/context` and compaction decisions now share common calculation logic - Removed `outputBuffer` concept in favor of single configurable threshold - Default compaction threshold lowered to 90% **New `/context` Command:** - Interactive overlay with stacked token bar visualization - Breakdown by component: system prompt, tools, messages, free space, auto-compact buffer - Expandable per-tool token details - Shows pruned tool count and compaction history **Observability:** - Comparison logging between estimated vs actual tokens for calibration - `dexto_llm_tokens_consumed` metric now includes estimated input tokens and accuracy metrics - aa2c9a0: - new --dev flag for using dev mode with the CLI (for maintainers) (sets DEXTO_DEV_MODE=true and ensures local files are used) - improved bash tool descriptions - fixed explore agent task description getting truncated - fixed some alignment issues - fix search/find tools not asking approval for working outside directory - add sound feature (sounds when approval reqd, when loop done) - configurable in `preferences.yml` (on by default) and in `~/.dexto/sounds`, instructions in comment in `~/.dexto/preferences.yml` - add new `env` system prompt contributor that includes info about os, working directory, git status. useful for coding agent to get enough context to improve cmd construction without unnecessary directory shifts - support for loading `.claude/commands` and `.cursor/commands` global and local commands in addition to `.dexto/commands` ## 1.5.3 ### Patch Changes - 4f00295: Added spawn-agent tools and explore agent. - 69c944c: File integrity & performance improvements, approval system fixes, and developer experience enhancements ### File System Improvements - **File integrity protection**: Store file hashes to prevent edits from corrupting files when content changes between operations (resolves #516) - **Performance optimization**: Disable backups and remove redundant reads, switch to async non-blocking reads for faster file writes ### Approval System Fixes - **Coding agent auto-approve**: Fix auto-approve not working due to incorrect tool names in auto-approve policies - **Parallel tool calls**: Fix multiple parallel same-tool calls requiring redundant approvals - now checks all waiting approvals and resolves ones affected by newly approved commands - **Refactored CLI approval handler**: Decoupled approval handler pattern from server for better separation of concerns ### Shell & Scripting Fixes - **Bash mode aliases**: Fix bash mode not honoring zsh aliases - **Script improvements**: Miscellaneous script improvements for better developer experience ## 1.5.2 ### Patch Changes - 8a85ea4: Fix maxsteps in agent loop causing early termination - 527f3f9: Fixes for interactive CLI ## 1.5.1 ### Patch Changes - bfcc7b1: PostgreSQL improvements and privacy mode **PostgreSQL enhancements:** - Add connection resilience for serverless databases (Neon, Supabase, etc.) with automatic retry on connection failures - Support custom PostgreSQL schemas via `options.schema` config - Add schema name validation to prevent SQL injection - Improve connection pool error handling to prevent process crashes **Privacy mode:** - Add `--privacy-mode` CLI flag to hide file paths from output (useful for screen recording/sharing) - Can also be enabled via `DEXTO_PRIVACY_MODE=true` environment variable **Session improvements:** - Add message deduplication in history provider to handle data corruption gracefully - Add warning when conversation history hits 10k message limit - Improve session deletion to ensure messages are always cleaned up **Other fixes:** - Sanitize explicit `agentId` for filesystem safety - Change verbose flush logs to debug level - Export `BaseTypedEventEmitter` from events module - 4aabdb7: Fix claude caching, added gpt-5.2 models and reasoning effort options in user flows. ## 1.5.0 ### Minor Changes - e7722e5: Minor version bump for new release with bundler, custom tool pkgs, etc. ### Patch Changes - ee12727: Added support for node-llama (llama.cpp) for local GGUF models. Added Ollama as first-class provider. Updated onboarding/setup flow. - 1e7e974: Added image bundler, @dexto/image-local and moved tool services outside core. Added registry providers to select core services. - 4c05310: Improve local model/GGUF model support, bash permission fixes in TUI, and add local/ollama switching/deleting support in web UI - 5fa79fa: Renamed compression to compaction, added context-awareness to hono, updated cli tool display formatting and added integration test for image-local. - ef40e60: Upgrades package versions and related changes to MCP SDK. CLI colors improved and token streaming added to status bar. Security: Resolve all Dependabot security vulnerabilities. Updated @modelcontextprotocol/sdk to 1.25.2, esbuild to 0.25.0, langchain to 0.3.37, and @langchain/core to 0.3.80. Added pnpm overrides for indirect vulnerabilities (preact@10.27.3, qs@6.14.1, jws@3.2.3, mdast-util-to-hast@13.2.1). Fixed type errors from MCP SDK breaking changes. - e714418: Added providers for db and cache storages. Expanded settings panel for API keys and other app preferences in WebUI along with other UI/UX enhancements. - 7d5ab19: Updated WebUI design, event and state management and forms - 436a900: Add support for openrouter, bedrock, glama, vertex ai, fix model switching issues and new model experience for each ## 1.4.0 ### Minor Changes - f73a519: Revamp CLI. Breaking change to DextoAgent.generate() and stream() apis and hono message APIs, so new minor version. Other fixes for logs, web UI related to message streaming/generating ### Patch Changes - bd5c097: Add features check for internal tools, fix coding agent and logger agent elicitation - 3cdce89: Revamp CLI for coding agent, add new events, improve mcp management, custom models, minor UI changes, prompt management - d640e40: Remove LLM services, tokenizers, just stick with vercel, remove 'router' from schema and all types and docs - 6f5627d: - Approval timeouts are now optional, defaulting to no timeout (infinite wait) - Tool call history now includes success/failure status tracking - 6e6a3e7: Fix message typings to use proper discriminated unions in core and webui - c54760f: Revamp context management layer - add partial stream cancellation, message queueing, context compression with LLM, MCP UI support and gaming agent. New APIs and UI changes for these things - ab47df8: Add approval metadata and ui badge - 3b4b919: Fixed Ink CLI bugs and updated state management system. ## 1.3.0 ### Minor Changes - eb266af: Migrate WebUI from next-js to vite. Fix any typing in web UI. Improve types in core. minor renames in event schemas ### Patch Changes - e2f770b: Add changeset for updated schema defaults and updated docs. - f843b62: Change otel and storage deps to peer dependencies with dynamic imports to reduce bloat ## 1.2.6 ### Patch Changes - 7feb030: Update memory and prompt configs, fix agent install bug ## 1.2.5 ### Patch Changes - c1e814f: ## Logger v2 & Config Enrichment ### New Features - **Multi-transport logging system**: Configure console, file, and remote logging transports via `logger` field in agent.yml. Supports log levels (error, warn, info, debug, silly) and automatic log rotation for file transports. - **Per-agent isolation**: CLI automatically creates per-agent log files at `~/.dexto/logs/.log`, database at `~/.dexto/database/.db`, and blob storage at `~/.dexto/blobs//` - **Agent ID derivation**: Agent ID is now automatically derived from `agentCard.name` (sanitized) or config filename, enabling proper multi-agent isolation without manual configuration ### Breaking Changes - **Storage blob default changed**: Default blob storage type changed from `local` to `in-memory`. Existing configs with explicit `blob: { type: 'local' }` are unaffected. CLI enrichment provides automatic paths for SQLite and local blob storage. ### Improvements - **Config enrichment layer**: New `enrichAgentConfig()` in agent-management package adds per-agent paths before initialization, eliminating path resolution in core services - **Logger error factory**: Added typed error factory pattern for logger errors following project conventions - **Removed wildcard exports**: Logger module now uses explicit named exports for better tree-shaking ### Documentation - Added complete logger configuration section to agent.yml documentation - Documented agentId field and derivation rules - Updated storage documentation with CLI auto-configuration notes - Added logger v2 architecture notes to core README - f9bca72: Add changeset for dropping defaultSessions from core layers. - c0a10cd: Add changeset for mcp http mode patches. - 81598b5: Decoupled elicitation from tool confirmation. Added `DenialReason` enum and structured error messages to approval responses. - Tool approvals and elicitation now independently configurable via `elicitation.enabled` config - Approval errors include `reason` (user_denied, timeout, system_denied, etc.) and `message` fields - Enables `auto-approve` for tools while preserving interactive elicitation Config files without the new `elicitation` section will use defaults. No legacy code paths. - 4c90ffe: Add changeset for updated telemetry spans. - 1a20506: update source context usage to also go through preferences + registry flow. added dexto_dev_mode flag for maintainers - 8f373cc: Migrate server API to Hono framework with feature flag - Migrated Express server to Hono with OpenAPI schema generation - Added DEXTO_USE_HONO environment variable flag (default: false for backward compatibility) - Fixed WebSocket test isolation by adding sessionId filtering - Fixed logger context to pass structured objects instead of stringified JSON - Fixed CI workflow for OpenAPI docs synchronization - Updated documentation links and fixed broken API references - f28ad7e: Migrate webUI to use client-sdk, add agents.md file to webui,improve types in apis for consumption - 4dd4998: Add changeset for command approval enhancement and orphaned tool handling - 5e27806: Add changeset for updated agentCard with protocol version 0.3.0 - a35a256: Migrate from WebSocket to Server-Sent Events (SSE) for real-time streaming - Replace WebSocket with SSE for message streaming via new `/api/message-stream` endpoint - Refactor approval system from event-based providers to simpler handler pattern - Add new APIs for session approval - Move session title generation to a separate API - Add `ApprovalCoordinator` for multi-client SSE routing with sessionId mapping - Add stream and generate methods to DextoAgent and integ tests for itq= - 0fa6ef5: add gpt 5 codex - e2fb5f8: Add claude 4.5 opus - a154ae0: UI refactor with TanStack Query, new agent management package, and Hono as default server **Server:** - Make Hono the default API server (use `DEXTO_USE_EXPRESS=true` env var to use Express) - Fix agentId propagation to Hono server for correct agent name display - Fix circular reference crashes in error logging by using structured logger context **WebUI:** - Integrate TanStack Query for server state management with automatic caching and invalidation - Add centralized query key factory and API client with structured error handling - Replace manual data fetching with TanStack Query hooks across all components - Add Zustand for client-side persistent state (recent agents in localStorage) - Add keyboard shortcuts support with react-hotkeys-hook - Add optimistic updates for session management via WebSocket events - Fix Dialog auto-close bug in CreateMemoryModal - Add defensive null handling in MemoryPanel - Standardize Prettier formatting (single quotes, 4-space indentation) **Agent Management:** - Add `@dexto/agent-management` package for centralized agent configuration management - Extract agent registry, preferences, and path utilities into dedicated package **Internal:** - Improve build orchestration and fix dependency imports - Add `@dexto/agent-management` to global CLI installation - ac649fd: Fix error handling and UI bugs, add gpt-5.1, gemini-3 ## 1.2.4 ### Patch Changes - cd706e7: bump up version after fixing node-machine-id ## 1.2.3 ### Patch Changes - 5d6ae73: Bump up version to fix bugs ## 1.2.2 ## 1.2.1 ## 1.2.0 ### Minor Changes - 1e25f91: Update web UI to be default, fix port bugs, update docs ### Patch Changes - b51e4d9: Add changeset for blob mimetype check patch - a27ddf0: Add OTEL telemetry to trace agent execution - 155813c: Add changeset for coding internal tools - 3a65cde: Update older LLMs to new LLMs, update docs - 5ba5d38: **Features:** - Agent switcher now supports file-based agents loaded via CLI (e.g., `dexto --agent path/to/agent.yml`) - Agent selector UI remembers recent agents (up to 5) with localStorage persistence - WebUI displays currently active file-based agent and recent agent history - Dev server (`pnpm dev`) now auto-opens browser when WebUI is ready - Added `/test-api` custom command for automated API test coverage analysis **Bug Fixes:** - Fixed critical bug where Memory, A2A, and MCP API routes used stale agent references after switching - Fixed telemetry shutdown blocking agent switches when observability infrastructure (Jaeger/OTLP) is unavailable - Fixed dark mode styling issues when Chrome's Auto Dark Mode is enabled - Fixed agent card not updating for A2A and MCP routes after agent switch **Improvements:** - Refactored `Dexto.createAgent()` to static method, removing unnecessary singleton pattern - Improved error handling for agent switching with typed errors (CONFLICT error type, `AgentError.switchInProgress()`) - Telemetry now disabled by default (opt-in) in default agent configuration - Added localStorage corruption recovery for recent agents list - 930a4ca: Fixes in UI, docs and agents - ecad345: Add changeset for allow/deny tool policies. - 930d75a: Add mcp server restart feature and button in webUI ## 1.1.11 ### Patch Changes - c40b675: - Updated toolResult sanitization flow - Added support for video rendering to WebUI - 015100c: Added new memory manager for creating, storing and managing memories. - FileContributor has a new memories contributor for loading memories into SystemPrompt. - 0760f8a: Fixes to postgres data parsing and url env parsing. - 5cc6933: Fixes for prompts/resource management, UI improvements, custom slash command support, add support for embedded/linked resources, proper argument handling for prompts - 40f89f5: Add New Agent buttons, form editor, new APIs, Dexto class - 3a24d08: Add claude haiku 4.5 support - 01167a2: Refactors - a53b87a: feat: Redesign agent registry system with improved agent switching - **@dexto/core**: Enhanced agent registry with better ID-based resolution, improved error handling, and normalized registry entries - **dexto**: Added agent switching capabilities via API with proper state management - **@dexto/webui**: Updated agent selector UI with better UX for switching between agents - Agent resolution now uses `agentId` instead of `agentName` throughout the system - Registry entries now require explicit `id` field matching the registry key - 24e5093: Add customize agent capabilities - c695e57: Add blob storage system for persistent binary data management: - Implement blob storage backend with local filesystem support - Add blob:// URI scheme for referencing stored blobs - Integrate blob storage with resource system for seamless @resource references - Add automatic blob expansion in chat history and message references - Add real-time cache invalidation events for resources and prompts - Fix prompt cache invalidation WebSocket event handling in WebUI - Add robustness improvements: empty text validation after resource expansion and graceful blob expansion error handling - Support image/file uploads with automatic blob storage - Add WebUI components for blob resource display and autocomplete - 0700f6f: Support for in-built and custom plugins - 0a5636c: Added a new Approval System and support MCP Elicitations - 35d48c5: Add chat summary generation ## 1.1.10 ## 1.1.9 ### Patch Changes - 27778ba: Add claude 4.5 sonnet and make it default ## 1.1.8 ### Patch Changes - d79d358: Add new functions for agent management to DextoAgent() ## 1.1.7 ## 1.1.6 ## 1.1.5 ### Patch Changes - e2bd0ce: Update build to not bundle - 11cbec0: Update READMEs and docs - 795c7f1: feat: Add @dexto/client-sdk package - New lightweight cross-environment client SDK - HTTP + optional WebSocket support for messaging - Streaming and non-streaming message support - Session management, LLM config/catalog access - MCP tools integration and search functionality - Real-time events support - Comprehensive TypeScript types and validation - Unit tests and documentation included - 9d7541c: Add posthog telemetry ## 1.1.4 ### Patch Changes - 2fccffd: Migrating to monorepo