Releases: hmartlangval/base_bot
Release list
v5.0.0 New Structure on pure Event Driven message handler
This branch, starting 5.0.0 has transitioned the await from base bot on new message event to event emission handler pattern.
Base bot's message handler no longer awaits for handler's completion, instead it emits and event that is listened by child.
v4.0.5 Read description
v4..0.5 Changes:
- Bot State management of tasks added on base bot.
- On register to websocket the bot state is sent
- On task cancellation command, all tasks are marked done
- On exception, tasks are marked done
- Default exception message sent to chat UI with retry option
- Updates the custom download folder creation method on Configurable classes
(Optional) Default exception sent to chat with retry
All exception of generate_response() method x01 was only printing to console.
With this change, the exception messages are relay to chat UI.
Along with the message has the original JSON with Retry option
Configurable Bot from Admin UI
Base bot supports loading dynamic prompts from Admin UI configurations.
v4.0.1 Browser Client Classes emits next step and done messages to chat server
Changes:
NO use action, behavior update.
v4.0.0 BrowserUse patched for download customization
For AIDO specific requirement, we need to download a PDF using filename.
The default behavior of browser used suggested name, while it is working, we need customization on the filename.
Monkey patch applied for this behavior.
result = await self.call_agent(param1, param2, param3, filename)
v3.3.2 Browser Bot to check browser results
history = Agent.run()
check_success_or_failure(history)
v3.3.1 Custom download folder creation
Configurable classes have option to update the downloads folder runtime. The updated download folder path is saved in configuration file. self.config["custom_downloads_path"].
By default the custom_downloads_path equals to the downloads_path
v3.3.0 supports task cancellation for type "task_bot"
Base Bot now listen to socket event "control_command".
Child classes can listen to "control_command" and act accordingly { command: string, ... }
Bots needs to be initialized with "bot_type" = "task_bot" in constructor options for Admin UI to see them as controllable
json extraction, and image analyzsis
added analyze_image() on llmbotbase for analyzing an image and pass to LLM
added extract_json_block() in basebot from message's [json] block
added extract_json_data() in basebot for retrieving the first keyed element from message.jsonData