vv_agent/app_server/protocol/
approval.rs1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3use ts_rs::TS;
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, TS)]
6#[serde(rename_all = "camelCase")]
7pub struct ApprovalRequestParams {
8 pub thread_id: String,
9 pub turn_id: String,
10 pub request_id: String,
11 pub tool_name: String,
12 pub preview: String,
13 pub choices: Vec<ApprovalDecision>,
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, TS)]
17#[serde(rename_all = "camelCase")]
18pub struct ApprovalResolveParams {
19 pub thread_id: String,
20 pub turn_id: String,
21 pub request_id: String,
22 pub decision: ApprovalDecision,
23}
24
25#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema, TS)]
26#[serde(rename_all = "camelCase")]
27pub enum ApprovalDecision {
28 Allow,
29 Deny,
30}