feat: start use tool permission confirmation struct (#2044)
This commit is contained in:
@@ -6,6 +6,9 @@ mod prompt;
|
||||
mod thinking;
|
||||
|
||||
pub use builder::build_session;
|
||||
use goose::permission::permission_confirmation::PrincipalType;
|
||||
use goose::permission::Permission;
|
||||
use goose::permission::PermissionConfirmation;
|
||||
use goose::providers::base::Provider;
|
||||
pub use goose::session::Identifier;
|
||||
|
||||
@@ -598,7 +601,16 @@ impl Session {
|
||||
|
||||
// Get confirmation from user
|
||||
let confirmed = cliclack::confirm(prompt).initial_value(true).interact()?;
|
||||
self.agent.handle_confirmation(confirmation.id.clone(), confirmed).await;
|
||||
let permission = if confirmed {
|
||||
Permission::AllowOnce
|
||||
} else {
|
||||
Permission::DenyOnce
|
||||
};
|
||||
self.agent.handle_confirmation(confirmation.id.clone(), PermissionConfirmation {
|
||||
principal_name: "tool_name_placeholder".to_string(),
|
||||
principal_type: PrincipalType::Tool,
|
||||
permission,
|
||||
},).await;
|
||||
}
|
||||
// otherwise we have a model/tool to render
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user