feat(goose-acp): enable parallel sessions with isolated agent state (#6392)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Adrian Cole
2026-01-15 06:19:17 +08:00
committed by GitHub
parent fb0eca2c36
commit 7d4a6bd8ff
86 changed files with 2594 additions and 1938 deletions
@@ -1,6 +1,7 @@
use anyhow::Result;
use async_trait::async_trait;
use crate::config::GooseMode;
use crate::conversation::message::{Message, ToolRequest};
use crate::security::{SecurityManager, SecurityResult};
use crate::tool_inspection::{InspectionAction, InspectionResult, ToolInspector};
@@ -64,6 +65,7 @@ impl ToolInspector for SecurityInspector {
&self,
tool_requests: &[ToolRequest],
messages: &[Message],
_goose_mode: GooseMode,
) -> Result<Vec<InspectionResult>> {
let security_results = self
.security_manager
@@ -117,7 +119,10 @@ mod tests {
tool_meta: None,
}];
let results = inspector.inspect(&tool_requests, &[]).await.unwrap();
let results = inspector
.inspect(&tool_requests, &[], GooseMode::Approve)
.await
.unwrap();
// Results depend on whether security is enabled in config
if inspector.is_enabled() {