From 9b7d93ee84435ac5eeb765662a08eae9cb4140ef Mon Sep 17 00:00:00 2001 From: sigoden Date: Sun, 19 May 2024 22:47:29 +0800 Subject: refactor: export LLM_FUNCTION_DATA when calling functions (#524) --- src/function.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/function.rs') diff --git a/src/function.rs b/src/function.rs index 8ffb785..708321f 100644 --- a/src/function.rs +++ b/src/function.rs @@ -230,12 +230,10 @@ impl ToolCall { .join(" ") ); - let envs = if let Some(env_path) = config.read().function.env_path.clone() { - let mut envs = HashMap::new(); + let mut envs = HashMap::new(); + envs.insert("LLM_FUNCTION_DATA".into(), self.arguments.to_string()); + if let Some(env_path) = config.read().function.env_path.clone() { envs.insert("PATH".into(), env_path); - Some(envs) - } else { - None }; let output = if self.is_execute_type() { let proceed = if stdout().is_terminal() { @@ -247,14 +245,14 @@ impl ToolCall { if proceed { #[cfg(windows)] let name = polyfill_cmd_name(&name, &config.read().function.bin_dir); - run_command(&name, &arguments, envs)?; + run_command(&name, &arguments, Some(envs))?; } Value::Null } else { println!("{}", dimmed_text(&prompt_text)); #[cfg(windows)] let name = polyfill_cmd_name(&name, &config.read().function.bin_dir); - let (success, stdout, stderr) = run_command_with_output(&name, &arguments, envs)?; + let (success, stdout, stderr) = run_command_with_output(&name, &arguments, Some(envs))?; if success { if !stderr.is_empty() { -- cgit v1.2.3