5.6.0
EDDI v5.6.0
What's New
AI Agent & Tooling Framework
This release introduces a comprehensive AI Agent and Tooling system, enabling EDDI bots to autonomously use tools during conversations:
- Declarative Agents — New
DeclarativeAgentandDeclarativeAgentTaskframework allowing bots to be configured as goal-driven agents that plan and execute multi-step tasks - Built-in Tools — Eight ready-to-use tools available out of the box:
Calculator— Safe math expression evaluation with sandboxed parsingDataFormatter— Structured data formatting and transformationDateTime— Date and time queries and formattingPdfReader— Extract and process text from PDF documentsTextSummarizer— Summarize long text contentWeather— Fetch current weather dataWebScraper— Scrape and parse web pagesWebSearch— Perform web searches and return results
- EDDI Tool Bridge (
EddiToolBridge) — Integrates EDDI's existing HTTP call system as callable tools for AI agents, enabling full access to any configured REST API - Chat Memory Integration (
EddiChatMemoryStore) — Persistent memory store wired into agent tool execution for context-aware tool use across conversation turns - Tool Execution Infrastructure —
ToolExecutionServicewith built-in caching (ToolCacheService), rate limiting (ToolRateLimiter), and cost tracking (ToolCostTracker) for production-grade agent deployments
HTTP Client Migration: Jetty → Vert.x WebClient
- Replaced
jetty-clientwithvertx-web-client(managed via Quarkus BOM) for a fully reactive, non-blocking HTTP client - Implemented
IHttpClientusingVertxWebClientSessionfor proper cookie persistence - Added memory safety checks using
Content-Lengthheader validation and post-download size verification - Improved concurrency and interruption handling in synchronous request wrappers
Security Fixes
- SSRF Protection — Added
UrlValidationUtilsto validate and block requests to private/internal IP ranges inWebScraperTool,PdfReaderTool, andHttpCallExecutor - Input Validation — Stricter validation on URL and parameter inputs across HTTP call and tool execution paths
- Safe Math Parsing — Replaced unsafe eval-style evaluation in
CalculatorToolwith a sandboxed expression parser to prevent injection attacks
Improvements
ToolCacheService— Improved cache key generation for long arguments; migrated toConcurrentHashMapfor thread-safe cachingToolRateLimiter— Enhanced to handle concurrent tool invocations without race conditionsAgentExecutionHelper— Better retry logic for transient/retryable errors during agent executionRestToolHistory— Refactored to use the conversation memory store for tool history retrievalHttpCallExecutor— Added null checks for memory and parameters; improved error handlingLangchainTask— Improved lifecycle management and task reliabilityenableBuiltInTools— Type reverted frombooleantoBooleanto correctly support nullable/optional configuration
Dependency Upgrades
| Dependency | Previous | New |
|---|---|---|
| Quarkus | 3.x | 3.32.1 |
| langchain4j | 1.x | 1.11.0 |
Infrastructure & Ops
- Docker Compose: EDDI image now pinned to major version
5instead oflatestfor more predictable deployments - MongoDB: Updated to the latest supported version in
docker-compose.yml - Removed unused
disableWWWAuthenticationValidationparameter from HTTP client configuration
Documentation
- New
docs/security.md— Documents SSRF protection, input validation, and safe tool execution practices - New AI Agent tooling guide — Comprehensive documentation covering Bot Father, tool configuration, and agent setup
- Updated Bot Father conversation flow, implementation summary, and LangChain tools guide
Full Changelog: 5.5.1...5.6.0