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.