use std::time::Duration;
use mentra::Session;
use super::Workspace;
use crate::{
a2a::{A2aError, A2aReload, A2aWatch, A2aWatchError},
event::ContextFile,
};
impl Workspace {
pub fn a2a_agents(&self) -> Vec<String> {
self.a2a.names()
}
pub(super) fn a2a_files(&self) -> Vec<ContextFile> {
self.a2a.files()
}
pub async fn reload_a2a(&self) -> Result<A2aReload, A2aError> {
self.a2a.reload().await
}
pub fn watch_a2a(&self, interval: Duration) -> Result<A2aWatch, A2aWatchError> {
self.a2a.watch(interval)
}
pub(super) fn teach_remote_agents(&self, session: &mut Session) {
let copy = self
.runtime
.spawn_tool()
.for_remote_agents(self.a2a.remote())
.remembering();
session.register_tool(copy);
}
}