Skip to main content

vv_agent/app_server/protocol/
approval.rs

1use 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}