Version 7.1.5¶
Patch release: the DB Agent template now generates without an internal server error. Backend-only fix — no metamodel, generator, or public API contract changes. The frontend submodule pointer is unchanged.
Highlights¶
DB Agent template generation no longer fails with ``NameError: name ‘ReceiveTextEvent’ is not defined``: the shipped
dbagent.jsontemplate has an event-only transition ("event": "ReceiveTextEvent"with no conditions), whichagent_model_builder.agent_model_to_codeemits asinitial.when_event(ReceiveTextEvent()).go_to(db_reply). The generated module’s import block pulled inAgent, AgentReply, LLMReply, RAGReply, DBReplyand the LLM classes, but none of the*Eventclasses.generate_agent_filesingeneration_router.pythenexec_module-ed the generated file and raised, which the frontend surfaced as a 500 on/besser_api/generate-output. The other four shipped templates (faqragagent,greetingagent,gymagent,libraryagent) hid the bug because they use intent-matcher transitions and the builder emits those aswhen_intent_matched(intent).go_to(...)without ever referencing the event class directly.Fix:
besser/utilities/buml_code_builder/agent_model_builder.pynow addsReceiveTextEvent,ReceiveFileEvent,ReceiveJSONEvent,ReceiveMessageEvent,WildcardEvent, andDummyEventto thefrom besser.BUML.metamodel.state_machine.agent import ...line it writes into the generatedagent_model.py. All six are already exported bybesser.BUML.metamodel.state_machine.agent— this change only affects generated code, not runtime behavior of the builder itself.Regression coverage: all five shipped agent templates (
dbagent,faqragagent,greetingagent,gymagent,libraryagent) were round-tripped throughprocess_agent_diagram→generate_agent_filesand each produces a validagent_output.zipcontaining a syntactically validagent_model.pyand theBAFGeneratoroutput bundle.