vtcode_commons/ui_protocol/
selection.rs1#[derive(Clone, Copy, Debug, PartialEq, Eq)]
5pub enum RewindAction {
6 RestoreBoth,
7 RestoreConversation,
8 RestoreCode,
9 SummarizeFromHere,
10 NeverMind,
11}
12
13#[derive(Clone, Copy, Debug, PartialEq, Eq)]
14pub enum OpenAIServiceTierChoice {
15 ProjectDefault,
16 Flex,
17 Priority,
18}
19
20#[derive(Clone, Debug, PartialEq, Eq)]
26pub enum InlineListSelection {
27 Model(usize),
28 DynamicModel(usize),
29 CustomProvider(usize),
30 RefreshDynamicModels,
31 Reasoning(String),
32 DisableReasoning,
33 OpenAIServiceTier(OpenAIServiceTierChoice),
34 CustomModel,
35 Theme(String),
36 Session(String),
37 SessionForkMode {
38 session_id: String,
39 summarize: bool,
40 },
41 ConfigAction(String),
42 SlashCommand(String),
43 ToolApproval(bool),
44 ToolApprovalDenyOnce,
45 ToolApprovalSession,
46 ToolApprovalPermanent,
47 ToolApprovalEnable,
48 FileConflictReload,
49 FileConflictViewDiff,
50 FileConflictAbort,
51 SessionLimitIncrease(usize),
52 RewindCheckpoint(usize),
53 RewindAction(RewindAction),
54
55 AskUserChoice {
57 tab_id: String,
58 choice_id: String,
59 text: Option<String>,
60 },
61
62 RequestUserInputAnswer {
64 question_id: String,
65 selected: Vec<String>,
66 other: Option<String>,
67 },
68
69 PlanApprovalExecute,
71 PlanApprovalFreshContext,
73 PlanApprovalEditPlan,
75 PlanApprovalDiscuss,
77 PlanApprovalAutoAccept,
79 PlanApprovalSwitchBuild,
81 PlanApprovalSwitchAuto,
83}
84
85#[derive(Clone, Debug)]
87pub struct InlineListItem {
88 pub title: String,
89 pub subtitle: Option<String>,
90 pub badge: Option<String>,
91 pub indent: u8,
92 pub selection: Option<InlineListSelection>,
93 pub search_value: Option<String>,
94}
95
96#[derive(Clone, Debug)]
98pub struct WizardStep {
99 pub title: String,
101 pub question: String,
103 pub items: Vec<InlineListItem>,
105 pub completed: bool,
107 pub answer: Option<InlineListSelection>,
109
110 pub allow_freeform: bool,
111 pub freeform_label: Option<String>,
112 pub freeform_placeholder: Option<String>,
113 pub freeform_default: Option<String>,
114}