gproxy_protocol/protocol/claude/common/server_tools/
text_editor.rs1use serde::{Deserialize, Serialize};
2
3use super::super::JsonObject;
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6pub struct TextEditorCodeExecutionViewResultBlock {
7 pub content: String,
8 pub file_type: TextEditorCodeExecutionFileType,
9 #[serde(rename = "type")]
10 pub type_: TextEditorCodeExecutionViewResultBlockType,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub num_lines: Option<u64>,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub start_line: Option<u64>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub total_lines: Option<u64>,
17 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
18 pub extra: JsonObject,
19}
20
21#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
22pub enum TextEditorCodeExecutionFileType {
23 #[serde(rename = "text")]
24 Text,
25 #[serde(rename = "image")]
26 Image,
27 #[serde(rename = "pdf")]
28 Pdf,
29}
30
31#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
32pub enum TextEditorCodeExecutionViewResultBlockType {
33 #[serde(rename = "text_editor_code_execution_view_result")]
34 TextEditorCodeExecutionViewResult,
35}
36
37#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
38pub struct TextEditorCodeExecutionCreateResultBlock {
39 pub is_file_update: bool,
40 #[serde(rename = "type")]
41 pub type_: TextEditorCodeExecutionCreateResultBlockType,
42 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
43 pub extra: JsonObject,
44}
45
46#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
47pub enum TextEditorCodeExecutionCreateResultBlockType {
48 #[serde(rename = "text_editor_code_execution_create_result")]
49 TextEditorCodeExecutionCreateResult,
50}
51
52#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
53pub struct TextEditorCodeExecutionStrReplaceResultBlock {
54 #[serde(rename = "type")]
55 pub type_: TextEditorCodeExecutionStrReplaceResultBlockType,
56 #[serde(skip_serializing_if = "Option::is_none")]
57 pub lines: Option<Vec<String>>,
58 #[serde(skip_serializing_if = "Option::is_none")]
59 pub new_lines: Option<u64>,
60 #[serde(skip_serializing_if = "Option::is_none")]
61 pub new_start: Option<u64>,
62 #[serde(skip_serializing_if = "Option::is_none")]
63 pub old_lines: Option<u64>,
64 #[serde(skip_serializing_if = "Option::is_none")]
65 pub old_start: Option<u64>,
66 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
67 pub extra: JsonObject,
68}
69
70#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
71pub enum TextEditorCodeExecutionStrReplaceResultBlockType {
72 #[serde(rename = "text_editor_code_execution_str_replace_result")]
73 TextEditorCodeExecutionStrReplaceResult,
74}