Fix LiteLLM context budgets and direct computer use

Keep efficient context windows separate from expanded maxima throughout discovery, display and provider budgets. Expose correlated computer-use requests and actions with existing permissions, preserve screenshots as images, and retain them across checkpoints, compaction and explicit history recall.

Validation: cargo build on Linux passed. Added focused regression coverage; test execution and native GUI verification remain outside this CLI build-only workflow.
This commit is contained in:
Ryan Ward
2026-10-22 14:25:21 +00:00
parent d5fa711e5c
commit f6c6434e5e
30 changed files with 1176 additions and 101 deletions
@@ -839,6 +839,14 @@ pub fn build_tool_call_message(
serde_json::from_str(tool_input_json).unwrap_or(serde_json::json!({}));
let tool = match tool_name {
"request_computer_use" | "use_computer" => {
crate::ai::runtime::action_from_tool_call(
task_id,
&galaxy_agent_core::ToolCall { id: tool_use_id.to_string(), name: tool_name.to_string(), arguments: input.clone() },
&ai::skills::SkillPathOrigin::Local,
&std::collections::HashMap::new(),
).ok().and_then(|action| crate::ai::agent::provider_history::computer_use_tool(&action.action))
}
"run_shell_command" => {
let command = input
.get("command")
@@ -1596,6 +1604,8 @@ fn run_agents_harness_from_str(harness_type: &str) -> Option<api::Harness> {
/// Built-in tools that Galaxy knows how to execute directly.
const KNOWN_TOOLS: &[&str] = &[
"request_computer_use",
"use_computer",
"run_shell_command",
"read_files",
"apply_file_diffs",