pub struct SecretMaskingMiddleware { /* private fields */ }Expand description
Middleware that masks secrets in AI outputs and injects them into prompts.
before_model: injects secrets into the system prompt templateafter_model: masks any leaked secrets in the AI response
Implementations§
Source§impl SecretMaskingMiddleware
impl SecretMaskingMiddleware
pub fn new(registry: Arc<SecretRegistry>) -> Self
Trait Implementations§
Source§impl AgentMiddleware for SecretMaskingMiddleware
impl AgentMiddleware for SecretMaskingMiddleware
Source§fn before_model<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 mut ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn before_model<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 mut ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called before each model invocation. Can modify the request.
Source§fn after_model<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_request: &'life1 ModelRequest,
response: &'life2 mut ModelResponse,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn after_model<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_request: &'life1 ModelRequest,
response: &'life2 mut ModelResponse,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called after each model invocation. Can modify the response.
Source§fn before_agent<'life0, 'life1, 'async_trait>(
&'life0 self,
_messages: &'life1 mut Vec<Message>,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn before_agent<'life0, 'life1, 'async_trait>(
&'life0 self,
_messages: &'life1 mut Vec<Message>,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Called once when the agent starts executing.
Source§fn after_agent<'life0, 'life1, 'async_trait>(
&'life0 self,
_messages: &'life1 mut Vec<Message>,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn after_agent<'life0, 'life1, 'async_trait>(
&'life0 self,
_messages: &'life1 mut Vec<Message>,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Called once when the agent finishes executing.
Source§fn wrap_model_call<'life0, 'life1, 'async_trait>(
&'life0 self,
request: ModelRequest,
next: &'life1 dyn ModelCaller,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, SynapticError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn wrap_model_call<'life0, 'life1, 'async_trait>(
&'life0 self,
request: ModelRequest,
next: &'life1 dyn ModelCaller,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, SynapticError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Wraps the model call. Override to intercept or replace the model invocation.
Source§fn wrap_tool_call<'life0, 'life1, 'async_trait>(
&'life0 self,
request: ToolCallRequest,
next: &'life1 dyn ToolCaller,
) -> Pin<Box<dyn Future<Output = Result<Value, SynapticError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn wrap_tool_call<'life0, 'life1, 'async_trait>(
&'life0 self,
request: ToolCallRequest,
next: &'life1 dyn ToolCaller,
) -> Pin<Box<dyn Future<Output = Result<Value, SynapticError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Wraps a tool call. Override to intercept or replace tool execution.
Auto Trait Implementations§
impl Freeze for SecretMaskingMiddleware
impl RefUnwindSafe for SecretMaskingMiddleware
impl Send for SecretMaskingMiddleware
impl Sync for SecretMaskingMiddleware
impl Unpin for SecretMaskingMiddleware
impl UnsafeUnpin for SecretMaskingMiddleware
impl UnwindSafe for SecretMaskingMiddleware
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more