Version 6.5.0

Database reply actions for agents, custom transition conditions, YAML configuration, and Oracle SQL enum fixes.

New Features

Database Reply Action for Agents (#459) - Added a new DBReply action to the agent metamodel, enabling agent states to query relational databases as part of their responses. - Supports two query modes: sql (raw SQL) and llm_query (LLM-assisted natural language to SQL). - Supports five SQL operation types: any, select, insert, update, and delete. - Configurable database selection: default (application DB) or custom (named DB). - Input validation with class-level constants for all configurable fields.

Custom Transition Conditions (#459) - Added when_event(event) and when_condition(condition) fluent methods to AgentState for defining transitions triggered by custom events or conditions. - Transition conditions are now passed as lists, enabling support for multiple conditions per transition via .with_condition() chaining. - Custom condition function code is automatically generated in the agent template output.

Agent Configuration Format Migration (#459) - Switched generated agent configuration from .ini to .yaml for improved readability and richer structure. - Expanded default configuration with NLP settings, platform options, and SQL database connection blocks.

Bug Fixes

Oracle SQL Enum Generation (#462) - Improved robustness of Oracle-specific CHECK constraint generation for enum types. - Added Oracle-specific tests for enum handling and CHECK constraints.

Improvements

Agent Diagram Converters (#459) - Full round-trip support for DBReply actions in JSON-to-BUML and BUML-to-JSON converters. - Restructured transition JSON schema with transitionType, predefined, and custom blocks for cleaner separation of predefined vs custom transitions. - Custom condition source code is resolved and preserved during BUML-to-JSON conversion.

Agent Code Builder (#459) - DBReply actions are emitted with only non-default parameters for concise generated code. - Custom conditions are written as standalone functions with Condition object bindings. - Multi-condition transition chains are generated using the new fluent API.

Agent Template Cleanup - Extracted duplicated DB reply rendering logic into a reusable render_db_reply_actions Jinja macro. - Added guard for missing LLM configuration in the LLM-query code path to prevent runtime errors. - Replaced wildcard imports in generated agent code with explicit imports.

Frontend (BESSER-WEB-MODELING-EDITOR) - Added DB action support to agent states with configurable selection type, query mode, operation, and SQL query. - Added dbOperation property to AgentStateMember. - Enhanced AgentStateTransition to support custom transition types and conditions. - Added a template DB Agent diagram.