This PR adds support for a model-based summary and risk assessment for commands that violate the sandbox policy and require user approval. This aids the user in evaluating whether the command should be approved. The feature works by taking a failed command and passing it back to the model and asking it to summarize the command, give it a risk level (low, medium, high) and a risk category (e.g. "data deletion" or "data exfiltration"). It uses a new conversation thread so the context in the existing thread doesn't influence the answer. If the call to the model fails or takes longer than 5 seconds, it falls back to the current behavior. For now, this is an experimental feature and is gated by a config key `experimental_sandbox_command_assessment`. Here is a screen shot of the approval prompt showing the risk assessment and summary. <img width="723" height="282" alt="image" src="https://github.com/user-attachments/assets/4597dd7c-d5a0-4e9f-9d13-414bd082fd6b" />
15 lines
300 B
Rust
15 lines
300 B
Rust
pub mod account;
|
|
mod conversation_id;
|
|
pub use conversation_id::ConversationId;
|
|
pub mod approvals;
|
|
pub mod config_types;
|
|
pub mod custom_prompts;
|
|
pub mod items;
|
|
pub mod message_history;
|
|
pub mod models;
|
|
pub mod num_format;
|
|
pub mod parse_command;
|
|
pub mod plan_tool;
|
|
pub mod protocol;
|
|
pub mod user_input;
|