fix: correct tool file path resolution to match architecture
Some checks failed
BotServer CI / build (push) Failing after 1m57s
Some checks failed
BotServer CI / build (push) Failing after 1m57s
- Updated get_tool_bas_path to look in /opt/gbo/data (source) first - Then check botserver-stack/data/system/work (compiled) second - Removed incorrect $HOME/data and $HOME/gb/work paths - Fixes 'Tool file not found' error when executing inscricao tool According to AGENTS.md architecture: - Bots are in /opt/gbo/data primary - They are compiled into work directory by local_file_monitor - tool_executor was looking in wrong directories
This commit is contained in:
parent
c03398fe56
commit
b2d6a51ebd
1 changed files with 14 additions and 12 deletions
|
|
@ -340,28 +340,30 @@ impl ToolExecutor {
|
|||
|
||||
/// Get the path to a tool's .bas file
|
||||
fn get_tool_bas_path(bot_name: &str, tool_name: &str) -> std::path::PathBuf {
|
||||
let home_dir = std::env::var("HOME").unwrap_or_else(|_| ".".to_string());
|
||||
|
||||
// Try data directory first
|
||||
let data_path = Path::new(&home_dir)
|
||||
.join("data")
|
||||
// Try source directory first (/opt/gbo/data - primary location for bot source files)
|
||||
let source_path = Path::new("/opt/gbo/data")
|
||||
.join(format!("{}.gbai", bot_name))
|
||||
.join(format!("{}.gbdialog", bot_name))
|
||||
.join(format!("{}.bas", tool_name));
|
||||
|
||||
if data_path.exists() {
|
||||
return data_path;
|
||||
if source_path.exists() {
|
||||
return source_path;
|
||||
}
|
||||
|
||||
// Try work directory (for development/testing)
|
||||
let work_path = Path::new(&home_dir)
|
||||
.join("gb")
|
||||
.join("work")
|
||||
// Try compiled work directory (botserver-stack/data/system/work relative to current dir)
|
||||
let work_path = std::env::current_dir()
|
||||
.unwrap_or_else(|_| PathBuf::from("."))
|
||||
.join("botserver-stack/data/system/work")
|
||||
.join(format!("{}.gbai", bot_name))
|
||||
.join(format!("{}.gbdialog", bot_name))
|
||||
.join(format!("{}.bas", tool_name));
|
||||
|
||||
work_path
|
||||
if work_path.exists() {
|
||||
return work_path;
|
||||
}
|
||||
|
||||
// Fallback to source path for error messages (even if it doesn't exist)
|
||||
source_path
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue