# v1.8.3-beta — A2A Async Communication, Image Context & Search Tools ## What's New ### Agent-to-Agent (A2A) Async Communication — Beta - **Three communication modes** for `send_message_to_agent`: - `notify` — fire-and-forget, one-way announcement - `task_delegate` — delegate work and get results back asynchronously via `on_message` trigger - `consult` — synchronous question-reply (original behaviour) - **Feature flag**: controlled at the tenant level via Company Settings → Company Info → A2A Async toggle (default: **OFF**) - When disabled, the `msg_type` parameter is **hidden from the LLM** so agents only see synchronous consult mode - Security: chain depth protection (max 3 hops), regex filtering of internal terms, SQL injection prevention - Performance: async wake sessions limited to 2 tool rounds ### Multimodal Image Context - Base64 image markers are now persisted to the database at write time - Chat UI correctly strips `[image_data:]` markers and renders thumbnails - Fixed chat page vertical scrolling (flexbox `min-height: 0` constraint) - Removed deprecated `/agents/:id/chat` route ### Search Engine Tools - New `Exa Search` tool — AI-powered semantic search with category filtering - New standalone search engine tools: DuckDuckGo, Tavily, Google, Bing (each as own tool) ### UI Improvements - Drag-and-drop file upload across the application - Chat sidebar polish: segment control, session items styling - Agent-to-agent sessions now visible in the admin "Other Users" tab ### Bug Fixes - DingTalk org sync rate limiting to prevent API throttling - Tool seeder: `parameters_schema` now correctly included in new tool INSERT - Unified `msg_type` enum references across codebase - Docker access port corrected to 3008 --- ## Upgrade Guide > **Database migration required.** Run `alembic upgrade heads` to add the `a2a_async_enabled` column. ### Docker Deployment (Recommended) ```bash git pull origin main # Run database migration docker exec clawith-backend-1 alembic upgrade heads # Rebuild and restart docker compose down && docker compose up -d --build ``` ### Source Deployment ```bash git pull origin main # Run database migration alembic upgrade heads # Rebuild frontend cd frontend && npm install && npm run build cd .. # Restart services ``` ### Kubernetes (Helm) ```bash helm upgrade clawith helm/clawith/ -f values.yaml # Run migration job for a2a_async_enabled column ``` ### Notes - The A2A Async feature is **disabled by default**. No behaviour changes until explicitly enabled. - The `a2a_async_enabled` column defaults to `FALSE`, so existing tenants are unaffected.