Skip to main content

gproxy_protocol/protocol/claude/common/server_tools/
text_editor.rs

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