use agent_sdk_core::{
AgentError, ProviderArgumentStore, domain::ContentRef as ContentRefId,
tool_records::CanonicalToolName,
};
pub trait ProviderToolArgumentSink: Send + Sync {
fn store_tool_arguments(
&self,
provider_ref: &str,
call_id: &str,
canonical_tool_name: &CanonicalToolName,
raw_arguments: &str,
) -> Result<Option<ContentRefId>, AgentError>;
}
impl<T> ProviderToolArgumentSink for T
where
T: ProviderArgumentStore,
{
fn store_tool_arguments(
&self,
provider_ref: &str,
call_id: &str,
canonical_tool_name: &CanonicalToolName,
raw_arguments: &str,
) -> Result<Option<ContentRefId>, AgentError> {
self.store_provider_arguments(provider_ref, call_id, canonical_tool_name, raw_arguments)
}
}