fix: route get_ast_outline through the caller's workspace, not the server cwd
Nightly Build / build (push) Canceled after 2m36s

The tool was a single-user leftover: it only implemented the context-free
execute, so a relative path resolved against the server process cwd and
projects/{owner}/{slug}/... failed with "Cannot read file" while every
other fs tool worked. It now overrides run_with like its siblings:
memory paths outline the note from the right pool, physical paths go
through the shared UserFs shuttle (home, shared, projects, container),
and the agent-visible path is what headers and errors show. Also gains
target_path and a workspace-aware path description.
This commit is contained in:
2026-08-04 22:33:37 +01:00
parent 78cdcf4cc7
commit 32d6dcc423
2 changed files with 236 additions and 70 deletions
+1 -1
View File
@@ -215,7 +215,7 @@ impl Tools {
pub(super) fn build(rt: &Runtime, integrations: &Integrations, tasks: &Tasks, models: &Models) -> Self {
let mut tool_registry = ToolRegistry::new();
crate::tools::fs::register_all(&mut tool_registry, Arc::clone(&rt.db));
tool_registry.register(crate::tools::ast_outline::AstOutline::new());
tool_registry.register(crate::tools::ast_outline::AstOutline::new(Arc::clone(&rt.db)));
tool_registry.register(crate::tools::exec::ExecuteCmd);
tool_registry.register(crate::tools::read_notification::ReadNotification);
// Unified listing / toggling across plugins, cron (+ agents and MCP for